users-prolog
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: segmentation error on OSX build


From: Paulo Moura
Subject: Re: segmentation error on OSX build
Date: Fri, 7 Feb 2014 17:37:15 +0000

Hi Daniel,

On 07/02/2014, at 11:09, Daniel Diaz <address@hidden> wrote:

> 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 ?

Compiled fine on MacOS X 10.9.1 using the latest Xcode version with only two 
warnings:

gplc -c -C '-O3 -fomit-frame-pointer -funsigned-char' debugger_c.c
debugger_c.c:1175:19: warning: ordered comparison of function pointers 
('CodePtr' (aka 'void (*)()') and 'CodePtr')
          if (last_codep <= cur_codep && cur_codep <= codep)
              ~~~~~~~~~~ ^  ~~~~~~~~~
debugger_c.c:1175:45: warning: ordered comparison of function pointers 
('CodePtr' (aka 'void (*)()') and 'CodePtr')
          if (last_codep <= cur_codep && cur_codep <= codep)
                                         ~~~~~~~~~ ^  ~~~~~
2 warnings generated.

Cheers,

Paulo

> 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
>> address@hidden
>> 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.
> 
> 
> _______________________________________________
> Users-prolog mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/users-prolog

-----------------------------------------------------------------
Paulo Moura
Logtalk developer

Email: <mailto:address@hidden>
Web:   <http://logtalk.org/>
-----------------------------------------------------------------







reply via email to

[Prev in Thread] Current Thread [Next in Thread]