Page 5 of 7

Re: [HOWTO] Install Deluge 1.3.2 with Macports

Posted: Thu Jul 21, 2011 5:39 pm
by carbncl
Warning, deluge doesn't build anymore on Lion.

With Macports 2.0.0 rc1 (release candidate for Lion) the package has a conflict with libnotify, so right now it is broken.
If you upgrade from Snow Leopard to Lion, previously built deluge should still work, but you won't be able to install/build it from scratch.

Here is a ticket to follow the issue : https://trac.macports.org/ticket/30283

Re: [HOWTO] Install Deluge 1.3.2 with Macports

Posted: Tue Aug 16, 2011 4:02 am
by mYrN
Any news on getting this to work with lion?

Re: [HOWTO] Install Deluge 1.3.2 with Macports

Posted: Sun Sep 11, 2011 5:37 pm
by carbncl
mYrN wrote:Any news on getting this to work with lion?
The macports packages has been updated 4 days ago and looks like working, but there might be some issues : http://forum.deluge-torrent.org/viewtop ... =7&t=37703

(Using only the client application in a "hacked" environment, can't really check this on my side)

Re: [HOWTO] Install Deluge 1.3.3 with Macports

Posted: Wed Sep 14, 2011 6:36 am
by genezkool323
Actually to be clear it is NOT working on Lion unless you perform a dangerous (I don't exactly know why, but the MacPorts developers do) workaround to get libnotify working. The workaround is located here: https://trac.macports.org/browser/trunk ... y/Portfile. If you look in the commented out section you will see the correct commands to perform to get deluge running.
# This port installs ${prefix}/lib/libnotify.dylib which gets
# picked up at link time instead of /usr/lib/system/libnotify.dylib
# leading to many build failures across MacPorts when it is installed.
#
# Because of this, we block installation in fetch and activate.
#
# ***DANGEROUS*** WORKAROUND
# There is a workaround for this issue which is recomended for *expert* users.
# Implementing this workaround and being lazy about it can (read: most likely
# *will*) result in a completely horked system after a software update.
#
# If do not follow this advise exactly, and your system becomes non-booting,
# shame on you for not listening to me.
#
# If you do follow this advise exactly, and your system becomes non-booting,
# shame on you for listening to me.
#
# Can I make this any clearer? If you are inclinded to blame anyone *but*
# yourself if your system fails to boot, then DON'T DO THIS!
#
# You have been warned.
#
# It is your responsibility to verify the sanity of what you are about to do!
#
# PROCEED DO AT YOUR OWN PERIL
#
# UNDO THIS WORKAROUND BEFORE ANY APPLE SOFTWARE UPDATE!
#
# To work around this issue (make sure this is really necessary before doing it):
# sudo cp /usr/lib/system/libnotify.dylib /usr/lib/system/libsystem_notify.dylib
# sudo install_name_tool -id /usr/lib/system/libsystem_notify.dylib /usr/lib/system/libsystem_notify.dylib
# for f in /usr/lib/system/*dylib /usr/lib/libSystem.B.dylib ; do sudo install_name_tool -change /usr/lib/system/libnotify.dylib /usr/lib/system/libsystem_notify.dylib ${f} ; done
# sudo /usr/bin/update_dyld_shared_cache
# sudo reboot
# sudo mv /usr/lib/system/libnotify.dylib /usr/lib/system/libnotify.dylib.bak
#
# To undo:
# sudo mv /usr/lib/system/libnotify.dylib.bak /usr/lib/system/libnotify.dylib
# for f in /usr/lib/system/*dylib /usr/lib/libSystem.B.dylib ; do sudo install_name_tool -change /usr/lib/system/libsystem_notify.dylib /usr/lib/system/libnotify.dylib ${f} ; done
# sudo install_name_tool -id /usr/lib/system/libnotify.dylib /usr/lib/system/libnotify.dylib
# sudo /usr/bin/update_dyld_shared_cache
# sudo reboot
# sudo rm /usr/lib/system/libsystem_notify.dylib
I suppose you could just temporarily perform this workaround and then switch back after deluge has been built. I may give that a shot.

But to be clear, the one step command to compile Deluge is NOT working on Lion because of the libnotify dependency as of 2011-09-14.

Re: [HOWTO] Install Deluge 1.3.3 with Macports

Posted: Wed Sep 14, 2011 7:20 am
by carbncl
genezkool323 wrote:Actually to be clear it is NOT working on Lion unless you perform a dangerous (I don't exactly know why, but the MacPorts developers do) workaround to get libnotify working. The workaround is located here: https://trac.macports.org/browser/trunk ... y/Portfile. If you look in the commented out section you will see the correct commands to perform to get deluge running.
I suppose you could just temporarily perform this workaround and then switch back after deluge has been built. I may give that a shot.
But to be clear, the one step command to compile Deluge is NOT working on Lion because of the libnotify dependency as of 2011-09-14.
My bad, I thought that was fixed, I did another workaround for libnotify a long time ago that I just forgot.

As the packager writed and that you quoted :
# This port installs ${prefix}/lib/libnotify.dylib which gets
# picked up at link time instead of /usr/lib/system/libnotify.dylib
# leading to many build failures across MacPorts when it is installed.
The interesting part: "leading to many build failures across MacPorts" :
Because of not using many macports packages (using brew when possible), and in general not many packages using libnotify (I guess deluge is the only one)
I just commented that check and installed libnotify in ${prefix}/lib/libnotify.dylib ...

The proposed workaround by the packager is just horribly dangerous and I prefer to take the risk that "maybe" some day have a macports (or other) corrupted package than a computer that doesn't boot anymore.
Just my 2 cents. :)

The best solution I guess would be to remove libnotify since I doubt it will ever work on OSX (via growl maybe), but I have no idea if deluge can be built without.
Someone (me? :)) should try and propose a macports package fix (with maybe a libnotify variant)

Re: [HOWTO] Install Deluge 1.3.3 with Macports

Posted: Wed Sep 14, 2011 7:32 am
by genezkool323
carbncl wrote:The best solution I guess would be to remove libnotify since I doubt it will ever work on OSX (via growl maybe), but I have no idea if deluge can be built without.
Someone (me? :)) should try and propose a macports package fix (with maybe a libnotify variant)
Yes, I too believe the best option is to remove libnotify as a dependency. I don't think it's more important than actually having the damn thing build. In any case, I was tempted to stay up late and I actually temporarily performed the workaround and was able to install Deluge. After a nervously long boot time, my system popped up and Deluge worked! This is the first time I've had a MacPorts Deluge install work for me. So assuming that the libnotify package was useless on OS X anyway, I reversed the workaround and reinitialized the system libnotify and to my great pleasure Deluge still runs natively on my compy.

So I guess it is safe to follow that workaround but do the reverse steps immediately after Deluge has been built in order to stay on the safe side.

Cheers,
genez

Re: [HOWTO] Install Deluge 1.3.3 with Macports

Posted: Thu Sep 15, 2011 1:46 am
by genezkool323
I was also digging around a bit more about the libnotify dependency. After looking at the Deluge portfile I found that Deluge does not require libnotify per se, but rather it is Deluge's requirement of py26-notify-python which requires libnotify. Do we really need this? Something for the portfile people to determine.

genez

Re: [HOWTO] Install Deluge 1.3.3 with Macports

Posted: Thu Oct 06, 2011 3:39 pm
by gaffel
On the first post it says
"EDIT : 1.3.3 / Lion : Looks like deluge 1.3.3 macports package (and its dependencies) has been recently fixed, the following procedure should be working! (when writing this on 11/09/11)"
But the last posts on this thread suggest its not working.. Pretty confusing for a new user if you ask me.
I've never tried macports before but I've followed every guide to a T after hours of installing it always ends in:
Error: Status 1 encountered during processing.
I've even tried it without installing libnotify but it won't work. Here's the error messages from my last attempt:
---> Dependencies to be installed: dbus-python26 dbus dbus-glib py26-gobject libffi librsvg libart_lgpl libcroco libgsf gconf orbit2 libidl policykit eggdbus gnome-vfs desktop-file-utils popt gnome-mime-data libbonobo libtorrent-rasterbar libgeoip py26-chardet py26-distribute py26-distribute py26-game libsdl_image libsdl xorg-libXext xorg-libX11 xorg-bigreqsproto xorg-inputproto xorg-kbproto xorg-libXau xorg-xproto xorg-libXdmcp xorg-libxcb xorg-libpthread-stubs xorg-xcb-proto xorg-util-macros xorg-xcmiscproto xorg-xextproto xorg-xf86bigfontproto xorg-xtrans xorg-libXrandr xorg-randrproto xrender xorg-renderproto libsdl_mixer flac libogg libmikmod libvorbis smpeg libsdl_ttf py26-numpy fftw-3 py26-nose py26-gtk libglade2 py26-cairo py26-py py26-mako py26-notify-python libnotify py26-openssl py26-twisted py26-zopeinterface py26-twisted-web2 py26-xdg py26-numeric
---> Activating dbus @1.4.12_0
Error: Target org.macports.activate returned: Image error: /Library/LaunchAgents/org.freedesktop.dbus-session.plist already exists and does not belong to a registered port. Unable to activate port dbus. Use 'port -f activate dbus' to force the activation.
Error: Failed to install dbus
Log for dbus is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_dbus/dbus/main.log
Error: The following dependencies were not installed: dbus-python26 dbus dbus-glib py26-gobject libffi librsvg libart_lgpl libcroco libgsf gconf orbit2 libidl policykit eggdbus gnome-vfs desktop-file-utils popt gnome-mime-data libbonobo libtorrent-rasterbar libgeoip py26-chardet py26-distribute py26-distribute py26-game libsdl_image libsdl xorg-libXext xorg-libX11 xorg-bigreqsproto xorg-inputproto xorg-kbproto xorg-libXau xorg-xproto xorg-libXdmcp xorg-libxcb xorg-libpthread-stubs xorg-xcb-proto xorg-util-macros xorg-xcmiscproto xorg-xextproto xorg-xf86bigfontproto xorg-xtrans xorg-libXrandr xorg-randrproto xrender xorg-renderproto libsdl_mixer flac libogg libmikmod libvorbis smpeg libsdl_ttf py26-numpy fftw-3 py26-nose py26-gtk libglade2 py26-cairo py26-py py26-mako py26-notify-python libnotify py26-openssl py26-twisted py26-zopeinterface py26-twisted-web2 py26-xdg py26-numeric
Error: Status 1 encountered during processing.
To report a bug, see <http://guide.macports.org/#project.tickets>

