[Top][All Lists]
[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