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.

Reply via email to