[tlbuild] texlive 2011 build on aix 4.3 - poppler portability fixes

Vladimir Volovich vvv at vsu.ru
Mon Jun 13 19:37:22 CEST 2011


Hi!

on AIX 4.3, I had to apply the following patch to compile poppler:

===============================
--- libs/poppler/poppler-0.12.4/goo/GooString.cc.orig
+++ libs/poppler/poppler-0.12.4/goo/GooString.cc
@@ -41,6 +41,8 @@
 #include "GooString.h"
 
 static const int MAXIMUM_DOUBLE_PREC = 16;
+const int GooString::CALC_STRING_LEN;
+const int GooString::STR_STATIC_SIZE;
 
 //------------------------------------------------------------------------
 
--- libs/poppler/poppler-0.12.4/poppler/Parser.cc.orig
+++ libs/poppler/poppler-0.12.4/poppler/Parser.cc
@@ -36,6 +36,8 @@
 #include "XRef.h"
 #include "Error.h"
 
+const int Lexer::LOOK_VALUE_NOT_CACHED;
+
 Parser::Parser(XRef *xrefA, Lexer *lexerA, GBool allowStreamsA) {
   xref = xrefA;
   lexer = lexerA;
--- libs/poppler/poppler-0.12.4/poppler/Lexer.cc.orig
+++ libs/poppler/poppler-0.12.4/poppler/Lexer.cc
@@ -60,6 +60,7 @@
 };
 
 static const int IntegerSafeLimit = (INT_MAX - 9) / 10;
+const int Lexer::LOOK_VALUE_NOT_CACHED;
 
 //------------------------------------------------------------------------
 // Lexer
--- libs/poppler/poppler-0.12.4/poppler/Annot.cc.orig
+++ libs/poppler/poppler-0.12.4/poppler/Annot.cc
@@ -455,6 +455,7 @@
   verticalCorner = 0;
 }
 
+const int AnnotBorderArray::DASH_LIMIT;
 AnnotBorderArray::AnnotBorderArray(Array *array) {
   Object obj1;
   int arrayLength = array->getLength();
===============================

Without the patch, i was getting a link-time error:

/bin/bash ./libtool --tag=CXX   --mode=link xlC  -O2 -qmaxmem=262144 -qarch=com -qlanglvl=extended -export-dynamic  -o luatex luatex-luatex.o libluatex.a libff.a libluamisc.a libluasocket.a liblua51.a /usr/local/vvv/src/source/Work/libs/zziplib/libzzip.a /usr/local/vvv/src/source/Work/libs/libpng/libpng.a /usr/local/vvv/src/source/Work/libs/zlib/libz.a /usr/local/vvv/src/source/Work/libs/poppler/libpoppler.a /usr/local/vvv/src/source/Work/libs/obsdcompat/libopenbsd-compat.a libmd5.a libmplib.a lib/lib.a /usr/local/vvv/src/source/Work/texk/kpathsea/libkpathsea.la   -lm 
libtool: link: xlC -O2 -qmaxmem=262144 -qarch=com -qlanglvl=extended -o luatex luatex-luatex.o -bexpall  libluatex.a libff.a libluamisc.a libluasocket.a liblua51.a /usr/local/vvv/src/source/Work/libs/zziplib/libzzip.a /usr/local/vvv/src/source/Work/libs/libpng/libpng.a /usr/local/vvv/src/source/Work/libs/zlib/libz.a /usr/local/vvv/src/source/Work/libs/poppler/libpoppler.a /usr/local/vvv/src/source/Work/libs/obsdcompat/libopenbsd-compat.a libmd5.a libmplib.a lib/lib.a /usr/local/vvv/src/source/Work/texk/kpathsea/.libs/libkpathsea.a -lm
ld: 0711-317 ERROR: Undefined symbol: GooString::CALC_STRING_LEN
ld: 0711-317 ERROR: Undefined symbol: GooString::STR_STATIC_SIZE
ld: 0711-317 ERROR: Undefined symbol: Lexer::LOOK_VALUE_NOT_CACHED
ld: 0711-317 ERROR: Undefined symbol: AnnotBorderArray::DASH_LIMIT
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
gmake[5]: *** [luatex] Error 8
gmake[5]: Leaving directory `/usr/local/vvv/src/source/Work/texk/web2c'
gmake[4]: *** [all-recursive] Error 1

The cause and a way to fix is the same as discussed in
http://tug.org/pipermail/tlbuild/2010q2/001541.html

Best wishes,
v.


More information about the tlbuild mailing list