将系统升级到OSX 10.9后,编译erlang时发现错误。
环境:OSX 10.9
Erlang版本:R15B01
通过kerl build R15B01 r15b01
beam/erl_bif_re.c: In function ‘erts_init_bif_re’:
beam/erl_bif_re.c:68: error: ‘erts_pcre_malloc’ undeclared (first use in this function)
beam/erl_bif_re.c:68: error: (Each undeclared identifier is reported only once
beam/erl_bif_re.c:68: error: for each function it appears in.)
beam/erl_bif_re.c:69: error: ‘erts_pcre_free’ undeclared (first use in this function)
beam/erl_bif_re.c:70: error: ‘erts_pcre_stack_malloc’ undeclared (first use in this function)
beam/erl_bif_re.c:71: error: ‘erts_pcre_stack_free’ undeclared (first use in this function)
beam/erl_bif_re.c: In function ‘build_compile_result’:
beam/erl_bif_re.c:398: warning: implicit declaration of function ‘erts_pcre_fullinfo’
beam/erl_bif_re.c:403: warning: implicit declaration of function ‘erts_pcre_free’
beam/erl_bif_re.c: In function ‘re_compile’:
beam/erl_bif_re.c:457: warning: implicit declaration of function ‘erts_pcre_compile2’
beam/erl_bif_re.c:458: warning: assignment makes pointer from integer without a cast
beam/erl_bif_re.c: In function ‘cleanup_restart_context’:
beam/erl_bif_re.c:513: warning: implicit declaration of function ‘erts_pcre_free_restart_data’
beam/erl_bif_re.c: In function ‘build_capture’:
beam/erl_bif_re.c:822: warning: implicit declaration of function ‘erts_pcre_get_stringnumber’
beam/erl_bif_re.c: In function ‘re_run’:
beam/erl_bif_re.c:910: warning: assignment makes pointer from integer without a cast
beam/erl_bif_re.c:988: error: ‘PCRE_EXTRA_LOOP_LIMIT’ undeclared (first use in this function)
beam/erl_bif_re.c:990: error: ‘pcre_extra’ has no member named ‘loop_limit’
beam/erl_bif_re.c:993: error: ‘pcre_extra’ has no member named ‘loop_limit’
beam/erl_bif_re.c:994: error: ‘pcre_extra’ has no member named ‘loop_limit’
beam/erl_bif_re.c:997: error: ‘pcre_extra’ has no member named ‘restart_data’
beam/erl_bif_re.c:998: error: ‘pcre_extra’ has no member named ‘restart_flags’
beam/erl_bif_re.c:999: error: ‘pcre_extra’ has no member named ‘loop_counter_return’
beam/erl_bif_re.c:1063: warning: implicit declaration of function ‘erts_pcre_exec’
beam/erl_bif_re.c:1067: error: ‘PCRE_ERROR_LOOP_LIMIT’ undeclared (first use in this function)
beam/erl_bif_re.c: In function ‘re_exec_trap’:
beam/erl_bif_re.c:1128: error: ‘pcre_extra’ has no member named ‘loop_limit’
beam/erl_bif_re.c:1131: error: ‘pcre_extra’ has no member named ‘loop_limit’
beam/erl_bif_re.c:1132: error: ‘pcre_extra’ has no member named ‘loop_limit’
beam/erl_bif_re.c:1134: error: ‘pcre_extra’ has no member named ‘loop_counter_return’
beam/erl_bif_re.c:1135: error: ‘pcre_extra’ has no member named ‘restart_data’
beam/erl_bif_re.c:1136: error: ‘pcre_extra’ has no member named ‘restart_flags’
beam/erl_bif_re.c:1144: error: ‘PCRE_ERROR_LOOP_LIMIT’ undeclared (first use in this function)
make[3]: *** [obj/i386-apple-darwin13.0.0/opt/smp/erl_bif_re.o] Error 1
make[2]: *** [opt] Error 2
make[1]: *** [smp] Error 2
make: *** [emulator] Error 2
任何建议,谢谢。
答案 0 :(得分:0)
我用自制软件安装了pcre8.33,这与erlang的pcre库冲突。
卸载pcre并重新制作后问题解决了。