On 02.08.2003 20:38, Christian Lackas wrote:
> Hallo Leute,
>
> ich verwende ein FreeBSD 4.8-STABLE mit gcc 2.95.4.
> Für mein Software-Projekt würde ich aber gerne gcc 3.2.3 verwenden, da
> ich einige C++ Features brauche, die 2.95.4 noch nicht implementiert.
[...]
> Ich gehe also davon aus, dass es nicht möglich ist nur mein Programm mit
> 3.2 zu kompilieren, wenn der Rest des (Port-)Systems auf
> 2.95er-Kompilaten basiert, oder?
Genrell sollte dazu das Flag USE_GCC=32 (o.ä) benutzt werden.
Schau mal in die ports/Mk/bsd.ports.mk.
> Wie würded ihr das lösen? Durch die vielen Abhängigkeiten von
> ImageMagick stelle ich es mir relativ aufwendig vor nur diesen Port (+
> Dependencies) mit 3.2 zu kompilieren. Ausserdem soll das ganze
> anschliessend auf mehreren FreeBSD-Rechner kompiliert werden können.
Wenn es nur das eine, für Dich selbst zu nutzende Paket sein soll,
kannst Du probieren, Dir mit 'PREFIX=/some/where/else' einen anderen
Pfad für das ImageMagic zu definieren und dann statisch gegen dieses
zu linken. Ist zwar auch nicht schön, sollte aber Dein Problem
lösen.
> Gibt es da einen einfachen Ausweg?
> Oder kann man gar sein ganzes System auf den neuen gcc umstellen? Oder
> auch nur die Ports?
env USE_GCC=32 portupgrade -rRfv ImageMagic ???
LDFLAGS=-static
> Mit GCC 3.3 sieht es übrigens genauso aus.
War zu erwarten.
> Gruss
> Christian
>
> [1] Fehlermeldung
> TRasterImage.o: In function `TRasterImage::GetImage(TPalette const&, float, float, unsigned)':
> /home/lackas/src/Reco/TRaster.h:71: undefined reference to `Magick::Geometry::Geometry[in-charge](unsigned, unsigned, unsigned, unsigned, bool, bool)'
> /home/lackas/src/Reco/TRaster.h:71: undefined reference to `Magick::Color::Color [in-charge](char const*)'
> [...]
>
> Die Fehlermeldungen sind insofern nicht sinnvoll, da das Objekt TRaster
Und nicht aussagekräftig, da ein bisschen der Kontext fehlt :-)
> mit ImageMagick gar nichts zu tun hat und in dortiger Zeile 71 erst
> recht nichts steht was irgendwas mit IM am Hut an. TRasterImage ist von
> TRaster abgeleitet und fügt die ImageMagick-Funktionalität hinzu.
Vielleicht (siehe dazu mehr unter <http://gcc.gnu.org/>) hast Du
ja recht, und die Objektdateien sind tatsächlich inkompatibel.
Da aber OpenOffice unter 4-STABLE auch mit gcc32 gebaut werden
soll, kannst Du Dir in dem Port ja mal 'ne Idee besorgen.
Ansonsten glaube ich nicht, dass die Shared-Libraries des gcc295
nicht gelesen werden können, vielleicht kann das ld (und dessen
Tools) aus der world aber nichts mit denen des gcc32 anfangen.
Nochmal: siehe ports/editors/openoffice - kann sicher nicht
schaden.
Schönes Wochenende noch,
Jens
To Unsubscribe: send mail to majordomo.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Sun 03 Aug 2003 - 02:29:12 CEST