unikraft / app-python3

Unikraft Python3 app repo
12 stars 9 forks source link

Update default Python app to 3.10.11 #16

Closed andreittr closed 10 months ago

andreittr commented 10 months ago

Update the prebuilt Python rootfs to 3.10.11, containing a minimal standard library without extensions.

In addition, update the README and Makefile.

Part of the larger Python 3.10 work:

StefanJum commented 10 months ago

@andreittr can you please also update the Makefile to add all the library dependencies?

andreittr commented 10 months ago

@andreittr can you please also update the Makefile to add all the library dependencies?

From what I can tell this app intends to build a minimal Python 3 without any extensions (the configs and Makefile reflect this), and for that reason the Makefile is perfectly adequate. The long list of libs mentioned in the PR is for when you want to build py3 with all possible extensions; they are not dependencies and python builds perfectly well without them.

StefanJum commented 10 months ago

From what I can tell this app intends to build a minimal Python 3 without any extensions (the configs and Makefile reflect this).

Yes, that should be it, but I get some errors if I only leave the current libraries:

workdir/apps/python3/build/libpython3/origin/Python-3.10.11/Include/internal/pycore_bitutils.h:101: undefined reference to `__popcountdi2'
andreittr commented 10 months ago

From what I can tell this app intends to build a minimal Python 3 without any extensions (the configs and Makefile reflect this).

Yes, that should be it, but I get some errors if I only leave the current libraries:

workdir/apps/python3/build/libpython3/origin/Python-3.10.11/Include/internal/pycore_bitutils.h:101: undefined reference to `__popcountdi2'

Hmm, __popcountdi2 seems to be defined by libcompiler-rt; what compiler & version are you using? (if it's common enough we might need to pull in libcompiler-rt just to be safe).

Edit: nvm, it seems to fail w/ gcc 13 (but not clang), so best to pull in compiler-rt (lib-python3 already implies it). Commit incoming.

StefanJum commented 10 months ago

Hmm, __popcountdi2 seems to be defined by libcompiler-rt; what compiler & version are you using? (if it's common enough we might need to pull in libcompiler-rt just to be safe).

gcc version 12.3.0 (Ubuntu 12.3.0-1ubuntu1~23.04) yes, we should pull compiler-rt

StefanJum commented 10 months ago

@andreittr please update libuuid to compiler-rt in the other places in the README:

andreittr commented 10 months ago

@andreittr please update libuuid to compiler-rt in the other places in the README:

* https://github.com/unikraft/app-python3/blob/staging/README.md?plain=1#L98

* https://github.com/unikraft/app-python3/blob/staging/README.md?plain=1#L163

* https://github.com/unikraft/app-python3/blob/staging/README.md?plain=1#L186

Whoops, my bad, fixed now.