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

LPsolver not working on ubuntu linux (libglpkjni_x64.so: undefined symbol: lib_set_fault_hook) #5

Open
shalinshah1993 opened this issue Aug 6, 2018 · 16 comments

Comments

@shalinshah1993
Copy link
Collaborator

From @matthiaskoenig on June 7, 2018 21:43

I added a simple test case for the solver in org.simulator.fba.CobraSolverTest.
When trying to run an optimization I get the following error:

org.simulator.fba.CobraSolverTest
/usr/lib/jvm/java-8-oracle/bin/java: symbol lookup error: /home/mkoenig/git/sbscl-shalin/libglpkjni_x64.so: undefined symbol: lib_set_fault_hook

Process finished with exit code 127

Do I need to install anything else? Copy glpk libraries somewhere?

Copied from original issue: shalinshah1993#24

@shalinshah1993
Copy link
Collaborator Author

I think it is because you haven’t added all the scpsolver lpsolver and glpk to your eclipse classpath.

Sent from my iPhone

On Jun 7, 2018, at 5:43 PM, Matthias König [email protected] wrote:

I added a simple test case for the solver in org.simulator.fba.CobraSolverTest.
When trying to run an optimization I get the following error:

org.simulator.fba.CobraSolverTest
/usr/lib/jvm/java-8-oracle/bin/java: symbol lookup error: /home/mkoenig/git/sbscl-shalin/libglpkjni_x64.so: undefined symbol: lib_set_fault_hook

Process finished with exit code 127
Do I need to install anything else? Copy glpk libraries somewhere?


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

@shalinshah1993
Copy link
Collaborator Author

From @matthiaskoenig on June 7, 2018 23:13

So what do I have to add in addition to the jars which are in the repository? I am working outside of eclipse, i.e., either in the console or with idea intellj.

@shalinshah1993
Copy link
Collaborator Author

Try adding jar files to you classpath in IntelliJ. Right click on project > properties and add jar to classpath.

@shalinshah1993
Copy link
Collaborator Author

From @niko-rodrigue on June 8, 2018 8:13

This does look more like a linux libraries problem. Can you run:
ldd /home/mkoenig/git/sbscl-shalin/libglpkjni_x64.so

To see if you are missing some libraries. But the problem can be that you have different versions compared to the versions "libglpkjni_x64.so" was compiled against.

@shalinshah1993
Copy link
Collaborator Author

From @matthiaskoenig on June 8, 2018 10:14

This has to work within maven. Otherwise things will not work within
travis. It would be great if you could write down the steps you did to make
it work in the readme.

On Jun 8, 2018 2:17 AM, "Shalin Shah" [email protected] wrote:

Try adding jar files to you classpath in IntelliJ. Right click on project >
properties and add jar to classpath.


You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
shalinshah1993#24 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA29ui1UsdVe07EafkKHA03k7MTxxLBzks5t6cKEgaJpZM4UfK4F
.

@shalinshah1993
Copy link
Collaborator Author

From @matthiaskoenig on June 11, 2018 10:25

Can anybody besides Shalin run the FBA simulations? If yes, what additional libraries/packages were installed, which paths set after cloning the repository? Did you install libglpk, libglpk-java and add them to the classpath?

Can anybody run the CobraSolverTest.java in the test-cases branch?
https://github.com/shalinshah1993/SBSCL/blob/test-cases/src/test/java/org/simulator/fba/CobraSolverTest.java

The libglpkjni_x64.so is generated dynamically when trying to run an FBA example. I.e. the file is generated while executing the java code.

ldd libglpkjni_x64.so 
	linux-vdso.so.1 =>  (0x00007fff4143b000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f5497a0a000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f5497806000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f549743c000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f5498012000)

@shalinshah1993
Copy link
Collaborator Author

@shalinshah1993
Copy link
Collaborator Author

From @niko-rodrigue on June 11, 2018 11:45

On which branch should I be to test, "maven-build" ? Just noticed that you spoke about the test-cases branch in the middle of your post.
My build is failing because of certificate errors:

