pspp-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

mac bug fixed


From: Ben Pfaff
Subject: mac bug fixed
Date: Fri, 25 Jun 2010 21:35:17 -0700
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux)

I pushed the following fix to master:

--8<--------------------------cut here-------------------------->8--

>From 4afd608d61b469b07f6c149e87ba25fabef9909e Mon Sep 17 00:00:00 2001
From: Ben Pfaff <address@hidden>
Date: Fri, 25 Jun 2010 21:33:18 -0700
Subject: [PATCH] Avoid redundant linking against libtool convenience libraries.

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 <address@hidden>, 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]