Trouble building 2.49.60 beta on Fedora
Jerry James <[email protected]>
| Newsgroups | gmane.lisp.clisp.devel |
|---|---|
| Message-ID | <CAHCOHQkmLtz+iKxfQxnzZSTJFE-Ody0R+o4Levcps4w1xNTyRQ@mail.gmail.com> |
Greetings, I updated the Fedora ffcall package to the 1.13 release awhile ago. Recently I attempted to update clisp to the 2.49.60 beta release as well, but I'm having some trouble with it. The x86 builds, both 32-bit and 64-bit, are fine, as is the 32-bit ARM build. However, the s390x, ppc64 and ppc64le builds all fail with this message: ../src/lispbibl.d:2987:2: error: #error CLISP has not been ported to this platform - oint_type_len undefined #error CLISP has not been ported to this platform - oint_type_len undefined Are additional configure flags of some kind needed when building for those platforms? Also, the aarch64 build fails like this: ;; Compiling file /builddir/build/BUILD/clisp-2.49.60/modules/asdf/asdf.lisp ... *** - handle_fault error2 ! address = 0x2e0800084480 not in [0x2e0000000000,0x2e0000066778) ! SIGSEGV cannot be cured. Fault address = 0x2e0800084480. GC count: 14 Space collected by GC: 12036056 Run time: 0 457240 Real time: 0 476000 GC time: 0 38463 Permanently allocated: 165368 bytes. Currently in use: 4392320 bytes. Free space: 299880 bytes. make[1]: Leaving directory '/builddir/build/BUILD/clisp-2.49.60/build/asdf' make: Leaving directory '/builddir/build/BUILD/clisp-2.49.60/build' make[1]: *** [Makefile:22: asdf.fas] Segmentation fault (core dumped) make[1]: *** Deleting file 'asdf.fas' make: *** [Makefile:2334: asdf] Error 2 Do you have any idea what might cause that? Finally, I needed the attached patch to build successfully with gdbm 1.13. Regards, -- Jerry James http://www.jamezone.org/ ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ clisp-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/clisp-devel
clisp-gdbm.patch
(text/x-patch, 1.4 KB)
--- modules/gdbm/gdbm.c.orig 2017-07-03 13:23:44.000000000 -0600
+++ modules/gdbm/gdbm.c 2017-07-03 14:48:19.233777016 -0600
@@ -63,10 +63,10 @@ DEFCHECKER(check_gdbm_errno, prefix=GDBM
BLOCK-SIZE-ERROR FILE-OPEN-ERROR FILE-WRITE-ERROR FILE-SEEK-ERROR \
FILE-READ-ERROR BAD-MAGIC-NUMBER EMPTY-DATABASE CANT-BE-READER \
CANT-BE-WRITER READER-CANT-DELETE READER-CANT-STORE \
- READER-CANT-REORGANIZE UNKNOWN-UPDATE ITEM-NOT-FOUND \
+ READER-CANT-REORGANIZE UNKNOWN-ERROR ITEM-NOT-FOUND \
REORGANIZE-FAILED CANNOT-REPLACE ILLEGAL-DATA OPT-ALREADY-SET \
OPT-ILLEGAL)
-static _Noreturn void error_gdbm (char *fatal_message) {
+static _Noreturn void error_gdbm (const char *fatal_message) {
end_blocking_system_call(); /* in case we are called from _gdbm_fatal() */
pushSTACK(`GDBM::GDBM-ERROR`);
pushSTACK(`:MESSAGE`);
@@ -125,8 +125,7 @@ static GDBM_FILE check_gdbm (gcv_object_
static object open_gdbm (object path, int bsize, int rw, int mode) {
GDBM_FILE gdbm;
with_string_0(path, GLO(pathname_encoding), name, {
- SYSCALL(gdbm = gdbm_open(name, bsize, rw, mode,
- (void (*)(void))error_gdbm));
+ SYSCALL(gdbm = gdbm_open(name, bsize, rw, mode, error_gdbm));
});
if (gdbm == NULL) error_gdbm(NULL);
return allocate_fpointer(gdbm);