Fehler bei buildworld von FreeBSD 13.2

klimaschreck

Well-Known Member
Hallo zusammen,

ich versuche gerade durch Kompilieren der Sourcen von FreeBSD 13.1 amd auf 13.2 zu migrieren. Bei make buildworld erhalte ich die folgende Fehlermeldung:

Habt ihr eine Idee, was fehlt? Auf zwei anderen System kam die Fehlermeldung nicht. (Ich nutze keine parallelen Buildprozesse.)

cc -o gethost -pie -L/data/usr/obj/data/usr/src/amd64.amd64/tmp/legacy/usr/lib -O2 -pipe -fno-common -I. -I/data/usr/src
/bin/csh -I/data/usr/src/contrib/tcsh -D_PATH_TCSHELL='"/bin/csh"' -fPIE -g -MD -MF.depend.gethost -MTgethost -std=gnu99 -W
no-format-zero-length -Wsystem-headers -Wno-pointer-sign -Wno-empty-body -Wno-string-plus-int -Wno-unused-const-variable -W
no-error=unused-but-set-variable -Wno-tautological-compare -Wno-unused-value -Wno-parentheses-equality -Wno-unused-function
-Wno-enum-conversion -Wno-unused-local-typedef -Wno-address-of-packed-member -Wno-switch -Wno-switch-enum -Wno-knr-promote
d-parameter -Wno-parentheses -Qunused-arguments -I/data/usr/obj/data/usr/src/amd64.amd64/tmp/legacy/usr/include /data/usr/
src/contrib/tcsh/gethost.c
ld: error: unable to find library -lgcc_s
ld: error: unable to find library -lgcc_s
cc: error: linker command failed with exit code 1 (use -v to see invocation)
*** Error code 1

Stop.
make[3]: stopped in /data/usr/src/bin/csh
 
Ohne jetzt speziell auf den Fehler einzugehen:
Hast Du vorher ein make cleanworld gemacht, damit Du einen sauberen/leeren Stand hast?
Und steht in der /etc/src.conf irgendwas, von dem es gut wäre das zu wissen? :-)
 
Ja, ich habe make cleanworld gemacht.
Es gibt keine Datei /etc/src.conf.

Es scheinen Libraries zu fehlen. Ich weiß aber nicht welche und wo ich sie hinkopieren sollte.
 
Es scheinen Libraries zu fehlen. Ich weiß aber nicht welche und wo ich sie hinkopieren sollte.
Sieht sehr nach der Runtime-Library des GCC-Compilers aus.
Normalerweise liegt die unter /lib/libgcc_s.so.1

Als additional-library-search-path ist beim Compiler ja noch
/data/usr/obj/data/usr/src/amd64.amd64/tmp/legacy/usr/lib
angegeben.
 
Ich frage mich gerade warum der gcc verwendet wird. Eigentlich sollte doch bei FreeBSD für's System clang / llvm der Compiler sein.
 
Ich frage mich gerade warum der gcc verwendet wird. Eigentlich sollte doch bei FreeBSD für's System clang / llvm der Compiler sein.
Ja. Wobei ich gar nicht glaube, das hier tatsächlich der gcc zum Einsatz kommt. Wird halt vielleicht nur wegen irgendeinem "gcc'sism" die Bibliothek benötigt.
Aber ja. Man kann man gucken, worauf cc zeigt mit cc --version
 
Das Problem ist gelöst: Da auf der / Partition wenig Platz war, hatte ich /usr/src, /usr/obj und /usr/lib auf /data geschoben und auf /usr jeweils symbolische Links erzeugt. Die Library unter /usr/lib wurde wohl wegen symbolischen Links nicht gefunden. Ich habe für lib den symbolischen Link gelöscht und /data/usr/ib/ wieder auf /usr/lib geschoben. Danach ist make ohne Fehler durchgelaufen.
 
Zurück
Oben