From 94158548581a8d94f3cb7cebb5314fc97b46b0eb Mon Sep 17 00:00:00 2001 From: Jean-Marc Lasgouttes Date: Tue, 22 Oct 2002 14:59:13 +0000 Subject: [PATCH] ugly but working hack to fix link problems git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH-1_2_X@5472 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/support/ChangeLog | 4 ++++ src/support/lyxsum.C | 9 +++++++++ status.12x | 2 ++ 3 files changed, 15 insertions(+) diff --git a/src/support/ChangeLog b/src/support/ChangeLog index 201467b8e7..d5083022d7 100644 --- a/src/support/ChangeLog +++ b/src/support/ChangeLog @@ -1,3 +1,7 @@ +2002-10-22 Jean-Marc Lasgouttes + + * lyxsum.C: an ugly hack to fix some boost link problems + 2002-07-17 Herbert Voss * DestroyLyXTmpDir.C: delete _all_ files when exit diff --git a/src/support/lyxsum.C b/src/support/lyxsum.C index 9884c93d01..9547e41b22 100644 --- a/src/support/lyxsum.C +++ b/src/support/lyxsum.C @@ -18,6 +18,15 @@ using std::endl; +// OK, this is ugly, but it is the only workaround I found to compile +// with gcc (any version) on a system which uses a non-GNU toolchain. +// The problem is that gcc uses a weak symbol for a particular +// instantiation and that the system linker usually does not +// understand those weak symbols (seen on HP-UX, tru64, AIX and +// others). Thus we force an explicit instanciation of this particular +// template (JMarc) +template class boost::detail::crc_table_t<32, 0x04C11DB7, true>; + // Various implementations of lyx::sum(), depending on what methods // are available. Order is faster to slowest. #if defined(HAVE_MMAP) && defined(HAVE_MUNMAP) diff --git a/status.12x b/status.12x index df865c5a3f..c79bf9808b 100644 --- a/status.12x +++ b/status.12x @@ -88,3 +88,5 @@ What's new - fix compilation problem (missing ) on some BSD systems (including Mac OS X) + +- fix link problems with gcc on and non-GNU linkers