C Programm kompilieren - benötigt "MD5"

  • C

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von Leseratte.

    C Programm kompilieren - benötigt "MD5"

    Hallo,

    ich möchte ein C-Programm komplett aus dem Quellcode kompilieren. Ein "./configure" gibts nicht, also habe ich direkt "make" aufgerufen. Läuft auch teilweise durch, stoppt dann aber mit folgenden Fehlern:

    Quellcode

    1. test-test.o: In Funktion `CalcProof.isra.1':
    2. test-test.c:(.text+0x1ae): Nicht definierter Verweis auf `MD5'
    3. test-test.c:(.text+0x2de): Nicht definierter Verweis auf `MD5_Init'
    4. test-test.c:(.text+0x2f0): Nicht definierter Verweis auf `MD5_Update'
    5. test-test.c:(.text+0x302): Nicht definierter Verweis auf `MD5_Update'
    6. test-test.c:(.text+0x31b): Nicht definierter Verweis auf `MD5_Update'
    7. test-test.c:(.text+0x329): Nicht definierter Verweis auf `MD5_Update'
    8. test-test.c:(.text+0x337): Nicht definierter Verweis auf `MD5_Update'
    9. test-test.o:test-test.c:(.text+0x34e): Weitere nicht definierte Verweise auf `MD5_Update' folgen
    10. test-test.o: In Funktion `CalcProof.isra.1':
    11. test-test.c:(.text+0x35b): Nicht definierter Verweis auf `MD5_Final'
    12. test-test.o: In Funktion `AnalyseInputtest':
    13. test-test.c:(.text+0x78ab): Nicht definierter Verweis auf `MD5_Init'
    14. test-test.c:(.text+0x78cb): Nicht definierter Verweis auf `MD5_Update'
    15. test-test.c:(.text+0x78e1): Nicht definierter Verweis auf `MD5_Update'
    16. test-test.c:(.text+0x78fb): Nicht definierter Verweis auf `MD5_Update'
    17. test-test.c:(.text+0x790d): Nicht definierter Verweis auf `MD5_Final'
    18. collect2: error: ld returned 1 exit status
    19. Makefile:148: recipe for target 'test' failed
    20. make: *** [test] Error 1


    Da fehlt wohl irgend ne MD5 Library - aber wo bekomme ich die her? Ich benutze Ubuntu und da scheint wohl einiges anders zu sein als unter anderen Linux-Systemen. Der Entwickler der Software meint, ich bräuchte "libssl-dev".

    Ich habe aber sowohl "libssl1.0.0" als auch "libssl-dev" als auch jede Menge andere Pakete deren Namen damit zu tun haben könnte, installiert. An der Fehlermeldung ändert sich nix.
    Wie bekomme ich das kompiliert? Kann mir irgend ein C-Entwickler sagen, welches Paket ich unter Ubuntu installieren muss, damit das durchläuft?

    Leseratte
    Äääh ...
    Das ganze bitte nochmal für jemanden, der noch nie ein C-Programm selber kompiliert hat (abgesehen von Programmen, wo "./configure; make; make install" funktioniert).

    Was für lib-Dateien und wo muss ich die einbinden?
    Die Option "-lssl" ist gesetzt, falls das gemeint ist. Auch "-lcrypto" habe ich getestet, hat auch nix gebracht. "-lmd5" findet er erst gar nicht.
    Was genau muss ich denn einbinden? Lässt sich das ohne Kenntnis des Codes überhaupt sagen?

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Leseratte“ ()

    Ich bin kein C Programmierer, aber das sieht für mich auf den ersten Blick nach einem Linker Fehler aus. Soll heißen, dass du irgendwo diese MD5 Bibliothek verwendest, dem Linker jedoch nicht sagst wo die Bibliothek liegt.
    Ergo hat er nen
    ​Nicht definierter Verweis
    . Wie wo was du das angeben musst, musst du schon selbst wissen. Erst recht wenn du eigene make scripts verwendest.


    Opensource Audio-Bibliothek auf github: KLICK, im Showroom oder auf NuGet.