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