Menu

#19 FreeBSD 4.11: linking with threads required

closed-fixed
5
2005-03-27
2005-02-20
No

The following message resulted while building on
FreeBSD 4.11R:
_________________

creating librt.la
(cd .libs && rm -f librt.la && ln -s ../librt.la librt.la)
cc -DHAVE_CONFIG_H -I. -I. -I../../include -
I/usr/local/include
-I../../include -O -pipe -march=pentiumpro -pipe -fno-
strict-aliasing -fno-common -fPIC -g
-c `test -f 'comb.c' || echo './'`comb.c
In file included from /usr/include/sys/types.h:126,
from /usr/include/sys/time.h:40,
from ../../include/bu.h:90,
from comb.c:43:
/usr/include/machine/endian.h:53: warning:
`BIG_ENDIAN' redefined
../../include/machine.h:701: warning: this is the
location of the previous
definition
/bin/sh /usr/local/bin/libtool15 --mode=link cc -O -
pipe -march=pentiumpro
-pipe -fno-strict-aliasing -fno-common -fPIC -g -
L/usr/local/lib -pipe
-fno-strict-aliasing -fno-common -fPIC -g -o comb
comb.o librt.la
../../src/libbu/libbu.la -lpng
cc -O -pipe -march=pentiumpro -pipe -fno-strict-
aliasing -fno-common -fPIC -g
-pipe -fno-strict-aliasing -fno-common -fPIC -g -
o .libs/comb comb.o
-L/usr/local/lib ./.libs/librt.so
/usr/ports/cad/brlcad/work/brlcad-
7.0.4/src/libbn/.libs/libbn.so /usr/ports/cad/brlcad/work
/brlcad-7.0.4/src/libbu/.libs/libbu.so
../../src/libbu/.libs/libbu.so
/usr/ports/cad/brlcad/work/brlcad-
7.0.4/src/other/libtcl/.libs/libtcl8.4.so -lz -lm -lpng -Wl,-
-rpath -Wl,/usr/local/brlcad/lib
/usr/ports/cad/brlcad/work/brlcad-
7.0.4/src/libbu/.libs/libbu.so: undefined
reference to `pthread_mutex_unlock'
/usr/ports/cad/brlcad/work/brlcad-
7.0.4/src/libbu/.libs/libbu.so: undefined
reference to `pthread_mutex_lock'
/usr/ports/cad/brlcad/work/brlcad-
7.0.4/src/libbu/.libs/libbu.so: undefined
reference to `pthread_mutex_init'
*** Error code 1

Stop in /usr/ports/cad/brlcad/work/brlcad-
7.0.4/src/librt.
*** Error code 1
___________________
I think this has to be linked with -pthread on FreeBSD
4.x

