ECL and musl

Daniel Kochmański daniel at turtleware.eu
Fri Oct 20 18:05:57 UTC 2017


Hey,

I'll update bundled GC before next release. One of the valid scenarios 
where bundling GC with ECL makes sense is static linking (and ECL 
supports that – when GC is bundled it is statically linked and none of 
its symbols are exported). I've also found it handy, when I was buidling 
ECL on NetBSD, which shipped only non-threaded build of bdwgc.

Note, that ECL first looks for system GC and if it can be used – it is.

Regards,

Daniel


On 20.10.2017 19:44, Dima Pasechnik wrote:
> The bundled GC is too old; it's not working in the embedded ECL 
> situation on FreeBSD (see https://github.com/ivmai/bdwgc/issues/180 
> for a very fresh fix to this), or in at least one dynamic C library 
> case on OSX I know about (see https://github.com/miguelmarco/libhomfly).
>
> In general, I don't see the value of bundling with ECL an old snapshot 
> of a relatively popular and actively maintained library.
> (removing it is trivial - there is one script from bdwgc/ that is 
> used, and should be copied, the rest can go...)
>
> Just my 0.02c.
> Dima
>
>
>
>
> On Thu, Oct 12, 2017 at 5:12 PM, Daniel Kochmański 
> <daniel at turtleware.eu <mailto:daniel at turtleware.eu>> wrote:
>
>     Hey,
>
>     your problem is related to bundled libgc. We have some
>     conditionalization for musl, so I'm sure it worked in the past.
>     I'd suggest trying to install libgc from alpine repositories and
>     build ECL against that libgc. If Alpine doesn't have libgc in the
>     repositories, I'd try building upstream bdwgc and linking ECL with
>     it. If it doesn't build, report a bug on bdwgc project, if it does
>     – please let us know here so we'll update bundled libgc to the
>     working version.
>
>     Best regards,
>
>     Daniel
>
>
>     On 12.10.2017 18:03, Lucas Ramage wrote:
>>     Hello,
>>
>>     I am attempting to package ecl for alpine linux and I am having
>>     troubles compiling against musl.
>>
>>     Building ecl_min...
>>
>>     .//libeclgc.a(mach_dep.o): In function `GC_with_callee_saves_pushed':
>>
>>     /root/ecl-16.1.3/src/bdwgc/mach_dep.c:245: undefined reference to
>>     `getcontext'
>>
>>     collect2: error: ld returned 1 exit status
>>
>>     make[1]: *** [Makefile:224: ecl_min] Error 1
>>
>>     make[1]: Leaving directory '/root/ecl-16.1.3/build'
>>
>>     make: *** [Makefile:72: all] Error 2
>>
>>>>     I tried `make CFLAGS='-DNO_GETCONTEXT'`​ but that did not work
>>     either.
>>
>>     Has anyone successfully built ecl using musl?
>>
>>
>>     -- 
>>     Regards,
>>
>>     Visit online journal <https://lramage94.github.io/>
>>
>>     	
>>
>>     *Lucas Ramage* / Software Engineer
>>     ramage.lucas at openmailbox.org
>>     <mailto:ramage.lucas at openmailbox.org> / (941) 404-6794
>>     <tel:%28941%29%20404-6794>
>>
>>     *PGP Fingerprint* / Learn More <https://emailselfdefense.fsf.org/en/>
>>     EAE7 45DF 818D 4948 DDA7 0F44 F52A 5A96 7B9B 6FB7
>>     <https://pgp.mit.edu/pks/lookup?op=get&search=0xF52A5A967B9B6FB7>
>>
>>     *Visit online journal*
>>     http://lramage94.github.io <https://lramage94.github.io/>
>>
>>     Github <https://github.com/lramage94>Linkedin
>>     <https://www.linkedin.com/in/lramage94>
>>
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/ecl-devel/attachments/20171020/87987553/attachment-0001.html>


More information about the ecl-devel mailing list