1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

how to build libthr except other components of 'world'

Discussion in 'FreeBSD Development' started by UnixStudier, Nov 17, 2009.

  1. UnixStudier

    UnixStudier New Member

    Messages:
    3
    Thanks Received:
    0
    I checkout FreeBSD‘s current source codes to my /usr/src, and use command
    Code:
    make buildworld

    in directory /usr/src to build a world.I want to do something debug to lib /usr/src/lib/libthr.If I modified some files in /usr/src/lib/libthr/thread, how could I build libthr except other components of world?
    If I use
    Code:
    make buildworld

    in dirctory /usr/src,it rebuilt all world .It takes time too long.
    btw,I execute command
    Code:
    make

    in /usr/src/lib/libthr get this :
    Code:
    cc -O2 -fno-strict-aliasing -pipe  -DPTHREAD_KERNEL -I/usr/src/lib/libthr/../libc/include -I/usr/src/lib/libthr/thread  -I/usr/src/lib
    /libthr/../../include -I/usr/src/lib/libthr/arch/i386/include -I/usr/src/lib/libthr/sys -I/usr/src/lib/libthr/../../libexec/rtld-elf -I/usr
    /src/lib/libthr/../../libexec/rtld-elf/i386 -I/usr/src/lib/libthr/../libthread_db -Winline -D_PTHREADS_INVARIANTS -DSYSCALL_COMPAT -Wsystem-
    headers -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wno-uninitialized 
    -Wno-pointer-sign -c /usr/src/lib/libthr/arch/i386/i386/pthread_md.c
    In file included from /usr/src/lib/libthr/arch/i386/i386/pthread_md.c:33:
    /usr/src/lib/libthr/../../include/string.h:86: warning: no previous prototype for 'strdup'
    /usr/src/lib/libthr/../../include/string.h: In function 'strdup':
    /usr/src/lib/libthr/../../include/string.h:86: error: expected declaration specifiers before '__malloc_like'
    /usr/src/lib/libthr/../../include/string.h:96: warning: '__pure__' attribute ignored
    /usr/src/lib/libthr/../../include/string.h:101: warning: '__pure__' attribute ignored
    /usr/src/lib/libthr/../../include/string.h:104: error: expected '=', ',', ';', 'asm' or '__attribute__' before '__malloc_like'
    /usr/src/lib/libthr/../../include/string.h:105: warning: '__pure__' attribute ignored
    /usr/src/lib/libthr/../../include/string.h:108: warning: '__pure__' attribute ignored
    /usr/src/lib/libthr/../../include/string.h:110: warning: '__pure__' attribute ignored
    /usr/src/lib/libthr/../../include/string.h:111: warning: '__pure__' attribute ignored
    /usr/src/lib/libthr/../../include/string.h:118: warning: '__pure__' attribute ignored
    /usr/src/lib/libthr/../../include/string.h:119: warning: '__pure__' attribute ignored
    In file included from /usr/src/lib/libthr/arch/i386/i386/pthread_md.c:34:
    /usr/src/lib/libthr/../../libexec/rtld-elf/rtld_tls.h:60: error: storage class specified for parameter '_rtld_allocate_tls'
    /usr/src/lib/libthr/../../libexec/rtld-elf/rtld_tls.h:67: error: storage class specified for parameter '_rtld_free_tls'
    In file included from /usr/src/lib/libthr/arch/i386/include/pthread_md.h:36,
                     from /usr/src/lib/libthr/arch/i386/i386/pthread_md.c:36:
    /usr/src/lib/libthr/../../include/stddef.h:45: error: storage class specified for parameter 'ptrdiff_t'
    /usr/src/lib/libthr/../../include/stddef.h:49: error: storage class specified for parameter 'rune_t'
    /usr/src/lib/libthr/../../include/stddef.h:61: error: storage class specified for parameter 'wchar_t'
    In file included from /usr/src/lib/libthr/arch/i386/i386/pthread_md.c:36:
    /usr/src/lib/libthr/arch/i386/include/pthread_md.h:52: warning: empty declaration
    /usr/src/lib/libthr/arch/i386/include/pthread_md.h:88: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
    /usr/src/lib/libthr/arch/i386/include/pthread_md.h:95: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
    /usr/src/lib/libthr/arch/i386/include/pthread_md.h:102: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
    /usr/src/lib/libthr/arch/i386/i386/pthread_md.c:40: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
    /usr/src/lib/libthr/arch/i386/i386/pthread_md.c:54: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
    /usr/src/lib/libthr/arch/i386/i386/pthread_md.c:57: error: old-style parameter declarations in prototyped function definition
    /usr/src/lib/libthr/../../include/string.h:86: error: parameter name omitted
    /usr/src/lib/libthr/arch/i386/i386/pthread_md.c:57: error: expected '{' at end of input
    *** Error code 1
    
    Stop in /usr/src/lib/libthr.

    ----------------------------------
    thanks.
     
  2. crsd

    crsd New Member

    Messages:
    420
    Thanks Received:
    91
    try # make cleandir; make obj; make depend; make
     
  3. UnixStudier

    UnixStudier New Member

    Messages:
    3
    Thanks Received:
    0
    I try it in /usr/src,but it does not work.
     
  4. crsd

    crsd New Member

    Messages:
    420
    Thanks Received:
    91
    You don't try it in /usr/src; try it in /usr/src/lib/libthr

    Or just do full # make buildworld
     
  5. UnixStudier

    UnixStudier New Member

    Messages:
    3
    Thanks Received:
    0
    I use command :
    # make -DNOCLEAN _libraries

    in directory /usr/src to build libthr.Its time is not too long me.