Skip to Main Content

Berkeley DB Family

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

Bug: Build failure on Linux with clang/libc++ (atomic issues)

3281174Jul 21 2016 — edited Nov 16 2016

Now, BDB configure script tells me that bug reports should go to "Oracle Technology Network Berkeley DB forum", and this seems to be it.

Now, I'm trying to build BDB using clang 3.9.0 svn and using libc++ as the C++ runtime library. So far, it fails to compile libdb_cxx:

[code]

./libtool --mode=compile clang++ -c -I. -I../src  -D_GNU_SOURCE -D_REENTRANT -march=skylake -fomit-frame-pointer -O2 -pipe  ../lang/cxx/cxx_channel.cpp

libtool: compile:  clang++ -c -I. -I../src -D_GNU_SOURCE -D_REENTRANT -march=skylake -fomit-frame-pointer -O2 -pipe ../lang/cxx/cxx_channel.cpp  -fPIC -DPIC -o .libs/cxx_channel.o

In file included from ../lang/cxx/cxx_channel.cpp:13:

In file included from ./db_cxx.h:55:

In file included from /usr/bin/../include/c++/v1/iostream:38:

In file included from /usr/bin/../include/c++/v1/ios:216:

In file included from /usr/bin/../include/c++/v1/__locale:15:

In file included from /usr/bin/../include/c++/v1/string:442:

In file included from /usr/bin/../include/c++/v1/algorithm:634:

In file included from /usr/bin/../include/c++/v1/memory:618:

/usr/bin/../include/c++/v1/atomic:1059:27: error: too few arguments provided to function-like macro invocation

        {__base::store(__d); return __d;}

                          ^

./db.h:3002:9: note: macro 'store' defined here

#define store(a, b)     __db_dbm_store(a, b)

        ^

In file included from ../lang/cxx/cxx_channel.cpp:13:

In file included from ./db_cxx.h:55:

In file included from /usr/bin/../include/c++/v1/iostream:38:

In file included from /usr/bin/../include/c++/v1/ios:216:

In file included from /usr/bin/../include/c++/v1/__locale:15:

In file included from /usr/bin/../include/c++/v1/string:442:

In file included from /usr/bin/../include/c++/v1/algorithm:634:

In file included from /usr/bin/../include/c++/v1/memory:618:

/usr/bin/../include/c++/v1/atomic:1062:27: error: too few arguments provided to function-like macro invocation

        {__base::store(__d); return __d;}

                          ^

./db.h:3002:9: note: macro 'store' defined here

#define store(a, b)     __db_dbm_store(a, b)

        ^

In file included from ../lang/cxx/cxx_channel.cpp:13:

In file included from ./db_cxx.h:55:

In file included from /usr/bin/../include/c++/v1/iostream:38:

In file included from /usr/bin/../include/c++/v1/ios:216:

In file included from /usr/bin/../include/c++/v1/__locale:15:

In file included from /usr/bin/../include/c++/v1/string:442:

In file included from /usr/bin/../include/c++/v1/algorithm:634:

In file included from /usr/bin/../include/c++/v1/memory:618:

/usr/bin/../include/c++/v1/atomic:1079:27: error: too few arguments provided to function-like macro invocation

        {__base::store(__d); return __d;}

                          ^

./db.h:3002:9: note: macro 'store' defined here

#define store(a, b)     __db_dbm_store(a, b)

        ^

In file included from ../lang/cxx/cxx_channel.cpp:13:

In file included from ./db_cxx.h:55:

In file included from /usr/bin/../include/c++/v1/iostream:38:

In file included from /usr/bin/../include/c++/v1/ios:216:

In file included from /usr/bin/../include/c++/v1/__locale:15:

In file included from /usr/bin/../include/c++/v1/string:442:

In file included from /usr/bin/../include/c++/v1/algorithm:634:

In file included from /usr/bin/../include/c++/v1/memory:618:

/usr/bin/../include/c++/v1/atomic:1082:27: error: too few arguments provided to function-like macro invocation

        {__base::store(__d); return __d;}

                          ^

./db.h:3002:9: note: macro 'store' defined here

#define store(a, b)     __db_dbm_store(a, b)

        ^

In file included from ../lang/cxx/cxx_channel.cpp:13:

In file included from ./db_cxx.h:55:

In file included from /usr/bin/../include/c++/v1/iostream:38:

In file included from /usr/bin/../include/c++/v1/ios:216:

In file included from /usr/bin/../include/c++/v1/__locale:15:

In file included from /usr/bin/../include/c++/v1/string:442:

In file included from /usr/bin/../include/c++/v1/algorithm:634:

In file included from /usr/bin/../include/c++/v1/memory:618:

/usr/bin/../include/c++/v1/atomic:1148:13: error: expected unqualified-id

atomic_init(volatile atomic<_Tp>* __o, _Tp __d) _NOEXCEPT

            ^

/usr/bin/../include/c++/v1/atomic:1148:13: error: expected ')'

/usr/bin/../include/c++/v1/atomic:1148:1: note: to match this '('

atomic_init(volatile atomic<_Tp>* __o, _Tp __d) _NOEXCEPT

^

../src/dbinc/atomic.h:73:30: note: expanded from macro 'atomic_init'

