Kann libcrypto in Ubuntu nicht finden

Lesezeit: 2 Minuten

Benutzeravatar von Limavolt
Limavolt

Ich möchte ein Programm ausprobieren, das ein Makefile enthält, aber wenn ich es ablege make In der Shell war der Fehler:

 g++ -g -DaUNIX -I../../acroname/aInclude -I../../acroname/aSource -Wl,-rpath,.     unix_aLaserDemo_Data/aLaserDemo.o unix_aLaserDemo_Data/acpLaser.o -lpthread -lcrypto -lssl  -o ../../acroname/aBinary/aLaserDemo
/usr/bin/ld: cannot find -lcrypto
collect2: ld returned 1 exit status

Hier ist das Makefile:

 CC = g++
 CFLAGS = -DaUNIX -I../../acroname/aInclude -I../../acroname/aSource
 LFLAGS = -Wl,-rpath,.
 SRC = ../../acroname/aSource
 BIN = ../../acroname/aBinary
 LIBS = -lpthread -lcrypto -lssl \
 #LIBS = -lpthread\
       -L../../acroname/aBinary -l aUtil -l aIO
 OBJ = unix_aLaserDemo_Data

.PHONY : app
 app : $(OBJ) $(BIN)/aLaserDemo

$(OBJ) :
        mkdir $(OBJ)

$(BIN)/aLaserDemo : $(OBJ)/aLaserDemo.o $(OBJ)/acpLaser.o
        $(CC) -g $(CFLAGS) $(LFLAGS) $^ $(LIBS) -o $@

$(OBJ)/aLaserDemo.o : aLaserDemo.cpp
        $(CC) -c $(CFLAGS) $< -o $@

$(OBJ)/acpLaser.o : $(SRC)/acpLaser.cpp $(SRC)/acpLaser.h
        $(CC) -c $(CFLAGS) $< -o $@

 .PHONY : clean
 clean :
    rm -rf $(OBJ)
    rm -f $(BIN)/aLaserDemo

Ich versuche, die Kryptobibliothek zu finden:

 /usr/lib/i486/libcrypto.so.0.9.8
 /usr/lib/i586/libcrypto.so.0.9.8
 /usr/lib/i686/cmov/libcrypto.so.0.9.8
 /usr/lib/libcrypto.so.0.9.8

Was soll ich tun, um es zu beheben?

  • Woher wissen wir, dass es 64 Bit oder 32 Bit ist? Ich bin Anfänger in Linux.

    – Limavolt

    11. Dezember 2012 um 1:01 Uhr

  • Sie müssen den Entwicklungscode (Paket) für die Kryptobibliothek installieren. Konkret brauchen Sie /usr/lib/libcrypto.so (kein numerisches Suffix) zeigt auf (symlinked to) /usr/lib/libcrypto.so.0.9.8. Der Verknüpfungsprozess sucht nach einer Namensendung .so; die Laufzeit sucht nach dem Namen mit dem versionierten Suffix. Das devel Paket stellt sicher, dass die richtigen Links für die Entwicklung mit der Kryptobibliothek erstellt werden; was du im Moment hast, ist nur für die Laufzeit.

    – Jonathan Leffler

    11. Dezember 2012 um 1:03 Uhr


  • du kannst tun uname -a um zu prüfen, ob es 64bit ist. Auch tun sudo apt-get install libssl-dev Entwicklungspaket zu installieren.

    – perreal

    11. Dezember 2012 um 1:03 Uhr

  • Leider habe ich keinen Root-Zugriff. Ich versuche zu #LIBS = -lpthread -lcrypto -lssl \ und ändere zu LIBS = -lpthread\ aber es treten viel mehr Fehler auf

    – Limavolt

    11. Dezember 2012 um 1:08 Uhr


  • Wenn ich uname -a mache, ist das Ergebnis: Linux pc4268 2.6.20-16-generic #2 SMP Sun 23. September 19:50:39 UTC 2007 i686 GNU/Linux

    – Limavolt

    11. Dezember 2012 um 1:11 Uhr

Benutzeravatar von Patrick T. Anderson
Patrick T. Anderson

Ich habe dies am 12.10 gelöst, indem ich libssl-dev installiert habe.

sudo apt-get install libssl-dev

  • das ist so unintuitiv

    – Dagobert Duck

    25. Mai um 16:45 Uhr

Benutzeravatar von shrinidhi joshi
shrinidhi joshi

ld versucht zu finden libcrypto.sodie nicht vorhanden ist, wie in Ihrem gesehen locate Ausgang. Sie können eine Kopie davon erstellen libcrypto.so.0.9.8 und benenne es als libcrypto.so. Setzen Sie dies ist Ihr ld-Pfad. (Wenn Sie keinen Root-Zugriff haben, können Sie es in einen lokalen Pfad einfügen und den Pfad manuell angeben.)

  • Können Sie angeben, wie zu setzen libcrypto.so im ld-Pfad?

    – ThunderPhoenix

    19. November 2014 um 19:08 Uhr

1410220cookie-checkKann libcrypto in Ubuntu nicht finden

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy