[Openmcl-devel] can't build CCL: Bad CPU type in executable

Jeff Caldwell jcaldwell at clozure.com
Mon Jul 13 11:28:10 PDT 2015


I think we got a new version of the SVN client with Yosemite or a
subsequent update. On my machine, that client couldn't svn update the
CCL I had recently obtained via svn co. I removed that CCL directory
and did another svn co with the new client, which succeeded. I was
able to rebuild.

Did you do 'which svn' to see the location of the svn version 1.3.2?
Was it also in /opt/local/bin? I'm guessing whatever affected your
PATH made /opt/local/bin/svn visible, if it were present.

I was able to recreate your ld error messages, but only after renaming
/usr/bin/m4, /usr/bin/gm4, and /opt/local/bin/gm4 (when I had
/opt/local/bin in my PATH). Even though the /opt/local/gm4 was a
(seemingly much) different version than those in /usr/bin, CCL was
able to rebuild with any one of the three (g)m4's. Only when I had
none of them available did I get the ld errors you reported. When both
/usr/bin/m4 and /usr/bin/gm4 were present, I believe CCL
preferentially ran m4. Perhaps your /opt/local/bin/gm4 was much older
than mine, thus giving the unknown CPU error that I didn't see with my
/opt/local/bin/gm4.

I don't know anything about the differences between m4 and gm4 or when
to prefer one over the other. The /usr/bin/(g)m4 files aren't
symlinks, but separate files with slightly different byte counts.

I'm glad you're all fixed up and running! Thanks for letting me know.

Jeff

