Package: julia
Version: 0.2.1+dfsg-3
Usertags: goto-cc

During a rebuild of all Debian packages in a clean sid chroot (using cowbuilder
and pbuilder) the build failed with the following error. Please note that we
use our research compiler tool-chain (using tools from the cbmc package), which
permits extended reporting on type inconsistencies at link time.

[...]
libtool: link: gcc -shared  -fPIC -DPIC  src/.libs/libuv_la-fs-poll.o 
src/.libs/libuv_la-inet.o src/.libs/libuv_la-uv-common.o 
src/.libs/libuv_la-version.o src/unix/.libs/libuv_la-async.o 
src/unix/.libs/libuv_la-core.o src/unix/.libs/libuv_la-dl.o 
src/unix/.libs/libuv_la-fs.o src/unix/.libs/libuv_la-getaddrinfo.o 
src/unix/.libs/libuv_la-loop-watcher.o src/unix/.libs/libuv_la-loop.o 
src/unix/.libs/libuv_la-pipe.o src/unix/.libs/libuv_la-poll.o 
src/unix/.libs/libuv_la-process.o src/unix/.libs/libuv_la-signal.o 
src/unix/.libs/libuv_la-stream.o src/unix/.libs/libuv_la-tcp.o 
src/unix/.libs/libuv_la-thread.o src/unix/.libs/libuv_la-threadpool.o 
src/unix/.libs/libuv_la-timer.o src/unix/.libs/libuv_la-tty.o 
src/unix/.libs/libuv_la-udp.o src/unix/.libs/libuv_la-linux-core.o 
src/unix/.libs/libuv_la-linux-inotify.o 
src/unix/.libs/libuv_la-linux-syscalls.o src/unix/.libs/libuv_la-proctitle.o   
-lrt -lpthread -lnsl -ldl  -O2 -O2 -Wl,-z -Wl,relro   -Wl,-soname 
-Wl,libuv.so.11 -o .libs/libuv.so.11.0.0
file /usr/include/x86_64-linux-gnu/bits/socket2.h line 64: 

error: conflicting function declarations "recvfrom"
old definition in module fs-poll file 
/usr/include/x86_64-linux-gnu/bits/socket2.h line 64
signed long int (signed int __fd, void * restrict __buf, unsigned long int __n, 
signed int __flags, struct sockaddr * restrict __addr, unsigned int * restrict 
__addr_len)
new definition in module linux-syscalls file 
/usr/include/x86_64-linux-gnu/bits/socket2.h line 64
signed long int (signed int __fd, void * restrict __buf, unsigned long int __n, 
signed int __flags, union sockaddr __addr, unsigned int * restrict __addr_len)
Makefile:824: recipe for target 'libuv.la' failed
make[6]: *** [libuv.la] Error 64
make[6]: Leaving directory 
'/srv/jenkins-slave/workspace/sid-goto-cc-julia/julia-0.2.1+dfsg/deps/libuv'
Makefile:616: recipe for target 'all' failed

This type conflict on parameter __addr is caused by an inconsistent use of
#define _GNU_SOURCE, which is present in deps/libuv/src/unix/linux-syscalls.c,
but not in deps/libuv/src/fs-poll.c.

Obviously this is a problem of libuv rather than julia - hooray for embedded
code copies. The packaged version in Debian does not suffer from the above
problem.

Best,
Michael

Attachment: pgpECOXFVERjy.pgp
Description: PGP signature

Reply via email to