openssl a PIC

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
ubtjacenty
Piegowaty Guziec
Piegowaty Guziec
Posty: 1
Rejestracja: 23 wrz 2009, 14:17
Płeć: Mężczyzna
Wersja Ubuntu: 8.04
Środowisko graficzne: GNOME
Architektura: x86

openssl a PIC

Post autor: ubtjacenty »

Witam.

Mam projekt biblioteki dzielonej , który składa się z kilku skompilowanych plików w c++ ( własne ), kilku bibliotek statycznych ( własne ) oraz kilku bibliotek dzielonych ( obce ). Swoje elementy kompilowałem zawsze z opcją -fPIC aby wynikowo uzykać bibliotekę bez relokacji w segmencie kodu.
Jedną z bibliotek obcych jest openssl a właściwie libcrypto.
Jeżeli dołączam do projektu libcrypto.so to wynikowa biblioteka nie zawiera sekcji TEXTREL czyli jest taka jak być powinna. Jeżeli do projektu dołączam libcrypto.a ( a zależy mi na tym aby openssl mieć statycznie w mojej bibliotece ) to niestety wynikowa biblioteka zawiera sekcję TEXTREL.
Próbowałem openssl'a dołączonego czy też doinstalowanego Synapticem jak i openssl'a skompilowanego przeze mnie ze źródeł i efekt jest zawsze ten sam czyli z libcrypto jako .so jest OK a z libcrypto jako .a jest NOK.
Czy ktoś wie co powoduje ten efekt ?

Pozdrawiam
Jacek
Awatar użytkownika
el.pescado
Zakręcona Traszka
Zakręcona Traszka
Posty: 734
Rejestracja: 26 maja 2005, 11:43
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

Odp: openssl a PIC

Post autor: el.pescado »

Biblioteki .a są to biblioteki statyczne - czyli przeznaczone do włączenia na stałe do wynikowego programu, więc w takim przypadku PIC jest niepotrzebny.

Spróbuj przed budowaniem openssl pobawić się opcjami skryptu ./configure - może akurat się uda. Ewentualnie ręcznie dopisz -fPIC do Makefile;)
ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 9 gości