Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 443686 - net-misc/dropbox should optionally depend on x11-libs/wxGTK[X]
Summary: net-misc/dropbox should optionally depend on x11-libs/wxGTK[X]
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: Normal minor (vote)
Assignee: Naohiro Aota
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-11-17 19:45 UTC by Dustin C. Hatch
Modified: 2012-12-03 22:41 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
strace output (dropbox-strace-1.4.17.txt,77.08 KB, text/plain)
2012-11-26 09:39 UTC, Naohiro Aota
Details
strace output (dropbox-strace-1.4.17-sanitized,78.17 KB, text/plain)
2012-11-26 16:12 UTC, Dustin C. Hatch
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Dustin C. Hatch 2012-11-17 19:45:28 UTC
net-misc/dropbox has an optional GUI component (a notification area icon and configuration utility) that require wxGTK to function. Since het net-misc/dropbox ebuild does not have any dependency on x11-libs/wxGTK, this GUI doesn't work. Dropbox doesn't report any error or give any indication as to why the tray icon doesn't show up, so users may have a difficult time fixing it. I think it would be nice if the Dropbox ebuild had an X USE flag that pulls in x11-libs/wxGTK[X] in RDEPEND.

Reproducible: Always
Comment 1 Naohiro Aota gentoo-dev 2012-11-23 07:22:43 UTC
I'm seeing notification area icon and preference window without x11-libs/wxGTK.

% qlist -Iv dropbox
net-misc/dropbox-1.4.7-r1
Comment 2 Dustin C. Hatch 2012-11-23 16:07:46 UTC
It must be new in 1.4.17 then because it would not show up for me until I installed wxGTK.

$ equery list dropbox
 * Searching for dropbox ...
[IP-] [  ] net-misc/dropbox-1.4.17:0

It definitely installs wxwidgets-related object files:

$ equery files dropbox | grep wx
/opt/dropbox/libwx_baseud-2.8.so.0
/opt/dropbox/libwx_baseud_net-2.8.so.0
/opt/dropbox/libwx_baseud_xml-2.8.so.0
/opt/dropbox/libwx_gtk2ud_adv-2.8.so.0
/opt/dropbox/libwx_gtk2ud_core-2.8.so.0
/opt/dropbox/libwx_gtk2ud_qa-2.8.so.0
/opt/dropbox/wx._combo.so
/opt/dropbox/wx._controls_.so
/opt/dropbox/wx._core_.so
/opt/dropbox/wx._gdi_.so
/opt/dropbox/wx._misc_.so
/opt/dropbox/wx._windows_.so
Comment 3 Naohiro Aota gentoo-dev 2012-11-26 09:39:46 UTC
Created attachment 330598 [details]
strace output

(In reply to comment #2)
> It must be new in 1.4.17 then because it would not show up for me until I
> installed wxGTK.
> 
> $ equery list dropbox
>  * Searching for dropbox ...
> [IP-] [  ] net-misc/dropbox-1.4.17:0

I've tried dropbox-1.4.17 without wxGTK and still have icon and preference window.
 
> It definitely installs wxwidgets-related object files:

Actually, this suggest the opposite. Dropbox binary bundle these libraries so that it should be working regardless of existence of system wxGTK libraries.

Maybe there is something wrong with dynamic linking to gtk?

I'm trying to unbundle these libraries to make Dropbox to use system ones. But it is a bit challenging, because it bundles wx libraries with debug information.

Could you attach a file created by this command below (without wxGTK) to help me find cause of this problem?

 strace -e open,lstat,stat dropbox > ~/dropbox-strace-1.4.17.txt 2>&1

(lines before stat'ing "~/.dropbox" is enough. Please delete lines below it to save your filenames secret ;) ) 

I'm attaching my output for your information.
Comment 4 Dustin C. Hatch 2012-11-26 16:12:53 UTC
Created attachment 330644 [details]
strace output

Your comment about bundling the wxGTK libraries meaning it shouldn't depend on wxGTK got me to wondering about why it would have started working after I installed wxGTK anyway. I went ahead and removed wxGTK from my system and tried again, and sure enough, the icon still shows up. Since wxGTK itself clearly isn't necessary, it must be one of its dependencies. I looked through /var/log/emerge.log to see what all else got installed when I installed wxGTK. The only dependencies it pulled in were eselect-wxwidgets (obviously not the culprit) and libXinerama. Sure enough, removing libXinerama caused the notification area icon not to appear when running `dropbox`.

I looked through the strace output (attached) and found that it tries to open libXinerama, as well as several other X11 libraries, first from /opt/dropbox and then from /usr/lib64. As a test, I removed libXrandr from my system, and this too caused the icon not to show up.

Until wxGTK can be unbundled from the package, maybe we should list the same dependencies as the wxGTK ebuild?
Comment 5 Naohiro Aota gentoo-dev 2012-12-03 22:41:19 UTC
(In reply to comment #4)
> I looked through the strace output (attached) and found that it tries to
> open libXinerama, as well as several other X11 libraries, first from
> /opt/dropbox and then from /usr/lib64. As a test, I removed libXrandr from
> my system, and this too caused the icon not to show up.

Thanks for clarifying the issue.
 
> Until wxGTK can be unbundled from the package, maybe we should list the same
> dependencies as the wxGTK ebuild?

I've bumped the version and copied wxGTK's dependencies to dropbox.

(Unfortunately it won't get wxGTK unbundled due to missing symbols ...)