jblas icon indicating copy to clipboard operation
jblas copied to clipboard

Update dependency on libgfortran3

Open clifftsung opened this issue 6 years ago • 12 comments

On amd64 Linux, jblas requies libgfortran3 to be installed, however many distros have retired libgfortran3 from their repositories (Debian 10, Ubuntu 19.10 and its derivatives). Is it possible to update jblas' dependency to newer version of gfortran?

clifftsung avatar Mar 05 '20 12:03 clifftsung

As a workaround, on Debian and derivatives it seems that apt-get install jblas solves the problem. See https://forum.step.esa.int/t/error-due-to-missing-libgfortran3-while-libgfortran4-is-installed-opensuse-linux-distribution/15953/4?u=giomasce.

giomasce avatar Apr 03 '20 15:04 giomasce

The issue still persists on occasion with jblas installed.

mcvittal avatar Jul 30 '20 15:07 mcvittal

Hey there, I just did a new release that should fix the libgfortran.3 dependency. I bumped it to libgfortran.4, but I also added it to the jar, so that it doesn't have to be installed anymore. Let me know if it works for you.

mikiobraun avatar Aug 25 '20 10:08 mikiobraun

Would it be possible to bump this to 5? Off to try installing jblas instead as a workaround on Debian Testing, but apt only has libgfortran5 available. Thanks in advance.

sinabahram avatar Apr 29 '21 03:04 sinabahram

Do you know when libgfortran5 was added to debian? I'm trying to see how that would break backwards compatability.

mikiobraun avatar Apr 29 '21 13:04 mikiobraun

It is on testing (I think since the beginning of this current version of Debian but can't confirm that easily with Google) but not officially in stable, or at least that's my understanding. I don't have a Debian stable system on hand to quickly check that. Are there breaking changes in 5 such that it would be difficult for you to allow it, possibly even with a flag so it could be tested e.g. some sort of --use-libgfortran5 so the jar doesn't throw an exception when it can't find older versions?

Also, maybe there's something one-off that I can do? For example, (probably super messy/hacky), but replacing a single jar with one targeting 5?

Happy to explore whatever can A) get the researcher I'm helping up and running with her code and B) is the least lift on your end.

Thanks in advance.

sinabahram avatar Apr 29 '21 16:04 sinabahram

I see. So I took a brief look and did a docker on debian:testing, and one other problem that popped up is that debian:testing doesn't have java 8 anymore, and I'm using javah, and haven't yet figured out how to migrate that within ant/maven. I'll need to do that first, but then I'd guess it would be possible to have a build that runs within debian:testing and links against libgfortran5, and you could then use that jar.

mikiobraun avatar Apr 29 '21 16:04 mikiobraun

Understood, although for what it's worth the Java portions were all brought in via OpenJDK correctly with apt when I installed this and also other packages. Do you need java 8 or are later JDKs that are obviously backwards compatible fine?

I can run the tool and everything, so Java is certainly working fine, but obviously there may be other nuances I'm totally glossing over.

sinabahram avatar Apr 29 '21 16:04 sinabahram

Yeah, Java installs fine, but I think there's only 11 or above in testing. And my build process doesn't work with >= 10.

mikiobraun avatar Apr 29 '21 17:04 mikiobraun

Okay, have a look at the debian-testing branch

There, do

./configure
make
mvn package

which gives you target/jblas-1.2.6-SNAPSHOT.jar that is linked against libgfortran5 and works at least for me.

Look at https://github.com/jblas-project/jblas/blob/debian-testing/docker/dev-debian-testing.Dockerfile to see what needs to be installed.

mikiobraun avatar Apr 30 '21 10:04 mikiobraun

This totally worked like a charm. I'll update the other issue too for anyone else following along. I haven't tested it yet with BEAST, but everything built beautifully.

If I may take a moment to simply express gratitude for the incredible patients and rapid responses you have had on these issues. Truly a model of how open source can work beautifully. Thank you for being an awesome human!

sinabahram avatar Apr 30 '21 19:04 sinabahram

You‘re very welcome and I‘m happy to have been able to help. Unfortunately I don‘t always find the time to respond as quickly, but hopefully more often in the future. :)

I‘ll need to do more testing but eventually will merge this back into main.

Sina Bahram @.***> schrieb am Fr. 30. Apr. 2021 um 21:39:

This totally worked like a charm. I'll update the other issue too for anyone else following along. I haven't tested it yet with BEAST, but everything built beautifully.

If I may take a moment to simply express gratitude for the incredible patients and rapid responses you have had on these issues. Truly a model of how open source can work beautifully. Thank you for being an awesome human!

— You are receiving this because you commented.

Reply to this email directly, view it on GitHub https://github.com/jblas-project/jblas/issues/115#issuecomment-830336625, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAT5FHMVH5VGP5ZCPQXGZLTLMBNZANCNFSM4LCJDCGQ .

-- Dr. Mikio Braun, Beckerstr. 11, 12157 Berlin, +49 1512 333 7837

mikiobraun avatar Apr 30 '21 19:04 mikiobraun