[SOLVED] Bricsys 2017 and libcurl3
Forum rules
There are no such things as "stupid" questions. However if you think your question is a bit stupid, then this is the right place for you to post it. Stick to easy to-the-point questions that you feel people can answer fast. For long and complicated questions use the other forums in the support section.
Before you post read how to get help. Topics in this forum are automatically closed 6 months after creation.
There are no such things as "stupid" questions. However if you think your question is a bit stupid, then this is the right place for you to post it. Stick to easy to-the-point questions that you feel people can answer fast. For long and complicated questions use the other forums in the support section.
Before you post read how to get help. Topics in this forum are automatically closed 6 months after creation.
[SOLVED] Bricsys 2017 and libcurl3
Hello,
I have just installed LM20 on Asus ROG Strix Scar II and while I could manage to install most of the app I work with (maya, vray, fusion and a few others) I am a bit stuck with installing Bricsys 17 as it asks for libcurl3. I can see that I have libcurl3-gnutls and libcurl4 already installed and have an option for libcurl3-nss but no libcurl3. Btw newer versions of bricsys can be installed without problems but my license is for the older 17 version, also it worked on LM19. What are my options ? Apart from upgrading my license.
Thanks
I have just installed LM20 on Asus ROG Strix Scar II and while I could manage to install most of the app I work with (maya, vray, fusion and a few others) I am a bit stuck with installing Bricsys 17 as it asks for libcurl3. I can see that I have libcurl3-gnutls and libcurl4 already installed and have an option for libcurl3-nss but no libcurl3. Btw newer versions of bricsys can be installed without problems but my license is for the older 17 version, also it worked on LM19. What are my options ? Apart from upgrading my license.
Thanks
Last edited by LockBot on Wed Dec 28, 2022 7:16 am, edited 2 times in total.
Reason: Topic automatically closed 6 months after creation. New replies are no longer allowed.
Reason: Topic automatically closed 6 months after creation. New replies are no longer allowed.
Re: Bricsys 2017 and libcurl3
If I say something wrong here, I apologize, I'm more of a home developer and not advanced than a professional one, and there aren't many tutorials on the internet.
Possible roads:
1. Soft linking.
Create link libcurl3 to libcurl4.
You will not get any guarantee that the program will work.
In the new version of the library some functions can be both removed and changed, or only new functions will be added and the program will work.
For this you need to find what file you need and where it must be.
The following knowledge may help you a little.
A long time ago there was a command "strace -e open file" .
It shows which files are open and where.
https://www.thegeekstuff.com/2011/11/strace-examples/
Now the command is modernized and you need to read the manual how to use it
Example tutorial to soft link https://www.golinuxhub.com/2013/05/how- ... hard-link/
2. Copy and paste the missing files from LM19.
You have to be careful here. ( you garbage your system and you may accidentally break it in future)
You will not get any guarantee that the program will work.
Dependency hell may force you to copy more files.
3. Install missing package from LM19 repository
You have to be careful here.
Hell of dependencies and carelessly built package dependencies can lead to system corruption.
Maybe not immediately and not always.
4. Install LLM19, second system.
Probably the fastest and easiest method.
5. Build and install libcurl3.
You need some reading.
For example:
-> http://pclinuxoshelp.com/index.php/Inst ... rom_source
-> https://translate.google.pl/translate?s ... ebianie.md
You should know that using checkinstall is just a simple tool for simple things.
Building packages, however, is not always easy.
-> https://opensource.com/article/20/4/lin ... y-analysis
-> http://www.yolinux.com/TUTORIALS/Librar ... namic.html
So building should include
- Find and download the original source code ( Ubuntu should also contain a repository with the source code of the package, from which you can also download )
- Reading the "README" file and read the above knowledge
- Installing dependencies if needed
- Compile the code with the parameter to a separate path where the package will be installed.
This way you can have any number of libraries and any library version on your system.
- Build .deb package for not cluttering the system and for easy removal of the package in the future.
- Install package.
6. And of course you can install virtualbox, there install second system and program, but I don't know how much this program needs your real hardware and your hardware resources, so I don't know if it will work.
Possible roads:
1. Soft linking.
Create link libcurl3 to libcurl4.
You will not get any guarantee that the program will work.
In the new version of the library some functions can be both removed and changed, or only new functions will be added and the program will work.
For this you need to find what file you need and where it must be.
The following knowledge may help you a little.
A long time ago there was a command "strace -e open file" .
It shows which files are open and where.
https://www.thegeekstuff.com/2011/11/strace-examples/
Now the command is modernized and you need to read the manual how to use it
Example tutorial to soft link https://www.golinuxhub.com/2013/05/how- ... hard-link/
2. Copy and paste the missing files from LM19.
You have to be careful here. ( you garbage your system and you may accidentally break it in future)
You will not get any guarantee that the program will work.
Dependency hell may force you to copy more files.
3. Install missing package from LM19 repository
You have to be careful here.
Hell of dependencies and carelessly built package dependencies can lead to system corruption.
Maybe not immediately and not always.
4. Install LLM19, second system.
Probably the fastest and easiest method.
5. Build and install libcurl3.
You need some reading.
For example:
-> http://pclinuxoshelp.com/index.php/Inst ... rom_source
-> https://translate.google.pl/translate?s ... ebianie.md
You should know that using checkinstall is just a simple tool for simple things.
Building packages, however, is not always easy.
-> https://opensource.com/article/20/4/lin ... y-analysis
-> http://www.yolinux.com/TUTORIALS/Librar ... namic.html
So building should include
- Find and download the original source code ( Ubuntu should also contain a repository with the source code of the package, from which you can also download )
- Reading the "README" file and read the above knowledge
- Installing dependencies if needed
- Compile the code with the parameter to a separate path where the package will be installed.
This way you can have any number of libraries and any library version on your system.
- Build .deb package for not cluttering the system and for easy removal of the package in the future.
- Install package.
6. And of course you can install virtualbox, there install second system and program, but I don't know how much this program needs your real hardware and your hardware resources, so I don't know if it will work.
Re: Bricsys 2017 and libcurl3
Thank you for the replay. I will try the soft linking road first as I think I can't install libcurl3 with libcurl4 present on the system. If I am wrong and it is possible to have both then I guess it would be easier to find a deb package (or even rpm which I would convert to deb) that I can install. The question can I take, for example, the Ubuntu 18 version from here https://pkgs.org/download/libcurl3 ?
I already did similar things for maya2020 installation where I needed libxp6 and libpng15 , libxp6 also needed multiarch-support which I took from http://archive.ubuntu.com/ubuntu/pool/m ... _amd64.deb. The libxp6 itself I have in a deb package and libpng15 I took from (https://fedora.pkgs.org/32/fedora-x86_6 ... 4.rpm.html) and converted to deb. I am sure the advanced users are making facepalm motions reading this but all this missing libraries stuff is very new for a windows user
I already did similar things for maya2020 installation where I needed libxp6 and libpng15 , libxp6 also needed multiarch-support which I took from http://archive.ubuntu.com/ubuntu/pool/m ... _amd64.deb. The libxp6 itself I have in a deb package and libpng15 I took from (https://fedora.pkgs.org/32/fedora-x86_6 ... 4.rpm.html) and converted to deb. I am sure the advanced users are making facepalm motions reading this but all this missing libraries stuff is very new for a windows user
Re: Bricsys 2017 and libcurl3
Found few more things to try here https://dev.to/jake/using-libcurl3-and- ... ionic-184g
Re: Bricsys 2017 and libcurl3
You have written many ways to the goal and I'm, not sure did you understand correctly.
Soft link this is just a link to a library that already exists.
In this example, ( in last line ) you see link "libcurl.so.4" to "libcurl.so.4.6.0" file.
So, ( from root )
should be enought.
Of course when you will install real libcurl3, you will get an error and you will have to remove the link.
And of course if this soft link not will working with Bricsys, then you should use strace command with Bricsys to see which lib and where Bricsys trying open. Because maybe it looking in other path and can not find or looking other file.
And of course if Bricsys can find libcurl may also not work.
_______________________
But I don't know how this working in Ubuntu and in this case. You would have to compare ( dpkg -L libcurl_number_of_version ) it or test.
-> For the sake of safety, I'd recommend looking in https://packages.ubuntu.com/
because probably you use system based on Ubuntu and this page is from Ubuntu.
And this is probably a more convenient solution because after adding the old repository it downloads the necessary dependencies automatically.
The problem will start if any packages will conflict with packages on your new system.
Soft link this is just a link to a library that already exists.
Code: Select all
$ dpkg -L libcurl4 | grep .so | xargs -I {} ls -l {}
-rw-r--r-- 1 root root 588424 cze 17 15:03 /usr/lib/x86_64-linux-gnu/libcurl.so.4.6.0
lrwxrwxrwx 1 root root 16 cze 17 15:03 /usr/lib/x86_64-linux-gnu/libcurl.so.4 -> libcurl.so.4.6.0
So, ( from root )
Code: Select all
ln -s /usr/lib/x86_64-linux-gnu/libcurl.so.3 /usr/lib/x86_64-linux-gnu/libcurl.so.4
Of course when you will install real libcurl3, you will get an error and you will have to remove the link.
And of course if this soft link not will working with Bricsys, then you should use strace command with Bricsys to see which lib and where Bricsys trying open. Because maybe it looking in other path and can not find or looking other file.
And of course if Bricsys can find libcurl may also not work.
_______________________
-> Many linux distributions allow you to install any version of the library. This way you can have old and new packages / libs.If I am wrong and it is possible to have both then I guess it would be easier to find a deb package (or even rpm which I would convert to deb) that I can install. - The question can I take, for example, the Ubuntu 18 version from here https://pkgs.org/download/libcurl3 ?
But I don't know how this working in Ubuntu and in this case. You would have to compare ( dpkg -L libcurl_number_of_version ) it or test.
-> For the sake of safety, I'd recommend looking in https://packages.ubuntu.com/
because probably you use system based on Ubuntu and this page is from Ubuntu.
And this is probably a more convenient solution because after adding the old repository it downloads the necessary dependencies automatically.
The problem will start if any packages will conflict with packages on your new system.
Re: Bricsys 2017 and libcurl3
I am on LM20 thats why I picked the Ubuntu18 file on the link as its the closest to what I need. Anyway, I did understand your suggestions about softlink just added a few more things I found to try. Hope at least one will work
Re: Bricsys 2017 and libcurl3
TIP: for strace command
or
I wrote because TIP from man strace not working.
Edited:
- I corrected the second command.
Code: Select all
$ strace -e openat gnome-calculator
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0", O_RDONLY|O_CLOEXEC) = 3
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0", O_RDONLY|O_CLOEXEC) = 3
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libgtk-3.so.0", O_RDONLY|O_CLOEXEC) = 3
Code: Select all
$ strace gnome-calculator 2>&1 | grep open
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0", O_RDONLY|O_CLOEXEC) = 3
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0", O_RDONLY|O_CLOEXEC) = 3
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libgtk-3.so.0", O_RDONLY|O_CLOEXEC) = 3
Code: Select all
$ man strace | grep open
open("/dev/null", O_RDONLY) = 3
open("/foo/bar", O_RDONLY) = -1 ENOENT (No such file or directory)
open("xyzzy", O_WRONLY|O_APPEND|O_CREAT, 0666) = 3
Here, the third argument of open(2) is decoded by breaking down the flag argument into its three bitwise-OR constituents and
set of values. For example, -e open means literally -e trace=open which in turn means trace only the open system
troff: <standard input>:955: warning [p 7, 1.3i, div 'an-div', 0.0i]: cannot adjust line
call. By contrast, -e trace=!open means to trace every system call except open. In addition, the special values
troff: <standard input>:957: warning [p 7, 1.7i, div 'an-div', 0.0i]: cannot adjust line
for -e trace=open,stat,chmod,unlink,... which is useful to seeing what files the process is referenc‐
trace=open,close,read,write means to only trace those four system calls. Be careful when making inferences about
- I corrected the second command.
Re: Bricsys 2017 and libcurl3
Thanks for the tips, but how exactly do I run the strace command for a local .deb installation file ?
Re: Bricsys 2017 and libcurl3
Code: Select all
I run the strace command for a local .deb installation file ?
This means that you must first install the deb package, then somewhere in the "bin" folder there will be a binary of the program.
I use the command "locate name_of_file | grep bin" to search for binary files.
If you have a problem installing a package because it have unmet dependency...
rpm (Suse, Fedora, ...) have option "force", but I don't know this option for Debian package .deb.
Other way is unpack and pack again to .deb without dependency. (I not tried with .deb)
My English is not perfect, I hope you understand.
Edit
Of course, I have to think about unpacking with the right-click option and then packaging with the package creation manager,
for example: checkinstall.
You should also know that sometimes there may be installation scripts in the .deb archive.
For example for update menu or for fix something.
If it have, it may be more difficult to transfer with checkinstall, because this is simple tool.
Re: Bricsys 2017 and libcurl3
I found "dpkg -i --force-depends ..." / "dpkg --force --install " for .deb package
But I do not recommend it, because you will broken package,
that will prevent system updates. So this is the wrong way.
So, for .dep package you can:
- rebuild package without dependencies and then try to fix dependencies with "strace" (As mentioned above)
- install or build then install missing dependencies. (As mentioned above)
Example how get info about dependencies from .deb package:
But I do not recommend it, because you will broken package,
that will prevent system updates. So this is the wrong way.
So, for .dep package you can:
- rebuild package without dependencies and then try to fix dependencies with "strace" (As mentioned above)
- install or build then install missing dependencies. (As mentioned above)
Example how get info about dependencies from .deb package:
Code: Select all
# dpkg -I gimp-cbmplugs_1.2.2-1+b2_i386.deb
new Debian package, version 2.0.
size 27690 bytes: control archive=1542 bytes.
743 bytes, 16 lines control
2266 bytes, 32 lines md5sums
Package: gimp-cbmplugs
Source: cbmplugs (1.2.2-1)
Version: 1.2.2-1+b2
Architecture: i386
Maintainer: David Weinehall <tao@debian.org>
Installed-Size: 574
Depends: gimp, libc6 (>= 2.3.6-6~), libcairo2 (>= 1.2.4), libgdk-pixbuf2.0-0 (>= 2.22.0), libgimp2.0 (>= 2.4.0), libglib2.0-0 (>= 2.24.0)
Conflicts: gimp1.2-cbmplugs, gimp1.3-cbmplugs
Replaces: gimp1.2-cbmplugs, gimp1.3-cbmplugs
Section: graphics
Priority: optional
Description: plugins for The GIMP to import/export Commodore 64 files
This set of plugins provides The GIMP with support for importing from
and exporting to several different file-formats used on the Commodore 64.
A palette that tries to imitate the colours of the Commodore 64 as closely
as possible is also included.
Re: Bricsys 2017 and libcurl3
At last I solved the issue. Want to post the procedure here in case anyone else will need it.
1. Copy the deb file to a directory
2. Create the directory structure "$ mkdir -p newpack oldpack/DEBIAN"
3. Extract the filesystem tree "$ dpkg-deb -x file.deb oldpack/"
4. Extract the control information files "$ dpkg-deb -e file.deb oldpack/DEBIAN"
5. Modify the control script (change libcurl3 to libcurl4|libcurl3)
6. Repackage the deb file under newpack directory using xz compression "$ dpkg-deb -Z xz -b oldpack/ newpack/"
7. Install Bricscad
8. In my case BricsCAD didn't want to run afterwards giving this error "/opt/bricsys/bricscad/v17/bricscad: symbol lookup error: /usr/lib/x86_64-linux-gnu/libpango-1.0.so.0: undefined symbol: fribidi_get_par_embedding_levels_ex", bricsys support was helpful here and pointed me to delete "libfribidi.so.0" library from /opt/bricsys/bricscad/v17.
After this BricsCAD runs.
1. Copy the deb file to a directory
2. Create the directory structure "$ mkdir -p newpack oldpack/DEBIAN"
3. Extract the filesystem tree "$ dpkg-deb -x file.deb oldpack/"
4. Extract the control information files "$ dpkg-deb -e file.deb oldpack/DEBIAN"
5. Modify the control script (change libcurl3 to libcurl4|libcurl3)
6. Repackage the deb file under newpack directory using xz compression "$ dpkg-deb -Z xz -b oldpack/ newpack/"
7. Install Bricscad
8. In my case BricsCAD didn't want to run afterwards giving this error "/opt/bricsys/bricscad/v17/bricscad: symbol lookup error: /usr/lib/x86_64-linux-gnu/libpango-1.0.so.0: undefined symbol: fribidi_get_par_embedding_levels_ex", bricsys support was helpful here and pointed me to delete "libfribidi.so.0" library from /opt/bricsys/bricscad/v17.
After this BricsCAD runs.
Re: [SOLVED] Bricsys 2017 and libcurl3
Hi there.
I have had the same issues with a new laptop running Mint 20.1 using BricsCAD v16. I have followed steps 1 to 7 and everything has worked perfectly so far, many thanks for posting the fix.
My step 8 has raised a different error though and I was hoping someone might be able to help. I get the following error when trying to run BricsCAD:
"/opt/bricsys/bricscad/v16/bricscad: /opt/bricsys/bricscad/v16/libz.so.1: version `ZLIB_1.2.9' not found (required by /lib/x86_64-linux-gnu/libpng16.so.16)"
Synaptic shows that I have ZLIB_1.2.11 installed. I'm guessing that replacing it with ZLIB_1.2.9 would cause more issues than it would solve so I haven't done that.
Bricsys customer support haven't come up with an answer yet.
Any help much appreciated as I'd rather not spend £1000 on the software upgrade when BricsCADv16 does everything I need.
I have had the same issues with a new laptop running Mint 20.1 using BricsCAD v16. I have followed steps 1 to 7 and everything has worked perfectly so far, many thanks for posting the fix.
My step 8 has raised a different error though and I was hoping someone might be able to help. I get the following error when trying to run BricsCAD:
"/opt/bricsys/bricscad/v16/bricscad: /opt/bricsys/bricscad/v16/libz.so.1: version `ZLIB_1.2.9' not found (required by /lib/x86_64-linux-gnu/libpng16.so.16)"
Synaptic shows that I have ZLIB_1.2.11 installed. I'm guessing that replacing it with ZLIB_1.2.9 would cause more issues than it would solve so I haven't done that.
Bricsys customer support haven't come up with an answer yet.
Any help much appreciated as I'd rather not spend £1000 on the software upgrade when BricsCADv16 does everything I need.
Re: [SOLVED] Bricsys 2017 and libcurl3
I have jumped the gun with regards Bricsys Service team. They got back to me today with two files attached to my support request. I followed their instructions and now have a fully functioning BricsCAD V16 once again. Really excellent customer service considering the age of the software and that they don't officially support Linux Mint. For anyone else searching this problem just get in touch with Bricsys and be more patient than I was!