Forum: FPGA, VHDL & Co. ghdl unter gentoo (amd64) funktioniert nicht


von Bjørn (Gast)


Lesenswert?

Hallo!

Ich versuche gerade ghdl unter gentoo (amd64) zum laufen zu bringen. 
Dazu habe ich die folgende minimale VHDL Datei:
1
entity test is
2
end test;
3
architecture behav of test is
4
begin
5
end behav;

Diese verduche ich dann zu kompilieren:
1
% ghdl -a test.vhd
2
% ghdl -e test    
3
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.2/../../../../x86_64-pc-linux-gnu/bin/ld: e~test.o: relocation R_X86_64_32S against `__ghdl_rti_top' can not be used when making a shared object; recompile with -fPIC
4
e~test.o: could not read symbols: Bad value
5
collect2: ld returned 1 exit status
6
ghdl: compilation error

Wie man sieht funktioniert das nicht. Woran liegt das und was kann ich 
dagegen tun? Unter Arch Linux und Debian funktioniert das wunderbar.

Vielen Dank im Voraus.

von Stefan Salewski (Gast)


Lesenswert?

gcc 4.5.2 funktioniert für einige wenige Quelltexte noch nicht. Der 
letzte als "stable" gegenzeichnete gcc ist wohl 4.4.5, probiere den mal. 
gvhdl selbst ist ja auch noch nicht als "stable" gekennzeichnet -- wäre 
natürlich schön wenn ein "Experte" die genaue Fehlerursache erkennt und 
womöglich einen Patch erstellen kann.

von Stefan Salewski (Gast)


Lesenswert?

Ich sehe gerade im ghdl-0.29.ebuild

>GCC_VERSION="4.3.4"
>GNATGCC_SLOT="4.3"

gcc version ist wohl schon kritisch. Hast Du den ebuild von ghdl denn 
überhaupt mit dem Paket-Manager installieren können, oder etwa einfach 
direkt aus den Quellen kompiliert?

von Bjørn (Gast)


Lesenswert?

Ich habe es ganz normal per [code]emerge ghdl[/url] installiert.

von Bjørn (Gast)


Lesenswert?

1
emerge ghdl

von Stefan Salewski (Gast)


Lesenswert?

Dann hast Du wahrscheinlich mehrere Versionen von gcc installiert, und 
4.5.2 ist der default. Vielleicht probierst Du mal die übrigen 
Versionen:

$ gcc-config -l
 [1] x86_64-pc-linux-gnu-4.4.5
 [2] x86_64-pc-linux-gnu-4.5.2 *

und dann gcc-config mit der Version, die benutzt werden soll.

Mehr fällt mit momentan leider nicht ein. Eventuell Gentoo-Bugzilla oder 
ghdl Mailing-Liste.

von Stefan Salewski (Gast)


Lesenswert?

Hattest Du diesen Thread über-fPIC gefunden:

http://www.mail-archive.com/ghdl-discuss@gna.org/msg00323.html

von Bjørn (Gast)


Lesenswert?

Des Rätsels Lösung war, nicht das hardened Profil zu verwenden, da dort 
-fPIC verwendet wird, was entgegen der Fehlermeldung eben nicht ratsam 
ist. ;)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.