[Buildroot] [Bug 6956] Packaging libsoxr

bugzilla at busybox.net bugzilla at busybox.net
Mon Mar 17 15:45:45 UTC 2014


https://bugs.busybox.net/show_bug.cgi?id=6956

--- Comment #3 from Thomas De Schampheleire <patrickdepinguin+buildroot at gmail.com> 2014-03-17 15:45:44 UTC ---
The libsoxr package tries to determine the endianness by running a program,
which is not possible because we're cross compiling. However, this fact is
detected, and the suggestion is to 'tell' libsoxr the right result:

CMake Error: TRY_RUN() invoked in cross-compiling mode, please set the
following cache variables appropriately:
   HAVE_WORDS_BIGENDIAN_EXITCODE (advanced)


So this means you have to pass this variable to the compilation of libsoxr.
The variable HAVE_WORDS_BIGENDIAN_EXITCODE is created based on the
test_big_endian macro, present in ./cmake/Modules/TestBigEndian.cmake.
This file has a note: "1 if system is big endian"

So essentially, you should add something like this in the libsoxr.mk file:

ifeq ($(BR2_ENDIAN),"BIG")
LIBSOXR_CONF_OPT += -DHAVE_WORDS_BIGENDIAN_EXITCODE=1
else
LIBSOXR_CONF_OPT += -DHAVE_WORDS_BIGENDIAN_EXITCODE=0
endif

I'm unsure about the exact way to pass this flag to the build, either with
FOO_CONF_OPT or FOO_CONF_ENV, so you may want to try both.

-- 
Configure bugmail: https://bugs.busybox.net/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


More information about the buildroot mailing list