[Pkg-julia-devel] Bug#748573: Embedded code copy of libuv makes inconsistent use of _GNU_SOURCE

Viral Shah viral at mayin.org
Wed Sep 17 04:44:55 UTC 2014


With Julia 0.3 released, is this still an issue?

-viral

On Sun, 18 May 2014 16:28:24 +0100 Michael Tautschnig <mt at debian.org> wrote:
> 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
> 


-viral



More information about the Pkg-julia-devel mailing list