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

libnio.so: undefined symbol: reuseport_available #518

Open
Voxanimus opened this issue Feb 3, 2024 · 2 comments
Open

libnio.so: undefined symbol: reuseport_available #518

Voxanimus opened this issue Feb 3, 2024 · 2 comments

Comments

@Voxanimus
Copy link

Voxanimus commented Feb 3, 2024

Describe the problem
The installation goes well until I try to launch jep in the terminal.
It seems that there is a problem with libnio.so.
I check for it in using ldd /usr/lib/jvm/java-17-openjdk/lib/libnio.so and everything went fine.

Environment:

  • OS Platform, Distribution, and Version: Archlinux x86_64, 6.7.1-arch1-1
  • Python Distribution and Version: Python 3.11.6
  • Java Distribution and Version: openjdk version "17.0.10"
  • Jep Version: Jep 4.2.0

Logs
Error while launching jep:
Error: LinkageError when loading the jep.Run main class
java.lang.UnsatisfiedLinkError: /usr/lib/jvm/java-17-openjdk/lib/libnio.so: /usr/lib/jvm/java-17-openjdk/lib/libnio.so: undefined symbol: reuseport_available

Result of ldd command:
linux-vdso.so.1 (0x00007ffce3bd3000)
libjava.so => /usr/lib/jvm/java-17-openjdk/lib/libjava.so (0x00007c255407600)
libnet.so => /usr/lib/jvm/java-17-openjdk/lib/libnet.so (0x00007c255405e000)
libc.so.6 => /usr/lib/libc.so.6 (0x00007c2553e4b000)
libjvm.so => /usr/lib/jvm/java-17-openjdk/lib/server/libjvm.so (0x00007c2552a00000)
/usr/lib64/ld-linux-x86-64.so.2 (0x00007c25540b3000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007c2552600000)
libm.so.6 => /usr/lib/libm.so.6 (0x00007c2552913000)
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007c2553e24000)

@bsteffensmeier
Copy link
Member

It looks like there may be problems with some versions of java when LD_LIBRARY_PATH is used. The jep script sets LD_LIBRARY_PATH to help find libjep but on most linux systems that is no longer strictly necessary as long as libjep can be found in a predictable location. Could you try modifying the jep script and removing the LD_LIBRARY_PATH portion and reporting back if that resolves the issue.

@Voxanimus
Copy link
Author

It looks like there may be problems with some versions of java when LD_LIBRARY_PATH is used. The jep script sets LD_LIBRARY_PATH to help find libjep but on most linux systems that is no longer strictly necessary as long as libjep can be found in a predictable location. Could you try modifying the jep script and removing the LD_LIBRARY_PATH portion and reporting back if that resolves the issue.

Everything is working fine. Thank you. Maybe this deserves a later patch.

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

2 participants