Soulseek on FreeBSD

Has anyone successfully gotten a Soulseek (p2p) client up on FreeBSD? The only one in ports that I am aware of is museekplus which does not compile, I get the following errors
Code:
In file included from workdir/Museek/Museek.cc:25:
./Museek/PeerManager.hh:98:52: error: redefinition of parameter 'path'
        void push_download(uint path, const std::wstring& path);
                                                          ^
./Museek/PeerManager.hh:98:26: note: previous declaration is here
        void push_download(uint path, const std::wstring& path);
                                ^
1 warning generated.
8 warnings generated.
2 warnings and 1 error generated.
scons: *** [workdir/Museek/Museek.o] Error 1
scons: building terminated because of errors.
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1
I follow the advice and try compiling with MAKE_JOBS_UNSAFE set and get this
Code:
In file included from workdir/Museek/BaseConnection.cc:23:
./Museek/PeerManager.hh:98:52: error: redefinition of parameter 'path'
        void push_download(uint path, const std::wstring& path);
                                                          ^
./Museek/PeerManager.hh:98:26: note: previous declaration is here
        void push_download(uint path, const std::wstring& path);
                                ^
In file included from workdir/Museek/BaseConnection.cc:25:
./Museek/Museek.hh:43:1: warning: typedef requires a name [-Wmissing-declarations]
typedef enum _ConnectMode {
^~~~~~~
2 warnings and 1 error generated.
scons: *** [workdir/Museek/BaseConnection.o] Error 1
scons: building terminated because of errors.
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/net-p2p/museekplus
*** Error code 1

Stop.
 
I used to use Nicotine successfully with several versions of FreeBSD, but a quick search of the ports tree suggests it has been abandoned. If I can find the time I'll look into that more deeply.

FWIW: The error you quote above is not a FreeBSD problem, it's just lousy programming. It may not be of much immediate help, but chances are good it will be fixed soon.
 
Nicotine still works as I used it a few weeks ago. I'm not sure if it left it on my machine from a prior version or if I had to download it from the Nicotine site and build myself. I want to say the latter but I'm not sure.
 
Update: I have no idea why net-p2p/nicotine-plus has been marked as broken, for me it works just fine. Here's what I did:
  • Download the source from http://nicotine-plus.sourceforge.net/.
  • Unpack somewhere, e.g. in /tmp: % tar xf nicotine+-1.2.16.tar.bz2 -C /tmp.
  • To install into /opt:
    # cd /tmp/nicotine+-1.2.16
    # python setup.py install --prefix=/opt
  • Move the source there too, for Nicotine+ is best run from the source tree:
    # cd ..
    # mkdir /opt/src
    # mv nicotine+-1.2.16 /opt/src/nicotine+
  • To run Nicotine+ as a mortal user:
    • Check your firewall settings (allow port 2234).
    • % cd /opt/src/nicotine+
      ./nicotine.py
    • Note that for me the Fast Configure dialog "stops" at the directories step (the Forward button just won't become available). If that happens, just cancel it and edit your settings manually.
That should do it.
 
Other than the Fast Configure issue, I have noticed that if you do too many searches or queues it stops working. Usually exiting Nicotine and restarting will correct the download problem.
 
Thanks @fonz, that worked. For future reference is there a guide of some kind to installing third party software not in the ports? I have a certain fear of installing programs outside of ports/packages, sometimes it is necessary though.
 
Last edited by a moderator:
Grell said:
For future reference is there a guide of some kind to installing third party software not in the ports? I have a certain fear of installing programs outside of ports/packages, sometimes it is necessary though.
There's some information in the Porter's Handbook. Two more tips:
  • I'd recommend using a build jail. Try building the software in a jail first, so it can't foul up the actual system. Once you've verified that it works, you could create a package/port that can be installed on the host itself.
  • It may be convenient to install software for which no ports/packages exist in /opt, in order to keep it separate from the rest of the system.
 
Update: I have no idea why net-p2p/nicotine-plus has been marked as broken, for me it works just fine. Here's what I did:
  • Download the source from http://nicotine-plus.sourceforge.net/.
  • Unpack somewhere, e.g. in /tmp: % tar xf nicotine+-1.2.16.tar.bz2 -C /tmp.
  • To install into /opt:
    # cd /tmp/nicotine+-1.2.16
    # python setup.py install --prefix=/opt
  • Move the source there too, for Nicotine+ is best run from the source tree:
    # cd ..
    # mkdir /opt/src
    # mv nicotine+-1.2.16 /opt/src/nicotine+
  • To run Nicotine+ as a mortal user:
    • Check your firewall settings (allow port 2234).
    • % cd /opt/src/nicotine+
      ./nicotine.py
    • Note that for me the Fast Configure dialog "stops" at the directories step (the Forward button just won't become available). If that happens, just cancel it and edit your settings manually.
That should do it.

Hi I'm new in BSD and I use PCBSD. Can you help me? I get this error message at the end:

Code:
Traceback (most recent call last):
  File "./nicotine.py", line 286, in <module>
    run()
  File "./nicotine.py", line 268, in run
    result = checkenv()
  File "./nicotine.py", line 127, in checkenv
    import gtk
  File "/usr/local/lib/python2.7/site-packages/gtk-2.0/gtk/__init__.py", line 30, in <module>
    import gobject as _gobject
  File "/usr/local/lib/python2.7/site-packages/gobject/__init__.py", line 26, in <module>
    from glib import spawn_async, idle_add, timeout_add, timeout_add_seconds, \
  File "/usr/local/lib/python2.7/site-packages/glib/option.py", line 33, in <module>
    import optparse
  File "/usr/local/lib/python2.7/optparse.py", line 419, in <module>
    _builtin_cvt = { "int" : (_parse_int, _("integer")),
  File "/usr/local/lib/python2.7/gettext.py", line 569, in gettext
    return dgettext(_current_domain, message)
  File "/usr/local/lib/python2.7/gettext.py", line 533, in dgettext
    codeset=_localecodesets.get(domain))
  File "/usr/local/lib/python2.7/gettext.py", line 481, in translation
    t = _translations.setdefault(key, class_(fp))
  File "/usr/local/lib/python2.7/gettext.py", line 182, in __init__
    self._parse(fp)
  File "/usr/local/lib/python2.7/gettext.py", line 317, in _parse
    plural = v[1].split('plural=')[1]
IndexError: list index out of range
 
Just for anyone really needing nicotine/soulseek. I have been using the windows version of SoulSeekNS via Wine and it runs very well. I got tired of fighting with nicotine and tried it, have been using it for at least a year or so.
 
Back
Top