[OGo-Users] Help: compile OgO on x86_64 / Ubuntu 7.10

Albrecht Dreß users@opengroupware.org
Wed, 09 Jan 2008 17:13:00 +0100


Am 09.01.2008 15:26:22 schrieb(en) Helge Hess:
> On 09.01.2008, at 13:21, Albrecht Dreß wrote:
> This is a GCC bug. You need to move away the system supplied libobjc.  
> If its there, GCC will always use it. (after compilation you can move  
> it back into place, as ld.so will properly honour the library path).

Thanks for that hint...

However, I now run into a different problem.  Simply running  
"configure" in libFoundation in this folder doesn't work as the  
architecture isn't recognised:

<snip>
checking host system type... Invalid configuration  
`x86_64-pc-linux-gnu': machine `x86_64-pc' not recognized

checking target system type... Invalid configuration  
`x86_64-pc-linux-gnu': machine `x86_64-pc' not recognized

checking build system type... Invalid configuration  
`x86_64-pc-linux-gnu': machine `x86_64-pc' not recognized


*************** Warning ****************
This package was not ported to running operating system.
We'll use the default configuration file ./config//.h.
****************************************
</snip>

As a workaround, I tried to force i386 (which should also run on the 64  
bit Xeon, right?) by running "./configure --target=i386-pc-linux-gnu  
--build=i386-pc-linux-gnu --host=i386-pc-linux-gnu".  Now the  
compilation fails:

../Foundation/common.h:31:20: warning: config.h: No such file or  
directory
[more errors]

I could work around this problem by symlinking the .h files form the  
Foundation/ix86/linux-gnu/GNU/ folder.  Then I also had to move away  
the system objc headers (for me in  
/usr/lib/gcc/x86_64-linux-gnu/4.1/include/objc) and adding a symlink  
from the installation folder.  For installing libFoundation, I also had  
to say "ln -s ix86 x86_64" in the Foundation sub-folder.

The final "Defaults" application /is/ now linked against the right  
library:

<snip>
adress@server:~/sope/libFoundation$ ldd /opt/ogo/bin/Defaults         
libFoundation.so.1.0 => /opt/ogo/lib/libFoundation.so.1.0  
(0x00002ba1f952e000)
         libpthread.so.0 => /lib/libpthread.so.0 (0x00002ba1f9924000)
         libobjc.so.lf2 => /opt/ogo/lib/libobjc.so.lf2  
(0x00002ba1f9b3f000)
         libm.so.6 => /lib/libm.so.6 (0x00002ba1f9d58000)
         libc.so.6 => /lib/libc.so.6 (0x00002ba1f9fda000)
         libdl.so.2 => /lib/libdl.so.2 (0x00002ba1fa335000)
         /lib64/ld-linux-x86-64.so.2 (0x00002ba1f9310000)
</snip>

but the output for "rm -f ../../GNUstep/.libFoundation/Defaults/a.plist  
&& /opt/ogo/bin/Defaults write a b 42 && /opt/ogo/bin/Defaults read a"  
is still

{
4c4cb = 42;
}

> Maybe its a 64bit issue, can't say.

O.k., at least is somehow reproducible.  But I need a running OgO on  
that box, so any help on this issue would *really* be appreciated!

Cheers, Albrecht.