squeak-android-vm: compiling issues

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

squeak-android-vm: compiling issues

Thomas Holzmann
 
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

Reply | Threaded
Open this post in threaded view
|

Re: squeak-android-vm: compiling issues

Stefan Krecher-2
 

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

02.04.2010 09:56 schrieb am "Thomas Holzmann" <[hidden email]>:


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

Reply | Threaded
Open this post in threaded view
|

Re: squeak-android-vm: compiling issues

Thomas Holzmann
 
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

Reply | Threaded
Open this post in threaded view
|

Re: squeak-android-vm: compiling issues

Stefan Krecher

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
Reply | Threaded
Open this post in threaded view
|

Re: squeak-android-vm: compiling issues

Stefan Krecher

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
Reply | Threaded
Open this post in threaded view
|

Re: squeak-android-vm: compiling issues

Stefan Krecher
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
Reply | Threaded
Open this post in threaded view
|

Re: squeak-android-vm: compiling issues

Stefan Krecher
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
Reply | Threaded
Open this post in threaded view
|

Re: squeak-android-vm: compiling issues

Thomas Holzmann
 

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