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

OpenBLAS build error (missing libquadmath.so.0) on x64 Linux #779

Closed
klmr opened this issue Apr 30, 2012 · 13 comments
Closed

OpenBLAS build error (missing libquadmath.so.0) on x64 Linux #779

klmr opened this issue Apr 30, 2012 · 13 comments

Comments

@klmr
Copy link

klmr commented Apr 30, 2012

When trying to make on a Linux machine I get build errors.

The first error occurs right after make on a cleanly cloned directory. The error message reads, in its entirety:

Usage: git submodule [--quiet] [--cached] [add <repo> [-b branch] <path>]|[status|init|update [-i|--init]|summary [-n|--summary-limit <n>] [<commit>]] [--] [<path>...]|[foreach <command>]|[sync [--] [<path>...]]
make[2]: *** [libuv/Makefile] Error 1
make[1]: *** [julia-release] Error 2
make: *** [release] Error 2

(git version 1.6.1.3 – it seems to work on a newer git version but I cannot control this on the computer in question. The above information is just to provide maximum context for the subsequent error)

This can be worked around by going manually into the deps directory and doing a git clone git://github.com/JuliaLang/libuv.git.

However, repeating make after that gives the following error (after some time and rather a lot of warnings):

./sblat1: error while loading shared libraries: libquadmath.so.0: cannot open shared object file: No such file or directory
make[4]: *** [level1] Error 127
make[4]: *** Waiting for unfinished jobs....
make[3]: *** [tests] Error 2
make[2]: *** [openblas-v0.1.1/libopenblas.so] Error 2

I think this error is unrelated to the git submodule fiasco above but I could of course be mistaken.

uname -a yields

Linux xxxxxxx 2.6.32-220.13.1.el6.x86_64 #1 SMP Thu Mar 29 11:46:40 EDT 2012 x86_64 x86_64 x86_64 GNU/Linux

@StefanKarpinski
Copy link
Sponsor Member

@loladiro: can you look into the submodule business here?
@ViralBShah: do you have any idea about the libquadmath.so error?

@Keno
Copy link
Member

Keno commented Apr 30, 2012

Hmm, very odd. The build works just fine for me on Ubuntu 11.10 64bit. I'll have a look at it though. The libquadmath stuff smells like a broken fortran installation.

@pao
Copy link
Member

pao commented Apr 30, 2012

Pretty sure the git thing is unrelated. Made issue title more specific.

I rebuilt this morning (not off a fresh clone, but I did git clean -fdx first) and didn't run into this one. Not sure if this is an upstream issue or not.

@klmr
Copy link
Author

klmr commented Apr 30, 2012

Broken Fortran installation is a fair guess. Is there an easy way to check this? (I have no idea whatsoever about Fortran). FWIW I built GCC with Fortran support just today using the “even simpler recipe” without fancy configuration.

gfortran -v yields:

Using built-in specs.
COLLECT_GCC=gfortran
COLLECT_LTO_WRAPPER=/xxxxx/opt/gcc-4.7/bin/../libexec/gcc/x86_64-unknown-linux-gnu/4.7.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-4.7.0/configure --prefix=/xxxxx/opt/gcc-4.7 --program-suffix=-4.7 --enable-stage1-checking --enable-languages=c,c++,go,fortran --disable-multilib
Thread model: posix
gcc version 4.7.0 (GCC) 

Here’s the truncated build error that appears just before the error message I posted above (sorry, should have posted that before):

sblat1.f:215.44:

               CALL STEST1(SNRM2(N,SX,INCX),STEMP,STEMP,SFAC)           
                                            1
Warning: Rank mismatch in argument 'strue1' at (1) (scalar and rank-1)
sblat1.f:219.44:

               CALL STEST1(SASUM(N,SX,INCX),STEMP,STEMP,SFAC)           
                                            1
Warning: Rank mismatch in argument 'strue1' at (1) (scalar and rank-1)
dblat1.f:215.44:

               CALL STEST1(DNRM2(N,SX,INCX),STEMP,STEMP,SFAC)           
                                            1
Warning: Rank mismatch in argument 'strue1' at (1) (scalar and rank-1)
dblat1.f:219.44:

               CALL STEST1(DASUM(N,SX,INCX),STEMP,STEMP,SFAC)           
                                            1
