I found the section of code the python NDK is complaining about: #ifndef LONG_BIT #define LONG_BIT (8 * SIZEOF_LONG) #endif
#if LONG_BIT != 8 * SIZEOF_LONG /* 04-Oct-2000 LONG_BIT is apparently (mis)defined as 64 on some recent * 32-bit platforms using gcc. We try to catch that here at compile-time * rather than waiting for integer multiplication to trigger bogus * overflows. */ #error "LONG_BIT definition appears wrong for platform (bad gcc/glibc config?)." #endif So it looks like maybe SIZEOF_LONG is what's really not properly defined. I then found this python mailing list post: https://mail.python.org/pipermail/python-bugs-list/2004-November/026111.html The first poster says that this will limit python to only using glibc systems, which makes total sense here given that Android uses bionic not glibc. What I don't understand is that bionic seems to define LONG_BIT, SIZEOF_LONG etc correctly: https://github.com/android/platform_bionic/blob/d717b1a3e55db9b7625a46bec950e856cc107951/libc/include/sys/limits.h So what's it complaining about? Devin On Thu, Aug 20, 2015 at 10:43 AM, Tom Rondeau <t...@trondeau.com> wrote: > On Mon, Aug 17, 2015 at 7:28 PM, Schuyler St. Leger < > schuyler.st.le...@gmail.com> wrote: > >> I am trying to build GNU Radio for Android and am having issues with the >> build process. >> >> I first tried building GNU Radio for Android on Mac OS X 10.10.4. I was >> able to follow the directions successfully until I had to build gr-grand. >> When I tried to build gr-grand I got this error (see error 1). I have tried >> searching for this error, but have not found any useful information from my >> search. I am not sure if this is an error with the build procedure, or if >> it is an error with the Android NDK and Python. >> > > > We'll have to spend some time looking into this. Most of use working on > the Android stuff are using Linux -- generally Ubuntu, either 14.04 or > 15.04 (I use both versions, depending on which machine I'm on). This could > be a conflict with the installed Python and the one in the SDK, or possibly > just a bug in the SDK. > > Although, now that I think about it, there's no reason to SWIG gr-grand. > You'll never use that in Python on Android; we only use the c++ library > out, and specifically the static libgnuradio-grand.a library. > > Maybe try adding the flag -DENABLE_PYTHON=False to the cmake line? > > > >> I then tried building GNU Radio for Android in a Ubuntu 14.04 64 bit VM, >> but when trying to stage Boost (./b2) I get this output from Boost (see >> error 2) and get an error about -march=armv7-m not being a supported >> compiler flag when Boost starts compiling. I have tried adding the >> toolset=gcc-android to Boost but this did not fix the problem (I had to >> do this on Mac to get Boost to use the configuration in the user-config.jam >> file). >> > > Are you sure you want armv7-m? Most of what we're using is armv7-a. But > you might just try "armv7" instead to use a more generic v7 architecture. > Take a look at the gcc man page for a list of supported machines. This > might be something you'll need to play around with. > > > >> I would like help getting this working, as I really want to get GNU Radio >> working on Android for me. >> >> Schuyler St. Leger >> >> Error 1: >> [ 80%] Building CXX object >> swig/CMakeFiles/_grand_swig.dir/grand_swigPYTHON_wrap.cxx.o >> In file included from >> /opt/android-toolchain/include/python2.7/Python.h:58:0, >> from >> /opt/grandroid/gr-grand/build/swig/grand_swigPYTHON_wrap.cxx:167: >> /opt/android-toolchain/include/python2.7/pyport.h:1029:2: error: #error >> "LONG_BIT definition appears wrong for platform (bad gcc/glibc config?)." >> #error "LONG_BIT definition appears wrong for platform (bad gcc/glibc >> config?)." >> ^ >> make[2]: *** >> [swig/CMakeFiles/_grand_swig.dir/grand_swigPYTHON_wrap.cxx.o] Error 1 >> make[1]: *** [swig/CMakeFiles/_grand_swig.dir/all] Error 2 >> make: *** [all] Error 2 >> >> Error 2: >> Performing configuration checks >> >> - 32-bit : no >> - 64-bit : no >> - arm : no >> - mips1 : no >> - power : no >> - sparc : no >> - x86 : no >> - combined : no >> - has_icu builds : no >> - lockfree boost::atomic_flag : no >> > > Yeah, when this is right, you should see 'yes' for 32-bit and arm. > > FYI, I should be getting a 64-bit ARM soon and will see what changes are > necessary there. > > And if any of this helps and you do get it working, we should try to > update the Android wiki page accordingly, either by fixing some of the > instructions or with some side notes for these problems. > > Tom > > > > _______________________________________________ > Discuss-gnuradio mailing list > Discuss-gnuradio@gnu.org > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio > >
_______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio