[Vm-dev] Compiling squeak.cog.spur on Pi

David T. Lewis lewis at mail.msen.com
Fri Jun 24 01:49:06 UTC 2016


I have a new Raspberry Pi and want to compile the Cog Spur VM.

I fetched the latest from SVN (never mind GitHub for now, I'll do that soon):

  $ svn co http://squeakvm.org/svn/squeak/branches/Cog

Then I do a build:

  pi at raspberrypi:~/squeak/SVN-Cog/Cog/build.linux32ARM/squeak.cog.spur/build $ ./mvm
  clean? 
  /home/pi/squeak/SVN-Cog/Cog/spursrc
  /home/pi/squeak/SVN-Cog/Cog/src/plugins
  checking sanity of generated src directory... okay
  checking build system type... armv7l-unknown-linux-gnu
  checking host system type... armv7l-unknown-linux-gnu
  
  Configuring Squeak  (.-) for armv7l-linux-gnu
  
  checking whether make sets $(MAKE)... yes
  checking for gcc... gcc -march=armv6 -mfpu=vfp -mfloat-abi=hard
  checking for C compiler default output file name... configure: error: C compiler cannot create executables
  See `config.log' for more details.
  make: *** No rule to make target 'install-squeak'.  Stop.

Does anyone recognize this?

Googling for "compiler cannot create executables" provides lots of random
advice, but I don't see a file permissions problem and most of the rest
of the advice looks questionable.

The config.log has this (possibly unrelated):

  gcc: error: unrecognized command line option '-V'
  gcc: fatal error: no input files
  compilation terminated.

That looks like the same gcc version issue I had with building Spur on
my Ubuntu laptop. I had thought it might be easier to just buy a $35
Raspberry Pi rather than fix the autotools configure, but maybe not.

Are other people seeing these issues, or is it just me?

Compiling and running an interpreter VM on the same Raspberry Pi works
fine, so I am assuming this is either an autotools issue or something
related to gcc version for the cog/spur build.

I am attaching the config.log from the ./mvm session in case it helps.

Raspberry Pi OS version information:

  pi at raspberrypi:~/squeak/SVN-Cog/Cog/build.linux32ARM/squeak.cog.spur/build $ cat /proc/version
  Linux version 4.1.19-v7+ (dc4 at dc4-XPS13-9333) (gcc version 4.9.3 (crosstool-NG crosstool-ng-1.22.0-88-g8460611) ) #858 SMP Tue Mar 15 15:56:00 GMT 2016

Thanks,
Dave

-------------- next part --------------
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by configure, which was
generated by GNU Autoconf 2.59.  Invocation command line was

  $ ../../../platforms/unix/config/configure --without-npsqueak --without-vm-display-fbdev --with-vmversion=5.0 --with-src=spursrc --without-vm-display-fbdev --without-npsqueak --enable-fast-bitblt CC=gcc -march=armv6 -mfpu=vfp -mfloat-abi=hard CXX=g++ CFLAGS=-g -O2 -fwrapv -DNDEBUG -DDEBUGVM=0 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DI_REALLY_DONT_CARE_HOW_UNSAFE_THIS_IS -DUSE_MIDI_ALSA -DCOGMTVM=0 LIBS=-lpthread -luuid -lasound LDFLAGS=-Wl,-z,now

## --------- ##
## Platform. ##
## --------- ##

hostname = raspberrypi
uname -m = armv7l
uname -r = 4.1.19-v7+
uname -s = Linux
uname -v = #858 SMP Tue Mar 15 15:56:00 GMT 2016

/usr/bin/uname -p = unknown
/bin/uname -X     = unknown

/bin/arch              = unknown
/usr/bin/arch -k       = unknown
/usr/convex/getsysinfo = unknown
hostinfo               = unknown
/bin/machine           = unknown
/usr/bin/oslevel       = unknown
/bin/universe          = unknown

PATH: /usr/local/sbin
PATH: /usr/local/bin
PATH: /usr/sbin
PATH: /usr/bin
PATH: /sbin
PATH: /bin
PATH: /usr/local/games
PATH: /usr/games


## ----------- ##
## Core tests. ##
## ----------- ##

configure:1590: result: /home/pi/squeak/SVN-Cog/Cog/spursrc
configure:1592: result: /home/pi/squeak/SVN-Cog/Cog/src/plugins
configure:1627: checking sanity of generated src directory
configure:1656: result: okay
configure:1734: checking build system type
configure:1752: result: armv7l-unknown-linux-gnu
configure:1760: checking host system type
configure:1774: result: armv7l-unknown-linux-gnu
configure:1831: checking whether make sets $(MAKE)
configure:1851: result: yes
configure:1906: checking for gcc
configure:1932: result: gcc -march=armv6 -mfpu=vfp -mfloat-abi=hard
configure:2176: checking for C compiler version
configure:2179: gcc -march=armv6 -mfpu=vfp -mfloat-abi=hard --version </dev/null >&5
gcc (Raspbian 4.9.2-10) 4.9.2
Copyright (C) 2014 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

configure:2182: $? = 0
configure:2184: gcc -march=armv6 -mfpu=vfp -mfloat-abi=hard -v </dev/null >&5
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabihf/4.9/lto-wrapper
Target: arm-linux-gnueabihf
Configured with: ../src/configure -v --with-pkgversion='Raspbian 4.9.2-10' --with-bugurl=file:///usr/share/doc/gcc-4.9/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.9 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.9 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-libitm --disable-libquadmath --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.9-armhf/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.9-armhf --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.9-armhf --with-arch-directory=arm --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-sjlj-exceptions --with-arch=armv6 --with-fpu=vfp --with-float=hard --enable-checking=release --build=arm-linux-gnueabihf --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf
Thread model: posix
gcc version 4.9.2 (Raspbian 4.9.2-10) 
configure:2187: $? = 0
configure:2189: gcc -march=armv6 -mfpu=vfp -mfloat-abi=hard -V </dev/null >&5
gcc: error: unrecognized command line option '-V'
gcc: fatal error: no input files
compilation terminated.
configure:2192: $? = 4
configure:2215: checking for C compiler default output file name
configure:2218: gcc -march=armv6 -mfpu=vfp -mfloat-abi=hard -g -O2 -fwrapv -DNDEBUG -DDEBUGVM=0 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DI_REALLY_DONT_CARE_HOW_UNSAFE_THIS_IS -DUSE_MIDI_ALSA -DCOGMTVM=0  -Wl,-z,now conftest.c -lpthread -luuid -lasound >&5
/usr/bin/ld: cannot find -lasound
collect2: error: ld returned 1 exit status
configure:2221: $? = 1
configure: failed program was:
| /* confdefs.h.  */
| 
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define SQ_VERSION ".-"
| #define OS_TYPE "unix"
| #define VM_HOST "armv7l-linux-gnu"
| #define VM_HOST_OS "linux-gnu"
| #define VM_HOST_CPU "armv7l"
| /* end confdefs.h.  */
| 
| int
| main ()
| {
| 
|   ;
|   return 0;
| }
configure:2260: error: C compiler cannot create executables
See `config.log' for more details.

## ---------------- ##
## Cache variables. ##
## ---------------- ##

ac_cv_build=armv7l-unknown-linux-gnu
ac_cv_build_alias=armv7l-unknown-linux-gnu
ac_cv_env_CC_set=set
ac_cv_env_CC_value='gcc -march=armv6 -mfpu=vfp -mfloat-abi=hard'
ac_cv_env_CFLAGS_set=set
ac_cv_env_CFLAGS_value='-g -O2 -fwrapv -DNDEBUG -DDEBUGVM=0 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DI_REALLY_DONT_CARE_HOW_UNSAFE_THIS_IS -DUSE_MIDI_ALSA -DCOGMTVM=0'
ac_cv_env_CPPFLAGS_set=
ac_cv_env_CPPFLAGS_value=
ac_cv_env_CPP_set=
ac_cv_env_CPP_value=
ac_cv_env_CXXCPP_set=
ac_cv_env_CXXCPP_value=
ac_cv_env_CXXFLAGS_set=
ac_cv_env_CXXFLAGS_value=
ac_cv_env_CXX_set=set
ac_cv_env_CXX_value=g++
ac_cv_env_F77_set=
ac_cv_env_F77_value=
ac_cv_env_FFLAGS_set=
ac_cv_env_FFLAGS_value=
ac_cv_env_LDFLAGS_set=set
ac_cv_env_LDFLAGS_value=-Wl,-z,now
ac_cv_env_build_alias_set=
ac_cv_env_build_alias_value=
ac_cv_env_host_alias_set=
ac_cv_env_host_alias_value=
ac_cv_env_target_alias_set=
ac_cv_env_target_alias_value=
ac_cv_host=armv7l-unknown-linux-gnu
ac_cv_host_alias=armv7l-unknown-linux-gnu
ac_cv_prog_ac_ct_CC='gcc -march=armv6 -mfpu=vfp -mfloat-abi=hard'
ac_cv_prog_make_make_set=yes

## ----------------- ##
## Output variables. ##
## ----------------- ##

ALLOCA=''
AR=''
ARM_ARCH=''
AS=''
AWK=''
BITBLT_FLAGS=''
BITBLT_OBJS=''
CC='gcc -march=armv6 -mfpu=vfp -mfloat-abi=hard'
CFLAGS='-g -O2 -fwrapv -DNDEBUG -DDEBUGVM=0 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DI_REALLY_DONT_CARE_HOW_UNSAFE_THIS_IS -DUSE_MIDI_ALSA -DCOGMTVM=0'
CPP=''
CPPFLAGS=''
CXX='g++'
CXXCPP=''
CXXFLAGS=''
DEFS=''
ECHO='echo'
ECHO_C=''
ECHO_N='-n'
ECHO_T=''
EGREP=''
EXEEXT=''
F77=''
FFLAGS=''
HAVE_INTERP_H=''
HAVE_LANGINFO_CODESET=''
HAVE_NANOSLEEP=''
IA32ABI_OBJS=''
INCLUDES=''
INSTALL_DATA=''
INSTALL_PROGRAM=''
INSTALL_SCRIPT=''
INTERP=''
LD=''
LDFLAGS='-Wl,-z,now'
LIBM_CFLAGS=''
LIBOBJS=''
LIBS='-lpthread -luuid -lasound'
LIBTOOL=''
LIB_UUID=''
LN=''
LN_S=''
LTLIBOBJS=''
NM=''
OBJEXT=''
PACKAGE_BUGREPORT=''
PACKAGE_NAME=''
PACKAGE_STRING=''
PACKAGE_TARNAME=''
PACKAGE_VERSION=''
PATH_SEPARATOR=':'
RANLIB=''
SED=''
SET_MAKE=''
SHELL='/bin/bash'
SQ_LIBDIR=''
SQ_MAJOR=''
SQ_MINOR=''
SQ_UPDATE=''
SQ_VERSION='.-'
STRIP=''
VM_APP_ICONS=''
VM_DISPX11_BITBLT_FLAGS=''
VM_DISPX11_OBJS=''
WFLAGS=''
X_CFLAGS=''
X_CPPFLAGS=''
X_EXTRA_LIBS=''
X_INCLUDES=''
X_LIBS=''
X_PRE_LIBS=''
ac_ct_AR=''
ac_ct_CC='gcc -march=armv6 -mfpu=vfp -mfloat-abi=hard'
ac_ct_CXX=''
ac_ct_F77=''
ac_ct_RANLIB=''
ac_ct_STRIP=''
bindir='${exec_prefix}/bin'
blddir='/home/pi/squeak/SVN-Cog/Cog/build.linux32ARM/squeak.cog.spur/build'
build='armv7l-unknown-linux-gnu'
build_alias=''
build_cpu='armv7l'
build_os='linux-gnu'
build_vendor='unknown'
cfgdir='/home/pi/squeak/SVN-Cog/Cog/platforms/unix/config'
cogit='yes'
datadir='${prefix}/share'
exec_prefix='${prefix}'
expanded_relative_imgdir='lib/squeak/'
ext_modules=''
ext_plugins=''
host='armv7l-linux-gnu'
host_alias=''
host_cpu='armv7l'
host_os='linux-gnu'
host_vendor='unknown'
imgdir='${prefix}/lib/squeak'
includedir='${prefix}/include'
infodir='${prefix}/info'
install_nps=''
int_modules=''
int_plugins=''
libdir='${exec_prefix}/lib'
libexecdir='${exec_prefix}/libexec'
localstatedir='${prefix}/var'
mandir='${prefix}/man'
npsqueak=''
oldincludedir='/usr/include'
plgdir='${imgdir}/`${blddir}/getversion VERSION_TAG`'
prefix='/usr/local'
program_transform_name='s,x,x,'
sbindir='${exec_prefix}/sbin'
sharedstatedir='${prefix}/com'
sysconfdir='${prefix}/etc'
target_alias=''
topdir='/home/pi/squeak/SVN-Cog/Cog'
uninstall_nps=''
vmmcfg='/home/pi/squeak/SVN-Cog/Cog/build.linux32ARM/squeak.cog.spur/build'
vmmdir='/home/pi/squeak/SVN-Cog/Cog/spursrc'
vmpdir='/home/pi/squeak/SVN-Cog/Cog/src/plugins'

## ------------- ##
## Output files. ##
## ------------- ##

Makefile_deb=''
Makefile_dist=''
Makefile_install=''
Makefile_rpm=''
make_cfg=''
make_ext=''
make_int=''
make_prg=''

## ----------- ##
## confdefs.h. ##
## ----------- ##

#define OS_TYPE "unix"
#define PACKAGE_BUGREPORT ""
#define PACKAGE_NAME ""
#define PACKAGE_STRING ""
#define PACKAGE_TARNAME ""
#define PACKAGE_VERSION ""
#define SQ_VERSION ".-"
#define VM_HOST "armv7l-linux-gnu"
#define VM_HOST_CPU "armv7l"
#define VM_HOST_OS "linux-gnu"

configure: exit 77


More information about the Vm-dev mailing list