• Bez kategorii

gnarwl-3.5

GNARWL jest autoresponderem działającym po stronie serwera pocztowego, jest to odpowiednik programu Vacation wzbogacony m. in. o współpracę z katalogiem LDAP. Więcej informacji o programie oraz jego zastosowaniu można znaleźć na stronie projektu: http://www.onyxbits.de/gnarwl. Ja nie będę się nad tym rozwodził, skupię się na kompilacji i instalacji tego oprogramowania pod Solarisem 10 przy użyciu kompilatora z Sun Studio.

Ogólnie mówiąc GNARWL nie jest przystosowany do kompilacji przy użyciu Sun Studio, ale po pewnych poprawkach da się tego dokonać. Pierwszym problemem jest opcja -Wall w CFLAGS. Powoduje ona wyświetlanie wszystkich ostrzeżeń (Warning) przy kompilacji z użyciem gcc. W Solarisowym cc nie ma takiej opcji, więc należy się jej pozbyć najlepiej od razu z Makefile.in (patch w załączniku). Następnym problemem może być brak ścieżek do bibliotek lub brak oprogramowania pomocniczego. U mnie był już zainstalowany OpenLDAP ale brakowało GDBM i groff. Kompilację tych brakujących klocków opisałem na osobnych stronach do których prowadzą odnośniki.

Pozostaje jeszcze sprawić aby przy linkowaniu były brane pod uwagę ustawione przez nas flagi kompilatora CFLAGS i LDFLAGS. Jak przyjrzymy się plikowi Makefile.in, to widać, że flagi te ustawiane są bez uwzględnienia flag ze środowiska. Wobec tego znów należy wyedytować plik Makefile.in i dopisać do CFLAGS i LFLAGS odpowiednio @CFLAGS@ i @LDFLAGS@ @LIBS@. Do zmiennej środowiskowej LIBS dopisałem "-liconv -lmtsk" aby dołączył biblioteki libiconv i libmtsk. Aby w przyszłości nie kombinować wytworzyłem patcha, którego umieściłem w załączniku. Aby go nałożyć trzeba być w katalogu nadrzędnym dla źródeł gnarwl i użyć polecenia:
$ patch -u -p0 < gnarwl-3.5-s10-patch-by-drfugazi.diff
Oczywiście polecam GNU patch (gpatch).
I jeszcze jedno - jeśli wystąpią takie błędy podczas instalacji (make install):

find: cannot follow symbolic link /bin/bil2xd: No such file or directory
find: cannot follow symbolic link /bin/checkjava: No such file or directory
find: cannot follow symbolic link /bin/gil2xd: No such file or directory
find: cannot follow symbolic link /bin/smallxd: No such file or directory
[...]
find: cycle detected for /lib/32/
find: cycle detected for /lib/secure/32/
[...]
install: gnarwl was not found anywhere!
gmake[1]: *** [install] Error 2

to znaczy, że Solarisowy install (/usr/sbin/install) nie radzi sobie z instalacją i należy użyć GNU install. Znajduje się on w pakiecie GNU Coreutils, obok wielu innych często przydatnych narzędzi GNU, ale ja wyciągnąłem sobie tylko ginstall (gmake ginstall).

Może Ci się również spodoba

Dodaj komentarz

This site uses Akismet to reduce spam. Learn how your comment data is processed.