Ericsson / codechecker

CodeChecker is an analyzer tooling, defect database and viewer extension for the Clang Static Analyzer and Clang Tidy
https://codechecker.readthedocs.io
Apache License 2.0
2.23k stars 373 forks source link

Can't install v6.24.0 with raw `pip` under Debian 12 "Bookworm" #4261

Closed aag-norbert-lange closed 4 weeks ago

aag-norbert-lange commented 3 months ago

Describe the bug

CodeChecker version 6.24.0

To Reproduce Steps to reproduce the behaviour:

  1. Start a new debian container: podman run --rm -it debian:bookworm
  2. Try to install codechecker 6.24.0 via pip:
    apt-get install -y --no-install-recommends python3-pip gcc python3-dev git
    pip3 install --break-system-packages git+https://github.com/Ericsson/codechecker.git@v6.24.0
  3. Observe the error : error: error in 'egg_base' option: 'build_dist/CodeChecker/lib/python3' does not exist or is not a directory

Expected behaviour Codechecker to be installed and usable

Desktop (please complete the following information)

Additional context

Full PIP Output

pip3 install --break-system-packages git+https://github.com/Ericsson/codechecker.git@v6.24.0 Collecting git+https://github.com/Ericsson/codechecker.git@v6.24.0 Cloning https://github.com/Ericsson/codechecker.git (to revision v6.24.0) to /tmp/pip-req-build-nslj_fpn Running command git clone --filter=blob:none --quiet https://github.com/Ericsson/codechecker.git /tmp/pip-req-build-nslj_fpn Resolved https://github.com/Ericsson/codechecker.git to commit ea795071d62637c69300f4528b6c46c75b2274bc Preparing metadata (setup.py) ... done Requirement already satisfied: PyYAML==6.0.1 in /usr/local/lib/python3.11/dist-packages (from codechecker==6.24.0) (6.0.1) Requirement already satisfied: alembic==1.5.5 in /usr/local/lib/python3.11/dist-packages (from codechecker==6.24.0) (1.5.5) Requirement already satisfied: gitpython==3.1.41 in /usr/local/lib/python3.11/dist-packages (from codechecker==6.24.0) (3.1.41) Requirement already satisfied: lxml==4.9.3 in /usr/local/lib/python3.11/dist-packages (from codechecker==6.24.0) (4.9.3) Requirement already satisfied: multiprocess==0.70.15 in /usr/local/lib/python3.11/dist-packages (from codechecker==6.24.0) (0.70.15) Requirement already satisfied: portalocker==2.2.1 in /usr/local/lib/python3.11/dist-packages (from codechecker==6.24.0) (2.2.1) Requirement already satisfied: psutil==5.8.0 in /usr/local/lib/python3.11/dist-packages (from codechecker==6.24.0) (5.8.0) Requirement already satisfied: sarif-tools==1.0.0 in /usr/local/lib/python3.11/dist-packages (from codechecker==6.24.0) (1.0.0) Requirement already satisfied: sqlalchemy==1.3.23 in /usr/local/lib/python3.11/dist-packages (from codechecker==6.24.0) (1.3.23) Requirement already satisfied: thrift==0.13.0 in /usr/local/lib/python3.11/dist-packages (from codechecker==6.24.0) (0.13.0) Requirement already satisfied: types-PyYAML==6.0.12.12 in /usr/local/lib/python3.11/dist-packages (from codechecker==6.24.0) (6.0.12.12) Requirement already satisfied: Mako in /usr/local/lib/python3.11/dist-packages (from alembic==1.5.5->codechecker==6.24.0) (1.3.5) Requirement already satisfied: python-editor>=0.3 in /usr/local/lib/python3.11/dist-packages (from alembic==1.5.5->codechecker==6.24.0) (1.0.4) Requirement already satisfied: python-dateutil in /usr/local/lib/python3.11/dist-packages (from alembic==1.5.5->codechecker==6.24.0) (2.9.0.post0) Requirement already satisfied: gitdb<5,>=4.0.1 in /usr/local/lib/python3.11/dist-packages (from gitpython==3.1.41->codechecker==6.24.0) (4.0.11) Requirement already satisfied: dill>=0.3.7 in /usr/local/lib/python3.11/dist-packages (from multiprocess==0.70.15->codechecker==6.24.0) (0.3.8) Requirement already satisfied: jinja2<4.0.0,>=3.1.2 in /usr/local/lib/python3.11/dist-packages (from sarif-tools==1.0.0->codechecker==6.24.0) (3.1.4) Requirement already satisfied: matplotlib<4.0.0,>=3.5.1 in /usr/local/lib/python3.11/dist-packages (from sarif-tools==1.0.0->codechecker==6.24.0) (3.9.0) Requirement already satisfied: python-docx<0.9.0,>=0.8.11 in /usr/local/lib/python3.11/dist-packages (from sarif-tools==1.0.0->codechecker==6.24.0) (0.8.11) Requirement already satisfied: six>=1.7.2 in /usr/local/lib/python3.11/dist-packages (from thrift==0.13.0->codechecker==6.24.0) (1.16.0) Requirement already satisfied: smmap<6,>=3.0.1 in /usr/local/lib/python3.11/dist-packages (from gitdb<5,>=4.0.1->gitpython==3.1.41->codechecker==6.24.0) (5.0.1) Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.11/dist-packages (from jinja2<4.0.0,>=3.1.2->sarif-tools==1.0.0->codechecker==6.24.0) (2.1.5) Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.11/dist-packages (from matplotlib<4.0.0,>=3.5.1->sarif-tools==1.0.0->codechecker==6.24.0) (1.2.1) Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.11/dist-packages (from matplotlib<4.0.0,>=3.5.1->sarif-tools==1.0.0->codechecker==6.24.0) (0.12.1) Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.11/dist-packages (from matplotlib<4.0.0,>=3.5.1->sarif-tools==1.0.0->codechecker==6.24.0) (4.53.0) Requirement already satisfied: kiwisolver>=1.3.1 in /usr/local/lib/python3.11/dist-packages (from matplotlib<4.0.0,>=3.5.1->sarif-tools==1.0.0->codechecker==6.24.0) (1.4.5) Requirement already satisfied: numpy>=1.23 in /usr/local/lib/python3.11/dist-packages (from matplotlib<4.0.0,>=3.5.1->sarif-tools==1.0.0->codechecker==6.24.0) (2.0.0) Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.11/dist-packages (from matplotlib<4.0.0,>=3.5.1->sarif-tools==1.0.0->codechecker==6.24.0) (24.1) Requirement already satisfied: pillow>=8 in /usr/local/lib/python3.11/dist-packages (from matplotlib<4.0.0,>=3.5.1->sarif-tools==1.0.0->codechecker==6.24.0) (10.3.0) Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.11/dist-packages (from matplotlib<4.0.0,>=3.5.1->sarif-tools==1.0.0->codechecker==6.24.0) (3.1.2) Building wheels for collected packages: codechecker Building wheel for codechecker (setup.py) ... error error: subprocess-exited-with-error × python setup.py bdist_wheel did not run successfully. │ exit code: 1 ╰─> [60 lines of output] running bdist_wheel running build running build_ext building 'codechecker_analyzer.ld_logger.lib.ldlogger' extension creating build creating build/temp.linux-x86_64-cpython-311 creating build/temp.linux-x86_64-cpython-311/analyzer creating build/temp.linux-x86_64-cpython-311/analyzer/tools creating build/temp.linux-x86_64-cpython-311/analyzer/tools/build-logger creating build/temp.linux-x86_64-cpython-311/analyzer/tools/build-logger/src x86_64-linux-gnu-gcc -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -D__LOGGER_MAIN__ -D_GNU_SOURCE -I/usr/include/python3.11 -c analyzer/tools/build-logger/src/ldlogger-hooks.c -o build/temp.linux-x86_64-cpython-311/analyzer/tools/build-logger/src/ldlogger-hooks.o analyzer/tools/build-logger/src/ldlogger-hooks.c: In function ‘unsetLDPRELOAD’: analyzer/tools/build-logger/src/ldlogger-hooks.c:68:64: warning: the comparison will always evaluate as ‘true’ for the pointer operand in ‘pos + -1’ must not be NULL [-Waddress] 68 | if ((prefix_length == pos_number) && ( pos_number == 0 || (pos-1 && *--pos == '/'))) | ^~~ x86_64-linux-gnu-gcc -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -D__LOGGER_MAIN__ -D_GNU_SOURCE -I/usr/include/python3.11 -c analyzer/tools/build-logger/src/ldlogger-logger.c -o build/temp.linux-x86_64-cpython-311/analyzer/tools/build-logger/src/ldlogger-logger.o x86_64-linux-gnu-gcc -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -D__LOGGER_MAIN__ -D_GNU_SOURCE -I/usr/include/python3.11 -c analyzer/tools/build-logger/src/ldlogger-tool-gcc.c -o build/temp.linux-x86_64-cpython-311/analyzer/tools/build-logger/src/ldlogger-tool-gcc.o x86_64-linux-gnu-gcc -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -D__LOGGER_MAIN__ -D_GNU_SOURCE -I/usr/include/python3.11 -c analyzer/tools/build-logger/src/ldlogger-tool-javac.c -o build/temp.linux-x86_64-cpython-311/analyzer/tools/build-logger/src/ldlogger-tool-javac.o x86_64-linux-gnu-gcc -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -D__LOGGER_MAIN__ -D_GNU_SOURCE -I/usr/include/python3.11 -c analyzer/tools/build-logger/src/ldlogger-tool.c -o build/temp.linux-x86_64-cpython-311/analyzer/tools/build-logger/src/ldlogger-tool.o x86_64-linux-gnu-gcc -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -D__LOGGER_MAIN__ -D_GNU_SOURCE -I/usr/include/python3.11 -c analyzer/tools/build-logger/src/ldlogger-util.c -o build/temp.linux-x86_64-cpython-311/analyzer/tools/build-logger/src/ldlogger-util.o creating build/lib.linux-x86_64-cpython-311 creating build/lib.linux-x86_64-cpython-311/codechecker_analyzer creating build/lib.linux-x86_64-cpython-311/codechecker_analyzer/ld_logger creating build/lib.linux-x86_64-cpython-311/codechecker_analyzer/ld_logger/lib creating build/lib.linux-x86_64-cpython-311/codechecker_analyzer/ld_logger/lib/x86_64 x86_64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -g -fwrapv -O2 build/temp.linux-x86_64-cpython-311/analyzer/tools/build-logger/src/ldlogger-hooks.o build/temp.linux-x86_64-cpython-311/analyzer/tools/build-logger/src/ldlogger-logger.o build/temp.linux-x86_64-cpython-311/analyzer/tools/build-logger/src/ldlogger-tool-gcc.o build/temp.linux-x86_64-cpython-311/analyzer/tools/build-logger/src/ldlogger-tool-javac.o build/temp.linux-x86_64-cpython-311/analyzer/tools/build-logger/src/ldlogger-tool.o build/temp.linux-x86_64-cpython-311/analyzer/tools/build-logger/src/ldlogger-util.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-311/codechecker_analyzer/ld_logger/lib/x86_64/ldlogger.so -O2 -fomit-frame-pointer -fvisibility=hidden -pedantic -Wl,--no-as-needed -ldl running build_scripts creating build/scripts-3.11 copying and adjusting scripts/gerrit_changed_files_to_skipfile.py -> build/scripts-3.11 changing mode of build/scripts-3.11/gerrit_changed_files_to_skipfile.py from 644 to 755 /usr/lib/python3/dist-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools. warnings.warn( installing to build/bdist.linux-x86_64/wheel running install running install_lib creating build/bdist.linux-x86_64 creating build/bdist.linux-x86_64/wheel creating build/bdist.linux-x86_64/wheel/codechecker_analyzer creating build/bdist.linux-x86_64/wheel/codechecker_analyzer/ld_logger creating build/bdist.linux-x86_64/wheel/codechecker_analyzer/ld_logger/lib creating build/bdist.linux-x86_64/wheel/codechecker_analyzer/ld_logger/lib/x86_64 copying build/lib.linux-x86_64-cpython-311/codechecker_analyzer/ld_logger/lib/x86_64/ldlogger.so -> build/bdist.linux-x86_64/wheel/codechecker_analyzer/ld_logger/lib/x86_64 running install_data creating build/bdist.linux-x86_64/wheel/codechecker-6.24.0.data creating build/bdist.linux-x86_64/wheel/codechecker-6.24.0.data/data creating build/bdist.linux-x86_64/wheel/codechecker-6.24.0.data/data/share creating build/bdist.linux-x86_64/wheel/codechecker-6.24.0.data/data/share/codechecker creating build/bdist.linux-x86_64/wheel/codechecker-6.24.0.data/data/share/codechecker/docs copying docs/README.md -> build/bdist.linux-x86_64/wheel/codechecker-6.24.0.data/data/share/codechecker/docs creating build/bdist.linux-x86_64/wheel/codechecker-6.24.0.data/data/share/codechecker/analyzer copying analyzer/requirements.txt -> build/bdist.linux-x86_64/wheel/codechecker-6.24.0.data/data/share/codechecker/analyzer creating build/bdist.linux-x86_64/wheel/codechecker-6.24.0.data/data/share/codechecker/web copying web/requirements.txt -> build/bdist.linux-x86_64/wheel/codechecker-6.24.0.data/data/share/codechecker/web creating build/bdist.linux-x86_64/wheel/codechecker-6.24.0.data/data/share/codechecker/ld_logger creating build/bdist.linux-x86_64/wheel/codechecker-6.24.0.data/data/share/codechecker/ld_logger/include copying analyzer/tools/build-logger/src/ldlogger-hooks.h -> build/bdist.linux-x86_64/wheel/codechecker-6.24.0.data/data/share/codechecker/ld_logger/include copying analyzer/tools/build-logger/src/ldlogger-tool.h -> build/bdist.linux-x86_64/wheel/codechecker-6.24.0.data/data/share/codechecker/ld_logger/include copying analyzer/tools/build-logger/src/ldlogger-util.h -> build/bdist.linux-x86_64/wheel/codechecker-6.24.0.data/data/share/codechecker/ld_logger/include running install_egg_info error: error in 'egg_base' option: 'build_dist/CodeChecker/lib/python3' does not exist or is not a directory [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building wheel for codechecker Running setup.py clean for codechecker Failed to build codechecker Installing collected packages: codechecker Running setup.py install for codechecker ... error error: subprocess-exited-with-error × Running setup.py install for codechecker did not run successfully. │ exit code: 1 ╰─> [43 lines of output] running install /usr/lib/python3/dist-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools. warnings.warn( running build running build_ext building 'codechecker_analyzer.ld_logger.lib.ldlogger' extension creating build creating build/temp.linux-x86_64-cpython-311 creating build/temp.linux-x86_64-cpython-311/analyzer creating build/temp.linux-x86_64-cpython-311/analyzer/tools creating build/temp.linux-x86_64-cpython-311/analyzer/tools/build-logger creating build/temp.linux-x86_64-cpython-311/analyzer/tools/build-logger/src x86_64-linux-gnu-gcc -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -D__LOGGER_MAIN__ -D_GNU_SOURCE -I/usr/include/python3.11 -c analyzer/tools/build-logger/src/ldlogger-hooks.c -o build/temp.linux-x86_64-cpython-311/analyzer/tools/build-logger/src/ldlogger-hooks.o analyzer/tools/build-logger/src/ldlogger-hooks.c: In function ‘unsetLDPRELOAD’: analyzer/tools/build-logger/src/ldlogger-hooks.c:68:64: warning: the comparison will always evaluate as ‘true’ for the pointer operand in ‘pos + -1’ must not be NULL [-Waddress] 68 | if ((prefix_length == pos_number) && ( pos_number == 0 || (pos-1 && *--pos == '/'))) | ^~~ x86_64-linux-gnu-gcc -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -D__LOGGER_MAIN__ -D_GNU_SOURCE -I/usr/include/python3.11 -c analyzer/tools/build-logger/src/ldlogger-logger.c -o build/temp.linux-x86_64-cpython-311/analyzer/tools/build-logger/src/ldlogger-logger.o x86_64-linux-gnu-gcc -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -D__LOGGER_MAIN__ -D_GNU_SOURCE -I/usr/include/python3.11 -c analyzer/tools/build-logger/src/ldlogger-tool-gcc.c -o build/temp.linux-x86_64-cpython-311/analyzer/tools/build-logger/src/ldlogger-tool-gcc.o x86_64-linux-gnu-gcc -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -D__LOGGER_MAIN__ -D_GNU_SOURCE -I/usr/include/python3.11 -c analyzer/tools/build-logger/src/ldlogger-tool-javac.c -o build/temp.linux-x86_64-cpython-311/analyzer/tools/build-logger/src/ldlogger-tool-javac.o x86_64-linux-gnu-gcc -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -D__LOGGER_MAIN__ -D_GNU_SOURCE -I/usr/include/python3.11 -c analyzer/tools/build-logger/src/ldlogger-tool.c -o build/temp.linux-x86_64-cpython-311/analyzer/tools/build-logger/src/ldlogger-tool.o x86_64-linux-gnu-gcc -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -D__LOGGER_MAIN__ -D_GNU_SOURCE -I/usr/include/python3.11 -c analyzer/tools/build-logger/src/ldlogger-util.c -o build/temp.linux-x86_64-cpython-311/analyzer/tools/build-logger/src/ldlogger-util.o creating build/lib.linux-x86_64-cpython-311 creating build/lib.linux-x86_64-cpython-311/codechecker_analyzer creating build/lib.linux-x86_64-cpython-311/codechecker_analyzer/ld_logger creating build/lib.linux-x86_64-cpython-311/codechecker_analyzer/ld_logger/lib creating build/lib.linux-x86_64-cpython-311/codechecker_analyzer/ld_logger/lib/x86_64 x86_64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -g -fwrapv -O2 build/temp.linux-x86_64-cpython-311/analyzer/tools/build-logger/src/ldlogger-hooks.o build/temp.linux-x86_64-cpython-311/analyzer/tools/build-logger/src/ldlogger-logger.o build/temp.linux-x86_64-cpython-311/analyzer/tools/build-logger/src/ldlogger-tool-gcc.o build/temp.linux-x86_64-cpython-311/analyzer/tools/build-logger/src/ldlogger-tool-javac.o build/temp.linux-x86_64-cpython-311/analyzer/tools/build-logger/src/ldlogger-tool.o build/temp.linux-x86_64-cpython-311/analyzer/tools/build-logger/src/ldlogger-util.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-311/codechecker_analyzer/ld_logger/lib/x86_64/ldlogger.so -O2 -fomit-frame-pointer -fvisibility=hidden -pedantic -Wl,--no-as-needed -ldl running build_scripts creating build/scripts-3.11 copying and adjusting scripts/gerrit_changed_files_to_skipfile.py -> build/scripts-3.11 changing mode of build/scripts-3.11/gerrit_changed_files_to_skipfile.py from 644 to 755 running install_lib copying build/lib.linux-x86_64-cpython-311/codechecker_analyzer/ld_logger/lib/x86_64/ldlogger.so -> /usr/local/lib/python3.11/dist-packages/codechecker_analyzer/ld_logger/lib/x86_64 running install_data copying docs/README.md -> /usr/local/share/codechecker/docs copying analyzer/requirements.txt -> /usr/local/share/codechecker/analyzer copying web/requirements.txt -> /usr/local/share/codechecker/web copying analyzer/tools/build-logger/src/ldlogger-hooks.h -> /usr/local/share/codechecker/ld_logger/include copying analyzer/tools/build-logger/src/ldlogger-tool.h -> /usr/local/share/codechecker/ld_logger/include copying analyzer/tools/build-logger/src/ldlogger-util.h -> /usr/local/share/codechecker/ld_logger/include running install_egg_info error: error in 'egg_base' option: 'build_dist/CodeChecker/lib/python3' does not exist or is not a directory [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. error: legacy-install-failure × Encountered error while trying to install package. ╰─> codechecker note: This is an issue with the package mentioned above, not pip. hint: See above for output from the failure.

