Package: libatomic-ops-dev Version: 1.2+cvs20091005-1 Severity: important Hi again,
Thanks to your hint about AO_REQUIRE_CAS define, the armel build of firebird2.5 reached to the point where it needs to link to libatomic_ops. Sparc wasn't so lucky. The build stops at: In file included from /usr/include/atomic_ops.h:215, from ../src/include/../common/classes/fb_atomic.h:476, from ../src/include/../common/classes/alloc.h:43, from ../src/include/../common/classes/fb_string.h:39, from ../src/jrd/../jrd/os/path_utils.h:31, from ../src/jrd/gds.cpp:47: /usr/include/atomic_ops/sysdeps/gcc/sparc.h: In function ‘AO_BYTE_TS_val AO_test_and_set_full(volatile unsigned char*)’: /usr/include/atomic_ops/sysdeps/gcc/sparc.h:37: error: invalid conversion from ‘int’ to ‘AO_BYTE_TS_val’ make[4]: *** [../temp/boot/jrd/gds.o] Error 1 Looking at sparc.h, it appears that either the 'oldval' variable defined on line 32 should be of type 'AO_TS_VAL_t' instead of 'int', or some casting is needed. Strangely, if I look at this file on my amd64 system, oldval is defined as AO_TS_VAL_t. Minimal test program for reproducing (make sure you try it on sparc): ------------[ sparc.cpp ]------------- #include "atomic_ops.h" int main(int argc, char** argv) { volatile AO_TS_t v; AO_test_and_set_full(&v); return 0; } -------------------------------------- $ g++ sparc.c In file included from /usr/include/atomic_ops.h:215, from sparc.cpp:1: /usr/include/atomic_ops/sysdeps/gcc/sparc.h: In function ‘AO_BYTE_TS_val AO_test_and_set_full(volatile unsigned char*)’: /usr/include/atomic_ops/sysdeps/gcc/sparc.h:37: error: invalid conversion from ‘int’ to ‘AO_BYTE_TS_val’ $ g++ --version g++ (Debian 4.4.2-9) 4.4.3 20100108 (prerelease) $ uname -a Linux smetana 2.6.26-2-sparc64-smp #1 SMP Thu Nov 5 03:34:29 UTC 2009 sparc64 GNU/Linux Thank you in advance, dam -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org