jprendes / emception

Run Emscripten in the browser
Other
285 stars 35 forks source link

Broken patches #24

Open tolstenko opened 10 months ago

tolstenko commented 10 months ago

Hi!

I am trying to use the build-with-docker approach, and it is failing because of broken patches. The offending one is cpython:

Cloning into '/Users/tolstenko/projects/emception/upstream/cpython'...
Updating files: 100% (4653/4653), done.
/Users/tolstenko/projects/emception/upstream/cpython /Users/tolstenko/projects/emception
From https://github.com/python/cpython
 * branch                  b8a9f13abb61bd91a368e2d3f339de736863050f -> FETCH_HEAD
Updating files: 100% (3155/3155), done.
HEAD is now at b8a9f13abb gh-97616: test_list_resize_overflow() uses sys.maxsize (#99057)
/Users/tolstenko/projects/emception
/Users/tolstenko/projects/emception/upstream/cpython /Users/tolstenko/projects/emception
error: patch failed: configure.ac:1253
error: configure.ac: patch does not apply
error: Modules/_emception.c: No such file or directory
error: patch failed: Modules/Setup.stdlib.in:118
error: Modules/Setup.stdlib.in: patch does not apply

And probably these too:

The necessary bits to build these optional modules were not found:
_bz2                  _ctypes               _ctypes_test       
_curses               _curses_panel         _dbm               
_gdbm                 _lzma                 _tkinter           
_uuid                 readline                  

Which causes

configure: WARNING: unrecognized options: --enable-wasm-js-module
configure: loading site script /Users/tolstenko/projects/emception/upstream/cpython/Tools/wasm/config.site-wasm32-emscripten
configure: creating cache config.cache
checking for git... found
checking build system type... x86_64-pc-linux-gnu
checking host system type... wasm32-unknown-emscripten
checking for --with-build-python... configure: error: invalid or missing build python binary "/Users/tolstenko/projects/emception/build/cpython-native/python"
emconfigure: error: '/Users/tolstenko/projects/emception/upstream/cpython/configure -C --host=wasm32-unknown-emscripten --build=x86_64-pc-linux-gnu --with-emscripten-target=browser --disable-wasm-dynamic-linking --with-suffix=.mjs --disable-wasm-preload --enable-wasm-js-module --with-build-python=/Users/tolstenko/projects/emception/build/cpython-native/python' failed (returned 1)
make: make -j10
make: *** No targets specified and no makefile found.  Stop.
emmake: error: 'make -j10' failed (returned 2)
/Users/tolstenko/projects/emception
/Users/tolstenko/projects/emception/build/cpython /Users/tolstenko/projects/emception
make: make -j10
make: *** No targets specified and no makefile found.  Stop.
emmake: error: 'make -j10' failed (returned 2)

Some changes I made to improve the build:

But it is still not building.

Suggestion:

I would love to help somehow, but at this point, I got lost in everything you did.

Btw, awesome project. Congratulations on gluing everything together.

Keep up the good work.

tolstenko commented 10 months ago

I am assuming the html include to NodeProcess form here https://github.com/jprendes/emception/blob/205e46a0921f89333b56927589919a340c2bf6b8/src/index.html#L19C10-L19C10 is quicknode. But quicknode is being built correctly, but not transformed into NodeProcess. So some other part of the process is broken too. I will make a fork and test it through gh actions no you can see the full log though there.

tolstenko commented 10 months ago

Here you can see the full log. This exact line shows the problem https://github.com/InfiniBrains/emception/actions/runs/6803868511/job/18500146681#step:4:4374 and this might be a problem https://github.com/InfiniBrains/emception/actions/runs/6803868511/job/18500146681#step:4:5519 I changed the docker version trying to solve other issues, and it causes problems with python not finding openssl anymore. https://github.com/InfiniBrains/emception/actions/runs/6803868511/job/18500146681#step:4:6698 I tried to add libssl and other dependencies and probably given SSL jumped to v3. It might have broken compatibility