[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: gentoo failing to build on powerpc, a bit mysteriously



Hi,

There are two possible problem areas:

1. you are missing a required library for linking

or

2.  you are linking to a library that was not properly built with -fPIC

My guess is that the issue is no. 2 since it builds for x86 linux.

The key here is to make sure that all shared libraries in the gentoo 
project are built with -fPIC for all platforms (x86 will work without it 
but ppc will not but both *should* have -fPIC) .

Also look to see if there are any static libraries (lib*.a files) that are 
linked into shared library code.  If so,  those static libraries 
themselves should be built with -fPIC as well since they are destined to 
be used in a shared library.

The linking of lib*.a code built without -fPIC into shared libraries is a 
very common problem / trap that x86 programmers / developers seem to fall 
into since they can't see or experience the failure themselves.

Hoep this gives you some hint as to where to start looking.  If you run 
into trouble, capture the build log to a file and post it someplace and 
send me the link and I will look over it and point out problem areas.

Kevin

On August 24, 2002 10:46, Josip Rodin wrote:
> Hi,
>
> I maintain the gentoo package. No, it doesn't have anything to do with
> the gentoo Linux distribution. :) After having uploaded a new version,
> the powerpc buildd started failing to build gentoo.
>
> http://buildd.debian.org/build.php?pkg=gentoo&arch=powerpc
>
>  mount.o: In function `scan_for_dir':
>  mount.o(.text+0x84): undefined reference to `mne_getmntent'
>  mount.o(.text+0x84): relocation truncated to fit: R_PPC_REL24
> mne_getmntent mount.o: In function `dir_is_mounted':
>  mount.o(.text+0xf0): undefined reference to `mne_setmntent'
>  mount.o(.text+0xf0): relocation truncated to fit: R_PPC_REL24
> mne_setmntent mount.o(.text+0x110): undefined reference to
> `mne_endmntent'
>  mount.o(.text+0x110): relocation truncated to fit: R_PPC_REL24
> mne_endmntent mount.o: In function `mnt_init':
>  mount.o(.text+0x27c): undefined reference to `mne_setmntent'
>  mount.o(.text+0x27c): relocation truncated to fit: R_PPC_REL24
> mne_setmntent mount.o(.text+0x2cc): undefined reference to
> `mne_getmntent'
>  mount.o(.text+0x2cc): relocation truncated to fit: R_PPC_REL24
> mne_getmntent mount.o(.text+0x2dc): undefined reference to
> `mne_endmntent'
>  mount.o(.text+0x2dc): relocation truncated to fit: R_PPC_REL24
> mne_endmntent
>
> I'm not sure how to deal with this, given how it compiles fine
> everywhere else. Can anyone tell me what to do about this?



Reply to: