Doesn't work on rec...
Clear all

Doesn't work on recent Linux Mint (Ubuntu)

New Member
Joined: 2 years ago
Posts: 1
Topic starter  

I downloaded Artemis, but when I run it I get:

[5159] Error loading Python lib '/tmp/_MEIl5y7DW/': dlopen: /lib/x86_64-linux-gnu/ version `GLIBC_2.29' not found (required by /tmp/_MEIl5y7DW/

Any ideas? I'm running the latest version of Linux Mint (19.1) which is based on the latest LTS Ubuntu release. I guess I could run the Windows one in Wine, but kinda defeats the purpose ;-)
If there's a more "natural" way to install/run this (like just installing Python 3.7 manually, etc) I can handle that too.

Member Admin
Joined: 2 years ago
Posts: 56

Hi Caspian, thanks for the bug report! I was able to find the problem and this is mainly due to the different C system libraries that we have. A brief explanation comes from a severinsimmler discussion. PyInstaller (the software used to make the one-file bundle) suggests the following:

The executable that PyInstaller builds is not fully static, in that it still depends on the system libc. Under Linux, the ABI of GLIBC is backward compatible, but not forward compatible. So if you link against a newer GLIBC, you can't run the resulting executable on an older system. The supplied binary bootloader should work with older GLIBC. However, the and other dynamic libraries still depend on the newer GLIBC. The solution is to compile the Python interpreter with its modules (and also probably bootloader) on the oldest system you have around so that it gets linked with the oldest version of GLIBC.

We used GLIBC 2.29 and Fedora (that tend to have bleeding edge repository, through thick and thin...) to pack the program but I think that ubuntu and mint have an older version of the C libraries. So far, you have two possible solutions:

  • Solution 1: update your version of GLIBC on your OS. This will solve immediately the problem
  • Solution 2: use the GitHub version (HERE) and follow the documentation to launch the software from the source code.

I will immediately open an issue on GitHub. The solution is relatively easy to solve and will be available on the next release. Thanks for the tip!