[gelöst] telegram_cli - Probleme beim Kompilieren

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
TomL

[gelöst] telegram_cli - Probleme beim Kompilieren

Beitrag von TomL » 10.10.2017 19:20:34

(übernommen von viewtopic.php?f=30&t=167081)

Und das zweite ist, der Kompiler. Ich habe nicht Git geclont, sondern einfach das Paket selber runtergeladen ... was auch tadellos geklappt hat.

Code: Alles auswählen

wget https://github.com/vysheng/tg/archive/master.zip -O tg-master.zip
Als nächstes habe ich mir eben schnell unter /tmp einen systemd-nspawn-Container eingerichtet und dort Stretch ge'debootstrap't. Dann ein paar Pakete und fehlende Abhängigkeiten installiert:

Code: Alles auswählen

apt install mc build-essential
apt install zlib1g-dev libreadline-dev libconfig-dev libssl-dev lua5.2 liblua5.2-dev libevent-dev libjansson-dev libpython-dev make 
Als nächstes wollte ich dann ./configure und make starten.... tja... configure läuft ohne Fehler durch, aber make nörgelt... mit folgender Meldung:

Code: Alles auswählen

root@d9_container:/home/Downloads/tg-master# make
make: *** Keine Regel vorhanden, um das Ziel „tgl/scheme.tl“, 
  benötigt von „auto/scheme.tl“, zu erstellen.  Schluss.
Ich habe mir verschiedene Anleitungen angesehen, die sehen alle prinzipiell gleich aus..... z.B.
https://www.maketecheasier.com/use-tele ... mand-line/
https://wiki.ubuntuusers.de/Telegram/
.... aber geht trotzdem nicht. Liegt das an meinem Container? Hat jemand vielleicht eine Idee, wo es hängen könnte?
Zuletzt geändert von TomL am 11.10.2017 21:15:22, insgesamt 1-mal geändert.

dillo
Beiträge: 359
Registriert: 28.05.2005 19:53:56

Re: telegram_cli - Probleme beim Kompilieren

Beitrag von dillo » 10.10.2017 23:13:20

Bei dem gezip-ten tg-repo fehlt das tgl-repo. Das Unterverzeichnis tgl ist dann leer. Am einfachsten checkst du beide repos gleichzeitig mit

Code: Alles auswählen

git clone --recursive https://github.com/vysheng/tg.git 
aus, dann ist alles komplett.

Lässt sich allerdings nur mit gcc-6 kompilieren, auf meinem sid musste ich zum Kompilieren vom siebener auf den sechser umstellen, sonst:

Code: Alles auswählen

tgl/tl-parser/tl-parser.c: In function ‘tl_parse_args134’:
tgl/tl-parser/tl-parser.c:1907:21: error: ‘sprintf’ may write a terminating nul past the end of the destination [-Werror=format-overflow=]
         sprintf (s, "%lld", lrand48 () * (1ll << 32) + lrand48 ());
                     ^~~~~~
tgl/tl-parser/tl-parser.c:1907:9: note: ‘sprintf’ output between 2 and 21 bytes into a destination of size 20
         sprintf (s, "%lld", lrand48 () * (1ll << 32) + lrand48 ());
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
Makefile.tl-parser:4: die Regel für Ziel „objs/tl-parser.o“ scheiterte
make: *** [objs/tl-parser.o] Fehler 1 

TomL

Re: telegram_cli - Probleme beim Kompilieren

Beitrag von TomL » 11.10.2017 14:06:51

Dank Deines Hinweises konnte ich das erste Problem lösen, um dann aber auf ein neues zu stoßen. Es klappte zunächst auch ohne Git-Clone, nachdem ich die zwei fehlenden Pakete noch in die entsprechenden Verzeichnisse kopiert habe. Das sind die 3 Zipfiles:
- tg-master.zip
- tgl-master.zip
- tl-parser-master.zip

Aber Make "kanns" trotzdem noch nicht.... ich habe neue Fehler:

Code: Alles auswählen

