Libjxl 11 missing but available

Sorry for the dumb question, but it will be also useful for me to better understand my system :slight_smile:
I’m using the nightly version of darktable from the OBS repository and after the lastes update it is broken because libjxl0_11 is missing.
I know that I’m using something that can be broken, but:

  • on my system my libjxl is v10 (libjxl0_10 from zypper informations)
  • on OBS libjxl is v11

So my question is: why if the v11 is on the OBS repo, is not taken in to account when upgrading?

Thanks.

Edit:

My repos and priorities:

➜  ~ sudo zypper repos -p    
#  | Alias                                    | Name                                                 | Enabled | GPG Check | Refresh | Priority
---+------------------------------------------+------------------------------------------------------+---------+-----------+---------+---------
 1 | amdgpu                                   | amdgpu                                               | Yes     | (r ) Yes  | No      |   99
 2 | devel_languages_pharo_stable             | devel:languages:pharo:stable                         | Yes     | (r ) Yes  | Yes     |   99
 3 | download.opensuse.org-non-oss            | Main Repository (NON-OSS)                            | Yes     | (r ) Yes  | Yes     |   99
 4 | download.opensuse.org-oss                | Main Repository (OSS)                                | Yes     | (r ) Yes  | Yes     |   99
 5 | download.opensuse.org-tumbleweed         | Main Update Repository                               | Yes     | (r ) Yes  | Yes     |   99
 6 | graphics_darktable_master                | Darktable-Org Master snapshots (openSUSE_Tumbleweed) | Yes     | (r ) Yes  | Yes     |   99
 7 | openh264                                 | openh264                                             | Yes     | (r ) Yes  | Yes     |   90
 8 | packman                                  | Packman                                              | Yes     | (r ) Yes  | Yes     |   70
 9 | repo-debug                               | openSUSE-Tumbleweed-Debug                            | No      | ----      | ----    |   99
10 | repo-openh264                            | Open H.264 Codec (openSUSE Tumbleweed)               | No      | ----      | ----    |   99
11 | repo-source                              | openSUSE-Tumbleweed-Source                           | No      | ----      | ----    |   99
12 | rocm                                     | rocm                                                 | Yes     | (r ) Yes  | No      |   99
13 | shells_zsh-users_zsh-autosuggestions     | zsh-autosuggestions (openSUSE_Tumbleweed)            | Yes     | (r ) Yes  | No      |   99
14 | shells_zsh-users_zsh-syntax-highlighting | zsh-syntax-highlighting (openSUSE_Tumbleweed)        | Yes     | (r ) Yes  | No      |   99

Every package has “vendor” property and by default zypper will not switch vendor for existing packages. Vendor in standard openSUSE repositories is openSUSE; vendor in third-party repository is usually something else. Repository priorities are only relevant for new packages.

If you need to replace a installed package with the package from a third-party repository, you need to explicitly (force) install this package from this repository.

As I see it, version 0_11 is available from the Graphics repo:
https://download.opensuse.org/repositories/graphics/openSUSE_Tumbleweed/x86_64/
but you currently do not have that repo in your repo list and zypper only finds the 0_10 version currently in the OSS repo.
You may add that repo with:

zypper addrepo -f https://download.opensuse.org/repositories/graphics/openSUSE_Tumbleweed/graphics.repo

OK, sorry, I did not pay attention.

The graphics:darktable:master project is built against openSUSE:Factory, and Factory already moved to libjxl0_11. It will be in Tumbleweed after usual staging.

Arguably project should not call repository openSUSE_Tumbleweed in the fist place because it is misleading. Either it should be called openSUSE_Factory or it should be built against Tumbleweed.

Apologize, but still not getting the difference. I know that the darktable repository is something I added manually to get the nightly, but I do not understand the difference between the ‘default’ repo I have in my settings and the one you and I linked ‘graphics’. Is this part of the official repository or not? I do not want to mess my setup and I can wait for libjxl to be in the ‘default’ repo. Sorry if I misuse the terms but I’m not sure how to call them.

No, it is not. Neither is darktable repository you are using (I assume you are using because you have not shown repository URLs and repository names are meaningless).

Ok thanks for pointing out the url:

6 | graphics_darktable_master | Darktable-Org Master snapshots (openSUSE_Tumbleweed) | Yes | (r ) Yes | Yes | https://download.opensuse.org/repositories/graphics:/darktable:/master/openSUSE_Tumbleweed/

I think I better understand now; let me try to recap to see if I get this well:

  • I’m using the OBS repository to get the latest darktable build
  • the nightly has been updated to use a new libjxl that is part of the same graphics repo
  • as I’m only using the darktable repo, my setup cannot ‘reach’ the new libjxl
  • I have to wait to get the new libjxl in my ‘default’ repo

If I want to add the graphic repo I new to add it manually as @OrsoBruno is suggesting but probably this will update also lot of other applications and not sure this is what I want now :slight_smile:

I do not know what is “the same graphics repo” you are talking about, but to repeat - darktable project you are using does not use graphics project at all. It builds against openSUSE:Factory. graphics is yet another development project used to prepare packages for Factory. The flow is (in case of libjxl) graphicsopenSUSE:FactoryTumbleweed. So, directly using graphics will result in using even newer and less tested packages.

1 Like

thanks @arvidjaar
To give the complete picture I followed the instructions I’ve got from darktable website’s install page.
I followed the darktable master page, then opensuse tumbleweed and last:

zypper addrepo https://download.opensuse.org/repositories/graphics:darktable:master/openSUSE_Tumbleweed/graphics:darktable:master.repo
zypper refresh
zypper install darktable

I think I’ll wait couple of days to get the new libjxl to avoid messing up the current setup.

libjxl0_11 is available in the OSS repo (if you don’t find it just wait for your local mirror to catch up).

LT-B:~ # zypper se -s libjxl
Loading repository data...
Reading installed packages...

S  | Name                 | Type    | Version    | Arch   | Repository
---+----------------------+---------+------------+--------+----------------------
   | libjxl-devel         | package | 0.11.0-1.1 | x86_64 | Main Repository (OSS)
   | libjxl-tools         | package | 0.11.0-1.1 | x86_64 | Main Repository (OSS)
i  | libjxl0_10           | package | 0.10.3-2.1 | x86_64 | (System Packages)
   | libjxl0_11           | package | 0.11.0-1.1 | x86_64 | Main Repository (OSS)
   | libjxl0_11-32bit     | package | 0.11.0-1.1 | x86_64 | Main Repository (OSS)
   | libjxl0_11-x86-64-v3 | package | 0.11.0-1.1 | x86_64 | Main Repository (OSS)
LT-B:~ # 
1 Like

Thanks @OrsoBruno now I can see it :slight_smile: everything is going well as usual. Many thanks for the explanations.