PDA

View Full Version : Problems compiling for



SdkUser00
08-07-2011, 05:44 PM
Hi,

So the past few days I've been messing around with the SDK (really cool by the way, thank you for all this Seth!). I've compiled and ran the bare-bones and simple-app just fine. Now I want to get it up and running on my android.

I've been following the steps laid out in the Android How-to (http://www.rtsoft.com/wiki/doku.php?id=proton:android_setup), and I've successfully navigated most of the problems I was having (btw, you should add details on where to get cygwin from and how to install it.... I don't think it's explicitly stated that you need to install it).

I feel like I am right at the finish line, but am running into one last issue. The GNU compiler isn't happy about something (sorry, I am not that familiar with GNU-make files), here's the output:


D:\mobile_src\proton_sdk\RTBareBones\android>build

D:\mobile_src\proton_sdk\RTBareBones\android>call app_info_setup.bat

D:\mobile_src\proton_sdk\RTBareBones\android>set APP_NAME=RTBareBones

D:\mobile_src\proton_sdk\RTBareBones\android>set SMALL_PACKAGE_NAME=rtbarebones


D:\mobile_src\proton_sdk\RTBareBones\android>set PACKAGE_NAME=com.rtsoft.rtbareb
ones

D:\mobile_src\proton_sdk\RTBareBones\android>set PATH_TO_PROJECT_DIR_FROM_CYGWIN
=/cygdrive/d/mobile_src/proton_sdk/rtbarebones

D:\mobile_src\proton_sdk\RTBareBones\android>set EMULATOR_AVD=@AVD_22

D:\mobile_src\proton_sdk\RTBareBones\android>set ANDROID_DEVICE1=HT019P803554

D:\mobile_src\proton_sdk\RTBareBones\android>set ANDROID_DEVICE2=HT848GZ55018

D:\mobile_src\proton_sdk\RTBareBones\android>set ANDROID_EMU=emulator-5554

D:\mobile_src\proton_sdk\RTBareBones\android>start emulator @AVD_22

D:\mobile_src\proton_sdk\RTBareBones\android>"D:\sysutil_bin\cygwin\bin\bash" --
login -i -c '/cygdrive/d/mobile_src/proton_sdk/rtbarebones/android/build.sh'
Android NDK: NDK installation path auto-detected: '/cygdrive/d/mobile_src/androi
d-ndk'
Android NDK: GNU Make version 3.81 detected
Android NDK: Host OS was auto-detected: windows
Android NDK: Host CPU was auto-detected: x86
Android NDK: HOST_TAG set to windows
Android NDK: Host awk tool was auto-detected: awk
Android NDK: Host awk test returned: Pass
Android NDK: Probing for 'cygpath' program
Android NDK: 'cygpath' found as: /usr/bin/cygpath
Using cygwin substitution rules:
/cygdrive/f => F:
/cygdrive/d => D:
/cygdrive/c => C:
/cygdrive/F => F:
/cygdrive/D => D:
/cygdrive/C => C:
/usr/lib => D:/sysutil_bin/cygwin/lib
/usr/bin => D:/sysutil_bin/cygwin/bin
/ => D:/sysutil_bin/cygwin
Android NDK: This NDK supports the following toolchains and target ABIs:
Android NDK: arm-linux-androideabi-4.4.3: armeabi armeabi-v7a
Android NDK: x86-4.4.3: x86
Android NDK: Found platform root directory: /cygdrive/d/mobile_src/android-ndk/p
latforms
Android NDK: Found supported platforms: android-3 android-4 android-5 android-8
android-9
Android NDK: PLATFORM android-3 supports: arm x86
Android NDK: ABI arm sysroot is: /cygdrive/d/mobile_src/android-ndk/platforms/
android-3/arch-arm
Android NDK: ABI x86 sysroot is: /cygdrive/d/mobile_src/android-ndk/platforms/
android-3/arch-x86
Android NDK: PLATFORM android-4 supports: arm x86
Android NDK: ABI arm sysroot is: /cygdrive/d/mobile_src/android-ndk/platforms/
android-4/arch-arm
Android NDK: ABI x86 sysroot is: /cygdrive/d/mobile_src/android-ndk/platforms/
android-4/arch-x86
Android NDK: PLATFORM android-5 supports: arm x86
Android NDK: ABI arm sysroot is: /cygdrive/d/mobile_src/android-ndk/platforms/
android-5/arch-arm
Android NDK: ABI x86 sysroot is: /cygdrive/d/mobile_src/android-ndk/platforms/
android-5/arch-x86
Android NDK: PLATFORM android-8 supports: arm x86
Android NDK: ABI arm sysroot is: /cygdrive/d/mobile_src/android-ndk/platforms/
android-8/arch-arm
Android NDK: ABI x86 sysroot is: /cygdrive/d/mobile_src/android-ndk/platforms/
android-8/arch-x86
Android NDK: PLATFORM android-9 supports: arm x86
Android NDK: ABI arm sysroot is: /cygdrive/d/mobile_src/android-ndk/platforms/
android-9/arch-arm
Android NDK: ABI x86 sysroot is: /cygdrive/d/mobile_src/android-ndk/platforms/
android-9/arch-x86
Android NDK: Found stable platform levels: 3 4 5 8 9
Android NDK: Found max platform level: 9
Android NDK: Looking for AndroidManifest.xml in /cygdrive/d/mobile_src/proton_sd
k/rtbarebones/android
Android NDK: Found it !
Android NDK: Found project path: /cygdrive/d/mobile_src/proton_sdk/rtbarebones/a
ndroid
Android NDK: Parsing /cygdrive/d/mobile_src/proton_sdk/rtbarebones/android/jni/A
pplication.mk
Android NDK: Found APP_PLATFORM=android-8 in /cygdrive/d/mobile_src/proton_sdk
/rtbarebones/android/default.properties
Android NDK: Defaulted to APP_BUILD_SCRIPT=/cygdrive/d/mobile_src/proton_sdk/r
tbarebones/android/jni/Android.mk
Android NDK: Application 'local' is not debuggable
Android NDK: Selecting optimization mode through Application.mk: release
Android NDK: Adding import directory: /cygdrive/d/mobile_src/android-ndk/sources

Android NDK: Building application 'local' for ABI 'armeabi'
Android NDK: Using target toolchain 'arm-linux-androideabi-4.4.3' for 'armeabi'
ABI
Android NDK: Looking for imported module with tag 'cxx-stl/gnu-libstdc++'
Android NDK: Probing /cygdrive/d/mobile_src/android-ndk/sources/cxx-stl/gnu-li
bstdc++/Android.mk
Android NDK: Found in /cygdrive/d/mobile_src/android-ndk/sources/cxx-stl/gnu
-libstdc++
Android NDK: Module 'rtbarebones' has C++ sources
SharedLibrary : librtbarebones.so
D:/mobile_src/android-ndk/toolchains/arm-linux-androideabi-4.4.3/prebuilt/window
s/bin/../lib/gcc/arm-linux-androideabi/4.4.3/../../../../arm-linux-androideabi/b
in/ld.exe: D:/mobile_src/proton_sdk/rtbarebones/android/obj/local/armeabi/libstd
c++.a: No such file: Permission denied
collect2: ld returned 1 exit status
make: *** [/cygdrive/d/mobile_src/proton_sdk/rtbarebones/android/obj/local/armea
bi/librtbarebones.so] Error 1

D:\mobile_src\proton_sdk\RTBareBones\android>if not exist libs/armeabi/librtbare
bones.so ..\..\shared\win\utils\beeper.exe /p
Beeper by Seth A. Robinson - run beeper.exe /? for help

Playing ERROR BEEP SOUND!
Press a <ENTER> to continue:


Most of that mess is probably not needed, but I figure it's better to have as much info as possible. It's erroring out on "No such file: Permission denied", is it "libstdc++.a" that it's complaining about? Because I can confirm that that file does exist where it thinks it is. Maybe it is "ld.exe" that it can't find, but I can confirm it's there as well. Or maybe the "SharedLibrary", librtbarebones.so (this one isn't around... I assumed this was creating it here)? If I'm not mistaken, the make is failing when linking for librtbarebones.so?

Hopefully someone can help me out. Thanks guys!

Seth
08-07-2011, 11:00 PM
btw, you should add details on where to get cygwin from and how to install it...

Thanks, I've updated the page to add the Cygwin install stuff, oops!


It's erroring out on "No such file: Permission denied", is it "libstdc++.a" that it's complaining about?

Hmm, so D:/mobile_src/proton_sdk/rtbarebones/android/obj/local/armeabi/libstd
c++.a exists? I would try to delete it, double check that there are no weird file permission set on it. This seems very familiar to me, I think this happened to me too.. :confused:

SdkUser00
08-09-2011, 06:07 AM
I took your advice, deleted all the intermediate files, and then recompiled it. It suddenly worked to my surprise! I've investigated a bit, and think I figured out what the issue was...

I originally had the project located within my Windows user directory. Then when it came time to post it to this forum I grabbed it and moved it up under the drive's root. There, I didn't delete the intermediates, and gave the compile one more whirl (there must have been some lingering files with some wacky permissions).

If I move the project files back into my user directory, I run into problems again. It seems that it's not happy living within my user directory.

Anyone know if there is anyway to get this to work down within my user directory (mainly because I am anal like that and want all my software projects together in one place)?

Seth
08-09-2011, 12:45 PM
Hmm, I'm not aware of any directory restrictions... although, it may be related to having spaces in the filename? If so, you could try it with the 8.3 version of the dir. (dir /x from the cmd prompt will show them)

SdkUser00
08-10-2011, 04:52 AM
I was thinking that there maybe some kind of permission issues with user directories in Windows.

There are no spaces in the path (I made sure of this), and the path where it does work contains non-8.3 directory names.