Forum: Compiler & IDEs SDCC lässt sich nicht kompilieren


von Thorsten M. (cortex_user)


Lesenswert?

Moin,

leider ist die Linux Mint Repo Version 3.5.0 (4.2.x ist aktuell) und bei 
meinem alten Z80 Projekt meckert er getchar und putchar an, die haben 
wohl jetzt ein int putchar, statt void putchar.

Also einen Nightly build .bz2 geholt und auf dem ITX Board Linux 
Fileserver bei mir mal per Putty Shell versucht zu komplieren. 
./configure lief durch nachdem ich einige libs nachinstalliert hatte, 
u.a. eine gputils. Aber dann bleibt er bei sudo make (ohne sudo bricht 
er sehr schnell ab) nach ein paar Minuten hängen mit

WARNING: 'makeinfo' is missing on your system.
         You should only need it if you modified a '.texi' file, or
         any other file indirectly affecting the aspect of the manual.
         You might want to install the Texinfo package:
         <http://www.gnu.org/software/texinfo/>;
         The spurious makeinfo call might also be the consequence of
         using a buggy 'make' (AIX, DU, IRIX), in which case you might
         want to install GNU make:
         <http://www.gnu.org/software/make/>;

Makefile 471: die Regel für Ziel "bfd.info" scheiterte

und da ich auch nicht mehr kann als nur das was in der Readme steht 
stehe ich jetzt auf dem Schlauch. Ich meine ein gewisser Jan Philipp 
Krause müsste da doch mehr wissen, er steht auch in der Liste der 
Maintainer und dürfte ein Deutscher sein und hier vertreten.

: Bearbeitet durch User
von Kaj G. (Firma: RUB) (bloody)


Lesenswert?

Thorsten M. schrieb:
> ohne sudo bricht
> er sehr schnell ab
Dann poste doch die Fehlermeldung. Es gibt keinen Grund, make als sudo 
aufzurufen.

von Thorsten M. (cortex_user)


Lesenswert?

Kaj G. schrieb:
> Dann poste doch die Fehlermeldung. Es gibt keinen Grund, make als sudo
> aufzurufen.

War beim sdcc noch nie anders bei mir, make nur als superuser. Klappte 
trotzdem. Ich will wissen was das da oben wieder bedeutet.

von Εrnst B. (ernst)


Lesenswert?

Thorsten M. schrieb:
> Also einen Nightly build .bz2 geholt

Ähm, der "nightly build" ist doch schon gebuildet, warum willst du darin 
nochmal ein configure/make laufen lassen?

von Thorsten M. (cortex_user)


Lesenswert?

Εrnst B. schrieb:
> Ähm, der "nightly build" ist doch schon gebuildet, warum willst du darin
> nochmal ein configure/make laufen lassen?

Weil ich das so möchte?

: Bearbeitet durch User
von Εrnst B. (ernst)


Lesenswert?

Thorsten M. schrieb:
> Weil ich das so möchte?

Dann lieber den sourcecode-Snapshot runterladen, nicht den build.

Ansonsten scheint deine Fehlermeldung vom Bauen der Dokumentation zu 
kommen. Wenn du die nicht brauchst, rausnehmen/überspringen lassen.

Also configure mit --disable-doc o.ä.

: Bearbeitet durch User
von Thorsten M. (cortex_user)


Lesenswert?

Εrnst B. schrieb:
> Ansonsten scheint deine Fehlermeldung vom Bauen der Dokumentation zu
> kommen. Wenn du die nicht brauchst, rausnehmen/überspringen lassen.

Kannst du mir vielleicht mal die richtige Datei heraus suchen? 
Vielleicht habe ich mich da kirre gemacht wegen der vielen Dateien.

von Εrnst B. (ernst)


Lesenswert?

sdcc-src-20230604-14110.tar.bz2 heruntergeladen, entpackt.
1
# PIC-Ports habe ich abgeschaltet, weil ich keine gputils installiert habe
2
./configure --disable-doc --disable-pic14-port --disable-pic16-port
3
4
# kein sudo
5
make -j8
6
7
# fertig.
8
# für "sudo make install" hätte ich beim configure besser noch einen prefix angeben.

von Thorsten M. (cortex_user)


Lesenswert?

Es dudelt.....und rödelt .... und er ist durch! Klappt!
Danke!

von Εrnst B. (ernst)


Lesenswert?

Thorsten M. schrieb:
> und rödelt

Hätte ich dazuschreiben sollen: "make -j8" nutzt 8 CPU-Kerne. Wenn dein 
Rechner/Fileserver weniger hat oder das RAM nicht für 8 gleichzeitige 
Compiler-Läufe ausreicht, macht es das langsamer statt schneller.

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

Εrnst B. schrieb:
> für "sudo make install" hätte ich beim configure besser noch einen
> prefix angeben.

Was mit autotools i.d.R auch geht ist
1
make install prefix=/foo/bar/bazz

Man muss also nicht alles neu configurieren und maken nur für eine 
andere --prefix.

von Εrnst B. (ernst)


Lesenswert?

Johann L. schrieb:
> Man muss also nicht alles neu configurieren und maken nur für eine
> andere --prefix.

Compiliert er den prefix-basierten Suchpfad für includes/libraries etc 
nicht mit ins Binary?

von Philipp Klaus K. (pkk)


Lesenswert?

Thorsten M. schrieb:
> WARNING: 'makeinfo' is missing on your system.

Auf Debian ist makeinfo im Paket texinfo, auf Mint meines Wissens 
ebenso. Das sollte sich also per "apt-get install texinfo" oder ähnlich 
installieren lassen.

: Bearbeitet durch User
von Thorsten M. (cortex_user)


Lesenswert?

Philipp Klaus K. schrieb:
> Thorsten M. schrieb:
>> WARNING: 'makeinfo' is missing on your system.
>
> Auf Debian ist makeinfo im Paket texinfo, auf Mint meines Wissens
> ebenso. Das sollte sich also per "apt-get install texinfo" oder ähnlich
> installieren lassen.

Ah, der Meister persönlich. Danke! Es laeuft aber auch ohne wenn man die 
Warnung ignoriert. Ich muss da erstmal wieder eintauchen in das was ich 
vor 8 Jahren gemacht habe am Z80... Manb vergisst doch Recht schnell

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.