Closed GoogleCodeExporter closed 8 years ago
This is the Stack Overflow copied
I am using Win7 and Cygwin
I get the source code by cloning using "GIT for Windows". Placing it into:
C:\temp\ECLIPSE\workspace\SA1
I download the following:
http://download.osgeo.org/geos/geos-3.2.2.tar.bz2
ftp://ftp.remotesensing.org/proj/proj-4.7.0.tar.gz
I place these in: C:\temp\ECLIPSE\workspace\SA1\spatialite-android-library\jni
I then start Cygwin and do the following:
$ cd c:/temp/eclipse/workspace/sa1/spatialite-android-library/jni
$ tar xvjf geos-3.2.2.tar.bz2
$ cd geos-3.2.2
$ ./configure --build=x86_64-pc-linux-gnu --host=arm-linux-eabi
Outside of Cygwin, I open in an editor:
C:\temp\ECLIPSE\workspace\SA1\spatialite-android-library\jni\geos-3.2.2\source\h
eaders\geos\platform.h and make couple of changes so it resembles below
/* Set to 1 if you have `int64_t' type */
/* #undef HAVE_INT64_T_64 */
/* Set to 1 if `long int' is 64 bits */
/* #undef HAVE_LONG_INT_64 */
/* Set to 1 if `long long int' is 64 bits */
/* #undef HAVE_LONG_LONG_INT_64 */
/* Set to 1 if you have ieeefp.h */
/* #undef HAVE_IEEEFP_H */
/* Has finite */
#define HAVE_FINITE 1
/* Has isfinite */
/* #undef HAVE_ISFINITE */
/* Has isnan */
#define HAVE_ISNAN 1
Save and close
I then go back to Cygwin and do the following:
$ cd ..
$ tar xvzf proj-4.7.0.tar.gz
$ cd proj-4.7.0
$ ./configure --build=x86_64-pc-linux-gnu --host=arm-linux-eabi
$ cd ..
$ /cygdrive/c/android-ndk-r8/ndk-build
Along with the Compile++ lines the following compiles
StaticLibrary : libiconv.a
StaticLibrary : libproj.a
However while it's going through geos it comes up with the following error:
Compile++ thumb : geos <= TaggedLineSegment.cpp
Compile++ thumb : geos <= TaggedLinesSimplifier.cpp
Compile++ thumb : geos <= TaggedLineString.cpp
Compile++ thumb : geos <= TaggedLineStringSimplifier.cpp
Compile++ thumb : geos <= TopologyPreservingSimplifier.cpp
Compile++ thumb : geos <= Assert.cpp
Compile++ thumb : geos <= GeometricShapeFactory.cpp
Compile++ thumb : geos <= math.cpp
Compile++ thumb : geos <= Profiler.cpp
Prebuilt : libgnustl_static.a <=
<NDK>/sources/cxx-stl/gnu-libstdc++/libs/armeabi/
StaticLibrary : libgeos.a
make: execvp:
/cygdrive/c/android-ndk-r8/toolchains/arm-linux-androideabi-4.4.3/prebuilt/windo
ws/bin/arm-linux-androideabi-ar: Argument list too long
make: ***
[/cygdrive/c/temp/eclipse/workspace/sa1/spatialite-android-library/obj/local/arm
eabi/libgeos.a] Error 127
HFisher@Toshiba500
/cygdrive/c/temp/eclipse/workspace/sa1/spatialite-android-library/jni
$
Can someone help with how I can fix this? Any help greatly appreciated!
Original comment by asse...@gmail.com
on 25 Jun 2012 at 7:41
Original comment by efroh...@gmail.com
on 25 Jun 2012 at 5:42
This appears to be an issue with the NDK. This error occurs when the argument
list provided is too long. Usually this can be fixed using a options file.
See @<file> parameter for arm-linux-androideabi-ar.
Searching the internet it appears this issue has bee reported to Google. The
only workaround I can offer is to use a Ubuntu VM to compile the native code.
Original comment by efroh...@gmail.com
on 25 Jun 2012 at 6:05
Hi Eric,
if the binaries are available that would be fantastic.
Also just noticed that diligent...@gmail.com managed to complete the compile in
Issue 3, would he have found the same error as above? Just wondering what he
could have done differently?
Much Regards
Original comment by asse...@gmail.com
on 26 Jun 2012 at 9:50
Have you tried adding the following to the make files?
LOCAL_SHORT_COMMANDS := true
Original comment by efroh...@gmail.com
on 30 Jul 2012 at 2:06
Original issue reported on code.google.com by
asse...@gmail.com
on 25 Jun 2012 at 7:39