Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Builds created in Ubuntu 20.04 are throwing error in Ubuntu 18.04 #3369

Closed
AlbertoCasasOrtiz opened this issue Jan 23, 2023 · 7 comments
Closed
Assignees

Comments

@AlbertoCasasOrtiz
Copy link
Contributor

AlbertoCasasOrtiz commented Jan 23, 2023

While solving #2930, I noticed that builds created in Ubuntu 20.04 are throwing error in Ubuntu 18.04 (when executing opensim-cmd). The error is the following:

m-cmd: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by ./opensim-cmd)
./opensim-cmd: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by /home/albert/Downloads/OpenSim-4.4-2023-01-19-228bddf-ub20-linux/OpenSim-4.4-2023-01-19-228bddf/opensim/bin/../sdk/lib/libosimMoco.so)
./opensim-cmd: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by /home/albert/Downloads/OpenSim-4.4-2023-01-19-228bddf-ub20-linux/OpenSim-4.4-2023-01-19-228bddf/opensim/bin/../sdk/lib/libosimMoco.so)
./opensim-cmd: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by /home/albert/Downloads/OpenSim-4.4-2023-01-19-228bddf-ub20-linux/OpenSim-4.4-2023-01-19-228bddf/opensim/bin/../sdk/lib/libosimTools.so)
./opensim-cmd: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by /home/albert/Downloads/OpenSim-4.4-2023-01-19-228bddf-ub20-linux/OpenSim-4.4-2023-01-19-228bddf/opensim/bin/../sdk/lib/libosimTools.so)
./opensim-cmd: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by /home/albert/Downloads/OpenSim-4.4-2023-01-19-228bddf-ub20-linux/OpenSim-4.4-2023-01-19-228bddf/opensim/bin/../sdk/lib/libosimAnalyses.so)
./opensim-cmd: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by /home/albert/Downloads/OpenSim-4.4-2023-01-19-228bddf-ub20-linux/OpenSim-4.4-2023-01-19-228bddf/opensim/bin/../sdk/lib/libosimAnalyses.so)
./opensim-cmd: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by /home/albert/Downloads/OpenSim-4.4-2023-01-19-228bddf-ub20-linux/OpenSim-4.4-2023-01-19-228bddf/opensim/bin/../sdk/lib/libosimActuators.so)
./opensim-cmd: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by /home/albert/Downloads/OpenSim-4.4-2023-01-19-228bddf-ub20-linux/OpenSim-4.4-2023-01-19-228bddf/opensim/bin/../sdk/lib/libosimActuators.so)
./opensim-cmd: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by /home/albert/Downloads/OpenSim-4.4-2023-01-19-228bddf-ub20-linux/OpenSim-4.4-2023-01-19-228bddf/opensim/bin/../sdk/lib/libosimSimulation.so)
./opensim-cmd: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by /home/albert/Downloads/OpenSim-4.4-2023-01-19-228bddf-ub20-linux/OpenSim-4.4-2023-01-19-228bddf/opensim/bin/../sdk/lib/libosimSimulation.so)
./opensim-cmd: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by /home/albert/Downloads/OpenSim-4.4-2023-01-19-228bddf-ub20-linux/OpenSim-4.4-2023-01-19-228bddf/opensim/bin/../sdk/lib/libosimCommon.so)
./opensim-cmd: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by /home/albert/Downloads/OpenSim-4.4-2023-01-19-228bddf-ub20-linux/OpenSim-4.4-2023-01-19-228bddf/opensim/bin/../sdk/lib/libosimCommon.so)
./opensim-cmd: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by /home/albert/Downloads/OpenSim-4.4-2023-01-19-228bddf-ub20-linux/OpenSim-4.4-2023-01-19-228bddf/opensim/bin/../sdk/lib/libtropter.so)
./opensim-cmd: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by /home/albert/Downloads/OpenSim-4.4-2023-01-19-228bddf-ub20-linux/OpenSim-4.4-2023-01-19-228bddf/opensim/bin/../sdk/lib/libosimLepton.so)

The same happens if you try to execute the GUI in Ubuntu 18.04 using opensim-core built on Ubuntu 20.04.

Failed to load one or more dynamic libraries for OpenSim.
java.lang.UnsatisfiedLinkError: /opt/opensim-gui/sdk/lib/libosimJavaJNI.so: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by /opt/opensim-gui/sdk/lib/libosimJavaJNI.so)

I think this problem is highly related to this issue in the conda repository: opensim-org/conda-opensim#15, in which we have problems executing in Google Colab because of a difference in gcc libraries versions. And the creation of a docker package is a good solution to this: opensim-org/conda-opensim#26.

Update: This error does not only happens in Ubuntu 18.04, but also in Debian 10 and 11.

@SietseAchterop
Copy link

I had something similar in debian 11.
Maybe related to the following: if you remove/rename the opensim-workspace directory after the build, there are also problems. So the build uses that directory when it probably shouldn't. Confusing.

@nickbianco
Copy link
Member

nickbianco commented Feb 8, 2023

Related issue: #3379. EDIT: not really related.

@AlbertoCasasOrtiz AlbertoCasasOrtiz self-assigned this Feb 9, 2023
@AlbertoCasasOrtiz
Copy link
Contributor Author

I am testing this approach:
https://github.com/wheybags/glibc_version_header

@AlbertoCasasOrtiz
Copy link
Contributor Author

The previous approach didn't work. I am creating a conda package that builds on Ubuntu 18.04.

@aymanhab
Copy link
Member

aymanhab commented Mar 1, 2023

Thanks @AlbertoCasasOrtiz Let me know when ready so I can try to build a package with moco

@AlbertoCasasOrtiz
Copy link
Contributor Author

@aymanhab I have just created PR #3418 with the dockerfile to build opensim-core in Ubuntu 18.04. Should I create another dockerfile for opensim-gui?

@aymanhab
Copy link
Member

aymanhab commented Mar 7, 2023

Thanks @AlbertoCasasOrtiz I haven't seen a wide use/need for a docker for building a docker with the GUI, it's typically high-end users of the API that utilize docker.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants