Dear Sergei, After spent a lot of time on try-and-error method, I find out a solution. This issue happened because it conflicts to berkeleyDB db.h and db_cxx.h include files, so you just remove these two files before cross compiling mariaDB. It's work but this is not my solution.
Because my mariaDB include path is set to sysroot/include and sysroot/usr/include, and my berkeleyDB installed path is also set to "sysroot/usr" (sysroot/usr/include, sysroot/usr/lib/, ..), I just correct my berkeleyDB installed path from "sysroot/usr" to "sysroot/usr/local". It can solve data structure conflict issue between berkeleyDB and mariaDB, like DB_TXN ... Best Regards, Johnson -----Original Message----- From: Sergei Golubchik [mailto:[email protected]] Sent: Thursday, September 03, 2015 9:00 PM To: Johnson Cheng Cc: [email protected] Subject: Re: [Maria-discuss] Cross compile issue Hi, Johnson! On Sep 03, Johnson Cheng wrote: > Dear Sergei, > > Thanks for your reply. > I am not sure what it happened because it is disappeared when I > re-cross-compile mariaDB at another new environment. > Actually I am dig out a problem about DB_TXN error message as below, > [ 80%] Building CXX object > storage/tokudb/CMakeFiles/tokudb.dir/ha_tokudb.cc.o > In file included from > /home/johnson/SanSoft/model/Phoenix_130313-0901/Package/maria/mariadb-10.0.21/storage/tokudb/ha_tokudb.cc:122:0: > > /home/johnson/SanSoft/model/Phoenix_130313-0901/Package/maria/mariadb-10.0.21/storage/tokudb/hatoku_defines.h: > In function int txn_begin(DB_ENV*, DB_TXN*, DB_TXN**, uint32_t, THD*): > > /home/johnson/SanSoft/model/Phoenix_130313-0901/Package/maria/mariadb-10.0.21/storage/tokudb/hatoku_defines.h:407:19: > error: DB_TXN has no member named ‘set_client_id > this_txn->set_client_id(this_txn, thd_get_thread_id(thd)); > ^ > Fortunately, I find out the root cause because I have installed BerkeleyDB at > first. > It seems mariaDB and BerkeleyDB can't co-exist. Yes, TokuDB uses uses data types with the same name. But they can coexist (they do on my laptop), so that must be something related to cross compilation again, may be cmake gets include paths incorrectly... > Now I can cross compile mariaDB every time, and I am doing the final fine > tune. Congrats! Regards, Sergei _______________________________________________ Mailing list: https://launchpad.net/~maria-discuss Post to : [email protected] Unsubscribe : https://launchpad.net/~maria-discuss More help : https://help.launchpad.net/ListHelp