Re: [HOWTO] Install Deluge 1.3.3 with Macports

Posted: Thu Oct 06, 2011 6:22 pm
by carbncl
genezkool323 wrote:I was also digging around a bit more about the libnotify dependency. After looking at the Deluge portfile I found that Deluge does not require libnotify per se, but rather it is Deluge's requirement of py26-notify-python which requires libnotify. Do we really need this? Something for the portfile people to determine.
genez
I'm not a python developer, but from what I can see (grep/ack) in deluge code:

Code: Select all

try:
    import pynotify
except:
    log.warning("pynotify is not installed")
else: ...
 
So I think I can say that deluge will degrade gracefully without libnotify/py26-python-notify, just some warnings.
Just uninstalled these, and rebuilt deluge, no problem:

Code: Select all

port uninstall py26-notify-python libnotify
Just delete dependency line from port:

Code: Select all

sudo port edit deluge

Re: [HOWTO] Install Deluge 1.3.3 with Macports

Posted: Thu Oct 06, 2011 6:33 pm
by carbncl
gaffel wrote:On the first post it says...
But the last posts on this thread suggest its not working.. Pretty confusing for a new user if you ask me.
First post edited.
gaffel wrote:I've even tried it without installing libnotify but it won't work. Here's the error messages from my last attempt:
As you quoted, error message is explicit:
Error: Target org.macports.activate returned: Image error: /Library/LaunchAgents/org.freedesktop.dbus-session.plist already exists and does not belong to a registered port. Unable to activate port dbus. Use 'port -f activate dbus' to force the activation.
Just delete/move that file or try command suggested by port and try again! :) (I think someone already asked this previously, search in thread)