TNN compile Error

Benutzeravatar
DMA284
Santiago 8
Beiträge: 916
Registriert: So 24. Jun 2018, 14:54
Standort in der Userkarte: JO52IR

TNN compile Error

#1

Beitrag von DMA284 »

Moin!

Bin gerade auf einem kleinen Retro Tripp und versuche mein altes PR Setup von Damals wieder nachzubauen. Leider scheitert es beim compilieren von TNN von https://github.com/DeltaLima/TheNetNode-CB mit diversen Errors.

Ich vermute das der Sourcecode für aktuelle compiler Tools veraltet ist und es deswegen unter meinem Linux Mint Debian Edition 5 nicht richtig compiliert. Jemand ne Idee wie ich das beheben kann. Googlen hat mir nicht wirklich geholfen. Jemand nen Tipp was man machen könnte, oder gibts irgendwo nen Archiv mit fertig compilierten TNN?

Code: Alles auswählen

Linking bin/tnn /usr/bin/ld: src/callstr.o:/home/TheNetNode-CB-master/os/linux/linux.h:219: multiple definition of `cShell'; src/buffer.o:/home/TheNetNode-CB-master/os/linux/linux.h:219: first defined here
/usr/bin/ld: src/callstr.o:/home/TheNetNode-CB-master/include/l1attach.h:15: multiple definition of `my_udp'; src/buffer.o:/home/TheNetNode-CB-master/include/l1attach.h:15: first defined here
/usr/bin/ld: src/callstr.o:/home/TheNetNode-CB-master/include/l1attach.h:16: multiple definition of `tokenflag'; src/buffer.o:/home/TheNetNode-CB-master/include/l1attach.h:16: first defined here
/usr/bin/ld: src/callstr.o:/home/TheNetNode-CB-master/include/l1attach.h:23: multiple definition of `iDescriptor'; src/buffer.o:/home/TheNetNode-CB-master/include/l1attach.h:23: first defined here
/usr/bin/ld: src/callstr.o:/home/TheNetNode-CB-master/include/l1ipconv.h:25: multiple definition of `ip_tbl'; src/buffer.o:/home/TheNetNode-CB-master/include/l1ipconv.h:25: first defined here
/usr/bin/ld: src/cvs_cmds.o:/home/TheNetNode-CB-master/os/linux/linux.h:219: multiple definition of `cShell'; src/buffer.o:/home/TheNetNode-CB-master/os/linux/linux.h:219: first defined here
.
. Ausgabe gekürzt da wiederholend
.
/usr/bin/ld: src/version.o:/home/TheNetNode-CB-master/os/linux/linux.h:219: multiple definition of `cShell'; src/buffer.o:/home/TheNetNode-CB-master/os/linux/linux.h:219: first defined here
/usr/bin/ld: src/version.o:/home/TheNetNode-CB-master/include/l1attach.h:15: multiple definition of `my_udp'; src/buffer.o:/home/TheNetNode-CB-master/include/l1attach.h:15: first defined here
/usr/bin/ld: src/version.o:/home/TheNetNode-CB-master/include/l1attach.h:16: multiple definition of `tokenflag'; src/buffer.o:/home/TheNetNode-CB-master/include/l1attach.h:16: first defined here
/usr/bin/ld: src/version.o:/home/TheNetNode-CB-master/include/l1attach.h:23: multiple definition of `iDescriptor'; src/buffer.o:/home/TheNetNode-CB-master/include/l1attach.h:23: first defined here
/usr/bin/ld: src/version.o:/home/TheNetNode-CB-master/include/l1ipconv.h:25: multiple definition of `ip_tbl'; src/buffer.o:/home/TheNetNode-CB-master/include/l1ipconv.h:25: first defined here
collect2: error: ld returned 1 exit status
make: *** [makefile:334: bin/tnn] Fehler 1
55 & 73
Name: Marc-Andre Skip: Winchester
Zuhause: Alinco DR-135DX, Venom 5/8 Wave Hy-Gain Stationsantenne
Mobil: CRT SS 9900v4, LEMM Turbo-2001 Classic Festeinbau
Standmobil: Wie Mobil, mit diversen Koax-Drahtantennen am GFK Mast oder hängend am Baum
Benutzeravatar
D1TNE
Santiago 1
Beiträge: 5
Registriert: So 24. Jul 2022, 14:42
Standort in der Userkarte: hh
Kontaktdaten:

Re: TNN compile Error

#2

Beitrag von D1TNE »

kann sein das der GCC Compiler zu neu ist! probiere mal einen um version 8 rum
Hardware: Minipc auf 12Volt autark betrieben, mit Stabo XM5012 und Halbwelle
TNC2S mit 6PACK und 1 TNC2S und TNC2H mit AFSK Platine im Backup
Benutzeravatar
DocEmmettBrown
Santiago 9+30
Beiträge: 7611
Registriert: Sa 3. Jan 2015, 02:37
Standort in der Userkarte: nein

Re: TNN compile Error

#3

Beitrag von DocEmmettBrown »

So, ich habe mir den Quellcode mal angesehen und erkläre Dir den Fehler:

buffer.c inkludiert in Zeile 51 über tnn.h verschiedene Headerdateien. Da greife ich mal ein Beispiel heraus: os/linux/linux.h
In linux .h wird z.B. in Zeile 219 z.B. cShell definiert: "char cShell[512]; /* Pfad zu Shell */"
Wenn der Compiler erstmalig über diese Zeile geht, dann reserviert/deklariert er für diesen Zeiger cShell eben diese 512 Bytes. Bis jetzt alles gut.

Wird nun in der C-Datei, die gerade kompiliert wird, oder in einer der verschachtelten Headerdateien die o.g. linux.h ein weiteres Mal inkludiert, dann versucht der Compiler, für cShell abermals ("multiple") diese 512 Bytes zu reservieren/deklarieren, merkt aber, daß dies bereits getan wurde und bringt natürlich einen Fehler.

Wenn Du das verhindern willst, dann sollte in jeder H-Datei (Beispiel linux.h) zu Beginn so etwas stehen wie:

Code: Alles auswählen

#ifndef __LINUX_H__
#define __LINUX_H__
...jetzt der Inhalt der ganzen Headerdatei...
#endif /* #ifndef __LINUX_H__ */
Jetzt könnte im obigen Beispiel der Inhalt nur noch ein einziges Mal deklariert werden, weil beim ersten Durchlauf jetzt das Makro __LINUX_H__ gesetzt wäre und bei einer erneuten Makroabfrage der Bereich zwischen #ifndef und #endif nicht nochmal ("multiple") inkludiert wird. :wink:

73 de Daniel
Benutzeravatar
DLM274
Santiago 1
Beiträge: 22
Registriert: Mo 5. Mai 2008, 20:03
Standort in der Userkarte: Berlin
Wohnort: Berlin
Kontaktdaten:

Re: TNN compile Error

#4

Beitrag von DLM274 »

Hallo zusammen!

Als ich das hier las, habe ich fix unter Ubuntu 20.04 TNN übersetzt und es lief ohne Fehler durch. Unter welcher Distribution versucht ihr TNN zu compilieren?

73&55

EDIT: build-essential paket sollte vorher installiert worden sein
Benutzeravatar
DMA284
Santiago 8
Beiträge: 916
Registriert: So 24. Jun 2018, 14:54
Standort in der Userkarte: JO52IR

Re: TNN compile Error

#5

Beitrag von DMA284 »

DLM274 hat geschrieben: Mi 2. Nov 2022, 11:40
Als ich das hier las, habe ich fix unter Ubuntu 20.04 TNN übersetzt und es lief ohne Fehler durch. Unter welcher Distribution versucht ihr TNN zu compilieren?

EDIT: build-essential paket sollte vorher installiert worden sein
Linux Mint 21.1

55 & 73
Name: Marc-Andre Skip: Winchester
Zuhause: Alinco DR-135DX, Venom 5/8 Wave Hy-Gain Stationsantenne
Mobil: CRT SS 9900v4, LEMM Turbo-2001 Classic Festeinbau
Standmobil: Wie Mobil, mit diversen Koax-Drahtantennen am GFK Mast oder hängend am Baum
Benutzeravatar
DLM274
Santiago 1
Beiträge: 22
Registriert: Mo 5. Mai 2008, 20:03
Standort in der Userkarte: Berlin
Wohnort: Berlin
Kontaktdaten:

Re: TNN compile Error

#6

Beitrag von DLM274 »

64 oder 32 bit? :)
(findest du mit einem 'uname -a' heraus)
Benutzeravatar
DMA284
Santiago 8
Beiträge: 916
Registriert: So 24. Jun 2018, 14:54
Standort in der Userkarte: JO52IR

Re: TNN compile Error

#7

Beitrag von DMA284 »

64 Bit, was sonst? :wink:

55 & 73
Name: Marc-Andre Skip: Winchester
Zuhause: Alinco DR-135DX, Venom 5/8 Wave Hy-Gain Stationsantenne
Mobil: CRT SS 9900v4, LEMM Turbo-2001 Classic Festeinbau
Standmobil: Wie Mobil, mit diversen Koax-Drahtantennen am GFK Mast oder hängend am Baum
Benutzeravatar
DLM274
Santiago 1
Beiträge: 22
Registriert: Mo 5. Mai 2008, 20:03
Standort in der Userkarte: Berlin
Wohnort: Berlin
Kontaktdaten:

Re: TNN compile Error

#8

Beitrag von DLM274 »

alles klar, sehr gut :) Ich habe in der letzten Zeit tatsächlich noch Menschen gesehen, die eine 32 Bit Installation täglich betreiben :)

Ich installiere mir gerade ein Mint 21.1 Cinnamon in einer VM und versuche es dann in dieser umgebung selbst zu compilen. Meine Ergebnisse folgen dann sogleich ich fertig bin :)

73&55
Benutzeravatar
DLM274
Santiago 1
Beiträge: 22
Registriert: Mo 5. Mai 2008, 20:03
Standort in der Userkarte: Berlin
Wohnort: Berlin
Kontaktdaten:

Re: TNN compile Error

#9

Beitrag von DLM274 »

Kurzes update bis hier hin: unter Debian 10 und Ubuntu 20.04 compiled es wunderbar.. Unter Debian 11 , Ubuntu 22.04 und Mint 21.1 nicht - soweit ich mich bis hier hin reingelesen habe, scheint es etwas mit der neuren GCC Version zu tun zu haben. Debian 10 bspw nutzt standardmäßig gcc-8 .. mit neueren Versionen scheint es wohl Probleme zu geben.

So weit der Zwischenstand. Sollte ich weiteres herausgefunden haben, melde ich mich wieder.

73&55
Benutzeravatar
DLM274
Santiago 1
Beiträge: 22
Registriert: Mo 5. Mai 2008, 20:03
Standort in der Userkarte: Berlin
Wohnort: Berlin
Kontaktdaten:

Re: TNN compile Error

#10

Beitrag von DLM274 »

D1TNE hat geschrieben: So 24. Jul 2022, 16:35 kann sein das der GCC Compiler zu neu ist! probiere mal einen um version 8 rum
Die Vermutung scheint wohl korrekt zu sein (jetzt erst diesen Beitrag gelesen, jedoch liest sich das auch in ähnlichen Fallen so, die ich bislang fand)
Benutzeravatar
DLM274
Santiago 1
Beiträge: 22
Registriert: Mo 5. Mai 2008, 20:03
Standort in der Userkarte: Berlin
Wohnort: Berlin
Kontaktdaten:

Re: TNN compile Error

#11

Beitrag von DLM274 »

Linux Mint 21.1 bringt noch gcc-9 mit, damit geht es dann:

Code: Alles auswählen

# gcc-9 und build-essential installieren
$ sudo apt install gcc-9 build-essential

# gcc symlink auf gcc-9 umbiegen
$ sudo ln -sf /usr/bin/gcc-9 /usr/bin/gcc
Benutzeravatar
DocEmmettBrown
Santiago 9+30
Beiträge: 7611
Registriert: Sa 3. Jan 2015, 02:37
Standort in der Userkarte: nein

Re: TNN compile Error

#12

Beitrag von DocEmmettBrown »

Und kurzerhand einen GCC 8 installieren wäre zu einfach?

73 de Daniel
Benutzeravatar
DLM274
Santiago 1
Beiträge: 22
Registriert: Mo 5. Mai 2008, 20:03
Standort in der Userkarte: Berlin
Wohnort: Berlin
Kontaktdaten:

Re: TNN compile Error

#13

Beitrag von DLM274 »

DocEmmettBrown hat geschrieben: Fr 30. Dez 2022, 22:57 Und kurzerhand einen GCC 8 installieren wäre zu einfach?

73 de Daniel
Ist nicht mehr in den Repos von Ubuntu 22.04 und Mint 21.1 enthalten. Somit eben der 9er , der ebenfalls noch funktioniert.
Benutzeravatar
DocEmmettBrown
Santiago 9+30
Beiträge: 7611
Registriert: Sa 3. Jan 2015, 02:37
Standort in der Userkarte: nein

Re: TNN compile Error

#14

Beitrag von DocEmmettBrown »

DLM274 hat geschrieben: Fr 30. Dez 2022, 23:32
DocEmmettBrown hat geschrieben: Fr 30. Dez 2022, 22:57Und kurzerhand einen GCC 8 installieren wäre zu einfach?
Ist nicht mehr in den Repos von Ubuntu 22.04 und Mint 21.1 enthalten. Somit eben der 9er , der ebenfalls noch funktioniert.
Und mit z.B. dem 9er kann man keinen 8er GCC übersetzen?
Außerdem hatte ich eine Fehlerkorrektur weiter oben schon einmal beschrieben.

73 de Daniel
Benutzeravatar
DMA284
Santiago 8
Beiträge: 916
Registriert: So 24. Jun 2018, 14:54
Standort in der Userkarte: JO52IR

Re: TNN compile Error

#15

Beitrag von DMA284 »

DocEmmettBrown hat geschrieben: Fr 30. Dez 2022, 23:53
Außerdem hatte ich eine Fehlerkorrektur weiter oben schon einmal beschrieben.
Das hatte ich probiert. Aber hatte keine Wirkung gezeigt. Wurden immer noch die selben Fehler geschmissen.

55 & 73
Name: Marc-Andre Skip: Winchester
Zuhause: Alinco DR-135DX, Venom 5/8 Wave Hy-Gain Stationsantenne
Mobil: CRT SS 9900v4, LEMM Turbo-2001 Classic Festeinbau
Standmobil: Wie Mobil, mit diversen Koax-Drahtantennen am GFK Mast oder hängend am Baum
Antworten

Zurück zu „PR - Software“