I made a WxWidgets project on Lbuntu 64 bit using CodeLite. Then I transferred the compiled release version of the program to Ubuntu without WxWidgets and CodeLite installed. I received a message that libwx_gtk3u_unofficial3_xrc-3.1.so.3 is missing. I placed the missing file from Lubuntu next to the executable file - I get the same message. The following questions arose:
1. Is it possible to compile the executable file in CodeLite so that it can be transferred to any Linux computer without transferring the libraries?
2. If this cannot be done, then which libraries need to be transferred to another computer and where should they be copied?
Transfer WxWidgets applications to another PC
-
- Earned a small fee
- Posts: 11
- Joined: Thu Mar 05, 2020 8:05 pm
Transfer WxWidgets applications to another PC
You do not have the required permissions to view the files attached to this post.
-
- Site Admin
- Posts: 4254
- Joined: Thu Jan 12, 2006 6:23 pm
- Location: IoW, UK
Re: Transfer WxWidgets applications to another PC
Hi,
This sort of question is frequently-asked when using Linux. The 'problem' is that linux distros prefer to distribute small binaries, and they are small because they don't contain the system libs on which they depend (unlike Windows where, iiuc, a program is usually statically-linked to lots of libs, making a large binary containing lots of duplicate libs).
So how does a distro like lubuntu solve the problem you've encountered? By creating a package (for debian-derived distros like *ubuntu it's a deb) that contains information about the dependent libs. When you 'apt install' a deb, that information is read by apt and you are prompted to install those dependencies. Incidentally, this also avoids your next problem: had you tried to install your program in a different version of lubuntu, it might well not have run even if you supplied all the ibwx_*_unofficial3* libs, due to ABI incompatibility with system libs.
Your solutions include the standard one of creating a deb; or creating a (Windows-like) bundle e.g. a Snap, or an AppImage, or...
Regards,
David
This sort of question is frequently-asked when using Linux. The 'problem' is that linux distros prefer to distribute small binaries, and they are small because they don't contain the system libs on which they depend (unlike Windows where, iiuc, a program is usually statically-linked to lots of libs, making a large binary containing lots of duplicate libs).
So how does a distro like lubuntu solve the problem you've encountered? By creating a package (for debian-derived distros like *ubuntu it's a deb) that contains information about the dependent libs. When you 'apt install' a deb, that information is read by apt and you are prompted to install those dependencies. Incidentally, this also avoids your next problem: had you tried to install your program in a different version of lubuntu, it might well not have run even if you supplied all the ibwx_*_unofficial3* libs, due to ABI incompatibility with system libs.
Your solutions include the standard one of creating a deb; or creating a (Windows-like) bundle e.g. a Snap, or an AppImage, or...
Regards,
David
-
- Earned a small fee
- Posts: 11
- Joined: Thu Mar 05, 2020 8:05 pm
Re: Transfer WxWidgets applications to another PC
Unfortunately, in CodeLight, I did not find the opportunity to create a debian package. I just recently started working in Linux. Tell me, please, how to make a Debian package my program for installation on another PC?
-
- Site Admin
- Posts: 4254
- Joined: Thu Jan 12, 2006 6:23 pm
- Location: IoW, UK
Re: Transfer WxWidgets applications to another PC
That's not a thing that CodeLite, or I suspect any other IDE, will do for you. And describing how to make a deb isn't at all simple.
However there is a lot of available information, which you can easily find using your favourite search engine...
However there is a lot of available information, which you can easily find using your favourite search engine...
-
- Earned a small fee
- Posts: 11
- Joined: Thu Mar 05, 2020 8:05 pm
Re: Transfer WxWidgets applications to another PC
Thanks for answers. Clear.