Compiling on 64 bit SuSE (Was Re: List OK?)
Robert Heller
heller at deepsoft.com
Mon Sep 5 17:40:07 EDT 2005
Des Dougan <des at douganconsulting.com>,
In a message on Mon, 05 Sep 2005 14:10:53 -0700, wrote :
DD> On Mon, 2005-09-05 at 12:44 -0700, Des Dougan wrote:
DD> > On Mon, 2005-09-05 at 14:08 -0400, Derek Atkins wrote:
DD> > > Quoting Des Dougan <des at DouganConsulting.com>:
DD> > >
DD> > > > The make step has failed, though - something in make is looking at a 32
DD> > > > bit library instead of the 64 bit:
DD> > >
DD> > > That's not surprising -- GnuCash 1.8 was never ported to 64-bit platforms...
DD> > >
DD> > > > make[4]: Entering directory
DD> > > > `/home/des/Downloads/tarballs/gnucash/gnucash-1.8.11/src/gnc-module'
DD> > > > /bin/sh ../../libtool --mode=link gcc -I../../src/core-utils
DD> > > > -I/opt/gnome/include/glib-1.2 -I/opt/gnome/lib64/glib/include -I
DD> > > > /usr/local/include/g-wrap -g -O2 -Wall -Wunused -o
DD> > > > libgncmodule.la -rpath /usr/lib64 -module gnc-module.lo
DD> > > > ../core-utils/libcore-utils.la -L/usr/local/lib -lgwrap-wct
DD> > > > -lgwrap-glib -L/opt/gnome/lib64 -lglib -lltdl -lpopt -lm -lm
DD> > > > gcc -shared .libs/gnc-module.o -Wl,--rpath
DD> > > > -Wl,/home/des/Downloads/tarballs/gnucash/gnucash/src/core-utils/.libs
DD> > > > -Wl,--rpath -Wl,/usr/local/lib -Wl,--rpath -Wl,/opt/gnome/lib64
DD> > > > -Wl,--rpath -Wl,/usr/lib64 -Wl,--rpath -Wl,/usr/local/lib -Wl,--rpath
DD> > > > -Wl,/opt/gnome/lib64 -L/usr/lib64 -L/opt/gnome/lib64
DD> > > > ../core-utils/.libs/libcore-utils.so -L/usr/local/lib
DD> > > > /usr/local/lib/libgwrap-wct.so /usr/local/lib/libgwrap-glib.so
DD> > > > /opt/gnome/lib64/libglib.so /usr/lib/libltdl.so -lpopt -lm
DD> > > > -Wl,-soname -Wl,libgncmodule.so.0 -o .libs/libgncmodule.so.0.0.0
DD> > > > /usr/lib/libltdl.so: could not read symbols: File in wrong format
DD> > > >
DD> > > > I've confirmed that there is a libltdl.so in the /usr/lib64 directory,
DD> > > > and I've gone through the configure script and the make man pages to
DD> > > > check how to inform make that it's a 64 bit compile, but can find
DD> > > > nothing that help me.
DD> > >
DD> > > Sorry, don't know what to tell you...
DD> > >
DD> > > > Am I missing something fundamental at the configure stage? The script
DD> > > > I'm using is as follows:
DD> > > >
DD> > > > #!/bin/sh
DD> > > > CC=gcc
DD> > > > CFLAGS=-O2
DD> > > > PATH="$PATH:/opt/gnome/bin"
DD> > > > (cd gnucash
DD> > > > rm -rf config.cache
DD> > > > ./configure --prefix=/opt/gnome --libdir=/usr/lib64 --enable-gui
DD> > > > --enable-ofx \
DD> > > > --build=x86_64-linux-gnu --disable-error-on-warning
DD> > > > )
DD> > > > # end of script
DD> > > >
DD> > > > Thanks,
DD> > > >
DD> > > > Des
DD> > >
DD> > > Honestly, I don't know. But I don't think 1.8 will build on 64-bit
DD> > > platforms. I know a bunch of changes have gone into CVS to get gnucash
DD> > > working on 64-bit
DD> > > platforms, but I'm fairly certain those didn't go into 1.8... So it's quite
DD> > > likely you're working on a futile effort in any event.
DD> >
DD> > Well, that is a major issue for me - the shipped gnucash on SuSE 9.3 has
DD> > a bug with importing OFX files (which I've reported to SuSE) and which
DD> > is why I built 1.8.11 on my previous box...
DD> >
DD> > Thanks for all your help (and I see that my last email made it to the
DD> > list...).
DD> >
DD> > Regards,
DD> >
DD> > Des
DD>
DD>
DD> Well, I decided to press on. libltdl.so is a symbolic link to
DD> libltdl.so.1 in /usr/lib, so I created a new symbolic link to
DD> the /usr/lib64 directory. This got me further and carrying out the same
You *really* don't want to do this! The libltdl.so.1 in /usr/lib is
most likely the *32* bit library. The libraries in /usr/lib64 are the
64 bit libraries. It is important to understand that the '64 bit' ix86
processors (eg AMD64, IS64), also run in 32-bit mode. BUT a given
process is either in 32 or 64 bit mode. You can switch modes within a
given process and thus you cannot link a 64-bit program with 32-bit
libraries. You are probably missing the 64-bit version of libltdl.so OR
somehow the install of libltdl placed the 64 bit library in with the
32-bit libraries.
DD> steps again for subsequent links had "make" completing, apparently
DD> successfully. "make install" ran through, although it provided warnings
DD> about static libraries such as this example:
DD>
DD> *** Warning: This system can not link to static lib archive ../../../src/business/business-ledger/libgnc-business-ledger.la.
DD> *** I have the capability to make that library automatically link in when
DD> *** you link to this library. But I can only do this if you have a
DD> *** shared version of the library, which you do not appear to have.
DD> *** But as you try to build a module library, libtool will still create
DD> *** a static module, that should work as long as the dlopening application
DD> *** is linked with the -dlopen flag to resolve symbols at runtime.
DD>
DD> I therefore tries running gnucash, but got the following failure:
DD>
DD> des at sempron:~> gnucash
DD> ERROR: In procedure dynamic-link:
DD> ERROR: file: "libgw-gnc", message: "/usr/lib64/libgw-gnc.a: invalid ELF header"
DD>
DD> Can anyone offer any pointers to the cause of this?
DD>
DD> Thanks,
DD>
DD> Des
DD> --
DD>
DD> Des Dougan, Principal
DD> Dougan Consulting Group
DD>
DD> Ph: 604-980-2848 Email: des at DouganConsulting dot com
DD>
DD> www.DouganConsulting.com
DD>
DD> Design - Implementation - Support
DD>
DD> _______________________________________________
DD> gnucash-user mailing list
DD> gnucash-user at gnucash.org
DD> https://lists.gnucash.org/mailman/listinfo/gnucash-user
DD>
DD>
\/
Robert Heller ||InterNet: heller at cs.umass.edu
http://vis-www.cs.umass.edu/~heller || heller at deepsoft.com
http://www.deepsoft.com /\FidoNet: 1:321/153
More information about the gnucash-user
mailing list