View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000648 | Cinelerra-GG | [All Projects] Bug | public | 2023-12-18 18:11 | 2024-02-18 19:40 |
Reporter | shipman | Assigned To | PhyllisSmith | ||
Priority | low | Severity | block | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Product Version | |||||
Target Version | Fixed in Version | ||||
Summary | 0000648: Python 3.12 removed obsolete IMP module. - Can't build cinelerra from source | ||||
Description | Build of Cinelerra fails because no IMP module. | ||||
Steps To Reproduce | Build cinelerra with python 3.12 | ||||
Tags | No tags attached. | ||||
With the 3 LV2 related patches checked in, it now builds using Python 3.12 where imp code was deleted. | |
@shipman Patches have been checked into CinGG GIT so that it will now build LV2 files using Python 3.12 on Fedora 39 -- I got no errors on my desktop Fedora 39. |
|
@Andrew-R The lilv development files were already installed. I tried again with same failure. Below shows install on 32 and 39. Fedora 32 *** [root@keystone Downloads]# dnf list | grep lilv lilv.x86_64 0.24.6-3.fc32 lilv.i686 0.24.6-3.fc32 lilv-devel.i686 0.24.6-3.fc32 lilv-devel.x86_64 0.24.6-3.fc32 python3-lilv.x86_64 0.24.6-3.fc32 Fedora 39 *** root@fedora:/tmp# grep lilv a lilv-libs.x86_64 0.24.20-1.fc39 lilv.x86_64 0.24.20-1.fc39 lilv-devel.i686 0.24.20-1.fc39 lilv-devel.x86_64 0.24.20-1.fc39 lilv-libs.i686 0.24.20-1.fc39 python3-lilv.x86_64 0.24.20-1.fc39 I will send you the failure log privately. |
|
@PhyllisSmith , yes (but full line a bit longer because I tested it on termux only so far. Be sure to install lilv-dev - development files for lilv. Because this is interface library to lv2 - Fedora should fetch all other files /packages automatically, I hope. |
|
@Andrew-R So to do that, you used? ./configure --with-lv2 --disable-lv2 --disable-sord --disable-serd --disable-suil --disable-sratom --disable-lilv That failed for me, but let me try again as maybe I made a mistake. |
|
@PhyllisSmith I also tried to " --disable" all our lv2 stack components YET keep lv2 enabled. On termux I only have one lv2 plugin (rubberband-lv2) but it appear in list of audio plugins after I manually enter path to folder with it in Preferences. So, there seems to be way to keep lv2 functionality as long as system's lv2 stack does not drift too far away from version we used .... |
|
@shipman @Andrew-R After upgrading from Fedora 38 to 39, I confirmed the error. Workaround is simply to add "--without-lv2" on the configure line for now until/if we have a fix. This is what I used. #!/bin/bash ( ./autogen.sh ./configure --with-single-user --without-lv2 make && make install ) 2>&1 | tee log mv Makefile Makefile.cfg cp Makefile.devel Makefile |
|
@Andrew-R @shipman "meanwhile lv2 libs switched to meson:" It was quite difficult and time-consuming to incorporate the "lv2" library/plugins in May of 2018. In addition, besides updated versions of dav1d requiring "meson", that is not widely available on all distros and we would like to continue to support these older systems. Until an expert programmer becomes available to CinGG, the only solution would be to compile without lv2 as Andrew recommended. |
|
@shipman yeah, whole lv2 stack was depending on waf build system and THAT was depending on python! meanwhile lv2 libs switched to meson: http://drobilla.net/category/sord/ not sure if I am up to task to fix this ... may be something like this (after installing those libs systewide) will get you going: ./configure --with-lv2 --disable-lv2 --disable-sord --disable-serd --disable-suil --disable-sratom --disable-lilv build on my (arm tablet) end will take a hour . |
|
I did a quick grep through my source and found these Jim --------------------------------------------- ./thirdparty/lv2-1.18.0/waflib/Tools/python.py ./thirdparty/lv2-1.18.0/waflib/Context.py ./thirdparty/lilv-0.24.8/.waf-1.8.22-985a667c86981bbd06ccfe1f94032940/waflib/Tools/python.py ./thirdparty/lilv-0.24.8/waflib/Context.py ./thirdparty/lilv-0.24.8/waflib/Tools/python.py ./thirdparty/sratom-0.6.4/waflib/Tools/python.py ./thirdparty/serd-0.30.4/waflib/Context.py ./thirdparty/serd-0.30.4/waflib/Tools/python.py ./thirdparty/sord-0.16.4/waflib/Tools/python.py ./thirdparty/suil-0.10.6/waflib/Tools/python.py ./thirdparty/suil-0.10.6/waflib/Tools/python.py |
|
Here is the error output from a build. ----------------------------------------- Make[2]: warning: -j14 forced in submake: resetting jobserver mode. error: Failed to import waf (No module named 'imp') error: Failed to import waf (No module named 'imp') find: ‘.waf*’: No such file or directory find: ‘.waf*’: No such file or directory error: Failed to import waf (No module named 'imp') error: Failed to import waf (No module named 'imp') make[2]: *** [Makefile:381: /home/shipman/dk/cin5/cinelerra-5.1/thirdparty/../thirdparty/build/sord.configure] Error 1 make[2]: *** Waiting for unfinished jobs.... make[2]: *** [Makefile:384: /home/shipman/dk/cin5/cinelerra-5.1/thirdparty/../thirdparty/build/suil.configure] Error 1 make[1]: *** [Makefile:585: all-recursive] Error 1 make: *** [Makefile:532: all] Error 2 This is on a Fedora 39 system. |
|
@Andrew-R I also installed python3.12 on Fedora 38 but it is still using 3.11.x which I have not figured out yet why. Will continue working on, but did read about python3.12 and they did remove a bunch of deprecated and broken stuff. I even rebooted just in case and did another "dnf install python3.12" and it said it was already installed. |
|
strange, I think I installed python3.12 on termux (not yet in main repo) and build still finishes ok? python --version Python 3.12.0 |
|
Andrew-R is looking into this and I will update one of my systems to Python 3.12 to create error too. | |
grepping around: grep -F -e "import imp" -r ./thirdparty/ | grep .py ./thirdparty/libwebp-1.3.2/swig/libwebp.py: import importlib . /thirdparty/libwebp-1.3.2/swig/libwebp.py: import imp ./thirdparty/tiff-4.6.0/cmake/list-manpages.py:import importlib.util ./thirdparty/tiff-4.6.0/cmake/list-manpage-dependencies.py:import importlib.util so it seems to be swing inside libwebp .... lets see if we can disable this. |
|
@shipman can you post exact error? I only found this line on our bccmdl.py: grep imp guicast/*.py from __future__ import print_function and discussion at https://discuss.python.org/t/how-do-i-migrate-from-imp/27885/28 so, may be some other file is failing? ==== ~/cinelerra/cinelerra-5.1 $ find . -name *.py ./thirdparty/ffmpeg-6.1/tools/normalize.py ./thirdparty/ffmpeg-6.1/tools/zmqshell.py ./thirdparty/ffmpeg-6.1/tools/python/tf_sess_config.py ./thirdparty/openjpeg-2.5.0/tests/performance/compare_perfs.py ./thirdparty/openjpeg-2.5.0/tests/performance/perf_test.py ./thirdparty/openjpeg-2.5.0/tests/profiling/filter_massif_output.py ./thirdparty/x264-stable/tools/digress/__init__.py ./thirdparty/x264-stable/tools/digress/cli.py ./thirdparty/x264-stable/tools/digress/comparers.py ./thirdparty/x264-stable/tools/digress/constants.py ./thirdparty/x264-stable/tools/digress/errors.py ./thirdparty/x264-stable/tools/digress/scm/__init__.py ./thirdparty/x264-stable/tools/digress/scm/dummy.py ./thirdparty/x264-stable/tools/digress/scm/git.py ./thirdparty/x264-stable/tools/digress/testing.py ./thirdparty/x264-stable/tools/test_x264.py ./thirdparty/libvpx-1.13.1/test/android/get_files.py ./thirdparty/libvpx-1.13.1/test/android/scrape_gtest_log.py ./thirdparty/libvpx-1.13.1/tools/3D-Reconstruction/MotionEST/Anandan.py ./thirdparty/libvpx-1.13.1/tools/3D-Reconstruction/MotionEST/Exhaust.py ./thirdparty/libvpx-1.13.1/tools/3D-Reconstruction/MotionEST/GroundTruth.py ./thirdparty/libvpx-1.13.1/tools/3D-Reconstruction/MotionEST/HornSchunck.py ./thirdparty/libvpx-1.13.1/tools/3D-Reconstruction/MotionEST/MotionEST.py ./thirdparty/libvpx-1.13.1/tools/3D-Reconstruction/MotionEST/SearchSmooth.py ./thirdparty/libvpx-1.13.1/tools/3D-Reconstruction/MotionEST/Util.py ./thirdparty/libvpx-1.13.1/tools/3D-Reconstruction/genY4M/genY4M.py ./thirdparty/libvpx-1.13.1/tools/cpplint.py ./thirdparty/libvpx-1.13.1/tools/diff.py ./thirdparty/libvpx-1.13.1/tools/intersect-diffs.py ./thirdparty/libvpx-1.13.1/tools/lint-hunks.py ./thirdparty/libvpx-1.13.1/tools/non_greedy_mv/non_greedy_mv.py ./thirdparty/libvpx-1.13.1/tools/wrap-commit-msg.py ./thirdparty/x265-17122023/doc/reST/conf.py ./thirdparty/libwebp-1.3.2/.cmake-format.py ./thirdparty/libwebp-1.3.2/PRESUBMIT.py ./thirdparty/libwebp-1.3.2/swig/libwebp.py ./thirdparty/libwebp-1.3.2/swig/setup.py ./thirdparty/libaom-v3.6.1/.cmake-format.py ./thirdparty/libaom-v3.6.1/test/gviz_api.py ./thirdparty/libaom-v3.6.1/test/visual_metrics.py ./thirdparty/libaom-v3.6.1/tools/aggregate_entropy_stats.py ./thirdparty/libaom-v3.6.1/tools/auto_refactor/auto_refactor.py ./thirdparty/libaom-v3.6.1/tools/auto_refactor/av1_preprocess.py ./thirdparty/libaom-v3.6.1/tools/auto_refactor/test_auto_refactor.py ./thirdparty/libaom-v3.6.1/tools/cpplint.py ./thirdparty/libaom-v3.6.1/tools/diff.py ./thirdparty/libaom-v3.6.1/tools/gen_constrained_tokenset.py ./thirdparty/libaom-v3.6.1/tools/gop_bitrate/analyze_data.py ./thirdparty/libaom-v3.6.1/tools/gop_bitrate/python/bitrate_accuracy.py ./thirdparty/libaom-v3.6.1/tools/intersect-diffs.py ./thirdparty/libaom-v3.6.1/tools/lint-hunks.py ./thirdparty/libaom-v3.6.1/tools/ratectrl_log_analyzer/analyze_ratectrl_log.py ./thirdparty/libaom-v3.6.1/tools/wrap-commit-msg.py ./thirdparty/libsndfile-1.0.28/src/create_symbols_file.py ./thirdparty/libsndfile-1.0.28/src/binheader_writef_check.py ./thirdparty/libsndfile-1.0.28/programs/test-sndfile-metadata-set.py ./thirdparty/mjpegtools-2.1.0/scripts/makePLI.py ./thirdparty/tiff-4.6.0/doc/conf.py ./thirdparty/tiff-4.6.0/cmake/list-manpages.py ./thirdparty/tiff-4.6.0/cmake/list-manpage-dependencies.py ./guicast/bccmdl.py ==== |
|
Date Modified | Username | Field | Change |
---|---|---|---|
2023-12-18 18:11 | shipman | New Issue | |
2023-12-18 19:58 | Andrew-R | Note Added: 0005598 | |
2023-12-18 20:23 | Andrew-R | Note Added: 0005599 | |
2023-12-18 20:58 | PhyllisSmith | Assigned To | => PhyllisSmith |
2023-12-18 20:58 | PhyllisSmith | Status | new => acknowledged |
2023-12-18 20:58 | PhyllisSmith | Note Added: 0005600 | |
2023-12-19 01:33 | Andrew-R | Note Added: 0005601 | |
2023-12-19 01:37 | PhyllisSmith | Note Added: 0005602 | |
2023-12-19 02:00 | PhyllisSmith | Note Edited: 0005602 | View Revisions |
2023-12-20 02:33 | shipman | Note Added: 0005603 | |
2023-12-20 03:34 | shipman | Note Added: 0005604 | |
2023-12-20 03:51 | Andrew-R | Note Added: 0005605 | |
2023-12-20 16:30 | PhyllisSmith | Note Added: 0005606 | |
2023-12-20 21:03 | PhyllisSmith | Status | acknowledged => confirmed |
2023-12-20 21:03 | PhyllisSmith | Note Added: 0005607 | |
2023-12-20 21:11 | Andrew-R | Note Added: 0005608 | |
2023-12-20 23:58 | PhyllisSmith | Note Added: 0005609 | |
2023-12-21 00:04 | Andrew-R | Note Added: 0005610 | |
2023-12-21 01:13 | PhyllisSmith | Note Added: 0005611 | |
2024-02-08 19:52 | PhyllisSmith | Note Added: 0005612 | |
2024-02-18 19:40 | PhyllisSmith | Status | confirmed => closed |
2024-02-18 19:40 | PhyllisSmith | Resolution | open => fixed |
2024-02-18 19:40 | PhyllisSmith | Note Added: 0005613 |