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

External dependencies continued #1424

Open
robha67 opened this issue Jan 28, 2025 · 2 comments
Open

External dependencies continued #1424

robha67 opened this issue Jan 28, 2025 · 2 comments
Labels
project/openscaling OpenSCALING related issues and pull requests

Comments

@robha67
Copy link
Contributor

robha67 commented Jan 28, 2025

This issue is a continuation of the issue #1313 which has been solved

@danlo76, can you describe the problem in this issue

@robha67 robha67 added the project/openscaling OpenSCALING related issues and pull requests label Jan 28, 2025
@danlo76
Copy link

danlo76 commented Jan 28, 2025

@arun3688, @robha67

I have now installed your latest version (2.1.3) using 'pip install OMSimulator' on a freshly installed server running AlmaLinux release 9.5 (Teal Serval).

Unfortunately I'm running into several issues with dependencies to specific versions of shared object files that are not included in the OMSimulator build.

So far I have encountered and found workarounds for the following issues:

OSError: libcurl-gnutls.so.4: cannot open shared object file: No such file or directory
OSError: libicuuc.so.70: cannot open shared object file: No such file or directory

Having solved these dependencies I now face this one:

OSError: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.30' not found

Is there no way to include these kind of dependencies in the build?

@AxelMatstoms
Copy link

The current approach for packaging, which downloads a binary .so file at install has issues with portability. The current version of OMSimulator (2.1.3) depends on libicuuc.so.70 which is fine for Ubuntu 22.04, but Ubuntu 24.04 ships with libicuuc.so.74. I don't believe it is possible to tag different pip releases for different versions of arbitrary native dependencies, which means any given release using this approach will fail to work on at least one of Ubuntu 22.04 and Ubuntu 24.04.

There are at least two approaches which may be feasible:

  1. Create a source distributions which packages (or downloads) the source code for the latest release of OMSimulator, and builds a python package using a locally built version of OMSimulator, which ensures that OMSimulator.so is linked against the local versions of native dependencies.
  2. Compile the binary pip package with static linking, solving the problem by bundling the native dependencies.

I may be able to look into this more, if I have the time for it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
project/openscaling OpenSCALING related issues and pull requests
Projects
None yet
Development

No branches or pull requests

3 participants