root@d9_container:/home/Downloads/tg-master# make
gcc -I. -I. -I./tgl -g -O2  -I/usr/local/include -I/usr/include -I/usr/include -I/usr/include/lua5.2  -DHAVE_CONFIG_H -Wall -Werror -Wextra -Wno-missing-field-initializers -Wno-deprecated-declarations -fno-strict-aliasing -fno-omit-frame-pointer -ggdb -Wno-unused-parameter -fPIC -iquote ./tgl -c -MP -MD -MF dep/crypto/rsa_pem_openssl.d -MQ objs/crypto/rsa_pem_openssl.o -o objs/crypto/rsa_pem_openssl.o tgl/crypto/rsa_pem_openssl.c
tgl/crypto/rsa_pem_openssl.c: In function ‘TGLC_rsa_new’:
tgl/crypto/rsa_pem_openssl.c:41:6: error: dereferencing pointer to incomplete type ‘RSA {aka struct rsa_st}’
   ret->e = unwrap_bn (TGLC_bn_new ());
      ^~
tgl/crypto/rsa_pem_openssl.c: In function ‘TGLC_rsa_n’:
tgl/crypto/rsa_pem_openssl.c:52:1: error: control reaches end of non-void function [-Werror=return-type]
 RSA_GETTER(n);
 ^~~~~~~~~~
tgl/crypto/rsa_pem_openssl.c: In function ‘TGLC_rsa_e’:
tgl/crypto/rsa_pem_openssl.c:53:1: error: control reaches end of non-void function [-Werror=return-type]
 RSA_GETTER(e);
 ^~~~~~~~~~
cc1: all warnings being treated as errors
Makefile.tgl:20: die Regel für Ziel „objs/crypto/rsa_pem_openssl.o“ scheiterte
make: *** [objs/crypto/rsa_pem_openssl.o] Fehler 1
Scheinbar gehts hier um Zusammenhänge im Sourcecode.... da reicht es bei mir nicht aus, um damit umzugehen. Das ist die Umgebung, in der ich das zu kompilieren versuch habe, also auch mit Version 6.*

Code: Alles auswählen

uname -a
Linux d9_container 4.9.0-4-amd64 #1 SMP Debian 4.9.51-1 (2017-09-28) x86_64 GNU/Linux

dpkg -l | grep gcc
ii  gcc                           4:6.3.0-4                    amd64        GNU C compiler
ii  gcc-6                         6.3.0-18                     amd64        GNU C compiler
ii  gcc-6-base:amd64              6.3.0-18                     amd64        GCC, the GNU Compiler Collection (base package)
ii  libgcc-6-dev:amd64            6.3.0-18                     amd64        GCC support library (development files)
ii  libgcc1:amd64                 1:6.3.0-18                   amd64        GCC support library
Nachtrag:
Um sicher zu sein, dass es nicht doch an meinen Zip's gelegen hat, habe ich das Paket doch noch via git geclont. Gleiches Ergebnis, gleicher Fehler.

Und noch'n Nachtrag... auf dem Banana Pi mit Jessie, auf dem es auch laufen sollte... es wurde ohne Fehler kompiliert. Tja... sehr merkwürdig....

Code: Alles auswählen

dpkg -l gcc
ii  gcc                                      4:4.9.2-2                 armhf                     GNU C compiler

mat6937
Beiträge: 2946
Registriert: 09.12.2014 10:44:00

Re: telegram_cli - Probleme beim Kompilieren

Beitrag von mat6937 » 11.10.2017 14:47:47

TomL hat geschrieben: ↑ zum Beitrag ↑
11.10.2017 14:06:51
Und noch'n Nachtrag... auf dem Banana Pi mit Jessie, auf dem es auch laufen sollte... es wurde ohne Fehler kompiliert. Tja... sehr merkwürdig....
Wie ist auf beiden Systemen, die Ausgabe von:

Code: Alles auswählen

apt-cache policy libssl-dev
?

TomL

Re: telegram_cli - Probleme beim Kompilieren

Beitrag von TomL » 11.10.2017 15:18:58

Code: Alles auswählen

thomas@d9_container:~
$ apt-cache policy libssl-dev
libssl-dev:
  Installiert:           1.1.0f-3
  Installationskandidat: 1.1.0f-3
  Versionstabelle:
 *** 1.1.0f-3 500
        500 http://deb.debian.org/debian stretch/main amd64 Packages
        100 /var/lib/dpkg/status

Code: Alles auswählen

