Package: libatomic-ops-dev
Version: 7.3~alpha1+git20120621-1
Severity: serious
Justification: breaks other packages
Hi,
Since the upgrade of libatomic-opts to version 7.3~alpha1+git20120621-1,
firebird2.5 fails to build on ia64. Here are the errors:
g++ -D_FORTIFY_SOURCE=2 -DBOOT_BUILD -I../src/include/gen -I../src/include
-I../src/vulcan -DNAMESPACE=Vulcan -DNDEBUG -ggdb -DFB_SEND_FLAGS=MSG_NOSIGNAL
-DLINUX -DIA64 -pipe -MMD -fPIC -fmessage-length=0 -O3 -fno-omit-frame-pointer
-pthread -g -O2 -Wformat -Werror=format-security -fno-rtti -c
../src/jrd/gds.cpp -o ../temp/boot/jrd/gds.o
In file included from /usr/include/atomic_ops/generalize.h:1284:0,
from /usr/include/atomic_ops.h:391,
from ../src/include/../common/classes/fb_atomic.h:442,
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/generalize-small.h: In function 'int
AO_char_compare_and_swap_acquire(volatile char*, char, char)':
/usr/include/atomic_ops/generalize-small.h:176:73: error: invalid conversion
from 'volatile char*' to 'volatile unsigned char*' [-fpermissive]
/usr/include/atomic_ops/sysdeps/gcc/ia64.h:145:1: error: initializing
argument 1 of 'unsigned char AO_char_fetch_compare_and_swap_acquire(volatile
unsigned char*, unsigned char, unsigned char)' [-fpermissive]
/usr/include/atomic_ops/generalize-small.h: In function 'int
AO_char_compare_and_swap_release(volatile char*, char, char)':
/usr/include/atomic_ops/generalize-small.h:188:73: error: invalid conversion
from 'volatile char*' to 'volatile unsigned char*' [-fpermissive]
/usr/include/atomic_ops/sysdeps/gcc/ia64.h:159:1: error: initializing
argument 1 of 'unsigned char AO_char_fetch_compare_and_swap_release(volatile
unsigned char*, unsigned char, unsigned char)' [-fpermissive]
…
See build[1] logs[2] for more.
[1]
https://buildd.debian.org/status/fetch.php?pkg=firebird2.5&arch=ia64&ver=2.5.2~svn%2B54658.ds4-1&stamp=1340971809
[2]
https://buildd.debian.org/status/fetch.php?pkg=firebird2.5&arch=ia64&ver=2.5.2%7Esvn%2B54698.ds4-1&stamp=1341066609
To my uneducated eye it seems that the compiler is right: the first argument to
AO_char_fetch_compare_and_swap_acquire is declared as volatile unsigned char*,
while the call from AO_char_compare_and_swap_acquire uses volatile char*.
Thanks for considering,
dam
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]