Xalan-C++

From CBLFS
Revision as of 23:05, 25 April 2009 by Tdshepard (talk | contribs) (Fixes that may be needed for x86_64 multilib)
Jump to navigationJump to search
Download Source: http://apache.edgescape.com/xml/xalan-c/Xalan-C_1_10_0-src.tar.gz
Download Source: http://www.apache.org/dist/xml/xalan-c/source/Xalan-C_1_10_0-src.tar.gz

Introduction to Xalan-C++

Project Homepage: Unknown

Dependencies

Required

Non-Multilib

Caution.png

Note

On Pure64 system add "-b 64" to the runConfigure line.

Compile the package:

cd c &&
export XALANCROOT=$PWD &&
sed -i "s/(int)m_/(long)m_/" src/xalanc/PlatformSupport/XalanNLSMessageLoader.cpp &&
./runConfigure -p linux -c gcc -x g++ -m nls \
   -l -lpthread -P /usr &&
make

Install the package:

make install

Multilib

32bit

Compile the package:

cd c &&
export XALANCROOT=$PWD &&
sed -i "s/(int)m_/(long)m_/" src/xalanc/PlatformSupport/XalanNLSMessageLoader.cpp &&
./runConfigure -p linux -c gcc -x g++ -b 32 \
   -z "${BUILD32}" -l "${BUILD32}" -m nls \
   -l -lpthread -P /usr &&
make

Install the package:

make install

If the build fails, please try the following:

Compile the package:

cd c &&
export XALANCROOT=$PWD &&
export XERCESCROOT=</path/to/xerces-c-32bit-build-directory> &&
export PKG_CONFIG_PATH=${PKG_CONFIG_PATH32} &&
sed -i "s/(int)m_/(long)m_/" src/xalanc/PlatformSupport/XalanNLSMessageLoader.cpp &&
sed -i 1i"#include <cstring>" src/xalanc/XalanDOM/XalanDOMString.cpp &&
sed -i 1i"#include <cstring>" src/xalanc/XMLSupport/FormatterToHTML.cpp &&
sed -i 1i"#include <cstring>" src/xalanc/XSLT/ElemNumber.cpp &&
sed -i 1i"#include <cstring>" src/xalanc/TestXPath/TestXPath.cpp &&
sed -i 1i"#include <cstring>" src/xalanc/XalanExe/XalanExe.cpp &&
./runConfigure -p linux -c gcc -x g++ -b 32 \
   -z "${BUILD32}" -l "${BUILD32}" -m nls \
   -l -lpthread -P /usr \
   -C --build=${CLFS_TARGET32} &&
make

Install the package:

make install &&
unset PKG_CONFIG_PATH &&
unset XALANCROOT &&
unset XERCESCROOT &&
cd ..

N32

ToDo

64Bit

Compile the package:

cd c &&
export XALANCROOT=$PWD &&
sed -i "s/(int)m_/(long)m_/" src/xalanc/PlatformSupport/XalanNLSMessageLoader.cpp &&
./runConfigure -p linux -c gcc -x g++ -b 64 \
   -z "${BUILD64}" -l "${BUILD64}" -m nls \
   -l -lpthread -P /usr -C --libdir=/usr/lib64 &&
make

Install the package:

make install

If the build fails, please try the following:

Compile the package:

cd c &&
export XALANCROOT=$PWD &&
export XERCESCROOT=</path/to/xerces-c-64bit-build-directory> &&
export PKG_CONFIG_PATH=${PKG_CONFIG_PATH64} &&
sed -i "s/(int)m_/(long)m_/" src/xalanc/PlatformSupport/XalanNLSMessageLoader.cpp &&
sed -i 1i"#include <cstring>" src/xalanc/XalanDOM/XalanDOMString.cpp &&
sed -i 1i"#include <cstring>" src/xalanc/XMLSupport/FormatterToHTML.cpp &&
sed -i 1i"#include <cstring>" src/xalanc/XSLT/ElemNumber.cpp &&
sed -i 1i"#include <cstring>" src/xalanc/TestXPath/TestXPath.cpp &&
sed -i 1i"#include <cstring>" src/xalanc/XalanExe/XalanExe.cpp &&
./runConfigure -p linux -c gcc -x g++ -b 64 \
   -z "${BUILD64}" -l "${BUILD64}" -m nls \
   -l -lpthread -P /usr -C --libdir=/usr/lib64 &&
make

Install the package:

make install &&
unset PKG_CONFIG_PATH &&
unset XALANCROOT &&
unset XERCESCROOT &&
cd ..
Caution.png

Note

To combine this alternative build procedure with the original, #include <cstring> should be inside an #ifndef XALAN_STRICT_ANSI_HEADERS directive. This procedure was found necessary by at least one user on an x86_64 multilib system.