HaXml and ghc-6.0 (was Re: can't manage to compile ghc6)

Malcolm Wallace Malcolm.Wallace@cs.york.ac.uk
Fri, 30 May 2003 16:34:38 +0100


Jan Scheffczyk <jan.scheffczyk@gmx.net> writes:

> I installed HaXml 1.08 newly under ghc 6 and get the following error when 
> using ghci -package HaXml:
> 
> GHCi runtime linker: fatal error: I found a duplicate definition for symbol
>    TextziPrettyPrintziHughesPJ_zdzpzd_entry
> whilst processing object file
>    /usr/local/lib/ghc-6.0/HSHaXml.o
> This could be caused by:
>    * Loading two different object files which export the same symbol
>    * Specifying the same object file twice on the GHCi command line
>    * An incorrect `package.conf' entry, causing some object to be
>      loaded twice.

The cause is a simple configuration problem.  HaXml checks for ghc
version >= 504 and deletes the extra copy of Text.PrettyPrint.HughesPJ.
Unfortunately, with the change in version numbering format, 60 <
504, so the test fails.  You need to apply the following patch to
the HaXml configure script.

Regards,
    Malcolm


Index: configure
===================================================================
RCS file: /home/cvs/root/HaXml/configure,v
retrieving revision 1.6
diff -u -r1.6 configure
--- configure	15 Apr 2003 20:16:44 -0000	1.6
+++ configure	30 May 2003 15:29:57 -0000
@@ -72,6 +72,9 @@
   GHCKNOWN=`which ghc`
   GHCVERSION=`${GHCKNOWN} --version 2>&1 | sed 's/^.*version[
]*\([0-9.]*\).*/\1/'`
   GHCNUM=`echo $GHCVERSION | tr "v." " " | ( read x y z; echo $x$y; )`
+  if [ "$GHCNUM" -lt "100" ]
+  then GHCNUM=${GHCNUM}0
+  fi
 fi
 if [ "$GHCKNOWN" = "" ]
 then echo "(not found)"
@@ -98,6 +101,9 @@
       GHC2KNOWN=`which $BUILDWITH`
       GHC2VERSION=`${GHC2KNOWN} --version 2>&1 | sed 's/^.*version[
]*\([0-9.]*\).*/\1/'`
       GHC2NUM=`echo $GHC2VERSION | tr "." " " | ( read x y z; echo $x$y; )`
+      if [ "$GHC2NUM" -lt "100" ]
+      then GHC2NUM=${GHC2NUM}0
+      fi
     fi
     if [ "$GHC2KNOWN" = "" ]
     then  echo "(not found)"