This problem is still persisting for us with the release-0.3 branch (which we would like to use since our application code depends on it).
>From grepping and nm-ing around, it seems like (at least to the point where my build fails) the offending symbols mentioned above are (only) declared in the automatically-generated header $JULIA_DIR/deps/libuv/include/uv-dtrace.h . In our successful build of the master branch, the symbols are defined in $JULIA_DIR/deps/libuv/uv-dtrace.o (which does not appear in the release-0.3 build). I don't know anything about dtrace, but it does seem that it was removed from libuv recently : https://github.com/joyent/libuv/commit/cb5140023b109aa9bb6b97d1bebc9f251b8195ac . I don't notice it being used in julia anywhere besides with libuv (simply based on grepping the julia directory). Any ideas on a good way to proceed? Perhaps there's a simple way to disable dtrace in the libuv build? On Thursday, February 5, 2015 at 5:19:32 AM UTC+1, Viral Shah wrote: > > `make -j n` used to work correctly at one point, but bugs in the makefile > dependencies keep creeping in. Usually, I just run one final `make` to make > sure that everything got built correctly. > > -viral > > > On Wednesday, February 4, 2015 at 7:12:14 PM UTC+5:30, Patrick Sanan wrote: >> >> I was able to successfully build julia from source and run the repl from >> a (login) node on the machine. The build procedure was almost identical to >> previous attempts (following the instructions provided to use the intel >> compilers and MKL, without using any local versions of dependencies), but >> from a different machine and operating system (Ubuntu 14.04.1 LTS instead >> of OS X 10.9.5). The only noticeable difference is that the intel compilers >> will fail if locale information is not available, which it's not by default >> when logging in from OS X (see >> https://software.intel.com/en-us/articles/cdiag912), but perhaps there >> are others. >> >> The only minor problem was that running make -j 12 produced an error >> about libopenlibm.so.1 not existing. Re-running make -j 12 led to a >> successful build so my assumption is that there is an unspecified >> dependency involving this library. >> >> >> >> On Tuesday, February 3, 2015 at 9:59:12 PM UTC+1, Patrick Sanan wrote: >>> >>> Someone at the computer center did manage to build successfully julia >>> today using intel compilers and MKL, using a procedure very similar to >>> mine, so I am hopeful that we will be able to isolate any differences >>> tomorrow. >>> >>> On 03/02/15 09:49 PM, Tony Kelman wrote: >>> >>> I can't find any evidence of an issue ever being reported on this, no >>> mention of uv_tick__stop_semaphore on Julia's issue tracker. >>> >>> I'd have to dig into libuv's source code and see where these symbols >>> normally come from, and determine what is unusual about these Cray systems. >>> >>> >>> On Tuesday, February 3, 2015 at 4:18:46 AM UTC-8, Patrick Sanan wrote: >>>> >>>> I am having a nearly-identical issue with the release-0.3 branch (the >>>> same errors with uv_tick__... symbols) on a Cray XC-40 system. Has any >>>> solution or workaround been discovered since this was posted? >>>> >>>> On Friday, October 17, 2014 at 5:05:52 PM UTC+2, Niklas Vanhainen >>>> wrote: >>>>> >>>>> Hi >>>>> >>>>> I'm having problems getting Julia to build on a cluster that I'm >>>>> using. It's a Cray XC-30 cluster with an Ivy-Bridge architecture, and it >>>>> appears to be running on SLES 11 >>>>> >>>>> Right now, I'm building this without linking to external BLAS, FFTW, >>>>> etc. libraries (the heavy lifting matrix operations will be done in a C >>>>> function anyways, and I had major problems getting anywhere while linking >>>>> to cray-libsci) >>>>> The problem I'm having right now is that "flisp" will not link, >>>>> because of problems with the symbols "uv_tick__stop_semaphore" and >>>>> "uv_tick__start_semaphore" in libuv. I've tried using both the provided >>>>> libuv as well as downloading it separately and compiling. I get related >>>>> but >>>>> different problems in both cases. >>>>> >>>>> First, in the case with the provided libuv: >>>>> >>>>> >>>>> Making install in SYM >>>>> CC src/jltypes.o >>>>> CC src/gf.o >>>>> CC src/support/hashing.o >>>>> CC src/support/timefuncs.o >>>>> CC src/support/ptrhash.o >>>>> CC src/support/operators.o >>>>> CC src/support/utf8.o >>>>> CC src/support/ios.o >>>>> CC src/support/htable.o >>>>> CC src/support/bitvector.o >>>>> CC src/support/int2str.o >>>>> CC src/support/libsupportinit.o >>>>> CC src/support/arraylist.o >>>>> CC src/support/strtod.o >>>>> LINK src/support/libsupport.a >>>>> CC src/flisp/flisp.o >>>>> CC src/flisp/builtins.o >>>>> CC src/flisp/string.o >>>>> CC src/flisp/equalhash.o >>>>> CC src/flisp/table.o >>>>> CC src/flisp/iostream.o >>>>> CC src/flisp/julia_extensions.o >>>>> LINK src/flisp/libflisp.a >>>>> CC src/flisp/flmain.o >>>>> LINK src/flisp/flisp >>>>> /cfs/milner/scratch/n/niklasva/julia_build/julia/usr/lib/libuv.a(libuv_la-core.o):(.note.stapsdt+0x24): >>>>> >>>>> undefined reference to `uv_tick__start_semaphore' >>>>> /cfs/milner/scratch/n/niklasva/julia_build/julia/usr/lib/libuv.a(libuv_la-core.o):(.note.stapsdt+0x70): >>>>> >>>>> undefined reference to `uv_tick__stop_semaphore' >>>>> /cfs/milner/scratch/n/niklasva/julia_build/julia/usr/lib/libuv.a(libuv_la-core.o):(.note.stapsdt+0xbc): >>>>> >>>>> undefined reference to `uv_tick__stop_semaphore' >>>>> collect2: error: ld returned 1 exit status >>>>> make[3]: *** [flisp] Error 1 >>>>> make[2]: *** [flisp/libflisp.a] Error 2 >>>>> make[1]: *** [julia-release] Error 2 >>>>> make: *** [release] Error 2 >>>>> >>>>> >>>>> >>>>> >>>>> Second, in the case of the external libuv: >>>>> Making install in SYM >>>>> CC src/jltypes.o >>>>> CC src/gf.o >>>>> CC src/support/hashing.o >>>>> CC src/support/timefuncs.o >>>>> CC src/support/ptrhash.o >>>>> CC src/support/operators.o >>>>> CC src/support/utf8.o >>>>> CC src/support/ios.o >>>>> CC src/support/htable.o >>>>> CC src/support/bitvector.o >>>>> CC src/support/int2str.o >>>>> CC src/support/libsupportinit.o >>>>> CC src/support/arraylist.o >>>>> CC src/support/strtod.o >>>>> LINK src/support/libsupport.a >>>>> CC src/flisp/flisp.o >>>>> CC src/flisp/builtins.o >>>>> CC src/flisp/string.o >>>>> CC src/flisp/equalhash.o >>>>> CC src/flisp/table.o >>>>> CC src/flisp/iostream.o >>>>> CC src/flisp/julia_extensions.o >>>>> LINK src/flisp/libflisp.a >>>>> CC src/flisp/flmain.o >>>>> LINK src/flisp/flisp >>>>> /usr/bin/ld: flisp: hidden symbol `uv_tick__stop_semaphore' in >>>>> /cfs/scratch/n/niklasva/libuv/lib/libuv.a(uv-dtrace.o) is referenced by >>>>> DSO >>>>> /usr/bin/ld: final link failed: Bad value >>>>> collect2: error: ld returned 1 exit status >>>>> make[3]: *** [flisp] Error 1 >>>>> make[2]: *** [flisp/libflisp.a] Error 2 >>>>> make[1]: *** [julia-release] Error 2 >>>>> make: *** [release] Error 2 >>>>> >>>>> In the second case, this is the contents of my Make.user: >>>>> override LIBUV = /cfs/scratch/n/niklasva/libuv/lib/libuv.a >>>>> override LIBUV_INC = /cfs/scratch/n/niklasva/libuv/include/ >>>>> >>>>> >>>>> I would be very grateful if someone could help me fix this problem. >>>>> >>>> >>> >>> >
