crystal
crystal copied to clipboard
Naive build of interpreter hits missing symbol in libintrinsics
Crystal 1.3.1 [a6fcb1029] (2022-01-13)
LLVM: 13.0.1
Default target: x86_64-unknown-linux-gnu
A naive make interpreter=1, make install (as root) of compiler version 1.3.1 from git yields this when I attempt to run it:
/usr/local/bin/crystal i
dlsym failed for lib: LibIntrinsics, name: "llvm.memcpy.p0i8.p0i8.i64": /usr/local/bin/crystal: undefined symbol: llvm.memcpy.p0i8.p0i8.i64 (Exception)
Obviously this is working for other people. What am I doing wrong?
@BrucePerens Is this still happening for you?
Fresh checkout from master. It did this instead, note the references to "fakeroot" and "fakechroot" which I think are an artifact of the build script. I don't have $LD_LIBRARY_PATH set. This is Debian 11.4
bruce@server:~/crystal$ /usr/local/bin/crystal i
cannot find -lm (/usr/local/bin/../lib/crystal/libm.so: cannot open shared object file: No such file or directory)
Linker arguments: -L/usr/local/bin/../lib/crystal -lpcre -lm -lpthread -levent -lrt -ldl
Search path: /usr/local/lib/x86_64-linux-gnu:/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu/libfakeroot:/usr/lib/x86_64-linux-gnu/fakechroot:/lib32:/usr/lib32:/usr/local/lib:/lib64:/usr/lib64:/lib:/usr/lib:/usr/local/bin/../lib/crystal (Crystal::Loader::LoadError)
/usr/lib/x86_64-linux-gnu/libm.so exists.
This looks more like what I would expect. I don't know what is happening at runtime.
bruce@server:~/crystal$ ldd /usr/local/bin/crystal
linux-vdso.so.1 (0x00007ffc38b68000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f2a7c069000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f2a7c047000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f2a72abc000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f2a7c02a000)
libtinfo.so.6 => /lib/x86_64-linux-gnu/libtinfo.so.6 (0x00007f2a7bffb000)
libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f2a728ef000)
libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f2a7bf86000)
libevent-2.1.so.7 => /lib/x86_64-linux-gnu/libevent-2.1.so.7 (0x00007f2a72896000)
libffi.so.7 => /lib/x86_64-linux-gnu/libffi.so.7 (0x00007f2a7bf7a000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f2a7bf60000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f2a726d1000)
/lib64/ld-linux-x86-64.so.2 (0x00007f2a7c08c000)