hellosiyan / Viewnior

Elegant Image Viewer
https://siyanpanayotov.com/project/viewnior/
GNU General Public License v3.0
319 stars 55 forks source link

viewnior: error while loading shared libraries #131

Open overtube opened 1 year ago

overtube commented 1 year ago

libexiv2.so.27: cannot open shared object file: No such file or directory

binary version installed with pacman, downgrading from 1.8-4 to 1.8-3 also cannot help, so I try build from aur and

Reading repository package databases...
Reading local package database...
Resolving AUR dependencies...

:: New dependencies will be installed from third-party repository:
 autoconf-archive (for gnome-common)                        -> 1:2023.02.20-1      0.54 MiB
 gnome-common (for viewnior-git)                            -> 3.18.0-4.1          0.01 MiB
 itstool (for yelp-tools)                                   -> 1:2.0.7-1           0.02 MiB
 mallard-ducktype (for yelp-tools)                          -> 1.0.2-9             0.10 MiB
 yelp-tools (for gnome-common)                              -> 42.1-1              0.03 MiB
 yelp-xsl (for yelp-tools)                                  -> 42.1-1              0.19 MiB

:: AUR package will be installed:
 viewnior-git                                               -> 1.7.r2.gaac0a0c-1

Total Download Size:      0.89 MiB
Total Installed Size:     4.48 MiB

:: Proceed with installation? [Y/n] 
:: [v]iew package details   [m]anually select packages
>>  y
looking for conflicting AUR packages...
:: viewnior-git and viewnior are in conflict. Remove viewnior? [y/N]  y
:: warning: Not showing diff for viewnior-git package (installing for the first time)
Do you want to edit PKGBUILD for viewnior-git package? [Y/n]  y
Resolving AUR dependencies...
:: warning: Installation info changed (or new deps found) for viewnior-git package
Resolving AUR dependencies...

:: New dependencies will be installed from third-party repository:
 autoconf-archive (for gnome-common)                        -> 1:2023.02.20-1      0.54 MiB
 gnome-common (for viewnior-git)                            -> 3.18.0-4.1          0.01 MiB
 itstool (for yelp-tools)                                   -> 1:2.0.7-1           0.02 MiB
 mallard-ducktype (for yelp-tools)                          -> 1.0.2-9             0.10 MiB
 yelp-tools (for gnome-common)                              -> 42.1-1              0.03 MiB
 yelp-xsl (for yelp-tools)                                  -> 42.1-1              0.19 MiB

:: AUR package will be installed:
 viewnior-git                                               -> 1.7.r2.gaac0a0c-1

Total Download Size:      0.89 MiB
Total Installed Size:     4.48 MiB

:: Proceed with installation? [Y/n] 
:: [v]iew package details   [m]anually select packages
>>  y
looking for conflicting AUR packages...
:: viewnior-git and viewnior are in conflict. Remove viewnior? [y/N]  y
:: warning: Not showing diff for viewnior-git package (already reviewed)

Reading local package database...
:: Installing repository dependencies for viewnior-git:
resolving dependencies...
looking for conflicting packages...

Packages (6) autoconf-archive-1:2023.02.20-1  itstool-1:2.0.7-1  mallard-ducktype-1.0.2-9  yelp-tools-42.1-1  yelp-xsl-42.1-1  gnome-common-3.18.0-4.1

Total Download Size:   0.33 MiB
Total Installed Size:  4.48 MiB

