- Bearbeitet
Hallo Leute, es gibt leider wieder ein Problem mit ghdl.
Zunächst dachte ich, stimmt mit dem vhdl Codes was nicht.
Dann habe ich alte zuvor funktionierende Codes ausprobiert, diese funktionieren jetzt nicht mehr.
Aber jetzt nochmal von vorne:
Ich nehme einen einfachsten Beispielcode Hello world und will den compilieren lassen.
Der Beispielcode ist hier:
http://ghdl.readthedocs.io/en/latest/Starting_with_GHDL.html
Zum Analysieren ein
Es werden die nötigen Ausgabedateien erzeugt.
Danach für das Fertigstellen (elaborate) ein
Ich habe mal ein ghdl Downgrade downgraded ghdl (0.33-3 -> 0.32rc1-2) gemacht, aber damit das Gleiche. Dann wieder das Neueste ghdl installiert.
Könnte es sein, dass das Paket ghdl mit der Option -fPIC erneut gebaut werden muss? Im AUR steht beim ghdl nichts Neues drin.
Hat Jemand eine Idee?
Besten Dank im Vorraus!!!
Gruß aus DN
Greg
Nachtrag: ghdl habe ich mal neu kompilieren wollen. Nach 20min bricht der ab:
Noch ein Nachtrag:
Das Paket ghdl-gcc-git läßt sich ebenfalls nicht bauen. Gleicher Fehler wie bei ghdl
Zunächst dachte ich, stimmt mit dem vhdl Codes was nicht.
Dann habe ich alte zuvor funktionierende Codes ausprobiert, diese funktionieren jetzt nicht mehr.
Aber jetzt nochmal von vorne:
Ich nehme einen einfachsten Beispielcode Hello world und will den compilieren lassen.
Der Beispielcode ist hier:
http://ghdl.readthedocs.io/en/latest/Starting_with_GHDL.html
Zum Analysieren ein
ghdl -a hello.vhdl
gemacht. --> Noch nichts auffälliges.Es werden die nötigen Ausgabedateien erzeugt.
Danach für das Fertigstellen (elaborate) ein
ghdl -e hello_world
Dann kommen diese Fehlermeldungen heraus:
$ ghdl -e hello_world
/usr/bin/ld: e~hello_world.o: relocation R_X86_64_32 against symbol `work__hello_world__ARCH__behaviour__RTI' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.3/vhdl//v93/std/std_standard.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.3/vhdl//v93/std/textio.o: relocation R_X86_64_32 against symbol `std__textio__RTI' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.3/vhdl//v93/std/textio_body.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: hello.o: relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.3/vhdl//libgrt.a(grt-lib.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.3/vhdl//libgrt.a(grt-errors.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.3/vhdl//libgrt.a(grt-files.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.3/vhdl//libgrt.a(grt-main.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.3/vhdl//libgrt.a(grt-change_generics.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.3/vhdl//libgrt.a(grt-values.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.3/vhdl//libgrt.a(grt-processes.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.3/vhdl//libgrt.a(grt-disp_signals.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.3/vhdl//libgrt.a(grt-avhpi.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.3/vhdl//libgrt.a(grt-vcdz.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.3/vhdl//libgrt.a(jumps.o): relocation R_X86_64_32S against `.text' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.3/vhdl//libgrt.a(grt-cbinding.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.3/vhdl//libgrt.a(grt-types.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.3/vhdl//libgrt.a(grt-astdio.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.3/vhdl//libgrt.a(grt-hooks.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.3/vhdl//libgrt.a(grt-options.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.3/vhdl//libgrt.a(grt-rtis_addr.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.3/vhdl//libgrt.a(grt-avhpi_utils.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.3/vhdl//libgrt.a(grt-disp_tree.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.3/vhdl//libgrt.a(ghdl_main.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.3/vhdl//libgrt.a(grt-disp.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.3/vhdl//libgrt.a(grt-stats.o): relocation R_X86_64_32S against `.bss' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.3/vhdl//libgrt.a(grt-signals.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.3/vhdl//libgrt.a(grt-vital_annotate.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.3/vhdl//libgrt.a(grt-sdf.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.3/vhdl//libgrt.a(grt-vpi.o): relocation R_X86_64_32 against `.text' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.3/vhdl//libgrt.a(grt-vstrings.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.3/vhdl//libgrt.a(grt-vcd.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.3/vhdl//libgrt.a(grt-fst.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.3/vhdl//libgrt.a(grt-rtis_utils.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.3/vhdl//libgrt.a(grt-disp_rti.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.3/vhdl//libgrt.a(grt-waves.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.3/vhdl//libgrt.a(grt-cvpi.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.3/vhdl//libgrt.a(fstapi.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.3/vhdl//libgrt.a(grt-avls.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.3/vhdl//libgrt.a(grt-rtis_types.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.3/vhdl//libgrt.a(grt-std_logic_1164.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.3/vhdl//libgrt.a(grt-images.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.3/vhdl//libgrt.a(grt-shadow_ieee.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Nonrepresentable section on output
collect2: Fehler: ld gab 1 als Ende-Status zurück
ghdl: compilation error
[gl@gregina2 hello]$
Mit der Ausgabe .rodata' can not be used when making a shared object; recompile with -fPIC kann ich leider nichts anfangen.Ich habe mal ein ghdl Downgrade downgraded ghdl (0.33-3 -> 0.32rc1-2) gemacht, aber damit das Gleiche. Dann wieder das Neueste ghdl installiert.
Könnte es sein, dass das Paket ghdl mit der Option -fPIC erneut gebaut werden muss? Im AUR steht beim ghdl nichts Neues drin.
Hat Jemand eine Idee?
Besten Dank im Vorraus!!!
Gruß aus DN
Greg
Nachtrag: ghdl habe ich mal neu kompilieren wollen. Nach 20min bricht der ab:
Erstelle Paket: ghdl 0.33-3 (Sa 15. Jul 18:10:20 CEST 2017)
==> Prüfe Laufzeit-Abhängigkeiten...
==> Prüfe Buildtime-Abhängigkeiten...
==> Empfange Quellen...
-> Klone das ghdl git Repo...
Klone in Bare-Repository '/home/gl/Downloads/ghdl/ghdl' ...
remote: Counting objects: 23776, done.
remote: Compressing objects: 100% (72/72), done.
...
...
...
checking for x86_64-unknown-linux-gnu-ar... ar
checking for x86_64-unknown-linux-gnu-lipo... lipo
checking for x86_64-unknown-linux-gnu-nm... /home/gl/Downloads/ghdl/src/gcc-build/./gcc/nm
checking for x86_64-unknown-linux-gnu-ranlib... ranlib
checking for x86_64-unknown-linux-gnu-strip... strip
checking whether ln -s works... yes
checking for x86_64-unknown-linux-gnu-gcc... /home/gl/Downloads/ghdl/src/gcc-build/./gcc/xgcc -B/home/gl/Downloads/ghdl/src/gcc-build/./gcc/ -B/usr/x86_64-unknown-linux-gnu/bin/ -B/usr/x86_64-unknown-linux-gnu/lib/ -isystem /usr/x86_64-unknown-linux-gnu/include -isystem /usr/x86_64-unknown-linux-gnu/sys-include
checking for suffix of object files... configure: error: in `/home/gl/Downloads/ghdl/src/gcc-build/x86_64-unknown-linux-gnu/libgcc':
configure: error: cannot compute suffix of object files: cannot compile
See `config.log' for more details.
make[1]: *** [Makefile:10411: configure-target-libgcc] Fehler 1
make[1]: Verzeichnis „/home/gl/Downloads/ghdl/src/gcc-build“ wird verlassen
make: *** [Makefile:847: all] Fehler 2
==> FEHLER: Ein Fehler geschah in build().
Breche ab...
Ob es da einen Zusammenhang geben könnte????Noch ein Nachtrag:
Das Paket ghdl-gcc-git läßt sich ebenfalls nicht bauen. Gleicher Fehler wie bei ghdl