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

Outdated dependency #1313

Open
danlo76 opened this issue Oct 1, 2024 · 17 comments
Open

Outdated dependency #1313

danlo76 opened this issue Oct 1, 2024 · 17 comments
Assignees

Comments

@danlo76
Copy link

danlo76 commented Oct 1, 2024

Description

I installed OMSimulator in a virtual environment using pip.
Trying to execute OMSimulator I recieve the following error:

OSError: libicuuc.so.66: cannot open shared object file: No such file or directory

After some googling I applied this workaround which solves the issue.

However, it would be nice if this dependency was updated to a more recent version or ideally included.

Steps to reproduce the behavior

  1. Create and activate virtual environment
  2. Install OMSimulator using pip
python3 -m venv .venv
. ./.venv/bin/activate
  1. Create a simple python script (in current location)
# test.py
from OMSimulator import OMSimulator
oms = OMSimulator()
version = oms.getVersion()
print(version)
  1. Execute script
python3 test.py

Expected behavior

error message:

OSError: libicuuc.so.66: cannot open shared object file: No such file or directory

Version and OS

  • Version: OMSimulator v2.1.1.post257-g1eb92ef-linux-notlm
  • OS: Ubuntu 22.04.5 LTS
@robha67
Copy link
Contributor

robha67 commented Oct 15, 2024

@arun3688 Do you have time to comment on this issue?

@arun3688
Copy link
Contributor

@robha67 @danlo76 i am not a linux user, but in general libicuuc.so.66 should be default installed in Ubuntu Operating System, I think these are system libraries and not part of OMSimulator

@robha67
Copy link
Contributor

robha67 commented Oct 15, 2024

@arun3688 But if I understand @danlo76 correctly, the issue only occurs when installing OMSimulator using pip.

@danlo76
Copy link
Author

danlo76 commented Oct 15, 2024

@arun3688 @robha67 I believe the libicuuc.so.66 was the default version installed in Ubuntu 20.04, but we are currently using Ubuntu 22.04 where libicuuc.so.70 is default.

@robha67
Copy link
Contributor

robha67 commented Oct 15, 2024

@danlo76 so it is a os problem? if so, can we close this issue?

@danlo76
Copy link
Author

danlo76 commented Oct 15, 2024

@robha67 at the risk of not understanding, I would still argue that this is an OMSimulator issue. As stated in the description there is a workaround but it seems problematic if a specific version of the library is required which is installed only on specific OS versions.
@arun3688 this is not my field of expertise. Feel free to close the issue if you feel I am wrong.

@robha67
Copy link
Contributor

robha67 commented Oct 15, 2024

@danlo76 If I understand you correctly, there is currently an OMSimulator dependency to an old version of the libicuuc.so. @arun3688 could this be updated?

@danlo76
Copy link
Author

danlo76 commented Oct 16, 2024

@robha67 correct. At least for the version stated if installed using pip.

@arun3688
Copy link
Contributor

arun3688 commented Oct 16, 2024

@robha67 @danlo76 I can reproduce the problem in WSL and I found that it is not related with version libicuuc.so.66, but the how the prebuilt binaries in linux are linked with libOMSimulator.so, because in windows i can see it is build and linked with libicuuc74.dll and it works see below, may be the linux server which we are building the artifacts has only libicuuc.so.66 and OMSimulator is linked with that version and when you download from pip it complains about the error, As you said it happens only with pip package, but if you build the OMSimulator as stand alone package, it will be linked with the latest available libicuuc version and it will work

# ldd build/bin/libOMSimulator.dll
        ntdll.dll => /c/WINDOWS/SYSTEM32/ntdll.dll (0x7ffb1ab70000)
        KERNEL32.DLL => /c/WINDOWS/System32/KERNEL32.DLL (0x7ffb19370000)
        KERNELBASE.dll => /c/WINDOWS/System32/KERNELBASE.dll (0x7ffb17ee0000)
        msvcrt.dll => /c/WINDOWS/System32/msvcrt.dll (0x7ffb18ad0000)
        ucrtbase.dll => /c/WINDOWS/System32/ucrtbase.dll (0x7ffb18610000)
        libgcc_s_seh-1.dll => /c/OPENMODELICAGIT/OpenModelica/build/bin/libgcc_s_seh-1.dll (0x7ffafc8c0000)
        libwinpthread-1.dll => /c/OPENMODELICAGIT/OpenModelica/build/bin/libwinpthread-1.dll (0x1e83bec0000)
        libicuuc74.dll => /c/OPENMODELICAGIT/OpenModelica/build/bin/libicuuc74.dll (0x7ffaad670000)
        libwinpthread-1.dll => /c/OPENMODELICAGIT/OpenModelica/build/bin/libwinpthread-1.dll (0x7ffb02ea0000)
        libstdc++-6.dll => /c/OPENMODELICAGIT/OpenModelica/build/bin/libstdc++-6.dll (0x7ffaac9c0000)
        ADVAPI32.dll => /c/WINDOWS/System32/ADVAPI32.dll (0x7ffb188b0000)
        sechost.dll => /c/WINDOWS/System32/sechost.dll (0x7ffb1a7c0000)
        libicudt74.dll => /c/OPENMODELICAGIT/OpenModelica/build/bin/libicudt74.dll (0x7ffa89890000)
        bcrypt.dll => /c/WINDOWS/System32/bcrypt.dll (0x7ffb17eb0000)
        RPCRT4.dll => /c/WINDOWS/System32/RPCRT4.dll (0x7ffb18d60000)
        CRYPTBASE.DLL => /c/WINDOWS/System32/CRYPTBASE.DLL (0x7ffb17710000)
        bcryptPrimitives.dll => /c/WINDOWS/System32/bcryptPrimitives.dll (0x7ffb18590000)

@robha67
Copy link
Contributor

robha67 commented Oct 16, 2024

@arun3688 Ok, then does the linux build server need to be updated? Who should we ping this issue to?

@arun3688
Copy link
Contributor

@robha67 i will ask adrian about this

@robha67
Copy link
Contributor

robha67 commented Oct 16, 2024

@arun3688 Thank you!

@lochel
Copy link
Member

lochel commented Nov 13, 2024

@arun3688 Do you have any update on this issue?

@arun3688
Copy link
Contributor

@lochel not yet, i guess we need to update the server

@lochel
Copy link
Member

lochel commented Nov 15, 2024

Where do we link the library? Is it introduced as a dependency by one of the 3rd party libs? Maybe linking it statically would solve the problem?

@arun3688
Copy link
Contributor

@robha67 @danlo76 We have now updated the server and now OMSimulator should link with the latest icu libraries, and we made a new pip release https://pypi.org/project/OMSimulator/2.1.3/, please test the new pip package and the issue should be solved

@danlo76
Copy link
Author

danlo76 commented Nov 22, 2024

@arun3688 Thank you! We will test this shortly.

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

No branches or pull requests

4 participants