[Info-Ingres] The building Ingres FAQ
Andy Grimm
andy.grimm at ingres.com
Wed Aug 29 10:15:24 CDT 2007
Martin, can we please take a step back here? Here's the info I'd like
to see at this point:
What Linux distribution and version are you using? I've not once seen
that mentioned on the thread. Engineering apparently compiles only on
SuSE, and I have found yesterday that there's no expectation that a
64-bit build on RH / Fedora would work, because they treat the multilib
(32-bi and 64-bit coexisting) completely differently. So, if you're on
a non-SuSE distro, you really are in uncharted waters (which I am trying
to help chart right now).
Next, do you have all of the following installed (and yes, I realize
many of these are obvious, but I'm trying to make a comprehensive list
since we don't have one):
krb5-libs
krb5-devel
jam
pkg-config
gtk2
gtk2-devel
pango-devel
cairo-devel
atk-devel
xorg-x11-devel
flex
xerces-c (32-bit _AND_ 64-bit)
xerces-c-devel
gcc
libgcc (32-bit and 64-bit)
libstdc++ (32-bit and 64-bit)
Next, there are patches that I have applied to push my build along.
First, the sort fix:
#### BEGIN ####
--- ingres-9.1.0/src/tools/port/shell_unix/mkfecat.sh 2006-11-17 15:47:15.000000000 -0800
+++ ingres-9.1.0/src/tools/port/shell_unix/mkfecat.sh 2006-11-27 17:07:19.000000000 -0800
@@ -111,12 +111,12 @@
done \
) | \
sed -e "s:^$ING_SRC/::" -e "s:[^/]*.msg: &:" | \
- sort -u -t' ' +1 | sed "s: ::"`
+ sort -u -t' ' -k2 | sed "s: ::"`
else
MSGFILES=`find $ING_SRC/front $gwdirs $follow -name '*.msg' -print | \
grep "/$V" | \
sed -e "s:^$ING_SRC/::" -e "s:[^/]*.msg: &:" | \
- sort -u -t' ' +1 | sed "s: ::"`
+ sort -u -t' ' -k2 | sed "s: ::"`
fi
#### END ####
Next, patches so I can use xerces 2.7:
#### BEGIN ####
--- ingres-9.1.0/src/tools/port/jam/bldenv 2006-02-06 16:55:08.000000000 -0800
+++ ingres-9.1.0/src/tools/port/jam/bldenv 2006-11-15 00:09:55.000000000 -0800
@@ -73,7 +73,7 @@
EOF
-xvers=25 # Xerces version
+xvers=27 # Xerces version
config_string=unknown
unames=`uname -s`
unamer=`uname -r`
--- ingres-9.1.0/src/tools/port/jam/Jamdefs 2006-02-06 16:55:08.000000000 -0800
+++ ingres-9.1.0/src/tools/port/jam/Jamdefs 2006-11-15 00:26:55.000000000 -0800
@@ -1830,7 +1830,7 @@
#
if ! $(NT)
{
- XERCVERS = 25 ;
+ XERCVERS = 27 ;
SHXERCESLIB = libxerces-c.$(SLSFX) ;
SHXERCESLIB_LINKFLAG = -lxerces-c ;
SHXERCESLIBHB = $(SUFHB)/libxerces-c.$(SLSFX) ;
#### END ####
Next, a patch to make sure "packman" the graphical installer, isn't
getting packaged (because there are missing icon files and it won't
work):
#### BEGIN ####
--- ingres-9.2.0/src/front/st/specials_unix_vms/release.ccpp
2007-03-08 11:00:24.000000000 -0800
+++ ingres-9.2.0.new/src/front/st/specials_unix_vms/release.ccpp
2007-05-10 12:22:23.000000000 -0700
@@ -670,10 +670,10 @@
PART raat
DEFINITION raat.prt
-# ifdef LNX
+/* # ifdef LNX
PART packman
DEFINITION packman.prt
-# endif
+# endif */
# ifdef conf_ADD_ON64
PACKAGE basic64
#### END ####
And now we get to the 64-bit stuff, which I'm still working on. The
first patch here is a Red Hat specific thing (I'm testing RHEL 4):
#### BEGIN ####
--- ingres-9.1.0.123/src/tools/port/jam/Jamdefs.a64_lnx 2007-08-28 16:17:16.000000000 -0700
+++ ingres-9.1.0.123.new/src/tools/port/jam/Jamdefs.a64_lnx 2007-08-28 16:17:35.000000000 -0700
@@ -58,7 +58,7 @@
LDLIBPATH32 = /lib /usr/lib /usr/local/lib ;
LDLIBPATH = /lib64 /usr/lib64 /usr/local/lib64 ;
LIBMACH = ;
-LDLIBMACH32 = -lpthread -lm -lc -lcrypt -ldl -lgcc_s ;
+LDLIBMACH32 = -lpthread -lm -lc -lcrypt -ldl -lgcc_s_32 ;
LDLIBMACH = -lpthread -lm -lc -lcrypt -ldl -lgcc_s ;
LD_ICE_FLAGS = ;
ICE_EXT = so ;
#### END ####
Now, all that said, my build doesn't quite work yet, as there's still a
error with the MKSHLIB macro, similar to LDLIBMACH32 above. I just need
to find the other instances where "-lgcc_s" needs to be "-lgcc_s_32" and
fix a library search path or two, and I think it's going to work.
So, have you made all of these changes, and have you made any code
changes in addition to these? It would be useful for us to be building
with the same snapshot of code. Also, let me know precisely what build
environment you are using (PAXLOC and all that). My setup script looks
like this:
if [ `uname -i` == "x86_64" ]; then
export XERCESLOC=/usr/lib64
else
export XERCESLOC=/usr/lib
fi
export XERCESCROOT=/usr/include/xercesc
export KRB5HDR=/usr/include/gssapi
export PAXLOC=/usr/bin
export ING_ROOT=`pwd`
source src/tools/port/jam/bldenv
cd $ING_SRC/tools/port/jam
jam -q -d 2
mkjams
cd $ING_SRC
jam -q -d 2
Hopefully all this will get us closer to the same place...
--Andy
On Wed, 2007-08-29 at 07:46 -0400, Martin Bowes wrote:
> Hi Karl et al,
>
> I couldn't find the Jamfile you mentioned. In the end I simply
> commented
> the check for package dependencies out of the bldenv. Desperate?
>
> And now we start running into OS things like 'sort' and 'tail'.
> Chmod1
> /user/ingres/Opensource/ingres2006-9.1.0-123-gpl-src/tools/bin/mkfecat
> _MKFECAT
> /user/ingres/Opensource/ingres2006-9.1.0-123-gpl-src/src/common/hdr/hdr/
> fe.cat.msg
> Finding front-end msg files...
> sort: open failed: +1: No such file or directory
> Building fe.cat.msg...
> mkfecat: done: Wed Aug 29 10:59:00 BST 2007
> chmod: cannot access
> `/user/ingres/Opensource/ingres2006-9.1.0-123-gpl-src/src/common/hdr/hdr
> /fe.cat.msg': No such file or directory
>
> mkfecat
> chmod 644
> /user/ingres/Opensource/ingres2006-9.1.0-123-gpl-src/src/common/hdr/hdr/
> fe.cat.msg
>
> The $ING_ROOT/tools/bin/mkfecat is a shell script that uses the old
> fashioned and now in error way of using the sort command ie sort +1
> when
> it should use sort -k 1....
>
> There are usages of tail +2 which need to be modified to tail -n+2...
>
> So I made the changes to mkfecat and anywhere else I could find it....
>
> Had another go...
> Reading File
> '/user/ingres/Opensource/ingres2006-9.1.0-123-gpl-src/src/common/hdr/hdr
> /fe.cat.msg' ...
> Sorting for fast message file ...
> Creating fast message file ...
> Error - Message number out of sequence at line 5531.
> Of file 'txt.f'.
> ERget: Can not allocate.
>
> Now the only place I can find the string 'Creating fast message file'
> is
> in the C programs...
> ./cl/clf/erold_unix/ercomp_v3.c, ercomp_v2.c and ercomp_v1.c
> There seem t be equivalent files in a VMS related area as well.
> I've just checked these files and I think I'll draw the line at
> editing
> the build_fast_index() subroutine.
>
> I'm crazy but I'm not that crazy.
>
> Has anyone built this bastard on 64 bit?
>
> I suppose I should try doing this on 32 bit linux first but from where
> I
> sit it looks like a build on 64 bit can't be done....
>
> Marty
>
>
>
> -----Original Message-----
> From: Karl & Betty Schendel [mailto:schendel at kbcomputer.com]
> Sent: 28 August 2007 17:29
> To: Martin Bowes
> Subject: RE: [Info-Ingres] The building Ingres FAQ
>
> >Hi Karl,
> >
> >I downloaded the /123 edition of the source and went to build it...
> >source src/tools/port/jam/bldenv
> >Package gtk+-2.0 was not found in the pkg-config search path.
>
> Edit $ING_SRC/front/st/Jamfile and delete anything that
> looks like gtkinstall or package manager or package
> install or packman etc. I'm at the airport at the moment
> or I would be more specific.
>
> The gtk+ poop is for the new installer, which is all
> well and good except I can't be bothered to figure
> out the dependencies.
>
> I think J (jeremy hankinson) is in the UK these days,
> feel free to hunt him down ... :)
>
> Karl
>
> _______________________________________________
> Info-Ingres mailing list
> Info-Ingres at kettleriverconsulting.com
> http://www.kettleriverconsulting.com/mailman/listinfo/info-ingres
>
>
More information about the Info-Ingres
mailing list