[Vm-dev] Re: Cog Rump Xen unikernel (spur mmap)
Eliot Miranda
eliot.miranda at gmail.com
Thu Dec 24 19:21:46 UTC 2015
Hi Ben,
I can't help much at the moment but I have found that the oscog tree's autoconfig only works if made on certain versions. It works in CentOS 5.3 32-bit but not in CentOS 6.5 (the only two I've tried). So you might want to try generating the configure script on something ancient.
_,,,^..^,,,_ (phone)
> On Dec 24, 2015, at 2:14 PM, Ben Coman <btc at openinworld.com> wrote:
>
>
>> On Thu, Dec 17, 2015 at 7:13 AM, Eliot Miranda <eliot.miranda at gmail.com> wrote:
>> If I were you I would create a new platform, xen, under platforms, being a sibling of platforms/unix. I would implement the relevant support for Xen there-in.
>
> As I understand it, making a new platform requires I need to modify
> configure.ac, and subsequently run autoconf.
> So I tried using autoconf before making any changes.
> The following works before running autoconf...
>
> mkdir oscogvm ; cd oscogvm
> svn co http://www.squeakvm.org/svn/squeak/branches/Cog/platforms
> svn co http://www.squeakvm.org/svn/squeak/branches/Cog/build.linux32x86
> svn co http://www.squeakvm.org/svn/squeak/branches/Cog/src
> svn co http://www.squeakvm.org/svn/squeak/branches/Cog/spursrc
> cd .. ; cp -r oscogvm oscogvm.orig
> cd oscogvm/build.linux32x86/squeak.cog.spur/build.debug
> ./mvm
>
> But after autoconf...
>
> cd oscogvm/platforms/unix/config
> autoconf
> cd oscogvm/build.linux32x86/squeak.cog.spur/build.debug
> ./mvm
>
> it fails like this...
> gcc -m32 -g3 -O0 -fwrapv -DDEBUGVM=1 -msse2 -D_GNU_SOURCE
> -D_FILE_OFFSET_BITS=64 -DCOGMTVM=0 -DLSB_FIRST=1 -DHAVE_CONFIG_H
> -DSQUEAK_BUILTIN_PLUGIN
> -I/home/ben/Repos/minimal-oscog/build.linux32x86/squeak.cog.spur/build.debug
> -I/home/ben/Repos/minimal-oscog/build.linux32x86/squeak.cog.spur/build.debug
> -I/home/ben/Repos/minimal-oscog/platforms/unix/vm
> -I/home/ben/Repos/minimal-oscog/platforms/Cross/vm
> -I/home/ben/Repos/minimal-oscog/spursrc/vm
> -I/home/ben/Repos/minimal-oscog/platforms/Cross/vm
> -I/home/ben/Repos/minimal-oscog/platforms/unix/vm
> -I/home/ben/Repos/minimal-oscog/spursrc/vm
> -I/home/ben/Repos/minimal-oscog/platforms/Cross/plugins/FilePlugin
> -I/home/ben/Repos/minimal-oscog/platforms/unix/plugins/B3DAcceleratorPlugin
> @X_INCLUDES@ -c -o gcc3x-cointerp.o
> /home/ben/Repos/minimal-oscog/spursrc/vm/gcc3x-cointerp.c
> gcc: error: @X_INCLUDES@: No such file or directory
> Makefile:229: recipe for target 'gcc3x-cointerp.o' failed
> make[1]: *** [gcc3x-cointerp.o] Error 1
> Makefile:405: recipe for target 'vm/vm.a' failed
> make: *** [vm/vm.a] Error 2
>
>
> In oscogvm/build.linux32x86/squeak.cog.spur/build.debug/Makefile I find...
> -------
> SOFLAGS= @SOFLAGS@
> BITBLT_OBJS= @BITBLT_OBJS@
> IA32ABI_OBJS= @IA32ABI_OBJS@
> VM_DISPX11_OBJS=@VM_DISPX11_OBJS@
> BITBLT_FLAGS= @BITBLT_FLAGS@
> VM_DISPX11_BITBLT_FLAGS= @VM_DISPX11_BITBLT_FLAGS@
> ARM_ARCH= @ARM_ARCH@
> LIBM_CFLAGS= @LIBM_CFLAGS@
>
> X_CFLAGS= @X_CFLAGS@
> X_INCLUDES= @X_INCLUDES@
> X_LIBS= @X_LIBS@
>
> LIB_UUID= @LIB_UUID@
>
> FFI_DIR= @FFI_DIR@
> FFI_C= @FFI_C@
> FFI_S= @FFI_S@
> FFI_O= @FFI_O@
>
> PYLIBPATH= @PYLIBPATH@
> PYINCLUDES= @PYINCLUDES@
>
>
>
> I've learnt [1] this seems related to autoconf AC_SUBST().
> and maybe the substitution is not being done. Using...
> find oscogvm -name .svn -prune -o -type f -exec grep -H $SEARCH {}
> \; | grep SUBST
>
> platforms/unix/plugins/BitBltPlugin/acinclude.m4:
> AC_SUBST(BITBLT_OBJS, $bitblt_objs)
> platforms/unix/plugins/IA32ABI/acinclude.m4:
> AC_SUBST(IA32ABI_OBJS, $ia32abi_objs)
> platforms/unix/vm-display-X11/acinclude.m4:
> AC_SUBST(VM_DISPX11_OBJS, $vm_dispx11_objs)
> platforms/unix/plugins/BitBltPlugin/acinclude.m4:
> AC_SUBST(BITBLT_FLAGS, $bitblt_flags)
> platforms/unix/vm-display-X11/acinclude.m4:
> AC_SUBST(VM_DISPX11_BITBLT_FLAGS, $vm_dispx11_bitblt_flags)
> platforms/unix/plugins/BitBltPlugin/acinclude.m4:
> AC_SUBST(ARM_ARCH, $arm_arch)
> platforms/unix/plugins/FloatMathPlugin/acinclude.m4:
> AC_SUBST(LIBM_CFLAGS, $libm_cflags)
> platforms/unix/vm-display-X11/acinclude.m4:
> AC_SUBST(X_CFLAGS)
> platforms/unix/vm-display-X11/acinclude.m4:
> AC_SUBST(X_INCLUDES)
> platforms/unix/vm-display-X11/acinclude.m4:
> AC_SUBST(X_LIBS)
> platforms/unix/plugins/UUIDPlugin/acinclude.m4:
> AC_SUBST(LIB_UUID)
>
> FFI_DIR nothing found
> FFI_C nothing found
> FFI_S nothing found
> FFI_O nothing found
> PYLIBPATH nothing found
> PYINCLUDES nothing found
>
>
>
> Am I doing something obviously wrong running autoconf?
> Anyone got any tips on how to approach tracking this down?
> Anyway, this is making me wary of putting effort into *learning* and
> troubleshooting autoconf when the path forward seems
> CMakeVMMakerSqueak. btw, where can I find that?
>
> cheers -ben
More information about the Vm-dev
mailing list