URL: https://linuxfr.org/forums/linux-general/posts/probleme-pour-compiler-mysql-cluster-sur-arm Title: Problème pour compiler MySQL Cluster sur ARM Authors: EauFroide Date: 2017年06月09日T13:04:35+02:00 License: CC By-SA Tags: mysql-cluster et ubuntu Score: 2 Je pense que c'est mort ([erreur de programmation](https://archlinuxarm.org/forum/viewtopic.php?f=15&t=8454#p45288)) mais je soumet le problème au cas où quelque chose m'aurait échappé. Donc j'essaye de compiler MySQL Cluster sur ARM Ubuntu 16.04.02 mais il semble manquer des fonctions (rmb(), wmb() et mb()) La séquence de compilation avec l'erreur à la fin : ```shell root@MySQLClusterNode2:/home/USER/Download/mysql-cluster-gpl-7.5.6# make [ 0%] Built target abi_check [ 0%] Built target INFO_SRC [ 0%] Built target INFO_BIN [ 0%] Built target zlib [ 0%] Built target yassl [ 1%] Built target taocrypt [ 2%] Built target edit [ 3%] Built target strings [ 6%] Built target mysys [ 7%] Built target dbug [ 7%] Built target mysys_ssl [ 7%] Built target comp_err [ 7%] Built target GenError [ 7%] Built target partition [ 7%] Built target partition_embedded [ 9%] Built target myisam_embedded [ 9%] Built target myisam_ftdump [ 10%] Built target myisam [ 10%] Built target myisamchk [ 10%] Built target myisamlog [ 10%] Built target myisampack [ 10%] Built target archive_embedded [ 10%] Built target archive [ 11%] Built target mysqlservices [ 11%] Built target example [ 11%] Built target lz4_lib [ 16%] Built target innobase [ 20%] Built target innobase_embedded [ 24%] Built target perfschema [ 25%] Built target mytap [ 25%] Built target pfs_server_stubs [ 25%] Built target pfs_misc-t [ 25%] Built target pfs_instr-t [ 25%] Built target pfs_host-oom-t [ 25%] Built target pfs_instr-oom-t [ 25%] Built target pfs_instr_class-oom-t [ 25%] Built target gen_lex_hash [ 25%] Built target GenServerSource [ 25%] Built target blackhole [ 25%] Built target ndbportlib [ 25%] Built target ndbconf [ 25%] Built target ndbmgmapi [ 26%] Built target ndbmgmcommon [ 26%] Built target ndbtransport [ 29%] Built target ndbsignaldata [ 29%] Built target ndblogger [ 31%] Built target ndbgeneral [ 31%] Built target ndbtrace [ 32%] Built target ndbapi [ 32%] Built target ndbclient_static [ 33%] Built target ndbcluster [ 33%] Built target federated [ 33%] Built target csv [ 34%] Built target myisammrg [ 35%] Built target heap [ 35%] Built target ngram_parser [ 35%] Built target vio [ 35%] Built target regex [ 36%] Built target binlogevents_static [ 36%] Built target slave [ 36%] Built target master [ 36%] Built target binlog [ 36%] Built target comp_sql [ 36%] Built target GenSysSchema [ 36%] Built target gen_lex_token [ 36%] Built target GenDigestServerSource [ 36%] Built target GenBootstrapPriv [ 44%] Built target sql [ 45%] Built target rpl [ 45%] Built target pfs_connect_attr-t [ 45%] Built target pfs_instr_class-t [ 45%] Built target pfs_noop-t [ 45%] Built target pfs_account-oom-t [ 45%] Built target pfs_user-oom-t [ 45%] Built target pfs-t [ 45%] Built target csv_embedded [ 45%] Built target blackhole_embedded [ 46%] Built target heap_embedded [ 46%] Built target hp_test2 [ 46%] Built target hp_test1 [ 47%] Built target myisammrg_embedded [ 47%] Built target federated_embedded [ 48%] Built target ndbcluster_embedded [ 48%] Built target ndbclient_static_link_test [ 48%] Built target ndbjtie [ 48%] Built target ndbclient_so [ 48%] Built target ndbclient_shared_link_test [ 48%] Built target NdbGetInAddr-t [ 48%] Built target NdbDir-t [ 48%] Built target BaseString-t [ 48%] Built target SparseBitmask-t [ 48%] Built target ndb_version-t [ 48%] Built target HashMap2-t [ 48%] Built target Bitmask-t [ 48%] Built target mysql_utils_test-t [ 48%] Built target Parser-t [ 48%] Built target LinkedStack-t [ 48%] Built target NdbSqlUtil-t [ 48%] Built target NdbPack-t [ 48%] Built target mgmapi-t [ 49%] Built target ndbkernel [ 49%] Building CXX object storage/ndb/src/kernel/vm/CMakeFiles/ndbsched_mt.dir/mt.cpp.o /home/USER/Download/mysql-cluster-gpl-7.5.6/storage/ndb/src/kernel/vm/mt.cpp: In member function ‘bool thr_send_threads::data_available() const’: /home/USER/Download/mysql-cluster-gpl-7.5.6/storage/ndb/src/kernel/vm/mt.cpp:1497:9: error: ‘rmb’ was not declared in this scope rmb(); ^ /home/USER/Download/mysql-cluster-gpl-7.5.6/storage/ndb/src/kernel/vm/mt.cpp: In member function ‘void thr_send_threads::setNodeOverloadStatus(OverloadStatus)’: /home/USER/Download/mysql-cluster-gpl-7.5.6/storage/ndb/src/kernel/vm/mt.cpp:1640:8: error: ‘mb’ was not declared in this scope mb(); ^ /home/USER/Download/mysql-cluster-gpl-7.5.6/storage/ndb/src/kernel/vm/mt.cpp: In member function ‘void thr_send_threads::insert_node(NodeId)’: /home/USER/Download/mysql-cluster-gpl-7.5.6/storage/ndb/src/kernel/vm/mt.cpp:1753:7: error: ‘wmb’ was not declared in this scope wmb(); ^ /home/USER/Download/mysql-cluster-gpl-7.5.6/storage/ndb/src/kernel/vm/mt.cpp: In function ‘void flush_write_state_other(thr_data*, thr_job_queue_head*, thr_jb_write_state*, bool)’: /home/USER/Download/mysql-cluster-gpl-7.5.6/storage/ndb/src/kernel/vm/mt.cpp:3464:7: error: ‘wmb’ was not declared in this scope wmb(); ^ /home/USER/Download/mysql-cluster-gpl-7.5.6/storage/ndb/src/kernel/vm/mt.cpp: In function ‘void flush_write_state_other_wakeup(thr_data*, thr_job_queue_head*, thr_jb_write_state*)’: /home/USER/Download/mysql-cluster-gpl-7.5.6/storage/ndb/src/kernel/vm/mt.cpp:3525:7: error: ‘wmb’ was not declared in this scope wmb(); ^ /home/USER/Download/mysql-cluster-gpl-7.5.6/storage/ndb/src/kernel/vm/mt.cpp: In function ‘void flush_jbb_write_state(thr_data*)’: /home/USER/Download/mysql-cluster-gpl-7.5.6/storage/ndb/src/kernel/vm/mt.cpp:3557:7: error: ‘wmb’ was not declared in this scope wmb(); ^ /home/USER/Download/mysql-cluster-gpl-7.5.6/storage/ndb/src/kernel/vm/mt.cpp: In function ‘Uint32 link_thread_send_buffers(thr_repository::send_buffer*, Uint32)’: /home/USER/Download/mysql-cluster-gpl-7.5.6/storage/ndb/src/kernel/vm/mt.cpp:3929:13: error: ‘rmb’ was not declared in this scope rmb(); ^ /home/USER/Download/mysql-cluster-gpl-7.5.6/storage/ndb/src/kernel/vm/mt.cpp: In function ‘void flush_send_buffer(thr_data*, Uint32)’: /home/USER/Download/mysql-cluster-gpl-7.5.6/storage/ndb/src/kernel/vm/mt.cpp:4435:7: error: ‘wmb’ was not declared in this scope wmb(); ^ /home/USER/Download/mysql-cluster-gpl-7.5.6/storage/ndb/src/kernel/vm/mt.cpp: In member function ‘virtual bool mt_send_handle::forceSend(NodeId)’: /home/USER/Download/mysql-cluster-gpl-7.5.6/storage/ndb/src/kernel/vm/mt.cpp:4477:8: error: ‘mb’ was not declared in this scope mb(); ^ /home/USER/Download/mysql-cluster-gpl-7.5.6/storage/ndb/src/kernel/vm/mt.cpp: In function ‘void try_send(thr_data*, Uint32)’: /home/USER/Download/mysql-cluster-gpl-7.5.6/storage/ndb/src/kernel/vm/mt.cpp:4510:8: error: ‘mb’ was not declared in this scope mb(); ^ /home/USER/Download/mysql-cluster-gpl-7.5.6/storage/ndb/src/kernel/vm/mt.cpp: In function ‘bool do_send(thr_data*, bool, bool)’: /home/USER/Download/mysql-cluster-gpl-7.5.6/storage/ndb/src/kernel/vm/mt.cpp:4877:10: error: ‘mb’ was not declared in this scope mb(); ^ /home/USER/Download/mysql-cluster-gpl-7.5.6/storage/ndb/src/kernel/vm/mt.cpp: In function ‘bool insert_signal(thr_job_queue*, thr_job_queue_head*, thr_jb_write_state*, Uint32, const SignalHeader*, const Uint32*, const Uint32*, thr_job_buffer*)’: /home/USER/Download/mysql-cluster-gpl-7.5.6/storage/ndb/src/kernel/vm/mt.cpp:5085:9: error: ‘wmb’ was not declared in this scope wmb(); ^ /home/USER/Download/mysql-cluster-gpl-7.5.6/storage/ndb/src/kernel/vm/mt.cpp: In function ‘void read_jbb_state(thr_data*, Uint32)’: /home/USER/Download/mysql-cluster-gpl-7.5.6/storage/ndb/src/kernel/vm/mt.cpp:5135:30: error: ‘read_barrier_depends’ was not declared in this scope read_barrier_depends(); ^ /home/USER/Download/mysql-cluster-gpl-7.5.6/storage/ndb/src/kernel/vm/mt.cpp: In function ‘bool read_jba_state(thr_data*)’: /home/USER/Download/mysql-cluster-gpl-7.5.6/storage/ndb/src/kernel/vm/mt.cpp:5148:24: error: ‘read_barrier_depends’ was not declared in this scope read_barrier_depends(); ^ /home/USER/Download/mysql-cluster-gpl-7.5.6/storage/ndb/src/kernel/vm/mt.cpp: In function ‘Uint32 run_job_buffers(thr_data*, Signal*, Uint32&, Uint32&, bool&)’: /home/USER/Download/mysql-cluster-gpl-7.5.6/storage/ndb/src/kernel/vm/mt.cpp:5430:7: error: ‘rmb’ was not declared in this scope rmb(); ^ storage/ndb/src/kernel/vm/CMakeFiles/ndbsched_mt.dir/build.make:158: recipe for target 'storage/ndb/src/kernel/vm/CMakeFiles/ndbsched_mt.dir/mt.cpp.o' failed make[2]: *** [storage/ndb/src/kernel/vm/CMakeFiles/ndbsched_mt.dir/mt.cpp.o] Error 1 CMakeFiles/Makefile2:4749: recipe for target 'storage/ndb/src/kernel/vm/CMakeFiles/ndbsched_mt.dir/all' failed make[1]: *** [storage/ndb/src/kernel/vm/CMakeFiles/ndbsched_mt.dir/all] Error 2 Makefile:160: recipe for target 'all' failed make: *** [all] Error 2 ``` Ma procédure : ``` apt-get update apt-get install -y cmake libncurses5-dev libaio1 default-jre build-essential default-jdk git cd /home/user/Download wget https://dev.mysql.com/get/Downloads/MySQL-Cluster-7.5/mysql-cluster-gpl-7.5.6.tar.gz tar -xzf ./mysql-cluster-gpl-7.5.6.tar.gz cd mysql-cluster-gpl-7.5.6 cmake . -DCMAKE_INSTALL_PREFIX=/service/mysql -DMYSQL_DATADIR=/data/mysql -DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost -DSYSCONFDIR=/service/mysql -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DENABLE_DOWNLOADS=1 make make install ``` D'après google ce problème semble exister depuis 2015 (se qui est étonnant pour un logiciel (critique) entretenu par un gafam) J'essaye d'adapter la [solution trouvée ici](https://archlinuxarm.org/forum/viewtopic.php?f=15&t=8454&sid=9119f73a39112a3e10305cd07db6fd97&start=10) mais je n'ai pas le fichier qu'ils indiquent. Si vous avez des pistes, je suis preneur :) Merci d'avance.