Opened 11 years ago
Closed 11 years ago
#42305 closed defect (fixed)
librsvg @2.36.4_3 publishes archive library into loaders
Reported by: | earl_chew@… | Owned by: | pixilla (Bradley Giesbrecht) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.2.1 |
Keywords: | Cc: | dershow, nick.lavrik@… | |
Port: | librsvg |
Description
The pixbuf loaders directory contains shared libraries:
% ls /opt/local/lib/gdk-pixbuf-2.0/2.10.0/loaders/ libpixbufloader-ani.so* libpixbufloader-qtif.so* libpixbufloader-bmp.so* libpixbufloader-ras.so* libpixbufloader-gif.so* libpixbufloader-svg.a libpixbufloader-icns.so* libpixbufloader-svg.so* libpixbufloader-ico.so* libpixbufloader-tga.so* libpixbufloader-jasper.so* libpixbufloader-tiff.so* libpixbufloader-jpeg.so* libpixbufloader-wbmp.so* libpixbufloader-pcx.so* libpixbufloader-xbm.so* libpixbufloader-png.so* libpixbufloader-xpm.so* libpixbufloader-pnm.so*
The libpixbufloader-svg.a contribution from librsvg seems to be out of place here.
Change History (9)
comment:1 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)
Owner: | changed from macports-tickets@… to pixilla@… |
---|
comment:2 follow-up: 3 Changed 11 years ago by pixilla (Bradley Giesbrecht)
comment:3 Changed 11 years ago by earl_chew@…
Replying to pixilla@…:
I know little of these pixbuf files but it is more likely that gdk-pixbuf2 is responsible for their location:
$ port provides /opt/local/lib/gdk-pixbuf-2.0/2.10.0/loaders/* /opt/local/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-ani.la is provided by: gdk-pixbuf2 /opt/local/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-ani.so is provided by: gdk-pixbuf2 ...earl_chew: What make you think the current layout is wrong? Can you share a preferred layout?
Hmmm ... that's funny because on my system I see something a little different. Maybe it's because I installed from binary, and didn't build from source. This is what I see:
$ port provides /opt/local/lib/gdk-pixbuf-2.0/2.10.0/loaders/* /opt/local/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-ani.so is provided by: gdk-pixbuf2 /opt/local/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-bmp.so is provided by: gdk-pixbuf2 /opt/local/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-gif.so is provided by: gdk-pixbuf2 /opt/local/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-icns.so is provided by: gdk-pixbuf2 /opt/local/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-ico.so is provided by: gdk-pixbuf2 /opt/local/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-jasper.so is provided by: gdk-pixbuf2 /opt/local/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-jpeg.so is provided by: gdk-pixbuf2 /opt/local/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-pcx.so is provided by: gdk-pixbuf2 /opt/local/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so is provided by: gdk-pixbuf2 /opt/local/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-pnm.so is provided by: gdk-pixbuf2 /opt/local/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-qtif.so is provided by: gdk-pixbuf2 /opt/local/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-ras.so is provided by: gdk-pixbuf2 /opt/local/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.a is provided by: librsvg /opt/local/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so is provided by: librsvg /opt/local/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-tga.so is provided by: gdk-pixbuf2 /opt/local/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-tiff.so is provided by: gdk-pixbuf2 /opt/local/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-wbmp.so is provided by: gdk-pixbuf2 /opt/local/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-xbm.so is provided by: gdk-pixbuf2 /opt/local/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-xpm.so is provided by: gdk-pixbuf2
What I'd like to point out is that I think the gdk-pixbuf-2.0/.../loaders/ directory is intended to contain pixbuf modules that are shared libraries (*.so) so that they can be dynamically loaded. This is particularly useful when new plugins are provided to extend functionality (just like librsvg).
For reference, take a look at http://packages.debian.org/sid/amd64/libgdk-pixbuf2.0-0/filelist from Debian:
/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-ani.so /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-bmp.so /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-gif.so /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-icns.so /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-ico.so /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-jasper.so /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-jpeg.so /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-pcx.so /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-pnm.so /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-qtif.so /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-ras.so /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-tga.so /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-tiff.so /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-wbmp.so /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-xbm.so /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-xpm.so /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders
So what I suggest is that the only change that needs to be made is for librsvg to remove libpixbufloader-svg.a (ie don't put the archive library version .a in gdk-pixbuf-2.0/2.10.0/loaders/, and only put the shared library version .so there).
comment:4 Changed 11 years ago by pixilla (Bradley Giesbrecht)
Resolution: | → fixed |
---|---|
Status: | new → closed |
eral_chew: Thank you.
See r116588
comment:5 Changed 11 years ago by dershow
Resolution: | fixed |
---|---|
Status: | closed → reopened |
I just tried to upgrade librsvg @2.36.4_4 to @2.36.4_5. It builds, but then I get an error when it is trying to stage it:
---> Staging librsvg into destroot Error: org.macports.destroot for port librsvg returned: file: no such file or directory Please see the log file for port librsvg for details: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_graphics_librsvg/librsvg/main.log Error: Unable to upgrade port: 1 To report a bug, follow the instructions in the guide: http://guide.macports.org/#project.tickets
And here are the last few lines of the log:
:info:destroot xinstall: chdir(/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_graphics_librsvg/librsvg/work/librsvg-2.36.4/macports) :info:destroot xinstall: svg2pdf -> /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_graphics_librsvg/librsvg/work/destroot/opt/local/bin/svg2pdf :debug:destroot delete: file /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_graphics_librsvg/librsvg/work/destroot/opt/local/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.a :error:destroot org.macports.destroot for port librsvg returned: file: no such file or directory :debug:destroot Error code: NONE :debug:destroot Backtrace: file: no such file or directory while executing "$post $targetname" :info:destroot Warning: targets not executed for librsvg: org.macports.install org.macports.destroot :notice:destroot Please see the log file for port librsvg for details: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_graphics_librsvg/librsvg/main.log
It looks to me like it is trying to delete a file that is not actually installed with the prior version, so it can't complete the staging.
comment:8 Changed 11 years ago by dershow
It looks like this was reported in two other tixs and has been fixed now:
comment:9 Changed 11 years ago by dbevans (David B. Evans)
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
I know little of these pixbuf files but it is more likely that gdk-pixbuf2 is responsible for their location:
earl_chew: What make you think the current layout is wrong? Can you share a preferred layout?