g++ Shared Libraries

S

Stimpy83

Grünschnabel
Hallo,

erst einmal wollte ich in meinem ersten Post natürlich dem Forum sehr freundlich Hallo sagen: Haaallooo Forum :brav: Ich bin der Stimpy, 30 Jahre als und komme aus Hannover 8)

Leider habe ich ein Problem mit meinem C++ Code bezüglich Libraries und bin komplett verzweifelt, denn ich habe es genau so auf 20 Rechnern schon installiert - Nun bockt ein Rechner aber und ich weiß nicht weiter. Wir haben ein Projoekt wo wir mit CygWin für Linux programmieren, in diesem Projekt nutzen wie die Bibliothek CGAL. Nun habe ich mir den CGAL Source gezogen und installliert, wie jedes mal, dann kompeliere ich unser C++ Programm, auch wie immer ?(, das linken wie auch das kompilieren verläuft Fehlerfrei.

Wenn ich das Programm nun ausführen will bekomme ich folgende Fehlermeldung:

Code:
/pfad/updatePlayer.exe: error while loading shared libraries: cygCGAL-10.dll: cannot open shared object file: No such file or directory

Das verstehe ich einfach nicht, denn CGAL ist installiert und der make funktioniert ja auch. Was genau kann man bei so einem Fall tun? Ich bin komplett Ratlos wie ich dem Problem Herr werden kann. Wenn ich nun

ldd pfad/updatePlayer.exe mache bekomme ich:


Code:
ldd bin/updatePlayer.exe
        ntdll.dll => /cygdrive/c/Windows/SysWOW64/ntdll.dll (0x77c80000)
        kernel32.dll => /cygdrive/c/Windows/syswow64/kernel32.dll (0x763a0000)
        KERNELBASE.dll => /cygdrive/c/Windows/syswow64/KERNELBASE.dll (0x767c0000)
        cyggcc_s-1.dll => /usr/bin/cyggcc_s-1.dll (0x6ff90000)
        cygwin1.dll => /usr/bin/cygwin1.dll (0x61000000)
        cygstdc++-6.dll => /usr/bin/cygstdc++-6.dll (0x6faa0000)
        cygmysqlclient-18.dll => /usr/bin/cygmysqlclient-18.dll (0x6e680000)
        cygcrypto-1.0.0.dll => /usr/bin/cygcrypto-1.0.0.dll (0x68b80000)
        cygz.dll => /usr/bin/cygz.dll (0x6fa60000)
        cygssl-1.0.0.dll => /usr/bin/cygssl-1.0.0.dll (0x66280000)
        cygCGAL-10.dll => /usr/local/bin/cygCGAL-10.dll (0x6d3c0000)

Den Pfad der bei cygCGAL steht habe ich überprüft , dort liegt eine Datei die genau so heißt und im Pfad liegt.

Mache ich ldd auf diese Datei wiederrum bekomme ich:

Code:
ldd  /usr/local/bin/cygCGAL-10.dll
        ntdll.dll => /cygdrive/c/Windows/SysWOW64/ntdll.dll (0x77c80000)
        kernel32.dll => /cygdrive/c/Windows/syswow64/kernel32.dll (0x763a0000)
        KERNELBASE.dll => /cygdrive/c/Windows/syswow64/KERNELBASE.dll (0x767c0000)
        ??? => ??? (0x6d3c0000)

Was sollen mir die drei Fragezeichen sagen??

Hat hier irgendwer eine Idee was ich machen kann bezüglich der Libraries? Ich bin der Verweiflung sehr nah und hoffe hier weiß jemand Rat.

Vielen Vielen lieben Dank im Vorraus.

Grüße

Stimpy
 
S

Stimpy83

Grünschnabel
Nachdem ich mich nun den ganzen Tag mit diesem Mist auseinander gesetzt habe, habe ich die Lösung des Rätsels gefunden. Der Befehl "cygcheck" liefert eine Liste von Abhängigkeiten in der zu sehen war, das er cygCGAL die ganze Zeit fand - Diese aber auf eine dll von boost verwies mit einer falschen Versionsnummer. Scheinbar hat cygwin eine neue boost Version als Standart gesetzt weshalb CGAL sich nicht mehr ausführen lies :brav:

Trotzdem vielen Dank für alle die Ihren Kopf angestrengt haben und nochmal ein freundlichen Hallo.

Thema ist also gelöst...

Grüße

Stimpy
 

Ähnliche Themen

HP PSC 2175 - CUPS druckt nicht

Statistikprogramm R

Ubuntu X / dbus problem

Modulfehler?

Festplatte friert ein nach suspend/resume

Oben