
Hello everyone,
I've compiled PPL 0.9 under Debian (lenny) on a Pentium III, with SICStus 3.12.8 and SWIprolog 5.6.58 installed. Compilation gives no errors. Before installing I executed "make check" which returns the following error (I'll attach below the entire output)
*** glibc detected *** ./ppl_pl: realloc(): invalid pointer: 0x081524dc ***
The "make install" succeeds but then I have the following behavior:
$ ppl_pl Welcome to SWI-Prolog (Multi-threaded, 32 bits, Version 5.6.58) Copyright (c) 1990-2008 University of Amsterdam. SWI-Prolog comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. Please visit http://www.swi-prolog.org for details.
For help, use ?- help(Topic). or ?- apropos(Word).
?- halt. Segmentation fault $
This does not happen under SICStus
$ ppl_sicstus SICStus 3.12.8 (x86-linux-glibc2.3): Tue May 8 13:30:29 CEST 2007 Licensed to uniroma2.it | ?- halt. $
I've had the chance of testing some base functionalities (such as creation/deletion of polyhedra) and these work correctly. I would like to know if my installation is sound or do I have to solve this "check" problem in order to have the library installed correctly?
I have one more brief question. If I issue a request "ppl_Polyhedron_get_constraints(H,C)" and the handler H is "random" (in particular, it was never returned by the system) in SWI I have the following error:
ERROR: ppl_Polyhedron_get_constraints/2: Caught signal 11 (segv)
and in SICStus I have:
! segmentation violation % Execution aborted
I understand that it is quite strange that a user "creates" handlers out of nowhere. Just wanted to make sure that this "segmentation violation" is expected.
Thank you very much for any help
Valerio Senni
% -------------------- ATTACHMENT -------------------- ~/libppl-0.9/interfaces/Prolog/SWI$ make check make pl_clpq pl_clpq2 make[1]: Entering directory `/home/valerio/libppl-0.9/interfaces/Prolog/SWI' make[1]: `pl_clpq' is up to date. make[1]: `pl_clpq2' is up to date. make[1]: Leaving directory `/home/valerio/libppl-0.9/interfaces/Prolog/SWI' make check-local make[1]: Entering directory `/home/valerio/libppl-0.9/interfaces/Prolog/SWI' if [ . != `pwd` ]; then \ cp -f ./../tests/pl_check.pl . ; \ fi ;\ echo "ensure_loaded('./swi_pl_check'). main." > script_pchk /bin/sh ../../../libtool --mode=execute \ -dlopen ../../../src/libppl.la \ -dlopen ../../../Watchdog/src/libpwl.la \ ./ppl_pl < script_pchk Welcome to SWI-Prolog (Multi-threaded, 32 bits, Version 5.6.58) Copyright (c) 1990-2008 University of Amsterdam. SWI-Prolog comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. Please visit http://www.swi-prolog.org for details.
For help, use ?- help(Topic). or ?- apropos(Word).
Warning: /home/valerio/libppl-0.9/interfaces/Prolog/SWI/pl_check.pl:2551: Singleton-marked variables appearing more than once: [_X] % pl_check.pl compiled 0.05 sec, 146,192 bytes % ./swi_pl_check compiled 0.05 sec, 147,992 bytes true.
*** glibc detected *** ./ppl_pl: realloc(): invalid pointer: 0x081524dc *** ======= Backtrace: ========= /lib/i686/cmov/libc.so.6[0x403114f4] /lib/i686/cmov/libc.so.6(realloc+0x242)[0x40315b52] ./ppl_pl[0x8121b88] /usr/local/lib/libgmp.so.3(__gmpz_realloc+0x56)[0x400e6176] ======= Memory map: ======== 08048000-0814a000 r-xp 00000000 03:05 214940 /home/valerio/libppl-0.9/interfaces/Prolog/SWI/ppl_pl 0814a000-0814e000 rw-p 00101000 03:05 214940 /home/valerio/libppl-0.9/interfaces/Prolog/SWI/ppl_pl 0814e000-08223000 rw-p 0814e000 00:00 0 [heap] 40000000-4001a000 r-xp 00000000 03:01 280602 /lib/ld-2.7.so 4001a000-4001c000 rw-p 0001a000 03:01 280602 /lib/ld-2.7.so 4001c000-4001d000 r-xp 4001c000 00:00 0 [vdso] 4001d000-4001f000 rw-p 4001d000 00:00 0 4001f000-400b2000 r-xp 00000000 03:05 214875 /home/valerio/libppl-0.9/src/.libs/libppl.so.6.0.0 400b2000-400b4000 rw-p 00092000 03:05 214875 /home/valerio/libppl-0.9/src/.libs/libppl.so.6.0.0 400b4000-400b8000 r-xp 00000000 03:05 214908 /home/valerio/libppl-0.9/Watchdog/src/.libs/libpwl.so.3.0.0 400b8000-400b9000 rw-p 00003000 03:05 214908 /home/valerio/libppl-0.9/Watchdog/src/.libs/libpwl.so.3.0.0 400b9000-400c0000 r--s 00000000 03:01 340151 /usr/lib/gconv/gconv-modules.cache 400c7000-400cb000 r-xp 00000000 03:01 35353 /usr/local/lib/libgmpxx.so.4.0.4 400cb000-400cc000 rw-p 00003000 03:01 35353 /usr/local/lib/libgmpxx.so.4.0.4 400cc000-40102000 r-xp 00000000 03:01 35349 /usr/local/lib/libgmp.so.3.4.4 40102000-40103000 rw-p 00035000 03:01 35349 /usr/local/lib/libgmp.so.3.4.4 40103000-4010a000 r-xp 00000000 03:01 84554 /lib/i686/cmov/librt-2.7.so 4010a000-4010c000 rw-p 00006000 03:01 84554 /lib/i686/cmov/librt-2.7.so 4010c000-40137000 r-xp 00000000 03:01 48663 /lib/libreadline.so.5.2 40137000-4013b000 rw-p 0002a000 03:01 48663 /lib/libreadline.so.5.2 4013b000-4013d000 rw-p 4013b000 00:00 0 4013d000-4016c000 r-xp 00000000 03:01 280553 /lib/libncurses.so.5.6 4016c000-4016f000 rw-p 0002f000 03:01 280553 /lib/libncurses.so.5.6 4016f000-40193000 r-xp 00000000 03:01 84542 /lib/i686/cmov/libm-2.7.so 40193000-40195000 rw-p 00023000 03:01 84542 /lib/i686/cmov/libm-2.7.so 40195000-40197000 r-xp 00000000 03:01 84541 /lib/i686/cmov/libdl-2.7.so 40197000-40199000 rw-p 00001000 03:01 84541 /lib/i686/cmov/libdl-2.7.so 40199000-40273000 r-xp 00000000 03:01 17506 /usr/lib/libstdc++.so.6.0.8 40273000-40276000 r--p 000d9000 03:01 17506 /usr/lib/libstdc++.so.6.0.8 40276000-40278000 rw-p 000dc000 03:01 17506 /usr/lib/libstdc++.so.6.0.8 40278000-4027e000 rw-p 40278000 00:00 0 4027e000-40288000 r-xp 00000000 03:01 48589 /lib/libgcc_s.so.1 40288000-40289000 rw-p 00009000 03:01 48589 /lib/libgcc_s.so.1 40289000-4029e000 r-xp 00000000 03:01 84552 /lib/i686/cmov/ libpthread-2.7.so 4029e000-402a0000 rw-p 00014000 03:01 84552 /lib/i686/cmov/ libpthread-2.7.so 402a0000-402a3000 rw-p 402a0000 00:00 0 402a3000-403f8000 r-xp 00000000 03:01 84538 /lib/i686/cmov/libc-2.7.so 403f8000-403f9000 r--p 00155000 03:01 84538 /lib/i686/cmov/libc-2.7.so 403f9000-403fb000 rw-p 00156000 03:01 84538 /lib/i686/cmov/libc-2.7.so 403fb000-403ff000 rw-p 403fb000 00:00 0 403ff000-40539000 r--p 00000000 03:01 32413 /usr/lib/locale/locale-archive 40539000-40769000 r--s 00000000 03:05 214940 /home/valerio/libppl-0.9/interfaces/Prolog/SWI/ppl_pl 40769000-40771000 rw-p 40769000 00:00 0 40771000-42769000 ---p 40771000 00:00 0 42769000-4276d000 rw-p 42769000 00:00 0 4276d000-42865000 ---p 4276d000 00:00 0 42865000-4287d000 rw-p 42865000 00:00 0 4287d000-44865000 ---p 4287d000 00:00 0 44865000-44869000 rw-p 44865000 00:00 0 44869000-45865000 ---p 44869000 00:00 0 bf9fd000-bfa13000 rw-p bf9fd000 00:00 0 [stack] /bin/sh: line 3: 3997 Aborted /bin/sh ../../../libtool --mode=execute -dlopen ../../../src/libppl.la -dlopen ../../../Watchdog/src/ libpwl.la ./ppl_pl <script_pchk make[1]: *** [pl_check_test] Error 134 make[1]: Leaving directory `/home/valerio/libppl-0.9/interfaces/Prolog/SWI' make: *** [check-am] Error 2