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

open
nobody
None
5
2012-07-25
2012-05-12
Paulo Andrade
No

I am working on porting sagemath to fedora, and in a previous work, it was
required to patch sagemath ecl initialization, see
http://trac.sagemath.org/sage_trac/ticket/11752

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
http://www.mail-archive.com/ecls-list@lists.sourceforge.net/msg00644.html
or at least same symptoms.

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

Discussion

<< < 1 2 (Page 2 of 2)
  • Paulo Andrade
    Paulo Andrade
    2012-05-17

    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
    ================================================================================
    Installing:
    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

    Installed:
    ecl.x86_64 0:12.2.1-2.fc18

    Complete!
    $ 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)


Anonymous


Cancel   Add attachments