ECL + EQL Standalone Binary
John Mercouris
jmercouris at gmail.com
Mon Sep 25 20:47:54 UTC 2017
Hi Pascal,
Thank you for your email,
1. You’re correct, I had to manually copy the libraries in to the app bundle, I just did something like:
> cp /usr/local/lib/libeql5.1.dylib ./next.app/Contents/Frameworks/
2. I saw the message is within ECL, I found the exact file with the error message, it is located in ecl/src/c/unixint.d
I figured my problem was unrelated to the libraries, but I wasn’t 100% sure, just wanted to include all information,
3. I have no idea how to read assembly, I mean I can pick through it, but I won’t be able to really understand what’s going on, nor would I know how to even attach a debugger to the process, are there any other ways that I can examine what’s going on? A source file I can look at? Should I be looking for issues within ECL or EQL?
Thanks for your time,
-John
> On Sep 25, 2017, at 15:26, Pascal Bourguignon <pjb at informatimago.com> wrote:
>
>
>
>> On 25 Sep 2017, at 19:19, John Mercouris <jmercouris at gmail.com <mailto:jmercouris at gmail.com>> wrote:
>>
>> Hey everyone,
>>
>> I’m John (the developer of nEXT (https://github.com/neXT-Browser/nEXT/ <https://github.com/neXT-Browser/nEXT/>),
>>
>> I’m trying to produce a standalone binary. I managed to create a “.app” bundle of my application, and then I linked the libraries ecl and eql following this approach (https://stackoverflow.com/questions/2809930/macdeployqt-and-third-party-libraries <https://stackoverflow.com/questions/2809930/macdeployqt-and-third-party-libraries>):
>>
>> > install_name_tool -change libeql5.1.dylib @executable_path/../Frameworks/libeql5.1.dylib next.app/Contents/MacOS/next
>> > install_name_tool -change @libdir@/libecl.16.1.dylib @executable_path/../Frameworks/libecl.16.1.dylib next.app/Contents/MacOS/next
>>
>> otool then reveals that everything was successful:
>> > otool -L next.app/Contents/MacOS/next
>> next.app/Contents/MacOS/next:
>> @executable_path/../Frameworks/libecl.16.1.dylib (compatibility version 16.1.3, current version 0.0.0)
>> @executable_path/../Frameworks/libeql5.1.dylib (compatibility version 1.0.0, current version 1.0.0)
>>
>>
>> Anyways, long story short, I got the following terminal output when I try to launch my new app binary:
>> <Terminal Output>
>>
>> In order to minimize the possibility of mistakes in my program, misusage of QT etc, I’ve created a branch where I’ve included only 2 lisp files, a package file, and a “base” file:
>>
>> https://github.com/nEXT-Browser/nEXT/tree/compile/next <https://github.com/nEXT-Browser/nEXT/tree/compile/next>
>>
>> Any ideas on how to proceed would be very useful, thank you,
>
>
> It looks like the error, which is:
>
>
> Internal or unrecoverable error in:
> Got signal before environment was installed on our thread
> [2: No such file or directory]
>
> ;;; ECL C Backtrace
> ;;; 0 libecl.16.1.dylib 0x00000001031d8512 si_dump_c_backtrace + 66
> ;;; 1 libecl.16.1.dylib 0x00000001031cac15 ecl_internal_error + 101
> ;;; 2 libecl.16.1.dylib 0x00000001031f0c30 deferred_signal_handler + 0
> ;;; 3 libecl.16.1.dylib 0x00000001031f092d sigsegv_handler + 381
> ;;; 4 libsystem_platform.dylib 0x00007fffb48d9b3a _sigtramp + 26
> ;;; 5 ??? 0x000000000000ffff 0x0 + 65535
> ;;; 6 libecl.16.1.dylib 0x0000000105072271 cl_boot + 1025
> ;;; 7 next 0x00000001030bb457 main + 23
> ;;; 8 libdyld.dylib 0x00007fffb46ca235 start + 1
> fish: “/Users/jmercouris/Projects/Next…” terminated by signal SIGABRT (Abort)
>
>
> is unrelated to the libraries.
>
> To be sure, have a look at the source of cl_boot (around assembly offset 1025) to see what it’s doing there.
> (You may use lldb to disassemble cl_boot and see what function is called around offset 1025, to help you locate the source of the error).
>
>
>
> (Concerning the warnings, did you copy the frameworks to the application package?)
>
> --
> __Pascal J. Bourguignon__
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/ecl-devel/attachments/20170925/f91f46ec/attachment-0001.html>
More information about the ecl-devel
mailing list