#182 ecl should by default not handle signals in different thread

Paulo Andrade

I am working on porting sagemath to fedora, and in a previous work, it was
required to patch sagemath ecl initialization, see

Now, when attempting to generate a request for enhancement in fedora, to
build maxima with ecl support, I found again the
problem, as maxima would dead lock in make check. Probably related to
or at least same symptoms.

The attached patch corrects the problem for me, and allows building maxima
with ecl enabled in fedora.


<< < 1 2 (Page 2 of 2)
  • Paulo Andrade
    Paulo Andrade

    Sorry for the delay to respond. I did update my fedora system from
    fedora 16 to rawhide and now resumed working again in porting sagemath
    to fedora. But now I get link errors:

    /home/pcpa/rpmbuild/BUILD/ecl-12.2.1/src/c/alloc_2.d:1273: undefined reference to `GC_push_conditional'

    looking at gc-7.2 sources, I see that these functions are not supposed
    to be defined, i.e. GC_INNER is defined to static, or, if not defined,
    in private/gc_priv.h it has the check if defined(GNUC) and
    if GNUC >= 4
    define GC_INNER attribute((visibility("hidden")))

    probably for some reason in fedora 16 those symbols were visible, now
    I probably should configure with --enable-precisegc but I think it
    will still just fail, because the first error is in unconditional code:

    if 1

    if (env->stack) {
        GC_push_conditional((void *)env->stack, (void *)env->stack_top, 1);
        GC_set_mark_bit((void *)env->stack);


    ecl is also actually broken in rawhide:

    Package Arch Version Repository Size
    ecl x86_64 12.2.1-2.fc18 rawhide 3.7 M

    Transaction Summary

    Install 1 Package

    Total download size: 3.7 M
    Installed size: 18 M
    Is this ok [y/N]: y
    Downloading Packages:
    ecl-12.2.1-2.fc18.x86_64.rpm | 3.7 MB 00:02
    Running Transaction Check
    Running Transaction Test
    Transaction Test Succeeded
    Running Transaction
    Warning: RPMDB altered outside of yum.
    Installing : ecl-12.2.1-2.fc18.x86_64 1/1
    Verifying : ecl-12.2.1-2.fc18.x86_64 1/1

    ecl.x86_64 0:12.2.1-2.fc18

    $ ecl
    ecl: symbol lookup error: /usr/lib64/libecl.so.12.2: undefined symbol: GC_push_other_roots

  • Sorry, your bug report was not really clear: I did not realize until today that you were discussing a pre-installed copy of the Boehm-Weiser garbage collector, coming with Fedora.

<< < 1 2 (Page 2 of 2)


Cancel   Add attachments