[ERROR] Failed to execute goal on project sbscl: Could not resolve dependencies for project org.simulator:sbscl:jar:1.5: Failed to collect dependencies at de.uni-rostock.sbi:CombineArchive:jar:1.3.6 -> de.binfalse:BFLog:jar:1.3.3: Failed to read artifact descriptor for de.binfalse:BFLog:jar:1.3.3: Could not transfer artifact de.binfalse:BFLog:pom:1.3.3 from/to sems-maven-repository-releases (http://mvn.sems.uni-rostock.de/releases/): hostname in certificate didn't match: <mvn.bio.informatik.uni-rostock.de> != <bio.informatik.uni-rostock.de> OR <bio.informatik.uni-rostock.de> -> [Help 1]

did you already encountered this error ? I tried the different options to remove certificate checking without success.

On Mon, 11 Jun 2018 at 11:34, Matthias König [email protected]
wrote:

I added an issue to the SCPsolver board:

https://groups.google.com/forum/embed/?place=forum/scpsolver&showsearch=true&showpopout=true&showtabs=false&parenturl=http%3A%2F%2Fscpsolver.org%2F#!topic/scpsolver/B7ra8gkk5Jk


You are receiving this because you commented.
Reply to this email directly, view it on GitHub
shalinshah1993#24 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABlQ8Q4xeGeyow3FgGdHZMEXe2YLe_SWks5t7kfBgaJpZM4UfK4F
.

@shalinshah1993
Copy link
Collaborator Author

From @niko-rodrigue on June 11, 2018 12:33

After downloading by hand BFLog, I was able to run the test and I have the exact same error as you @matthiaskoenig. I am running Centos 7.5.1804.

@shalinshah1993
Copy link
Collaborator Author

From @matthiaskoenig on June 11, 2018 12:48

No, I did not see the certificate error so far.

@shalinshah1993
Copy link
Collaborator Author

From @niko-rodrigue on June 11, 2018 13:0

The certificate problem seem to be avoided if you have already a copy of the jar in your local maven repo.
I managed to run the test. The src/lib/lp-lib/GLPKSolverPack.jar contain several so files which have a different size as the one generated in the root folder. From the scpsolver forum, I guess we should be using glpk version 4.65 that might be a solution to install it on /usr/lib (centos is using version 4.52).

But extracting the GLPKSolverPack.jar to a temp folder and setting LD_LIBRARY_PATH to include the folder that contain the so files, I was then able to run the tests.

@shalinshah1993
Copy link
Collaborator Author

From @matthiaskoenig on June 11, 2018 13:48

Hi @niko-rodrigue,

I tried the LD_LIBRARY_PATH solution (extract in temp dir and setting environment variable), but still get the same error. I can see that the correct library is tried (extracted directory library). Could it be that the library is only working on some linux systems?

/usr/lib/jvm/java-8-oracle/bin/java: symbol lookup error: /home/mkoenig/git/sbscl-shalin/src/lib/glpk/libglpkjni_x64.so: undefined symbol: lib_set_fault_hook
ldd libglpkjni_x64.so 
	linux-vdso.so.1 =>  (0x00007fffe71b0000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fcf9ad7c000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fcf9ab78000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fcf9a7ae000)
	/lib64/ld-linux-x86-64.so.2 (0x00007fcf9b384000)

@shalinshah1993
Copy link
Collaborator Author

From @matthiaskoenig on June 11, 2018 15:49

Hannes just answered is issue on linux 64.

Hi Matthias,
I am currently working on bringing GLPKSolverPack up to date (v 4.65, and fixing errors) on all operating systems. While the GLPK solver pack has been working on Linux (specifically Ubuntu) forever, there seem to be problems on newer versions. Usually, errors like this occur due to some changes in the JNI interfaces...

This is the current status:
Win 64: works
Win 32: works
Linux 64: error
Linux 32: unknown, but who uses that anyway...
Mac 64: works
 

@vmarangozova
Copy link

Hi, is there un update on this issue? I got this error.

@shalinshah1993
Copy link
Collaborator Author

Hi @vmarangozova, I remember some people from the SCPsolver community were working on this problem. What OS are you using? I was using windows and it works fine. However, others weren't able to use SCPsolver libraries on the Linux systems.

@adrianmarino
Copy link

adrianmarino commented Aug 13, 2019

Hi, i could solve the problem downloading libglpkjni_x64.so file and copying this to /usr/lib/x86_64-linux-gnu/jni path.

Note: I couldn't find a package that contain this library (For debian using api-file).

Donwload libglpkjni_x64.so from this link

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

3 participants