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@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 |
Hi, Regards, 02.04.2010 09:56 schrieb am "Thomas Holzmann" <[hidden email]>: |
Hi Stefan, Which version did you use exactly to compile it? Because I think there is a 1.5 r1 version and a 1.6 r1 version... I will try to get a Linux version of the correct one at the android-ndk google group. However, I think it would be good if you could upload the win version to the squeak-android-vm page (if there's no license problem). Regards, Thomas Stefan Krecher schrieb: > > > ------------------------------------------------------------------------ > > Hi, > had problems compiling with the r3 but did no further investigation. > Now i noticed that the r1 isn't available for download anymore, so the > "compiling with r3" becomes a high priority task - i'll start working > on it asap. > Until the problem is solved, i could offer to upload the r1 and make > it ailable for downloading (if the license allows that). Unfortunatly > i only have the Windows-Version of the NDK. > > Regards, > Stefan > -- Thomas Holzmann Student TU Graz / Informatik |
Hi, compiled it with 1.6 r1 Looking at your error message and at the code in the svn, i noticed that there was missing the veryfirst line in sqUnixSocket.c. I corrected that and with the current code in the svn everything compiled fine, even with the r3. Would be nice if you could checkout the current codebase, test it and send a note if it does compile. Thanks, Stefan 2010/4/2 Thomas Holzmann <[hidden email]>: > > Hi Stefan, > > Which version did you use exactly to compile it? Because I think there is a > 1.5 r1 version and a 1.6 r1 version... > I will try to get a Linux version of the correct one at the android-ndk > google group. However, I think it would be good if you could upload the win > version to the squeak-android-vm page (if there's no license problem). > > Regards, > Thomas > > Stefan Krecher schrieb: >> >> >> ------------------------------------------------------------------------ >> >> Hi, >> had problems compiling with the r3 but did no further investigation. Now i >> noticed that the r1 isn't available for download anymore, so the "compiling >> with r3" becomes a high priority task - i'll start working on it asap. >> Until the problem is solved, i could offer to upload the r1 and make it >> ailable for downloading (if the license allows that). Unfortunatly i only >> have the Windows-Version of the NDK. >> >> Regards, >> Stefan >> > > > -- > Thomas Holzmann > Student TU Graz / Informatik > > -- Dipl.-Wirtsch.-Inf. Stefan Krecher Neulander Str. 17, 27374 Visselhövede Tel +49(0)4262 958848 mobil +49(0)172 3608616 http://krecher.com |
addendum: it compiles with r3 but there's still a signal 11 (SIGSEGV), causing the vm to stop. going to compare r1 with r3 to see what changed exactly 2010/4/5 Stefan Krecher <[hidden email]>: > Hi, > compiled it with 1.6 r1 > > Looking at your error message and at the code in the svn, i noticed > that there was missing the veryfirst line in sqUnixSocket.c. > I corrected that and with the current code in the svn everything > compiled fine, even with the r3. > Would be nice if you could checkout the current codebase, test it and > send a note if it does compile. > > Thanks, > Stefan > > 2010/4/2 Thomas Holzmann <[hidden email]>: >> >> Hi Stefan, >> >> Which version did you use exactly to compile it? Because I think there is a >> 1.5 r1 version and a 1.6 r1 version... >> I will try to get a Linux version of the correct one at the android-ndk >> google group. However, I think it would be good if you could upload the win >> version to the squeak-android-vm page (if there's no license problem). >> >> Regards, >> Thomas >> >> Stefan Krecher schrieb: >>> >>> >>> ------------------------------------------------------------------------ >>> >>> Hi, >>> had problems compiling with the r3 but did no further investigation. Now i >>> noticed that the r1 isn't available for download anymore, so the "compiling >>> with r3" becomes a high priority task - i'll start working on it asap. >>> Until the problem is solved, i could offer to upload the r1 and make it >>> ailable for downloading (if the license allows that). Unfortunatly i only >>> have the Windows-Version of the NDK. >>> >>> Regards, >>> Stefan >>> >> >> >> -- >> Thomas Holzmann >> Student TU Graz / Informatik >> >> > > > > -- > Dipl.-Wirtsch.-Inf. Stefan Krecher > Neulander Str. 17, 27374 Visselhövede > Tel +49(0)4262 958848 > mobil +49(0)172 3608616 > http://krecher.com > -- Dipl.-Wirtsch.-Inf. Stefan Krecher Neulander Str. 17, 27374 Visselhövede Tel +49(0)4262 958848 mobil +49(0)172 3608616 http://krecher.com |
In reply to this post by Thomas Holzmann
sorry for posting so often on this topic - uploaded r1 (windows): http://squeak-android-vm.googlecode.com/files/android-ndk-1.6_r1-windows.zip as far as i understood the readme/ license, it is GNU v2 and ok to redistribute. 2010/4/2 Thomas Holzmann <[hidden email]>: > > Hi Stefan, > > Which version did you use exactly to compile it? Because I think there is a > 1.5 r1 version and a 1.6 r1 version... > I will try to get a Linux version of the correct one at the android-ndk > google group. However, I think it would be good if you could upload the win > version to the squeak-android-vm page (if there's no license problem). > > Regards, > Thomas > > Stefan Krecher schrieb: >> >> >> ------------------------------------------------------------------------ >> >> Hi, >> had problems compiling with the r3 but did no further investigation. Now i >> noticed that the r1 isn't available for download anymore, so the "compiling >> with r3" becomes a high priority task - i'll start working on it asap. >> Until the problem is solved, i could offer to upload the r1 and make it >> ailable for downloading (if the license allows that). Unfortunatly i only >> have the Windows-Version of the NDK. >> >> Regards, >> Stefan >> > > > -- > Thomas Holzmann > Student TU Graz / Informatik > > -- Dipl.-Wirtsch.-Inf. Stefan Krecher Neulander Str. 17, 27374 Visselhövede Tel +49(0)4262 958848 mobil +49(0)172 3608616 http://krecher.com |
In reply to this post by Stefan Krecher
Hi, finally found a (temporary) solution: r3 uses GCC 4.4.0 by default (see docs/CHANGES.TXT) but comes with a toolchain containing GCC 4.2.1. To force the usage of GCC 4.2.1 you have to export an environment variable like this: export NDK_TOOLCHAIN=arm-eabi-4.2.1 By using this elder version of GCC i did not encounter any SIGSEGV regards, Stefan 2010/4/5 Stefan Krecher <[hidden email]>: > addendum: > it compiles with r3 but there's still a signal 11 (SIGSEGV), causing > the vm to stop. > going to compare r1 with r3 to see what changed exactly > > 2010/4/5 Stefan Krecher <[hidden email]>: >> Hi, >> compiled it with 1.6 r1 >> >> Looking at your error message and at the code in the svn, i noticed >> that there was missing the veryfirst line in sqUnixSocket.c. >> I corrected that and with the current code in the svn everything >> compiled fine, even with the r3. >> Would be nice if you could checkout the current codebase, test it and >> send a note if it does compile. >> >> Thanks, >> Stefan >> >> 2010/4/2 Thomas Holzmann <[hidden email]>: >>> >>> Hi Stefan, >>> >>> Which version did you use exactly to compile it? Because I think there is a >>> 1.5 r1 version and a 1.6 r1 version... >>> I will try to get a Linux version of the correct one at the android-ndk >>> google group. However, I think it would be good if you could upload the win >>> version to the squeak-android-vm page (if there's no license problem). >>> >>> Regards, >>> Thomas >>> >>> Stefan Krecher schrieb: >>>> >>>> >>>> ------------------------------------------------------------------------ >>>> >>>> Hi, >>>> had problems compiling with the r3 but did no further investigation. Now i >>>> noticed that the r1 isn't available for download anymore, so the "compiling >>>> with r3" becomes a high priority task - i'll start working on it asap. >>>> Until the problem is solved, i could offer to upload the r1 and make it >>>> ailable for downloading (if the license allows that). Unfortunatly i only >>>> have the Windows-Version of the NDK. >>>> >>>> Regards, >>>> Stefan >>>> >>> >>> >>> -- >>> Thomas Holzmann >>> Student TU Graz / Informatik >>> >>> >> >> >> >> -- >> Dipl.-Wirtsch.-Inf. Stefan Krecher >> Neulander Str. 17, 27374 Visselhövede >> Tel +49(0)4262 958848 >> mobil +49(0)172 3608616 >> http://krecher.com >> > > > > -- > Dipl.-Wirtsch.-Inf. Stefan Krecher > Neulander Str. 17, 27374 Visselhövede > Tel +49(0)4262 958848 > mobil +49(0)172 3608616 > http://krecher.com > -- Dipl.-Wirtsch.-Inf. Stefan Krecher Neulander Str. 17, 27374 Visselhövede Tel +49(0)4262 958848 mobil +49(0)172 3608616 http://krecher.com |
Hi, Perfect! Now it works also for me. Thanks! Regards, Thomas Stefan Krecher schrieb: > > Hi, > finally found a (temporary) solution: > r3 uses GCC 4.4.0 by default (see docs/CHANGES.TXT) but comes with a > toolchain containing GCC 4.2.1. To force the usage of GCC 4.2.1 you > have to export an environment variable like this: > export NDK_TOOLCHAIN=arm-eabi-4.2.1 > By using this elder version of GCC i did not encounter any SIGSEGV > regards, > Stefan > > -- Thomas Holzmann Student TU Graz / Informatik |
Free forum by Nabble | Edit this page |