Using latest OpenDylan (2020.1)

40 views
Skip to first unread message

Gareth Baker

unread,
Jan 18, 2021, 4:36:14 PM1/18/21
to dylan-lang
Hi,

Finally worked out how to get my system to find the clang in OpenDylan first (I get a segmentation fault if it tries to use clang v12). I now get an interesting error message:

dyld: Library not loaded: /Users/housel/obj/x86_64-apple-darwin19.6.0/dylan/odbuild-2020.1/release/opendylan-2020.1/lib/libgc.1.dylib

  Referenced from: /opt/opendylan-2020.1/bin/dylan-compiler

  Reason: image not found

Humm... not sure how to get round that one :-)

Thanks

Gareth

Peter Hull

unread,
Jan 19, 2021, 2:54:17 PM1/19/21
to dylan-lang
On Monday, 18 January 2021 at 21:36:14 UTC Gareth Baker wrote:
dyld: Library not loaded: /Users/housel/obj/x86_64-apple-darwin19.6.0/dylan/odbuild-2020.1/release/opendylan-2020.1/lib/libgc.1.dylib

  Referenced from: /opt/opendylan-2020.1/bin/dylan-compiler

  Reason: image not found

How did you install dylan - from homebrew or by installing the tarball? I will do the same and see if I get the same error.
Pete

Peter Hull

unread,
Jan 20, 2021, 5:26:52 AM1/20/21
to dylan-lang
(replying to the list so it's on the record, sorry for the duplication Gareth)

On Tue, 19 Jan 2021 at 22:28, Gareth Baker wrote:
> From the tarball. 

OK, I installed it and didn't get the same error. But I had a poke around at the exe
$ otool -L opendylan-2020.1/bin/dylan-compiler
opendylan-2020.1/bin/dylan-compiler:
        @rpath/libdylan-compiler.dylib (compatibility version 0.0.0, current version 0.0.0)
        @rpath/libdylan.dylib (compatibility version 0.0.0, current version 0.0.0)
        /Users/housel/obj/x86_64-apple-darwin19.6.0/dylan/odbuild-2020.1/release/opendylan-2020.1/lib/libgc.1.dylib (compatibility version 6.0.0, current version 6.3.0)
        @rpath/libcommon-dylan.dylib (compatibility version 0.0.0, current version 0.0.0)
        @rpath/libodsystem.dylib (compatibility version 0.0.0, current version 0.0.0)
... lots more lines...

so for some reason the path for libgc is not the same as the others and I guess the OS loader can't find it because you won't have that /Users/housel/...  path.
I don't get the same error because I have libgc installed system-wide (needed to compile opendylan myself, obviously) so the loader can find it on the system path
$ DYLD_PRINT_LIBRARIES=1 dylan-compiler
dyld: loaded: /tmp/opendylan-2020.1/bin/dylan-compiler
dyld: loaded: /private/tmp/opendylan-2020.1/bin/../lib/libdylan-compiler.dylib
dyld: loaded: /private/tmp/opendylan-2020.1/bin/../lib/libdylan.dylib
dyld: loaded: /usr/local/lib/libgc.1.dylib
dyld: loaded: /private/tmp/opendylan-2020.1/bin/../lib/libcommon-dylan.dylib
... lots more lines...

I think the exes need to be recompiled, to reference libgc relative to the @rpath, like all the others. The actual library has been included in the tar file, but the loader doesn't find it.

Pete
Reply all
Reply to author
Forward
0 new messages