apr-bugs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject [Bug 55418] New: Solaris 10 does not necessarily have atomic_swap_32() et al.
Date Wed, 14 Aug 2013 20:23:21 GMT
https://issues.apache.org/bugzilla/show_bug.cgi?id=55418

            Bug ID: 55418
           Summary: Solaris 10 does not necessarily have atomic_swap_32()
                    et al.
           Product: APR
           Version: 1.4.6
          Hardware: Sun
                OS: Solaris
            Status: NEW
          Severity: normal
          Priority: P2
         Component: APR
          Assignee: bugs@apr.apache.org
          Reporter: skunk@iSKUNK.ORG

After a successful build of APR-util 1.5.1 (and APR 1.4.6 before that), I
invoke "make check", which then fails as follows:

/bin/bash /tmp/subversion-apr-build/_install/build-1/libtool --silent
--mode=link cc   -Xa -v -xstrconst -i -mt -xtarget=opteron -xarch=amd64
-xbuiltin -xO5 -DHAVE_CONFIG_H -DSOLARIS2=10 -D_POSIX_PTHREAD_SEMANTICS 
-D__EXTENSIONS__ -D_REENTRANT -I/tmp/subversion-apr-util-build/include
-I/tmp/subversion-apr-util-build/include/private
-I/nfs/freeport/src/subversion/subversion--1.8.1/apr-util/include/private
-I/nfs/freeport/src/subversion/subversion--1.8.1/apr-util/include 
-I/tmp/subversion-apr-build/_install/include/apr-1 
-I/nfs/freeport/arch/sunos_x86_64/include
-I/nfs/freeport/src/subversion/subversion--1.8.1/apr-util/xml/expat/lib      
-no-install -L/nfs/freeport/arch/sunos_x86_64/lib -o dbd dbd.lo
../libaprutil-1.la /tmp/subversion-apr-util-build/xml/expat/libexpat.la
/tmp/subversion-apr-build/_install/lib/libapr-1.la -luuid -lsendfile -lrt
-lsocket -lnsl -lpthread
Undefined                       first referenced
 symbol                             in file
atomic_swap_32                     
/tmp/subversion-apr-build/_install/lib/libapr-1.a(solaris.o)
atomic_cas_ptr                     
/tmp/subversion-apr-build/_install/lib/libapr-1.a(solaris.o)
atomic_swap_ptr                    
/tmp/subversion-apr-build/_install/lib/libapr-1.a(solaris.o)
atomic_inc_32_nv                   
/tmp/subversion-apr-build/_install/lib/libapr-1.a(solaris.o)
atomic_dec_32_nv                   
/tmp/subversion-apr-build/_install/lib/libapr-1.a(solaris.o)
atomic_cas_32                      
/tmp/subversion-apr-build/_install/lib/libapr-1.a(solaris.o)
ld: fatal: Symbol referencing errors. No output written to dbd
*** Error code 1
make: Fatal error: Command failed for target `dbd'
Current working directory /tmp/subversion-apr-util-build/test
*** Error code 1


According to APR's apr_arch_atomic.h, the Solaris-specific atomics code is used
if the system is version 10 or later:

    #elif defined(SOLARIS2) && SOLARIS2 >= 10
    #   define USE_ATOMICS_SOLARIS

And this system is definitely Solaris 10:

    $ uname -a
    SunOS darkstar 5.10 Generic i86pc i386 i86pc

However, the above-listed functions are not present:

    $ grep atomic_swap_32 /usr/include/atomic.h 
    $ grep atomic_swap_32 /usr/include/sys/atomic.h
    $ gnu-grep -R atomic_swap_32 /usr/include
    $

So it seems that APR's configure script should check whether or not these
functions are available on a Solaris system, and if not, force the use of the
generic atomic routines.

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@apr.apache.org
For additional commands, e-mail: bugs-help@apr.apache.org


Mime
View raw message