Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

QGIS build fails with exiv 2.0.8 #260780

Closed
timlinux opened this issue Oct 12, 2023 · 5 comments
Closed

QGIS build fails with exiv 2.0.8 #260780

timlinux opened this issue Oct 12, 2023 · 5 comments

Comments

@timlinux
Copy link

Describe the bug

It seems exiv has been upgraded upstream to 2.0.8 in unstable and it causes a build failure in QGIS.

https://search.nixos.org/packages?channel=unstable&show=exiv2&from=0&size=50&sort=relevance&type=packages&query=exiv

See qgis/QGIS#53700 where the same issue was reported for ArchLinux users.

Steps to reproduce the behavior:

  1. build either ltr or latest packages
 -Wno-deprecated-copy -O3 -DNDEBUG -fPIC -fvisibility=hidden -fPIC -MD -MT src/core/CMakeFiles/qgis_core.dir/raster/qgsexiftools.cpp.o -MF src/core/CMakeFiles/qgis_core.dir/raster/qgsexiftools.cpp.o.d -o src/core/CMakeFiles/qgis_core.dir/raster/qgsexiftools.cpp.o -c /build/source/src/core/raster/qgsexiftools.cpp
/build/source/src/core/raster/qgsexiftools.cpp: In function 'QVariant decodeXmpData(const QString&, Exiv2::XmpData::const_iterator&)':
/build/source/src/core/raster/qgsexiftools.cpp:69:40: error: 'const class Exiv2::Xmpdatum' has no member named 'toLong'
   69 |         val = QVariant::fromValue( it->toLong() );
      |                                        ^~~~~~
/build/source/src/core/raster/qgsexiftools.cpp:83:60: error: 'const class Exiv2::Xmpdatum' has no member named 'toLong'
   83 |         val = QVariant::fromValue( static_cast< int >( it->toLong() ) );
      |                                                            ^~~~~~
/build/source/src/core/raster/qgsexiftools.cpp: In function 'QVariant decodeExifData(const QString&, Exiv2::ExifData::const_iterator&)':
/build/source/src/core/raster/qgsexiftools.cpp:185:40: error: 'const class Exiv2::Exifdatum' has no member named 'toLong'
  185 |         val = QVariant::fromValue( it->toLong() );
      |                                        ^~~~~~
/build/source/src/core/raster/qgsexiftools.cpp:199:60: error: 'const class Exiv2::Exifdatum' has no member named 'toLong'
  199 |         val = QVariant::fromValue( static_cast< int >( it->toLong() ) );
      |                                                            ^~~~~~
[2003/9833] Building CXX object src/core/CMakeFiles/qgis_core.dir/project/qgsmapviewsmanager.cpp.o
[2004/9833] Building CXX object src/core/CMakeFiles/qgis_core.dir/raster/qgsrasterblock.cpp.o

Expected behavior

Build should complete without error.

Screenshots

n/a

Additional context

n/a

Notify maintainers

@imincik

Metadata

Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.

  • system: "x86_64-linux"
  • host os: Linux 6.5.5, NixOS, 23.11 (Tapir), 23.11pre532072.81e8f48ebdec
  • multi-user?: yes
  • sandbox: yes
  • version: nix-env (Nix) 2.17.0
  • channels(timlinux): "nixos-unstable"
  • channels(root): "nixos"
  • nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
output here
@timlinux
Copy link
Author

Link to the specific patch that resolves the issue for me - https://gitlab.archlinux.org/archlinux/packaging/packages/qgis/-/blob/main/exiv2-0.28.patch

@timlinux
Copy link
Author

Example with build setup with patch applied here: https://github.com/timlinux/nix-config/tree/main/packages/qgis

@imincik
Copy link
Contributor

imincik commented Oct 13, 2023

We added patch for exiv2 0.28 in #258115 . I need to investigate where the issue is.

@imincik
Copy link
Contributor

imincik commented Oct 13, 2023

@timlinux , I just tried to build QGIS from latest nixpkgs master version (caf3832) and it built without a problem.

@timlinux timlinux changed the title QGIS build fails with exif 2.0.8 QGIS build fails with exiv 2.0.8 Oct 14, 2023
@timlinux
Copy link
Author

@imincik ah my apologies I should've pulled your upstream changes before filing this. Glad to know you are already on top of this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants