Museek FAQ
Home Soulseek Links Nicotine Museek Code Graphics & Others
Museek+   Mucous   Murmur   Museek+ Wiki / Trac   Museek FAQ   Museek Guide

Daelstorm's µseek / Museek FAQ:


Question 1: Which Operating systems?

What does Museek run on? Does museek work on OSX? Windows? FreeBSD? Linux? Foo?

Answer 1:

OSX: It sorta/kinda/almost works on OSX if compiled correctly. How to do that? No idea
Windows: Nope.
Cygwin (Unix stuff for Windows): Nope (However, my client Mucous runs in Cygwin.)
FreeBSD: Not FreeBSD4, but it's reported to work on FreeBSD5. (Need a bit more info for FreeBSD newbies on how to build it, tho)
Linux: Yes, it definitely works on Linux. :)

If you've gotten museek to build and run on any other Operating system, please mention which and how.

Question 2: What's so cool about museek?

Why should I use Museek? What does it have that other clients don't?

Answer 2:

Several things.

Use on multiple machines: Museek is separated into the backend (or daemon or server, if you prefer), museekd, and the clients, like Museeq. This means you can run museekd on one box on your network and run several instances of museeq or mucous from other computers on the network all using the same Soulseek ID.

Low resource usage: If you do not wish to, you never need run a museeq on your local machine.

Looks: Museeq is a QT app. So, if you use KDE, Museeq will fit perfectly into your desktop. If you're not using KDE, you can still theme Museeq to meld with whatever X11 configuration you use.

Speed: Museek was written in C++, so it's considerably faster than the Python-based clients, Nicotine and PySoulSeek who are a bit slower on the GUI front.

X-less: You don't need an X-Server to run museekd. You can use Mucous as a client, instead of Museeq

Question 3: Museek vs Museeq

What's the difference between museekd and museeq?

Answer 3:

museekd is the daemon that sits in the background connected to soulseek.
museeq is the QT client that connects to museekd and provides an interface for the user.

Question 4: Musetup problems?

Why does musetup spit an error at me?

Answer 4:

Note: This problem has been fixed in the subversion repository and in 040714.

The first release of museek (040528) needs a config.xml file in ~/.museekd/
First, create an empty ~/.museekd/ directory and run museekd.

Step 1: mkdir ~/.museekd
Step 2: touch ~/.museekd/config.xml
Step 3: museekd
.... wait a few seconds ....
Step 4: ctrl-c
Step 5: musetup

Tips:
  • Run musetup and setup up shared directories.
  • Set an Interface password with musetup. (musetup->3->1)
  • The Interface password is what you will need to input when you start museeq.
  • If you want to run a remote museeq client, add your Ethernet IP to interfaces listeners in musetup. (musetup->3->2->1)
  • Be careful not to start more than one process of museekd with the same config, because they will constantly disconnect each other due to using same soulseek username unless you're using museek+ >= 0.1.4.


Question 5: Download sites?

Where do I download museek?

Answer 5:

The OFFICIAL source is available on http://museek.thegraveyard.org/

The latest OFFICIAL version is in the Subversion repository. SeeSchloss and I have added features to museekd and museeq, and since Hyriand is on hiatus, I packaged it as Museek+ (Museek-Plus).

You can also download some binaries of Museek under Question 6.

Question 6: Binaries & Build scripts?

Are there easier ways to install museek?

Binaries & Build scripts

Gentoo

Gentoo users need only download the museek-0.0.040714-r5 ebuild or Xero's subversion ebuild, extract it to their PORTDIR_OVERLAY directory (usually /usr/local/portage, set in /etc/make.conf).

Then, if you want to emerge museek with QSA support, emerge qsa and use the following command:
USE="qsa" emerge museek


Or, if you don't want museeq at all, USE="-qt" emerge museek

Otherwise, just: emerge museek

Debian

Debian unstable users can just download this Museek Subversion build 050507 (now with searching Browsed Shares and Buddy searching :) or this older Debian Package 040714 a shot. You'll also need this QSA deb I built (x86)

Slackware

Slackware users can use SukkoPera's slack packages. They are without QSA support. (Often not online)

Or, you can used jakeblues461's subversion builds: 050417 without QSA or 050417 with QSA

ArchLinux

Archlinux users can use Hyriand's PKGBUILD or my Subversion PKGBUILD-museek-svn or my current svn binary pkg

Question 7: Dependencies?

What about all these dependencies? I've read the INSTALL file, but am still confused.

Answer 7:



Sconstruct & Python

Sconstruct is needed to compile museek and it depends on Python.

