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.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.