Closed stugol closed 8 years ago
Delete the system Boehm GC and build and install it yourself.
I'm afraid I don't know how to do that. Could you explain, please?
Do I need to install anything else to build the Boehm GC? I can see this spiralling out of control rather.
It's not complicated; I did the same thing! Basically, do this:
sudo make install
./usr/lib/libgc.so*
.If I delete /usr/lib/libgc.so*
, where does Crystal find this GC?
How do I know nothing else is using the .so files I'm going to delete? Won't it break other programs?
No, because, when you install the Boehm GC, it installs into /usr/local/lib
, so all that does is remove the old versions...
Actually, you could probably just do make install prefix=/usr
instead!
Nope!
> make install prefix=/usr
make[1]: Entering directory '/opt/t/bdwgc'
make[2]: Entering directory '/opt/t/bdwgc'
/bin/mkdir -p '/usr/lib'
/bin/bash ./libtool --mode=install /usr/bin/install -c libgc.la libcord.la '/usr/lib'
libtool: install: /usr/bin/install -c .libs/libgc.so.1.0.3 /usr/lib/libgc.so.1.0.3
libtool: install: (cd /usr/lib && { ln -s -f libgc.so.1.0.3 libgc.so.1 || { rm -f libgc.so.1 && ln -s libgc.so.1.0.3 libgc.so.1; }; })
libtool: install: (cd /usr/lib && { ln -s -f libgc.so.1.0.3 libgc.so || { rm -f libgc.so && ln -s libgc.so.1.0.3 libgc.so; }; })
libtool: install: /usr/bin/install -c .libs/libgc.lai /usr/lib/libgc.la
libtool: install: error: cannot install `libcord.la' to a directory not ending in /usr/local/lib
Makefile:1208: recipe for target 'install-libLTLIBRARIES' failed
make[2]: *** [install-libLTLIBRARIES] Error 1
make[2]: Leaving directory '/opt/t/bdwgc'
Makefile:2270: recipe for target 'install-am' failed
make[1]: *** [install-am] Error 2
make[1]: Leaving directory '/opt/t/bdwgc'
Makefile:1700: recipe for target 'install-recursive' failed
make: *** [install-recursive] Error 1
I'll try the other way.
I've done all that, and I'm still getting the problems. There is no change whatsoever.
You deleted /usr/lib/libgc.so*
? What about trying to also delete /usr/lib/libgc.a*
?
I'm sorry, I did this a few months ago, so I think I forgot that step. :/
I deleted /usr/lib/libgc.*
. Was that wrong?
No...
You already ran sudo make install
? Same exact error?
What if you cd to /usr
and run find . -name libgc.\*
?
sudo make install
on the GC worked fine, but I'm getting precisely the same problems trying to build or use Crystal.
> cd /usr
> find . -name libgc.\*
./local/lib/libgc.so
./local/lib/libgc.so.1.0.3
./local/lib/libgc.la
./local/lib/libgc.so.1
./local/lib/libgc.a
./lib/x86_64-linux-gnu/libgc.so
./lib/x86_64-linux-gnu/libgc.so.1.0.3
./lib/x86_64-linux-gnu/libgc.so.1
./lib/x86_64-linux-gnu/libgc.a
@stugol What's your OS? Did you trying using one of the installation methods? 0.7.6 is pretty old. Crystal comes with Boehm GC.
I'm using Debian Jessie. I was not aware of the installation methods page to which you refer. Was it perhaps not in existence back in August? Alternatively, does this installation method perhaps not yield the latest version of Crystal? I can't think of any other reason I would have avoided using it.
I will give it a try now.
Okay, that worked - although it seems there have been plenty of breaking changes since I last used the language (e.g. Array.count, Array.length), so of course my code doesn't compile.
I notice, however, that there have been many commits to the repository since this release (0.9.1). If I try to compile the latest source with this version, will it just work, or will I have to faff about some more? ;)
we ensure compatibility of the master branch with the latest release, so that the next release can be compiled with the previous one.
Now that you have a working and recent Crystal compiler, you can try to compile the master branch again. If the boehm GC error strikes again, try removing the boehm-gc package if possible (it may not be needed), which will always use the version you installed manually.
Alternatively you wait a little for a new release, and just apt-get again.
I'm afraid I'm not having much luck. It compiles fine, but doesn't work:
> /opt/t/crystal/.build/crystal ./delta-backup-tests.cr
./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/_main.o: In function `__crystal_main':
main_module:(.text+0xa646): undefined reference to `GC_get_push_other_roots'
main_module:(.text+0xa6ac): undefined reference to `GC_set_push_other_roots'
main_module:(.text+0xa6b1): undefined reference to `co_thread_init'
./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Fiber.o: In function `*Fiber#initialize<Fiber>:Fiber':
Fiber:(.text+0x1b3): undefined reference to `co_set_data'
./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Fiber.o: In function `*Fiber#initialize<Fiber, &( -> Void)>:Fiber':
Fiber:(.text+0x363): undefined reference to `co_set_data'
./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Fiber.o: In function `*Fiber::current:Fiber':
Fiber:(.text+0x6fd): undefined reference to `co_get_data'
collect2: error: ld returned 1 exit status
Error: execution of command failed with code: 1: `cc -o "/mnt/data/Documents/Programming/crystal/.crystal/crystal-run-delta-backup-tests.tmp" "${@}" -rdynamic -lcrypto -levent -lrt -lpcl -lpcre -lgc -lpthread -ldl`
> sudo apt-get remove boehm-gc
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package boehm-gc
The latest release works with no issues:
> crystal ./delta-backup-tests.cr
Group: DeltaChecker
(PASS) Identical files match
(PASS) Weak checksum code gives the same answer no matter what block size is used
(PASS) Weak checksum is correct when rolled
Group: Patching changes
(PASS) Small in-place changes can be patched
(PASS) Small deletions can be patched
(PASS) Small insertions can be patched
Results: 6 tests passed, 0 tests failed
You should use the bin/crystal
wrapper, never .build/crystal
Oh?
> /opt/t/crystal/bin/crystal ./delta-backup-tests.cr
Using compiled compiler at .build/crystal
./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/_main.o: In function `__crystal_main':
main_module:(.text+0xa646): undefined reference to `GC_get_push_other_roots'
main_module:(.text+0xa6ac): undefined reference to `GC_set_push_other_roots'
main_module:(.text+0xa6b1): undefined reference to `co_thread_init'
./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Fiber.o: In function `*Fiber#initialize<Fiber>:Fiber':
Fiber:(.text+0x1b3): undefined reference to `co_set_data'
./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Fiber.o: In function `*Fiber#initialize<Fiber, &( -> Void)>:Fiber':
Fiber:(.text+0x363): undefined reference to `co_set_data'
./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Fiber.o: In function `*Fiber::current:Fiber':
Fiber:(.text+0x6fd): undefined reference to `co_get_data'
collect2: error: ld returned 1 exit status
Error: execution of command failed with code: 1: `cc -o "/mnt/data/Documents/Programming/crystal/.crystal/crystal-run-delta-backup-tests.tmp" "${@}" -rdynamic -lcrypto -levent -lrt -lpcl -lpcre -lgc -lpthread -ldl`
Oh, right, when you use the compiled compiler it won't use the dynamic libraries it comes with. You'll either have to install Boehm GC 7.4 or wait for the next release.
How do I install Boehm 7.4? Is it straightforward, or does it involve more compilation and dependancies?
Bump.
As you will see above, when I tried to compile and install the Boehm GC, it didn't make any difference.
You remember the instructions I gave you?
...yeah, that's the GC...
I remember them. And they didn't work, sadly.
The compiled GC files are still in /usr/local/lib
on my system. Crystal doesn't seem to care.
FYI, it's actually your linker that doesn't seem to care...
I love Linux, but sometimes shared libraries have their own version of DLL hell.
What if you run Crystal with LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH crystal whatever.cr
?
> LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH /opt/t/crystal/bin/crystal ./delta-backup-tests.cr
Using compiled compiler at .build/crystal
./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/_main.o: In function `__crystal_main':
main_module:(.text+0xae6a): undefined reference to `GC_get_push_other_roots'
main_module:(.text+0xaed0): undefined reference to `GC_set_push_other_roots'
main_module:(.text+0xaed5): undefined reference to `co_thread_init'
./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Fiber.o: In function `*Fiber#initialize<Fiber>:Fiber':
Fiber:(.text+0x1b3): undefined reference to `co_set_data'
./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Fiber.o: In function `*Fiber#initialize<Fiber, &( -> Void)>:Fiber':
Fiber:(.text+0x363): undefined reference to `co_set_data'
./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Fiber.o: In function `*Fiber::current:Fiber':
Fiber:(.text+0x6fd): undefined reference to `co_get_data'
collect2: error: ld returned 1 exit status
Error: execution of command failed with code: 1: `cc -o "/mnt/data/Documents/Programming/crystal/.crystal/crystal-run-delta-backup-tests.tmp" "${@}" -rdynamic -lcrypto -levent -lrt -lpcl -lpcre -lgc -lpthread -ldl`
Sigh :(
What if you rerun the command it said failed a the bottom again, but you pass -v
, too? That should print some info about what libraries are being used.
That's not going to work. Running the cc
command by itself simply doesn't work:
> cc -o "/mnt/data/Documents/Programming/crystal/.crystal/crystal-run-delta-backup-tests.tmp" "${@}" -rdynamic -lcrypto -levent -lrt -lpcl -lpcre -lgc -lpthread -ldl
/usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu/crt1.o: In function `_start':
(.text+0x20): undefined reference to `main'
collect2: error: ld returned 1 exit status
But passing -v
should say which versions of the libraries it's usinf.
Fair enough.
> cc -o "/mnt/data/Documents/Programming/crystal/.crystal/crystal-run-delta-backup-tests.tmp" "${@}" -rdynamic -lcrypto -levent -lrt -lpcl -lpcre -lgc -lpthread -ldl -v
Using built-in specs.
COLLECT_GCC=cc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.9/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.9.2-10' --with-bugurl=file:///usr/share/doc/gcc-4.9/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.9 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.9 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-vtable-verify --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.9-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.9-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.9-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --with-arch-32=i586 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --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.9.2 (Debian 4.9.2-10)
COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/4.9/:/usr/lib/gcc/x86_64-linux-gnu/4.9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/4.9/:/usr/lib/gcc/x86_64-linux-gnu/
LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/4.9/:/usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/4.9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/4.9/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-o' '/mnt/data/Documents/Programming/crystal/.crystal/crystal-run-delta-backup-tests.tmp' '-rdynamic' '-v' '-mtune=generic' '-march=x86-64'
/usr/lib/gcc/x86_64-linux-gnu/4.9/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/4.9/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/4.9/lto-wrapper -plugin-opt=-fresolution=/tmp/ccvCP0p8.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --sysroot=/ --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o /mnt/data/Documents/Programming/crystal/.crystal/crystal-run-delta-backup-tests.tmp /usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu/crt1.o /usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/4.9/crtbegin.o -L/usr/lib/gcc/x86_64-linux-gnu/4.9 -L/usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/4.9/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/4.9/../../.. -lcrypto -levent -lrt -lpcl -lpcre -lgc -lpthread -ldl -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/x86_64-linux-gnu/4.9/crtend.o /usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu/crtn.o
/usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu/crt1.o: In function `_start':
(.text+0x20): undefined reference to `main'
collect2: error: ld returned 1 exit status
Should I redefine LIBRARY_PATH?
Let's start over.
On Debian (and Ubuntu) you need to replace 2 packages with upgraded versions of libgc and libpcl —notice the missing gc_
symbol and the other co_
symbols in your initial fail builds— in order to compile crystal itself, or to compile programs with your compiled crystal binary. This doesn't apply when installing the crystal package, which comes bundled with the necessary static libraries, so we don't have to worry about it.
As I said above, the libgc(-dev) and libpcl1.7(-dev) are too old in Debian/Ubuntu and must be upgraded. First you should remove the packages —at least the -dev packages if you can't remove the libraries. That should clean things up. Trying to compile crystal again should fail with many more missing gc_
and co_
symbols —unless it uses the bundled static libraries, in which case trying to compile anything with the new compiler, will fail.
Building and installing Boehm GC 7.4.x and PCL 1.12 will provide the up to date libraries.
But now you're having a linking problem. Maybe the following could help:
$ crystal whatever.cr --link-flags=-L/usr/local/lib
Then you should check the Debian support to find out what environment variable or file (/etc/ld.so.conf
?) to change, so it can be made permanent.
Still no joy.
> /opt/t/crystal/bin/crystal ./delta-backup-tests.cr --link-flags=/usr/local/lib
Using compiled compiler at .build/crystal
/usr/bin/ld: cannot find /usr/local/lib: File format not recognized
collect2: error: ld returned 1 exit status
Error: execution of command failed with code: 1: `cc -o "/mnt/data/Documents/Programming/crystal/.crystal/crystal-run-delta-backup-tests.tmp" "${@}" /usr/local/lib -rdynamic -lcrypto -levent -lrt -lpcl -lpcre -lgc -lpthread -ldl`
I even tried this:
> LIBRARY_PATH=/usr/local/lib:$LIBRARY_PATH /opt/t/crystal/bin/crystal ./delta-backup-tests.cr --link-flags=-v
Using compiled compiler at .build/crystal
Using built-in specs.
COLLECT_GCC=cc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.9/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.9.2-10' --with-bugurl=file:///usr/share/doc/gcc-4.9/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.9 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.9 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-vtable-verify --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.9-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.9-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.9-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --with-arch-32=i586 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --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.9.2 (Debian 4.9.2-10)
COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/4.9/:/usr/lib/gcc/x86_64-linux-gnu/4.9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/4.9/:/usr/lib/gcc/x86_64-linux-gnu/
LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/4.9/:/usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/4.9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:./:/usr/lib/gcc/x86_64-linux-gnu/4.9/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-o' '/mnt/data/Documents/Programming/crystal/.crystal/crystal-run-delta-backup-tests.tmp' '-v' '-rdynamic' '-mtune=generic' '-march=x86-64'
/usr/lib/gcc/x86_64-linux-gnu/4.9/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/4.9/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/4.9/lto-wrapper -plugin-opt=-fresolution=/tmp/ccmMm57K.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --sysroot=/ --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o /mnt/data/Documents/Programming/crystal/.crystal/crystal-run-delta-backup-tests.tmp /usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu/crt1.o /usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/4.9/crtbegin.o -L/usr/lib/gcc/x86_64-linux-gnu/4.9 -L/usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/4.9/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L. -L/usr/lib/gcc/x86_64-linux-gnu/4.9/../../.. ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/_main.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/UInt64.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/StaticArray40Int8443225641.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Int841.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40Int3241.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/String5858Builder.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/String.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/ArgumentError.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/CallStack.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40Pointer40Void4141.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Pointer40Void4141.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/GC.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40LibUnwind5858Exception41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Exception.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Slice40T41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Slice40UInt841.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Math.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Int32.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40UInt841.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/IndexError.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/StaticArray40UInt844326541.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/DivisionByZero.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Int3241.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40String41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40String41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Random5858MT19937.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/StaticArray40UInt324432441.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Random.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40UInt3241.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/StaticArray40UInt32443262441.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/UInt32.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Fiber.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Void41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40Fiber41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Fiber41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Event5858Base.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Int64.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Errno.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Event5858Event.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Scheduler.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/IO5858FileDescriptor.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Bool.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/LibEvent25858EventFlags.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/IO5858Timeout.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/IO5858Error.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Pointer40UInt84141.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Slice40Pointer40UInt84141.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array404032456232Nil4141.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer404032456232Nil4141.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Event5858SignalHandler.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/IO.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/StaticArray40Int324432241.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash40Signal443240Signal32456232Void4141.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash5858StandardComparator.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Signal.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Hash5858-53873ca918e49a5155e4e00c1c71dd1e.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash5858Entry40Signal443240Signal32456232Void4141.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Exception43.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Nil.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Socket5858Error.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/OptionParser5858MissingOption.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/OptionParser5858InvalidOption.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/OptionParser5858Exception43.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/I5858Testing5858NotificationsExpectedError.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/I5858Testing5858SkipTestException.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/I5858Testing5858SilentFailureException.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/I5858Testing5858AssertException.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/I5858Testing5858TestingException43.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/NotSupportedException.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/NullReferenceException.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/EOFError.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/SanityException.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/CaseElseException.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Base645858Error.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Concurrent5858CanceledError.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Channel5858ClosedError.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Time5858Format5858Error.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/IO5858EOFError.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/IO5858Error43.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/KeyError.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/InvalidByteSequenceError.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/TypeCastError.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Enumerable5858EmptyError.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/StaticArray40UInt84432441.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/UInt8.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Event5858SignalChildHandler.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash40Int324432Process5858Status41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Hash5858-5be03dfbff7189de5bb0166c94b5af88.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash40Int324432Ch-58936133be82407b4de468047ed7e7dc.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Hash5858-9a1110bf3fc45b999f79e9061a2da0d2.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/40Int3232456232Void41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Process5858Status.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash5858Entry40Int324432Process5858Status41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/AtExitHandlers.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array4040Int3232456232Void4141.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer4040Int3232456232Void4141.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40I5858Testing5858TestGroup41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40I5858Testing5858TestGroup41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/I5858Testing.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/I5858Testing5858TestReporter.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/I5858Testing5858Options.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/I5858Testing5858TestGroup.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40I5858Testi-6997585081dec41f99609d3413896ddf.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40I5858Tes-fe69bfb4c2fcbbfa689b75f168f2a71c.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/I5858Testing5858Test.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Symbol.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Char.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/DeltaChecker.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/DeltaBackup.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer5858Appender40T41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer5858Appender40UInt841.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Regex.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Char5858Reader.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Regex5858Options.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Regex5858MatchData.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40String3212432Int323212432Char41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40String3212432Int323212432Char41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pathname.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/File.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/123String4432Stri-15d71c63901370812e6ff585a26cf24f.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash40Symbol4432Nil3212432String3212432Bool41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Hash5858-1525ad3ba35c2496594745c656002294.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/OptionParser.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40OptionParser5858Handler41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40OptionParser5858Handler41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/OptionParser5858Handler.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash5858Entry40Sy-4694baf4f0f3558590ed3a5dcc1013c5.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Process.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/OptionParser5858ParseTask.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Range40B4432E41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Range40Int324432Int3241.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40Symbol41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Symbol41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Range40Char4432Char41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash40123UInt644432Symbol1254432Bool41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Hash5858-87b25e50fb3d0d3b5c5052fe12251c97.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/123UInt644432Symbol125.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash5858Entry40123UInt644432Symbol1254432Bool41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Channel40DeltaBackupLogEventArgs41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Channel5858Unbuffered40DeltaBackupLogEventArgs41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Logger.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40Logger5858TargetBase4341.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Logger5858TargetBase4341.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Time.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Channel40Int3241.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Channel5858Unbuffered40Int3241.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/DeltaBackupLogEventArgs.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/TCPServer.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/IPSocket5858DnsRequestCbArg.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Event5858DnsBase.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Event5858DnsBase5858GetAddrInfoRequest.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40String3212432Int3241.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40String3212432Int3241.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/String5858Formatter.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40StaticArray40UInt84432164141.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40StaticArray40UInt84432164141.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash40String4432String41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Hash5858Entry40String4432String416341.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash5858Entry40String4432String41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash40Symbol4432String41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Hash5858Entry40Symbol4432String416341.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash5858Entry40Symbol4432String41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash40String4432Int3241.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Hash5858Entry40String4432Int32416341.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash5858Entry40String4432Int3241.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash40Symbol4432Int3241.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Hash5858Entry40Symbol4432Int32416341.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash5858Entry40Symbol4432Int3241.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash40String4432Int323212432Int6441.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Hash5858-b2b56cb1280bafbbb013cab6685dab1c.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash5858Entry40String4432Int323212432Int6441.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash40Symbol4432Int323212432Int6441.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Hash5858-8307babebdd0bf8bee6c8d95d27617d3.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash5858Entry40Symbol4432Int323212432Int6441.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/String5858Formatter5858Flags.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/StaticArray40UInt844321641.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/String5858ToU64Info.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/PointerIO.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/TCPSocket43.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Socket.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Socket5858Addr.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/UInt16.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/TCPSocket.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40Char41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Char41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/OpenSSL5858MD5.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40UInt841.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/ArrayStream.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40Int6441.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Int6441.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash40Range40Int6-5f1d10699df3d8eb119ab106551bb224.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Hash5858-4cdeab5feb90ac53fab0488f52a3fa34.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Range40Int644432Int6441.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/MultiStream.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40MultiStream5858ChildStream41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40MultiStream5858ChildStream41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/MultiStream5858ChildStream.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash5858Entry40Ra-868974c29e90c46bbb7e2c520c6145ca.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/MD5.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40Int323212432Int6441.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Int323212432Int6441.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/DeltaChecker5858RangedSubStream.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Range40Int323212432Int643212432UInt644432Int3241.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/I5858Testing5858Assert.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Range40UInt84432UInt841.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/DeltaChecker5858WeakChecksum.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Range40Int3232124-80ea8655bd47377bb592f6e6d6a5b77b.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/DeltaChecker5858WeakChecksum5858RawChecksum.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/DeltaChecker5858SlidingWindowStream.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/SecureRandom.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40Hash40Int324432UInt324141.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Hash40Int324432UInt324141.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash40Int324432UInt3241.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Hash5858Entry40Int324432UInt32416341.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash5858Entry40Int324432UInt3241.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40Int323212432UInt841.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/DeltaChecker5858ChunkStream.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Int323212432UInt841.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40Hash40String4432Int324141.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Hash40String4432Int324141.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/123Int32125.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40UInt3241.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40DeltaChecker5858WeakChecksum41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40DeltaChecker5858WeakChecksum41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash40Range40Int6-fb1a7fc4a22039338671f848b8ec073d.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Hash5858-4b0b3d1ca9974fad798f5ebbb611ff60.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash40UInt324432A-f65011c39947f9f64e1edbd929ca665f.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Hash5858-95b57d0ca6905fd30541d374d5353dc5.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash5858Entry40UI-ad22dd81c52e4c290cde637261ee490d.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash5858Entry40Ra-f14ed65122d7b4f7101ddd91e2b6e8ba.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40Range40Int644432Int644141.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Range40Int644432Int644141.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40Nil3212432Range40Int644432Int644141.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Nil3212432Range40Int644432Int644141.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40Hash40Rang-6e73f640b9276de55105b3d75a66e1d0.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Hash40Ra-d56a7fe3484aad8ffa8338e183f6e014.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash40Range40Int6-07af95acef425cc5469155441b19d268.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Hash5858-62bbac55a2309d3903fd4984a1a0e002.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash5858Entry40Ra-9314f063ccdab3169d57fd1a04d75158.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40123Range40-52737b853441f1acfcbfc154c637ad46.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40123Range-78099dd0ee8c87640b418024048a2acc.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40123123Rang-4cc1ea8d546def1d871684cd6664872d.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40123123Ra-9aa6c96f5df011e11d5ab648b58b116d.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40T41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40DeltaChecker5858RangedSubStream41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40DeltaChecker5858RangedSubStream41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40Hash40String4432Int323212432Int644141.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Hash40String4432Int323212432Int644141.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40Nil41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Nil41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40Nil3212432UInt841.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Nil3212432UInt841.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40123Nil3212432UInt84432UInt812541.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40123Nil3212432UInt84432UInt812541.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40Array40String3212432Char4141.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Array40String3212432Char4141.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40String3212432Char41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40String3212432Char41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40Array40String4141.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Array40String4141.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/EJustify.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array5858FlattenHelper40String41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Logger5858StdoutTarget.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Time5858Format.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Time5858Format5858Formatter.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Time5858Kind.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40Hash40String4432String4141.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Hash40String4432String4141.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Logger5858FileTarget.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/123String4432String4432String4432String125.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Time5858Span.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/123String4432String125.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/LEBReader.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/LibUnwind5858Action.o -lcrypto -levent -lrt -lpcl -lpcre -lgc -lpthread -ldl -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/x86_64-linux-gnu/4.9/crtend.o /usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu/crtn.o
./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/_main.o: In function `__crystal_main':
main_module:(.text+0xae6a): undefined reference to `GC_get_push_other_roots'
main_module:(.text+0xaed0): undefined reference to `GC_set_push_other_roots'
main_module:(.text+0xaed5): undefined reference to `co_thread_init'
./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Fiber.o: In function `*Fiber#initialize<Fiber>:Fiber':
Fiber:(.text+0x1b3): undefined reference to `co_set_data'
./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Fiber.o: In function `*Fiber#initialize<Fiber, &( -> Void)>:Fiber':
Fiber:(.text+0x363): undefined reference to `co_set_data'
./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Fiber.o: In function `*Fiber::current:Fiber':
Fiber:(.text+0x6fd): undefined reference to `co_get_data'
collect2: error: ld returned 1 exit status
Error: execution of command failed with code: 1: `cc -o "/mnt/data/Documents/Programming/crystal/.crystal/crystal-run-delta-backup-tests.tmp" "${@}" -v -rdynamic -lcrypto -levent -lrt -lpcl -lpcre -lgc -lpthread -ldl`
You'll notice that my LIBRARY_PATH variable is being overwritten. So I did this:
> export LIBRARY_PATH=/usr/local/lib:$LIBRARY_PATH
> /opt/t/crystal/bin/crystal ./delta-backup-tests.cr --link-flags=-v
Using compiled compiler at .build/crystal
Using built-in specs.
COLLECT_GCC=cc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.9/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.9.2-10' --with-bugurl=file:///usr/share/doc/gcc-4.9/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.9 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.9 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-vtable-verify --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.9-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.9-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.9-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --with-arch-32=i586 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --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.9.2 (Debian 4.9.2-10)
COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/4.9/:/usr/lib/gcc/x86_64-linux-gnu/4.9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/4.9/:/usr/lib/gcc/x86_64-linux-gnu/
LIBRARY_PATH=/usr/local/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/4.9/:/usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/4.9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/local/lib/:./:/usr/lib/gcc/x86_64-linux-gnu/4.9/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-o' '/mnt/data/Documents/Programming/crystal/.crystal/crystal-run-delta-backup-tests.tmp' '-v' '-rdynamic' '-mtune=generic' '-march=x86-64'
/usr/lib/gcc/x86_64-linux-gnu/4.9/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/4.9/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/4.9/lto-wrapper -plugin-opt=-fresolution=/tmp/ccn538po.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --sysroot=/ --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o /mnt/data/Documents/Programming/crystal/.crystal/crystal-run-delta-backup-tests.tmp /usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu/crt1.o /usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/4.9/crtbegin.o -L/usr/local/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/4.9 -L/usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/4.9/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/local/lib -L. -L/usr/lib/gcc/x86_64-linux-gnu/4.9/../../.. ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/_main.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/UInt64.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/StaticArray40Int8443225641.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Int841.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40Int3241.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/String5858Builder.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/String.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/ArgumentError.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/CallStack.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40Pointer40Void4141.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Pointer40Void4141.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/GC.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40LibUnwind5858Exception41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Exception.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Slice40T41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Slice40UInt841.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Math.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Int32.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40UInt841.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/IndexError.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/StaticArray40UInt844326541.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/DivisionByZero.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Int3241.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40String41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40String41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Random5858MT19937.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/StaticArray40UInt324432441.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Random.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40UInt3241.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/StaticArray40UInt32443262441.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/UInt32.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Fiber.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Void41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40Fiber41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Fiber41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Event5858Base.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Int64.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Errno.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Event5858Event.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Scheduler.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/IO5858FileDescriptor.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Bool.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/LibEvent25858EventFlags.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/IO5858Timeout.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/IO5858Error.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Pointer40UInt84141.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Slice40Pointer40UInt84141.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array404032456232Nil4141.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer404032456232Nil4141.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Event5858SignalHandler.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/IO.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/StaticArray40Int324432241.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash40Signal443240Signal32456232Void4141.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash5858StandardComparator.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Signal.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Hash5858-53873ca918e49a5155e4e00c1c71dd1e.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash5858Entry40Signal443240Signal32456232Void4141.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Exception43.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Nil.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Socket5858Error.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/OptionParser5858MissingOption.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/OptionParser5858InvalidOption.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/OptionParser5858Exception43.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/I5858Testing5858NotificationsExpectedError.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/I5858Testing5858SkipTestException.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/I5858Testing5858SilentFailureException.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/I5858Testing5858AssertException.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/I5858Testing5858TestingException43.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/NotSupportedException.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/NullReferenceException.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/EOFError.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/SanityException.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/CaseElseException.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Base645858Error.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Concurrent5858CanceledError.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Channel5858ClosedError.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Time5858Format5858Error.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/IO5858EOFError.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/IO5858Error43.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/KeyError.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/InvalidByteSequenceError.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/TypeCastError.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Enumerable5858EmptyError.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/StaticArray40UInt84432441.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/UInt8.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Event5858SignalChildHandler.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash40Int324432Process5858Status41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Hash5858-5be03dfbff7189de5bb0166c94b5af88.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash40Int324432Ch-58936133be82407b4de468047ed7e7dc.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Hash5858-9a1110bf3fc45b999f79e9061a2da0d2.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/40Int3232456232Void41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Process5858Status.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash5858Entry40Int324432Process5858Status41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/AtExitHandlers.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array4040Int3232456232Void4141.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer4040Int3232456232Void4141.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40I5858Testing5858TestGroup41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40I5858Testing5858TestGroup41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/I5858Testing.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/I5858Testing5858TestReporter.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/I5858Testing5858Options.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/I5858Testing5858TestGroup.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40I5858Testi-6997585081dec41f99609d3413896ddf.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40I5858Tes-fe69bfb4c2fcbbfa689b75f168f2a71c.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/I5858Testing5858Test.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Symbol.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Char.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/DeltaChecker.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/DeltaBackup.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer5858Appender40T41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer5858Appender40UInt841.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Regex.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Char5858Reader.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Regex5858Options.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Regex5858MatchData.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40String3212432Int323212432Char41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40String3212432Int323212432Char41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pathname.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/File.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/123String4432Stri-15d71c63901370812e6ff585a26cf24f.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash40Symbol4432Nil3212432String3212432Bool41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Hash5858-1525ad3ba35c2496594745c656002294.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/OptionParser.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40OptionParser5858Handler41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40OptionParser5858Handler41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/OptionParser5858Handler.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash5858Entry40Sy-4694baf4f0f3558590ed3a5dcc1013c5.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Process.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/OptionParser5858ParseTask.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Range40B4432E41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Range40Int324432Int3241.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40Symbol41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Symbol41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Range40Char4432Char41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash40123UInt644432Symbol1254432Bool41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Hash5858-87b25e50fb3d0d3b5c5052fe12251c97.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/123UInt644432Symbol125.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash5858Entry40123UInt644432Symbol1254432Bool41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Channel40DeltaBackupLogEventArgs41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Channel5858Unbuffered40DeltaBackupLogEventArgs41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Logger.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40Logger5858TargetBase4341.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Logger5858TargetBase4341.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Time.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Channel40Int3241.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Channel5858Unbuffered40Int3241.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/DeltaBackupLogEventArgs.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/TCPServer.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/IPSocket5858DnsRequestCbArg.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Event5858DnsBase.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Event5858DnsBase5858GetAddrInfoRequest.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40String3212432Int3241.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40String3212432Int3241.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/String5858Formatter.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40StaticArray40UInt84432164141.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40StaticArray40UInt84432164141.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash40String4432String41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Hash5858Entry40String4432String416341.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash5858Entry40String4432String41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash40Symbol4432String41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Hash5858Entry40Symbol4432String416341.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash5858Entry40Symbol4432String41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash40String4432Int3241.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Hash5858Entry40String4432Int32416341.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash5858Entry40String4432Int3241.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash40Symbol4432Int3241.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Hash5858Entry40Symbol4432Int32416341.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash5858Entry40Symbol4432Int3241.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash40String4432Int323212432Int6441.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Hash5858-b2b56cb1280bafbbb013cab6685dab1c.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash5858Entry40String4432Int323212432Int6441.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash40Symbol4432Int323212432Int6441.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Hash5858-8307babebdd0bf8bee6c8d95d27617d3.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash5858Entry40Symbol4432Int323212432Int6441.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/String5858Formatter5858Flags.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/StaticArray40UInt844321641.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/String5858ToU64Info.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/PointerIO.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/TCPSocket43.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Socket.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Socket5858Addr.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/UInt16.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/TCPSocket.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40Char41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Char41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/OpenSSL5858MD5.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40UInt841.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/ArrayStream.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40Int6441.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Int6441.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash40Range40Int6-5f1d10699df3d8eb119ab106551bb224.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Hash5858-4cdeab5feb90ac53fab0488f52a3fa34.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Range40Int644432Int6441.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/MultiStream.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40MultiStream5858ChildStream41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40MultiStream5858ChildStream41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/MultiStream5858ChildStream.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash5858Entry40Ra-868974c29e90c46bbb7e2c520c6145ca.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/MD5.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40Int323212432Int6441.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Int323212432Int6441.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/DeltaChecker5858RangedSubStream.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Range40Int323212432Int643212432UInt644432Int3241.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/I5858Testing5858Assert.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Range40UInt84432UInt841.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/DeltaChecker5858WeakChecksum.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Range40Int3232124-80ea8655bd47377bb592f6e6d6a5b77b.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/DeltaChecker5858WeakChecksum5858RawChecksum.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/DeltaChecker5858SlidingWindowStream.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/SecureRandom.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40Hash40Int324432UInt324141.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Hash40Int324432UInt324141.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash40Int324432UInt3241.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Hash5858Entry40Int324432UInt32416341.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash5858Entry40Int324432UInt3241.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40Int323212432UInt841.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/DeltaChecker5858ChunkStream.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Int323212432UInt841.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40Hash40String4432Int324141.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Hash40String4432Int324141.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/123Int32125.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40UInt3241.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40DeltaChecker5858WeakChecksum41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40DeltaChecker5858WeakChecksum41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash40Range40Int6-fb1a7fc4a22039338671f848b8ec073d.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Hash5858-4b0b3d1ca9974fad798f5ebbb611ff60.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash40UInt324432A-f65011c39947f9f64e1edbd929ca665f.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Hash5858-95b57d0ca6905fd30541d374d5353dc5.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash5858Entry40UI-ad22dd81c52e4c290cde637261ee490d.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash5858Entry40Ra-f14ed65122d7b4f7101ddd91e2b6e8ba.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40Range40Int644432Int644141.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Range40Int644432Int644141.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40Nil3212432Range40Int644432Int644141.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Nil3212432Range40Int644432Int644141.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40Hash40Rang-6e73f640b9276de55105b3d75a66e1d0.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Hash40Ra-d56a7fe3484aad8ffa8338e183f6e014.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash40Range40Int6-07af95acef425cc5469155441b19d268.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Hash5858-62bbac55a2309d3903fd4984a1a0e002.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Hash5858Entry40Ra-9314f063ccdab3169d57fd1a04d75158.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40123Range40-52737b853441f1acfcbfc154c637ad46.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40123Range-78099dd0ee8c87640b418024048a2acc.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40123123Rang-4cc1ea8d546def1d871684cd6664872d.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40123123Ra-9aa6c96f5df011e11d5ab648b58b116d.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40T41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40DeltaChecker5858RangedSubStream41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40DeltaChecker5858RangedSubStream41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40Hash40String4432Int323212432Int644141.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Hash40String4432Int323212432Int644141.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40Nil41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Nil41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40Nil3212432UInt841.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Nil3212432UInt841.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40123Nil3212432UInt84432UInt812541.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40123Nil3212432UInt84432UInt812541.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40Array40String3212432Char4141.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Array40String3212432Char4141.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40String3212432Char41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40String3212432Char41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40Array40String4141.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Array40String4141.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/EJustify.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array5858FlattenHelper40String41.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Logger5858StdoutTarget.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Time5858Format.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Time5858Format5858Formatter.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Time5858Kind.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Array40Hash40String4432String4141.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Pointer40Hash40String4432String4141.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Logger5858FileTarget.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/123String4432String4432String4432String125.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Time5858Span.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/123String4432String125.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/LEBReader.o ./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/LibUnwind5858Action.o -lcrypto -levent -lrt -lpcl -lpcre -lgc -lpthread -ldl -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/x86_64-linux-gnu/4.9/crtend.o /usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu/crtn.o
./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/_main.o: In function `__crystal_main':
main_module:(.text+0xaed5): undefined reference to `co_thread_init'
./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Fiber.o: In function `*Fiber#initialize<Fiber>:Fiber':
Fiber:(.text+0x1b3): undefined reference to `co_set_data'
./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Fiber.o: In function `*Fiber#initialize<Fiber, &( -> Void)>:Fiber':
Fiber:(.text+0x363): undefined reference to `co_set_data'
./.crystal/mnt/data/Documents/Programming/crystal/delta-backup-tests.cr/Fiber.o: In function `*Fiber::current:Fiber':
Fiber:(.text+0x6fd): undefined reference to `co_get_data'
collect2: error: ld returned 1 exit status
Error: execution of command failed with code: 1: `cc -o "/mnt/data/Documents/Programming/crystal/.crystal/crystal-run-delta-backup-tests.tmp" "${@}" -v -rdynamic -lcrypto -levent -lrt -lpcl -lpcre -lgc -lpthread -ldl`
Now it's using the correct path, but still not compiling! :(
@stugol But that's better! That means that the GC portion is working, so half the problem's...fixed??
I fixed the link flags in my comment above, I was missing a -L
:
$ crystal whatever.cr --link-flags="-L/usr/local/lib"
If you check the missing symbols, you'll see the gc_
symbols are now all found! You must now remove the libpcl1.7-dev
package (and libpcl1.7
too if possible) then install PCL 1.12 manually, and try again, for the co_
symbols to be found.
@kirbyfan64: lol ;) I guess so
@ysbaddaden: I will try.
Side note: both Debian Stretch and Ubuntu Xenial have libgc 7.4.2! But libpcl is sadly kept at 1.7.2 instead of 1.12 :'(
According to the internet, to modify the library load path, I should create a file in /etc/ld.so.conf.d/ and put the path in there; then run ldconfig
. This does precisely nothing, however. Should I just stick stuff in my terminal config script? (in my case, /etc/zsh/zshenv)
You know, like LIBRARY_PATH=/usr/local/bin:$LIBRARY_PATH
Hooray, I got it to work! Finally! Thanks for the help guys. I'm sure there's a better way of setting the LIBRARY_PATH, but meh.
Why does everything have to be so damn complicated?
@stugol It doesn't have to be complicated. It is just that, Crystal has 2 custom dependencies - that causing complexity, unless you have a good development environment specifically tailored for Crystal development.
Having such an environment might restrict your development box setup for work with anything else. That is why, I use docker container to work on headless crystal. Since I am using the same image and almost the same script, that is used for building & releasing new version of Crystal for Linux, it works really-really well. Of course, that is partly because I am very familiar with docker and use it on daily basis both for my side projects, my work development environment and my work production environments; normally, for anyone who is not familiar with docker, that might even complicate things.
Another, more conservative way, would be having a VM in virtualbox or something. Using Vagrant (or its successor Otto) to manage it.
s/headless/head/
And maybe that is an opportunity to improve things. I.e.: provide detailed instruction on how to use crystal head on OS "
I did consider using a VM, a few minutes ago. I'm not familiar with Docker - or Vagrant/Otto - however. I have experience with Parallels, VirtualBox and Proxmox. What exactly does Docker do?
Docker lets you run very light-weight containers on top of your linux kernel. It is basically very convenient abstraction built on top of container and cgroups functionality, that is built in the most recent kernels.
Plus is that it provides full isolation, so you can have multiple different and conflicting environments running on a single linux, and at the same time. It is similar to chroot
, but applied not only to file system, but to memory, cpu and process space too. For example, you can run on the same linux 2 environments, that will have 2 different versions of the same library. Without affecting each other, and not affecting your own user experience.
And here is the link: https://docs.docker.com/
Or their landing page: https://www.docker.com/
Hold on.....I could run an entire linux session in one of these things, like I do with Proxmox?
Typical usage of docker can be found in Crystal's CI script: https://github.com/manastech/crystal/blob/master/bin/ci#L74-L83 - that is actually very similar to how my development script looks like:
#!/usr/bin/env bash
[[ -z "$ARCH" ]] && ARCH=$(arch)
docker run \
-it \
--rm \
-u $(id -u) \
-v $(pwd):/mnt \
-w /mnt \
-e LIBRARY_PATH="/opt/crystal/embedded/lib/" \
"jhass/crystal-build-$ARCH" \
"$@"
Otto looks really REALLY complicated, and using it would be like juggling eels.
Yep, except that it is very lightweight and can serve just as an executor of commands, that you run from terminal. So you can run full-blown linux inside, even with text editor, like vim, emacs, nano. Or you could run it on-demand when you need to compile, run tests or run your program, by having a couple of nifty scripts in your project script
or bin
folder; allowing one to have their editor and code in normal linux os and execute all related commands inside of docker container, sharing a folder through a disk mount (that is done by simple -v $(pwd):$(pwd)
option to docker run
).
After an absence, I came back to Crystal and tried to run a script. As far as I know, nothing had changed. Nevertheless, I received the following errors:
So I figured my installation of Crystal was broken, and tried to download and compile a fresh one:
So I'm kinda at a loss here. Should I reinstall the Debian repo version, and use that to compile the latest version? Would that even work?
My current version of Crystal is apparently:
...help please?