whisperity commented 3 months ago

Unfortunately, the structure of the repository in its source form is not canonical, so tool breakages like this is expectable.

There are several ways of installing the package in a Linux environment, but directly pulling the Git repository is not one of them. You should either follow the install guide in the README (there is a need for a virtualenv and then run the appropriate make command such that the package structure comes together as expected), OR use the PyPI package as published to PyPI.

I can see that the PyPI package is not available yet, we only did the release a few workdays ago and still need to clear several internal steps to verify that everything works as expected. (We had issues prior where the PyPI package had to be recalled, but this recall is an action which forever prohibits using that version number ever again, so deployment to PyPI is postponed until we are sure that everything works fine.)

aag-norbert-lange commented 3 months ago

The package not being in PyPI is the reason I resorted to git. What could go wrong =).

Should the Archive work?

whisperity commented 3 months ago

The package not being in PyPI is the reason I resorted to git. What could go wrong =).

I would like to apologise on behalf of the entire team. We will likely get on with finishing up the deployment to PyPI soon.

Should the Archive work?

Unlikely. That is the exact same as what is available in the repository in source form. (For a built distribution to work, there are compiled C libraries that are part of the deployment.) The install guide for Linux platforms is available here: https://github.com/Ericsson/codechecker?tab=readme-ov-file#linux

