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

full source build (USE_BINARYBUILDER=0) fails on openSUSE #46530

Closed
benlorenz opened this issue Aug 29, 2022 · 7 comments
Closed

full source build (USE_BINARYBUILDER=0) fails on openSUSE #46530

benlorenz opened this issue Aug 29, 2022 · 7 comments
Labels
building Build system, or building Julia or its dependencies

Comments

@benlorenz
Copy link
Contributor

This is on openSUSE Leap 15.3 with the current git master.

After #46061 a full source build without binarybuilder dependencies fails on openSUSE because libgit2.so and libssh2.so are installed into $JULIA_HOME/usr/lib64 instead of $JULIA_HOME/usr/lib, maybe because openSUSE changed the cmake default libdir to lib64.

$ ll usr/lib64/
total 1748
drwxr-xr-x 3 lorenz    4096 Aug 29 10:16 cmake/
lrwxrwxrwx 1 lorenz      14 Aug 29 10:18 libgit2.so -> libgit2.so.1.4*
lrwxrwxrwx 1 lorenz      16 Aug 29 10:18 libgit2.so.1.4 -> libgit2.so.1.4.3*
-rwxr-xr-x 1 lorenz 1503360 Aug 29 10:18 libgit2.so.1.4.3*
lrwxrwxrwx 1 lorenz      12 Aug 29 10:16 libssh2.so -> libssh2.so.1*
lrwxrwxrwx 1 lorenz      16 Aug 29 10:16 libssh2.so.1 -> libssh2.so.1.0.1*
-rwxr-xr-x 1 lorenz  272640 Aug 29 10:16 libssh2.so.1.0.1*
drwxr-xr-x 2 lorenz    4096 Aug 29 10:18 pkgconfig/

With the files like this curl then fails to configure, from deps/scratch/curl-7.84.0/config.log:

configure:33768: checking run-time libs availability
configure:33824: gcc-10  -o conftest -Werror-implicit-function-declaration -O2 -Wno-system-headers  -I<somepath>/usr/include -I<somepath>/usr/include -I<somepath>/usr/include  -Wl,-rpath,'$$ORIGIN' -Wl,-z,origin -Wl,-rpath-link,<somepath>/usr/lib -lpthread -L<somepath>/usr/lib -L<somepath>/usr/lib -L<somepath>/usr/lib conftest.c -lssh2 -lmbedtls -lmbedx509 -lmbedcrypto -lz  >&5
/usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: cannot find -lssh2

Reverting b9b60fc fixes the build, cc @maleadt.

Configuration:

$ cat Make.user 
USE_BINARYBUILDER=0
MARCH=native
override CC=gcc-10
override CXX=g++-10
override FC=gfortran-10
OPENBLAS_CORETYPE=ZEN
@KristofferC KristofferC added this to the 1.9 milestone Aug 29, 2022
@giordano
Copy link
Contributor

Don't have a daily build with USE_BINARYBUILDER=0? Is it https://buildkite.com/julialang/julia-master-scheduled?

@DilumAluthge
Copy link
Member

Yes. If you go to one of the jobs and click on the "Source" group, you can see the builder and the testers.

@benlorenz
Copy link
Contributor Author

This error seems to depend on the linux distribution and will probably not trigger if this is done in a debian (used for JuliaCI?) or alpine (binarybuilder) based rootfs. I think this is the code where the lib64 is set: https://github.com/Kitware/CMake/blob/8f3ba34ea2dae318c328f0fef04add0a2b17b74b/Modules/GNUInstallDirs.cmake#L287-L294

@maleadt
Copy link
Member

maleadt commented Aug 29, 2022

Setting it back to lib is fine for me, but ideally we take a look why that broke Windows source builds, or we're just trading one platform for another.

@ViralBShah ViralBShah added the building Build system, or building Julia or its dependencies label Sep 5, 2022
@ViralBShah
Copy link
Member

ViralBShah commented Sep 5, 2022

Just an FYI, the full source build works on ubuntu, as mentioned above.

@KristofferC KristofferC removed this from the 1.9 milestone Dec 21, 2022
@NickCao
Copy link

NickCao commented Jan 12, 2023

Hit by the same problem here in nixpkgs.

@benlorenz
Copy link
Contributor Author

Fixed with #50264 (master) and #50252 (1.9), thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
building Build system, or building Julia or its dependencies
Projects
None yet
Development

No branches or pull requests

7 participants