Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 669296

Summary: app-text/dvisvgm should depend on dev-libs/openssl
Product: Gentoo Linux Reporter: Mira Ressel <aranea>
Component: Current packagesAssignee: TeX project <tex>
Status: RESOLVED FIXED    
Severity: normal CC: kentnl
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Mira Ressel 2018-10-22 10:24:39 UTC
dvisvgm (2.6.1) links against libcrypto, so the ebuild should depend on dev-libs/openssl or dev-libs/libressl.

I've verified that devisvgm works with both libressl and openssl, but I haven't checked if it can be compiled when neither is present.
Comment 1 Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2019-06-30 10:35:41 UTC
NB: This lack of dependency winds up failing to trigger a reinstall when openssl is upgraded, leading to an entry in @preserved-rebuild requiring manual(ish) rectification.  

>>>> package: dev-libs/openssl-1.1.0j-r1
> *  - /usr/lib64/libcrypto.so.1.0.0
> *      used by /usr/bin/dvisvgm (app-text/dvisvgm-2.6.1)

Ideally, this should involve some kind of subslot operator for this.


readelf -d /usr/bin/dvisvgm
> 
>Dynamic section at offset 0x3a7860 contains 39 entries:
>  Tag        Type                         Name/Value
> 0x0000000000000001 (NEEDED)             Shared library: [libfreetype.so.6]
> 0x0000000000000001 (NEEDED)             Shared library: [libwoff2enc.so.1.0.2]
> 0x0000000000000001 (NEEDED)             Shared library: [libbrotlienc.so.1]
> 0x0000000000000001 (NEEDED)             Shared library: [libcrypto.so.1.1]  ###
> 0x0000000000000001 (NEEDED)             Shared library: [libz.so.1]
> 0x0000000000000001 (NEEDED)             Shared library: [libxxhash.so.0]
> 0x0000000000000001 (NEEDED)             Shared library: [libpotrace.so.0]
> 0x0000000000000001 (NEEDED)             Shared library: [libgs.so.9]
> 0x0000000000000001 (NEEDED)             Shared library: [libkpathsea.so.6]
> 0x0000000000000001 (NEEDED)             Shared library: [libstdc++.so.6]
> 0x0000000000000001 (NEEDED)             Shared library: [libm.so.6]
> 0x0000000000000001 (NEEDED)             Shared library: [libgcc_s.so.1]
> 0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
> 0x000000000000001d (RUNPATH)            Library runpath: [//usr/lib64]


Somewhat hand-annotated build log grep: 

zgrep -EiC3 --color=always "(crypt|ssl)" /var/log/portage/build/app-text/dvisvgm-2.7\:20190630-100834.log.gz  
> checking for library containing XXH32... -lxxhash
> checking for BROTLI... yes
> checking for WOFF2... yes
> checking openssl/md5.h usability... yes
>#-------------^^^
> checking openssl/md5.h presence... yes
>#-------------^^^
> checking for openssl/md5.h... yes
>#-----------------^^^
> checking for LIBCRYPTO... yes
>#----------------^^^^^^
> checking for gzopen in -lz... yes
> checking for dirent.h that defines DIR... yes
> checking for library containing opendir... none required
> --
> libtool: link: x86_64-pc-linux-gnu-ranlib .libs/libdvisvgm.a
> libtool: link: rm -fr .libs/libdvisvgm.lax
> libtool: link: ( cd ".libs" && rm -f "libdvisvgm.la" && ln -s "../libdvisvgm.la" "libdvisvgm.la" )
> /bin/sh ../libtool  --tag=CXX   --mode=link x86_64-pc-linux-gnu-g++ -std=gnu++11 -Wall -Wnon-virtual-dtor 
>         -I../libs/clipper -I../libs/variant/include  -I/usr/include/freetype2 
>         -O2 -pipe -mtune=native -march=native
>         -Wl,-O1 -Wl,--as-needed -o dvisvgm dvisvgm.o libdvisvgm.la ../libs/clipper/libclipper.a -lfreetype
>         ../libs/ff-woff/libfontforge.a -lwoff2enc -lbrotlienc  -lbrotlienc   -lcrypto -lz -lxxhash
>#-------------------------------------------------------------------------------^^^^^^
>         -lpotrace -lgs -lkpathsea 
> libtool: link: x86_64-pc-linux-gnu-g++ -std=gnu++11 -Wall -Wnon-virtual-dtor
>          -I../libs/clipper -I../libs/variant/include -I/usr/include/freetype2
>          -O2 -pipe -mtune=native -march=native
>          -Wl,-O1 -Wl,--as-needed -o dvisvgm dvisvgm.o  ./.libs/libdvisvgm.a ../libs/clipper/libclipper.a -lfreetype
>          ../libs/ff-woff/libfontforge.a -lwoff2enc -lbrotlienc -lcrypto -lz -lxxhash 
>#-----------------------------------------------------------------^^^^^^
>          //usr/lib64/libpotrace.so -lm -lgs -lkpathsea -Wl,-rpath -Wl,//usr/lib64
> make[3]: Leaving directory '/var/tmp/portage/app-text/dvisvgm-2.7/work/dvisvgm-2.7/src'
> make[2]: Leaving directory '/var/tmp/portage/app-text/dvisvgm-2.7/work/dvisvgm-2.7/src'
> Making all in tests