GNOME Bugzilla – Bug 557045
sunmath should not be linked
Last modified: 2008-10-25 23:12:51 UTC
This bug is found when I use gnucash. $gnucash gnc.bin-Message: main: binreloc relocation support was disabled at configure time. This is a development version. It may or may not work. Report bugs and other problems to gnucash-devel@gnucash.org. You can also lookup and file bug reports at http://bugzilla.gnome.org The last stable version was GnuCash 2.2.7 The next stable version will be GnuCash 2.4 ld.so.1: gnucash-bin: fatal: libsunmath.so.1: open failed: No such file or directory ld.so.1: gnucash-bin: fatal: relocation error: file /usr/lib/libgoffice-0.8.so.7: symbol isnanl: referenced symbol not found Killed After dig a little, I found libgoffice-0.8.so.7 is linking to a libsunmath, this library is missing on my system. $ldd /usr/lib/libgoffice-0.8.so.7.0.1|grep math libsunmath.so.1 => (file not found) If I re-built libgoffice with my sun cc, this library is there $ldd libgoffice-0.8.so.7.0.1 |grep sunmath libsunmath.so.1 => /ws/onnv-tools-prc/SUNWspro/SS11/bin/../lib/libsunmath.so.1 And gnucash can start without the upper error. Since libsunmath is from my compiler, I think this library should not be linked.
"long-double" support requires sunmath. It's not really a compiler library, but a generic math library. It is packaged with the compiler for marketing reasons. configure with "--without-long-double" to disable the long double support.
(In reply to comment #1) > "long-double" support requires sunmath. It's not really a compiler > library, but a generic math library. It is packaged with the compiler > for marketing reasons. > > configure with "ac_cv_c_long_double to disable the long double support. > "ac_cv_c_long_double" won't work. It still checking long double during configure time. ... checking for atanh... yes checking for long double with more range or precision than double... yes checking for fabsl... yes ... $cat goffice/goffice-config.h|grep LONG_DOUBLE #define GOFFICE_WITH_LONG_DOUBLE 1 #define HAVE_LONG_DOUBLE 1 #define HAVE_LONG_DOUBLE_WIDER 1 I'd say this bug is still there, so re-open it.
Created attachment 120981 [details] [review] patch for bug #557045 This patch can disable long-double checking during ./configure time. I set this value to "no" by default, not sure this is a good way. BTW, http://www.mail-archive.com/autoconf@gnu.org/msg17140.html says AC_C_LONG_DOUBLE is obsoleted, need we use AC_TYPE_LONG_DOUBLE instead? I'm happy to give the patch together.
(In reply to comment #3) > Created an attachment (id=120981) [edit] > patch for bug #557045 > > This patch can disable long-double checking during ./configure time. > > I set this value to "no" by default, not sure this is a good way. Sorry, I mean I set this value to "yes" by default
This problem has been fixed in the development version. The fix will be available in the next major software release. Thank you for your bug report. My mistake -- I thought we already had --without-long-double. (We have that in Gnumeric where most of this code came from.)