mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
* [ptxdist] Error building nodejs in 2023.10.0
@ 2023-11-01 16:04 Jean-Claude Monnin
  2023-11-10  8:00 ` Michael Olbrich
  0 siblings, 1 reply; 4+ messages in thread
From: Jean-Claude Monnin @ 2023-11-01 16:04 UTC (permalink / raw)
  To: ptxdist

Hi,

When trying to build nodejs with the latest ptxdist, I faced an error about missing a python module `ModuleNotFoundError: No module named '_bz2'` (see [1]).

I'm not very proficient with ptxdist, so I would like to check if the solution I came up is correct. Feedback welcome. If solution is ok, feel free to apply it upstream or ask for a proper email patch.

I think it's due to following issues:
- The host python is missing the option to support BZIP2. I added an option for that.
- nodejs.in says it depends on HOST_SYSTEM_PYTHON3, however it seems like the build isn't using system python but host python built by ptxdist. I think it should depend on HOST_PYTHON3 and the new HOST_PYTHON3_BZIP2.

See [2] for the patch I applied.

Kind regards,
Jean-Claude


[1] Error message

----------------------
target: nodejs.prepare
----------------------

Node.js configure: Found Python 3.11.2...
Traceback (most recent call last):
  File "/home/jean-claude/code/test-ptxdist/platform-nanopi-rk3588/build-target/node-v18.13.0/./configure", line 28, in <module>
    import configure
  File "/home/jean-claude/code/test-ptxdist/platform-nanopi-rk3588/build-target/node-v18.13.0/configure.py", line 14, in <module>
    import bz2
  File "/home/jean-claude/code/test-ptxdist/platform-nanopi-rk3588/sysroot-target/usr/lib/python3.11/bz2.py", line 17, in <module>
    from _bz2 import BZ2Compressor, BZ2Decompressor
ModuleNotFoundError: No module named '_bz2'


[2] possible patch

diff --git a/rules/host-python3.in b/rules/host-python3.in
index e15b90571..64f34affa 100644
--- a/rules/host-python3.in
+++ b/rules/host-python3.in
@@ -6,6 +6,7 @@ config HOST_PYTHON3
        select HOST_LIBFFI
        select HOST_OPENSSL
        select HOST_ZLIB                if HOST_PYTHON3_ZLIB
+       select HOST_BZIP2               if HOST_PYTHON3_BZIP2
        default y if ALLYES
        help
          Python is an interpreted, interactive,
@@ -16,4 +17,7 @@ if HOST_PYTHON3
 config HOST_PYTHON3_ZLIB
        bool
 
+config HOST_PYTHON3_BZIP2
+       bool
+
 endif
diff --git a/rules/nodejs.in b/rules/nodejs.in
index 80c6aec21..c75480953 100644
--- a/rules/nodejs.in
+++ b/rules/nodejs.in
@@ -3,7 +3,8 @@
 config NODEJS
        tristate
        prompt "Node.js                       "
-       select HOST_SYSTEM_PYTHON3
+       select HOST_PYTHON3
+       select HOST_PYTHON3_BZIP2
        select HOST_QEMU
        select HOST_QEMU_USR
        select C_ARES



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2023-11-10  8:56 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-11-01 16:04 [ptxdist] Error building nodejs in 2023.10.0 Jean-Claude Monnin
2023-11-10  8:00 ` Michael Olbrich
2023-11-10  8:44   ` Jean-Claude Monnin
2023-11-10  8:55     ` [ptxdist] [PATCH] nodejs: explicitly call configure with 'python3' Michael Olbrich

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox