Fehler beim Kompilieren von Squid

  • Hallo allerseits,

    ich versuche aktuell Squid auf einem Raspi 3B+ zu kompilieren, laufe dabei allerdings in einem Fehler.

    Auf dem Raspi läuft Raspbian GNU/Linux 11 (bullseye), alle Pakete sind auf dem aktuellsten Stand.

    Es gibt diverse Guides zum Bauen eines Squid Pakets auf dem Raspi, denen ich folge.

    https://gist.github.com/avoidik/a2b376…5d5dd190cbd0112

    https://blog.gebert.it/squid-ssl-bump/

    Offensichtlich haben das andere Leute auch schon erfolgreich hinbekommen.

    Leider bricht der Vorgang, nachdem der Raspi schon jede Menge Source Files erfolgreich kompiliert hat reproduzierbar bei einem Sourcefile client_side_request.cc mit der Fehlermeldung "Error: unknown pseudo-op: `.lc'" ab. Details s.u.

    Im Internet findet sich wenig Hilfreiches zu diesem Assembler Fehler und nichts Raspi Spezifisches.

    In dem Sourcefile selbst finde ich auch keine Besonderheiten, die diesen Fehler erklären könnten.

    Hat irgendjemand eine Idee was es mit diesem Fehler auf sich haben könnte, bzw. wie ich das umgehen kann? Oder hat jemand in letzter Zeit Squid erfolgreich auf einem Raspi kompiliert? Dann wüsste ich zumindest, ob der Fehler nur auf meinem Raspi auftritt (warum auch immer), oder ob sich die Squid Sourcen aktuell garnicht auf Raspis kompilieren lassen.

    Auf einem PC mit Debian habe ich das Problem nicht.

    Danke!

    g++ -DHAVE_CONFIG_H -DDEFAULT_CONFIG_FILE=\"/etc/squid/squid.conf\" -DDEFAULT_SQUID_DATA_DIR=\"/usr/share/squid\" -DDEFAULT_SQUID_CONFIG_DIR=\"/etc/squid\" -I.. -I../include -I../lib -I../src -I../include -isystem /usr/include/mit-krb5 -I../src -isystem /usr/include/mit-krb5 -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include/libxml2 -Wall -Wpointer-arith -Wwrite-strings -Wcomments -Wshadow -Woverloaded-virtual -Werror -pipe -D_REENTRANT -I/usr/include/libxml2 -D_FILE_OFFSET_BITS=64 -I/usr/include/p11-kit-1 -g -O2 -ffile-prefix-map=/tmp/squid/squid-4.13=. -fstack-protector-strong -Wformat -Werror=format-security -c -o client_side_request.o client_side_request.cc

    {standard input}: Assembler messages:

    {standard input}:75654: Warning: end of file not at end of a line; newline inserted

    {standard input}:76503: Error: unknown pseudo-op: `.lc'

    g++: fatal error: Getötet signal terminated program cc1plus

    compilation terminated.

    make[5]: *** [Makefile:7012: cache_cf.o] Fehler 1

    make[5]: *** Es wird auf noch nicht beendete Prozesse gewartet....

    make[5]: Verzeichnis „/tmp/squid/squid-4.13/src“ wird verlassen

    make[4]: *** [Makefile:7129: all-recursive] Fehler 1

    make[4]: Verzeichnis „/tmp/squid/squid-4.13/src“ wird verlassen

    make[3]: *** [Makefile:6139: all] Fehler 2

    make[3]: Verzeichnis „/tmp/squid/squid-4.13/src“ wird verlassen

    make[2]: *** [Makefile:588: all-recursive] Fehler 1

    make[2]: Verzeichnis „/tmp/squid/squid-4.13“ wird verlassen

    dh_auto_build: error: make -j4 returned exit code 2

    make[1]: *** [debian/rules:92: override_dh_auto_build] Fehler 25

    make[1]: Verzeichnis „/tmp/squid/squid-4.13“ wird verlassen

    make: *** [debian/rules:74: build] Fehler 2

    dpkg-buildpackage: Fehler: Unterprozess debian/rules build lieferte Exitstatus 2

    debuild: fatal error at line 1182:

    dpkg-buildpackage -us -uc -ui failed

  • :conf: Warum nutzt Du nicht sudo apt-get install squid  :conf:

    Dem Squid Paket in den Repositories fehlen einige Configure Flags / Funktionalität die ich benötige. Daher muss ich mir Squid mit diesen zusätzlichen Flags aus den Sourcen selbst bauen.

  • Heureka! Ich habe es doch noch geschafft ein Squid Paket zu bauen. Und zwar folgendermaßen, falls mal jemand über das gleiche Problem stolpern sollte.

    Während ein kompletter Build reproduzierbar, wie oben beschrieben, immer über das Kompilieren von client_side_request.cc gestolpert ist, ließ sich dieser Schritt manuell ohne Fehlermeldungen ausführen.

    g++ -DHAVE_CONFIG_H -DDEFAULT_CONFIG_FILE=\"/etc/squid/squid.conf\" -DDEFAULT_SQUID_DATA_DIR=\"/usr/share/squid\" -DDEFAULT_SQUID_CONFIG_DIR=\"/etc/squid\" -I.. -I../include -I../lib -I../src -I../include -isystem /usr/include/mit-krb5 -I../src -isystem /usr/include/mit-krb5 -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include/libxml2 -Wall -Wpointer-arith -Wwrite-strings -Wcomments -Wshadow -Woverloaded-virtual -Werror -pipe -D_REENTRANT -I/usr/include/libxml2 -D_FILE_OFFSET_BITS=64 -I/usr/include/p11-kit-1 -g -O2 -ffile-prefix-map=/tmp/squid/squid-4.13=. -fstack-protector-strong -Wformat -Werror=format-security -c -o client_side_request.o client_side_request.cc

    Warum sich das einzeln problemlos kompilieren ließ, muss man wohl nicht verstehen...

    Anschließend habe ich den Build nochmal mit dem -nc Flag angestartet, damit kein Clean erfolgt und bereits kompilierte Source Files nicht nochmal kompiliert werden und der Prozess lief mit dem nächsten File nach client_side_request.cc weiter.

    debuild -us -uc -nc

    :)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!