It seems, this line allows the linked to go on: emmake make all CXX=em++ CC=emcc NO_REGEX=NeedsStartEnd NO_NSEC=1 NO_APPLE_COMMON_CRYPTO=1 AR=emar CSPRNG_METHOD=getentropy NO_PTHREADS=1 NO_UNIX_SOCKETS=1 NO_PERL=1 NO_GETTEXT=1 NO_PYTHON=1 NO_IPV6=1 RANLIB=emranlib NO_INITGROUPS=1 NO_ICONV=1 CFLAGS="-s USE_ZLIB=1"
In other words, I should use CFLAGS for USE_ZLIB, not pass it directly. > On 8 Feb 2023, at 18:59, Ilya Kantor <ilia...@gmail.com> wrote: > > You're right, it tries to pick up the native macOS library. > > So I removed this from Makefile: EXTLIBS += -lz > > > The output now changed, but the symbols are still missing: > > ============ > ➜ git git:(master) ✗ emmake make all CXX=em++ CC=emcc NO_REGEX=NeedsStartEnd > NO_NSEC=1 NO_APPLE_COMMON_CRYPTO=1 AR=emar CSPRNG_METHOD=getentropy > NO_PTHREADS=1 NO_UNIX_SOCKETS=1 NO_PERL=1 NO_GETTEXT=1 NO_PYTHON=1 NO_IPV6=1 > RANLIB=emranlib NO_INITGROUPS=1 NO_ICONV=1 -s USE_ZLIB=1 > make: make all CXX=em++ CC=emcc NO_REGEX=NeedsStartEnd NO_NSEC=1 > NO_APPLE_COMMON_CRYPTO=1 AR=emar CSPRNG_METHOD=getentropy NO_PTHREADS=1 > NO_UNIX_SOCKETS=1 NO_PERL=1 NO_GETTEXT=1 NO_PYTHON=1 NO_IPV6=1 > RANLIB=emranlib NO_INITGROUPS=1 NO_ICONV=1 -s USE_ZLIB=1 > GIT_VERSION = 2.39.0.49.gf66d6d1.dirty > * new build flags > * new link flags > * new prefix flags > wasm-ld: error: libgit.a(csum-file.o): undefined symbol: crc32 > wasm-ld: error: libgit.a(csum-file.o): undefined symbol: crc32 > wasm-ld: error: libgit.a(csum-file.o): undefined symbol: crc32 > wasm-ld: error: libgit.a(csum-file.o): undefined symbol: crc32 > wasm-ld: error: libgit.a(zlib.o): undefined symbol: inflateInit_ > wasm-ld: error: libgit.a(zlib.o): undefined symbol: inflateEnd > wasm-ld: error: libgit.a(zlib.o): undefined symbol: inflate > wasm-ld: error: libgit.a(zlib.o): undefined symbol: deflateInit_ > wasm-ld: error: libgit.a(zlib.o): undefined symbol: deflateEnd > wasm-ld: error: libgit.a(zlib.o): undefined symbol: deflateEnd > wasm-ld: error: libgit.a(zlib.o): undefined symbol: deflate > emcc: error: '/opt/local/libexec/llvm-devel/bin/wasm-ld -o git-daemon.wasm > -L/opt/local/lib daemon.o common-main.o libgit.a xdiff/lib.a > reftable/libreftable.a libgit.a > -L/opt/local/libexec/emscripten/cache/sysroot/lib/wasm32-emscripten -lGL -lal > -lhtml5 -lstubs -lnoexit -lc -ldlmalloc -lcompiler_rt -lc++-noexcept > -lc++abi-noexcept -lsockets -mllvm -combiner-global-alias-analysis=false > -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr > --allow-undefined-file=/var/folders/8c/z0mt42s97yz4ts2sxkbt_zv40000gn/T/tmpq3drggh0.undefined > --export-if-defined=main --export-if-defined=__start_em_asm > --export-if-defined=__stop_em_asm --export-if-defined=__start_em_lib_deps > --export-if-defined=__stop_em_lib_deps --export-if-defined=__start_em_js > --export-if-defined=__stop_em_js --export-if-defined=__main_argc_argv > --export=stackSave --export=stackRestore --export=stackAlloc > --export=__wasm_call_ctors --export=__errno_location --export=__get_temp_ret > --export=__set_temp_ret --export=_emscripten_timeout --export=ntohs > --export=htons --export=malloc --export=emscripten_builtin_memalign > --export-table -z stack-size=65536 --initial-memory=16777216 --no-entry > --max-memory=16777216 --global-base=1024' failed (returned 1) > make: *** [git-daemon] Error 1 > emmake: error: 'make all CXX=em++ CC=emcc NO_REGEX=NeedsStartEnd NO_NSEC=1 > NO_APPLE_COMMON_CRYPTO=1 AR=emar CSPRNG_METHOD=getentropy NO_PTHREADS=1 > NO_UNIX_SOCKETS=1 NO_PERL=1 NO_GETTEXT=1 NO_PYTHON=1 NO_IPV6=1 > RANLIB=emranlib NO_INITGROUPS=1 NO_ICONV=1 -s USE_ZLIB=1' failed (returned 2) > =================== > = > On Wednesday, February 8, 2023 at 6:31:19 PM UTC+1 caiiiycuk wrote: >> If you use -s USE_ZLIB=1, then no need to link libz.a manually >> >> ср, 8 февр. 2023 г. в 20:06, Brion Vibber <br...@pobox.com <>>: >> >>> > emcc: warning: /opt/local/lib/libz.a: archive is missing an index; Use >>> > emar when creating libraries to ensure an index is created [-Wemcc] >>> > emcc: warning: /opt/local/lib/libz.a: adding index [-Wemcc] >>> > ... >>> > -L/opt/local/lib >>> > ... >>> > /opt/local/lib/libz.a >>> >>> It looks like you're trying to link a native macOS library? You need to >>> build everything to wasm. >>> >>> -- brion >>> >>> On Wed, Feb 8, 2023 at 9:03 AM Ilya Kantor <ili...@gmail.com <>> wrote: >>>> Hello, >>>> >>>> I'm building git with emscripten ;) >>>> Not libgit2, but the actual git. >>>> >>>> Everything compiled, but at the linking stage, seems it can't find zlib. >>>> >>>> Here's the command that I use on the (almost unpatched) fork >>>> https://github.com/iliakan/git: >>>> >>>> emmake make all CXX=em++ CC=emcc NO_REGEX=NeedsStartEnd NO_NSEC=1 >>>> NO_APPLE_COMMON_CRYPTO=1 AR=emar CSPRNG_METHOD=getentropy NO_PTHREADS=1 >>>> NO_UNIX_SOCKETS=1 NO_PERL=1 NO_GETTEXT=1 NO_PYTHON=1 NO_IPV6=1 >>>> RANLIB=emranlib NO_INITGROUPS=1 NO_ICONV=1 -s USE_ZLIB=1 >>>> >>>> This is the output >>>> ========================== >>>> ... >>>> emcc: warning: /opt/local/lib/libz.a: archive is missing an index; Use >>>> emar when creating libraries to ensure an index is created [-Wemcc] >>>> emcc: warning: /opt/local/lib/libz.a: adding index [-Wemcc] >>>> wasm-ld: error: libgit.a(csum-file.o): undefined symbol: crc32 >>>> wasm-ld: error: libgit.a(csum-file.o): undefined symbol: crc32 >>>> wasm-ld: error: libgit.a(csum-file.o): undefined symbol: crc32 >>>> wasm-ld: error: libgit.a(csum-file.o): undefined symbol: crc32 >>>> wasm-ld: error: libgit.a(zlib.o): undefined symbol: inflateInit_ >>>> wasm-ld: error: libgit.a(zlib.o): undefined symbol: inflateEnd >>>> wasm-ld: error: libgit.a(zlib.o): undefined symbol: inflate >>>> wasm-ld: error: libgit.a(zlib.o): undefined symbol: deflateInit_ >>>> wasm-ld: error: libgit.a(zlib.o): undefined symbol: deflateEnd >>>> wasm-ld: error: libgit.a(zlib.o): undefined symbol: deflateEnd >>>> wasm-ld: error: libgit.a(zlib.o): undefined symbol: deflate >>>> emcc: error: '/opt/local/libexec/llvm-devel/bin/wasm-ld -o git-daemon.wasm >>>> -L/opt/local/lib daemon.o common-main.o libgit.a xdiff/lib.a >>>> reftable/libreftable.a libgit.a /opt/local/lib/libz.a >>>> -L/opt/local/libexec/emscripten/cache/sysroot/lib/wasm32-emscripten -lGL >>>> -lal -lhtml5 -lstubs -lnoexit -lc -ldlmalloc -lcompiler_rt -lc++-noexcept >>>> -lc++abi-noexcept -lsockets -mllvm -combiner-global-alias-analysis=false >>>> -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr >>>> --allow-undefined-file=/var/folders/8c/z0mt42s97yz4ts2sxkbt_zv40000gn/T/tmpnnm6g2pg.undefined >>>> --export-if-defined=main --export-if-defined=__start_em_asm >>>> --export-if-defined=__stop_em_asm --export-if-defined=__start_em_lib_deps >>>> --export-if-defined=__stop_em_lib_deps --export-if-defined=__start_em_js >>>> --export-if-defined=__stop_em_js --export-if-defined=__main_argc_argv >>>> --export=stackSave --export=stackRestore --export=stackAlloc >>>> --export=__wasm_call_ctors --export=__errno_location >>>> --export=__get_temp_ret --export=__set_temp_ret >>>> --export=_emscripten_timeout --export=ntohs --export=htons --export=malloc >>>> --export=emscripten_builtin_memalign --export-table -z stack-size=65536 >>>> --initial-memory=16777216 --no-entry --max-memory=16777216 >>>> --global-base=1024' failed (returned 1) >>>> make: *** [git-daemon] Error 1 >>>> emmake: error: 'make all CXX=em++ CC=emcc NO_REGEX=NeedsStartEnd NO_NSEC=1 >>>> NO_APPLE_COMMON_CRYPTO=1 AR=emar CSPRNG_METHOD=getentropy NO_PTHREADS=1 >>>> NO_UNIX_SOCKETS=1 NO_PERL=1 NO_GETTEXT=1 NO_PYTHON=1 NO_IPV6=1 >>>> RANLIB=emranlib NO_INITGROUPS=1 NO_ICONV=1 -s USE_ZLIB=1' failed (returned >>>> 2) >>>> ===================== >>>> >>>> I googled around, tried some solutions, but nothing helped so far. >>>> My host machine is MacOs Ventura. >>>> >>>> As you can see, just adding "-s USE_ZLIB=1" doesn't work. >>>> Please advise, how to solve this? >>>> >>>> -- >>>> You received this message because you are subscribed to the Google Groups >>>> "emscripten-discuss" group. >>>> To unsubscribe from this group and stop receiving emails from it, send an >>>> email to emscripten-disc...@googlegroups.com <>. >>>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/emscripten-discuss/7ed7c0bf-2dc2-4f1f-91c3-0e4d70f219fbn%40googlegroups.com >>>> >>>> <https://groups.google.com/d/msgid/emscripten-discuss/7ed7c0bf-2dc2-4f1f-91c3-0e4d70f219fbn%40googlegroups.com?utm_medium=email&utm_source=footer>. >>> >>> >>> -- >>> You received this message because you are subscribed to the Google Groups >>> "emscripten-discuss" group. >>> To unsubscribe from this group and stop receiving emails from it, send an >>> email to emscripten-disc...@googlegroups.com <>. >> >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/emscripten-discuss/CAFnWYTntKH3Yh5UPCJVQ1aBKFzxwn7RR_xe41b-JjfmV7MtZPA%40mail.gmail.com >>> >>> <https://groups.google.com/d/msgid/emscripten-discuss/CAFnWYTntKH3Yh5UPCJVQ1aBKFzxwn7RR_xe41b-JjfmV7MtZPA%40mail.gmail.com?utm_medium=email&utm_source=footer>. > > > -- > You received this message because you are subscribed to the Google Groups > "emscripten-discuss" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to emscripten-discuss+unsubscr...@googlegroups.com > <mailto:emscripten-discuss+unsubscr...@googlegroups.com>. > To view this discussion on the web visit > https://groups.google.com/d/msgid/emscripten-discuss/7c29075d-c73c-4f9e-934e-bcd651b2993en%40googlegroups.com > > <https://groups.google.com/d/msgid/emscripten-discuss/7c29075d-c73c-4f9e-934e-bcd651b2993en%40googlegroups.com?utm_medium=email&utm_source=footer>. -- You received this message because you are subscribed to the Google Groups "emscripten-discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to emscripten-discuss+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/emscripten-discuss/E90E8FF8-52AD-4923-8BF6-7BB987768FE2%40gmail.com.