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.



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.

On Thu, Oct 12, 2017 at 5:12 PM, Daniel Kochmański <daniel@turtleware.eu> wrote:


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,


On 12.10.2017 18:03, Lucas Ramage wrote:

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?



Lucas Ramage / Software Engineer
ramage.lucas@openmailbox.org / (941) 404-6794

PGP Fingerprint / Learn More
EAE7 45DF 818D 4948 DDA7 0F44 F52A 5A96 7B9B 6FB7

Visit online journal

Github Linkedin