Bug 2520670 - Gramps needs a specific version of the Gexiv2 module (0.10) and Fedora supply 0.16 what causes an error
Summary: Gramps needs a specific version of the Gexiv2 module (0.10) and Fedora supply...
Keywords:
Status: ASSIGNED
Alias: None
Product: Fedora
Classification: Fedora
Component: gramps
Version: 44
Hardware: x86_64
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Gwyn Ciesla
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-08-20 18:19 UTC by Pepe Perez
Modified: 2026-08-20 18:50 UTC (History)
3 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Type: ---
Embargoed:


Attachments (Terms of Use)
It's the message pop up that Grmps shows at the beggining (29.32 KB, image/png)
2026-08-20 18:23 UTC, Pepe Perez
no flags Details

Description Pepe Perez 2026-08-20 18:19:58 UTC
I installed Gramps from Fedora repositories with dnf install, the process was smooth, no problems. When the application starts it shows a message that says: The module GExiv2 has not loaded, image metadata functionality will no be available, (in spanish, the app is installed in my mother language). I can close that message and continue using the program, but i need the functionality and i think that applications must have all the functionalities complete.

Reproducible: Always

Steps to Reproduce:
1.Just install Gramps from Fedora repositories
2.Start the app
3.The error message pops up
Actual Results:
The app reports the error

Expected Results:
Doesn't shows the pop up an have the functionaly from the beggining with no errors

Additional Information:
I am not a very tech person, i can handle some issues but this i couldn't so i asked to Claude LLM and help me with some shell commands y tell me that Gramps need the version 0.10 of the module anf Fedora install the version 0.16, but Gramp don't use it, so at the moment of packing the app the version 0.10 of the module must be shipped with the package or do it dinamically at runtime (that was i understand). I will put here some results of the commands i used with the LLM help, I hope they are helpful.

 
->sudo dnf install gexiv2
[sudo] contraseña para german: 
Actualizando y cargando repositorios:
Repositorios cargados.
Error al resolver la transacción:
No coincide para argumento: gexiv2
Puede intentar añadir a la línea de comandos:
  --skip-unavailable para omitir paquetes no disponibles

->sudo dnf install libgexiv2
Actualizando y cargando repositorios:
Repositorios cargados.
El paquete "libgexiv2-0.16.2-1.fc44.x86_64" ya está instalado.

Nada que hacer.

->sudo dnf install python3-gexiv2
Actualizando y cargando repositorios:
Repositorios cargados.
Paquete                                                  Arq.          Versión                                                  Repositorio                      Tamaño
Instalando:
 python3-gexiv2                                          noarch        0:0.16.2-1.fc44                                          updates                         8.2 KiB

Resumen de la transacción:
 Instalando:          1 paquete

El tamaño total de paquetes entrantes es 12 KiB. Se necesita descargar 12 KiB.
Después de esta operación, 8 KiB extra serán utilizados (instalar 8 KiB, eliminar 0 B).
Is this ok [y/N]: y
[1/1] python3-gexiv2-0:0.16.2-1.fc44.noarch                                                                                    100% |  39.7 KiB/s |  11.7 KiB |  00m00s
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
[1/1] Total                                                                                                                    100% |  13.4 KiB/s |  11.7 KiB |  00m01s
Ejecutando transacción
[1/3] Verificar archivos de paquete                                                                                            100% | 333.0   B/s |   1.0   B |  00m00s
[2/3] Preparar transacción                                                                                                    100% |   3.0   B/s |   1.0   B |  00m00s
[3/3] Instalando python3-gexiv2-0:0.16.2-1.fc44.noarch                                                                         100% |  11.6 KiB/s |   8.9 KiB |  00m01s
¡Completado!

->python3 -c "from gi.repository import GExiv2; print(GExiv2)"
<string>:1: PyGIWarning: GExiv2 was imported without specifying a version first. Use gi.require_version('GExiv2', '0.16') before import to ensure that the right version gets loaded.
<OverridesProxyModule <IntrospectionModule 'GExiv2' from '/usr/lib64/girepository-1.0/GExiv2-0.16.typelib'>>

->rpm -ql libgexiv2 | grep typelib
/usr/lib64/girepository-1.0/GExiv2-0.16.typelib

->which gramps
/usr/bin/gramps

->head -1 $(which gramps)
#! /usr/bin/python3 -sP

->/usr/bin/python3 -sP -c "from gi.repository import GExiv2; print(GExiv2)"
<string>:1: PyGIWarning: GExiv2 was imported without specifying a version first. Use gi.require_version('GExiv2', '0.16') before import to ensure that the right version gets loaded.
<OverridesProxyModule <IntrospectionModule 'GExiv2' from '/usr/lib64/girepository-1.0/GExiv2-0.16.typelib'>>

->sudo ln -s /usr/lib64/girepository-1.0/GExiv2-0.16.typelib /usr/lib64/girepository-1.0/GExiv2-0.10.typelib
[sudo] contraseña para german: 

->python3 -c "import gi; gi.require_version('GExiv2', '0.10'); from gi.repository import GExiv2; print('OK:', GExiv2)"
Traceback (most recent call last):
  File "/usr/lib64/python3.14/site-packages/gi/importer.py", line 137, in create_module
    introspection_module = get_introspection_module(namespace)
  File "/usr/lib64/python3.14/site-packages/gi/module.py", line 247, in get_introspection_module
    module = IntrospectionModule(namespace, version)
  File "/usr/lib64/python3.14/site-packages/gi/module.py", line 107, in __init__
    repository.require(namespace, version)
    ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
gi.RepositoryError: Typelib file /usr/lib64/girepository-1.0/GExiv2-0.10.typelib for namespace 'GExiv2' contains version '0.16' which doesn't match the expected version '0.10'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
    import gi; gi.require_version('GExiv2', '0.10'); from gi.repository import GExiv2; print('OK:', GExiv2)
                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.14/site-packages/gi/importer.py", line 139, in create_module
    raise ImportError(e) from e
ImportError: Typelib file /usr/lib64/girepository-1.0/GExiv2-0.10.typelib for namespace 'GExiv2' contains version '0.16' which doesn't match the expected version '0.10'

->sudo rm /usr/lib64/girepository-1.0/GExiv2-0.10.typelib

->rpm -q
rpm: no ha sido indicado ningún argumento para la consulta

->cat /etc/fedora-release
Fedora release 44 (Forty Four)

Comment 1 Pepe Perez 2026-08-20 18:23:37 UTC
Created attachment 2155146 [details]
It's the message pop up that Grmps shows at the beggining

I hope it is helpful

Comment 2 Gwyn Ciesla 2026-08-20 18:50:04 UTC
That's interesting. I'm also on fedora 44, with gramps 6.0.8, and libgexiv2 0.16.2 and I didn't get the message. Then I installed python3-gexiv2-0.16.2, and I still don't get the message. Do you have any custom Python modules installed with pip? You are running the rpm version of Gramps, correct?


Note You need to log in before you can comment on or make changes to this bug.