| Summary: | dev-libs/boehm-gc-7.4.0 breaks building dev-lisp/ecls | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | Steven Trogdon <strogdon> |
| Component: | [OLD] Library | Assignee: | Gentoo Linux bug wranglers <bug-wranglers> |
| Status: | RESOLVED DUPLICATE | ||
| Severity: | normal | ||
| Priority: | Normal | ||
| Version: | unspecified | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
| Attachments: |
ecls build log
maxima build log |
||
*** This bug has been marked as a duplicate of bug 496780 *** Created attachment 368642 [details]
ecls build log
Created attachment 368644 [details]
maxima build log
Sorry for all the noise. The ecls patch, 13.5.1-gc74.patch from bug 496780 also applies cleanly to ecls-12.12.1-r5. Should 12.12.1-r5 be bumped as was 13.5.1 or is such only reserved for the most recent unstable ebuild. ecls-12.12.1-r5 will not build against boehm-gc-7.4.0 unless the patch is applied. With the patch ecls-12.12.1-r5 builds against <=boehm-gc-7.4.0 |
The ecls I have installed is dev-lisp/ecls-12.12.1-r5. This also breaks building of sci-mathematics/maxima since maxima links against ecls. The error that's presented in building ecls is: x86_64-pc-linux-gnu-ranlib ../libeclmin.a if test -f ../CROSS-DPP ; then ../CROSS-DPP /var/tmp/portage/dev-lisp/ecls-12.12.1-r5/work/ecl-12.12.1/src/c/cinit.d cinit.c ; else ./dpp /var/tmp/p ortage/dev-lisp/ecls-12.12.1-r5/work/ecl-12.12.1/src/c/cinit.d cinit.c ; fi dpp: /var/tmp/portage/dev-lisp/ecls-12.12.1-r5/work/ecl-12.12.1/src/c/cinit.d -> cinit.c x86_64-pc-linux-gnu-gcc -I. -I/var/tmp/portage/dev-lisp/ecls-12.12.1-r5/work/ecl-12.12.1/build -I/var/tmp/portage/dev-lisp/ecls-12.12.1-r5/work/ecl- 12.12.1/src/c -I../ecl/gc -DECL_API -DECL_NO_LEGACY -g -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -march=native -O2 -pipe -fPIC -D_THREAD_SAFE -Dlinux -c -I./ cinit.c -o ../cinit.o make[2]: Leaving directory `/var/tmp/portage/dev-lisp/ecls-12.12.1-r5/work/ecl-12.12.1/build/c' if [ -f CROSS-COMPILER ]; then \ touch ecl_min; \ else \ x86_64-pc-linux-gnu-gcc -g -Wl,-O1 -Wl,--as-needed -o ecl_min cinit.o c/all_symbols.o -L./ libeclmin.a -latomic_ops -leclffi -lgmp -lgc -l pthread -ldl -lm ;\ fi libeclmin.a(alloc_2.o): In function `init_alloc': /var/tmp/portage/dev-lisp/ecls-12.12.1-r5/work/ecl-12.12.1/src/c/alloc_2.d:1093: undefined reference to `GC_start_call_back' libeclmin.a(alloc_2.o): In function `si_gc_stats': /var/tmp/portage/dev-lisp/ecls-12.12.1-r5/work/ecl-12.12.1/src/c/alloc_2.d:1216: undefined reference to `GC_print_stats' /var/tmp/portage/dev-lisp/ecls-12.12.1-r5/work/ecl-12.12.1/src/c/alloc_2.d:1239: undefined reference to `GC_print_stats' /var/tmp/portage/dev-lisp/ecls-12.12.1-r5/work/ecl-12.12.1/src/c/alloc_2.d:1232: undefined reference to `GC_print_stats' and when building maxima the error that's presented is: test -d binary-sbcl/numerical/slatec || mkdir binary-sbcl/numerical/slatec "sbcl" --noinform --noprint --no-sysinit --no-userinit --eval '(progn (load "../lisp-utils/defsystem.lisp") (funcall (intern (symbol-name :operate-on-system) :mk) "maxi ma" :compile :verbose t) (sb-ext:quit))' && \ "sbcl" --noinform --noprint --no-sysinit --no-userinit --eval '(progn (load "../lisp-utils/defsystem.lisp") (funcall (intern (symbol-name :operate-on-system) :mk) "maxi ma" :load :verbose t) (sb-ext:save-lisp-and-die "binary-sbcl/maxima.core") (sb-ext:quit))' ;; Loading file ../lisp-utils/defsystem.lisp ...ecl: symbol lookup error: /usr/lib64/libecl.so.12.12: undefined symbol: GC_start_call_back make[1]: *** [binary-ecl/maxima] Error 127 make[1]: *** Waiting for unfinished jobs.... The GC_start_* and GC_print_* symbols are provided by boehm-gc, at least they are present in dev-libs/boehm-gc-7.2e # nm -D /usr/lib64/libgc.so | grep GC_start 0000000000227ea8 B GC_start_call_back 000000000001ccf0 T GC_start_routine 0000000000227ec0 B GC_start_time # nm -D /usr/lib64/libgc.so | grep GC_print 000000000001a090 T GC_print_address_map 000000000000ecf0 T GC_print_all_smashed_proc 000000000001ad40 T GC_print_block_descr 000000000001add0 T GC_print_block_list 000000000001ae20 T GC_print_free_list 000000000000ba30 T GC_print_hblkfreelist 000000000000db40 T GC_print_heap_sects 000000000000eb90 T GC_print_obj 000000000000ec10 T GC_print_smashed_obj 0000000000016330 T GC_print_static_roots 00000000002381d4 B GC_print_stats 000000000000ea60 T GC_print_type 0000000000017850 T GC_printf but are not present in dev-libs/boehm-gc-7.4.0 # nm -D /usr/lib64/libgc.so | grep GC_start 0000000000019250 T GC_start_mark_threads # nm -D /usr/lib64/libgc.so | grep GC_print 0000000000013570 T GC_printf My boehm-gc is: # emerge -pv boehm-gc [ebuild R ] dev-libs/boehm-gc-7.2e USE="cxx threads -static-libs" 0 kB