Community Build Page

From Ingres Community Wiki

Jump to: navigation, search

This page has been created as a single point of contact for all things relating the building the community version of Ingres

Contents

Goal

To make building the Ingres source as straight forward as possible on as many platforms as possible.

Contacts

Current Builds

If you manage to build the Ingres source on an platform not mentioned below, please add your achievement to the table. Similarly if you're having trouble with a particular platform, add that too. There may well be someone else feeling your pain!

OS Version Architecture Source Version Builder Status Notes
Mac OS X10.4 (Tiger)PowerPC9.3.0-111Jay HankinsonBuilt and installed successfullySee here
Mac OS X10.5 (Leopard)x869.3.0-111Jay HankinsonBuilt and installed successfullySee here
Fedora Linux Core 8 x86_649.3.0.-111Jay HankinsonBuilt and installed sucessfullySVN revision 22
Linux 64bitRHEL 5 (Tikanga)x86_649.3.0-111Martin BowesBuilt and installed successfullySee Gotchas but issues resolved in rev 22
Ubuntu Linux7.10 (Gutsy Gibbon)x869.3.0-111Paul MasonBuilt and installed successfullySVN revision 11
Ubuntu Linux8.04 (Hardy Heron)x86_649.3.0-111Paul MasonBuilt and installed successfullySee here
Windows XP SP3 x869.3.0-102Chen zhenBuilt and installed successfullySVN revision 34
Fedora Linux 9 (Sulphur) x86 i386 9.3.0-100Chen zhenBuilt and installed successfullySVN revision 34
Solaris 9 SPARC 9.1.0-123Simon LovellBuilt successfullymust use -xarch=v8plus with SunStudio/11

Useful Links

Building Ingres FAQ

Latest source archive

Problems, Gotchas, Solutions and Workarounds

Installing Jam

The jam source can be found at: ftp://ftp.perforce.com/pub/jam/jam-2.5.tar To install, simply copy the tar file to your home directory, extract the files from the tar and execute the 'make' command. This will create ~/jam-2.5/bin.linux/jam.

You then need root privilege to install the new jam command. Eg. (as root) copy ~/jam-2.5/bin.linux/jam to /usr/bin/jam

Building Pax

x86_64

The Pax build may fail stating 'LINUX is not supported.' To correct this simply edit the Jamfile and replace the LINUXX86 with LINUX.

32bit and 64bit libraries for Xercesc

To build both the 32-bit and 64-bit libraries for Xerces-C you need to do the following:

  • obtain and unpack the source for Xerces-C 2.7 (here)
  • set XERCESCROOT to the directory you unpacked the source to e.g.
export XERCESCROOT=/home/ingres/xerces-c-src_2_7_0
  • configure and build the 32-bit libraries first
cd $XERCESCROOT/src/xercesc
./runConfigure -plinux -cgcc -xg++ -minmem -nsocket -tnative -rpthread -b32 -l"-m32" -z"-m32"
make
  • copy the libraries to an lp32 directory
mkdir $XERCESCROOT/lib/lp32
cp -p $XERCESCROOT/lib/lib* $XERCESCROOT/lib/lp32
  • clean the build environment. If you skip this step it will simply re-link the 32-bit objects.
make clean
  • configure and build the 64-bit version
./runConfigure -plinux -cgcc -xg++ -minmem -nsocket -tnative -rpthread -b64
make

The other, perhaps simpler, way to create the 32bit library is to make the $XERCESCROOT/lib/lp32 subdirectory and then to install into it a compiled library set. The compiled library set can be found here The archive for 32-bit binaries is not labelled as 32-bit it is labelled for Red Hat (and the 64-bit one is labelled for Suse).

Simply download the tar file, unpack it and copy its lib area into $XERCESCROOT/lib/lp32.

At time of writing the above links are correct for Xerces-C version 2.7, which is the current version needed to build Ingres. If you need a different version, please check http://xml.apache.org/xercesc.

Missing asm/bitops.h

x86_64

If /usr/include/asm/bitops.h and its dependant include files are not present then you can copy them from an older Linux release and install them. You will need root privilege for this. The dependant files are: asm/asm-x86_64/bitops.h, asm-i386/bitops.h, linux/config.h

http://bugs.ingres.com/ticket/109#

Fixed in revision 22

gcc_s

If you receive errors like ld: cannot find -lgcc_s

Then download the patch: gcc_s.patch

Apply patch as follows:

  • cd $ING_SRC/tools/port/shell_unix
  • chmod 644 shlibinfo.sh
  • cat <path to file>/gcc_s.patch | patch

The patch command should respond with: Hunk #1 succeeded at 617 (offset -9 lines).

Personal tools
Developing With