Bug 117627 - emulators/wine: incomplete dependencies list
Summary: emulators/wine: incomplete dependencies list
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Gerald Pfeifer
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-10-29 12:40 UTC by Kyryll A Mirnenko
Modified: 2007-12-30 21:40 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Kyryll A Mirnenko 2007-10-29 12:40:02 UTC
I find out wine automatically catches up some libraries if they're installed and builds the stuff that depends links to 'em, here's what I have (ignore versions mess, it's half-updated 7.0 ports tree):

# cd /usr/local/lib/wine && (ldd *.so | grep " => " | sed "s/ (0x.*)//g;" | sort | uniq)
        libGL.so.1 => /usr/local/lib/libGL.so.1
        libGLU.so.1 => /usr/local/lib/libGLU.so.1
        libICE.so.6 => /usr/local/lib/libICE.so.6
        libSM.so.6 => /usr/local/lib/libSM.so.6
        libX11.so.6 => /usr/local/lib/libX11.so.6
        libXau.so.6 => /usr/local/lib/libXau.so.6
        libXdamage.so.1 => /usr/local/lib/libXdamage.so.1
        libXdmcp.so.6 => /usr/local/lib/libXdmcp.so.6
        libXext.so.6 => /usr/local/lib/libXext.so.6
        libXfixes.so.3 => /usr/local/lib/libXfixes.so.3
        libXt.so.6 => /usr/local/lib/libXt.so.6
        libXxf86vm.so.1 => /usr/local/lib/libXxf86vm.so.1
        libaudio.so.2 => /usr/local/lib/libaudio.so.2
        libaudiofile.so.0 => /usr/local/lib/libaudiofile.so.0
        libc.so.6 => /usr/local/lib/compat/libc.so.6
        libc.so.7 => /lib/libc.so.7
        libcrypto.so.5 => /lib/libcrypto.so.5
        libdrm.so.2 => /usr/local/lib/libdrm.so.2
        libesd.so.2 => /usr/local/lib/libesd.so.2
        libexif.so.12 => /usr/local/lib/libexif.so.12
        libgcc_s.so.1 => /lib/libgcc_s.so.1
        libgphoto2.so.2 => /usr/local/lib/libgphoto2.so.2
        libgphoto2_port.so.0 => /usr/local/lib/libgphoto2_port.so.0
        libiconv.so.3 => /usr/local/lib/libiconv.so.3
        libintl.so.8 => /usr/local/lib/libintl.so.8
        liblber-2.3.so.2 => /usr/local/lib/liblber-2.3.so.2
        liblcms.so.1 => /usr/local/lib/liblcms.so.1
        libldap_r-2.3.so.2 => /usr/local/lib/libldap_r-2.3.so.2
        libltdl.so.4 => /usr/local/lib/libltdl.so.4
        libm.so.4 => /usr/local/lib/compat/libm.so.4
        libm.so.5 => /lib/libm.so.5
        librpcsvc.so.4 => /usr/lib/librpcsvc.so.4
        libsasl2.so.2 => /usr/local/lib/libsasl2.so.2
        libssl.so.5 => /usr/lib/libssl.so.5
        libstdc++.so.6 => /usr/lib/libstdc++.so.6
        libthr.so.3 => /lib/libthr.so.3
        libwine.so.1 => /usr/local/lib/libwine.so.1
        libxml2.so.5 => /usr/local/lib/libxml2.so.5
        libxslt.so.2 => /usr/local/lib/libxslt.so.2
        libz.so.3 => /usr/local/lib/compat/libz.so.3
        libz.so.4 => /lib/libz.so.4

Here you see it actually depends also on openldap-client, libgphoto2, nas, esound, etc.

I suggest someone can write a script to scan a system with a huge set of packages installed to catch all such "hidden" dependencies, like this:
1) for every package:
2) get a list of *.so.* in all of its dependent packages
3) get a list of all *.so.* referred by all libraries from this package
4) subtract (2) from (3), and so get all missing dependencies for this package

How-To-Repeat: Install graphics/libgphoto2, then emulators/wine, the latter will link to the library of the first.
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2007-10-29 12:40:49 UTC
Responsible Changed
From-To: freebsd-ports-bugs->gerald

Over to maintainer (via the GNATS Auto Assign Tool)
Comment 2 Gerald Pfeifer freebsd_committer freebsd_triage 2007-11-04 23:29:36 UTC
State Changed
From-To: open->feedback

This is a good observation.  I am actually aware of the problem and 
have a list of such dependencies, but in discussions we decided not 
to make this port (and the package!) too expensive and include every 
single of them. 

That said, I added one or two such dependencies earlier this year, 
and if you have a strong argument for one, please let me know and 
I'll see whether we can add that. 

(Ultimately, what we'd need is a feature in Wine that allows to 
disable functionality during configure time to avoid the addition 
of such undesirabled dependencies.)
Comment 3 Gerald Pfeifer freebsd_committer freebsd_triage 2007-12-29 12:41:50 UTC
State Changed
From-To: feedback->closed
Comment 4 dfilter service freebsd_committer freebsd_triage 2007-12-29 19:28:06 UTC
gerald      2007-12-29 19:27:27 UTC

  FreeBSD ports repository

  Modified files:
    emulators/wine       Makefile 
  Log:
  Add cups-base as a library dependency.
  
  PR:             117627
  Reported by:    Kyryll A Mirnenko <mirya@zoc.com.ua>
  Submitted by:   Tijl Coosemans <tijl@ulyssis.org>
  
  Revision  Changes    Path
  1.248     +2 -1      ports/emulators/wine/Makefile
_______________________________________________
cvs-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
Comment 5 gerald 2007-12-29 19:30:25 UTC
[ Somehow GNATS ate my text explaining the status change. ]

I am going to add cups-base as an additional dependency of emulators/wine.

Verifying the list of dependencies we could add, I found the following

  configure: libxslt development files not found.
  Wine will be built without xslt support. (msxml.dll)

  configure: libhal development files not found.
  Wine will be built without dynamic device support. (explorer.exe)

  configure: libsane development files not found.
  Wine will be built without scanner support. (sane.ds/twain_32.dll)

  configure: libgphoto2 development files not found.
  Wine will be built without Digital Camera support.
(gphoto2.ds/twain_32.dll)

  configure: libldap (OpenLDAP) development files not found.
  Wine will be built without LDAP support. (wldap32.dll)

  configure: libcapi20 development files not found.
  Wine will be built without ISDN support. (capi2032.dll)

in addition to options for sound.

This would blow up our dependency list quite a bit for a very small subset
of use cases (as evidenced by a complete lack of user requests for any of
these) so I am refraining from these further additions on top of cups-base
for the time being.
Comment 6 Christoph Mallon 2007-12-30 16:16:57 UTC
Please remove the dependency on CUPS (or probably better make it 
optional via make config). I don't want to have CUPS installed just 
because I install wine.
Comment 7 russo 2007-12-30 20:57:01 UTC
Please do remove the unconditional dependency on cups.  I use LPRng on my
system at the moment, and now I can't upgrade wine when needed (cups conflicts
with LPRng).  Attempting to "portupgrade -MWITHOUT_CUPS=true -a" now tries to 
install cups even though I am explicitly trying not to do so.
Comment 8 gerald 2007-12-30 21:34:13 UTC
We're going to make CUPS an optional dependency; tune into ports/119155
for further progress.

Gerald