[Vm-dev] squeak-android-vm: compiling issues

Thomas Holzmann t.holzmann at student.TUGraz.at
Fri Apr 2 07:56:19 UTC 2010


Hello,

I'm currently trying to compile the squeak android vm using the NDK. I 
assume I've configured the NDK correctly because hello-jni compiles 
correctly.
However, when I try to compile squeakvm I get very much errors like this:


holzi at holzibook:~/android-ndk-r3$ make APP=squeakvm
Android NDK: Application hello-gl2 targets unknown platform 'android-7'   
Android NDK: Switching to android-5   
Android NDK: Application hello-jni targets unknown platform 'android-7'   
Android NDK: Switching to android-5   
Android NDK: Building for application 'squeakvm'   
Compile thumb  : squeakvm <= apps/squeakvm/project/jni/squeakvm.c
Compile thumb  : squeakvm <= apps/squeakvm/project/jni/interp.c
apps/squeakvm/project/jni/interp.c: In function 'dumpImage':
apps/squeakvm/project/jni/interp.c:4479: warning: passing argument 1 of 
'sqImageFileOpen' makes pointer from integer without a cast
apps/squeakvm/project/jni/sqPlatformSpecific.h:28: note: expected 'char 
*' but argument is of type 'sqInt'
apps/squeakvm/project/jni/interp.c: In function 
'readImageFromFileHeapSizeStartingAt':
apps/squeakvm/project/jni/interp.c:22475: warning: assignment makes 
integer from pointer without a cast
Compile thumb  : squeakvm <= apps/squeakvm/project/jni/sqNamedPrims.c
Compile thumb  : squeakvm <= apps/squeakvm/project/jni/sqVirtualMachine.c
Compile thumb  : squeakvm <= apps/squeakvm/project/jni/B2DPlugin.c
Compile thumb  : squeakvm <= apps/squeakvm/project/jni/BitBltPlugin.c
Compile thumb  : squeakvm <= apps/squeakvm/project/jni/FilePlugin.c
Compile thumb  : squeakvm <= apps/squeakvm/project/jni/ZipPlugin.c
Compile thumb  : squeakvm <= apps/squeakvm/project/jni/LargeIntegers.c
Compile thumb  : squeakvm <= apps/squeakvm/project/jni/MiscPrimitivePlugin.c
Compile thumb  : squeakvm <= apps/squeakvm/project/jni/SocketPlugin.c
Compile thumb  : squeakvm <= 
apps/squeakvm/project/jni/sqFilePluginBasicPrims.c
Compile thumb  : squeakvm <= apps/squeakvm/project/jni/sqExternalPrims.c
Compile thumb  : squeakvm <= apps/squeakvm/project/jni/aio.c
Compile thumb  : squeakvm <= apps/squeakvm/project/jni/sqUnixSocket.c
apps/squeakvm/project/jni/sqUnixSocket.c: In function 'Copyright':
apps/squeakvm/project/jni/sqUnixSocket.c:2: error: expected declaration 
specifiers before numeric constant
In file included from 
build/platforms/android-3/arch-arm/usr/include/sys/types.h:33,
                 from 
build/platforms/android-3/arch-arm/usr/include/math.h:21,
                 from apps/squeakvm/project/jni/sq.h:12,
                 from apps/squeakvm/project/jni/sqUnixSocket.c:44:
build/prebuilt/linux-x86/arm-eabi-4.4.0/bin/../lib/gcc/arm-eabi/4.4.0/include/stddef.h:211: 
error: storage class specified for parameter 'size_t'
In file included from 
build/platforms/android-3/arch-arm/usr/include/stdint.h:31,
                 from 
build/platforms/android-3/arch-arm/usr/include/sys/types.h:34,
                 from 
build/platforms/android-3/arch-arm/usr/include/math.h:21,
                 from apps/squeakvm/project/jni/sq.h:12,
                 from apps/squeakvm/project/jni/sqUnixSocket.c:44:
build/prebuilt/linux-x86/arm-eabi-4.4.0/bin/../lib/gcc/arm-eabi/4.4.0/include/stddef.h:323: 
error: storage class specified for parameter 'wchar_t'
In file included from 
build/platforms/android-3/arch-arm/usr/include/sys/_types.h:40,
                 from 
build/platforms/android-3/arch-arm/usr/include/stdint.h:32,
                 from 
build/platforms/android-3/arch-arm/usr/include/sys/types.h:34,
                 from 
build/platforms/android-3/arch-arm/usr/include/math.h:21,
                 from apps/squeakvm/project/jni/sq.h:12,
                 from apps/squeakvm/project/jni/sqUnixSocket.c:44:
build/platforms/android-3/arch-arm/usr/include/machine/_types.h:52: 
error: storage class specified for parameter '__int8_t'
build/platforms/android-3/arch-arm/usr/include/machine/_types.h:53: 
error: storage class specified for parameter '__uint8_t'
build/platforms/android-3/arch-arm/usr/include/machine/_types.h:54: 
error: storage class specified for parameter '__int16_t'
build/platforms/android-3/arch-arm/usr/include/machine/_types.h:55: 
error: storage class specified for parameter '__uint16_t'
build/platforms/android-3/arch-arm/usr/include/machine/_types.h:56: 
error: storage class specified for parameter '__int32_t'
build/platforms/android-3/arch-arm/usr/include/machine/_types.h:57: 
error: storage class specified for parameter '__uint32_t'
build/platforms/android-3/arch-arm/usr/include/machine/_types.h:59: 
error: storage class specified for parameter '__int64_t'
build/platforms/android-3/arch-arm/usr/include/machine/_types.h:61: 
error: storage class specified for parameter '__uint64_t'
build/platforms/android-3/arch-arm/usr/include/machine/_types.h:64: 
error: expected '=', ',', ';', 'asm' or '__attribute__' before 
'__int_least8_t'
build/platforms/android-3/arch-arm/usr/include/machine/_types.h:65: 
error: expected '=', ',', ';', 'asm' or '__attribute__' before 
'__uint_least8_t'
build/platforms/android-3/arch-arm/usr/include/machine/_types.h:66: 
error: expected '=', ',', ';', 'asm' or '__attribute__' before 
'__int_least16_t'
...


As you see I'm using NDK r3. But as stefan krecher wrote in the wiki, 
squeak will not work correctly with the NDK r3, but it should compile!?

So does someone know what could be the problem?

And could someone a link to a NDK version (for Linux) with which it 
works (I didn't find NDK r1...).

Thanks!

Thomas

-- 
Thomas Holzmann
Student TU Graz / Informatik



More information about the Vm-dev mailing list