Friday, February 29, 2008

Problems with Erlang R12B-1 on Leopard

I've recently been trying to set up tsung on my Core 2 Duo Macbook Pro running Leopard 10.5.2.

I tried the generic ./configure, but precept failed because I was missing libgd and ODBC. So, I downloaded libgd, and tried ./configure, but it was missing libjpeg. Of course, it hasn't been updated since 1998, which is of course will not ./configure on my super-sweet macbook pro.

Luckily, I found steps to get libjpeg to compile. They worked like a charm. Once I built libjpeg, libgd built just fine. Of course, this only took care of half my erlang problem. ODBC still didn't work. I found an email thread explaining steps to try and resolve the problem, but when I did:

./configure --enable-darwin-64bit --with-gd=/usr/local

My install did have the lib/orber/c_src/i386-apple-darwin9.1.0 directory. It had a lib/orber/c_src/i386-apple-darwin9.2.0 directory instead. At this point I just gave up and used R12B-0 instead since I found some working directions to build it. I had to modify the configure parameters slightly since I manually installed libgd:

./configure --with-gd=/usr/local

1 comment:

Matthew Foemmel said...

I'm having the same problems with R12B-1.

When I try "configure"-ing with the "--enable-darwin-64bit" option, it tells me the "precept" application has been disabled. Then when I run "make" I get this error:


gcc -o ../priv/bin/i386-apple-darwin9.2.0/obj_init_port ../priv/obj/i386-apple-darwin9.2.0/obj_init_port.o ../priv/obj/i386-apple-darwin9.2.0/setsockaddr_in.o -lutil -ldl -lm
ld: warning in ../priv/obj/i386-apple-darwin9.2.0/obj_init_port.o, file is not of required architecture
ld: warning in ../priv/obj/i386-apple-darwin9.2.0/setsockaddr_in.o, file is not of required architecture
Undefined symbols:
"_main", referenced from:
start in crt1.10.5.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[4]: *** [../priv/bin/i386-apple-darwin9.2.0/obj_init_port] Error 1
make[3]: *** [opt] Error 2
make[2]: *** [opt] Error 2
make[1]: *** [opt] Error 2
make: *** [libs] Error 2

When I try it without the "--enable-darwin-64bit", it says the "odbc" project is disabled. Then when I run "make" I get this error:

