ports/73567: `devel/apr' doesn't use pthreads on 4-STABLE system, even if asked.

Lev A. Serebryakov lev at FreeBSD.org
Fri Nov 5 15:50:35 UTC 2004


>Number:         73567
>Category:       ports
>Synopsis:       `devel/apr' doesn't use pthreads on 4-STABLE system, even if asked.
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Nov 05 15:50:35 GMT 2004
>Closed-Date:
>Last-Modified:
>Originator:     Lev A. Serebryakov <lev at FreeBSD.org>
>Release:        FreeBSD 4.10-RELEASE i386
>Organization:
>Environment:
System: FreeBSD freebsd4-vmware 4.10-RELEASE FreeBSD 4.10-RELEASE #4: Sat Jul 24 18:41:28 MSD 2004 root@:/usr/src/sys/compile/VMWARE i386
Ports: 04 Nov 2004.

>Description:

  `devel/apr', builded with default options (i.e. `APR_UTIL_WITHOUT_THREADS' is _not_ set) on 4-STABLE system.
  Resulting libraries doesn't uses threads.
  Here are ouptut from `apr-1-config --cflags --cppflags --ldflags --libs':
  
 -g -O2 -D_THREAD_SAFE -D_REENTRANT  -lcrypt   
 
  Here are ouput from `configure' stage of `devel/apr' building:

========================================================== 
...
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
Applying APR hints file rules for i386-portbld-freebsd4.10
  setting apr_lock_method to "USE_FLOCK_SERIALIZE"
  setting CPPFLAGS to "-D_THREAD_SAFE -D_REENTRANT"
  setting enable_threads to "no"
(Default will be unix)
checking whether make sets $(MAKE)... yes
checking how to run the C preprocessor... gcc -E
checking for gawk... no
...
========================================================== 

  But `devel/subversion' needs apr with threads support, if Java bindings are enabled.
  And now it complains:
  
========================================================== 
/usr/local/bin/libtool15 --silent --mode=compile c++ -D_THREAD_SAFE -D_REENTRANT  -O -pipe   -g -O2  -DNEON_ZLIB -DNEON_SSL   -O -pipe   -g -O2  -DNEON_ZLIB -DNEON_SSL  -I./subversion/include -I./subversion -I/usr/local/include/neon                       -I/usr/local/include/apr-1   -I/usr/local/include/apr-1 -I/usr/local/include -I/usr/local/jdk1.4.2/include -I/usr/local/jdk1.4.2/include -I/usr/local/jdk1.4.2/include/freebsd -I/scratch/usr/home/lev/FreeBSD-commiter/ports/devel/subversion/work/subversion-1.1.1/subversion/bindings/java/javahl/include -o subversion/bindings/java/javahl/native/JNICriticalSection.lo -c /scratch/usr/home/lev/FreeBSD-commiter/ports/devel/subversion/work/subversion-1.1.1/subversion/bindings/java/javahl/native/JNICriticalSection.cpp
/scratch/usr/home/lev/FreeBSD-commiter/ports/devel/subversion/work/subversion-1.1.1/subversion/bindings/java/javahl/native/JNICriticalSection.cpp: In method `JNICriticalSection::JNICriticalSection(JNIMutex &)':
/scratch/usr/home/lev/FreeBSD-commiter/ports/devel/subversion/work/subversion-1.1.1/subversion/bindings/java/javahl/native/JNICriticalSection.cpp:36: implicit declaration of function `int apr_thread_mutex_lock(...)'
/scratch/usr/home/lev/FreeBSD-commiter/ports/devel/subversion/work/subversion-1.1.1/subversion/bindings/java/javahl/native/JNICriticalSection.cpp: In method `JNICriticalSection::~JNICriticalSection()':
/scratch/usr/home/lev/FreeBSD-commiter/ports/devel/subversion/work/subversion-1.1.1/subversion/bindings/java/javahl/native/JNICriticalSection.cpp:50: implicit declaration of function `int apr_thread_mutex_unlock(...)'
*** Error code 1

Stop in /scratch/usr/home/lev/FreeBSD-commiter/ports/devel/subversion/work/subversion-1.1.1.
*** Error code 1

Stop in /usr/home/lev/FreeBSD-commiter/ports/devel/subversion.
========================================================== 

>How-To-Repeat:

  Build `devel/apr' with default settings and try to use any threading API from it.

>Fix:

  I don't know. Adding `--enable-threads' to CONFIGURE_ARGS doesn't help, because then
  both `-pthreads' and `-lc_r' will be used, that is surely mistake.
>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list