SUMMARY Unable to build locally using docker image STEPS TO REPRODUCE 1. Follow instruction on "Building krita with Docker on Linux" page (https://docs.krita.org/en/untranslatable_pages/building/build_krita_with_docker_on_linux.html#id1) 2. Got error 3. Error is: ```txt ERROR [stage-1 1/3] COPY --chown=appimage:appimage .foo persistent/deps/_install/ /home/appimage/appimage-workspace/deps/usr/ ERROR: failed to solve: failed to compute cache key: failed to calculate checksum of ref YOTA:TYOX:W4XG:2SFB:D775:EQKW:N4PQ:6JDL:X2VO:SOUK:PYV5:2FCX::ii5xavtpld1evkklam8r6gf1y: "/persistent/deps/_install": not found ``` LIVE TERMINAL RECORDING: https://asciinema.org/a/658113 OBSERVED RESULT error EXPECTED RESULT no error SOFTWARE/OS VERSIONS Xubuntu 24.04 Docker version 26.1.0, build 9714adc ADDITIONAL INFORMATION built from sources, commit 425426ed9771acf22886fa12f1dbcb8e58b87387 (HEAD -> master, origin/master, origin/HEAD)
I have crash on my new 24.04 on snap version installed, and only way to get logs is to build from sources, but I got exception even on that
Hi, vkhry! Are you sure you performed "Downloading prebuilt Krita dependencies" step? It seems like the dependencies are not present in the expected location: https://docs.krita.org/en/untranslatable_pages/building/build_krita_with_docker_on_linux.html#downloading-prebuilt-krita-dependencies
(In reply to Dmitry Kazakov from comment #2) > Hi, vkhry! > > Are you sure you performed "Downloading prebuilt Krita dependencies" step? > It seems like the dependencies are not present in the expected location: > > https://docs.krita.org/en/untranslatable_pages/building/ > build_krita_with_docker_on_linux.html#downloading-prebuilt-krita-dependencies Yes. I ran that script. Still it may be broken itself: ```txt ./bin/bootstrap-deps.sh + '[' '!' -d ./persistent/deps/ ']' + mkdir -p ./persistent/deps/ + '[' '!' -d ./persistent/deps//_install ']' + cd ./persistent/deps/ + '[' '!' -d ./krita-deps-management ']' + git clone https://invent.kde.org/dkazakov/krita-deps-management.git Cloning into 'krita-deps-management'... remote: Enumerating objects: 2344, done. remote: Counting objects: 100% (675/675), done. remote: Compressing objects: 100% (211/211), done. remote: Total 2344 (delta 586), reused 507 (delta 463), pack-reused 1669 Receiving objects: 100% (2344/2344), 481.26 KiB | 1.91 MiB/s, done. Resolving deltas: 100% (1224/1224), done. + '[' '!' -d ./krita-deps-management/ci-utilities ']' + git clone https://invent.kde.org/dkazakov/ci-utilities.git -b work/split-ci-branch krita-deps-management/ci-utilities Cloning into 'krita-deps-management/ci-utilities'... remote: Enumerating objects: 1686, done. remote: Counting objects: 100% (1282/1282), done. remote: Compressing objects: 100% (463/463), done. remote: Total 1686 (delta 1089), reused 951 (delta 812), pack-reused 404 Receiving objects: 100% (1686/1686), 257.09 KiB | 1.65 MiB/s, done. Resolving deltas: 100% (1168/1168), done. + python3 -m venv PythonEnv --upgrade-deps The virtual environment was not created successfully because ensurepip is not available. On Debian/Ubuntu systems, you need to install the python3-venv package using the following command. apt install python3.12-venv You may need to use sudo with that command. After installing the python3-venv package, recreate your virtual environment. Failing command: /home/msangel/tmp/krita-auto-1/persistent/deps/PythonEnv/bin/python3 --2024-05-06 23:13:03-- https://files.kde.org/krita/build/qtcreator-package.tar.gz Resolving files.kde.org (files.kde.org)... 49.12.122.15, 2a01:4f8:242:53eb::4 Connecting to files.kde.org (files.kde.org)|49.12.122.15|:443... connected. HTTP request sent, awaiting response... 302 Found Location: https://kde-applicationdata.mirrors.omnilance.com/krita/build/qtcreator-package.tar.gz [following] --2024-05-06 23:13:03-- https://kde-applicationdata.mirrors.omnilance.com/krita/build/qtcreator-package.tar.gz Resolving kde-applicationdata.mirrors.omnilance.com (kde-applicationdata.mirrors.omnilance.com)... 185.126.112.9, 2001:67c:25dc:2::128:20 Connecting to kde-applicationdata.mirrors.omnilance.com (kde-applicationdata.mirrors.omnilance.com)|185.126.112.9|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 244378104 (233M) [application/octet-stream] Saving to: ‘./qtcreator-package.tar.gz’ ./qtcreator-package.tar.gz 100%[======================================================================================================================>] 233,06M 2,71MB/s in 91s 2024-05-06 23:14:34 (2,56 MB/s) - ‘./qtcreator-package.tar.gz’ saved [244378104/244378104] ✔ nb6:~/tmp/krita-auto-1 [master|✔]> ```
I see the error now. > On Debian/Ubuntu systems, you need to install the python3-venv > package using the following command. > > apt install python3.12-venv this dependency should be defined as preinstalled in the documentation Still, after resolving this I have the build failed/hang with new error now: > Building wheels for collected packages: setuptools > Building wheel for setuptools (pyproject.toml) ... done > Created wheel for setuptools: filename=setuptools-69.0.3.post20240507-py3-none-any.whl size=823036 sha256=25e678d13c8fa3df846c1911ea79fdd32dd10c62dde37cca5093929c8a065f9c > Stored in directory: /home/msangel/.cache/pip/wheels/c9/f2/02/cee13b304354199ddad58f118463702ef5a5b97c18f36b42b4 > Successfully built setuptools > Installing collected packages: ply, urllib3, toml, setuptools, pyyaml, packaging, lxml, idna, charset-normalizer, certifi, requests, requests-toolbelt, python-gitlab > Successfully installed certifi-2023.11.17 charset-normalizer-3.3.2 idna-3.6 lxml-4.9.3 packaging-23.2 ply-3.11 python-gitlab-4.2.0 pyyaml-6.0.1 requests-2.31.0 requests-toolbelt-1.0.0 setuptools-69.0.3.post20240507 toml-0.10.2 urllib3-2.1.0 > + python krita-deps-management/tools/setup-env.py --full-krita-env -v PythonEnv > ## Environment root: /home/msangel/tmp/krita-auto-1/persistent/deps > ## Generating cache folders... > ## created: /home/msangel/tmp/krita-auto-1/persistent/deps/cache > ## created: /home/msangel/tmp/krita-auto-1/persistent/deps/ccache > ## created: /home/msangel/tmp/krita-auto-1/persistent/deps/cache/downloads > KDECI_CACHE_PATH -> /home/msangel/tmp/krita-auto-1/persistent/deps/cache > KDECI_CC_CACHE -> /home/msangel/tmp/krita-auto-1/persistent/deps/ccache > EXTERNALS_DOWNLOAD_DIR -> /home/msangel/tmp/krita-auto-1/persistent/deps/cache/downloads > KDECI_GITLAB_SERVER -> https://invent.kde.org/ > KDECI_PACKAGE_PROJECT -> dkazakov/krita-ci-artifacts-appimage-qt5.15 > KDECI_BUILD_TYPE -> Release > KDECI_BUILD_TARGET -> ext_build > KDECI_INSTALL_TARGET -> ext_install > KDECI_COMPRESS_PACKAGES_ON_DOWNLOAD -> 1 > KDECI_GLOBAL_CONFIG_OVERRIDE_PATH -> /home/msangel/tmp/krita-auto-1/persistent/deps/krita-deps-management/global-config.yml > KDECI_REPO_METADATA_PATH -> /home/msangel/tmp/krita-auto-1/persistent/deps/krita-deps-management/repo-metadata > ## RUNNING DEPS GENERATION SCRIPT: /home/msangel/tmp/krita-auto-1/persistent/deps/PythonEnv/bin/python -s /home/msangel/tmp/krita-auto-1/persistent/deps/krita-deps-management/tools/generate-deps-file.py -o /home/msangel/tmp/krita-auto-1/persistent/deps/.kde-ci.yml -s /home/msangel/tmp/krita-auto-1/persistent/deps/krita-deps-management/tools/../latest/krita-deps.yml > ## RUNNING DEPS FETCH SCRIPT: /home/msangel/tmp/krita-auto-1/persistent/deps/PythonEnv/bin/python -s /home/msangel/tmp/krita-auto-1/persistent/deps/krita-deps-management/tools/../ci-utilities/run-ci-build.py --only-env -e env --project krita --branch master --platform Linux > /home/msangel/tmp/krita-auto-1/persistent/deps/krita-deps-management/ci-utilities/components/MergeFolders.py:89: SyntaxWarning: invalid escape sequence '\.' > '.*/_vendor/.*\.py', > /home/msangel/tmp/krita-auto-1/persistent/deps/krita-deps-management/ci-utilities/components/Dependencies.py:106: SyntaxWarning: invalid escape sequence '\.' > command = 'git for-each-ref --format="^%(refname)" | grep -E "refs/heads/master|refs/heads/kf[56]|refs/heads/.*[0-9]\.[0-9]+" | git rev-list --stdin --reverse HEAD | head -n1' > /home/msangel/tmp/krita-auto-1/persistent/deps/krita-deps-management/ci-utilities/components/Dependencies.py:119: SyntaxWarning: invalid escape sequence '\.' > command = 'git for-each-ref --contains {0}^ --format="%(refname)" | grep -E "refs/heads/master|refs/heads/kf[56]|refs/heads/.*[0-9]\.[0-9]+" | sort -r -n'.format( firstBranchCommit ) Lath thing I see in logs is error BUT baybe it doing some work silently IDK
After second attempt it now not throw any errors. I believe its because python venv is now activated properly from the first attempt. This also should be fixed. And still is hanging without any output on this: > ## RUNNING DEPS FETCH SCRIPT: /home/msangel/tmp/krita-auto-1/persistent/deps/PythonEnv/bin/python -s /home/msangel/tmp/krita-auto-1/persistent/deps/krita-deps-management/tools/../ci-utilities/run-ci-build.py --only-env -e env --project krita --branch master --platform Linux Just because I have network monitor widget I can see it actually downloading something. Anycase, long-running operations must show its progress into terminal as people will think it hangs.
And final touch. On mine ubuntu 24.04 impossible to connect to pulseaudio socket since starting from 22.04 pipewire is added to the system and it has conflict with pulseaudio when it cames about bluetooth audio so I have removed pulseaudio at all(as in this instruction: https://wiki.archlinux.org/title/PipeWire#PulseAudio_clients ). Most of systems now are drifting from pulseaudio to pipewire because its simply better. So if this script requires audio device then it should work with pipewire OR the pulseaudio dependency should be removed. > ./bin/run_container > Auto-select image name: krita-auto-1 > Auto-select container name: krita-auto-1 > ### Creating a pulseaudio socket... > /home/msangel/tmp/krita-auto-1/bin/try_create_pulseaudio_socket.inc: line 6: pactl: command not found > ### Forwarding XAUTH cookie... > 54a9ef10a9f5a489de601326c5a20146aca6500bc478fca072d1e4667984186d
SO, on this I am unable to build the krita because of these bugs: * `python3.12-venv` dependency is required but not documented * python env activation issue from the first run * `RUNNING DEPS FETCH SCRIPT` silent with no terminal activities for long time * imply target system has `pulseaudio` (no longer a true for Debian based systems) Therefore no normal crash report for 24.04 for you as logs available only for version built from sources
Even if the pulseaudio error, I see the image is built and I see its running. BUT I have no glue if: - if the running docker container is building krita? - how it is building a krita? - where it is putting its output (built krita binary with resources)? - can I rebuilt it with some flags using the same image?
Thanks for your comment! Automatically switching the status of this bug to REPORTED so that the KDE team knows that the bug is ready to get confirmed. In the future you may also do this yourself when providing needed information.
Hi, vkhry! Thank you for your detailed report! > `python3.12-venv` dependency is required but not documented I have added the nodes about that, it will appear after the documentation site is rebuilt: https://invent.kde.org/documentation/docs-krita-org/-/commit/9ee2554eeee5ded35fcf1c4c0009464ba803cefa > python env activation issue from the first run I guess it was related to some previous failure to activate venv, I don't see how that could appear otherwise > `RUNNING DEPS FETCH SCRIPT` silent with no terminal activities for long time I've added an issue for that to the corresponding project: https://invent.kde.org/dkazakov/krita-deps-management/-/issues/12 Since the SDP project is not finished yet, it is not a priority right. But the fix should be simple enough, you can fix it yourself, if you'd like to. > imply target system has `pulseaudio` (no longer a true for Debian based systems) I don't have a system with piperwire atm, so I just added an issue and will wait until someone with such a system would fix it: https://invent.kde.org/dkazakov/krita-docker-env/-/issues/1 > if the running docker container is building krita? Not, unless you started it manually or called ./bin/build_krita with arguments. See full docs here: https://docs.krita.org/en/untranslatable_pages/building/build_krita_with_docker_on_linux.html#building-krita-with-docker - where it is putting its output (built krita binary with resources)? If you run ./bin/build_krita_appimage, then it will build an appimage and put that into your persistent folder, then you will be able to run Krita on your host system. You can pass `--debug` flag to this script as well. - can I rebuilt it with some flags using the same image? Yes, sure. It is a normal developer's environment.
Dear Bug Submitter, This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information as soon as possible and set the bug status as REPORTED. Due to regular bug tracker maintenance, if the bug is still in NEEDSINFO status with no change in 30 days the bug will be closed as RESOLVED > WORKSFORME due to lack of needed information. For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging If you have already provided the requested information, please mark the bug as REPORTED so that the KDE team knows that the bug is ready to be confirmed. Thank you for helping us make KDE software even better for everyone!
This bug has been in NEEDSINFO status with no change for at least 30 days. The bug is now closed as RESOLVED > WORKSFORME due to lack of needed information. For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging Thank you for helping us make KDE software even better for everyone!