gcc -mdynamic-no-pic -g -O2 -I/Users/mfoemmel/Desktop/otp_src_R12B-1/erts/i386-apple-darwin9.2.0 -no-cpp-precomp -DERTS_SMP -DHAVE_CONFIG_H -Wall -Wstrict-prototypes -Wmissing-prototypes -Wdeclaration-after-statement -DUSE_THREADS -D_THREAD_SAFE -D_REENTRANT -Ibeam -Isys/unix -Isys/common -Ii386-apple-darwin9.2.0/opt/smp -Ii386-apple-darwin9.2.0 -Izlib -Ihipe -I../include/internal -I../include/internal/i386-apple-darwin9.2.0 -Idrivers/common -Idrivers/unix -I../etc/unix -c drivers/unix/ttsl_drv.c -o obj/i386-apple-darwin9.2.0/opt/smp/ttsl_drv.o
gcc -o /Users/mfoemmel/Desktop/otp_src_R12B-1/bin/i386-apple-darwin9.2.0/beam.smp \
obj/i386-apple-darwin9.2.0/opt/smp/erl_main.o obj/i386-apple-darwin9.2.0/opt/smp/preload.o obj/i386-apple-darwin9.2.0/opt/smp/erl_pbifs.o obj/i386-apple-darwin9.2.0/opt/smp/benchmark.o obj/i386-apple-darwin9.2.0/opt/smp/erl_alloc.o obj/i386-apple-darwin9.2.0/opt/smp/erl_mtrace.o obj/i386-apple-darwin9.2.0/opt/smp/erl_alloc_util.o obj/i386-apple-darwin9.2.0/opt/smp/erl_goodfit_alloc.o obj/i386-apple-darwin9.2.0/opt/smp/erl_bestfit_alloc.o obj/i386-apple-darwin9.2.0/opt/smp/erl_afit_alloc.o obj/i386-apple-darwin9.2.0/opt/smp/erl_instrument.obj/i386-apple-darwin9.2.0/opt/smp/erl_init.o obj/i386-apple-darwin9.2.0/opt/smp/erl_atom_table.o obj/i386-apple-darwin9.2.0/opt/smp/erl_bif_table.o obj/i386-apple-darwin9.2.0/opt/smp/erl_bif_ddll.o obj/i386-apple-darwin9.2.0/opt/smp/erl_bif_guard.o obj/i386-apple-darwin9.2.0/opt/smp/erl_bif_info.o obj/i386-apple-darwin9.2.0/opt/smp/erl_bif_op.o obj/i386-apple-darwin9.2.0/opt/smp/erl_bif_os.o obj/i386-apple-darwin9.2.0/opt/smp/erl_bif_lists.o obj/i386-apple-darwin9.2.0/opt/smp/erl_bif_trace.o obj/i386-apple-darwin9.2.0/opt/smp/erl_bif_wrap.o obj/i386-apple-darwin9.2.0/opt/smp/erl_trace.o obj/i386-apple-darwin9.2.0/opt/smp/copy.o obj/i386-apple-darwin9.2.0/opt/smp/utils.o obj/i386-apple-darwin9.2.0/opt/smp/bif.o obj/i386-apple-darwin9.2.0/opt/smp/io.o obj/i386-apple-darwin9.2.0/opt/smp/erl_printf_term.o obj/i386-apple-darwin9.2.0/opt/smp/erl_debug.o obj/i386-apple-darwin9.2.0/opt/smp/erl_md5.o obj/i386-apple-darwin9.2.0/opt/smp/erl_message.o obj/i386-apple-darwin9.2.0/opt/smp/erl_process.o obj/i386-apple-darwin9.2.0/opt/smp/erl_process_dict.o obj/i386-apple-darwin9.2.0/opt/smp/erl_process_lock.o obj/i386-apple-darwin9.2.0/opt/smp/erl_port_task.o obj/i386-apple-darwin9.2.0/opt/smp/erl_arith.o obj/i386-apple-darwin9.2.0/opt/smp/time.o obj/i386-apple-darwin9.2.0/opt/smp/erl_time_sup.o obj/i386-apple-darwin9.2.0/opt/smp/external.o obj/i386-apple-darwin9.2.0/opt/smp/dist.o obj/i386-apple-darwin9.2.0/opt/smp/binary.o obj/i386-apple-darwin9.2.0/opt/smp/erl_db.o obj/i386-apple-darwin9.2.0/opt/smp/erl_db_util.o obj/i386-apple-darwin9.2.0/opt/smp/erl_db_hash.o obj/i386-apple-darwin9.2.0/opt/smp/erl_db_tree.o obj/i386-apple-darwin9.2.0/opt/smp/fix_alloc.o obj/i386-apple-darwin9.2.0/opt/smp/big.o obj/i386-apple-darwin9.2.0/opt/smp/hash.o obj/i386-apple-darwin9.2.0/opt/smp/index.o obj/i386-apple-darwin9.2.0/opt/smp/atom.o obj/i386-apple-darwin9.2.0/opt/smp/module.o obj/i386-apple-darwin9.2.0/opt/smp/export.o obj/i386-apple-darwin9.2.0/opt/smp/register.o obj/i386-apple-darwin9.2.0/opt/smp/break.o obj/i386-apple-darwin9.2.0/opt/smp/erl_async.o obj/i386-apple-darwin9.2.0/opt/smp/erl_lock_check.o obj/i386-apple-darwin9.2.0/opt/smp/erl_gc.o obj/i386-apple-darwin9.2.0/opt/smp/erl_nmgc.o obj/i386-apple-darwin9.2.0/opt/smp/erl_posix_str.o obj/i386-apple-darwin9.2.0/opt/smp/erl_bits.o obj/i386-apple-darwin9.2.0/opt/smp/erl_math.o obj/i386-apple-darwin9.2.0/opt/smp/erl_fun.o obj/i386-apple-darwin9.2.0/opt/smp/erl_bif_port.o obj/i386-apple-darwin9.2.0/opt/smp/erl_term.o obj/i386-apple-darwin9.2.0/opt/smp/erl_node_tables.o obj/i386-apple-darwin9.2.0/opt/smp/erl_monitors.o obj/i386-apple-darwin9.2.0/opt/smp/erl_process_dump.o obj/i386-apple-darwin9.2.0/opt/smp/erl_obsolete.o obj/i386-apple-darwin9.2.0/opt/smp/erl_bif_timer.o obj/i386-apple-darwin9.2.0/opt/smp/erl_drv_thread.o obj/i386-apple-darwin9.2.0/opt/smp/beam_emu.o obj/i386-apple-darwin9.2.0/opt/smp/beam_opcodes.o obj/i386-apple-darwin9.2.0/opt/smp/beam_load.o obj/i386-apple-darwin9.2.0/opt/smp/beam_bif_load.o obj/i386-apple-darwin9.2.0/opt/smp/beam_debug.o obj/i386-apple-darwin9.2.0/opt/smp/beam_bp.o obj/i386-apple-darwin9.2.0/opt/smp/beam_catches.o obj/i386-apple-darwin9.2.0/opt/smp/sys.o obj/i386-apple-darwin9.2.0/opt/smp/driver_tab.o obj/i386-apple-darwin9.2.0/opt/smp/unix_efile.o obj/i386-apple-darwin9.2.0/opt/smp/gzio.o obj/i386-apple-darwin9.2.0/opt/smp/elib_malloc.o obj/i386-apple-darwin9.2.0/opt/smp/elib_memmove.o obj/i386-apple-darwin9.2.0/opt/smp/sys_float.o obj/i386-apple-darwin9.2.0/opt/smp/sys_time.o obj/i386-apple-darwin9.2.0/opt/smp/erl_poll.kp.o obj/i386-apple-darwin9.2.0/opt/smp/erl_check_io.kp.o obj/i386-apple-darwin9.2.0/opt/smp/erl_poll.nkp.o obj/i386-apple-darwin9.2.0/opt/smp/erl_check_io.nkp.o obj/i386-apple-darwin9.2.0/opt/smp/erl_mseg.o obj/i386-apple-darwin9.2.0/opt/smp/erl_unix_sys_ddll.o obj/i386-apple-darwin9.2.0/opt/smp/erl_mtrace_sys_wrap.o obj/i386-apple-darwin9.2.0/opt/smp/efile_drv.o obj/i386-apple-darwin9.2.0/opt/smp/inet_drv.o obj/i386-apple-darwin9.2.0/opt/smp/zlib_drv.o obj/i386-apple-darwin9.2.0/opt/smp/ram_file_drv.o obj/i386-apple-darwin9.2.0/opt/smp/ttsl_drv.o -lutil -ldl -lm -lncurses -L../lib/internal/i386-apple-darwin9.2.0 /Users/mfoemmel/Desktop/otp_src_R12B-1/erts/obj/i386-apple-darwin9.2.0/libz.a -lethread -lpthread -lerts_internal_r
ld: warning in obj/i386-apple-darwin9.2.0/opt/smp/preload.o, file is not of required architecture
ld: warning in obj/i386-apple-darwin9.2.0/opt/smp/erl_atom_table.o, file is not of required architecture
ld: warning in /Users/mfoemmel/Desktop/otp_src_R12B-1/erts/obj/i386-apple-darwin9.2.0/libz.a, file is not of required architecture
Undefined symbols:
"_deflate", referenced from:
_erts_gzwrite in gzio.o
_erts_gzflush in gzio.o
_erts_gzdeflate_buffer in gzio.o
_zlib_ctl in zlib_drv.o
_zlib_ctl in zlib_drv.o
_zlib_ctl in zlib_drv.o
_zlib_ctl in zlib_drv.o
"_deflateEnd", referenced from:
_destroy in gzio.o
_erts_gzdeflate_buffer in gzio.o
_mem_destroy in gzio.o
_zlib_stop in zlib_drv.o
_zlib_ctl in zlib_drv.o
"_crc32", referenced from:
_gz_open in gzio.o
_erts_gzread in gzio.o
_erts_gzread in gzio.o
_erts_gzread in gzio.o
_erts_gzwrite in gzio.o
_erts_gzseek in gzio.o
_erts_gzbufopen in gzio.o
_erts_gzdeflate_buffer in gzio.o
_erts_gzdeflate_buffer in gzio.o
_zlib_start in zlib_drv.o
_zlib_ctl in zlib_drv.o
_zlib_ctl in zlib_drv.o
_zlib_ctl in zlib_drv.o
_zlib_ctl in zlib_drv.o
_zlib_ctl in zlib_drv.o
_zlib_ctl in zlib_drv.o
_zlib_ctl in zlib_drv.o
_zlib_ctl in zlib_drv.o
_zlib_ctl in zlib_drv.o
"_uncompress", referenced from:
_erts_binary2term_prepare in external.o
_binary_to_term_1 in external.o
_bin_load in beam_load.o
"_compress2", referenced from:
_term_to_binary in external.o
"_inflateEnd", referenced from:
_destroy in gzio.o
_mem_destroy in gzio.o
_zlib_stop in zlib_drv.o
_zlib_ctl in zlib_drv.o
"_inflate", referenced from:
_erts_gzread in gzio.o
_zlib_ctl in zlib_drv.o
"_deflateInit2_", referenced from:
_gz_open in gzio.o
_erts_gzdeflate_buffer in gzio.o
_zlib_ctl in zlib_drv.o
"_deflateReset", referenced from:
_zlib_ctl in zlib_drv.o
"_pre_loaded", referenced from:
_pre_loaded$non_lazy_ptr in sys.o
"_adler32", referenced from:
_zlib_ctl in zlib_drv.o
_zlib_ctl in zlib_drv.o
_zlib_ctl in zlib_drv.o
"_inflateReset", referenced from:
_erts_gzread in gzio.o
_erts_gzseek in gzio.o
_zlib_ctl in zlib_drv.o
"_inflateSync", referenced from:
_zlib_ctl in zlib_drv.o
"_erl_atom_names", referenced from:
_erl_atom_names$non_lazy_ptr in atom.o
"_deflateSetDictionary", referenced from:
_zlib_ctl in zlib_drv.o
"_inflateInit2_", referenced from:
_gz_open in gzio.o
_erts_gzbufopen in gzio.o
_zlib_ctl in zlib_drv.o
"_deflateInit_", referenced from:
_zlib_ctl in zlib_drv.o
"_crc32_combine", referenced from:
_zlib_ctl in zlib_drv.o
"_inflateInit_", referenced from:
_zlib_ctl in zlib_drv.o
"_adler32_combine", referenced from:
_zlib_ctl in zlib_drv.o
"_inflateSetDictionary", referenced from:
_zlib_ctl in zlib_drv.o
"_deflateParams", referenced from:
_zlib_ctl in zlib_drv.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[3]: *** [/Users/mfoemmel/Desktop/otp_src_R12B-1/bin/i386-apple-darwin9.2.0/beam.smp] Error 1
make[2]: *** [opt] Error 2
make[1]: *** [smp] Error 2
make: *** [emulator] Error 2

Is this pretty much what you saw?