Próbujesz załadować udostępnione lib z bieżącego "." dir w teście jednostkowym na osx.jak sprawić, aby Python załadował dylib na osx
Co działa na Linux i NetBSD jest dowiązaniem _mymodule.so --> ../.libs/libmymodule.so
ale na OSX, Pythona import mymodule
nie znajdzie
_mymodule.dylib --> ../.libs/libmymodule.dylib
Próbowałem dodanie
export DYLD_LIBRARY_PATH=.:$DYLD_LIBRARY_PATH
do skrypt env, nogo. Każda pomoc doceniona.
-Ed
Aktualizacja 06.04.10:
rozwiązany z informacji od Krunk poniżej. Ale kopiowanie lub ln-s'ing dylib do nazwy .so nie rozwiązało go całkowicie. Nadal nie ładował się. Ale mówienie libtoolowi o połączeniu lib z flagą -module stworzyło bibliotekę .so, która by się wczytała. Wersja Pythona z biblioteki działa teraz.
Teraz, gdybym tylko mógł uruchomić działanie biblioteki perl. Buduję pliki perl, python, ruby i lua libs, a ta poprawka działa tylko z Pythonem i Lua.
dziękuję! Twoja odpowiedź wyciągnęła mnie z tego rowu, poprowadziła mnie daleko w dobrą stronę. – navicore
Tak jak zapobiegawczo, nigdy nie używaj statycznych bibliotek w systemie OS X. Są one "przestarzałe", a system OSX zawsze łączyć biblioteki dynamiczne ze statycznymi, jeśli to możliwe, nawet jeśli łączysz się ze statyczną biblioteką. np. jeśli podasz link do /path/to/libfoo.a i libfoo.dylib lub libfoo.so istnieje gdziekolwiek w ścieżce, linker zignoruje twoją prośbę prowadzącą do bardzo interesujących błędów niezdefiniowanego symbolu wykonania, jeśli te dwie mają różne tabele. – jkyle