ОС: Solaris 10# gcc -v
Reading specs from /usr/local/lib/gcc-lib/sparc-sun-solaris2.10/3.3.2/specs
Configured with: ../configure --with-as=/usr/ccs/bin/as --with-ld=/usr/ccs/bin/l
d --disable-nls
Thread model: posix
gcc version 3.3.2#./configure
...
checking whether pthreads work with -pthread... yes
checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE
checking if more special flags are required for pthreads... -D_REENTRANT
...#make
...
gcc -shared -Wl,-h -Wl,libnnfc.so.0 -o .libs/libnnfc.so.0.0.0 .libs/nnfc_lib.o .libs/config.o .libs/module.o -R/usr/local/lib -R/usr/lib -R/usr/openwin/lib -R/usr/local/ssl/lib -L/usr/local/ssl/lib -L/usr/openwin/lib -L/usr/lib -L/usr/local/lib /usr/local/lib/libltdl.so -lc -D_REENTRANT -pthread -D_REENTRANT -pthread
gcc: unrecognized option `-pthread'
gcc: unrecognized option `-pthread'
(cd .libs && rm -f libnnfc.so.0 && ln -s libnnfc.so.0.0.0 libnnfc.so.0)
(cd .libs && rm -f libnnfc.so && ln -s libnnfc.so.0.0.0 libnnfc.so)
false cru .libs/libnnfc.a nnfc_lib.o config.o module.o
make[2]: *** [libnnfc.la] Error 1что ему не нравицо?
>что ему не нравицо?он у тебя соляру с BSD попутал.
поменяй в Makefile, получившемся после configure все -pthread на -lpthread и все должно быть OK
действительно, чуть дальше продвинулся, но дальше - хуже :(
gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../lib -D_REENTRANT -lpthread -DSIGNAL_SIGPOLL -DSIGNAL_SIGILL -DSIGNAL_SIGABRT -DSIGNAL_SIGFPE -DSIGNAL_SIGPIPE -DSIGNAL_SIGALRM -DSIGNAL_SIGBUS -DSIGNAL_SIGPROF -DSIGNAL_SIGSYS -DSIGNAL_SIGTRAP -DSIGNAL_SIGVTALRM -DSIGNAL_SIGXCPU -DSIGNAL_SIGXFSZ -DSIGNAL_SIGEMT -DSIGNAL_SIGTSTP -DSIGNAL_SIGTTIN -DSIGNAL_SIGTTOU -c `test -f 'nnfc.c' || echo './'`nnfc.c
gcc: -lpthread: linker input file unused because linking not done
source='signals.c' object='signals.o' libtool=no \
depfile='.deps/signals.Po' tmpdepfile='.deps/signals.TPo' \
depmode=gcc3 /bin/bash ../depcomp \
gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../lib -D_REENTRANT -lpthread -DSIGNAL_SIGPOLL -DSIGNAL_SIGILL -DSIGNAL_SIGABRT -DSIGNAL_SIGFPE -DSIGNAL_SIGPIPE -DSIGNAL_SIGALRM -DSIGNAL_SIGBUS -DSIGNAL_SIGPROF -DSIGNAL_SIGSYS -DSIGNAL_SIGTRAP -DSIGNAL_SIGVTALRM -DSIGNAL_SIGXCPU -DSIGNAL_SIGXFSZ -DSIGNAL_SIGEMT -DSIGNAL_SIGTSTP -DSIGNAL_SIGTTIN -DSIGNAL_SIGTTOU -c `test -f 'signals.c' || echo './'`signals.c
signals.c: In function `n_signal':
signals.c:255: error: `sig_t' undeclared (first use in this function)
signals.c:255: error: (Each undeclared identifier is reported only once
signals.c:255: error: for each function it appears in.)
signals.c:255: error: parse error before "signal_hup"
signals.c:256: error: parse error before "signal_interrupt"
signals.c:257: error: parse error before "signal_interrupt"
signals.c:258: error: parse error before "signal_interrupt"
signals.c:259: error: parse error before "signal_interrupt"
signals.c:260: error: parse error before "signal_usr1"
signals.c:261: error: parse error before "signal_usr2"
signals.c:262: error: parse error before "signal_chld"
make[2]: *** [signals.o] Error 1
Соляровский signals.h не содержит sig_t. Можно попробовать добавить в начало signals.c:typedef void (*sig_t) (int);
Но вообще, эти вещи configure должен сам делать. Что за кривая софтина собирается?
Netflow collector, откуда такая кривизна не знаю. Но люди вроде любят этот коллектор :(
http://sourceforge.net/projects/nnfc/
>Соляровский signals.h не содержит sig_t. Можно попробовать добавить в начало signals.c:
>
>typedef void (*sig_t) (int);
>Undefined first referenced
symbol in file
bind /tmp/nnfc-0.8.1/lib/.libs/libnnfc.so
daemon /tmp/nnfc-0.8.1/lib/.libs/libnnfc.so
gethostbyname cli.o
socket /tmp/nnfc-0.8.1/lib/.libs/libnnfc.so
recvfrom /tmp/nnfc-0.8.1/lib/.libs/libnnfc.so
inet_pton cli.o
inet_ntop signals.o
shutdown /tmp/nnfc-0.8.1/lib/.libs/libnnfc.so
ld: fatal: Symbol referencing errors. No output written to .libs/nnfc
collect2: ld returned 1 exit status
make[2]: *** [nnfc] Error 1
make[2]: Leaving directory `/tmp/nnfc-0.8.1/src'
>
>Undefined
>
>first referenced
> symbol
>
> in file
>bind
>
> /tmp/nnfc-0.8.1/lib/.libs/libnnfc.so
>daemon
>
> /tmp/nnfc-0.8.1/lib/.libs/libnnfc.so
>gethostbyname
>
>cli.o
>socket
>
> /tmp/nnfc-0.8.1/lib/.libs/libnnfc.so
>recvfrom
>
> /tmp/nnfc-0.8.1/lib/.libs/libnnfc.so
>inet_pton
>
> cli.o
>inet_ntop
>
> signals.o
>shutdown
>
> /tmp/nnfc-0.8.1/lib/.libs/libnnfc.so
>ld: fatal: Symbol referencing errors. No output written to .libs/nnfc
>collect2: ld returned 1 exit status
>make[2]: *** [nnfc] Error 1
>make[2]: Leaving directory `/tmp/nnfc-0.8.1/src'при линковке добавь -lnsl -lsocket -lresolv
>при линковке добавь -lnsl -lsocket -lresolv
# make
/bin/bash ../libtool --mode=link gcc -D_REENTRANT -lpthread -DSIGNAL_SIGPOLL -DSIGNAL_SIGILL -DSIGNAL_SIGABRT -DSIGNAL_SIGFPE -DSIGNAL_SIGPIPE -DSIGNAL_SIGALRM -DSIGNAL_SIGBUS -DSIGNAL_SIGPROF -DSIGNAL_SIGSYS -DSIGNAL_SIGTRAP -DSIGNAL_SIGVTALRM -DSIGNAL_SIGXCPU -DSIGNAL_SIGXFSZ -DSIGNAL_SIGEMT -DSIGNAL_SIGTSTP -DSIGNAL_SIGTTIN -DSIGNAL_SIGTTOU -o nnfc -D_REENTRANT -lpthread -lltdl -lnnfc -lnsl -lsocket -lresolv -L../lib nnfc.o signals.o cli.o config.o reader.o
gcc -D_REENTRANT -DSIGNAL_SIGPOLL -DSIGNAL_SIGILL -DSIGNAL_SIGABRT -DSIGNAL_SIGFPE -DSIGNAL_SIGPIPE -DSIGNAL_SIGALRM -DSIGNAL_SIGBUS -DSIGNAL_SIGPROF -DSIGNAL_SIGSYS -DSIGNAL_SIGTRAP -DSIGNAL_SIGVTALRM -DSIGNAL_SIGXCPU -DSIGNAL_SIGXFSZ -DSIGNAL_SIGEMT -DSIGNAL_SIGTSTP -DSIGNAL_SIGTTIN -DSIGNAL_SIGTTOU -o nnfc -D_REENTRANT nnfc.o signals.o cli.o config.o reader.o -lpthread /usr/local/lib/libltdl.so -L/usr/local/lib -L/usr/lib -L/usr/openwin/lib -L/usr/local/ssl/lib -ldl -lnnfc -lnsl -lsocket -lresolv -L/tmp/nnfc-0.8.1/lib -R/usr/local/lib -R/usr/local/lib
ld: fatal: library -lnnfc: not found
ld: fatal: File processing errors. No output written to nnfc
collect2: ld returned 1 exit status
make: *** [nnfc] Error 1ошибка немного другая, но радости не больше :(
>
>ошибка немного другая, но радости не больше :(комрад, ты издеваешься, или как? в прошлый раз libnnfc.so у была по пути /tmp/nnfc-0.8.1/lib/.libs , а в этот раз ты ее ищешь в /tmp/nnfc-0.8.1/lib
блин, сам удивляюсь... Потом снес всё нафик, заново всё развернул, все пожелания внес,- и как всё скомпилилось сразу без ошибок!!! Дай поцелую :D, благодарен, целый день убил на соляру эту.
>gcc: unrecognized option `-pthread'
>что ему не нравицо?Должно быть -lpthread
>#./configureПопробуйте ./configure --help
может там какие специальные опции можно включить