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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/emscripten-discuss/7c29075d-c73c-4f9e-934e-bcd651b2993en%40googlegroups.com.

Reply via email to