Bug 486688 - _install not found
Summary: _install not found
Status: RESOLVED WORKSFORME
Alias: None
Product: krita
Classification: Applications
Component: * Unknown (other bugs)
Version First Reported In: git master (please specify the git hash!)
Platform: Ubuntu Linux
: NOR normal
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-05-06 20:27 UTC by vkhry
Modified: 2024-06-09 03:46 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description vkhry 2024-05-06 20:27:00 UTC
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)
Comment 1 vkhry 2024-05-06 20:28:41 UTC
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
Comment 2 Dmitry Kazakov 2024-05-07 13:47:11 UTC
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
Comment 3 vkhry 2024-05-07 14:01:30 UTC
(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|✔]>
```
Comment 4 vkhry 2024-05-07 16:56:46 UTC
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
Comment 5 vkhry 2024-05-07 17:03:27 UTC
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.
Comment 6 vkhry 2024-05-07 17:45:47 UTC
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
Comment 7 vkhry 2024-05-07 17:50:27 UTC
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
Comment 8 vkhry 2024-05-07 17:59:24 UTC
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?
Comment 9 Bug Janitor Service 2024-05-08 03:46:08 UTC
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.
Comment 10 Dmitry Kazakov 2024-05-10 08:15:14 UTC
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.
Comment 11 Bug Janitor Service 2024-05-25 03:45:34 UTC
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!
Comment 12 Bug Janitor Service 2024-06-09 03:46:28 UTC
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!