OTP13B03 failed to build on OS X 10.6 in 64-bit with duplicate symbol _saved_program_buf in obj/i686-apple-darwin10/opt/smp/erl_pbifs.o and obj/i686-apple-darwin10/opt/smp/erl_main.o

Ceriel Jacobs <>
Tue Dec 15 23:54:59 CET 2009


How did anyone succeed to build OTP13B03 on Mac OS X 10.6 in 64-bit (optimized) mode?

Environment:
Processor: Intel Core2Duo
OS: 10.6.2 (Snow Leopard)
Xcode: 3.2.1
GCC: 4.2.1

Used command to configure:
$ MACOSX_DEPLOYMENT_TARGET=10.6 \
CFLAGS="-fast -arch x86_64 -march=nocona -mtune=generic -isysroot /Developer/SDKs/MacOSX10.6.sdk -mmacosx-version-min=10.6" \
LDFLAGS="-fast -arch x86_64 -march=nocona -mtune=generic -isysroot /Developer/SDKs/MacOSX10.6.sdk -mmacosx-version-min=10.6" \
./configure \
'--disable-erlang-mandir' \
'--enable-m64-build' \
'--enable-darwin-64bit' \
'--build=i686-apple-darwin10'

The resulting output (error message):
<snip>
gcc -o /Users/user/src/otp_src_R13B03/bin/i686-apple-darwin10/beam.smp \
	 -m64 -fast -arch x86_64 -march=nocona -mtune=generic -isysroot /Developer/SDKs/MacOSX10.6.sdk -mmacosx-version-min=10.6   obj/i686-apple-darwin10/opt/smp/erl_main.o		obj/i686-apple-darwin10/opt/smp/preload.o obj/i686-apple-darwin10/opt/smp/erl_pbifs.o		obj/i686-apple-darwin10/opt/smp/benchmark.o obj/i686-apple-darwin10/opt/smp/erl_alloc.o		obj/i686-apple-darwin10/opt/smp/erl_mtrace.o obj/i686-apple-darwin10/opt/smp/erl_alloc_util.o	obj/i686-apple-darwin10/opt/smp/erl_goodfit_alloc.o obj/i686-apple-darwin10/opt/smp/erl_bestfit_alloc.o	obj/i686-apple-darwin10/opt/smp/erl_afit_alloc.o obj/i686-apple-darwin10/opt/smp/erl_instrument.o	obj/i686-apple-darwin10/opt/smp/erl_init.o obj/i686-apple-darwin10/opt/smp/erl_atom_table.o	obj/i686-apple-darwin10/opt/smp/erl_bif_table.o obj/i686-apple-darwin10/opt/smp/erl_bif_ddll.o  	obj/i686-apple-darwin10/opt/smp/erl_bif_guard.o obj/i686-apple-darwin10/opt/smp/erl_bif_info.o	obj/i686-apple-darwin10/opt/smp/erl_bif_op.o obj/i686-apple-darwin10/opt/smp/erl_bif_os.o		obj/i686-apple-darwin10/opt/smp/erl_bif_lists.o obj/i686-apple-darwin10/opt/smp/erl_bif_trace.o	obj/i686-apple-darwin10/opt/smp/erl_bif_wrap.o obj/i686-apple-darwin10/opt/smp/erl_trace.o		obj/i686-apple-darwin10/opt/smp/copy.o obj/i686-apple-darwin10/opt/smp/utils.o		obj/i686-apple-darwin10/opt/smp/bif.o obj/i686-apple-darwin10/opt/smp/io.o 			obj/i686-apple-darwin10/opt/smp/erl_printf_term.o obj/i686-apple-darwin10/opt/smp/erl_debug.o		obj/i686-apple-darwin10/opt/smp/erl_md5.o obj/i686-apple-darwin10/opt/smp/erl_message.o		obj/i686-apple-darwin10/opt/smp/erl_process.o obj/i686-apple-darwin10/opt/smp/erl_process_dict.o	obj/i686-apple-darwin10/opt/smp/erl_process_lock.o obj/i686-apple-darwin10/opt/smp/erl_port_task.o	obj/i686-apple-darwin10/opt/smp/erl_arith.o obj/i686-apple-darwin10/opt/smp/time.o		obj/i686-apple-darwin10/opt/smp/erl_time_sup.o obj/i686-apple-darwin10/opt/smp/external.o		obj/i686-apple-darwin10/opt/smp/dist.o obj/i686-apple-darwin10/opt/smp/binary.o		obj/i686-apple-darwin10/opt/smp/erl_db.o obj/i686-apple-darwin10/opt/smp/erl_db_util.o		obj/i686-apple-darwin10/opt/smp/erl_db_hash.o obj/i686-apple-darwin10/opt/smp/erl_db_tree.o		obj/i686-apple-darwin10/opt/smp/fix_alloc.o obj/i686-apple-darwin10/opt/smp/big.o			obj/i686-apple-darwin10/opt/smp/hash.o obj/i686-apple-darwin10/opt/smp/index.o		obj/i686-apple-darwin10/opt/smp/atom.o obj/i686-apple-darwin10/opt/smp/module.o		obj/i686-apple-darwin10/opt/smp/export.o obj/i686-apple-darwin10/opt/smp/register.o		obj/i686-apple-darwin10/opt/smp/break.o obj/i686-apple-darwin10/opt/smp/erl_async.o		obj/i686-apple-darwin10/opt/smp/erl_lock_check.o obj/i686-apple-darwin10/opt/smp/erl_gc.o 		obj/i686-apple-darwin10/opt/smp/erl_lock_count.o obj/i686-apple-darwin10/opt/smp/erl_nmgc.o	obj/i686-apple-darwin10/opt/smp/erl_posix_str.o obj/i686-apple-darwin10/opt/smp/erl_bits.o 	obj/i686-apple-darwin10/opt/smp/erl_math.o obj/i686-apple-darwin10/opt/smp/erl_fun.o             obj/i686-apple-darwin10/opt/smp/erl_bif_port.o obj/i686-apple-darwin10/opt/smp/erl_term.o 	obj/i686-apple-darwin10/opt/smp/erl_node_tables.o obj/i686-apple-darwin10/opt/smp/erl_monitors.obj/i686-apple-darwin10/opt/smp/erl_process_dump.o obj/i686-apple-darwin10/opt/smp/erl_obsolete.o	obj/i686-apple-darwin10/opt/smp/erl_bif_timer.o obj/i686-apple-darwin10/opt/smp/erl_drv_thread.o      obj/i686-apple-darwin10/opt/smp/erl_bif_chksum.o obj/i686-apple-darwin10/opt/smp/erl_bif_re.o		obj/i686-apple-darwin10/opt/smp/erl_unicode.o obj/i686-apple-darwin10/opt/smp/packet_parser.o	obj/i686-apple-darwin10/opt/smp/safe_hash.o obj/i686-apple-darwin10/opt/smp/erl_zlib.o		obj/i686-apple-darwin10/opt/smp/erl_nif.o obj/i686-apple-darwin10/opt/smp/beam_emu.o		obj/i686-apple-darwin10/opt/smp/beam_opcodes.o obj/i686-apple-darwin10/opt/smp/beam_load.o		obj/i686-apple-darwin10/opt/smp/beam_bif_load.o obj/i686-apple-darwin10/opt/smp/beam_debug.o		obj/i686-apple-darwin10/opt/smp/beam_bp.o obj/i686-apple-darwin10/opt/smp/beam_catches.o obj/i686-apple-darwin10/opt/smp/sys.o obj/i686-apple-darwin10/opt/smp/driver_tab.o obj/i686-apple-darwin10/opt/smp/unix_efile.o obj/i686-apple-darwin10/opt/smp/gzio.o obj/i686-apple-darwin10/opt/smp/elib_malloc.o obj/i686-apple-darwin10/opt/smp/elib_memmove.o obj/i686-apple-darwin10/opt/smp/sys_float.o obj/i686-apple-darwin10/opt/smp/sys_time.o obj/i686-apple-darwin10/opt/smp/erl_poll.kp.o obj/i686-apple-darwin10/opt/smp/erl_check_io.kp.o obj/i686-apple-darwin10/opt/smp/erl_poll.nkp.o obj/i686-apple-darwin10/opt/smp/erl_check_io.nkp.o obj/i686-apple-darwin10/opt/smp/erl_mseg.o obj/i686-apple-darwin10/opt/smp/erl_unix_sys_ddll.o obj/i686-apple-darwin10/opt/smp/erl_mtrace_sys_wrap.o  obj/i686-apple-darwin10/opt/smp/efile_drv.o obj/i686-apple-darwin10/opt/smp/inet_drv.o obj/i686-apple-darwin10/opt/smp/zlib_drv.o obj/i686-apple-darwin10/opt/smp/ram_file_drv.o obj/i686-apple-darwin10/opt/smp/ttsl_drv.o -lutil -ldl -lm   -lncurses -L../lib/internal/i686-apple-darwin10  /Users/user/src/otp_src_R13B03/erts/emulator/zlib/obj/i686-apple-darwin10/opt/libz.a /Users/user/src/otp_src_R13B03/erts/emulator/pcre/obj/i686-apple-darwin10/opt/libepcre.a -lethread -lpthread -lerts_internal_r  
ld: duplicate symbol _saved_program_buf in obj/i686-apple-darwin10/opt/smp/erl_pbifs.o and obj/i686-apple-darwin10/opt/smp/erl_main.o
collect2: ld returned 1 exit status
make[3]: *** [/Users/user/src/otp_src_R13B03/bin/i686-apple-darwin10/beam.smp] Error 1
make[2]: *** [opt] Error 2
make[1]: *** [smp] Error 2
make: *** [emulator] Error 2




More information about the erlang-questions mailing list