Warning: Rank mismatch in argument 'strue1' at (1) (scalar and rank-1)

@Keno
Copy link
Member

Keno commented Apr 30, 2012

I think it may be that git 1.6 does not have the --recursive to git submodule. We are not using that feature anyway at the moment, but we (or upstream) very well may in the future. For now can you try removing that?

Edit: It's in external/Makefile

@klmr
Copy link
Author

klmr commented Apr 30, 2012

@loladiro I think you mean ./deps/Makefile? After changing it, the error is as follows:

Submodule 'deps/libuv' (https://github.com/JuliaLang/libuv.git) registered for path 'deps/libuv'
Initialized empty Git repository in /xxxxxx/julia/deps/libuv/.git/
fatal: https://github.com/JuliaLang/libuv.git/info/refs download error - SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
Clone of 'https://github.com/JuliaLang/libuv.git' into submodule path 'deps/libuv' failed
make[2]: *** [libuv/Makefile] Error 1
make[1]: *** [julia-release] Error 2
make: *** [release] Error 2

Trying to git clone manually from this URL yields the same error. Changing to the read-only URL (replacing https with git) works.

@Keno
Copy link
Member

Keno commented Apr 30, 2012

@konrad-rudolph Can you check that you have the libquadmath library you system? For reference, here's the machine I'm building on:

corn16:~/julia> locate libquadmath
/usr/lib/gcc/x86_64-linux-gnu/4.6/32/libquadmath.a
/usr/lib/gcc/x86_64-linux-gnu/4.6/32/libquadmath.so
/usr/lib/gcc/x86_64-linux-gnu/4.6/libquadmath.a
/usr/lib/gcc/x86_64-linux-gnu/4.6/libquadmath.so
/usr/lib/x86_64-linux-gnu/libquadmath.so.0
/usr/lib/x86_64-linux-gnu/libquadmath.so.0.0.0
/usr/lib32/libquadmath.so.0
/usr/lib32/libquadmath.so.0.0.0
/usr/share/doc/libquadmath0
/var/lib/dpkg/info/libquadmath0:amd64.list
/var/lib/dpkg/info/libquadmath0:amd64.md5sums
/var/lib/dpkg/info/libquadmath0:amd64.postinst
/var/lib/dpkg/info/libquadmath0:amd64.postrm
/var/lib/dpkg/info/libquadmath0:amd64.shlibs
/var/lib/dpkg/info/libquadmath0:amd64.symbols

@klmr
Copy link
Author

klmr commented Apr 30, 2012

@loladiro I haven’t got these libraries anywhere. I’m assuming that they should come with GCC?

@pao
Copy link
Member

pao commented Apr 30, 2012

Back on the submodule problem real quick. I know you mentioned you don't control the computer in question, but you have enough permission to build & run Julia--you could compile a newer git from source and run it from your home directory, couldn't you?

@klmr klmr closed this as completed Apr 30, 2012
@klmr
Copy link
Author

klmr commented Apr 30, 2012

Uhm … badly configured library path …

@klmr
Copy link
Author

klmr commented Apr 30, 2012

@pao Yes. I want to keep doubly installed binaries to a minimum, however. The admins maintain git, we use it. They don’t maintain Julia – I install my own. Apart from that, installing a new git would probably solve the problem. As I said, I provided this error message merely for context on the off chance that I had incorrectly downloaded libuv and this screwed with the subsequent process.

Anyway, this has been embarrassing. Thanks for the prompt reactions anyway.

@pao
Copy link
Member

pao commented Apr 30, 2012

No biggie. Everything is in a bit of flux right now with the build, so there's a lot of hands on deck dealing with build issues at the moment.

@StefanKarpinski
Copy link
Sponsor Member

I think it may be that git 1.6 does not have the --recursive to git submodule. We are not using that feature anyway at the moment, but we (or upstream) very well may in the future. For now can you try removing that?

Let's get rid of --recursive until we actually need it since it apparently trips up people with older gits. By the time we need it they are much more likely to be using a newer git and not have problems.

StefanKarpinski added a commit that referenced this issue Apr 30, 2012
This option doesn't exist for older gits and we don't actually
need it yet. Once we do, we can add the option back and hope that
people have upgraded to newer git versions.

Addresses #779.
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