This does not seem to be an architecture related issue. See the following further analysis: rpg@rpgoldman-2: ~/lisp/asdf/test $ gcc -o /Users/rpg/lisp/asdf/build/fasls/ecl-16.0.0-unknown-macosx-x64/asdf/test/ecl-make-image/test.fas -L /usr/local/stow/ecl/lib/ /private/var/folders/xq/ll1d80qs7hnbw3253yc1_x6m0000gn/T/eclinitwwC3Rd.o /Users/rpg/lisp/asdf/build/fasls/ecl-16.0.0-unknown-macosx-x64/asdf/test/ecl-make-image/hello.o -bundle -lecl -lpthread -lm -v Apple LLVM version 7.3.0 (clang-703.0.29) Target: x86_64-apple-darwin15.5.0 Thread model: posix InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld" -demangle -dynamic -arch x86_64 -bundle -macosx_version_min 10.11.0 -o /Users/rpg/lisp/asdf/build/fasls/ecl-16.0.0-unknown-macosx-x64/asdf/test/ecl-make-image/test.fas -L/usr/local/stow/ecl/lib/ /private/var/folders/xq/ll1d80qs7hnbw3253yc1_x6m0000gn/T/eclinitwwC3Rd.o /Users/rpg/lisp/asdf/build/fasls/ecl-16.0.0-unknown-macosx-x64/asdf/test/ecl-make-image/hello.o -lecl -lpthread -lm -lSystem /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/7.3.0/lib/darwin/libclang_rt.osx.a Undefined symbols for architecture x86_64: "_hello_string", referenced from: __eclKh01T9WuI9OGL_rPv3Zi21 in hello.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) rpg@rpgoldman-2: ~/lisp/asdf/test $ nm /Users/rpg/lisp/asdf/build/fasls/ecl-16.0.0-unknown-macosx-x64/asdf/test/ecl-make-image/hello.o 00000000000058b8 b _Cblock 0000000000000190 t _LC1__g0 0000000000000330 s _LC1__g0._ecl_descriptors 00000000000058c0 b _VV U ___stack_chk_fail U ___stack_chk_guard 0000000000000000 T __eclKh01T9WuI9OGL_rPv3Zi21 U _cl_symbols 00000000000002f0 s _compiler_data_text 0000000000000300 s _compiler_data_text1 U _ecl_cs_overflow U _ecl_function_dispatch U _ecl_make_cfun U _ecl_make_foreign_data U _ecl_make_simple_base_string U _ecl_print U _ecl_process_env U _hello_string U _si_get_sysprop U _si_put_sysprop U _si_select_package rpg@rpgoldman-2: ~/lisp/asdf/test $ file Usage: file [-bchikLNnprsvz0] [-e test] [-f namefile] [-F separator] [-m magicfiles] [-M magicfiles] file... file -C -m magicfiles Try `file --help' for more information. rpg@rpgoldman-2: ~/lisp/asdf/test $ file /Users/rpg/lisp/asdf/build/fasls/ecl-16.0.0-unknown-macosx-x64/asdf/test/ecl-make-image/hello.o /Users/rpg/lisp/asdf/build/fasls/ecl-16.0.0-unknown-macosx-x64/asdf/test/ecl-make-image/hello.o: Mach-O 64-bit object x86_64 rpg@rpgoldman-2: ~/lisp/asdf/test $ file /private/var/folders/xq/ll1d80qs7hnbw3253yc1_x6m0000gn/T/eclinitwwC3Rd.o /private/var/folders/xq/ll1d80qs7hnbw3253yc1_x6m0000gn/T/eclinitwwC3Rd.o: Mach-O 64-bit object x86_64 rpg@rpgoldman-2: ~/lisp/asdf/test $ nm /private/var/folders/xq/ll1d80qs7hnbw3253yc1_x6m0000gn/T/eclinitwwC3Rd.o U __eclKh01T9WuI9OGL_rPv3Zi21 U _ecl_init_module U _ecl_make_codeblock 0000000000000000 T _init_fas_CODE 0000000000004888 b _init_fas_CODE.Cblock