Greetings,
I have not done much in C for a couple of decades, so those bits have evaporated, but am taking a shot at getting squeak-vm(s) up on aarch64/arm64 Linux. The current Debian package runs in 64 bit mode on ARM and I have been able to build a working images from source on a Armbian/aarch64/Linux machine (LePotato/AML-S905X-CC). https://salsa.debian.org/pkg-sugar-team/squeak-vm with patches: https://salsa.debian.org/pkg-sugar-team/squeak-vm/tree/master/debian/patches This is a superannuated (2012?) squeak-vm-4.10.2.2614, but does run in 64 bit mode on ARM. So I have a proof of concept. Runs Cuis/Squeak fine (but slow). I "git cloned" oscogvm and added case aarch64:Linux:*:* to oscogvm/platforms/unix/config/config.guess But the C compiler (gcc) is getting confused by some x86 compile flags. I am running oscogvm/build.linux64x64/squeak.stack.spur/build/mvm [config.log attached]. The proximate cause is handing configure the flag "TARGET_ARCH=-m64", but it has been long enough that I have little idea where or how this script is processed. Can some kind soul help me get a bit further here? Thanks a bunch! -- -KenD _______________________________________________ VM-beginners mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners aarch64.config.log (9K) Download Attachment
-KenD
|
Hi Ken,
Nice to see you popping back up on the lists :-) I can't help much with this, but one note in line below. On Mon, Dec 03, 2018 at 06:24:13PM +0000, Ken.Dickey wrote: > Greetings, > > I have not done much in C for a couple of decades, so those bits have evaporated, but am taking a shot at getting squeak-vm(s) up on aarch64/arm64 Linux. > > The current Debian package runs in 64 bit mode on ARM and I have been able to build a working images from source on a Armbian/aarch64/Linux machine (LePotato/AML-S905X-CC). > > https://salsa.debian.org/pkg-sugar-team/squeak-vm > with patches: > https://salsa.debian.org/pkg-sugar-team/squeak-vm/tree/master/debian/patches > > This is a superannuated (2012?) squeak-vm-4.10.2.2614, but does run in 64 bit mode on ARM. So I have a proof of concept. Runs Cuis/Squeak fine (but slow). > Since you are able to compile this successfully, I would suggest one additional step. The Debian squeaka-vm package got to a pretty bad state (unfortunately), so you will have a much more up to date VM if you compile from the real squeakvm.org sources. Follow instructions at http://wiki.squeak.org/squeak/6354. This will give you a good VM for use up through Squeak 4.6, at which point the image format changes to Spur, and the oscog VMs are needed. > > I "git cloned" oscogvm and added case aarch64:Linux:*:* to > oscogvm/platforms/unix/config/config.guess > > But the C compiler (gcc) is getting confused by some x86 compile flags. > > I am running oscogvm/build.linux64x64/squeak.stack.spur/build/mvm > > [config.log attached]. > > The proximate cause is handing configure the flag "TARGET_ARCH=-m64", but it has been long enough that I have little idea where or how this script is processed. > > Can some kind soul help me get a bit further here? I don't know the answer to this, but hopefully someone else can offer a pointer. If you don't get a response, please re-post your question on the vm-dev list. This beginners list does not seem to be used very much, and I fear your question is being overlooked. Dave > > Thanks a bunch! > > -- > -KenD > This file contains any messages produced by compilers while > running configure, to aid debugging if configure makes a mistake. > > It was created by OpenSmalltalk VM configure devel, which was > generated by GNU Autoconf 2.69. Invocation command line was > > $ ../../../platforms/unix/config/configure --with-vmversion=5.0 --with-src=spurstack64src --disable-cogit --without-vm-display-fbdev --without-npsqueak TARGET_ARCH=-m64 CFLAGS=-g -O1 -fwrapv -DNDEBUG -DDEBUGVM=0 -msse2 > > ## --------- ## > ## Platform. ## > ## --------- ## > > hostname = spud > uname -m = aarch64 > uname -r = 4.14.70-meson64 > uname -s = Linux > uname -v = #269 SMP PREEMPT Wed Sep 19 11:21:29 CEST 2018 > > /usr/bin/uname -p = unknown > /bin/uname -X = unknown > > /bin/arch = unknown > /usr/bin/arch -k = unknown > /usr/convex/getsysinfo = unknown > /usr/bin/hostinfo = unknown > /bin/machine = unknown > /usr/bin/oslevel = unknown > /bin/universe = unknown > > PATH: /usr/local/bin > PATH: /usr/bin > PATH: /bin > PATH: /usr/local/games > PATH: /usr/games > > > ## ----------- ## > ## Core tests. ## > ## ----------- ## > > configure:2735: result: /home/kend/OpenSmalltalk/oscogvm/spurstack64src > configure:2737: result: /home/kend/OpenSmalltalk/oscogvm/src/plugins > configure:2765: checking sanity of generated src directory > configure:2794: result: okay > configure:2874: checking build system type > configure:2888: result: aarch64-unknown-linux-gnu > configure:2908: checking host system type > configure:2921: result: aarch64-unknown-linux-gnu > configure:2971: checking target system type > configure:2984: result: aarch64-unknown-linux-gnu > configure:3077: checking whether make sets $(MAKE) > configure:3099: result: yes > configure:3156: checking for gcc > configure:3172: found /usr/bin/gcc > configure:3183: result: gcc > configure:3412: checking for C compiler version > configure:3421: gcc --version >&5 > gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516 > Copyright (C) 2016 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:3432: $? = 0 > configure:3421: gcc -v >&5 > Using built-in specs. > COLLECT_GCC=gcc > COLLECT_LTO_WRAPPER=/usr/lib/gcc/aarch64-linux-gnu/6/lto-wrapper > Target: aarch64-linux-gnu > Configured with: ../src/configure -v --with-pkgversion='Debian 6.3.0-18+deb9u1' --with-bugurl=file:///usr/share/doc/gcc-6/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-6 --program-prefix=aarch64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libquadmath --enable-plugin --enable-default-pie --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-6-arm64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-6-arm64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-6-arm64 --with-arch-directory=aarch64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-multiarch --en > able-fix-cortex-a53-843419 --enable-checking=release --build=aarch64-linux-gnu --host=aarch64-linux-gnu --target=aarch64-linux-gnu > Thread model: posix > gcc version 6.3.0 20170516 (Debian 6.3.0-18+deb9u1) > configure:3432: $? = 0 > configure:3421: gcc -V >&5 > gcc: error: unrecognized command line option '-V' > gcc: fatal error: no input files > compilation terminated. > configure:3432: $? = 1 > configure:3421: gcc -qversion >&5 > gcc: error: unrecognized command line option '-qversion'; did you mean '--version'? > gcc: fatal error: no input files > compilation terminated. > configure:3432: $? = 1 > configure:3452: checking whether the C compiler works > configure:3474: gcc -g -O1 -fwrapv -DNDEBUG -DDEBUGVM=0 -msse2 -m64 -m64 conftest.c >&5 > gcc: error: unrecognized command line option '-msse2' > gcc: error: unrecognized command line option '-m64' > gcc: error: unrecognized command line option '-m64' > configure:3478: $? = 1 > configure:3516: result: no > configure: failed program was: > | /* confdefs.h */ > | #define PACKAGE_NAME "OpenSmalltalk VM" > | #define PACKAGE_TARNAME "opensmalltalk-vm" > | #define PACKAGE_VERSION "devel" > | #define PACKAGE_STRING "OpenSmalltalk VM devel" > | #define PACKAGE_BUGREPORT "[hidden email]" > | #define PACKAGE_URL "http://opensmalltalk.org/" > | #define SQ_VERSION ".-" > | #define OS_TYPE "unix" > | #define VM_HOST "aarch64-linux-gnu" > | #define VM_HOST_OS "linux-gnu" > | #define VM_HOST_VERNDOR "unknown" > | #define VM_HOST_CPU "aarch64" > | #define VM_TARGET "aarch64-linux-gnu" > | #define VM_TARGET_OS "linux-gnu" > | #define VM_TARGET_VENDOR "target_vendor" > | #define VM_TARGET_CPU "aarch64" > | /* end confdefs.h. */ > | > | int > | main () > | { > | > | ; > | return 0; > | } > configure:3521: error: in `/home/kend/OpenSmalltalk/oscogvm/build.linux64x64/squeak.stack.spur/build': > configure:3523: error: C compiler cannot create executables > See `config.log' for more details > > ## ---------------- ## > ## Cache variables. ## > ## ---------------- ## > > ac_cv_build=aarch64-unknown-linux-gnu > ac_cv_env_CC_set= > ac_cv_env_CC_value= > ac_cv_env_CFLAGS_set=set > ac_cv_env_CFLAGS_value='-g -O1 -fwrapv -DNDEBUG -DDEBUGVM=0 -msse2' > ac_cv_env_CPPFLAGS_set= > ac_cv_env_CPPFLAGS_value= > ac_cv_env_CPP_set= > ac_cv_env_CPP_value= > ac_cv_env_LDFLAGS_set= > ac_cv_env_LDFLAGS_value= > ac_cv_env_LIBS_set= > ac_cv_env_LIBS_value= > ac_cv_env_LT_SYS_LIBRARY_PATH_set= > ac_cv_env_LT_SYS_LIBRARY_PATH_value= > ac_cv_env_XMKMF_set= > ac_cv_env_XMKMF_value= > 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=aarch64-unknown-linux-gnu > ac_cv_prog_ac_ct_CC=gcc > ac_cv_prog_make_make_set=yes > ac_cv_target=aarch64-unknown-linux-gnu > > ## ----------------- ## > ## Output variables. ## > ## ----------------- ## > > ALLOCA='' > AR='' > ARM_ARCH='' > AS='' > AWK='' > BITBLT_FLAGS='' > BITBLT_OBJS='' > CC='gcc' > CFLAGS=' -g -O1 -fwrapv -DNDEBUG -DDEBUGVM=0 -msse2' > CPP='' > CPPFLAGS=' -m64' > DEFS='' > DLLTOOL='' > DSYMUTIL='' > DUMPBIN='' > ECHO_C='' > ECHO_N='-n' > ECHO_T='' > EGREP='' > EXEEXT='' > FGREP='' > GREP='' > HAVE_INTERP_H='' > HAVE_LANGINFO_CODESET='' > IA32ABI_OBJS='' > INCLUDES='' > INSTALL_DATA='' > INSTALL_PROGRAM='' > INSTALL_SCRIPT='' > INTERP='' > LD='' > LDFLAGS='-m64 ' > LIBM_CFLAGS='' > LIBOBJS='' > LIBS='' > LIBTOOL='' > LIPO='' > LN='' > LN_S='' > LTLIBOBJS='' > LT_SYS_LIBRARY_PATH='' > MANIFEST_TOOL='' > NM='' > NMEDIT='' > OBJDUMP='' > OBJEXT='' > OTOOL64='' > OTOOL='' > PACKAGE_BUGREPORT='[hidden email]' > PACKAGE_NAME='OpenSmalltalk VM' > PACKAGE_STRING='OpenSmalltalk VM devel' > PACKAGE_TARNAME='opensmalltalk-vm' > PACKAGE_URL='http://opensmalltalk.org/' > PACKAGE_VERSION='devel' > PATH_SEPARATOR=':' > PTHREAD_CC='' > PTHREAD_CFLAGS='' > PTHREAD_LIBS='' > 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='' > XMKMF='' > X_CFLAGS='' > X_CPPFLAGS='' > X_EXTRA_LIBS='' > X_INCLUDES='' > X_LIBS='' > X_PRE_LIBS='' > ac_ct_AR='' > ac_ct_CC='gcc' > ac_ct_DUMPBIN='' > ax_pthread_config='' > bindir='${exec_prefix}/bin' > blddir='/home/kend/OpenSmalltalk/oscogvm/build.linux64x64/squeak.stack.spur/build' > build='aarch64-unknown-linux-gnu' > build_alias='' > build_cpu='aarch64' > build_os='linux-gnu' > build_vendor='unknown' > cfgdir='/home/kend/OpenSmalltalk/oscogvm/platforms/unix/config' > cogit='no' > datadir='${datarootdir}' > datarootdir='${prefix}/share' > docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' > dvidir='${docdir}' > exec_prefix='${prefix}' > expanded_relative_imgdir='lib/squeak/' > ext_modules='' > ext_plugins='' > host='aarch64-linux-gnu' > host_alias='' > host_cpu='aarch64' > host_os='linux-gnu' > host_vendor='unknown' > htmldir='${docdir}' > imgdir='${prefix}/lib/squeak' > includedir='${prefix}/include' > infodir='${datarootdir}/info' > install_nps='' > int_modules='' > int_plugins='' > libdir='${exec_prefix}/lib' > libexecdir='${exec_prefix}/libexec' > localedir='${datarootdir}/locale' > localstatedir='${prefix}/var' > mandir='${datarootdir}/man' > npsqueak='' > oldincludedir='/usr/include' > pdfdir='${docdir}' > plgdir='${imgdir}/`${blddir}/getversion VERSION_TAG`' > prefix='/usr/local' > program_transform_name='s,x,x,' > psdir='${docdir}' > runstatedir='${localstatedir}/run' > sbindir='${exec_prefix}/sbin' > sharedstatedir='${prefix}/com' > sysconfdir='${prefix}/etc' > target='aarch64-linux-gnu' > target_alias='' > target_cpu='aarch64' > target_os='linux-gnu' > target_vendor='unknown' > topdir='/home/kend/OpenSmalltalk/oscogvm' > uninstall_nps='' > vmmcfg='/home/kend/OpenSmalltalk/oscogvm/build.linux64x64/squeak.stack.spur/build' > vmmdir='/home/kend/OpenSmalltalk/oscogvm/spurstack64src' > vmpdir='/home/kend/OpenSmalltalk/oscogvm/src/plugins' > > ## ------------------- ## > ## File substitutions. ## > ## ------------------- ## > > Makefile_deb='' > Makefile_dist='' > Makefile_install='' > Makefile_rpm='' > make_cfg='' > make_ext='' > make_int='' > make_prg='' > > ## ----------- ## > ## confdefs.h. ## > ## ----------- ## > > /* confdefs.h */ > #define PACKAGE_NAME "OpenSmalltalk VM" > #define PACKAGE_TARNAME "opensmalltalk-vm" > #define PACKAGE_VERSION "devel" > #define PACKAGE_STRING "OpenSmalltalk VM devel" > #define PACKAGE_BUGREPORT "[hidden email]" > #define PACKAGE_URL "http://opensmalltalk.org/" > #define SQ_VERSION ".-" > #define OS_TYPE "unix" > #define VM_HOST "aarch64-linux-gnu" > #define VM_HOST_OS "linux-gnu" > #define VM_HOST_VERNDOR "unknown" > #define VM_HOST_CPU "aarch64" > #define VM_TARGET "aarch64-linux-gnu" > #define VM_TARGET_OS "linux-gnu" > #define VM_TARGET_VENDOR "target_vendor" > #define VM_TARGET_CPU "aarch64" > > configure: exit 77 > _______________________________________________ > VM-beginners mailing list > [hidden email] > http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners _______________________________________________ VM-beginners mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners |
Free forum by Nabble | Edit this page |