I got one main problem
..failed Link
/home/ingres/ingres2006-9.0.4-103-gpl-src/build/utility/unimapcompile
..
This led to have
..failed updating 4 target(s)...
..skipped 52 target(s)...
..updated 9506 target(s)...
Can Anyone tell me how to get over this ..... I think Ubuntu is very
important distro that we should supply a pre-built packages of ingres.
We even could supply an apt repository....
_______________________________________________
Info-ingres mailing list
Info-...@cariboulake.com
http://mailman.cariboulake.com/mailman/listinfo.py/info-ingres
At least you should provide a step-by-step document for getting Ingres
working on Ubuntu.
Maybe we can have something open source enterprise with
Ubuntu/Zope+Plone/Ingres or Ubuntu/JBoss/Ingres... It will be a good
marketing Logo... to have Enterprise/Distributed/Transactional System
with open source.
Build an apt repository, a real community site... and some better
documentation and people will like it for sure..
linnuxxy wrote:
> I tried to build ingres2006 on Ubuntu Server 6.06.... I could get it
> almost working....
>
> I got one main problem
>
> ...failed Link
> /home/ingres/ingres2006-9.0.4-103-gpl-src/build/utility/unimapcompile
> ...
>
> This led to have
>
> ...failed updating 4 target(s)...
> ...skipped 52 target(s)...
> ...updated 9506 target(s)...
This is likely because "cc" is being used to build unimapcompile, and
this probably points to cc, which is by default gcc 4.0 on Ubuntu
Dapper Drake, and it doesn't like the writable-strings directive. I'm
guessing you are compiling with gcc 3.4 or would not have gotten this
far.
To debug this you could "jam -d9" for example, and find that C++ is
being expanded to cc. So in Jamdefs.int_lnx add this line and you
should be able to complete the build:
C++ = "g++-3.4"
Another way around this would be to write the failing jam build
commands to a file, for example
jam -o buildit
them edit buildit to change ^cc to ^gcc-3.4
and then
sh buildit
This kind of thing can be handy for working around jam issues and also
for special debug building where you want non-standard compile options,
or where the ingres OPTIM directives are not creating the compile you
want e.g. for a gdb debuggable build.
In Ingres development we try to keep the product portable across Linux
distros. I've compiled on Slackware, Debian, SuSE, RedHat, etc. I think
others have tried Gentoo. As far as I know no one has tried Puppy
Linux, yet. ;)
The problem is usually not the distro itself but the rapid change and
development of the tool stack. The gcc 4.0 compiler broke many
compiles, not just Ingres.
The Ingres 2006 code compiles clean with tool stacks like the ones in
distros similar in age to SuSE 9.3. And the latest Ingres build tree,
still in internal development, works fine with the very latest tools.
The posted source tarball for Ingres 2006 is just a bit behind the
times. When it is refreshed these gcc compile problems with go away.
Here is a quick reference for compiling
ingres2006-9.0.4-103-gpl-src.tgz on Ubuntu 6.06. Similar things would
need to be done for other recent releases from Novell/SUSE, RedHat/FC,
etc. where the default compiler has problems with the Xerces and Ingres
source in the tar ball.
- intall gcc-3.4 (or similar) and related packages suggested by the
package manager
- untar to a location of your choice, for example /home/ingres/gpl;
this is "ING_ROOT" and will contain the Kerberos headers (Kerberos5),
pax, Xerces (xerces-c-src_2_5_0), and the Ingres source (src)
- Kerberos5 - nothing to do, just headers
- pax - sh build.sh (builds file with gcc 4.0 or you can change to use
gcc 3.4, as you wish)
- xerces-c-src_2_5_0 - needs a source change because of the same sorts
of gcc issues that give Ingres problems:
xerces-c-src_2_5_0/src/xercesc/util$ diff RefArrayOf.hpp.ORIG
RefArrayOf.hpp
103a104
> #include <xercesc/framework/MemoryManager.hpp>
then build with gcc-3.4 and g++-3.4 as directed in the Readme.html, for
example:
cd xerces-c-src_2_5_0
export XERCESCROOT=`pwd`
cd $XERCESCROOT/src/xercesc
autoconf
runConfigure -plinux -cgcc-3.4 -xg++-3.4 -minmem -nsocket -tnative
-rpthread
make
- src - the Ingres source tree needs changes (because of compiler
issues) to the jam build definitions:
src/tools/port/jam$ diff Jamdefs.int_lnx.ORIG Jamdefs.int_lnx
47,48c47,48
< CC default = "cc" ;
< CPP default = "/lib/cpp" ;
---
> CC = "gcc-3.4" ;
> CPP = "/lib/cpp-3.4" ;
81c81,82
< CXX = "g++" ;
---
> CXX = "g++-3.4" ;
> C++ = "g++-3.4" ;
- when pax and Xerces are built and the above Jamdefs change is done,
just set up the environment and use jam to build
cd to the place you untarred, for example cd /home/ingres/gpl, and
export ING_ROOT=`pwd`
export KRB5HDR=$ING_ROOT/Kerberos5/hdr
export PAXLOC=$ING_ROOT/pax
export XERCESCROOT=$ING_ROOT/xerces-c-src_2_5_0
export XERCESLOC=$XERCESCROOT/lib
source $ING_ROOT/src/tools/port/jam/bldenv
cd jam
jam
cd $ING_SRC
mkjams
jam >& jam.out &
When you get a clean build you still need to create an install tar
ball, which is documented in the source tree. No need to make an RPM
for Ubuntu. There is no .deb package build. But the traditional Ingres
installer for Unix works just fine and is documented in the Getting
Started manuals.
BTW.. I used gcc-3.3.
Another issue that can come up (at least with some RedHat systems) is
link failures on the _IO symbol.
If you encounter this, make the following source change
$ diff cl/clf/handy_unix_win/cldio.c.ORIG cl/clf/handy_unix_win/cldio.c
47a48
> # include <sys/ioctl.h>
then remove all files from $ING_BUILD/lib and rebuild.
I will try to write a HOWTO and post it somewhere!!!!