Discussion

  • Pedro F. Giffuni

    Logged In: YES
    user_id=678384

    Hmm.. linking with threads was not enough, Further ahead:

    /bin/sh /usr/local/bin/libtool15 --mode=compile cc -
    DHAVE_CONFIG_H -I. -I.
    -I../../include -I/usr/local/include -I../../include -
    I/usr/X11R6/include
    -I/usr/X11R6/include -DIF_REMOTE -DIF_AB -DIF_X -
    DIF_OGL -O -pipe -march=pentiumpro
    -pipe -fno-strict-aliasing -fno-common -fPIC -g -c -o
    fbserv_obj.lo `test -f
    'fbserv_obj.c' || echo './'`fbserv_obj.c
    cc -DHAVE_CONFIG_H -I. -I. -I../../include -
    I/usr/local/include
    -I../../include -I/usr/X11R6/include -I/usr/X11R6/include -
    DIF_REMOTE -DIF_AB -DIF_X -DIF_OGL
    -O -pipe -march=pentiumpro -pipe -fno-strict-aliasing -fno-
    common -fPIC -g -c
    fbserv_obj.c -fPIC -DPIC -o .libs/fbserv_obj.o
    In file included from /usr/include/sys/types.h:126,
    from /usr/include/sys/time.h:40,
    from ../../include/bu.h:90,
    from fbserv_obj.c:53:
    /usr/include/machine/endian.h:53: warning: `BIG_ENDIAN'
    redefined
    ../../include/machine.h:701: warning: this is the location of
    the previous
    definition
    In file included from fbserv_obj.c:48:
    /usr/include/sys/socket.h:52: syntax error before
    `sa_family_t'
    /usr/include/sys/socket.h:52: warning: data definition has
    no type or storage
    class
    /usr/include/sys/socket.h:163: syntax error before `u_char'
    /usr/include/sys/socket.h:174: syntax error before `u_short'
    /usr/include/sys/socket.h:188: syntax error before `u_char'
    /usr/include/sys/socket.h:190: `int64_t' undeclared here
    (not in a function)
    /usr/include/sys/socket.h:190: `u_char' undeclared here
    (not in a function)
    /usr/include/sys/socket.h:190: size of array `__ss_pad1' is
    too large
    /usr/include/sys/socket.h:191: syntax error before `int64_t'
    /usr/include/sys/socket.h:192: `u_char' undeclared here
    (not in a function)
    /usr/include/sys/socket.h:192: `int64_t' undeclared here
    (not in a function)
    /usr/include/sys/socket.h:192: `u_char' undeclared here
    (not in a function)
    /usr/include/sys/socket.h:192: `int64_t' undeclared here
    (not in a function)
    /usr/include/sys/socket.h:359: syntax error before `pid_t'
    /usr/include/sys/socket.h:364: syntax error before `gid_t'
    /usr/include/sys/socket.h:399: syntax error before `u_short'
    /usr/include/sys/socket.h:407: syntax error before `caddr_t'
    /usr/include/sys/socket.h:411: syntax error before `caddr_t'
    /usr/include/sys/socket.h:444: syntax error before `recv'
    /usr/include/sys/socket.h:444: warning: data definition has
    no type or storage
    class
    /usr/include/sys/socket.h:445: syntax error before `recvfrom'
    /usr/include/sys/socket.h:445: warning: data definition has
    no type or storage
    class
    /usr/include/sys/socket.h:446: syntax error before `recvmsg'
    /usr/include/sys/socket.h:446: warning: data definition has
    no type or storage
    class
    /usr/include/sys/socket.h:447: syntax error before `send'
    /usr/include/sys/socket.h:447: warning: data definition has
    no type or storage
    class
    /usr/include/sys/socket.h:448: syntax error before `sendto'
    /usr/include/sys/socket.h:449: warning: data definition has
    no type or storage
    class
    /usr/include/sys/socket.h:450: syntax error before `sendmsg'
    /usr/include/sys/socket.h:450: warning: data definition has
    no type or storage
    class
    /usr/include/sys/socket.h:451: syntax error before `off_t'
    In file included from fbserv_obj.c:49:
    /usr/include/netinet/in.h:235: syntax error before `in_addr_t'
    /usr/include/netinet/in.h:287: syntax error before `u_char'
    In file included from /usr/include/netinet/in.h:493,
    from fbserv_obj.c:49:
    /usr/include/netinet6/in6.h:122: syntax error before
    `u_int8_t'
    /usr/include/netinet6/in6.h:144: syntax error before
    `u_int8_t'
    /usr/include/netinet6/in6.h:149: syntax error before
    `u_int32_t'
    /usr/include/netinet6/in6.h:612: syntax error before `*'
    /usr/include/netinet6/in6.h:614: syntax error before `*'
    /usr/include/netinet6/in6.h:614: warning: data definition
    has no type or
    storage class
    /usr/include/netinet6/in6.h:615: syntax error before
    `u_int8_t'
    /usr/include/netinet6/in6.h:616: syntax error before
    `u_int8_t'
    /usr/include/netinet6/in6.h:631: syntax error before
    `u_int8_t'
    /usr/include/netinet6/in6.h:636: syntax error before
    `u_int8_t'
    /usr/include/netinet6/in6.h:638: syntax error before
    `u_int8_t'
    *** Error code 1

     
  • Sean Morrison

    Sean Morrison - 2005-03-27

    Logged In: YES
    user_id=785737

    I believe this is fixed in the latest CVS, but it needs to be tested (reopen if
    latest fails with same pthread problem). The configure.ac check tests both
    plain -lphtread functionality as well as the FreeBSD -pthread c_r library
    functionality. If the test still fails, please post your config.log so I can see
    why those two tests fail.

     
  • Sean Morrison

    Sean Morrison - 2005-03-27
    • assigned_to: nobody --> brlcad
    • status: open --> closed-fixed
     

Log in to post a comment.