GCC Paket bauen

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Hazardy
Beiträge: 2
Registriert: 07.03.2025 09:16:20

GCC Paket bauen

Beitrag von Hazardy » 07.03.2025 10:29:46

Moin,

mein eigentliches Ziel ist es einen aktuellen GCC für stable zu bauen und als Paket zu verteilen. Aber für den Anfang gäbe ich mich auch damit zufrieden den schon erhältlichen gcc-12 selbst zu packen. Ich denke von da aus schaffe ich den Rest.

Ich habe:
* https://salsa.debian.org/toolchain-team/gcc geclont und auf 12.4.0-4 ausgecheckt.
* Mit sudo mk-build-deps -i die benötigten Tools installiert.

Dann bekomme ich die Meldung:

Code: Alles auswählen

dpkg-source: Fehler: unmöglich, mit Quellformat »3.0 (quilt)« zu bauen: unter ../gcc-12_12.4.0.orig.tar.{bz2,gz,lzma,xz} wurde kein Tarball der Originalautoren gefunden
Daher habe ich dann mittels apt-get source gcc-12 die Quelldateien heruntergeladen und wegen der "../" in das Elternverzeichnis verschoben.
Jetzt sieht das wie folgt aus:

Code: Alles auswählen

$ dpkg-buildpackage -b
dpkg-buildpackage: Information: Quellpaket gcc-12
dpkg-buildpackage: Information: Quellversion 12.4.0-4
dpkg-buildpackage: Information: Quelldistribution unstable
dpkg-buildpackage: Information: Quelle geändert durch Matthias Klose <doko@debian.org>
dpkg-buildpackage: Information: Host-Architektur amd64
 dpkg-source --before-build .
 fakeroot debian/rules clean
rm -rf stamps
rm -rf    
/usr/bin/make -f debian/rules2 clean
make[1]: Entering directory '/tmp/gcc'
debian/rules2:10: debian/rules.parameters: No such file or directory
make[1]: *** No rule to make target 'debian/rules.parameters'.  Stop.
make[1]: Leaving directory '/tmp/gcc'
make: [debian/rules:65: clean] Fehler 2 (ignoriert)
rm -rf /tmp/gcc/src* /tmp/gcc/build* debian/tmp* html
rm -f bootstrap-* test-protocol* first-move-stamp
rm -f debian/*.tmp
rm -f debian/soname-cache
find debian -name '.#*' | xargs -r rm -f
rm -f debian/patches/series*
rm -rf .pc
dh_clean
dh_clean: warning: Compatibility levels before 10 are deprecated (level 9 in use)
 debian/rules build
echo -e "\nBuilt from Debian source package gcc-12-12.4.0-4" \
        > pxxx
echo -e "Integrated upstream packages in this version:\n" >> pxxx
for i in  ; do echo "  $i" >> pxxx; done
mv -f pxxx stamps/01-unpack-stamp
mv: cannot move 'pxxx' to 'stamps/01-unpack-stamp': No such file or directory
make: *** [debian/rules.unpack:25: stamps/01-unpack-stamp] Fehler 1
dpkg-buildpackage: Fehler: Unterprozess debian/rules build lieferte Exitstatus 2
Das stamps Verzeichnis existiert auch wirklich nicht und selber anlegen hilft nicht, da das clean vorher das Verzeichnis löscht.

Was genau mache ich falsch? Wie bekomme ich ein GCC-Paket gebaut? Oder soll ich lieber ein eigenes neues Paket erstellen, nur wohin installiere ich den GCC dann, damit es zu keinen Konflikten kommt.

Bonusfrage: Warum hat GCC-14 als Abhängigkeit zum bauen GCC-14 angegeben?

Benutzeravatar
schorsch_76
Beiträge: 2645
Registriert: 06.11.2007 16:00:42
Lizenz eigener Beiträge: MIT Lizenz

Re: GCC Paket bauen

Beitrag von schorsch_76 » 07.03.2025 12:47:45

Ich habe es aufgegeben gcc Pakete zu bauen. Ich baue aus dem gcc git repo und erstelle daraus dann in /opt/gcc/x.y eine Installation. Das wird dann in ein squashfs gepackt und kann einfach eingebunden und verteilt werden.

Das hier ist mein Skript um arm-none-eabi gcc versionen zu bauen.

NoPaste-Eintrag42316

Das baut
14.2.0
13.3.0
12.4.0
11.5.0
10.5 aus den Quellen.

Das hier [1] kannst du problemlos anwenden für x86_64 (amd64)

[1] https://iamsorush.com/posts/build-gcc11/

Hazardy
Beiträge: 2
Registriert: 07.03.2025 09:16:20

Re: GCC Paket bauen

Beitrag von Hazardy » 12.03.2025 09:02:01

Danke sehr.

Antworten