Describe the bug
The package ufraw fails to build on current unstable channel due to exiv2 issue. Suspecting https://github.com/NixOS/nixpkgs/commit/b181edb32282f1fd0d0359f60d81e8dca9f91c21 (and subsequent exiv2 changes) as possible cause, tried downgrading to the commit just before that one (https://github.com/NixOS/nixpkgs/commit/2b575c5f1f287293a5dbfab3e9963519e713fd3b) and it works.
...
In file included from ufraw_lens_ui.c:21:0:
/nix/store/c486x0ydwsgzhpj6lggxys9znjdnp5m0-lensfun-0.3.95/include/lensfun/lensfun.h:2137:37: note: declared here
DEPRECATED LF_EXPORT const lfLens **lf_db_find_lenses_hd (
^~~~~~~~~~~~~~~~~~~~
AR libufraw.a
ar: `u' modifier ignored since `D' is the default (see `U')
GEN ufraw-batch
/nix/store/iygzjy14i075hkxr2gq8cpfjvk2rkx0b-binutils-2.31.1/bin/ld: /nix/store/7msa09m8fkpxyraf8g7mqgc2bj08yzph-exiv2-0.27.3/lib/libexiv2.so: undefined reference to `std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()@GLIBCXX_3.4.26'
/nix/store/iygzjy14i075hkxr2gq8cpfjvk2rkx0b-binutils-2.31.1/bin/ld: /nix/store/7msa09m8fkpxyraf8g7mqgc2bj08yzph-exiv2-0.27.3/lib/libexiv2.so: undefined reference to `std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >::basic_stringstream()@GLIBCXX_3.4.26'
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:813: ufraw-batch] Error 1
make[2]: Leaving directory '/build/source'
make[1]: *** [Makefile:1060: all-recursive] Error 1
make[1]: Leaving directory '/build/source'
make: *** [Makefile:610: all] Error 2
builder for '/nix/store/9ygxgfbwb2kgwy419rlh9g79xz7wa9ih-ufraw-unstable-2019-06-12.drv' failed with exit code 2
error: build of '/nix/store/9ygxgfbwb2kgwy419rlh9g79xz7wa9ih-ufraw-unstable-2019-06-12.drv' failed
To Reproduce
nix-shell -p ufrawExpected behavior
Package installs.
Notify maintainers
@gloaming @jtojnar
Metadata
- system: `"x86_64-linux"`
- host os: `Linux 5.7.16, NixOS, 21.03pre243434.e0759a49733 (Okapi)`
- multi-user?: `yes`
- sandbox: `yes`
- version: `nix-env (Nix) 2.3.7`
- channels(root): `"nixos-21.03pre243434.e0759a49733, home-manager"`
- channels(austin): `"home-manager"`
- nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`
Maintainer information:
# a list of nixpkgs attributes affected by the problem
attribute:
- gimp-with-plugins
- ufraw
# a list of nixos modules affected by the problem
module:
C++ linking issues are not really my expertise. I guess we can mark the package as broken to be eventually removed since it is unmaintained upstream. Bringing back the old exiv2 would be too much work since we would have to backport lot of CVE patches.
It seems there is a maintained fork here: https://sourceforge.net/projects/nufraw/
From the readme: "The backwards compatibility (with ufraw) should be assured." - it seems it's a good candidate for replacing ufraw.
Also I just noticed that we use https://github.com/sergiomb2/ufraw fork which collects patches from distros, which seems also recently updated. But the update to latest commit did not fix the issue ...
Possibly related: https://github.com/sergiomb2/ufraw/issues/6.
Also a dupe of this was opened at https://github.com/NixOS/nixpkgs/issues/98103 and the package has now been marked broken by https://github.com/NixOS/nixpkgs/commit/db645087797f49dafccdd08babbbfd015bf8b8b6.
And just dropping nufraw into the ufraw package seems to fail with the same error as ufraw.
Using either ufraw or nufraw, I can get it to build just by bumping from gcc6Stdenv to gcc9Stenv, but it crashes when loading a Panasonic RW2 from the file chooser.
Thread 1 "nufraw" received signal SIGSEGV, Segmentation fault.
0x00007ffff7ad0adb in lfLens::operator=(lfLens const&) () from /nix/store/8ahbzf4xspn8xmmw0wmqbnyqvhgwnags-lensfun-0.3.95/lib/liblensfun.so.2
Thread 1 "ufraw" received signal SIGSEGV, Segmentation fault.
0x00007ffff7ad0adb in lfLens::operator=(lfLens const&) () from /nix/store/8ahbzf4xspn8xmmw0wmqbnyqvhgwnags-lensfun-0.3.95/lib/liblensfun.so.2
Found a thread where it seems the same issue was reported for someone on Arch. I tried the same RW2 file from before with nufraw on an Arch computer and it doesn't crash, but the resulting image is just a single color. I then tried a Canon CR2 on Arch and that crashed nufraw.
At this point it seems ufraw is sort of on life support and I'm not sure what need it fills that other tools don't already. With GIMP it seems you can use Darktable for RAW, which works much better. So I'd be fine closing this issue and/or removing the ufraw package entirely.
I'd suggest at least removing it from gimp-with-plugins.
Most helpful comment
I'd suggest at least removing it from
gimp-with-plugins.