Pagina 1 di 1

Compilazione di Cinepaint sulla slack fallisce

Inviato: dom 1 apr 2007, 14:14
da syaochan
Ciao a tutti.
Sto cercando di compilare cinepaint, richiede openexr che ho installato dal repository di slacky, ma a un certo punto la compilazione fallisce.

Codice: Seleziona tutto

g++ -g -O2 -o .libs/openexr chroma_icc.o openexr.o -rdynamic  ../../lib/.libs/libcinepaint.so -L/usr/lib -L/usr/X11R6/lib /usr/lib/libgtk.so /usr/lib/libgdk.so /usr/lib/libgmodule.so -ldl -lXext -lX11 /usr/lib/libIlmImf.so -L/usr/i486-slackware-linux/bin -L/usr/i486-slackware-linux/lib -L/usr/lib/gcc/i486-slackware-linux/../../../i486-slackware-linux/lib -L/usr/lib/gcc/i486-slackware-linux/../.. /usr/lib/libIlmThread.so /usr/lib/libImath.so /usr/lib/libHalf.so /usr/lib/libIex.so /usr/lib/libstdc++.so -lz /usr/lib/liblcms.so -lm -lc /usr/lib/libglib.so
/usr/lib/libIlmThread.so: undefined reference to `pthread_join'
collect2: ld returned 1 exit status
make[2]: *** [openexr] Error 1
Ho provato quindi a compilare sulla mia macchina openexr e qualcosa è cambiato... in peggio!
Ora l'errore è questo:

Codice: Seleziona tutto

g++ -g -O2 -o .libs/openexr chroma_icc.o openexr.o -rdynamic  ../../lib/.libs/libcinepaint.so -L/usr/lib -L/usr/X11R6/lib /usr/lib/libgtk.so /usr/lib/libgdk.so /usr/lib/libgmodule.so -ldl -lXext -lX11 /usr/lib/libIlmImf.so -L/usr/i486-slackware-linux/bin -L/usr/i486-slackware-linux/lib -L/usr/lib/gcc/i486-slackware-linux/../../../i486-slackware-linux/lib -L/usr/lib/gcc/i486-slackware-linux/../.. /usr/lib/libIlmThread.so /usr/lib/libImath.so /usr/lib/libHalf.so /usr/lib/libIex.so /usr/lib/libstdc++.so -lz /usr/lib/liblcms.so -lm -lc /usr/lib/libglib.so
/usr/lib/libIlmThread.so: undefined reference to `sem_destroy'
/usr/lib/libIlmThread.so: undefined reference to `sem_wait'
/usr/lib/libIlmThread.so: undefined reference to `sem_post'
/usr/lib/libIlmThread.so: undefined reference to `sem_init'
/usr/lib/libIlmThread.so: undefined reference to `sem_getvalue'
/usr/lib/libIlmThread.so: undefined reference to `pthread_join'
collect2: ld returned 1 exit status
make[2]: *** [openexr] Error 1
Avete idee su come posso risolvere?
Grazie.
C.

Inviato: dom 1 apr 2007, 14:24
da Meskalamdug
Apri plug-ins/openexr/Makefile cerca
OPENEXR_LIBS =
e aggiungi -pthread
dovrebbe essere cosi'

OPENEXR_LIBS = -pthread
oppure
OPENEXR_LIBS = "-pthread"

Poi salvi e ricompili
Ciao

Inviato: dom 1 apr 2007, 15:25
da useless
Senza moddare niente:

Codice: Seleziona tutto

$ LDFLAGS="-lpthread" make

Inviato: dom 1 apr 2007, 17:18
da syaochan
Grazie mille.
Poi c'è un'altra modifica da fare, in app/app_procs.c bisogna aggiungere:
static void app_update_prefix (void);
Ciao!