After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 557045 - sunmath should not be linked
sunmath should not be linked
Status: RESOLVED FIXED
Product: libgoffice
Classification: Other
Component: General
0.8.x
Other opensolaris
: Normal normal
: ---
Assigned To: Jody Goldberg
Jody Goldberg
Depends on:
Blocks:
 
 
Reported: 2008-10-20 10:16 UTC by Halton Huo
Modified: 2008-10-25 23:12 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
patch for bug #557045 (803 bytes, patch)
2008-10-21 04:06 UTC, Halton Huo
none Details | Review

Description Halton Huo 2008-10-20 10:16:45 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.
Comment 1 Morten Welinder 2008-10-20 14:13:00 UTC
"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.
Comment 2 Halton Huo 2008-10-21 03:14:24 UTC
(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.
Comment 3 Halton Huo 2008-10-21 04:06:35 UTC
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.
Comment 4 Halton Huo 2008-10-21 04:07:23 UTC
(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
Comment 5 Morten Welinder 2008-10-25 23:12:51 UTC
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.)