does it work if you move `-ljulia` to the end of the list? some versions of ld care about the order, and will only resolve dependencies from left to right
On Mon Feb 02 2015 at 3:17:09 PM eric l <[email protected]> wrote: > Me again... > > I know try the same thing on my linux box. > > gcc -o embedd -I/usr/include/julia -L/usr/lib/x86_64-linux-gnu/julia > -ljulia embedding.c > > And this time it doesn't even link... > All I get is the list of the jl_XXX used in embedding.c as undefined. > > /tmp/cceyXOMb.o: In function `jl_get_function': > embedding.c:(.text+0x18): undefined reference to `jl_symbol' > embedding.c:(.text+0x2a): undefined reference to `jl_get_global' > /tmp/cceyXOMb.o: In function `my_c_sqrt': > embedding.c:(.text+0x4b): undefined reference to `sqrt' > /tmp/cceyXOMb.o: In function `main': > embedding.c:(.text+0x75): undefined reference to `jl_init' > embedding.c:(.text+0x7f): undefined reference to `jl_eval_string' > embedding.c:(.text+0x89): undefined reference to `jl_eval_string' > embedding.c:(.text+0xa1): undefined reference to `jl_float64_type' > embedding.c:(.text+0xb5): undefined reference to `jl_unbox_float64' > embedding.c:(.text+0xf7): undefined reference to `jl_base_module' > embedding.c:(.text+0x126): undefined reference to `jl_box_float64' > embedding.c:(.text+0x13d): undefined reference to `jl_call1' > ... > > Any idea on what I could be doing wrong this time? > > Thxs, > > -Eric > > PS: > > gcc -v > Using built-in specs. > COLLECT_GCC=gcc > COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.8/lto-wrapper > Target: x86_64-linux-gnu > Configured with: ../src/configure -v --with-pkgversion='Ubuntu > 4.8.2-19ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs > --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr > --program-suffix=-4.8 --enable-shared --enable-linker-build-id > --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix > --with-gxx-include-dir=/usr/include/c++/4.8 --libdir=/usr/lib --enable-nls > --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug > --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-libmudflap > --enable-plugin --with-system-zlib --disable-browser-plugin > --enable-java-awt=gtk --enable-gtk-cairo > --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64/jre > --enable-java-home > --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64 > --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-amd64 > --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar > --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 > --with-abi=m64 --with-multilib-list=m32,m64,mx32 --with-tune=generic > --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu > --target=x86_64-linux-gnu > Thread model: posix > gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1) > >
