If you're well-versed in linking, feel free to check out the rest of the email and maybe look at the source code from the pspp-devel port.
We just fixed a fairly major upstream bug when building PSPP on Mac OS X, but I'm curious if there isn't a pair of knowledgeable eyes that could point out why it happened: the Mac appears to be acting exceptional in this case. I feel it's likely a case of doing it wrong but my insight on linking is limited. Thanks for your input! Begin forwarded message: > Both libpspp.la and libpspp-core.la linked directly against libgl.la, and the > UI linked against both libpspp.la and libpspp-core.la. This works fine on > ELF systems, but with Mach-O on Mac OS X it silently causes duplicate symbols > at runtime. In particular there are two different copies of rpl_optarg from > libgl.la. Different code sees different copies of these, which causes a > segfault at runtime whenever anyone invokes pspp with an option that takes an > argument. > > Reported by Jeremy Lavergne <[email protected]>, with debugging > assistance by Jeremy and by John Darrington. > --- > src/automake.mk | 4 +--- > tests/automake.mk | 4 ++-- > 2 files changed, 3 insertions(+), 5 deletions(-) > > diff --git a/src/automake.mk b/src/automake.mk > index cfd3a9f..5226649 100644 > --- a/src/automake.mk > +++ b/src/automake.mk > @@ -31,9 +31,7 @@ src_libpspp_la_LIBADD = \ > src/language/liblanguage.la \ > src/math/libpspp-math.la \ > src/output/liboutput.la \ > - $(GSL_LIBS) \ > - gl/libgl.la > - > + $(GSL_LIBS) > > include $(top_srcdir)/src/math/automake.mk > include $(top_srcdir)/src/output/automake.mk > diff --git a/tests/automake.mk b/tests/automake.mk > index 699ce5d..f23a0e7 100644 > --- a/tests/automake.mk > +++ b/tests/automake.mk > @@ -183,7 +183,7 @@ check_PROGRAMS += \ > > tests_data_datasheet_test_SOURCES = \ > tests/data/datasheet-test.c > -tests_data_datasheet_test_LDADD = gl/libgl.la src/libpspp-core.la $(LIBINTL) > +tests_data_datasheet_test_LDADD = src/libpspp-core.la $(LIBINTL) > tests_data_datasheet_test_CFLAGS = $(AM_CFLAGS) > > tests_libpspp_ll_test_SOURCES = \ > @@ -263,7 +263,7 @@ tests_libpspp_range_set_test_CPPFLAGS = $(AM_CPPFLAGS) > -DASSERT_LEVEL=10 > > tests_libpspp_str_test_SOURCES = \ > tests/libpspp/str-test.c > -tests_libpspp_str_test_LDADD = src/libpspp/libpspp.la gl/libgl.la $(LIBINTL) > +tests_libpspp_str_test_LDADD = gl/libgl.la src/libpspp/libpspp.la $(LIBINTL) > > tests_libpspp_string_map_test_SOURCES = \ > src/libpspp/hash-functions.c \ > -- > 1.7.1 > > > -- > "Sanity is not statistical." > --George Orwell > > _______________________________________________ > pspp-dev mailing list > [email protected] > http://lists.gnu.org/mailman/listinfo/pspp-dev
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ macports-dev mailing list [email protected] http://lists.macosforge.org/mailman/listinfo.cgi/macports-dev
