Snapchat / KeyDB

A Multithreaded Fork of Redis
https://keydb.dev
BSD 3-Clause "New" or "Revised" License
11.34k stars 572 forks source link

Cross compilation build fails #756

Open CJM88888 opened 10 months ago

CJM88888 commented 10 months ago

Hello boss, this is the message that I failed to build arm using ubuntu cross-compile. I don’t know how to solve it?

root@cjm-VirtualBox:/usr/local/KeyDB# export CC=/usr/bin/arm-linux-gnueabi-gcc && export CXX=/usr/bin/arm-linux-gnueabi-g++ root@cjm-VirtualBox:/usr/local/KeyDB# cd src root@cjm-VirtualBox:/usr/local/KeyDB/src# make CC Makefile.dep rm -rf keydb-server keydb-sentinel keydb-cli keydb-benchmark keydb-check-rdb keydb-check-aof keydb-diagnostic-tool .o .gcda .gcno .gcov KeyDB.info lcov-html Makefile.dep rm -rf storage/*.o rm -rf keydb-server rm -f adlist.d quicklist.d ae.d anet.d dict.d server.d sds.d zmalloc.d lzf_c.d lzf_d.d pqsort.d zipmap.d sha1.d ziplist.d release.d networking.d util.d object.d db.d replication.d rdb.d t_string.d t_list.d t_set.d t_zset.d t_hash.d t_nhash.d config.d aof.d pubsub.d multi.d debug.d sort.d intset.d syncio.d cluster.d crc16.d endianconv.d slowlog.d scripting.d bio.d rio.d rand.d memtest.d crcspeed.d crc64.d bitops.d sentinel.d notify.d setproctitle.d blocked.d hyperloglog.d latency.d sparkline.d redis-check-rdb.d redis-check-aof.d geo.d lazyfree.d module.d evict.d expire.d geohash.d geohash_helper.d childinfo.d defrag.d siphash.d rax.d t_stream.d listpack.d localtime.d acl.d storage.d rdb-s3.d fastlock.d new.d tracking.d cron.d connection.d tls.d sha256.d motd_server.d timeout.d setcpuaffinity.d AsyncWorkQueue.d snapshot.d storage/teststorageprovider.d keydbutils.d StorageCache.d monotonic.d cli_common.d mt19937-64.d meminfo.d fastlock_x64.d SnapshotPayloadParseState.d anet.d adlist.d dict.d redis-cli.d redis-cli-cpphelper.d zmalloc.d release.d anet.d ae.d crcspeed.d crc64.d siphash.d crc16.d storage-lite.d fastlock.d motd_client.d monotonic.d cli_common.d mt19937-64.d fastlock_x64.d ae.d anet.d redis-benchmark.d adlist.d dict.d zmalloc.d release.d crcspeed.d crc64.d siphash.d redis-benchmark.d storage-lite.d fastlock.d new.d monotonic.d cli_common.d mt19937-64.d fastlock_x64.d (cd ../deps && make distclean) make[1]: 进入目录“/usr/local/KeyDB/deps” (cd hiredis && make clean) > /dev/null || true (cd linenoise && make clean) > /dev/null || true (cd lua && make clean) > /dev/null || true (cd jemalloc && [ -f Makefile ] && make distclean) > /dev/null || true (cd rocksdb && make clean) > /dev/null || true make[2]: 没有规则可制作目标“clean”。 停止。 (cd hdr_histogram && make clean) > /dev/null || true (rm -f .make-) make[1]: 离开目录“/usr/local/KeyDB/deps” (cd modules && make clean) make[1]: 进入目录“/usr/local/KeyDB/src/modules” rm -rf .xo .so make -C keydb_modstatsd clean make[2]: 进入目录“/usr/local/KeyDB/src/modules/keydb_modstatsd” rm -f modmain.o modstatsd.so make[2]: 离开目录“/usr/local/KeyDB/src/modules/keydb_modstatsd” make[1]: 离开目录“/usr/local/KeyDB/src/modules” (cd ../tests/modules && make clean) make[1]: 进入目录“/usr/local/KeyDB/tests/modules” rm -f commandfilter.so basics.so testrdb.so fork.so infotest.so propagate.so misc.so hooks.so blockonkeys.so blockonbackground.so scan.so datatype.so auth.so keyspace_events.so blockedclient.so timers.so getkeys.so test_lazyfree.so timer.so defragtest.so hash.so zset.so stream.so load.so commandfilter.xo basics.xo testrdb.xo fork.xo infotest.xo propagate.xo misc.xo hooks.xo blockonkeys.xo blockonbackground.xo scan.xo datatype.xo auth.xo keyspace_events.xo blockedclient.xo timers.xo getkeys.xo test_lazyfree.xo timer.xo defragtest.xo hash.xo zset.xo stream.xo load.xo make[1]: 离开目录“/usr/local/KeyDB/tests/modules” (rm -f .make-) echo STD=-pedantic -DREDIS_STATIC='' -std=c99 >> .make-settings echo WARN=-Wall -W -Wno-missing-field-initializers -Wno-address-of-packed-member -Wno-atomic-alignment >> .make-settings echo OPT=-O2 -flto >> .make-settings echo MALLOC=jemalloc >> .make-settings echo BUILD_TLS=yes >> .make-settings echo USE_SYSTEMD= >> .make-settings echo CFLAGS=-DASM_SPINLOCK >> .make-settings echo CXXFLAGS=-DASM_SPINLOCK >> .make-settings echo LDFLAGS= >> .make-settings echo KEYDB_CFLAGS= >> .make-settings echo KEYDB_CXXFLAGS= >> .make-settings echo KEYDB_LDFLAGS= >> .make-settings echo PREV_FINAL_CFLAGS=-pedantic -DREDIS_STATIC='' -std=c99 -Wall -W -Wno-missing-field-initializers -Wno-address-of-packed-member -Wno-atomic-alignment -O2 -flto -g -ggdb -DASM_SPINLOCK -DMOTD -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -DUSE_JEMALLOC -I../deps/jemalloc/include -DUSE_OPENSSL >> .make-settings echo PREV_FINAL_CXXFLAGS=-std=c++17 -pedantic -fno-rtti -D__STDC_FORMAT_MACROS -Wall -W -Wno-missing-field-initializers -Wno-address-of-packed-member -Wno-atomic-alignment -O2 -flto -g -ggdb -DASM_SPINLOCK -DMOTD -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/rocksdb/include/ -I../deps/concurrentqueue -DUSE_JEMALLOC -I../deps/jemalloc/include -DUSE_OPENSSL >> .make-settings echo PREV_FINAL_LDFLAGS= -g -ggdb -rdynamic >> .make-settings (cd modules && make) make[1]: 进入目录“/usr/local/KeyDB/src/modules” /usr/bin/arm-linux-gnueabi-gcc -I. -W -Wall -fno-common -g -ggdb -std=c99 -O2 -fPIC -c helloworld.c -o helloworld.xo Assembler messages: 致命错误: invalid -march= option: `armv5t' make[1]: [Makefile:22:helloworld.xo] 错误 1 make[1]: 离开目录“/usr/local/KeyDB/src/modules” make: [Makefile:429:persist-settings] 错误 2 (已忽略) (cd ../deps && make hiredis linenoise lua hdr_histogram jemalloc) make[1]: 进入目录“/usr/local/KeyDB/deps” (cd hiredis && make clean) > /dev/null || true (cd linenoise && make clean) > /dev/null || true (cd lua && make clean) > /dev/null || true (cd jemalloc && [ -f Makefile ] && make distclean) > /dev/null || true (cd rocksdb && make clean) > /dev/null || true make[2]: 没有规则可制作目标“clean”。 停止。 (cd hdr_histogram && make clean) > /dev/null || true (rm -f .make-) (echo "" > .make-cflags) (echo "" > .make-ldflags) MAKE hiredis cd hiredis && make static USE_SSL=1 make[2]: 进入目录“/usr/local/KeyDB/deps/hiredis” /usr/bin/arm-linux-gnueabi-gcc -std=c99 -pedantic -c -O3 -fPIC -DHIREDIS_TEST_SSL -Wall -W -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb alloc.c Assembler messages: 致命错误: invalid -march= option: `armv5t' make[2]: ** [Makefile:228:alloc.o] 错误 1 make[2]: 离开目录“/usr/local/KeyDB/deps/hiredis” make[1]: [Makefile:53:hiredis] 错误 2 make[1]: 离开目录“/usr/local/KeyDB/deps” make: [Makefile:430:persist-settings] 错误 2 (已忽略) CC adlist.o Assembler messages: 致命错误: invalid -march= option: armv5t' make: *** [Makefile:488:adlist.o] 错误 1 root@cjm-VirtualBox:/usr/local/KeyDB/src# make all CC Makefile.dep CC adlist.o Assembler messages: 致命错误: invalid -march= option:armv5t' make: *** [Makefile:488:adlist.o] 错误 1