Created attachment 506798 [details] DEPENDENCIES I just received the following kind mail from Bruno Haible, one of the clisp dev. Together with an attachment about the dependencies. ------8<------------------------------------------------------------ Hi Jonas, In <https://sourceforge.net/p/clisp/bugs/659/> you write: > I need CLISP to compile xindy for TeX. I want to prepare new packages > for xindy in Gentoo and ran into a series of open bugs one of them led me here. Welcome! We have a prerelease of clisp, available here: https://haible.de/bruno/gnu/clisp-2.49.60.tar.bz2 1) IMPORTANT!! Pass the configure option --enable-portability. This option avoids many portability problems. 2) clisp has a couple of dependencies, mostly libsigsegv and libffcall. Find the current DEPENDENCIES file attached (it was not present in the 2.49.60 prerelease). libffcall was essential for some version of xindy at least. 3) clisp has a number of modules, but many of them are only useful to particular audiences. So, if the PARI/GP module for example does not build, just omit it. I believe that the prerelease fixes (more or less) the following Gentoo bugs from [1]: - 196176 (fixed in libffcall-2.0) - 286867 - 380693 - 438188 - 523620 - 549574 - 575776 (fixed in libffcall-2.0) - 585182 - 594552 - 622750 - 624532 A new, improved prerelease will be made available in a couple of weeks, but you don't need to wait for that. Bruno [1] https://bugs.gentoo.org/buglist.cgi?quicksearch=dev-lisp%2Fclisp ------8<------------------------------------------------------------
clisp-2.49.60 has appeared in the lisp overlay. It fails with gcc -I/usr/include/db4.8 -I/var/tmp/portage/dev-lisp/clisp-2.49.60/work/clisp-2.49.60/src -I/var/tmp/portage/dev-lisp/clisp-2.49.60/work/clisp-2.49.60/builddir/gllib -I/var/tmp/portage/dev-lisp/clisp-2.49.60/work/clisp-2.49.60/src/gllib -O2 -march=native -pipe -Wa,--noexecstack -W -Wswitch -Wcomment -Wpointer-arith -Wreturn-type -Wmissing-declarations -Wimplicit -Wno-sign-compare -Wno-format-nonliteral -Wno-shift-negative-value -O -fwrapv -fno-strict-aliasing -DNO_ASM -DNO_ARI_ASM -DNO_SP_ASM -DNO_FAST_DISPATCH -DNO_FAST_FLOAT -DNO_FAST_DOUBLE -DNO_ALLOCA -DNO_ADDRESS_SPACE_ASSUMPTIONS -DNO_GENERATIONAL_GC -DENABLE_UNICODE -DDYNAMIC_FFI -I$(/var/tmp/portage/dev-lisp/clisp-2.49.60/work/clisp-2.49.60/builddir/clisp -K base -E UTF-8 -Emisc 1:1 -Epathname 1:1 -norc -q -b)/linkkit -c linux.c linux.c: In function ‘module__linux__init_function_2’: linux.c:678:37: error: ‘cfree’ undeclared (first use in this function) register_foreign_function((void*)&cfree,"cfree",1024); ^~~~~ linux.c:678:37: note: each undeclared identifier is reported only once for each function it appears in linux.c:964:3: warning: ‘readdir_r’ is deprecated [-Wdeprecated-declarations] register_foreign_function((void*)&readdir_r,"readdir_r",1024); ^~~~~~~~~~~~~~~~~~~~~~~~~ In file included from linux.c:23:0: /usr/include/dirent.h:183:12: note: declared here extern int readdir_r (DIR *__restrict __dirp, ^~~~~~~~~ linux.c:965:3: warning: ‘readdir64_r’ is deprecated [-Wdeprecated-declarations] register_foreign_function((void*)&readdir64_r,"readdir64_r",1024); ^~~~~~~~~~~~~~~~~~~~~~~~~ In file included from linux.c:23:0: /usr/include/dirent.h:201:12: note: declared here extern int readdir64_r (DIR *__restrict __dirp, ^~~~~~~~~~~ make[1]: *** [Makefile:28: linux.o] Error 1 make[1]: Leaving directory '/var/tmp/portage/dev-lisp/clisp-2.49.60/work/clisp-2.49.60/builddir/bindings/glibc' make: *** [Makefile:2317: bindings/glibc] Error 2 glibc-2.26-r3, gcc-6.4.0
(In reply to Andrey Grozin from comment #1) > clisp-2.49.60 has appeared in the lisp overlay. It fails with > > ... Yeah, I'm trying to build it but quite buy ATM...
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a08b6eec14e224be89311a9bfe52fbfe298dfe73 commit a08b6eec14e224be89311a9bfe52fbfe298dfe73 Author: Chema Alonso Josa <nimiux@gentoo.org> AuthorDate: 2017-12-11 18:55:57 +0000 Commit: Chema Alonso Josa <nimiux@gentoo.org> CommitDate: 2017-12-11 18:55:57 +0000 dev-lisp/clisp: Bumps version to 2.49.60 Bug: https://bugs.gentoo.org/638942 Package-Manager: Portage-2.3.13, Repoman-2.3.3 dev-lisp/clisp/Manifest | 1 + dev-lisp/clisp/clisp-2.49.60.ebuild | 147 +++++++++++++++ .../clisp-2.49.60-after_glibc_cfree_bdb.patch | 207 +++++++++++++++++++++ 3 files changed, 355 insertions(+)}
Pushed to the main tree, please test. Thanks.
On my ~amd64 box, clisp-2.49.60 compiles fine. However, on my ~x86 box I get gcc -I/usr/include/db4.8 -I/var/tmp/portage/dev-lisp/clisp-2.49.60/work/clisp-2.49.60/src -I/var/tmp/portage/dev-lisp/clisp-2.49.60/w ork/clisp-2.49.60/builddir/gllib -I/var/tmp/portage/dev-lisp/clisp-2.49.60/work/clisp-2.49.60/src/gllib -O2 -march=native -pipe -falig n-functions=4 -Wa,--noexecstack -W -Wswitch -Wcomment -Wpointer-arith -Wreturn-type -Wmissing-declarations -Wimplicit -Wno-sign-compar e -Wno-format-nonliteral -Wno-shift-negative-value -O2 -fexpensive-optimizations -fwrapv -fno-strict-aliasing -DNO_ASM -DNO_ARI_ASM -D NO_SP_ASM -DNO_FAST_DISPATCH -DNO_FAST_FLOAT -DNO_FAST_DOUBLE -DNO_ALLOCA -DNO_ADDRESS_SPACE_ASSUMPTIONS -DNO_GENERATIONAL_GC -DENABLE _UNICODE -DDYNAMIC_FFI -I/var/tmp/portage/dev-lisp/clisp-2.49.60/work/clisp-2.49.60/builddir/linkkit -c clx.c In file included from /var/tmp/portage/dev-lisp/clisp-2.49.60/work/clisp-2.49.60/modules/clx/new-clx/clx.f:415:0: /var/tmp/portage/dev-lisp/clisp-2.49.60/work/clisp-2.49.60/modules/clx/new-clx/clx.f: In function ‘general_draw_text’: /var/tmp/portage/dev-lisp/clisp-2.49.60/work/clisp-2.49.60/builddir/linkkit/clisp.h:6260:93: error: ‘object {aka struct <anonymous>}’ has no member named ‘error_notreached’ #define unpack_sstring_alloca_help_(string,len,offset,charptr_assignment,u) if (((((string).u.one_u) == (((((object){{(aint)(&symbol_tab_data.S_nil),(tint)(( (1UL<<(2)) ))}}))).u.one_u)))) { if ((len) > 0) error_nilarray_retrieve(); charptr_assignment ((void *)0); } else if ((((((Sstring)(((void*)((string).u.both.addr)))))->tfl >> 4) & 3) == 2) { charptr_assignment (const chart*) &((S32string)(((void*)((string).u.both.addr))))->data[offset]; } else { chart* _unpacked_ = (chart*)__builtin_alloca((len)*sizeof(chart)); if ((len) > 0) { if ((((((Sstring)(((void*)((string).u.both.addr)))))->tfl >> 4) & 3) == 1) copy_16bit_32bit(&((S16string)(((void*)((string).u.both.addr))))->data[offset],(cint32*)_unpacked_,len); else if ((((((Sstring)(((void*)((string).u.both.addr)))))->tfl >> 4) & 3) == 0) copy_8bit_32bit(&((S8string)(((void*)((string).u.both.addr))))->data[offset],(cint32*)_unpacked_,len); else u; } charptr_assignment (const chart*) _unpacked_; } ^ /var/tmp/portage/dev-lisp/clisp-2.49.60/work/clisp-2.49.60/builddir/linkkit/clisp.h:6261:40: note: in expansion of macro ‘unpack_sstring_alloca_help_’ #define unpack_sstring_alloca(s,l,o,c) unpack_sstring_alloca_help_(s,l,o,c,NOTREACHED) ^~~~~~~~~~~~~~~~~~~~~~~~~~~ /var/tmp/portage/dev-lisp/clisp-2.49.60/work/clisp-2.49.60/modules/clx/new-clx/clx.f:3926:223: note: in expansion of macro ‘unpack_sstring_alloca’ ^ /var/tmp/portage/dev-lisp/clisp-2.49.60/work/clisp-2.49.60/modules/clx/new-clx/clx.f:4009:3: note: in expansion of macro ‘unpack_stringarg_alloca’ { DYNAMIC_ARRAY(str,XChar2b,sa.len); ^~~~~~~~~~~~~~~~~~~~~~~ /var/tmp/portage/dev-lisp/clisp-2.49.60/work/clisp-2.49.60/builddir/linkkit/clisp.h:6260:178: error: ‘object {aka struct <anonymous>}’ has no member named ‘error_notreached’ harptr_assignment,u) if (((((string).u.one_u) == (((((object){{(aint)(&symbol_tab_data.S_nil),(tint)(( (1UL<<(2)) ))}}))).u.one_u)))) { if ((len) > 0) error_nilarray_retrieve(); charptr_assignment ((void *)0); } else if ((((((Sstring)(((void*)((string).u.both.addr)))))->tfl >> 4) & 3) == 2) { charptr_assignment (const chart*) &((S32string)(((void*)((string).u.both.addr))))->data[offset]; } else { chart* _unpacked_ = (chart*)__builtin_alloca((len)*sizeof(chart)); if ((len) > 0) { if ((((((Sstring)(((void*)((string).u.both.addr)))))->tfl >> 4) & 3) == 1) copy_16bit_32bit(&((S16string)(((void*)((string).u.both.addr))))->data[offset],(cint32*)_unpacked_,len); else if ((((((Sstring)(((void*)((string).u.both.addr)))))->tfl >> 4) & 3) == 0) copy_8bit_32bit(&((S8string)(((void*)((string).u.both.addr))))->data[offset],(cint32*)_unpacked_,len); else u; } charptr_assignment (const chart*) _unpacked_; } ^ /var/tmp/portage/dev-lisp/clisp-2.49.60/work/clisp-2.49.60/builddir/linkkit/clisp.h:6261:40: note: in expansion of macro ‘unpack_sstring_alloca_help_’ #define unpack_sstring_alloca(s,l,o,c) unpack_sstring_alloca_help_(s,l,o,c,NOTREACHED) ^~~~~~~~~~~~~~~~~~~~~~~~~~~ /var/tmp/portage/dev-lisp/clisp-2.49.60/work/clisp-2.49.60/modules/clx/new-clx/clx.f:3926:223: note: in expansion of macro ‘unpack_sstring_alloca’ ^ /var/tmp/portage/dev-lisp/clisp-2.49.60/work/clisp-2.49.60/modules/clx/new-clx/clx.f:4009:3: note: in expansion of macro ‘unpack_stringarg_alloca’ { DYNAMIC_ARRAY(str,XChar2b,sa.len); ^~~~~~~~~~~~~~~~~~~~~~~ In file included from /var/tmp/portage/dev-lisp/clisp-2.49.60/work/clisp-2.49.60/modules/clx/new-clx/clx.f:415:0: /var/tmp/portage/dev-lisp/clisp-2.49.60/work/clisp-2.49.60/builddir/linkkit/clisp.h:6262:53: error: ‘object {aka struct <anonymous>}’ has no member named ‘error_notreached’ extern object unpack_string_ro(object string, uintL* len, uintL* offset); ^ /var/tmp/portage/dev-lisp/clisp-2.49.60/work/clisp-2.49.60/builddir/linkkit/clisp.h:6261:40: note: in expansion of macro ‘unpack_sstring_alloca_help_’ #define unpack_sstring_alloca(s,l,o,c) unpack_sstring_alloca_help_(s,l,o,c,NOTREACHED) ^~~~~~~~~~~~~~~~~~~~~~~~~~~ /var/tmp/portage/dev-lisp/clisp-2.49.60/work/clisp-2.49.60/modules/clx/new-clx/clx.f:3926:223: note: in expansion of macro ‘unpack_sstring_alloca’ ^ /var/tmp/portage/dev-lisp/clisp-2.49.60/work/clisp-2.49.60/modules/clx/new-clx/clx.f:4009:3: note: in expansion of macro ‘unpack_stringarg_alloca’ { DYNAMIC_ARRAY(str,XChar2b,sa.len); ^~~~~~~~~~~~~~~~~~~~~~~ /var/tmp/portage/dev-lisp/clisp-2.49.60/work/clisp-2.49.60/builddir/linkkit/clisp.h:6263:32: error: ‘object {aka struct <anonymous>}’ has no member named ‘error_notreached’ extern _Bool string_equal(object string1, object string2); ^ /var/tmp/portage/dev-lisp/clisp-2.49.60/work/clisp-2.49.60/builddir/linkkit/clisp.h:6261:40: note: in expansion of macro ‘unpack_sstring_alloca_help_’ #define unpack_sstring_alloca(s,l,o,c) unpack_sstring_alloca_help_(s,l,o,c,NOTREACHED) ^~~~~~~~~~~~~~~~~~~~~~~~~~~ /var/tmp/portage/dev-lisp/clisp-2.49.60/work/clisp-2.49.60/modules/clx/new-clx/clx.f:3926:223: note: in expansion of macro ‘unpack_sstring_alloca’ ^ /var/tmp/portage/dev-lisp/clisp-2.49.60/work/clisp-2.49.60/modules/clx/new-clx/clx.f:4009:3: note: in expansion of macro ‘unpack_stringarg_alloca’ { DYNAMIC_ARRAY(str,XChar2b,sa.len); ^~~~~~~~~~~~~~~~~~~~~~~ /var/tmp/portage/dev-lisp/clisp-2.49.60/work/clisp-2.49.60/builddir/linkkit/clisp.h:6264:64: error: ‘object {aka struct <anonymous>}’ has no member named ‘error_notreached’ <and so on>
I have exactly the same problem (~x86 box)
(In reply to Andrew from comment #6) > I have exactly the same problem (~x86 box) I can install =dev-lisp/clisp-2.49.60 with USE="-X dbus pcre readline -threads unicode zlib -berkdb -fastcgi -gdbm -gtk -hyperspec -pari -postgres (-svm)" With USE="X threads", USE="X -threads" and USE="-X threads" I can't compile =dev-lisp/clisp-2.49.60
(In reply to Viktor Yu. Kovalskii from comment #7) I was also able to install =dev-lisp/clisp-2.49.60 with USE="-X -threads" (~x86 box). Thanks to Viktor Yu. Kovalskii!
GNU clisp 2.49.90 available for beta-testing, closing. https://gitweb.gentoo.org/repo/gentoo.git/tree/dev-lisp/clisp/clisp-2.49.90.ebuild