thomas@banpi:~
$ apt-cache policy libssl-dev
libssl-dev:
  Installiert:           1.0.1t-1+deb8u6
  Installationskandidat: 1.0.1t-1+deb8u6
  Versionstabelle:
 *** 1.0.1t-1+deb8u6 0
        500 http://mirrordirector.raspbian.org/raspbian/ jessie/main armhf Packages
        100 /var/lib/dpkg/status

mat6937
Beiträge: 2946
Registriert: 09.12.2014 10:44:00

Re: telegram_cli - Probleme beim Kompilieren

Beitrag von mat6937 » 11.10.2017 15:25:51

TomL hat geschrieben: ↑ zum Beitrag ↑
11.10.2017 15:18:58

Code: Alles auswählen

thomas@d9_container:~
$ apt-cache policy libssl-dev
libssl-dev:
  Installiert:           1.1.0f-3
 
Es gibt einen Patch: https://github.com/vysheng/tgl/issues/129

debianoli
Beiträge: 4071
Registriert: 07.11.2007 13:58:49
Lizenz eigener Beiträge: MIT Lizenz

Re: telegram_cli - Probleme beim Kompilieren

Beitrag von debianoli » 11.10.2017 15:26:06

Klappt das mit dem Versenden von Telegram Nachrichten vom Pi bereits?

TomL

Re: telegram_cli - Probleme beim Kompilieren

Beitrag von TomL » 11.10.2017 15:44:57

Ja, es klappt ... und was soll ich sagen, ich bin total begeistert.... das ist richtig klasse. :D ... zu Anfang etwas verwirrend, weil Empfänger-Namen immer zweiteilig erfasst werden, also mit Vorname und Nachname, aber beim Senden kann nur ein Parameter übergeben werden. Ohne Anführungszeichen bemeckert er einen Parser-Fehler (was klar ist), in Anführungszeichen gehts, aber die Meldung kommt nicht an. Es funktioniert, wenn Vorname und Nachname mit _ verbunden werden. Und die Namen sind case-sensitive. *hmmm*.... das ist blöd, weil man sich beim Senden nicht mehr daran erinnert, wie man ihn hinterlegt hat. Ich werds also generell als kleingeschrieben einrichten. Aber es ist klasse... :THX:

dillo
Beiträge: 359
Registriert: 28.05.2005 19:53:56

Re: telegram_cli - Probleme beim Kompilieren

Beitrag von dillo » 11.10.2017 17:59:21

Wenn du es auf dem Rechner mit Stretch auch gerne hättest, ersetze dort mal libssl-dev durch libssl1.0-dev.

TomL

Re: telegram_cli - Probleme beim Kompilieren

Beitrag von TomL » 11.10.2017 21:14:37

dillo hat geschrieben: ↑ zum Beitrag ↑
11.10.2017 17:59:21
Wenn du es auf dem Rechner mit Stretch auch gerne hättest, ersetze dort mal libssl-dev durch libssl1.0-dev.
Nee, danke für den Tip, aber wir nutzen das eigentlich so gut wie gar nicht. Es beschränkt sich faktisch nur auf familieninterne "Kommunikation" , immer für die oder den, der gerade ausser Haus sind und erreicht werden muss. Da passiert wirkich nicht viel mit. Und weils deshalb auf den Smartphones sowieso installiert ist, bietet es sich jetzt an, es mit den Cam-Motion-Alarm meines Banana Pi zu koppeln. Und ich weiss, dass Telegram problemlos über alle Länder klappt. Das ursprüngliche Problem ist gelöst.

TomL

Re: telegram_cli - Probleme beim Kompilieren

Beitrag von TomL » 12.10.2017 15:10:38

dillo hat geschrieben: ↑ zum Beitrag ↑
11.10.2017 17:59:21
Wenn du es auf dem Rechner mit Stretch auch gerne hättest, ersetze dort mal libssl-dev durch libssl1.0-dev.
So ganz hat mich das noch nicht in Ruhe gelassen... :) ... und ich habs aus Neugier jetzt doch getestet. Klasse! :THX: Es hat mit dieser Lib unter Stretch im ersten Versuch funktioniert, ganz ohne Fehlermeldungen. Sogar der unter Raspian von mir rausgepatchte Assertation-Errror tritt hier nicht mehr auf. Tadellos!

Antworten