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: