Source: libdvdread Version: 4.2.0+20120521 Severity: important Tags: patch
Hi, It looks like the 05-hurd patch in bug #640803 results in problems on 64-bit architectures, especially with a new compiles and hardened build flags. The reason is that get_current_dir_name is not declared unless _GNU_SOURCE is defined before including unistd.h in src/dvd_reader.c. On 64-bit architectures this can cause problems with integer to pointer assignments: http://wiki.debian.org/ImplicitPointerConversions Without declaring get_current_dir_name a warning is issued: warning: implicit declaration of function ‘get_current_dir_name’ [-Wimplicit-function-declaration] warning: assignment makes pointer from integer without a cast [enabled by default] Inlined below is a patch for configure.ac adding the definition of _GNU_SOURCE to the generated Makefiles. Issuing autoreconf -i the package configures and builds OK without the warning above. According to the bug submitters of bug #651926, the updated patch should solve that bug. I think it also solves #653516. --- a/configure.ac 2012-06-08 12:01:52.000000000 +0200 +++ b/configure.ac 2012-06-14 11:59:44.000000000 +0200 @@ -184,7 +184,7 @@ dnl cflags dnl --------------------------------------------- dnl Common cflags for all platforms -CFLAGS="-O3 -Wall -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE $CFLAGS" +CFLAGS="-O3 -Wall -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_GNU_SOURCE $CFLAGS" DEBUG_CFLAGS="-g -DDEBUG $CFLAGS" AC_SUBST(DEBUG_CFLAGS) -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