#define atomic_init(p, val)     ((p)->value = (val))

                                 ^

In file included from ../lang/cxx/cxx_channel.cpp:13:

In file included from ./db_cxx.h:55:

In file included from /usr/bin/../include/c++/v1/iostream:38:

In file included from /usr/bin/../include/c++/v1/ios:216:

In file included from /usr/bin/../include/c++/v1/__locale:15:

In file included from /usr/bin/../include/c++/v1/string:442:

In file included from /usr/bin/../include/c++/v1/algorithm:634:

In file included from /usr/bin/../include/c++/v1/memory:618:

/usr/bin/../include/c++/v1/atomic:1148:1: error: expected ')'

atomic_init(volatile atomic<_Tp>* __o, _Tp __d) _NOEXCEPT

^

../src/dbinc/atomic.h:73:33: note: expanded from macro 'atomic_init'

#define atomic_init(p, val)     ((p)->value = (val))

                                    ^

/usr/bin/../include/c++/v1/atomic:1148:1: note: to match this '('

../src/dbinc/atomic.h:73:29: note: expanded from macro 'atomic_init'

#define atomic_init(p, val)     ((p)->value = (val))

                                ^

In file included from ../lang/cxx/cxx_channel.cpp:13:

In file included from ./db_cxx.h:55:

In file included from /usr/bin/../include/c++/v1/iostream:38:

In file included from /usr/bin/../include/c++/v1/ios:216:

In file included from /usr/bin/../include/c++/v1/__locale:15:

In file included from /usr/bin/../include/c++/v1/string:442:

In file included from /usr/bin/../include/c++/v1/algorithm:634:

In file included from /usr/bin/../include/c++/v1/memory:618:

/usr/bin/../include/c++/v1/atomic:1168:19: error: too few arguments provided to function-like macro invocation

    __o->store(__d);

                  ^

./db.h:3002:9: note: macro 'store' defined here

#define store(a, b)     __db_dbm_store(a, b)

        ^

In file included from ../lang/cxx/cxx_channel.cpp:13:

In file included from ./db_cxx.h:55:

In file included from /usr/bin/../include/c++/v1/iostream:38:

In file included from /usr/bin/../include/c++/v1/ios:216:

In file included from /usr/bin/../include/c++/v1/__locale:15:

In file included from /usr/bin/../include/c++/v1/string:442:

In file included from /usr/bin/../include/c++/v1/algorithm:634:

In file included from /usr/bin/../include/c++/v1/memory:618:

/usr/bin/../include/c++/v1/atomic:1176:19: error: too few arguments provided to function-like macro invocation

    __o->store(__d);

                  ^

./db.h:3002:9: note: macro 'store' defined here

#define store(a, b)     __db_dbm_store(a, b)

        ^

In file included from ../lang/cxx/cxx_channel.cpp:13:

In file included from ./db_cxx.h:55:

In file included from /usr/bin/../include/c++/v1/iostream:38:

In file included from /usr/bin/../include/c++/v1/ios:216:

In file included from /usr/bin/../include/c++/v1/__locale:15:

In file included from /usr/bin/../include/c++/v1/string:442:

In file included from /usr/bin/../include/c++/v1/algorithm:634:

In file included from /usr/bin/../include/c++/v1/memory:618:

/usr/bin/../include/c++/v1/atomic:1717:35: error: unknown type name 'atomic_flag'

atomic_flag_test_and_set(volatile atomic_flag* __o) _NOEXCEPT

                                  ^

/usr/bin/../include/c++/v1/atomic:1724:26: error: unknown type name 'atomic_flag'

atomic_flag_test_and_set(atomic_flag* __o) _NOEXCEPT

                         ^

/usr/bin/../include/c++/v1/atomic:1731:44: error: unknown type name 'atomic_flag'

atomic_flag_test_and_set_explicit(volatile atomic_flag* __o, memory_order __m) _NOEXCEPT

                                           ^

/usr/bin/../include/c++/v1/atomic:1738:35: error: unknown type name 'atomic_flag'

atomic_flag_test_and_set_explicit(atomic_flag* __o, memory_order __m) _NOEXCEPT

                                  ^

/usr/bin/../include/c++/v1/atomic:1745:28: error: unknown type name 'atomic_flag'

atomic_flag_clear(volatile atomic_flag* __o) _NOEXCEPT

                           ^

/usr/bin/../include/c++/v1/atomic:1752:19: error: unknown type name 'atomic_flag'

atomic_flag_clear(atomic_flag* __o) _NOEXCEPT

                  ^

/usr/bin/../include/c++/v1/atomic:1759:37: error: unknown type name 'atomic_flag'

atomic_flag_clear_explicit(volatile atomic_flag* __o, memory_order __m) _NOEXCEPT

                                    ^

/usr/bin/../include/c++/v1/atomic:1766:28: error: unknown type name 'atomic_flag'

atomic_flag_clear_explicit(atomic_flag* __o, memory_order __m) _NOEXCEPT

                           ^

17 errors generated.

make: *** [Makefile:2709: cxx_channel.lo] Error 1

[/code]

Comments

Locked Post
New comments cannot be posted to this locked post.

Post Details

Locked on Dec 14 2016
Added on Jul 21 2016
21 comments
6,934 views