This is primarily tested for Ubuntu, but should be applicable to upstream Debian as well. Basically you need a few packages related to GCC, if you want to use the Web interface, you need a more recent version of NodeJS, and you will need to create a Python virtualenv such that Python dependencies are available. But the virtualenv and the full package is assembled by calling make appropriately, so the only "system-level" things you have to deal with is the GCC-related packages and NodeJS's core installation.

If you want to run only the web interface ("server", and not do any analysis), then it is possible to run CodeChecker directly in Docker: v6.24.0 web is available: https://hub.docker.com/layers/codechecker/codechecker-web/6.24.0/images/sha256-23d67c8112f2c85ed7cbf16fe0e98187e03a58e63eeeac86476984797c9e0eaf?context=explore

whisperity commented 3 months ago

What could work (but only as a test and NOT RECOMMENDED for long-term use!!!!) is the raw PyPI distribution artefact from the CI job: https://github.com/Ericsson/codechecker/actions/runs/9484608612.

Doing the steps outlined in the installation guide is definitely safer and better tested.

If you are fine with running CodeChecker inside Docker, an alternative starting point is the Dockerfile for the web system: https://github.com/Ericsson/codechecker/blob/master/web/docker/Dockerfile. I think this file could be patched to install the analyze requirements and to have a Clang inside it and then you should have an environment in which analysis can be run. I had done some prior work (actually, several, but #2888 is the most recent) for running analysis inside Docker, but it is non-trivial, because the analysis environment must contain the environment where the project-to-be-analysed can successfully compile (including all C or C++ system library dependencies, etc.).

aag-norbert-lange commented 3 months ago

I am not looking for the Web version (theres a working docker image on the hub), but building a container which has clang, cmake and the CodeChecker binary for analyze. Thanks, I will patiently wait until PyPI is updated

whisperity commented 3 months ago

(I reopened the issue such that we can see that this still needs to be done and should not consider 6.24.0 as something that is truly finished, just yet.)

pdgendt commented 1 month ago

Version 6.24.0 is on pypi, but now 6.24.1 isn't 😄

bruntib commented 4 weeks ago

CodeChecker 6.24.0 is deployed in Pypi. 6.24.1 is coming soon.