-
Notifications
You must be signed in to change notification settings - Fork 26
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
linbox 1.3.2 cause a great number of failures in sage-5.4rc1 #166
Comments
More or less fixed fflas-ffpack but now linbox is broken for real. It wants lapack but is not linked to it. It uses mpfr but is not linked to it. |
gdb sage -t -long -force_lib -gdb "devel/sage-main/sage/schemes/elliptic_curves/heegner.py" ******************************************************************************** Type r at the (gdb) prompt to run the doctests. Type bt if there is a crash to see a traceback. ******************************************************************************** GNU gdb (Gentoo 7.3.1 p2) 7.3.1 Copyright (C) 2011 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-pc-linux-gnu". For bug reporting instructions, please see: ... Reading symbols from /usr/bin/python...(no debugging symbols found)...done. (gdb) run Starting program: /usr/bin/python /home/fbissey/.sage/tmp/heegner_12218.py warning: Could not load shared library symbols for linux-vdso.so.1. Do you need "set solib-search-path" or "set sysroot"? process 12221 is executing new program: /usr/bin/python2.7 warning: Could not load shared library symbols for linux-vdso.so.1. Do you need "set solib-search-path" or "set sysroot"? [Thread debugging using libthread_db enabled] ERROR (at getWritePointer in /usr/include/linbox/matrix/permutation-matrix.h:175): Precondition not met:P_.size() terminate called after throwing an instance of 'LinBox::PreconditionFailed' Program received signal SIGABRT, Aborted. 0x00007ffff749cb45 in __GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64 64 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory. in ../nptl/sysdeps/unix/sysv/linux/raise.c (gdb) bt #0 0x00007ffff749cb45 in __GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64 #1 0x00007ffff749dfbb in __GI_abort () at abort.c:91 #2 0x00007ffff4a327cd in __gnu_cxx::__verbose_terminate_handler () at /scratch/portage/sys-devel/gcc-4.6.3/work/gcc-4.6.3/libstdc++-v3/libsupc++/vterminate.cc:95 #3 0x00007ffff4a30976 in __cxxabiv1::__terminate (handler=) at /scratch/portage/sys-devel/gcc-4.6.3/work/gcc-4.6.3/libstdc++-v3/libsupc++/eh_terminate.cc:40 #4 0x00007ffff4a309a3 in std::terminate () at /scratch/portage/sys-devel/gcc-4.6.3/work/gcc-4.6.3/libstdc++-v3/libsupc++/eh_terminate.cc:50 #5 0x00007ffff4a30a9e in __cxxabiv1::__cxa_throw (obj=0x2d61440, tinfo=, dest=) at /scratch/portage/sys-devel/gcc-4.6.3/work/gcc-4.6.3/libstdc++-v3/libsupc++/eh_throw.cc:83 #6 0x00007fffd5cbedb6 in getWritePointer (this=) at /usr/include/linbox/matrix/permutation-matrix.h:175 #7 LinBox::LQUPMatrix >::LQUPMatrix (this=0x7fffffff8aa0, A=, P=, Q=) at /usr/include/linbox/matrix/factorized-matrix.inl:810 #8 0x00007fffd5cbf5ad in LinBox::EchelonFormDomain >::columnReducedEchelon > > (this=0x41cda70, E=...) at /usr/include/linbox/algorithms/echelon-form.h:205 #9 0x00007fffd5cbfd3d in LinBox::EchelonFormDomain >::rowReducedEchelon > > (this=0x41cda70, E=..., A=...) at /usr/include/linbox/algorithms/echelon-form.h:107 #10 0x00007fffd5c832e7 in __pyx_f_4sage_6matrix_23matrix_modn_dense_float_linbox_echelonize_efd (__pyx_v_ncols=2, __pyx_v_entries=0x848d140, __pyx_v_modulus=, __pyx_v_nrows=0) at sage/matrix/matrix_modn_dense_float.cpp:4043 #11 __pyx_pf_4sage_6matrix_23matrix_modn_dense_float_26Matrix_modn_dense_template_34_echelonize_linbox (__pyx_v_efd=0x7ffff7d90bf0, __pyx_v_self=0x83e52f8) at sage/matrix/matrix_modn_dense_float.cpp:11210 #12 __pyx_pw_4sage_6matrix_23matrix_modn_dense_float_26Matrix_modn_dense_template_35_echelonize_linbox (__pyx_v_self=0x83e52f8, __pyx_args=, __pyx_kwds=) at sage/matrix/matrix_modn_dense_float.cpp:11115 #13 0x00007ffff7aa885b in PyCFunction_Call (func=0x83cb9e0, arg=0x7ffff7fba050, kw=) at Objects/methodobject.c:85 #14 0x00007ffff7a738a9 in PyObject_Call (func=0x83cb9e0, arg=0x7ffff7fba050, kw=0x848d770) at Objects/abstract.c:2529 #15 0x00007fffd5c755f9 in __pyx_pf_4sage_6matrix_23matrix_modn_dense_float_26Matrix_modn_dense_template_32echelonize ( __pyx_v_kwds=0x848e8d0, __pyx_v_algorithm=0x1d92360, __pyx_v_self=0x83e52f8) at sage/matrix/matrix_modn_dense_float.cpp:10823 #16 __pyx_pw_4sage_6matrix_23matrix_modn_dense_float_26Matrix_modn_dense_template_33echelonize (__pyx_v_self=0x83e52f8, __pyx_args=, __pyx_kwds=) at sage/matrix/matrix_modn_dense_float.cpp:10674 |
OK so I discovered that while we didn't patch configure.ac/makefile.am eautoreconf was run. Because AT_M4DIR was not empty in the ebuild. elibtoolize is still run and there is nothing we can do about it I think. It may be the source of trouble with linbox in conjunction with very bad config macros. It is the only reason I can think we end up with something different from sage. And f course our problem may be elsewhere. |
LB_CHECK_* functions have subtle bracketing problems. |
From the vanilla sage shell: (sage-sh) fbissey@QCD-nzi3:sage-5.4.rc0$ ldd -r local/lib/liblinboxsage.so.0.0.0 linux-vdso.so.1 (0x00007fff457ff000) libntl.so => /home/work/fbissey/sandbox/sage-5.4.rc0/local/lib/libntl.so (0x00007f51995f5000) liblinbox.so.0 => /home/work/fbissey/sandbox/sage-5.4.rc0/local/lib/liblinbox.so.0 (0x00007f51993c5000) libgivaro.so.0 => /home/work/fbissey/sandbox/sage-5.4.rc0/local/lib/libgivaro.so.0 (0x00007f5199168000) libgmpxx.so.1 => /home/work/fbissey/sandbox/sage-5.4.rc0/local/lib/libgmpxx.so.1 (0x00007f5198f62000) libgmp.so.7 => /home/work/fbissey/sandbox/sage-5.4.rc0/local/lib/libgmp.so.7 (0x00007f5198ce7000) libcblas.so => /home/work/fbissey/sandbox/sage-5.4.rc0/local/lib/libcblas.so (0x00007f5198ac7000) libatlas.so => /home/work/fbissey/sandbox/sage-5.4.rc0/local/lib/libatlas.so (0x00007f51982ef000) libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/libstdc++.so.6 (0x00007f5197fa1000) libm.so.6 => /lib64/libm.so.6 (0x00007f5197cae000) libc.so.6 => /lib64/libc.so.6 (0x00007f5197907000) libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/libgcc_s.so.1 (0x00007f51976f0000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f51974d3000) /lib64/ld-linux-x86-64.so.2 (0x00007f5199e21000) undefined symbol: mpfr_mul_2ui (/home/work/fbissey/sandbox/sage-5.4.rc0/local/lib/liblinbox.so.0) undefined symbol: mpfr_set_z (/home/work/fbissey/sandbox/sage-5.4.rc0/local/lib/liblinbox.so.0) undefined symbol: mpfr_clear (/home/work/fbissey/sandbox/sage-5.4.rc0/local/lib/liblinbox.so.0) undefined symbol: mpfr_set_erangeflag (/home/work/fbissey/sandbox/sage-5.4.rc0/local/lib/liblinbox.so.0) undefined symbol: mpfr_mul (/home/work/fbissey/sandbox/sage-5.4.rc0/local/lib/liblinbox.so.0) undefined symbol: mpfr_rint (/home/work/fbissey/sandbox/sage-5.4.rc0/local/lib/liblinbox.so.0) undefined symbol: mpfr_set_d (/home/work/fbissey/sandbox/sage-5.4.rc0/local/lib/liblinbox.so.0) undefined symbol: mpfr_set4 (/home/work/fbissey/sandbox/sage-5.4.rc0/local/lib/liblinbox.so.0) undefined symbol: mpfr_add (/home/work/fbissey/sandbox/sage-5.4.rc0/local/lib/liblinbox.so.0) undefined symbol: mpfr_set_nan (/home/work/fbissey/sandbox/sage-5.4.rc0/local/lib/liblinbox.so.0) undefined symbol: __gmpfr_out_str (/home/work/fbissey/sandbox/sage-5.4.rc0/local/lib/liblinbox.so.0) undefined symbol: mpfr_sub (/home/work/fbissey/sandbox/sage-5.4.rc0/local/lib/liblinbox.so.0) undefined symbol: mpfr_div (/home/work/fbissey/sandbox/sage-5.4.rc0/local/lib/liblinbox.so.0) undefined symbol: mpfr_get_si (/home/work/fbissey/sandbox/sage-5.4.rc0/local/lib/liblinbox.so.0) undefined symbol: mpfr_get_z_2exp (/home/work/fbissey/sandbox/sage-5.4.rc0/local/lib/liblinbox.so.0) undefined symbol: mpfr_set_si (/home/work/fbissey/sandbox/sage-5.4.rc0/local/lib/liblinbox.so.0) undefined symbol: mpfr_init (/home/work/fbissey/sandbox/sage-5.4.rc0/local/lib/liblinbox.so.0) undefined symbol: mpfr_cmp3 (/home/work/fbissey/sandbox/sage-5.4.rc0/local/lib/liblinbox.so.0) undefined symbol: mpfr_set_default_prec (/home/work/fbissey/sandbox/sage-5.4.rc0/local/lib/liblinbox.so.0) undefined symbol: mpfr_set_si (local/lib/liblinboxsage.so.0.0.0) undefined symbol: maxMagnMP (local/lib/liblinboxsage.so.0.0.0) undefined symbol: mpfr_cmp3 (local/lib/liblinboxsage.so.0.0.0) undefined symbol: mpfr_get_z_2exp (local/lib/liblinboxsage.so.0.0.0) undefined symbol: findRNS (local/lib/liblinboxsage.so.0.0.0) undefined symbol: mpfr_mul (local/lib/liblinboxsage.so.0.0.0) undefined symbol: mpfr_set_nan (local/lib/liblinboxsage.so.0.0.0) undefined symbol: RNSbound (local/lib/liblinboxsage.so.0.0.0) undefined symbol: certSolveMP (local/lib/liblinboxsage.so.0.0.0) undefined symbol: mpfr_rint (local/lib/liblinboxsage.so.0.0.0) undefined symbol: mpfr_get_si (local/lib/liblinboxsage.so.0.0.0) undefined symbol: certSolveRedMP (local/lib/liblinboxsage.so.0.0.0) undefined symbol: mpfr_sub (local/lib/liblinboxsage.so.0.0.0) undefined symbol: mpfr_set_z (local/lib/liblinboxsage.so.0.0.0) undefined symbol: mpfr_init (local/lib/liblinboxsage.so.0.0.0) undefined symbol: nonsingSolvLlhsMM (local/lib/liblinboxsage.so.0.0.0) undefined symbol: mpfr_set_d (local/lib/liblinboxsage.so.0.0.0) undefined symbol: mpfr_clear (local/lib/liblinboxsage.so.0.0.0) undefined symbol: mpfr_mul_2ui (local/lib/liblinboxsage.so.0.0.0) undefined symbol: __gmpfr_out_str (local/lib/liblinboxsage.so.0.0.0) undefined symbol: mpfr_add (local/lib/liblinboxsage.so.0.0.0) undefined symbol: mpfr_set_erangeflag (local/lib/liblinboxsage.so.0.0.0) undefined symbol: mpfr_div (local/lib/liblinboxsage.so.0.0.0) undefined symbol: mpfr_set_default_prec (local/lib/liblinboxsage.so.0.0.0) undefined symbol: nonsingSolvRNSMM (local/lib/liblinboxsage.so.0.0.0) undefined symbol: mpfr_set4 (local/lib/liblinboxsage.so.0.0.0) (sage-sh) fbissey@QCD-nzi3:sage-5.4.rc0$ ldd -r local/lib/liblinbox.so.0.0.0 linux-vdso.so.1 (0x00007fffdf1ff000) libgivaro.so.0 => /home/work/fbissey/sandbox/sage-5.4.rc0/local/lib/libgivaro.so.0 (0x00007f0971795000) libgmpxx.so.1 => /home/work/fbissey/sandbox/sage-5.4.rc0/local/lib/libgmpxx.so.1 (0x00007f097158e000) libgmp.so.7 => /home/work/fbissey/sandbox/sage-5.4.rc0/local/lib/libgmp.so.7 (0x00007f0971314000) libcblas.so => /home/work/fbissey/sandbox/sage-5.4.rc0/local/lib/libcblas.so (0x00007f09710f4000) libatlas.so => /home/work/fbissey/sandbox/sage-5.4.rc0/local/lib/libatlas.so (0x00007f097091b000) libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/libstdc++.so.6 (0x00007f09705ce000) libm.so.6 => /lib64/libm.so.6 (0x00007f09702db000) libc.so.6 => /lib64/libc.so.6 (0x00007f096ff33000) libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/libgcc_s.so.1 (0x00007f096fd1d000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f096fb00000) /lib64/ld-linux-x86-64.so.2 (0x00007f0971c22000) undefined symbol: mpfr_mul_2ui (local/lib/liblinbox.so.0.0.0) undefined symbol: mpfr_set_z (local/lib/liblinbox.so.0.0.0) undefined symbol: mpfr_clear (local/lib/liblinbox.so.0.0.0) undefined symbol: mpfr_set_erangeflag (local/lib/liblinbox.so.0.0.0) undefined symbol: mpfr_mul (local/lib/liblinbox.so.0.0.0) undefined symbol: mpfr_rint (local/lib/liblinbox.so.0.0.0) undefined symbol: mpfr_set_d (local/lib/liblinbox.so.0.0.0) undefined symbol: mpfr_set4 (local/lib/liblinbox.so.0.0.0) undefined symbol: mpfr_add (local/lib/liblinbox.so.0.0.0) undefined symbol: mpfr_set_nan (local/lib/liblinbox.so.0.0.0) undefined symbol: __gmpfr_out_str (local/lib/liblinbox.so.0.0.0) undefined symbol: mpfr_sub (local/lib/liblinbox.so.0.0.0) undefined symbol: mpfr_div (local/lib/liblinbox.so.0.0.0) undefined symbol: mpfr_get_si (local/lib/liblinbox.so.0.0.0) undefined symbol: mpfr_get_z_2exp (local/lib/liblinbox.so.0.0.0) undefined symbol: mpfr_set_si (local/lib/liblinbox.so.0.0.0) undefined symbol: mpfr_init (local/lib/liblinbox.so.0.0.0) undefined symbol: mpfr_cmp3 (local/lib/liblinbox.so.0.0.0) undefined symbol: mpfr_set_default_prec (local/lib/liblinbox.so.0.0.0) so that linking problem is upstream as well.... |
Curiously, deleting "append-ldflags -lmpfr" from pkg_setup() and adding "--with-mpfr=no" to myeconfargs in the linbox ebuild cures the undefined symbol issue and sage will start. However the heegner.py test still fails with the same failure. |
On Wed, 17 Oct 2012 12:53:34 Steven Trogdon wrote:
Cheers, |
Anyone who tried 5.4rc1, what blas/cblas are you using? |
On Wed, 17 Oct 2012 14:04:32 -0700
I'm using gslcblas and blas-reference on all platforms. |
tried atlas-3.8.4 and 3.10 same failure. bt full is slightly different each time though. This is very strange. I also took a vanilla and linked the system liblinbox.so.0 in local/lib and ran the same test from vanilla sage. Everything passed. So linbox itself seems to be ok. There may be something in fflas-ffpack but I don't know what - it's just headers and inline files. |
As a shot in the dark I tried:
and the SIGABRTs are no longer present. Is something being covered up by doing this? |
Good shot. Of course vanilla sage is fully compiled with "-DNDEBUG" has it comes from their version of python. We used to add it and then limited its use to singular where it is needed. The good question here is: is it necessary for givaro or linbox? All linbox compilation are associated with givaro so adding it to givaro_extra_compile_args should cover us. My money is on linbox rather than givaro but we never know. |
Package-Manager: portage-2.2.0_alpha138
hum doesn't work for me.... |
This is strange. The most up-to-date commit also results in a failure here. However adding -DNDEBUG to just the two locations mentioned above gives no SIGABRT. I've tried this on three machines. Now the |
correction: it looks like the |
OK, try this sed line
and see if fixes things on your end. This worked here. |
I see I would have had the syntax wrong and it interpreted the thing another way. Thank you very much for your hard work on this Steve. And with this I will close this ticket. The only annoyning thing left to do in 5.4 is getting a newer jmol. But that won't be easy as we need to unbundle a new jar not currently in portage. I hope someone else (Jeffro?) pick that one up. |
Numerous failure killed by signal 6.
sage -t -long -force_lib -verbose "devel/sage-main/sage/schemes/elliptic_curves/heegner.py" gives the following:
The text was updated successfully, but these errors were encountered: