Hallo,
ich muss ein kleines C-Programm schreiben und soll darin OpenSSL nutzen. In Ubuntu 10.04 ist OpenSSL aber ohne Camellia-Support kompiliert, was ich zwingend benötige. Also habe ich mir gedacht, dass ich mir OpenSSL einfach selber baue...
1 2 3 4 5 6 7 | wget http://openssl.org/source/openssl-1.0.0a.tar.gz tar xfz openssl-1.0.0a.tar.gz cd openssl-1.0.0a ./config make make test make install |
Installiert wurde es nach /usr/local/ssl Und in der NetBeans-IDE habe ich dem Projekt auch das zusätzliche Include-Dir /usr/local/ssl/include/openssl und Linker-Dir /usr/local/ssl zugeordnet.
In meinem Code sind folgende Includes
1 2 3 4 5 | #include <stdio.h> #include <stdlib.h> #include <sys/stat.h> #include "/usr/local/ssl/include/openssl/evp.h" #include "/usr/local/ssl/include/openssl/crypto.h" |
Beim Kompilieren bekomme ich jetzt folgende Fehler
/usr/bin/make -f nbproject/Makefile-Debug.mk SUBPROJECTS= .clean-conf make[1]: Betrete Verzeichnis '/home/christian/NetBeansProjects/s12345' rm -f -r build/Debug rm -f dist/Debug/GNU-Linux-x86/s12345 make[1]: Verlasse Verzeichnis '/home/christian/NetBeansProjects/s12345' CLEAN SUCCESSFUL (total time: 260ms) /usr/bin/make -f nbproject/Makefile-Debug.mk SUBPROJECTS= .build-conf make[1]: Betrete Verzeichnis '/home/christian/NetBeansProjects/s12345' /usr/bin/make -f nbproject/Makefile-Debug.mk dist/Debug/GNU-Linux-x86/s12345 make[2]: Betrete Verzeichnis '/home/christian/NetBeansProjects/s12345' mkdir -p build/Debug/GNU-Linux-x86 rm -f build/Debug/GNU-Linux-x86/s12345.o.d gcc -c -g -I/usr/local/ssl/include/openssl -MMD -MP -MF build/Debug/GNU-Linux-x86/s12345.o.d -o build/Debug/GNU-Linux-x86/s12345.o s12345.c In file included from s12345.c:11: /usr/local/ssl/include/openssl/evp.h:132: error: expected ‘:’, ‘,’, ‘;’, ‘}’ or ‘__attribute__’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:269: error: expected specifier-qualifier-list before ‘EVP_PKEY_CTX’ /usr/local/ssl/include/openssl/evp.h:572: error: expected declaration specifiers or ‘...’ before ‘EVP_PKEY_CTX’ /usr/local/ssl/include/openssl/evp.h:577: error: expected declaration specifiers or ‘...’ before ‘EVP_PKEY_CTX’ /usr/local/ssl/include/openssl/evp.h:892: error: expected declaration specifiers or ‘...’ before ‘ASN1_PCTX’ /usr/local/ssl/include/openssl/evp.h:894: error: expected declaration specifiers or ‘...’ before ‘ASN1_PCTX’ /usr/local/ssl/include/openssl/evp.h:896: error: expected declaration specifiers or ‘...’ before ‘ASN1_PCTX’ /usr/local/ssl/include/openssl/evp.h:956: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:957: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:958: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:960: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:964: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:966: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:967: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:969: error: expected ‘)’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:971: error: expected ‘)’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:972: error: expected ‘)’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:980: error: expected ‘)’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:985: error: expected ‘)’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:995: error: expected ‘)’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:997: error: expected ‘)’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:1055: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:1056: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:1057: error: expected ‘)’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:1058: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:1060: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:1061: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:1062: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:1063: error: expected ‘)’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:1065: error: expected ‘)’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:1067: error: expected ‘)’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:1070: error: expected ‘)’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:1071: error: expected ‘)’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:1076: error: expected ‘)’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:1077: error: expected ‘)’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:1078: error: expected ‘)’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:1080: error: expected ‘)’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:1082: error: expected ‘)’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:1083: error: expected ‘)’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:1085: error: expected ‘)’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:1086: error: expected ‘)’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:1089: error: expected ‘)’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:1090: error: expected ‘)’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:1093: error: expected ‘)’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:1094: error: expected ‘)’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:1097: error: expected ‘)’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:1098: error: expected ‘)’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:1101: error: expected ‘)’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:1102: error: expected ‘)’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:1106: error: expected ‘)’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:1107: error: expected ‘)’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:1108: error: expected ‘)’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:1110: error: expected ‘)’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:1112: error: expected ‘)’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:1113: error: expected ‘)’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:1114: error: expected ‘)’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:1115: error: expected ‘)’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:1117: error: expected ‘)’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:1118: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:1120: error: expected ‘)’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:1122: error: expected ‘)’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:1125: error: expected ‘)’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:1128: error: expected ‘)’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:1131: error: expected ‘)’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:1135: error: expected ‘)’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:1139: error: expected ‘)’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:1144: error: expected ‘)’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:1149: error: expected ‘)’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:1155: error: expected ‘)’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:1160: error: expected ‘)’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:1165: error: expected ‘)’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:1170: error: expected ‘)’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:1175: error: expected ‘)’ before ‘*’ token /usr/local/ssl/include/openssl/evp.h:1179: error: expected ‘)’ before ‘*’ token s12345.c: In function ‘main’: s12345.c:30: warning: assignment makes pointer from integer without a cast make[2]: *** [build/Debug/GNU-Linux-x86/s12345.o] Fehler 1 make[2]: Verlasse Verzeichnis '/home/christian/NetBeansProjects/s12345' make[1]: *** [.build-conf] Fehler 2 make[1]: Verlasse Verzeichnis '/home/christian/NetBeansProjects/s12345' make: *** [.build-impl] Fehler 2 BUILD FAILED (exit value 2, total time: 566ms)
Auch wenn ich es manuell kompilieren will, kommen diese Fehler.
1 | gcc -I/usr/local/ssl/include/openssl/ -L/usr/local/ssl/ s1234.c -lcrypto |
Da muss irgendetwas beim Kompilieren/Installieren von OpenSSL schief gelaufen sein, oder?
Hat schon mal jemand ähnliches versucht und kann mir Tipps dazu geben?
Mein Ubuntu-System läuft nur in einer VM, ich bin also zu allen Schandtaten bereit 😀
Gruß