Librum-Reader/Librum

[Bug]: Build doesn't work on Ubuntu

blacklightpy opened this issue · 3 comments

Describe the bug
Build fail, MuPDF not working, same as #175, but different error

[  8%] Building mupdf (This takes a while) ...
cd /Librum/libs/mupdf && /usr/bin/cmake -E env USE_SYSTEM_LIBJPEG=yes USE_SONAME=no ./scripts/mupdfwrap.py --venv -d build/shared-release -b --m-target 'libs tools' -j 0 m01
(+0.0s): parse.py:14:<module>: Warning, could not import clang: No module named 'clang'
(+0.1s): state.py:18:<module>: Warning: failed to import clang.cindex: e=ModuleNotFoundError("No module named 'clang'")
(+0.1s): state.py:18:<module>: We need Clang Python to build MuPDF python.
(+0.1s): state.py:18:<module>: Install with `pip install libclang` (typically inside a Python venv),
(+0.1s): state.py:18:<module>: or (OpenBSD only) `pkg_add py3-llvm.`
(+0.1s): --venv: __main__.py:3012:main2: running: "/usr/bin/python3" -m venv venv-mupdfwrap-3.12-x64
(+3.8s): --venv: __main__.py:3012:main2: [returned e=0]
(+3.8s): --venv: __main__.py:3030:main2: running: . venv-mupdfwrap-3.12-x64/bin/activate && python -m pip install --upgrade pip && python -m pip install --upgrade setuptools libclang swig
(+4.5s): --venv: __main__.py:3030:main2: Requirement already satisfied: pip in ./venv-mupdfwrap-3.12-x64/lib/python3.12/site-packages (24.0)
(+10.6s): --venv: __main__.py:3030:main2: Requirement already satisfied: setuptools in ./venv-mupdfwrap-3.12-x64/lib/python3.12/site-packages (69.5.1)
(+16.3s): --venv: __main__.py:3030:main2: Requirement already satisfied: libclang in ./venv-mupdfwrap-3.12-x64/lib/python3.12/site-packages (18.1.1)
(+16.4s): --venv: __main__.py:3030:main2: Requirement already satisfied: swig in ./venv-mupdfwrap-3.12-x64/lib/python3.12/site-packages (4.2.1)
(+16.7s): --venv: __main__.py:3030:main2: [returned e=0]
(+16.7s): --venv: __main__.py:3039:main2: running: . venv-mupdfwrap-3.12-x64/bin/activate && python ./scripts/mupdfwrap.py -d build/shared-release -b --m-target 'libs tools' -j 0 m01 && deactivate
(+16.8s): --venv: __main__.py:3039:main2: (+0.0s): -b: m: __main__.py:1613:build: Building libmupdf.so ...
(+16.9s): --venv: __main__.py:3039:main2: (+0.1s): -b: m: __main__.py:1217:_get_m_command: Setting -j to  multiprocessing.cpu_count()=4
(+16.9s): --venv: __main__.py:3039:main2: (+0.1s): -b: m: __main__.py:1615:build: running: cd /Librum/libs/mupdf && make -j 4 HAVE_GLUT=no HAVE_PTHREAD=yes verbose=yes shared=yes build=release build_prefix=shared- libs tools
(+16.9s): --venv: __main__.py:3039:main2: (+0.1s): -b: m: __main__.py:1615:build: (+0.1s): -b: m: __main__.py:1615:build: make[3]: Entering directory '/Librum/libs/mupdf'
(+17.4s): --venv: __main__.py:3039:main2: (+0.6s): -b: m: __main__.py:1615:build: (+0.1s): -b: m: __main__.py:1615:build: mkdir -p build/shared-release/source/fitz/ ; cc -ffunction-sections -fdata-sections -pipe -O2 -DNDEBUG  -Iinclude -MMD -MP -o build/shared-release/source/fitz/filter-dct.o -c source/fitz/filter-dct.c -Wall -Wsign-compare -Wdeclaration-after-statement -fPIC -Ithirdparty/freetype/include -Iscripts/freetype -Ithirdparty/gumbo-parser/src -Ithirdparty/harfbuzz/src  -DSHARE_JPEG -Ithirdparty/lcms2/include -DHAVE_LCMS2MT -Ithirdparty/mujs -Ithirdparty/zlib -Ithirdparty/jbig2dec -Ithirdparty/openjpeg/src/lib/openjp2 -DOPJ_STATIC -DOPJ_HAVE_INTTYPES_H -DOPJ_HAVE_STDINT_H -Ithirdparty/extract/include -Ithirdparty/extract/src
(+17.4s): --venv: __main__.py:3039:main2: (+0.6s): -b: m: __main__.py:1615:build: (+0.1s): -b: m: __main__.py:1615:build: mkdir -p build/shared-release/source/fitz/ ; cc -ffunction-sections -fdata-sections -pipe -O2 -DNDEBUG  -Iinclude -MMD -MP -o build/shared-release/source/fitz/filter-leech.o -c source/fitz/filter-leech.c -Wall -Wsign-compare -Wdeclaration-after-statement -fPIC -Ithirdparty/freetype/include -Iscripts/freetype -Ithirdparty/gumbo-parser/src -Ithirdparty/harfbuzz/src  -DSHARE_JPEG -Ithirdparty/lcms2/include -DHAVE_LCMS2MT -Ithirdparty/mujs -Ithirdparty/zlib -Ithirdparty/jbig2dec -Ithirdparty/openjpeg/src/lib/openjp2 -DOPJ_STATIC -DOPJ_HAVE_INTTYPES_H -DOPJ_HAVE_STDINT_H -Ithirdparty/extract/include -Ithirdparty/extract/src
(+17.4s): --venv: __main__.py:3039:main2: (+0.6s): -b: m: __main__.py:1615:build: (+0.1s): -b: m: __main__.py:1615:build: mkdir -p build/shared-release/source/fitz/ ; cc -ffunction-sections -fdata-sections -pipe -O2 -DNDEBUG  -Iinclude -MMD -MP -o build/shared-release/source/fitz/filter-lzw.o -c source/fitz/filter-lzw.c -Wall -Wsign-compare -Wdeclaration-after-statement -fPIC -Ithirdparty/freetype/include -Iscripts/freetype -Ithirdparty/gumbo-parser/src -Ithirdparty/harfbuzz/src  -DSHARE_JPEG -Ithirdparty/lcms2/include -DHAVE_LCMS2MT -Ithirdparty/mujs -Ithirdparty/zlib -Ithirdparty/jbig2dec -Ithirdparty/openjpeg/src/lib/openjp2 -DOPJ_STATIC -DOPJ_HAVE_INTTYPES_H -DOPJ_HAVE_STDINT_H -Ithirdparty/extract/include -Ithirdparty/extract/src
(+17.4s): --venv: __main__.py:3039:main2: (+0.6s): -b: m: __main__.py:1615:build: (+0.1s): -b: m: __main__.py:1615:build: mkdir -p build/shared-release/source/fitz/ ; cc -ffunction-sections -fdata-sections -pipe -O2 -DNDEBUG  -Iinclude -MMD -MP -o build/shared-release/source/fitz/filter-predict.o -c source/fitz/filter-predict.c -Wall -Wsign-compare -Wdeclaration-after-statement -fPIC -Ithirdparty/freetype/include -Iscripts/freetype -Ithirdparty/gumbo-parser/src -Ithirdparty/harfbuzz/src  -DSHARE_JPEG -Ithirdparty/lcms2/include -DHAVE_LCMS2MT -Ithirdparty/mujs -Ithirdparty/zlib -Ithirdparty/jbig2dec -Ithirdparty/openjpeg/src/lib/openjp2 -DOPJ_STATIC -DOPJ_HAVE_INTTYPES_H -DOPJ_HAVE_STDINT_H -Ithirdparty/extract/include -Ithirdparty/extract/src
(+17.6s): --venv: __main__.py:3039:main2: (+0.8s): -b: m: __main__.py:1615:build: (+0.1s): -b: m: __main__.py:1615:build: source/fitz/filter-dct.c:26:10: fatal error: jpeglib.h: No such file or directory
(+17.6s): --venv: __main__.py:3039:main2: (+0.8s): -b: m: __main__.py:1615:build: (+0.1s): -b: m: __main__.py:1615:build:    26 | #include <jpeglib.h>
(+17.6s): --venv: __main__.py:3039:main2: (+0.8s): -b: m: __main__.py:1615:build: (+0.1s): -b: m: __main__.py:1615:build:       |          ^~~~~~~~~~~
(+17.6s): --venv: __main__.py:3039:main2: (+0.8s): -b: m: __main__.py:1615:build: (+0.1s): -b: m: __main__.py:1615:build: compilation terminated.
(+17.6s): --venv: __main__.py:3039:main2: (+0.8s): -b: m: __main__.py:1615:build: (+0.1s): -b: m: __main__.py:1615:build: make[3]: *** [Makefile:144: build/shared-release/source/fitz/filter-dct.o] Error 1
(+17.6s): --venv: __main__.py:3039:main2: (+0.8s): -b: m: __main__.py:1615:build: (+0.1s): -b: m: __main__.py:1615:build: make[3]: *** Waiting for unfinished jobs....
(+17.8s): --venv: __main__.py:3039:main2: (+1.0s): -b: m: __main__.py:1615:build: (+0.1s): -b: m: __main__.py:1615:build: make[3]: Leaving directory '/Librum/libs/mupdf'
(+17.8s): --venv: __main__.py:3039:main2: (+1.0s): -b: m: __main__.py:1615:build: (+0.1s): -b: m: __main__.py:1615:build:
(+17.8s): --venv: __main__.py:3039:main2: (+1.0s): -b: m: __main__.py:1615:build: [returned e=2]
(+17.8s): --venv: __main__.py:3039:main2: Traceback (most recent call last):
(+17.8s): --venv: __main__.py:3039:main2:     scripts/mupdfwrap.py:6:<module>(): wrap.__main__.main()
(+17.8s): --venv: __main__.py:3039:main2:     scripts/wrap/__main__.py:3089:main(): jlib.exception_info()
(+17.8s): --venv: __main__.py:3039:main2:     ^except raise:
(+17.8s): --venv: __main__.py:3039:main2:     scripts/wrap/__main__.py:3087:main(): main2()
(+17.8s): --venv: __main__.py:3039:main2:     scripts/wrap/__main__.py:2481:main2(): build( build_dirs, swig_command, args, vs_upgrade, make_command)
(+17.8s): --venv: __main__.py:3039:main2:     scripts/wrap/__main__.py:1615:build(): jlib.system( command, prefix=jlib.log_text(), out='log', verbose=1)
(+17.8s): --venv: __main__.py:3039:main2:     scripts/jlib.py:1682:system(): raise Exception( message)
(+17.8s): --venv: __main__.py:3039:main2: Exception: Command failed: cd /Librum/libs/mupdf && make -j 4 HAVE_GLUT=no HAVE_PTHREAD=yes verbose=yes shared=yes build=release build_prefix=shared- libs tools
(+17.9s): --venv: __main__.py:3039:main2: [returned e=1]
Traceback (most recent call last):
    scripts/mupdfwrap.py:6:<module>(): wrap.__main__.main()
    scripts/wrap/__main__.py:3089:main(): jlib.exception_info()
    ^except raise:
    scripts/wrap/__main__.py:3087:main(): main2()
    scripts/wrap/__main__.py:3039:main2(): jlib.system(command, out='log', verbose=1)
    scripts/jlib.py:1682:system(): raise Exception( message)
Exception: Command failed: . venv-mupdfwrap-3.12-x64/bin/activate && python ./scripts/mupdfwrap.py -d build/shared-release -b --m-target 'libs tools' -j 0 m01 && deactivate
gmake[2]: *** [src/application/CMakeFiles/mupdf.dir/build.make:71: src/application/CMakeFiles/mupdf] Error 1
gmake[2]: Leaving directory '/Librum/build-Release'
gmake[1]: *** [CMakeFiles/Makefile2:576: src/application/CMakeFiles/mupdf.dir/all] Error 2
gmake[1]: Leaving directory '/Librum/build-Release'
gmake: *** [Makefile:136: all] Error 2

To Reproduce
Steps to reproduce the behavior:

  1. cmake --build . -j1 -v

Expected behavior
Build worky

Screenshots
Not really applicable
image

Desktop (please complete the following information):

  • OS: Canonical Ubuntu
  • Version: 24.04 (Noble Numbat)

Additional context
I was running this in an OCI container.