On Mon, Jul 13, 2015 at 2:04 PM, Alexander Repenning
<alexander.repenning at colorado.edu> wrote:
> I was able to remove the “bad” version of GM4 and the build worked! Thanks
> Jeff!
>
> I am still not sure how this happened however. I have not been running
> MacPorts or Brew in about a million years. I did notice that after updating
> to Yosemite I was not able to run the command line version of SVN to update
> my CCL working copy. After the Yosemite update my version of SVN was 1.3.2
> (that is almost 10 years old). Just a half hour before the Yosemite install
> I WAS able to update the CCL working copy. It is as if during the Yosemite
> installation some unix path was messed up.
>
> Anyway, it works now.
>
> best,
>
>
> On Jul 11, 2015, at 1:27 PM, Jeff Caldwell <jcaldwell at clozure.com> wrote:
>
> I may well be mistaken. (I often am.)
>
> MacPorts and Homebrew are two different software package management
> systems for Darwin. E.g. "brew install <package-name>". They exist to
> make it easy to get software (often, command-line software) not
> included by Apple. On my system, MacPorts installed to /opt/local/.
> Your screenshot showed you running /opt/local/bin/gm4. The
> "/opt/local/" led me to think you may have MacPorts installed. On my
> system, I have:
>
> /opt/local/bin/gm4 --version
> m4 (GNU M4) 1.4.17
>
> and
>
> /usr/bin/m4 --version
>
> GNU M4 1.4.6
>
> It is /usr/bin/m4 that runs when I successfully build CCL. I do not
> have /opt/local/bin in my PATH, and so am effectively not using
> MacPorts.
>
> My thought was that an inadvertent use of an incompatible version of
> m4 (and possibly others) might cause the problems you are seeing.
> Assuming you have /usr/bin/m4, taking /opt/local/bin out of your PATH
> may make 'which m4' return /usr/bin/m4. Rebuilding then might work, or
> might show a different problem.
>
> https://www.macports.org/
>
> http://brew.sh/
>
> Jeff
>
>
> On Sat, Jul 11, 2015 at 10:12 AM, Alexander Repenning
> <alexander at agentsheets.com> wrote:
>
>
> On Jul 10, 2015, at 9:21 PM, Jeff Caldwell <jcaldwell at clozure.com> wrote:
>
> I notice you're invoking /opt/local/bin/gm4, which may have been
> installed via MacPorts. With command line tools installed, I'm
> guessing you have /usr/bin/m4. What happens if you take /opt/local/bin
> out of your PATH?
>
>
>
> I can try that but I am not even sure what MacPorts is, i.e., I believe I
> have just a default setup.
>
>
>
>
>
> On Fri, Jul 10, 2015 at 6:59 PM, Alexander Repenning
> <alexander.repenning at colorado.edu> wrote:
>
> I have not built CCL in some time. Probably some silly litte detail going
> wrong here. Anyway, my system:
>
> - OSX 10.10.4
> - Xcode Version 6.4 (6E35b), Command Line Tools enabled
> - version: publicsvn/openmcl/release/1.10/darwinx86/ccl
>
> Doing:
>
> $ ccl -n
> ? (ccl:rebuild-ccl :full t)
>
> The same thing DID work on a different machine with the same OS and Xcode
> version and CCL version.
>
> Any hint would be appreciated!
>
>
>
>
> Getting: ...
>
> ;Loading #P"/Users/alex/Desktop/ccltest/level-0/nfasload.dx64fsl"...
> ;Wrote bootstrapping image: #P"/Users/alex/Desktop/ccltest/x86-boot64.image"
> ;Building lisp-kernel ...
>
> Error: Error(s) during kernel compilation.
>      gm4 -DDARWIN -DX86 -DX8664 -DTCR_IN_GPR -I../ ../x86-spjump64.s |
> as -arch x86_64 -g -o x86-spjump64.o
>      gm4 -DDARWIN -DX86 -DX8664 -DTCR_IN_GPR -I../ ../x86-spentry64.s |
> as -arch x86_64 -g -o x86-spentry64.o
>      gm4 -DDARWIN -DX86 -DX8664 -DTCR_IN_GPR -I../ ../x86-subprims64.s |
> as -arch x86_64 -g -o x86-subprims64.o
>      gm4 -DDARWIN -DX86 -DX8664 -DTCR_IN_GPR -I../ ../imports.s | as
> -arch x86_64 -g -o imports.o
>      dtrace -h -s ../probes.d
>      /bin/sh: /opt/local/bin/gm4: Bad CPU type in executable
>      /bin/sh: /opt/local/bin/gm4: Bad CPU type in executable
>      gm4 -DDARWIN -DX86 -DX8664 -DTCR_IN_GPR -I../ ../x86-asmutils64.s |
> as -arch x86_64 -g -o x86-asmutils64.o
>      /bin/sh: /opt/local/bin/gm4: Bad CPU type in executable
>      /bin/sh: /opt/local/bin/gm4: Bad CPU type in executable
>      mig -arch x86_64 -header /dev/null -user /dev/null \
>      -sheader mach_exc.h -server mach_exc_server.c \
>       ../mach_exc.defs
>      mig -arch x86_64 -header /dev/null -user /dev/null \
>      -sheader mach_exc.h -server mach_exc_server.c \
>       ../mach_exc.defs
>      /bin/sh: /opt/local/bin/gm4: Bad CPU type in executable
>      cc -include ../platform-darwinx8664.h -c ../lispdcmd.c -arch x86_64
> -DDARWIN -DX86 -DX8664 -DTCR_IN_GPR -DSVN_REVISION="exported"
> -D_DARWIN_NO_64_BIT_INODE -DUSE_DTRACE \
>      -g -O -Wno-format  \
>       -I. -mmacosx-version-min=10.6 -isysroot / -o lispdcmd.o
>      cc -include ../platform-darwinx8664.h -c ../plprint.c -arch x86_64
> -DDARWIN -DX86 -DX8664 -DTCR_IN_GPR -DSVN_REVISION="exported"
> -D_DARWIN_NO_64_BIT_INODE -DUSE_DTRACE \
>      -g -O -Wno-format  \
>       -I. -mmacosx-version-min=10.6 -isysroot / -o plprint.o
>      cc -include ../platform-darwinx8664.h -c ../plsym.c -arch x86_64
> -DDARWIN -DX86 -DX8664 -DTCR_IN_GPR -DSVN_REVISION="exported"
> -D_DARWIN_NO_64_BIT_INODE -DUSE_DTRACE \
>      -g -O -Wno-format  \
>       -I. -mmacosx-version-min=10.6 -isysroot / -o plsym.o
>      cc -include ../platform-darwinx8664.h -c ../xlbt.c -arch x86_64
> -DDARWIN -DX86 -DX8664 -DTCR_IN_GPR -DSVN_REVISION="exported"
> -D_DARWIN_NO_64_BIT_INODE -DUSE_DTRACE \
>      -g -O -Wno-format  \
>       -I. -mmacosx-version-min=10.6 -isysroot / -o xlbt.o
>      cc -include ../platform-darwinx8664.h -c ../x86_print.c -arch
> x86_64 -DDARWIN -DX86 -DX8664 -DTCR_IN_GPR -DSVN_REVISION="exported"
> -D_DARWIN_NO_64_BIT_INODE -DUSE_DTRACE \
>      -g -O -Wno-format  \
>       -I. -mmacosx-version-min=10.6 -isysroot / -o x86_print.o
>      cc -include ../platform-darwinx8664.h -c ../pmcl-kernel.c -arch
> x86_64 -DDARWIN -DX86 -DX8664 -DTCR_IN_GPR -DSVN_REVISION="exported"
> -D_DARWIN_NO_64_BIT_INODE -DUSE_DTRACE \
>      -g -O -Wno-format  \
>       -I. -mmacosx-version-min=10.6 -isysroot / -o pmcl-kernel.o
>      cc -include ../platform-darwinx8664.h -c ../gc-common.c -arch
> x86_64 -DDARWIN -DX86 -DX8664 -DTCR_IN_GPR -DSVN_REVISION="exported"
> -D_DARWIN_NO_64_BIT_INODE -DUSE_DTRACE \
>      -g -O -Wno-format  \
>       -I. -mmacosx-version-min=10.6 -isysroot / -o gc-common.o
>      cc -include ../platform-darwinx8664.h -c ../x86-gc.c -arch x86_64
> -DDARWIN -DX86 -DX8664 -DTCR_IN_GPR -DSVN_REVISION="exported"
> -D_DARWIN_NO_64_BIT_INODE -DUSE_DTRACE \
>      -g -O -Wno-format  \
>       -I. -mmacosx-version-min=10.6 -isysroot / -o x86-gc.o
>      cc -include ../platform-darwinx8664.h -c ../bits.c -arch x86_64
> -DDARWIN -DX86 -DX8664 -DTCR_IN_GPR -DSVN_REVISION="exported"
> -D_DARWIN_NO_64_BIT_INODE -DUSE_DTRACE \
>      -g -O -Wno-format  \
>       -I. -mmacosx-version-min=10.6 -isysroot / -o bits.o
>      cc -include ../platform-darwinx8664.h -c ../x86-exceptions.c -arch
> x86_64 -DDARWIN -DX86 -DX8664 -DTCR_IN_GPR -DSVN_REVISION="exported"
> -D_DARWIN_NO_64_BIT_INODE -DUSE_DTRACE \
>      -g -O -Wno-format  \
>       -I. -mmacosx-version-min=10.6 -isysroot / -o x86-exceptions.o
>      cc -include ../platform-darwinx8664.h -c ../x86-utils.c -arch
> x86_64 -DDARWIN -DX86 -DX8664 -DTCR_IN_GPR -DSVN_REVISION="exported"
> -D_DARWIN_NO_64_BIT_INODE -DUSE_DTRACE \
>      -g -O -Wno-format  \
>       -I. -mmacosx-version-min=10.6 -isysroot / -o x86-utils.o
>      cc -include ../platform-darwinx8664.h -c ../thread_manager.c -arch
> x86_64 -DDARWIN -DX86 -DX8664 -DTCR_IN_GPR -DSVN_REVISION="exported"
> -D_DARWIN_NO_64_BIT_INODE -DUSE_DTRACE \
>      -g -O -Wno-format  \
>       -I. -mmacosx-version-min=10.6 -isysroot / -o thread_manager.o
>      ../x86-gc.c:245:19: warning: expression which evaluates to zero
> treated as a null pointer constant of type 'area *' (aka 'struct area *')
> [-Wnon-literal-null-conversion]
>                    a = AREA_VOID;
>                        ^~~~~~~~~
>      cc -include ../platform-darwinx8664.h -c ../lisp-debug.c -arch
> x86_64 -DDARWIN -DX86 -DX8664 -DTCR_IN_GPR -DSVN_REVISION="exported"
> -D_DARWIN_NO_64_BIT_INODE -DUSE_DTRACE \
>      -g -O -Wno-format  \
>       -I. -mmacosx-version-min=10.6 -isysroot / -o lisp-debug.o
>      cc -include ../platform-darwinx8664.h -c ../image.c -arch x86_64
> -DDARWIN -DX86 -DX8664 -DTCR_IN_GPR -DSVN_REVISION="exported"
> -D_DARWIN_NO_64_BIT_INODE -DUSE_DTRACE \
>      -g -O -Wno-format  \
>       -I. -mmacosx-version-min=10.6 -isysroot / -o image.o
>      cc -include ../platform-darwinx8664.h -c ../memory.c -arch x86_64
> -DDARWIN -DX86 -DX8664 -DTCR_IN_GPR -DSVN_REVISION="exported"
> -D_DARWIN_NO_64_BIT_INODE -DUSE_DTRACE \
>      -g -O -Wno-format  \
>       -I. -mmacosx-version-min=10.6 -isysroot / -o memory.o
>      cc -include ../platform-darwinx8664.h -c ../unix-calls.c -arch
> x86_64 -DDARWIN -DX86 -DX8664 -DTCR_IN_GPR -DSVN_REVISION="exported"
> -D_DARWIN_NO_64_BIT_INODE -DUSE_DTRACE \
>      -g -O -Wno-format  \
>       -I. -mmacosx-version-min=10.6 -isysroot / -o unix-calls.o
>      cc -include ../platform-darwinx8664.h -c ../mach-o-image.c -arch
> x86_64 -DDARWIN -DX86 -DX8664 -DTCR_IN_GPR -DSVN_REVISION="exported"
> -D_DARWIN_NO_64_BIT_INODE -DUSE_DTRACE \
>      -g -O -Wno-format  \
>       -I. -mmacosx-version-min=10.6 -isysroot / -o mach-o-image.o
>      cc -include ../platform-darwinx8664.h -c mach_exc_server.c -arch
> x86_64 -DDARWIN -DX86 -DX8664 -DTCR_IN_GPR -DSVN_REVISION="exported"
> -D_DARWIN_NO_64_BIT_INODE -DUSE_DTRACE \
>      -g -O -Wno-format  \
>       -I. -mmacosx-version-min=10.6 -isysroot / -o mach_exc_server.o
>      1 warning generated.
>      ld -macosx_version_min 10.6 -arch x86_64 -dynamic -o ../../dx86cl64
> -e start -pagezero_size 0x11000 -seg1addr 0x00011000 x86-spjump64.o
> x86-spentry64.o x86-subprims64.o  imports.o pmcl-kernel.o gc-common.o
> x86-gc.o bits.o  x86-exceptions.o x86-utils.o thread_manager.o lisp-debug.o
> image.o memory.o unix-calls.o mach-o-image.o x86-asmutils64.o
> mach_exc_server.o  lispdcmd.o plprint.o plsym.o xlbt.o x86_print.o -lcrt1.o
> -lSystem
>      Undefined symbols for architecture x86_64:
>        "_atomic_and", referenced from:
>            _signal_handler in x86-exceptions.o
>            _catch_mach_exception_raise_state in x86-exceptions.o
>        "_atomic_ior", referenced from:
>            _pc_luser_xp in x86-exceptions.o
>            _signal_handler in x86-exceptions.o
>            _get_tcr in thread_manager.o
>            _suspend_resume_handler in thread_manager.o
>            _lisp_thread_entry in thread_manager.o
>            _cooperative_thread_startup in thread_manager.o
>            _mach_suspend_tcr in thread_manager.o
>            ...
>        "_atomic_swap", referenced from:
>            _get_spin_lock in thread_manager.o
>            _lock_recursive_lock in thread_manager.o
>            _unlock_recursive_lock in thread_manager.o
>            _recursive_lock_trylock in thread_manager.o
>            _rwlock_rlock in thread_manager.o
>            _rwlock_wlock in thread_manager.o
>            _rwlock_try_wlock in thread_manager.o
>            ...
>        "_cpuid", referenced from:
>            _check_x86_cpu in pmcl-kernel.o
>        "_current_stack_pointer", referenced from:
>            _main in pmcl-kernel.o
>            _rmark in x86-gc.o
>            _arbstack_signal_handler in x86-exceptions.o
>            _arbstack_interrupt_handler in x86-exceptions.o
>            _arbstack_thread_kill_handler in x86-exceptions.o
>        "_darwin_sigreturn", referenced from:
>            _user_signal_handler in pmcl-kernel.o
>            _interrupt_handler in x86-exceptions.o
>            _suspend_resume_handler in thread_manager.o
>        "_egc_gvset", referenced from:
>            _pc_luser_xp in x86-exceptions.o
>        "_egc_rplaca", referenced from:
>            _pc_luser_xp in x86-exceptions.o
>        "_egc_rplacd", referenced from:
>            _pc_luser_xp in x86-exceptions.o
>        "_egc_set_hash_key", referenced from:
>            _pc_luser_xp in x86-exceptions.o
>        "_egc_set_hash_key_conditional", referenced from:
>            _pc_luser_xp in x86-exceptions.o
>        "_egc_set_hash_key_conditional_retry", referenced from:
>            _pc_luser_xp in x86-exceptions.o
>        "_egc_set_hash_key_conditional_success_test", referenced from:
>            _pc_luser_xp in x86-exceptions.o
>        "_egc_store_node_conditional", referenced from:
>            _pc_luser_xp in x86-exceptions.o
>        "_egc_store_node_conditional_retry", referenced from:
>            _pc_luser_xp in x86-exceptions.o
>        "_egc_store_node_conditional_success_end", referenced from:
>            _pc_luser_xp in x86-exceptions.o
>        "_egc_store_node_conditional_success_test", referenced from:
>            _pc_luser_xp in x86-exceptions.o
>        "_egc_write_barrier_end", referenced from:
>            _pc_luser_xp in x86-exceptions.o
>        "_egc_write_barrier_start", referenced from:
>            _pc_luser_xp in x86-exceptions.o
>        "_get_mxcsr", referenced from:
>            _check_bogus_fp_exceptions in pmcl-kernel.o
>            _main in pmcl-kernel.o
>            _lisp_allocation_failure in x86-exceptions.o
>            _callback_to_lisp in x86-exceptions.o
>            _callback_for_gc_notification in x86-exceptions.o
>            _allocate_list in x86-exceptions.o
>            _handle_alloc_trap in x86-exceptions.o
>            ...
>        "_import_ptrs_base", referenced from:
>            _main in pmcl-kernel.o
>        "_nvalret", referenced from:
>            _main in pmcl-kernel.o
>        "_popj", referenced from:
>            _main in pmcl-kernel.o
>        "_pseudo_sigreturn", referenced from:
>            _setup_signal_frame in x86-exceptions.o
>            _catch_mach_exception_raise_state in x86-exceptions.o
>           (maybe you meant: _do_pseudo_sigreturn)
>        "_ret1valn", referenced from:
>            _main in pmcl-kernel.o
>        "_set_mxcsr", referenced from:
>            _check_bogus_fp_exceptions in pmcl-kernel.o
>            _main in pmcl-kernel.o
>            _lisp_allocation_failure in x86-exceptions.o
>            _callback_to_lisp in x86-exceptions.o
>            _callback_for_gc_notification in x86-exceptions.o
>            _allocate_list in x86-exceptions.o
>            _handle_alloc_trap in x86-exceptions.o
>            ...
>        "_spentry_end", referenced from:
>            _create_exception_callback_frame in x86-exceptions.o
>        "_spentry_start", referenced from:
>            _create_exception_callback_frame in x86-exceptions.o
>        "_spjump_start", referenced from:
>            _remap_spjump in pmcl-kernel.o
>            _main in pmcl-kernel.o
>        "_start_lisp", referenced from:
>            _lazarus in pmcl-kernel.o
>            _main in pmcl-kernel.o
>            _lisp_thread_entry in thread_manager.o
>            _cooperative_thread_startup in thread_manager.o
>        "_store_conditional", referenced from:
>            _atomic_incf_by in thread_manager.o
>            _atomic_incf in thread_manager.o
>            _atomic_decf in thread_manager.o
>            _recursive_lock_trylock in thread_manager.o
>            _suspend_tcr in thread_manager.o
>            _lisp_suspend_tcr in thread_manager.o
>            _resume_tcr in thread_manager.o
>            ...
>        "_switch_to_foreign_stack", referenced from:
>            _handle_signal_on_foreign_stack in x86-exceptions.o
>            _arbstack_signal_handler in x86-exceptions.o
>            _arbstack_interrupt_handler in x86-exceptions.o
>            _arbstack_thread_kill_handler in x86-exceptions.o
>        "_zero_dnodes", referenced from:
>            _new_heap_segment in gc-common.o
>      ld: symbol(s) not found for architecture x86_64
>      make: *** [../../dx86cl64] Error 1
>      make: Target `all' not remade because of errors.
>
> While executing: REBUILD-CCL, in process listener(1).
> Type :POP to abort, :R for a list of available restarts.
> Type :? for other options.
>
> 1 >
>
>
>
> Prof. Alexander Repenning
>
> University of Colorado
> Computer Science Department
> Boulder, CO 80309-430
>
>
>
>
> _______________________________________________
> Openmcl-devel mailing list
> Openmcl-devel at clozure.com
> https://lists.clozure.com/mailman/listinfo/openmcl-devel
>
> _______________________________________________
> Openmcl-devel mailing list
> Openmcl-devel at clozure.com
> https://lists.clozure.com/mailman/listinfo/openmcl-devel
>
>
> Dr. Alexander Repenning, CTO
> AgentSheets Inc.
> 6560 Gunpark Drive
> Boulder CO 80301
>
> phone: (303) 530-1773
> vCard: http://www.agentsheets.com/AlexanderRepenning.vcf
>
>
>
>
> Prof. Alexander Repenning
>
> University of Colorado
> Computer Science Department
> Boulder, CO 80309-430
>
>
>



More information about the Openmcl-devel mailing list