[Vm-dev] Re: Cog Rump Xen unikernel (spur mmap)

Ben Coman btc at openinworld.com
Thu Dec 24 21:08:05 UTC 2015


okay, that helps to know.
cheers -ben

On Fri, Dec 25, 2015 at 6:21 AM, Eliot Miranda <eliot.miranda at gmail.com> wrote:
>
> 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