Re: [flac] /usr/bin/ld: bad -rpath option

From: Oliver Fromme <olli(at)lurza.secnetix.de>
Date: Tue, 27 Mar 2007 12:15:26 +0200 (CEST)

Oliver Lietz wrote:
> /bin/sh /usr/local/bin/libtool --mode=link cc -maltivec -mabi=altivec
> -DFLAC__NO_ASM -I../.. -I./include -I../../include -DNDEBUG -Wall
> -W -DFLaC__INLINE=__inline__ -O2 -fno-strict-aliasing -pipe
> -o libFLAC.la -rpath /usr/local/lib -version-info 7:0:0 -lm
> "-Wl,-read_only_relocs,warning" bitbuffer.lo bitmath.lo cpu.lo
> crc.lo file_decoder.lo file_encoder.lo fixed.lo float.lo format.lo
> lpc.lo md5.lo memory.lo metadata_iterators.lo metadata_object.lo
> seekable_stream_decoder.lo seekable_stream_encoder.lo
> stream_decoder.lo stream_encoder.lo stream_encoder_framing.lo
> cc -shared .libs/bitbuffer.o .libs/bitmath.o .libs/cpu.o
> .libs/crc.o .libs/file_decoder.o .libs/file_encoder.o
> .libs/fixed.o .libs/float.o .libs/format.o .libs/lpc.o
> .libs/md5.o .libs/memory.o .libs/metadata_iterators.o
> .libs/metadata_object.o .libs/seekable_stream_decoder.o
> .libs/seekable_stream_encoder.o .libs/stream_decoder.o
> .libs/stream_encoder.o .libs/stream_encoder_framing.o -lm -maltivec
> -mabi=altivec -Wl,-read_only_relocs -Wl,warning -Wl,-soname
> -Wl,libFLAC.so.7 -o .libs/libFLAC.so.7
> /usr/bin/ld: bad -rpath option
> *** Error code 1
>
> Stop in /usr/ports/audio/flac/work/flac-1.1.2/src/libFLAC.
> *** Error code 1
> [...]
>
>
> "-Wl,-read_only_relocs,warning" sieht für mich verdächtig aus,

Nö, das ist normal (die Flags werden vom Compiler cc(1) an
den Linker ld(1) weitergereicht).

Zum Vergleich habe ich bei mir mal rasch audio/flac compi-
liert (ging ohne Probleme), derselbe Abschnitt sieht dort
so aus (FreeBSD/i386 6-stable vom 20. Februar):

/bin/sh /usr/local/bin/libtool --mode=link cc -I../.. -I./include
-I../../incl ude -DNDEBUG -Wall -W -DFLaC__INLINE=__inline__ -O2
-fno-strict-aliasing -pipe - march=pentium4m -o libFLAC.la -rpath
/usr/local/lib -version-info 7:0:0 -lm bitbuffer.lo bitmath.lo
cpu.lo crc.lo file_decoder.lo file_encoder.lo fixed.lo float.lo
format.lo lpc.lo md5.lo memory.lo metadata_iterators.lo metadata_obje
ct.lo seekable_stream_decoder.lo seekable_stream_encoder.lo
stream_decoder.lo s tream_encoder.lo stream_encoder_framing.lo
ia32/libFLAC-asm.la
cc -shared .libs/bitbuffer.o .libs/bitmath.o .libs/cpu.o
.libs/crc.o .libs/file _decoder.o .libs/file_encoder.o
.libs/fixed.o .libs/float.o .libs/format.o .libs /lpc.o
.libs/md5.o .libs/memory.o .libs/metadata_iterators.o
.libs/metadata_obje ct.o .libs/seekable_stream_decoder.o
.libs/seekable_stream_encoder.o .libs/strea m_decoder.o
.libs/stream_encoder.o .libs/stream_encoder_framing.o -Wl,--whole-ar
chive ia32/.libs/libFLAC-asm.a -Wl,--no-whole-archive -lm
-march=pentium4m -Wl ,-soname -Wl,libFLAC.so.7 -o .libs/libFLAC.so.7

Ein Trick, der in solchen Fällen manchmal hilfreich ist,
ist ein wortweiser Vergleich mit diff(1). Resultat:

5,7d4
< -maltivec
< -mabi=altivec
< -DFLAC__NO_ASM
17a15
> -march=pentium4m
25d22
< "-Wl,-read_only_relocs,warning"
44a42
> ia32/libFLAC-asm.la
65a64,66
> -Wl,--whole-archive
> ia32/.libs/libFLAC-asm.a
> -Wl,--no-whole-archive
67,70c68
< -maltivec
< -mabi=altivec
< -Wl,-read_only_relocs
< -Wl,warning

---
> -march=pentium4m
Das sieht soweit eigentlich gut aus.  Soweit ich das sehen
kann, sind die Differenzen ausschließlich auf den Unter-
schied powerpc vs. i386 zurückzuführen.  Also eigentlich
alles normal.  Leider hilft das jetzt bei Deinem Problem
nicht weiter.
Ist vielleicht Dein libtool zu alt?  Bei mir ist's
1.5.22_3 (aktuell wäre _4, aber ich hatte bisher keinen
grund für ein Update).  Möglich, dass ld(1) unter powerpc
bestimmte Optionen anders behandelt als unter i386, und
libtool fehlt dort eine Anpassung.  Das ist aber jetzt
nur Spekulation.
Mangels entsprechender Hardware kann ich leider nicht
weiterhelfen.  Vielleicht kann ja ein anderer powerpc-
Besitzer mit den Infos etwas anfangen und da anknüpfen.
Gruß
   Olli
-- 
Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing b. M.
Handelsregister: Registergericht Muenchen, HRA 74606,  Geschäftsfuehrung:
secnetix Verwaltungsgesellsch. mbH, Handelsregister: Registergericht Mün-
chen, HRB 125758,  Geschäftsführer: Maik Bachmann, Olaf Erb, Ralf Gebhart
FreeBSD-Dienstleistungen, -Produkte und mehr:  http://www.secnetix.de/bsd
cat man du : where Unix geeks go when they die
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Tue 27 Mar 2007 - 12:16:43 CEST

search this site