C++ REST client Library (Linux aarch64) Verständnis Problem
-
Nein für die verwendung brauchst du die "dev" pakete nicht.
Wenn du das curl paket installierst werden nur die binaries installiert um das programm nutzen zu können.
Aber nicht die developer files (wie header und co) um ein programm zu bauen, welches libcurl verwendet
-
@SoIntMan sagte in C++ REST client Library (Linux aarch64) Verständnis Problem:
@firefly sagte in C++ REST client Library (Linux aarch64) Verständnis Problem:
Du must auch die entsprechenden "dev" packete installieren.
hab ich , sonst würde Curl nicht funktionieren!?.. hmmm oder soll ich explizt das dev von der curl download page nochmal installieren,!?
Welche Linux Distro hast du? Warum nutzt du nicht den package Manager?
-
@Leon0402 sagte in C++ REST client Library (Linux aarch64) Verständnis Problem:
Welche Linux Distro hast du? Warum nutzt du nicht den package Manager?
verwendet Ubuntu 18.04 -... hier bekomm ich auch nur cmake 3.10.2...
verwendet atp als pacakge manager
EDIT :
sick@ubuntu:~$ sudo apt-get install -y libcurl-dev Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut. Statusinformationen werden eingelesen.... Fertig Paket libcurl-dev ist ein virtuelles Paket, das bereitgestellt wird von: libcurl4-openssl-dev 7.58.0-2ubuntu3.16 libcurl4-nss-dev 7.58.0-2ubuntu3.16 libcurl4-gnutls-dev 7.58.0-2ubuntu3.16 Sie sollten eines explizit zum Installieren auswählen. E: Für Paket »libcurl-dev« existiert kein Installationskandidat. sick@ubuntu:~$ ^C sick@ubuntu:~$
bin mir oft nich sicher was ich da mache.. aber das klappte auch nich
-
Hast du die Meldung gelesen? Du sollst eins explizit auswählen (ich nutze das letzte "libcurl4-gnutls-dev").
-
@Jockelx sagte in C++ REST client Library (Linux aarch64) Verständnis Problem:
Hast du die Meldung gelesen? Du sollst eins explizit auswählen (ich nutze das letzte "libcurl4-gnutls-dev").
ja sorry das hab ich dann auch so gemacht:)
sudo apt-get install -y libcurl4-gnutls-dev
dann hat er was installiert...
und mit meinen begrenzten linux kenntnisse mal dann das gemacht
sudo apt-cache show curl
damit müsste er mir doch zeigen was er alles im packagemanager an libs mit den name curl hat:
Package: curl Architecture: amd64 Version: 7.58.0-2ubuntu3.16 Multi-Arch: foreign Priority: optional Section: web Origin: Ubuntu Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> Original-Maintainer: Alessandro Ghedini <ghedo@debian.org> Bugs: https://bugs.launchpad.net/ubuntu/+filebug Installed-Size: 388 Depends: libc6 (>= 2.17), libcurl4 (= 7.58.0-2ubuntu3.16), zlib1g (>= 1:1.1.4) Filename: pool/main/c/curl/curl_7.58.0-2ubuntu3.16_amd64.deb Size: 158796 MD5sum: e5df9d6d7dc54ec5e638590d284fe352 SHA1: 7e182b6ae08d60b324fca717345579113105aaf6 SHA256: 50bfe5c8151aa26d0d096166765fceaba1f6044614d343e0d89fc31222b6a5be SHA512: 55a49db12b720402b91f71e248664763b5fe573147bce7ea891b735a4513b60a3830c00571c435ffc80339f340cdb615d79705fa0bdf39bced48946189dc697f Homepage: http://curl.haxx.se Description-de: Befehlszeilenwerkzeug zur Dateiübertragung mit URL-Syntax curl ist ein Befehlszeilenwerkzeug zur Dateiübertragung mit URL-Syntax. Es unterstützt DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, TELNET und TFTP. . curl unterstützt SSL-Zertifikate, HTTP POST, HTTP PUT, Hochladen zu FTP, Hochladen von HTTP-Formularen, Proxys, Cookies, Benutzerauthentifizierung mit Name und Passwort (einfach, verschlüsselt (Digest), NTLM, Negotiate, Kerberos), Wiederaufnahme von Dateiübertragungen, tunneln von HTTP-Proxys und jede Menge weitere nützliche Tricks. Description-md5: f83293d10df083ae6f7bb7d01642913c Task: cloud-image, server, ubuntu-budgie-desktop Supported: 5y Package: curl Architecture: amd64 Version: 7.58.0-2ubuntu3 Multi-Arch: foreign Priority: optional Section: web Origin: Ubuntu Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> Original-Maintainer: Alessandro Ghedini <ghedo@debian.org> Bugs: https://bugs.launchpad.net/ubuntu/+filebug Installed-Size: 386 Depends: libc6 (>= 2.17), libcurl4 (= 7.58.0-2ubuntu3), zlib1g (>= 1:1.1.4) Filename: pool/main/c/curl/curl_7.58.0-2ubuntu3_amd64.deb Size: 158884 MD5sum: 43f1eab4dcfdaab2d4b9f8ade5b5c58e SHA1: 5878faa881e0b475d3a6870b47423b0f0304a530 SHA256: 02c53c28334b2c6b1aa9643ae585744ee90ce113fbb7699f9607e38e82b9d526 Homepage: http://curl.haxx.se Description-de: Befehlszeilenwerkzeug zur Dateiübertragung mit URL-Syntax curl ist ein Befehlszeilenwerkzeug zur Dateiübertragung mit URL-Syntax. Es unterstützt DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, TELNET und TFTP. . curl unterstützt SSL-Zertifikate, HTTP POST, HTTP PUT, Hochladen zu FTP, Hochladen von HTTP-Formularen, Proxys, Cookies, Benutzerauthentifizierung mit Name und Passwort (einfach, verschlüsselt (Digest), NTLM, Negotiate, Kerberos), Wiederaufnahme von Dateiübertragungen, tunneln von HTTP-Proxys und jede Menge weitere nützliche Tricks. Description-md5: f83293d10df083ae6f7bb7d01642913c Task: cloud-image, server, ubuntu-budgie-desktop Supported: 5y
aber das is die command-curl anwendung ode !? (die verwendet libcurl we ich sehe? aber wie finde ich die, bzw.
we referenzier ich mich mit cmake auf die libcurl (die irgendwo sein muss!?!)wenn ich dann dann das dateilsystem mach "curl" suche (k.a. ob das so richtig is):
find ./ -name *curl*
komm das
./cmake-3.20.0/Utilities/cmcurl ./cmake-3.20.0/Utilities/cmcurl/include/curl ./cmake-3.20.0/Utilities/cmcurl/include/curl/curlver.h ./cmake-3.20.0/Utilities/cmcurl/include/curl/curl.h ./cmake-3.20.0/Utilities/cmcurl/CMake/curl-config.cmake.in ./cmake-3.20.0/Utilities/cmcurl/curltest.c ./cmake-3.20.0/Utilities/cmcurl/lib/curl_gethostname.c ./cmake-3.20.0/Utilities/cmcurl/lib/curl_des.c ./cmake-3.20.0/Utilities/cmcurl/lib/curl_gssapi.c ./cmake-3.20.0/Utilities/cmcurl/lib/curl_printf.h ./cmake-3.20.0/Utilities/cmcurl/lib/libcurl.rc ./cmake-3.20.0/Utilities/cmcurl/lib/curl_setup.h ./cmake-3.20.0/Utilities/cmcurl/lib/curl_ntlm_core.h ./cmake-3.20.0/Utilities/cmcurl/lib/curl_sspi.h ./cmake-3.20.0/Utilities/cmcurl/lib/curl_base64.h ./cmake-3.20.0/Utilities/cmcurl/lib/curl_multibyte.h ./cmake-3.20.0/Utilities/cmcurl/lib/curl_range.h ./cmake-3.20.0/Utilities/cmcurl/lib/curl_ntlm_wb.h ./cmake-3.20.0/Utilities/cmcurl/lib/curl_get_line.c ./cmake-3.20.0/Utilities/cmcurl/lib/curl_threads.h ./cmake-3.20.0/Utilities/cmcurl/lib/curl_addrinfo.c ./cmake-3.20.0/Utilities/cmcurl/lib/libcmcurl.a ./cmake-3.20.0/Utilities/cmcurl/lib/curl_config.h.cmake ./cmake-3.20.0/Utilities/cmcurl/lib/curl_path.h ./cmake-3.20.0/Utilities/cmcurl/lib/curl_threads.c ./cmake-3.20.0/Utilities/cmcurl/lib/curl_config.h ./cmake-3.20.0/Utilities/cmcurl/lib/curl_gssapi.h ./cmake-3.20.0/Utilities/cmcurl/lib/curl_multibyte.c ./cmake-3.20.0/Utilities/cmcurl/lib/curlx.h ./cmake-3.20.0/Utilities/cmcurl/lib/curl_ntlm_wb.c ./cmake-3.20.0/Utilities/cmcurl/lib/curl_fnmatch.c ./cmake-3.20.0/Utilities/cmcurl/lib/curl_memrchr.c ./cmake-3.20.0/Utilities/cmcurl/lib/curl_addrinfo.h ./cmake-3.20.0/Utilities/cmcurl/lib/curl_memory.h ./cmake-3.20.0/Utilities/cmcurl/lib/curl_sha256.h ./cmake-3.20.0/Utilities/cmcurl/lib/curl_range.c ./cmake-3.20.0/Utilities/cmcurl/lib/curl_rtmp.c ./cmake-3.20.0/Utilities/cmcurl/lib/curl_ctype.c ./cmake-3.20.0/Utilities/cmcurl/lib/curl_endian.c ./cmake-3.20.0/Utilities/cmcurl/lib/curl_ctype.h ./cmake-3.20.0/Utilities/cmcurl/lib/curl_md4.h ./cmake-3.20.0/Utilities/cmcurl/lib/curl_sspi.c ./cmake-3.20.0/Utilities/cmcurl/lib/curl_fnmatch.h ./cmake-3.20.0/Utilities/cmcurl/lib/curl_ntlm_core.c ./cmake-3.20.0/Utilities/cmcurl/lib/curl_setup_once.h ./cmake-3.20.0/Utilities/cmcurl/lib/curl_rtmp.h ./cmake-3.20.0/Utilities/cmcurl/lib/curl_hmac.h ./cmake-3.20.0/Utilities/cmcurl/lib/curl_gethostname.h ./cmake-3.20.0/Utilities/cmcurl/lib/curl_get_line.h ./cmake-3.20.0/Utilities/cmcurl/lib/curl_endian.h ./cmake-3.20.0/Utilities/cmcurl/lib/curl_sasl.h ./cmake-3.20.0/Utilities/cmcurl/lib/curl_krb5.h ./cmake-3.20.0/Utilities/cmcurl/lib/curl_sasl.c ./cmake-3.20.0/Utilities/cmcurl/lib/curl_md5.h ./cmake-3.20.0/Utilities/cmcurl/lib/CMakeFiles/cmcurl.dir ./cmake-3.20.0/Utilities/cmcurl/lib/CMakeFiles/cmcurl.dir/curl_path.c.o ./cmake-3.20.0/Utilities/cmcurl/lib/CMakeFiles/cmcurl.dir/curl_sspi.c.o.d ./cmake-3.20.0/Utilities/cmcurl/lib/CMakeFiles/cmcurl.dir/curl_fnmatch.c.o.d ./cmake-3.20.0/Utilities/cmcurl/lib/CMakeFiles/cmcurl.dir/curl_path.c.o.d ./cmake-3.20.0/Utilities/cmcurl/lib/CMakeFiles/cmcurl.dir/curl_threads.c.o.d ./cmake-3.20.0/Utilities/cmcurl/lib/CMakeFiles/cmcurl.dir/curl_rtmp.c.o ./cmake-3.20.0/Utilities/cmcurl/lib/CMakeFiles/cmcurl.dir/curl_threads.c.o ./cmake-3.20.0/Utilities/cmcurl/lib/CMakeFiles/cmcurl.dir/curl_gethostname.c.o ./cmake-3.20.0/Utilities/cmcurl/lib/CMakeFiles/cmcurl.dir/curl_multibyte.c.o ./cmake-3.20.0/Utilities/cmcurl/lib/CMakeFiles/cmcurl.dir/curl_ntlm_core.c.o ./cmake-3.20.0/Utilities/cmcurl/lib/CMakeFiles/cmcurl.dir/curl_ctype.c.o ./cmake-3.20.0/Utilities/cmcurl/lib/CMakeFiles/cmcurl.dir/curl_sspi.c.o ./cmake-3.20.0/Utilities/cmcurl/lib/CMakeFiles/cmcurl.dir/curl_sasl.c.o.d ./cmake-3.20.0/Utilities/cmcurl/lib/CMakeFiles/cmcurl.dir/curl_des.c.o ./cmake-3.20.0/Utilities/cmcurl/lib/CMakeFiles/cmcurl.dir/curl_memrchr.c.o ./cmake-3.20.0/Utilities/cmcurl/lib/CMakeFiles/cmcurl.dir/curl_gssapi.c.o ./cmake-3.20.0/Utilities/cmcurl/lib/CMakeFiles/cmcurl.dir/curl_addrinfo.c.o.d ./cmake-3.20.0/Utilities/cmcurl/lib/CMakeFiles/cmcurl.dir/curl_memrchr.c.o.d ./cmake-3.20.0/Utilities/cmcurl/lib/CMakeFiles/cmcurl.dir/curl_endian.c.o.d ./cmake-3.20.0/Utilities/cmcurl/lib/CMakeFiles/cmcurl.dir/curl_addrinfo.c.o ./cmake-3.20.0/Utilities/cmcurl/lib/CMakeFiles/cmcurl.dir/curl_gssapi.c.o.d ./cmake-3.20.0/Utilities/cmcurl/lib/CMakeFiles/cmcurl.dir/curl_get_line.c.o ./cmake-3.20.0/Utilities/cmcurl/lib/CMakeFiles/cmcurl.dir/curl_get_line.c.o.d ./cmake-3.20.0/Utilities/cmcurl/lib/CMakeFiles/cmcurl.dir/curl_ntlm_wb.c.o.d ./cmake-3.20.0/Utilities/cmcurl/lib/CMakeFiles/cmcurl.dir/curl_fnmatch.c.o ./cmake-3.20.0/Utilities/cmcurl/lib/CMakeFiles/cmcurl.dir/curl_range.c.o ./cmake-3.20.0/Utilities/cmcurl/lib/CMakeFiles/cmcurl.dir/curl_rtmp.c.o.d ./cmake-3.20.0/Utilities/cmcurl/lib/CMakeFiles/cmcurl.dir/curl_ctype.c.o.d ./cmake-3.20.0/Utilities/cmcurl/lib/CMakeFiles/cmcurl.dir/curl_des.c.o.d ./cmake-3.20.0/Utilities/cmcurl/lib/CMakeFiles/cmcurl.dir/curl_ntlm_core.c.o.d ./cmake-3.20.0/Utilities/cmcurl/lib/CMakeFiles/cmcurl.dir/curl_sasl.c.o ./cmake-3.20.0/Utilities/cmcurl/lib/CMakeFiles/cmcurl.dir/curl_multibyte.c.o.d ./cmake-3.20.0/Utilities/cmcurl/lib/CMakeFiles/cmcurl.dir/curl_gethostname.c.o.d ./cmake-3.20.0/Utilities/cmcurl/lib/CMakeFiles/cmcurl.dir/curl_range.c.o.d ./cmake-3.20.0/Utilities/cmcurl/lib/CMakeFiles/cmcurl.dir/curl_ntlm_wb.c.o ./cmake-3.20.0/Utilities/cmcurl/lib/CMakeFiles/cmcurl.dir/curl_endian.c.o ./cmake-3.20.0/Utilities/cmcurl/lib/curl_des.h ./cmake-3.20.0/Utilities/cmcurl/lib/curl_ldap.h ./cmake-3.20.0/Utilities/cmcurl/lib/curl_path.c ./cmake-3.20.0/Utilities/cmcurl/lib/curl_memrchr.h ./cmake-3.20.0/Utilities/cmcurl/curltest ./cmake-3.20.0/Utilities/cmcurl/CMakeFiles/curltest.dir ./cmake-3.20.0/Utilities/cmcurl/CMakeFiles/curltest.dir/curltest.c.o ./cmake-3.20.0/Utilities/cmcurl/CMakeFiles/curltest.dir/curltest.c.o.d ./cmake-3.20.0/Utilities/Scripts/update-curl.bash ./cmake-3.20.0/Utilities/cm3p/curl ./cmake-3.20.0/Utilities/cm3p/curl/curl.h
leider keine lib files von libcurl
-
@SoIntMan sagte in C++ REST client Library (Linux aarch64) Verständnis Problem:
wenn ich dann dann das dateilsystem mach "curl" suche (k.a. ob das so richtig is):
find ./ -name curlUnd von welchem verzeichnis aus hast du das gemacht? -> Sieht so aus als wärst du in deinem home verzeichnis und suchst nur in dem.
Probier mal:
find /usr/ -name *curl*
Das liefert u.a. bei mir:
/usr/lib/libcurl.so /usr/lib/libcurl.so.4 /usr/lib/libcurl.so.4.7.0 /usr/bin/curl /usr/include/curl /usr/include/curl/curl.h /usr/include/curl/curlver.h
Also sprich shared library, curl binary für die konsole und include verzeichnisse.
Gibt dir CMake denn immer noch den selben Fehler? Hat sich irgendwas geänder? (Sagt er immer noch missing CURL_LIBRARY und CURL_INCLUDE_DIR?)
-
@Leon0402 sagte in C++ REST client Library (Linux aarch64) Verständnis Problem:
Und von welchem verzeichnis aus hast du das gemacht? -> Sieht so aus als wärst du in deinem home verzeichnis und suchst nur in dem.
Aha ok:
/usr/include/x86_64-linux-gnu/curl /usr/include/x86_64-linux-gnu/curl/curlver.h /usr/include/x86_64-linux-gnu/curl/curl.h /usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.3 /usr/lib/x86_64-linux-gnu/libcurl-gnutls.a /usr/lib/x86_64-linux-gnu/libcurl.so /usr/lib/x86_64-linux-gnu/libcurl-gnutls.so /usr/lib/x86_64-linux-gnu/libcurl.so.4.5.0 /usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4.5.0 /usr/lib/x86_64-linux-gnu/pkgconfig/libcurl.pc /usr/lib/x86_64-linux-gnu/libcurl.so.4 /usr/lib/x86_64-linux-gnu/libcurl.la /usr/lib/x86_64-linux-gnu/libcurl.a /usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4 /usr/lib/x86_64-linux-gnu/libcurl-gnutls.la /usr/lib/python3.6/macurl2path.py /usr/lib/python3.6/__pycache__/macurl2path.cpython-36.pyc /usr/lib/python2.7/macurl2path.py /usr/lib/python2.7/macurl2path.pyc /usr/bin/curl /usr/bin/curl-config /usr/share/aclocal/libcurl.m4 /usr/share/lintian/overrides/libcurl3-gnutls /usr/share/bash-completion/completions/curl /usr/share/zsh/vendor-completions/_curl /usr/share/man/man1/curl.1.gz /usr/share/man/man1/curl-config.1.gz /usr/share/doc/curl /usr/share/doc/libcurl4 /usr/share/doc/libcurl3-gnutls /usr/share/doc/libcurl4-gnutls-dev
jetzt müste ich ja die "/usr/lib/x86_64-linux-gnu/libcurl.so" mit Add_library in cmakelist einfügen können!?
Aber du meintest das "statiche" einbinden von a oder so files in die cmakelist is nicht ok!?
EDIT:
ok
/usr/include/x86_64-linux-gnu/curl /usr/include/x86_64-linux-gnu/curl/curlver.h /usr/include/x86_64-linux-gnu/curl/curl.h
oder das sind die header für mein Host linux,
ich kompiliere code für ein linux sub-system für arm64. d.h. ich muss die libcurl arm64 für das sub-system installieren... hmm.. oh jesus:09
-
@SoIntMan sagte in C++ REST client Library (Linux aarch64) Verständnis Problem:
ich kompiliere code für ein linux sub-system für arm64. d.h. ich muss die libcurl arm64 für das sub-system installieren... hmm.. oh jesus:09
Dann musst du dich mit cross compiling und dem setup der entsprechenden dependencies beschäftigen.
Oder du verwendest zum bauen direkt ein ARM64 system mit linux
-
@SoIntMan sagte in C++ REST client Library (Linux aarch64) Verständnis Problem:
jetzt müste ich ja die "/usr/lib/x86_64-linux-gnu/libcurl.so" mit Add_library in cmakelist einfügen können!?
Aber du meintest das "statiche" einbinden von a oder so files in die cmakelist is nicht ok!?Irgendwie nervt es mich etwas mich widerholen zu müssen. Wenn irgendwas unklar an meinem Post oben war, in dem ich erklärt habe, warum man eher mit CMake Targets arbeiten sollte, dann stell gerne Fragen.
Aber ich weiß nicht, was ich auf "?!" antworten soll.@SoIntMan sagte in C++ REST client Library (Linux aarch64) Verständnis Problem:
ich kompiliere code für ein linux sub-system für arm64. d.h. ich muss die libcurl arm64 für das sub-system installieren... hmm.. oh jesus:09
Das wäre vlt. durchaus eine relevante Info gewesen. Ja das nennt sich cross compiling. Dein Stichwort für cmake sind hier Toolchains:
https://cmake.org/cmake/help/latest/manual/cmake-toolchains.7.html#cross-compiling-for-linuxDu musst dann halt CMake sagen, wo er die sachen für dein Zielsystem findet und Compiler, Library Pfade etc. mit den entsprechenden cmake variablen setzen.
-
@Leon0402 sagte in C++ REST client Library (Linux aarch64) Verständnis Problem:
rgendwie nervt es mich etwas mich widerholen zu müssen. Wenn irgendwas unklar an meinem Post oben war, in dem ich erklärt habe, warum man eher mit CMake Targets arbeiten sollte, dann stell gerne Fragen.
Aber ich weiß nicht, was ich auf "?!" antworten soll.Ja hast recht, ich stell mich gerade blöd an.. sorry.
ich werde mich da jetzt erst mal intensiv beschäftigen, und frage dann konkret:)
Danke euch für die Hilfe