Subject: Re: devel/pango fails to build on sparc64
To: Martin Husemann <martin@duskware.de>
From: None <sigsegv@rambler.ru>
List: tech-pkg
Date: 03/22/2005 22:43:03
Martin Husemann wrote:
> On Tue, Mar 22, 2005 at 08:22:38PM +0000, sigsegv@rambler.ru wrote:
> 
>>Greetings, I'm trying to build gtk2 from current pkgsrc tree, which 
>>depends on pango. Building pnago fails with the following errors, any 
>>hints why it complains about undefined symbols?
> 
> 
> FWIW (not that it helps): pango 1.8.0 installed fine on sparc64.
> 
> Martin
> 

I think I know what the problem is, /usr/bin/file not being able to 
display correct ELF info. I've looked at this deeper and I think I found 
the problem:

Userland built on sparc64 machine for sparc64:

u10# file /usr/share/misc/magic*
/usr/share/misc/magic:          magic text file for file(1) cmd
/usr/share/misc/magic.mgc:      magic binary file for file(1) cmd 
(version 2) (big endian)
/usr/share/misc/magic.mime:     magic text file for file(1) cmd
/usr/share/misc/magic.mime.mgc: magic binary file for file(1) cmd 
(version 2) (big endian)


Userland cross-built on i386 machine for sparc64:

u10# file /root/magics/*
/root/magics/magic:          magic text file for file(1) cmd
/root/magics/magic.mgc:      magic binary file for file(1) cmd (version 
2) (little endian)
/root/magics/magic.mime:     magic text file for file(1) cmd
/root/magics/magic.mime.mgc: magic binary file for file(1) cmd (version 
2) (little endian)

Note the binary files have different endianess, big vs little.
Any idea if it's trivial to fix this for cross-builds? It's quite 
annoying, coz I keep forgetting about it.

When building devel/pango I see the follwoing messages being output, and 
I think this somehow break the build. Well I copied the big endian 
magic.* files into /usr/share/misc (which fixed /usr/bin/file) and now 
restarting the build to see if it helps.

*** Warning: linker path does not have real file for library -lX11.
*** I have the capability to make that library automatically link in when
*** you link to this library.  But I can only do this if you have a
*** shared version of the library, which you do not appear to have
*** because I did check the linker path looking for a file starting
*** with libX11 and none of the candidates passed a file format test
*** using a regex pattern. Last file checked: 
/opt/obj.sparc64/pkg/devel/pango/work/.x11-buildlink/lib/libX11.so.6.2
*** The inter-library dependencies that have been dropped here will be
*** automatically added whenever a program is linked with this library
*** or is declared to -dlopen it.