-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
bigint do not work #539
Comments
What happens if you try:
and then run the tests? |
Nothing changes. Here is to output of nm julia/lib/libgmp_wrapper.so: http://paste.ubuntu.com/873567/ |
And what's the output of |
$ ls external/root/lib/gmp |
Ok, how about the output of the following:
Sorry, just kind of spinning my wheels here since i can't reproduce your problem. |
$ readelf -d lib/libgmp_wrapper.so Dynamic section at offset 0x2e40 contains 21 entries: $ ./julia --version I guess it's quite up to date. It's a 64 bit system. I don't think this helps, but here it is: $ md5sum lib/libgmp_wrapper.so |
Thanks, now we're getting somewhere. I don't know why, but the wrapper isn't being linked against libgmp. Perhaps the
|
Also, could you |
That sounds very strange. No, i haven't changed anything in the makefile. GMP_LIB = -L$(EXTROOTLIB)/ -lgmp building it again looks fine for me: http://paste.ubuntu.com/873664/ But the tests still fail. |
Strange indeed. I don't know what to say at this point, except that |
I'll clone it again. But building that will take 2 hours. I'll report tomorrow. |
We should also include a USE_SYSTEM_GMP option, if GMP is available on the system. |
On 32-bit linux (Ubuntu 11.10), tests are failing:
|
Probably because mpz_get_si returns long? |
Why would that lead to the I think we need the julia binary to be compiled with the correct rpath and fix this once and for all (#353). -viral On 08-Mar-2012, at 9:59 AM, Mike Nolta wrote:
|
Sorry, i'm exhausted.
That's what i'm worried about. Do the tests succeed if you take it out? |
I tried this with a fresh gmp build on a 32 bit ubuntu 11.4, and everything seems to load correctly. (One of the asserts failed on 32 bits, which I'll fix, but the load was fine)
So one possible problem is path's etc, which should be easy to check via ldd. eg, I have:
However, gmp has some smarts in how it exposes function names. While clients call functions like So it would make sense to check the exported symbols from any libgmp on the system against what the wrapper is trying to load. |
Started with a fresh clone, build it and now i got: $ ldd external/root/lib/libgmp_wrapper.so linux-vdso.so.1 => (0x00007fff02881000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fc355aca000) /lib64/ld-linux-x86-64.so.2 (0x00007fc356093000) $ uname -a Linux kyon 3.0.0-16-generic #28-Ubuntu SMP Fri Jan 27 17:44:39 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux |
Thanks for double checking. I may try replicating your system -- which version of Ubuntu are you running? And is the gmp package installed?
|
BTW, this is how libsuitesparse_wrapper also looks, but it loads just fine. -viral On 08-Mar-2012, at 10:01 PM, Mike Nolta wrote:
|
Ubuntu 11.10, the downloaded libgmp. |
Removing -rpath does not change anything for me. I am on ubuntu 11.10 as well. -viral On 08-Mar-2012, at 10:53 PM, rtzui wrote:
|
Ok, success (of a sort): i can reproduce this bug on Ubuntu 11.10. |
works for me. |
how to reproduce:
$ git pull
$ make clean;make
$ make test
JULIA test/default
* default
* core
* numbers
* strings
* corelib
* hashing
* arrayops
* sparse
* lapack
* fft
* arpack
* random
* amos
* functional
* bigint
/home/user/julia/lib/libgmp_wrapper.so: undefined symbol: __gmpz_get_si
could not load module libgmp_wrapper
in dlopen at /home/user/julia/jl/base.jl:97
in include at src/boot.jl:192
in load at /home/user/julia/jl/util.jl:174
in include at src/boot.jl:192
in load at /home/user/julia/jl/util.jl:174
in runtests at ./runtests.jl:3
in include at src/boot.jl:192
in load at /home/user/julia/jl/util.jl:174
in load at /home/user/julia/jl/util.jl:186
in runtests at ./runtests.jl:3
in include at src/boot.jl:192
in process_options at /home/user/julia/jl/client.jl:167
in _start at /home/user/julia/jl/client.jl:205
at ../jl/bigint.jl:1
in include at src/boot.jl:192
in load at /home/user/julia/jl/util.jl:174
in include at src/boot.jl:192
in load at /home/user/julia/jl/util.jl:174
in runtests at ./runtests.jl:3
in include at src/boot.jl:192
in load at /home/user/julia/jl/util.jl:174
in load at /home/user/julia/jl/util.jl:186
in runtests at ./runtests.jl:3
in include at src/boot.jl:192
in process_options at /home/user/julia/jl/client.jl:167
in _start at /home/user/julia/jl/client.jl:205
at bigint.jl:2
in include at src/boot.jl:192
in load at /home/user/julia/jl/util.jl:174
in runtests at ./runtests.jl:3
in include at src/boot.jl:192
in load at /home/user/julia/jl/util.jl:174
in load at /home/user/julia/jl/util.jl:186
in runtests at ./runtests.jl:3
in include at src/boot.jl:192
in process_options at /home/user/julia/jl/client.jl:167
in _start at /home/user/julia/jl/client.jl:205
at default.jl:14
in load at /home/user/julia/jl/util.jl:197
in runtests at ./runtests.jl:3
in include at src/boot.jl:192
in process_options at /home/user/julia/jl/client.jl:167
in _start at /home/user/julia/jl/client.jl:205
at ./runtests.jl:48
in include at src/boot.jl:192
in process_options at /home/user/julia/jl/client.jl:167
in _start at /home/user/julia/jl/client.jl:205
make[1]: *** [default] Error 1
make: *** [test] Error 2
$ nm /home/user/julia/lib/libgmp_wrapper.so|grep gmpz
U __gmpz_add
U __gmpz_clear
U __gmpz_cmp
U __gmpz_fdiv_q
U __gmpz_fdiv_r
U __gmpz_get_si
U __gmpz_init
U __gmpz_mul
U __gmpz_pow_ui
U __gmpz_set
U __gmpz_set_si
U __gmpz_set_str
U __gmpz_set_ui
U __gmpz_sqrt
U __gmpz_sub
$ uname -a
Linux tux 3.0.0-16-generic #28-Ubuntu SMP Fri Jan 27 17:44:39 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
The text was updated successfully, but these errors were encountered: