maria-developers team mailing list archive
Mailing list archive
Re: crosscompiling in buildroot: cannot find -laio and other link error
-----BEGIN PGP SIGNED MESSAGE-----
On 14/10/15 20:27, Sylvain Raybaud wrote:
> On 02/10/2015 18:28, Sergei Golubchik wrote:
>> On Oct 02, Sylvain Raybaud wrote:
>>> 1. I disabled building xtradb. I also had to patch
>>> storage/xtradb/CMakeLists.txt (patch attached) otherwise
>>> XTRADB_OK=0 would abort the build even if the module is not
>> good point. it's a bug.
>>> 2. I patched storage/innobase/CMakeLists.txt (also attached)
>>> in order to use CHECK_C_SOURCE_COMPILES instead of
>>> CHECK_C_SOURCE_RUNS, which fails when cross compiling.
>> I'm not sure we can do that, some of those checks were
>> CHECK_C_SOURCE_COMPILES before and later changed to
>> CHECK_C_SOURCE_RUNS because compiling was not enough (in some
>> corner cases).
>> I think doing CHECK_C_SOURCE_COMPILES in cross-compiling case and
>> CHECK_C_SOURCE_RUNS otherwise could be a reasonable compromise.
>>> I'd be happy to have your opinion on these patches.
>>> However, I'm currently investigating whether or not the value
>>> of HAVE_IB_GCC_ATOMIC_BUILTINS could be guessed from that of
>> Please tell me whether it'll work (or add a comment directly to
> It seems BR2_ARCH_HAS_ATOMICS cannot be used, because for example
> on 32bits architectures some atomic operations may not be available
> even though BR2_ARCH_HAS_ATOMICS is set to true. Therefore your
> solution should be used.
> However I just realised that CHECK_C_SOURCE_RUNS should never be
> invoked by this script in buildroot because it's enclosed in
> IF(NOT CMAKE_CROSSCOMPILING) [...] ENDIF
> line #75).
> Is -DCMAKE_CROSSCOMPILING supposed to passed when invoking cmake or
> is it supposed to be determined automatically?
> (I'm also posting this on the bugtracker. Not sure what the good
> procedure is)
If I disable these tests by explicitely passing -DCMAKE_CROSSCOMPILING
then the build fails with:
In function ‘void srv_conc_enter_innodb_without_atomics(trx_t*)’:
error: ‘wsrep_thd_is_brute_force’ was not declared in this scope
I've not yet investigated this.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (GNU/Linux)
-----END PGP SIGNATURE-----