If scons is not installed already (and doesn't have a package) run scons/scons.py (from the museek directory). If you are using svn version, you'll need to install scons yourself.

Python: A Debian user needed to upgrade to Python 2.3.x to get museek to compile. You probably will too.

Upgrade if you get this error: Scons *** No tool named 'qt': No module named qt

If you get an error with scanner.cc whilst running scons, you probably have a version of scons that is incompatible with Museek's scons script. Use Scons version 0.96.1 (included with releases):

This is the error:
build-i686-linux/Tools/scanner.cc:191: error: no matching function for call to 'scandir(const char*, SCANDIR_ENTRY***, NULL, NULL)'
/usr/include/dirent.h:246: note: candidates are: int scandir(const char*, dirent***, int (*)(const dirent*), int (*)(const void*, const void*))
build-i686-linux/Tools/scandir.hh:27: note: int scandir(const char*, dirent***, int (*)(const dirent*), int (*)(const dirent**, const dirent**))
build-i686-linux/Tools/scanner.cc:200: error: invalid use of undefined type 'struct SCANDIR_ENTRY'
build-i686-linux/Tools/scanner.cc:179: error: forward declaration of 'struct SCANDIR_ENTRY'
scons: *** [build-i686-linux/Tools/scanner.o] Error 1
scons: building terminated because of errors.

Known to be bad for museek: 0.96.90 0.96.91

QT & QSA

QT 3.2 or greater is a dependency of museeq

The QTDIR variable may not be set properly, in that case, you'll have to set it manually.
Some possible locations: /opt/qt /usr/share/qt3 /usr/qt/qt3

If you get this error: /usr/share/qt3/include/qt.h:260:21: qvfbhdr.h: No such file or directory you can try something very evil...
edit: /usr/include/qt3/qt.h and comment // out the line containing #include <qvfbhdr.h>

If you get the scons error: Checking for C++ header file qapplication.h... no you'll need to set your QTDIR manually.

On Debian, you would run scons with: scons QT_LIB=qt-mt QTDIR=/usr/share/qt3

You should have an include directory or symlink to /usr/include/qt3 (Debian) in $QTDIR

On FreeBSD, the QTDIR should be /usr/X11R6 (can someone verify that this works?)


QSA is QT Script for Applications and allows scripting in Museeq.

Gentoo users can: emerge qsa
Debian users can grab the binary above.

libXML & libXML++

libxml++ is the same thing as libxmlpp and NOT the same thing as libxml.


By Hand

compile libxml++ with: ./configure --prefix=/usr; make; su -c "make install"

If you've installed libxml++ in /usr/local, run this before running scons:
export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH"


Gentoo

emerge libxmlpp


Debian

apt-get install libxml++1.0 libxml++1.0-dev


ArchLinux

pacman -S libxml++

Subversion & iconv

The subversion version of museek requires FAM

iconv... is eviiiil. Get a recent version of the GNU libc -- or another implementation of iconv.
Also, make sure gcc (g++) or some other C++ compiler is installed.

The iconv error probably means you are running a weird OS, a Linux distro that doesn't include gcc, or that you really need to look at the config.log file in the museek build directory for detailed information about your error.

Most (if not all) of these programs and libraries should be in your distro's packaging system.

Question 8: Cannot Connect Errors?

My connections are failing with cannot connect errors.What can I do?

Answer 8:

First, make sure your Soulseek port (usually 2234) is open.
(You can read my explanation of why you need it open.)

Next, check your Connection Mode settings in musetup.
Choose passive, if your port is open.
Or, if your router cannot forward the port, choose active... but this is not ideal.

Question 9: Rescan Shares?

I don't want to restart museekd every time I rescan my shares with muscan. What can I do?

Answer 9:

The command: killall -HUP museekd will reload your rescanned shares.

Question 10: Upload Limiting

Museek doesn't have an upload limiter yet, how can I stop it from destroying my download rate?

Answer 10:

A future release will probably have some sort of upload limitation. So, for now, use a QoS/traffic control/shaper like Wonder Shaper (which requires iproute).

Other options include Jim diGriz's QoS Script, myshaper, and trickle (trickle is known to work very badly with museek if museekd was compiled with EPOLL enabled)

Update: EPOLL is a linux kernel option that has something to do with how the kernel manages packets. Anyway, if your kernel was built with it and you use trickle on museekd, you'll find museeq impossible to use, because of the way trickle mangles stuff and breaks the connection from museekd to museeq.

I modified Xero's tc script into this rc.limit script. Modify it for your own convience.

Question 11: Developer(s)?

Who developed Museek & museeq?

Answer 11:

Hyriand. His website is the thegraveyard.org

Question 12: Convert Config?

Is there any way I can convert my nicotine settings to museek?

Answer 12:

Yes, rhwinter created a nicotine2museek (site is empty) nicotine2museek.pl script. (you'll need the perl XML::Writer bindings)

Question 13: Any Themes?

Museeq looks great and all that, but I want different icons. Can I do this?

Answer 13:

Sure! Several themes have already been created.
Imperial Knight's Bluebox: Tarball
My iTheme: Screenshot & Tarball

To install a theme untar them and copy the PNGs into /usr/share/museek/museeq/ or /usr/local/share/museek/museeq/ depending on how museek was installed.
(Since this isn't a feature of museeq, it'll overwrite the default images)

Question 14: Any Clients or tools?

Are there any other clients or tools for Museek?

Answer 14:

On my museek links page I've included some museek related software. I've enhanced the museekchat Curses client that's in the subversion repository. It now has quite a few features. You can go here to learn more and download it.

Question 15: More guides?

I got it installed/compiled... what do I do now?

Answer 15:

Read this guide or figure it out on your own.

Question 16: Help from Users?

Where do I find answers to the questions not answered in this FAQ?

Answer 16:

You can try the official Soulseek Forums and the museek chat room on Soulseek.

Question 17: Special Build Options for x86_64

I have an x86_64 box, and can't get Museek to compile, anything I can do?

Answer 17:

You can try adding -fPIC to your CCFLAGS.
Do this by editting the SConstruct file around line 91
from: env.Append(CCFLAGS = ['-Wall', '-pipe'])
to: env.Append(CCFLAGS = ['-fPIC', '-Wall', '-pipe' ]) (in this order) (thanks, loox)


Hope it works for you, good luck.
-- Daelstorm --



Get Firefox!

The latest version of this FAQ can be found at http://thegraveyard.org/daelstorm/museekfaq.php