компиляция emsdk. какие флаги мне нужны для успеха?

Вот мои логи компилятора я не совсем понимаю что делать

      $ emmake make CFLAGS="-fstack-protector-strong" LDFLAGS="-fstack-protector-strong"

make: make CFLAGS=-fstack-protector-strong LDFLAGS=-fstack-protector-strong

emcc -fstack-protector-strong -fstack-protector-strong -o mkp224o.tmp main.co worker.co yaml.co vec.co cpucount.co base32_to.co base32_from.co base64_to.co base64_from.co ioutil.co keccak. co -lpthread -lsodium && mv mkp224o.tmp mkp224o

wasm-ld-13: ошибка: /usr/share/emscripten/cache/sysroot/lib/wasm32-emscripten/libsodium.a(libsodium_la-hash_sha256_cp.o): неопределенный символ: __stack_chk_guard wasm-ld-13: ошибка: /usr /share/emscripten/cache/sysroot/lib/wasm32-emscripten/libsodium.a(libsodium_la-hash_sha256_cp.o): неопределенный символ: __stack_chk_guard wasm-ld-13: ошибка: /usr/share/emscripten/cache/sysroot/lib /wasm32-emscripten/libsodium.a(libsodium_la-hash_sha256_cp.o): неопределенный символ: __stack_chk_guard wasm-ld-13: ошибка: /usr/share/emscripten/cache/sysroot/lib/wasm32-emscripten/libsodium.a(libsodium_la -hash_sha256_cp.o): неопределенный символ: __stack_chk_guard wasm-ld-13: ошибка: /usr/share/emscripten/cache/sysroot/lib/wasm32-emscripten/libsodium.a(libsodium_la-hash_sha256_cp.o): неопределенный символ: __stack_chk_guard wasm-ld-13: ошибка:/usr/share/emscripten/cache/sysroot/lib/wasm32-emscripten/libsodium.a(libsodium_la-hash_sha256_cp.o): неопределенный символ: __stack_chk_guard wasm-ld-13: ошибка: /usr/share/emscripten/cache/sysroot /lib/wasm32-emscripten/libsodium.a(libsodium_la-hash_sha256_cp.o): неопределенный символ: __stack_chk_guard wasm-ld-13: ошибка: /usr/share/emscripten/cache/sysroot/lib/wasm32-emscripten/libsodium.a (libsodium_la-hash_sha256_cp.o): неопределенный символ: __stack_chk_guard wasm-ld-13: ошибка: /usr/share/emscripten/cache/sysroot/lib/wasm32-emscripten/libsodium.a(libsodium_la-hash_sha256_cp.o): неопределенный символ : __stack_chk_guard wasm-ld-13: ошибка: /usr/share/emscripten/cache/sysroot/lib/wasm32-emscripten/libsodium.a(libsodium_la-hash_sha256_cp.o): неопределенный символ: __stack_chk_guard wasm-ld-13: ошибка: /usr/share/emscripten/cache/sysroot/lib/wasm32-emscripten/libsodium.a(libsodium_la-hash_sha256_cp.o): неопределенный символ: __stack_chk_guard wasm-ld-13: ошибка: /usr/share/emscripten/cache/sysroot/lib/wasm32-emscripten/libsodium.a(libsodium_la-hash_sha256_cp.o): не определено символ: __stack_chk_guard wasm-ld-13: ошибка: /usr/share/emscripten/cache/sysroot/lib/wasm32-emscripten/libsodium.a(libsodium_la-hash_sha256_cp.o): неопределенный символ: __stack_chk_guard wasm-ld-13: ошибка : /usr/share/emscripten/cache/sysroot/lib/wasm32-emscripten/libsodium.a(libsodium_la-hash_sha256_cp.o): неопределенный символ: __stack_chk_guarda(libsodium_la-hash_sha256_cp.o): неопределенный символ: __stack_chk_guard wasm-ld-13: ошибка: /usr/share/emscripten/cache/sysroot/lib/wasm32-emscripten/libsodium.a(libsodium_la-hash_sha256_cp.o): не определено символ: __stack_chk_guarda(libsodium_la-hash_sha256_cp.o): неопределенный символ: __stack_chk_guard wasm-ld-13: ошибка: /usr/share/emscripten/cache/sysroot/lib/wasm32-emscripten/libsodium.a(libsodium_la-hash_sha256_cp.o): не определено символ: __stack_chk_guard

emcc: ошибка: '/usr/bin/wasm-ld-13 -o mkp224o.wasm main.co worker.co yaml.co vec.co cpucount.co base32_to.co base32_from.co base64_to.co base64_from.co ioutil.co keccak.co /usr/share/emscripten/cache/sysroot/lib/wasm32-emscripten/libsodium.a -L/usr/share/emscripten/cache/sysroot/lib/wasm32-emscripten -lGL -lal -lhtml5 -lstubs-debug -lnoexit -lc-debug -ldlmalloc -lcompiler_rt -lc++-noexcept -lc++abi-noexcept -lsockets -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr --import-undefined --strip-debug --export-if-defined=main --export -if-defined=__start_em_asm --export-if-defined=__stop_em_asm --export-if-defined=__stdio_exit --export=emscripten_stack_get_end --export=emscripten_stack_get_free --export=emscripten_stack_get_base --export=emscripten_stack_init --export=stackSave - -export=stackRestore --export=stackAlloc --export=__wasm_call_ctors --export=__errno_location --export=malloc --export=free --export=emscripten_main_thread_process_queued_calls --export-table -z размер стека=5242880 --initial- память = 16777216 --нет записи--max-memory=16777216 --global-base=1024' не удалось (возвращено 1) make: *** [GNUmakefile:99: mkp224o] Ошибка 1 emmake: error: 'make CFLAGS=-fstack-protector-strong LDFLAGS=-fstack-protector-strong' не удалось (возвращено 2)

1 ответ

Проблема решена, но я не отслеживал на каком шаге это делалось, так как много раз ходил по кругу.

С того момента, как это не сработало для меня, я сделал:

-установлены бизон и гавк

      sudo apt install bison gawk

-скопировал папку "c++" из папки Include в каталог /usr/share/emscripten/cache/sysroot/include.

  • переключился на предоставление python с помощью команд:

    python3 '/usr/share/emscripten/emconfigure.py' ./configure --prefix="$(pwd)/install"

    python3 '/usr/share/emscripten/emmake.py' очистить

    python3 '/usr/share/emscripten/emmake.py' сделать

  • когда возникают ошибки кода, установите

    sudo apt установить python3-pysodium

  • после того, как я решил пару ошибок компиляции (из очень длинного списка ошибок) и поправил тип в терминале:

    emcc -Wall -Wno-error -Wextra -Wno-unused-function -Wmissing-prototypes -Wstrict-prototypes -x c++ -g -O2 -lm -ldl -Wall -Wpointer-arith -finline-functions -ffast-math -DED25519_donna -fPIE -DSTATISTICS -DPASSPHRASE -DVERSION='"неизвестно"' -D'CRYPTO_NAMESPACETOP=crypto_sign_ed25519_donna' -D'_CRYPTO_NAMESPACETOP=crypto_sign_ed25519_donna' -D'CRYPTO_NAMESPACE(name)=crypto_sign_ed25519_donna#5sign_name_na(51_9_NAME) -D'_CRYPTO_name ' -D'_CRYPTO_NAMESPACETOP=crypto_sign_ed25519_donna ##имя' -c -o main.cotmp main.c && mv main.cotmp main.co

а затем закончил компиляцию

       python3 '/usr/share/emscripten/emmake.py' make
Другие вопросы по тегам