################################################################################## Compilation Bug on Mandriva 2010 32-bit fd2c.pl:215-220: fatal error: exception raised: error(instantiation_error,sort/2) ################################################################################## address@hidden gprolog-1.3.1]$ ls -l total 108 -rwxrwxr-x 1 daves daves 21324 2009-02-06 04:03 ChangeLog -rwxrwxr-x 1 daves daves 18011 2005-06-13 10:11 COPYING drwxrwxr-x 3 daves daves 4096 2009-02-10 09:20 doc drwxrwxr-x 2 daves daves 4096 2009-02-10 09:20 ExamplesC drwxrwxr-x 2 daves daves 4096 2009-02-10 09:20 ExamplesFD drwxrwxr-x 9 daves daves 4096 2009-02-10 09:20 ExamplesPl -rwxrwxr-x 1 daves daves 9499 2006-12-10 06:07 INSTALL -rwxrwxr-x 1 daves daves 12501 2009-02-06 04:22 NEWS -rwxrwxr-x 1 daves daves 1964 2006-11-24 11:21 PROBLEMS -rwxrwxr-x 1 daves daves 5579 2007-03-09 03:35 README drwxrwxr-x 16 daves daves 4096 2009-02-10 09:20 src -rwxrwxr-x 1 daves daves 14 2009-02-10 09:16 VERSION address@hidden gprolog-1.3.1]$ cd src address@hidden src]$ ./configure checking for gcc... gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for ranlib... ranlib checking whether make sets $(MAKE)... yes checking for a BSD-compatible install... /usr/bin/install -c checking whether ln -s works... yes checking build system type... i686-pc-linux-gnu checking host system type... i686-pc-linux-gnu checking how to run the C preprocessor... gcc -E checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking for long... yes checking size of long... 4 checking sys/ioctl_compat.h usability... no checking sys/ioctl_compat.h presence... no checking for sys/ioctl_compat.h... no checking termios.h usability... yes checking termios.h presence... yes checking for termios.h... yes checking malloc.h usability... yes checking malloc.h presence... yes checking for malloc.h... yes checking for stdlib.h... (cached) yes checking for unistd.h... (cached) yes checking for getpagesize... yes checking for working mmap... yes checking for mprotect... yes checking for mallopt... yes checking for fgetc... yes checking for socklen_t... yes checking if struct sigcontext needs asm/sigcontext.h... no checking for inline... inline checking for socket... yes checking for gethostbyname... yes DIRECTORIES --> Installation: /usr/local/gprolog-1.3.1 --> Link to binaries: /usr/local/bin --> Documentation: /usr/local/gprolog-1.3.1/doc --> HTML documentation: /usr/local/gprolog-1.3.1/doc/html_node --> Examples: /usr/local/gprolog-1.3.1 configure: creating ./config.status config.status: creating Makefile config.status: creating TopComp/Makefile config.status: creating Pl2Wam/Makefile config.status: creating Wam2Ma/Makefile config.status: creating Ma2Asm/Makefile config.status: creating Fd2C/Makefile config.status: creating Linedit/Makefile config.status: creating W32GUICons/Makefile config.status: creating EnginePl/Makefile config.status: creating BipsPl/Makefile config.status: creating EngineFD/Makefile config.status: creating BipsFD/Makefile config.status: creating Ma2Asm/FromC/Makefile config.status: creating Win32/Makefile config.status: creating Win32/gp-setup.iss config.status: creating EnginePl/gp_config.h address@hidden src]$ make (cd EnginePl; make config) make[1]: Entering directory `/home/daves/dock/projects/lp/gprolog/gprolog-1.3.1/src/EnginePl' gcc -march=pentiumpro -O3 -fomit-frame-pointer -o pl_config pl_config.c ./pl_config ------------------------------- --- GNU PROLOG INSTALLATION --- ------------------------------- GNU Prolog version: 1.3.1 (Feb 10 2009) Operating system : linux-gnu Processor : i686 Size of a word : 32 bits C compiler : gcc C flags : -O3 -fomit-frame-pointer C flags machine : -march=pentiumpro Loader flags : Loader libraries : -lm Use line editor : Yes Use piped consult : Yes Use sockets : Yes Use FD solver : Yes Use fast call : Yes Use machine regs. : Yes Working sigaction : Yes Used register(s) : ebx (TR) ------------------------------ (cd ../TopComp; make gplc) make[2]: Entering directory `/home/daves/dock/projects/lp/gprolog/gprolog-1.3.1/src/TopComp' gcc -march=pentiumpro -O3 -fomit-frame-pointer -o gplc top_comp.c -lm make[2]: Leaving directory `/home/daves/dock/projects/lp/gprolog/gprolog-1.3.1/src/TopComp' make[1]: Leaving directory `/home/daves/dock/projects/lp/gprolog/gprolog-1.3.1/src/EnginePl' . ./SETVARS;for i in TopComp EnginePl Wam2Ma Ma2Asm Linedit BipsPl Pl2Wam Fd2C EngineFD BipsFD;do (cd $i; make) || exit 1; done;\ (cd TopComp; make gprolog) make[1]: Entering directory `/home/daves/dock/projects/lp/gprolog/gprolog-1.3.1/src/TopComp' gcc -march=pentiumpro -O3 -fomit-frame-pointer -o hexgplc hexfilter.c make[1]: Leaving directory `/home/daves/dock/projects/lp/gprolog/gprolog-1.3.1/src/TopComp' make[1]: Entering directory `/home/daves/dock/projects/lp/gprolog/gprolog-1.3.1/src/EnginePl' gcc -march=pentiumpro -O3 -fomit-frame-pointer -o cpp_headers cpp_headers.c gplc -c -C '-O3 -fomit-frame-pointer' machine.c gplc -c -C '-O3 -fomit-frame-pointer' machine1.c gplc -c -C '-O3 -fomit-frame-pointer' mem_alloc.c gplc -c -C '-O3 -fomit-frame-pointer' misc.c gplc -c -C '-O3 -fomit-frame-pointer' hash.c gplc -c -C '-O3 -fomit-frame-pointer' obj_chain.c gplc -c -C '-O3 -fomit-frame-pointer' engine.c gplc -c engine1.c gplc -c -C '-O3 -fomit-frame-pointer' wam_inst.c gplc -c -C '-O3 -fomit-frame-pointer' atom.c gplc -c -C '-O3 -fomit-frame-pointer' pred.c gplc -c -C '-O3 -fomit-frame-pointer' oper.c gplc -c -C '-O3 -fomit-frame-pointer' if_no_fd.c gplc -c -C '-O3 -fomit-frame-pointer' main.c rm -f libengine_pl.a ar rc libengine_pl.a machine.o machine1.o mem_alloc.o misc.o hash.o obj_chain.o engine.o engine1.o wam_inst.o atom.o pred.o oper.o if_no_fd.o main.o ranlib libengine_pl.a make[1]: Leaving directory `/home/daves/dock/projects/lp/gprolog/gprolog-1.3.1/src/EnginePl' make[1]: Entering directory `/home/daves/dock/projects/lp/gprolog/gprolog-1.3.1/src/Wam2Ma' gcc -march=pentiumpro -O3 -fomit-frame-pointer -c wam2ma.c gcc -march=pentiumpro -O3 -fomit-frame-pointer -c wam_parser.c gcc -march=pentiumpro -O3 -fomit-frame-pointer -o wam2ma wam2ma.o wam_parser.o make[1]: Leaving directory `/home/daves/dock/projects/lp/gprolog/gprolog-1.3.1/src/Wam2Ma' make[1]: Entering directory `/home/daves/dock/projects/lp/gprolog/gprolog-1.3.1/src/Ma2Asm' gcc -march=pentiumpro -O3 -fomit-frame-pointer -c ma2asm.c gcc -march=pentiumpro -O3 -fomit-frame-pointer -c ma_parser.c gcc -march=pentiumpro -O3 -fomit-frame-pointer -c ma2asm_inst.c gcc -march=pentiumpro -O3 -fomit-frame-pointer -o ma2asm ma2asm.o ma2asm_inst.o ma_parser.o make[1]: Leaving directory `/home/daves/dock/projects/lp/gprolog/gprolog-1.3.1/src/Ma2Asm' make[1]: Entering directory `/home/daves/dock/projects/lp/gprolog/gprolog-1.3.1/src/Linedit' gcc -march=pentiumpro -c -O3 -fomit-frame-pointer linedit.c gcc -march=pentiumpro -c -O3 -fomit-frame-pointer terminal.c gcc -march=pentiumpro -c -O3 -fomit-frame-pointer ctrl_c.c rm -f liblinedit.a ar rc liblinedit.a linedit.o terminal.o ctrl_c.o ranlib liblinedit.a make[1]: Leaving directory `/home/daves/dock/projects/lp/gprolog/gprolog-1.3.1/src/Linedit' make[1]: Entering directory `/home/daves/dock/projects/lp/gprolog/gprolog-1.3.1/src/BipsPl' gplc -c -C '-O3 -fomit-frame-pointer -funsigned-char' error_supp.c gplc -c -C '-O3 -fomit-frame-pointer -funsigned-char' c_supp.c gplc -c -C '-O3 -fomit-frame-pointer -funsigned-char' foreign_supp.c gplc -c -C '-O3 -fomit-frame-pointer -funsigned-char' pred_supp.c gplc -c -C '-O3 -fomit-frame-pointer -funsigned-char' term_supp.c gplc -c -C '-O3 -fomit-frame-pointer -funsigned-char' stream_supp.c gplc -c -C '-O3 -fomit-frame-pointer -funsigned-char' scan_supp.c gplc -c -C '-O3 -fomit-frame-pointer -funsigned-char' parse_supp.c gplc -c -C '-O3 -fomit-frame-pointer -funsigned-char' write_supp.c gplc -c -C '-O3 -fomit-frame-pointer -funsigned-char' dynam_supp.c gplc -c -C '-O3 -fomit-frame-pointer -funsigned-char' callinf_supp.c gplc -c -C '-O3 -fomit-frame-pointer -funsigned-char' bc_supp.c gplc -c foreign.wam gplc -c pl_error.wam gplc -c utils.wam gplc -c unify.wam gplc -c assert.wam gplc -c -C '-O3 -fomit-frame-pointer -funsigned-char' assert_c.c gplc -c read.wam gplc -c -C '-O3 -fomit-frame-pointer -funsigned-char' read_c.c gplc -c write.wam gplc -c -C '-O3 -fomit-frame-pointer -funsigned-char' write_c.c gplc -c print.wam gplc -c const_io.wam gplc -c -C '-O3 -fomit-frame-pointer -funsigned-char' const_io_c.c gplc -c oper.wam gplc -c -C '-O3 -fomit-frame-pointer -funsigned-char' oper_c.c gplc -c pred.wam gplc -c -C '-O3 -fomit-frame-pointer -funsigned-char' pred_c.c gplc -c atom.wam gplc -c -C '-O3 -fomit-frame-pointer -funsigned-char' atom_c.c gplc -c control.wam gplc -c -C '-O3 -fomit-frame-pointer -funsigned-char' control_c.c gplc -c call.wam gplc -c call_args.wam gplc -c -C '-O3 -fomit-frame-pointer -funsigned-char' call_args_c.c gplc -c catch.wam gplc -c throw.wam gplc -c -C '-O3 -fomit-frame-pointer -funsigned-char' throw_c.c gplc -c flag.wam gplc -c -C '-O3 -fomit-frame-pointer -funsigned-char' flag_c.c gplc -c arith_inl.wam gplc -c -C '-O3 -fomit-frame-pointer -funsigned-char' arith_inl_c.c gplc -c type_inl.wam gplc -c -C '-O3 -fomit-frame-pointer -funsigned-char' type_inl_c.c gplc -c term_inl.wam gplc -c -C '-O3 -fomit-frame-pointer -funsigned-char' term_inl_c.c gplc -c g_var_inl.wam gplc -c -C '-O3 -fomit-frame-pointer -funsigned-char' g_var_inl_c.c gplc -c all_solut.wam gplc -c -C '-O3 -fomit-frame-pointer -funsigned-char' all_solut_c.c gplc -c sort.wam gplc -c -C '-O3 -fomit-frame-pointer -funsigned-char' sort_c.c gplc -c list.wam gplc -c stat.wam gplc -c -C '-O3 -fomit-frame-pointer -funsigned-char' stat_c.c gplc -c stream.wam gplc -c -C '-O3 -fomit-frame-pointer -funsigned-char' stream_c.c gplc -c file.wam gplc -c -C '-O3 -fomit-frame-pointer -funsigned-char' file_c.c gplc -c char_io.wam gplc -c -C '-O3 -fomit-frame-pointer -funsigned-char' char_io_c.c gplc -c dec10io.wam gplc -c format.wam gplc -c -C '-O3 -fomit-frame-pointer -funsigned-char' format_c.c gplc -c os_interf.wam gplc -c -C '-O3 -fomit-frame-pointer -funsigned-char' os_interf_c.c gplc -c expand.wam gplc -c -C '-O3 -fomit-frame-pointer -funsigned-char' expand_c.c gplc -c consult.wam gplc -c -C '-O3 -fomit-frame-pointer -funsigned-char' consult_c.c gplc -c pretty.wam gplc -c -C '-O3 -fomit-frame-pointer -funsigned-char' pretty_c.c gplc -c random.wam gplc -c -C '-O3 -fomit-frame-pointer -funsigned-char' random_c.c gplc -c top_level.wam gplc -c -C '-O3 -fomit-frame-pointer -funsigned-char' top_level_c.c gplc -c debugger.wam gplc -c -C '-O3 -fomit-frame-pointer -funsigned-char' debugger_c.c gplc -c src_rdr.wam gplc -c -C '-O3 -fomit-frame-pointer -funsigned-char' src_rdr_c.c gplc -c all_pl_bips.wam gplc -c sockets.wam gplc -c -C '-O3 -fomit-frame-pointer -funsigned-char' sockets_c.c gplc -c le_interf.wam gplc -c -C '-O3 -fomit-frame-pointer -funsigned-char' le_interf_c.c rm -f libbips_pl.a ar rc libbips_pl.a error_supp.o c_supp.o foreign_supp.o pred_supp.o term_supp.o stream_supp.o scan_supp.o parse_supp.o write_supp.o dynam_supp.o callinf_supp.o bc_supp.o foreign.o pl_error.o utils.o unify.o assert.o assert_c.o read.o read_c.o write.o write_c.o print.o const_io.o const_io_c.o oper.o oper_c.o pred.o pred_c.o atom.o atom_c.o control.o control_c.o call.o call_args.o call_args_c.o catch.o throw.o throw_c.o flag.o flag_c.o arith_inl.o arith_inl_c.o type_inl.o type_inl_c.o term_inl.o term_inl_c.o g_var_inl.o g_var_inl_c.o all_solut.o all_solut_c.o sort.o sort_c.o list.o stat.o stat_c.o stream.o stream_c.o file.o file_c.o char_io.o char_io_c.o dec10io.o format.o format_c.o os_interf.o os_interf_c.o expand.o expand_c.o consult.o consult_c.o pretty.o pretty_c.o random.o random_c.o top_level.o top_level_c.o debugger.o debugger_c.o src_rdr.o src_rdr_c.o all_pl_bips.o sockets.o sockets_c.o le_interf.o le_interf_c.o ranlib libbips_pl.a make[1]: Leaving directory `/home/daves/dock/projects/lp/gprolog/gprolog-1.3.1/src/BipsPl' make[1]: Entering directory `/home/daves/dock/projects/lp/gprolog/gprolog-1.3.1/src/Pl2Wam' gplc -c pl2wam.wam gplc -c read_file.wam gplc -c bip_list.wam gplc -c syn_sugar.wam gplc -c internal.wam gplc -c code_gen.wam gplc -c reg_alloc.wam gplc -c inst_codif.wam gplc -c first_arg.wam gplc -c indexing.wam gplc -c wam_emit.wam [ ! -f pl2wam ] || cp pl2wam pl2wam0 gplc -o pl2wam --no-fd-lib --min-bips pl2wam.o read_file.o bip_list.o syn_sugar.o internal.o code_gen.o reg_alloc.o inst_codif.o first_arg.o indexing.o wam_emit.o make[1]: Leaving directory `/home/daves/dock/projects/lp/gprolog/gprolog-1.3.1/src/Pl2Wam' make[1]: Entering directory `/home/daves/dock/projects/lp/gprolog/gprolog-1.3.1/src/Fd2C' gplc -c --fast-math fd2c.pl fd2c.pl:215-220: fatal error: exception raised: error(instantiation_error,sort/2) compilation failed make[1]: *** [fd2c.o] Error 1 make[1]: Leaving directory `/home/daves/dock/projects/lp/gprolog/gprolog-1.3.1/src/Fd2C' make: *** [all] Error 1 address@hidden src]$