I think this is Apple using the new LLVM backend or something.... I had a similar issue recently and I had to use "homebrew" to install an alternative gcc4 compiler.
See the green ticked answer: http://apple.stackexchange.com/questions/38222/how-do-i-install-gcc-via-homebrew some background: http://stackoverflow.com/questions/12020349/difference-between-llvm-gcc-4-2-and-apple-llvm-compiler-3-1 On 7 February 2014 09:52, Philipp Kraus <[email protected]>wrote: > 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 >
_______________________________________________ Users-prolog mailing list [email protected] https://lists.gnu.org/mailman/listinfo/users-prolog
