Re: segmentation error on OSX build
Daniel Diaz <[email protected]>
| Newsgroups | gmane.comp.gnu.prolog.general |
|---|---|
| Message-ID | <[email protected]> |
Hi Philipp,
I think the bug is fixed in last (git) version.
You can get it here an updated snapshot:
http://gprolog.org/unstable/gprolog-20140207.tgz
Can you keep us informed if you try it please ?
Daniel
Le 07/02/2014 10:52, Philipp Kraus a écrit :
> Hello,
>
> I try to build gnu prolog under OSX (10.8 & 10.9) and I get the segmentation fault on the make process:
>
> --- GNU PROLOG INSTALLATION ---
> -------------------------------
>
> GNU Prolog version: 1.4.4 (Feb 7 2014)
> Operating system : darwin12.5.0
> Processor : x86_64
> Size of a WAM word: 64 bits
> C compiler : gcc
> C flags : -O3 -fomit-frame-pointer
> C flags machine : -march=x86-64 -m64 -fno-strict-aliasing
> Assembler : as
> Assembler flags : -arch x86_64
> Loader flags :
> Loader libraries : -lm
> Use line editor : Yes
> Use piped consult : No
> Use sockets : No
> Use FD solver : Yes
> Use machine regs. : Yes
> Used register(s) :
>
> ------------------------------
>
> (cd ../TopComp; make gplc)
> gcc -march=x86-64 -m64 -fno-strict-aliasing -O3 -fomit-frame-pointer -o gplc top_comp.c -lm
> . ./SETVARS;for i in EnginePl TopComp Wam2Ma Ma2Asm Linedit BipsPl Pl2Wam Fd2C EngineFD BipsFD;do (cd $i; make) || exit 1; done;\
> (cd TopComp; make top-level) || exit 1;\
> (cd Pl2Wam; make stage2)
> gcc -march=x86-64 -m64 -fno-strict-aliasing -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' stacks_sigsegv.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_fct.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 -o engine1.o 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 stacks_sigsegv.o mem_alloc.o misc.o hash_fct.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
> /usr/bin/ranlib: file: libengine_pl.a(mem_alloc.o) has no symbols
> ranlib libengine_pl.a
> ranlib: file: libengine_pl.a(mem_alloc.o) has no symbols
> gcc -march=x86-64 -m64 -fno-strict-aliasing -O3 -fomit-frame-pointer -o hexgplc hexfilter.c
> gcc -march=x86-64 -m64 -fno-strict-aliasing -O3 -fomit-frame-pointer -c wam2ma.c
> gcc -march=x86-64 -m64 -fno-strict-aliasing -O3 -fomit-frame-pointer -c wam_parser.c
> gcc -march=x86-64 -m64 -fno-strict-aliasing -O3 -fomit-frame-pointer -o wam2ma wam2ma.o wam_parser.o
> gcc -march=x86-64 -m64 -fno-strict-aliasing -O3 -fomit-frame-pointer -c ma2asm.c
> gcc -march=x86-64 -m64 -fno-strict-aliasing -O3 -fomit-frame-pointer -c ma_parser.c
> gcc -march=x86-64 -m64 -fno-strict-aliasing -O3 -fomit-frame-pointer -c ma2asm_inst.c
> gcc -march=x86-64 -m64 -fno-strict-aliasing -O3 -fomit-frame-pointer -o ma2asm ma2asm.o ma2asm_inst.o ma_parser.o
> gcc -march=x86-64 -m64 -fno-strict-aliasing -c -O3 -fomit-frame-pointer -funsigned-char linedit.c
> gcc -march=x86-64 -m64 -fno-strict-aliasing -c -O3 -fomit-frame-pointer -funsigned-char terminal.c
> gcc -march=x86-64 -m64 -fno-strict-aliasing -c -O3 -fomit-frame-pointer -funsigned-char ctrl_c.c
> rm -f liblinedit.a
> ar rc liblinedit.a linedit.o terminal.o ctrl_c.o
> ranlib liblinedit.a
> 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 -C '-O3 -fomit-frame-pointer -funsigned-char' flag_supp.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 -C '-O3 -fomit-frame-pointer -funsigned-char' list_c.c
> 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
> debugger_c.c:270:16: warning: ordered comparison of function pointers ('WamCont' (aka 'void (*)()') and 'WamCont')
> if (code >= code1 && code1 >= last_code)
> ~~~~ ^ ~~~~~
> debugger_c.c:270:34: warning: ordered comparison of function pointers ('WamCont' (aka 'void (*)()') and 'WamCont')
> if (code >= code1 && code1 >= last_code)
> ~~~~~ ^ ~~~~~~~~~
> 2 warnings generated.
> 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 no_sockets.wam
> 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_supp.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 list_c.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 no_sockets.o le_interf.o le_interf_c.o
> ranlib libbips_pl.a
> gplc -c pl2wam.wam
> gplc -c read_file.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-warn --no-top-level pl2wam.o read_file.o syn_sugar.o internal.o code_gen.o reg_alloc.o inst_codif.o first_arg.o indexing.o wam_emit.o
> gplc -c --fast-math fd2c.pl
>
> Fatal Error: Segmentation Violation (bad address: 0x0)
> compilation failed
> make[1]: *** [fd2c.o] Error 1
> make: *** [all] Error 1
>
>
>
> How can I build it in a correct way
> Thanks
>
> Phil
> _______________________________________________
> Users-prolog mailing list
> [email protected]
> https://lists.gnu.org/mailman/listinfo/users-prolog
>
--
Ce message a ete verifie par MailScanner
pour des virus ou des polluriels et rien de
suspect n'a ete trouve.