:: Proceed with installation? [Y/n] Y
:: Retrieving packages...
 gnome-common-3.18.0-4.1-any                                      9.1 KiB  25.9 KiB/s 00:00 [#####################################################] 100%
 yelp-tools-42.1-1-any                                           32.8 KiB  74.8 KiB/s 00:00 [#####################################################] 100%
 mallard-ducktype-1.0.2-9-any                                   103.4 KiB   193 KiB/s 00:01 [#####################################################] 100%
 yelp-xsl-42.1-1-any                                            191.1 KiB   291 KiB/s 00:01 [#####################################################] 100%
 Total (4/4)                                                    336.3 KiB   461 KiB/s 00:01 [#####################################################] 100%
(6/6) checking keys in keyring                                                              [#####################################################] 100%
(6/6) checking package integrity                                                            [#####################################################] 100%
(6/6) loading package files                                                                 [#####################################################] 100%
(6/6) checking for file conflicts                                                           [#####################################################] 100%
(6/6) checking available disk space                                                         [#####################################################] 100%
:: Processing package changes...
(1/6) installing autoconf-archive                                                           [#####################################################] 100%
Optional dependencies for autoconf-archive
    automake: macros for use with it [installed]
(2/6) installing yelp-xsl                                                                   [#####################################################] 100%
(3/6) installing itstool                                                                    [#####################################################] 100%
(4/6) installing mallard-ducktype                                                           [#####################################################] 100%
(5/6) installing yelp-tools                                                                 [#####################################################] 100%
(6/6) installing gnome-common                                                               [#####################################################] 100%
:: Running post-transaction hooks...
(1/1) Updating the info directory file...
Reading local package database...

:: Starting the build:
==> Making package: viewnior-git 1.7.r2.gaac0a0c-1 (Sun 11 Jun 2023 07:48:56 PM EEST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Cloning viewnior-git git repo...
Cloning into bare repository '/home/ui/.cache/pikaur/build/viewnior-git/viewnior-git'...
remote: Enumerating objects: 2805, done.
remote: Counting objects: 100% (217/217), done.
remote: Compressing objects: 100% (101/101), done.
remote: Total 2805 (delta 122), reused 188 (delta 113), pack-reused 2588
Receiving objects: 100% (2805/2805), 5.67 MiB | 2.34 MiB/s, done.
Resolving deltas: 100% (1951/1951), done.
==> Validating source files with md5sums...
    viewnior-git ... Skipped
==> Extracting sources...
  -> Creating working copy of viewnior-git git repo...
Cloning into 'viewnior-git'...
done.
==> Starting pkgver()...
==> Updated version: viewnior-git 1.8.r0.g4a4c6e8-1
==> Starting build()...
The Meson build system
Version: 1.1.1
Source dir: /home/ui/Templates/makepkg/viewnior-git/src/viewnior-git
Build dir: /home/ui/Templates/makepkg/viewnior-git/src/viewnior-git/builddir
Build type: native build
Project name: viewnior
Project version: 1.8
C compiler for the host machine: ccache cc (gcc 13.1.1 "cc (GCC) 13.1.1 20230429")
C linker for the host machine: cc ld.bfd 2.40.0
C++ compiler for the host machine: ccache c++ (gcc 13.1.1 "c++ (GCC) 13.1.1 20230429")
C++ linker for the host machine: c++ ld.bfd 2.40.0
Host machine cpu family: x86_64
Host machine cpu: x86_64
Found pkg-config: /usr/bin/pkg-config (1.8.1)
Run-time dependency gtk+-2.0 found: YES 2.24.33
Run-time dependency glib-2.0 found: YES 2.76.3
Run-time dependency gio-2.0 found: YES 2.76.3
Run-time dependency shared-mime-info found: YES 2.2
Run-time dependency gdk-pixbuf-2.0 found: YES 2.42.10
Run-time dependency exiv2 found: YES 0.28.0
Configuring config.h using configuration
Program msgfmt found: YES (/usr/bin/msgfmt)
Program msginit found: YES (/usr/bin/msginit)
Program msgmerge found: YES (/usr/bin/msgmerge)
Program xgettext found: YES (/usr/bin/xgettext)
Program desktop-file-validate found: YES (/usr/bin/desktop-file-validate)
Found pkg-config: /usr/bin/pkg-config (1.8.1)
Program glib-genmarshal found: YES (/usr/bin/glib-genmarshal)
Build targets in project: 40
NOTICE: Future-deprecated features used:
 * 0.56.0: {'meson.source_root'}

viewnior 1.8

  User defined options
    prefix: /usr

Found ninja-1.11.1 at /usr/bin/ninja
WARNING: Running the setup command as `meson [options]` instead of `meson setup [options]` is ambiguous and deprecated.
ninja: Entering directory `builddir'
[34/54] Generating src/uni-marshal_h with a custom command
INFO: Reading ../src/uni-marshal.list...
[36/54] Generating src/uni-marshal_c with a custom command
INFO: Reading ../src/uni-marshal.list...
[53/54] Compiling C++ object src/viewnior.p/uni-exiv2.cpp.o
FAILED: src/viewnior.p/uni-exiv2.cpp.o 
ccache c++ -Isrc/viewnior.p -Isrc -I../src -I. -I.. -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-4 -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/fribidi -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/atk-1.0 -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -O0 -g -march=x86-64 -mtune=k8-sse3 -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -Wp,-D_GLIBCXX_ASSERTIONS -pthread -MD -MQ src/viewnior.p/uni-exiv2.cpp.o -MF src/viewnior.p/uni-exiv2.cpp.o.d -o src/viewnior.p/uni-exiv2.cpp.o -c ../src/uni-exiv2.cpp
../src/uni-exiv2.cpp:30:22: error: ‘AutoPtr’ in ‘class Exiv2::Image’ does not name a type
   30 | static Exiv2::Image::AutoPtr cached_image;
      |                      ^~~~~~~
../src/uni-exiv2.cpp: In function ‘void uni_read_exiv2_map(const char*, void (*)(const char*, const char*, void*), void*)’:
../src/uni-exiv2.cpp:38:23: error: ‘AutoPtr’ is not a member of ‘Exiv2::Image’
   38 |         Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(uri);
      |                       ^~~~~~~
../src/uni-exiv2.cpp:39:14: error: ‘image’ was not declared in this scope
   39 |         if ( image.get() == 0 ) {
      |              ^~~~~
../src/uni-exiv2.cpp:43:9: error: ‘image’ was not declared in this scope
   43 |         image->readMetadata();
      |         ^~~~~
../src/uni-exiv2.cpp:83:21: error: ‘AnyError’ in namespace ‘Exiv2’ does not name a type
   83 |     } catch (Exiv2::AnyError& e) {
      |                     ^~~~~~~~
../src/uni-exiv2.cpp:84:36: error: ‘e’ was not declared in this scope
   84 |         std::cerr << "Exiv2: '" << e << "'\n";
      |                                    ^
../src/uni-exiv2.cpp: In function ‘int uni_read_exiv2_to_cache(const char*)’:
../src/uni-exiv2.cpp:94:10: error: ‘cached_image’ was not declared in this scope
   94 |     if ( cached_image.get() != NULL ) {
      |          ^~~~~~~~~~~~
../src/uni-exiv2.cpp:100:9: error: ‘cached_image’ was not declared in this scope
  100 |         cached_image = Exiv2::ImageFactory::open(uri);
      |         ^~~~~~~~~~~~
../src/uni-exiv2.cpp:106:21: error: ‘AnyError’ in namespace ‘Exiv2’ does not name a type
  106 |     } catch (Exiv2::AnyError& e) {
      |                     ^~~~~~~~
../src/uni-exiv2.cpp:107:36: error: ‘e’ was not declared in this scope
  107 |         std::cerr << "Exiv2: '" << e << "'\n";
      |                                    ^
../src/uni-exiv2.cpp: In function ‘int uni_write_exiv2_from_cache(const char*)’:
../src/uni-exiv2.cpp:119:10: error: ‘cached_image’ was not declared in this scope
  119 |     if ( cached_image.get() == NULL ) {
      |          ^~~~~~~~~~~~
../src/uni-exiv2.cpp:124:23: error: ‘AutoPtr’ is not a member of ‘Exiv2::Image’
  124 |         Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(uri);
      |                       ^~~~~~~
../src/uni-exiv2.cpp:125:14: error: ‘image’ was not declared in this scope
  125 |         if ( image.get() == 0 ) {
      |              ^~~~~
../src/uni-exiv2.cpp:129:9: error: ‘image’ was not declared in this scope
  129 |         image->setMetadata( *cached_image );
      |         ^~~~~
../src/uni-exiv2.cpp:129:30: error: ‘cached_image’ was not declared in this scope
  129 |         image->setMetadata( *cached_image );
      |                              ^~~~~~~~~~~~
../src/uni-exiv2.cpp:136:21: error: ‘AnyError’ in namespace ‘Exiv2’ does not name a type
  136 |     } catch (Exiv2::AnyError& e) {
      |                     ^~~~~~~~
../src/uni-exiv2.cpp:137:36: error: ‘e’ was not declared in this scope
  137 |         std::cerr << "Exiv2: '" << e << "'\n";
      |                                    ^
ninja: build stopped: subcommand failed.
==> ERROR: A failure occurred in build().
    Aborting...
ncmprhnsbl commented 1 year ago

same here ... some incompatibility with exiv2 > 0.28

~~if you're interested in a temporary dirty hack: if you have the older exiv2-0.27.6-1 pkg in your cache (or it can be got from arch's package archives) extract the package or view with an archive manager and extract just usr/lib/{libexiv2.so.27,libexiv2.so.27.6} and place them in /usr/lib .. this works, and the plain arch viewnior should work again too.~~

ncmprhnsbl commented 1 year ago

actually, there be a pull request that addresses this very thing: #130

ncmprhnsbl commented 1 year ago

just confirming that #130 patch works just fine

ncmprhnsbl commented 11 months ago

even though this is closed, in the sense that AUR build uses the patch, until the #130 is merged, it's still an issue ;)

overtube commented 11 months ago

;)

FabioLolix commented 11 months ago
libexiv2.so.27: cannot open shared object file: No such file or directory

binary version installed with pacman, downgrading from 1.8-4 to 1.8-3 also cannot help

@overtube this is happening because libexiv2.so.27 no longer existed and libexiv2.so.0.28.0 was in the updated exiv2 package

if you wanted run it again you should have downgraded (users beware!) exiv2 not viewnior

Btw the Arch package was updated and build on June 5 and this issue was opened 6 days later

overtube commented 11 months ago

So, issue has gone? On me all work fine

ncmprhnsbl commented 11 months ago

all i'm saying is, it's not an issue if you use arch or AUR (or whatever distros use the patch), but it is still an issue for anyone building from source on a distro with the libexiv2.so.0.28.0 ..until #130 is merged here. leaving this open just serves as a headsup for those..