Running an Assignment Client


Running it on my centos (linux) with the following parameters:

./assignment-client -t 2 -a --wallet YOURWALLETID --pool credits

Works great :smile:


@mariusaz @Coal
We might need to wait quite a bit for that packaged linux version. So, if you happend to be running 64bit Ubuntu 14.04, here is what you need to do in order to have AC running.

cd ~    
sudo apt-get update;sudo apt-get upgrade -y
sudo apt-get install -y git cmake build-essential libgl1-mesa-dev zlib1g-dev libasound2 libxmu-dev libxi-dev freeglut3-dev libasound2-dev libjack-dev

chmod a+x

mv download
cd glm
sudo cp -r glm /usr/include
cd ..

git clone
cd hifi
mkdir build
cd build
cmake ..
./assignment-client/assignment-client --pool credits --wallet YOURWALLET -a


Is there a limit as to how many assignment-clients I can fork per process?


Right now I use CentOS 6.5 and Screen to run my Linux servers and it does it very well and I put the stuff like my wallet etc in a shell script for easy startup.

Here is what I use for compiling and managing mine, since yours is for Ubuntu/Debian.

Compile HiFi on CentOS 6.5

Or the raw version:

Yum install for the compile/build tools in general:

yum groupinstall "development tools" -y

Yum install for most all hardware configurations:

yum install openssl-devel ruby perl-version git gperf texinfo wget -y
yum install libxcb libxcb-devel xcb-util xcb-util-devel xcb-util-*-devel -y
yum install libX11-devel libXrender-devel libicu-devel libxslt-devel -y
yum install libXext-devel libXmu-devel libXt-devel libXi-devel -y
yum install SDL SDL-devel gmp gmp-devel -y

OPTIONAL: For users under KVM Virtualized Environments for GL graphics support (It really does not hurt to install these but I run my world under a KVM virtual machine so I needed it for 3D/OpenGL:

yum install mesa-libGL zlib-devel mesa-libGL-devel mesa-libGLU-devel -y

Install CMake Manually from source:

tar xvfz cmake-
rm -rf cmake-
cd cmake-
gmake install

Install GLM from source:

cd /usr/src
rm -rf
ln -s /usr/src/glm/glm /usr/include/

Install Nettle from source:

cd /usr/src
tar xvfz nettle-2.7.1.tar.gz
rm -rf nettle-2.7.1.tar.gz
cd nettle-2.7.1
./configure --prefix=/usr/
make && make install

Install GNUtls from source:

cd /usr/src
tar xJf gnutls-3.2.14.tar.xz
rm -rf gnutls-3.2.14.tar.xz
cd gnutls-3.2.14
./configure --prefix=/usr/
make install

Install Freeglut from source:

cd /usr/src
tar xvfz freeglut-2.8.1.tar.gz
rm -rf freeglut-2.8.1.tar.gz
cd freeglut-2.8.1
./configure --prefix=/usr/
make && make install

Install QT from source:

cd /usr/src
tar -vxf qt-everywhere-opensource-src-5.2.1.tar.gz
rm -f qt-everywhere-opensource-src-5.2.1.tar.gz
cd qt-everywhere-opensource-src-5.2.1
./configure --prefix=/usr/ -opensource -openssl -nomake examples -nomake tests
gmake install

Prepare to build HIFI from source:

cd /usr/src
git clone
mkdir hifi/build
cd hifi/build
cmake ..

Now pick what you want to build, from interface (which does little good on a machine with no X like I did) or for services:

make domain-server
make assignment-client


@Coal Nice! Seems like a very thorough set of instructions. Better then mine.

What I am thinking now is that why this information is not in the HiFi-wiki?


Never added it but I will now! I wrote them a while back as a shoot off from a small bit of work that @thoys had written but I did 99% of it since I wanted to make sure it worked as I wanted on CentOS from scratch.

Edit: I have officially published it here: “Compile HighFidelity (Domain Server & Assignment Client) under CentOS 6.5”


A few observations on the ubuntu 14.04 recipe:

  • add sudo apt-get install libgnutls28-dev : you specify it in the requirements, but your 14.04 might have a prior version if you upgraded.
  • Not only do Ubuntu 14.04 repositories have qt5.2.1, but depending on your situation, some of them might be installed already. IMHO, you are better off using the ubuntu debs than installing from qt-project to avoid difficult to resolve conflicts between the various cmake recipes. Of course, there doesn’t seem to be a good catch-all for qt5-dev, but it looks like you can get it all (and more!) with sudo apt-get install ubuntu-sdk-libs-dev

P.S. It is working for me, including accrual of credits, now that I’m using up to date sources.


Hi all, Linux based packages are now available! There’s 2 versions available:

For Debian based distros running upstart (ie. Ubuntu):

Download from:


sudo dpkg -i assignment-manager_0.1_amd64.deb

Run the client:

sudo start assignment-manager

Stop the client:

sudo stop assignment-manager

Tail log:

tail -f /var/log/assignment-manager.log

For RedHat based distros running systemd (ie. Fedora >15):

Download from:


sudo rpm -i assignment-manager-0.1-1.x86_64.rpm

Run the client:

sudo systemctl start assignment-manager

Stop the client:

sudo systemctl stop assignment-manager

Tail log:

journalctl -f -u assignment-manager

In either case, the service gets its configuration from the following file:


Edit this file to set your wallet ID, domain and pool (a default config file with alpha’s details ships with the package, all you need to do is enter your wallet id)

The service will download requirements and the latest version of assignment-client, if you update your config file or want to get the latest version just stop and start the service.

I’ve tried this in a good bunch of different versions of Ubuntu and Fedora, and all you should need is curl or wget (and one of those should come by default with most distros)

Let me know if it works out for you in your distro and/or if you have any questions.



Is anyone else seeing the client stop after accessing the settings menu option on a mac?

I downloaded and started the assignment client, got the wallet id installed, and see a steady stream of messages to the log. However, when i open ( and then dismiss ) the settings window, the client seems to stop. After that, BOTH Start and Stop menu items are active. Clicking Start again seems to work…

Just curious…


Hi @dAo I can reproduce - this is a bug, will fix on a further iteration.


Problem with CentOS - This is built very dependant on Fedora which has things CentOS just does not, like systemd whereas they both support Init.

[root@bits ~]# sh /usr/local/hifi/
[DEBUG] [Sat Jun  7 02:52:58 PDT 2014] Using curl
[DEBUG] [Sat Jun  7 02:52:58 PDT 2014] Dependencies already downloaded, skipping
[DEBUG] [Sat Jun  7 02:52:58 PDT 2014] Already running latest assignment-client, not downloading
/usr/local/hifi/assignment-client: /lib64/ version `GLIBC_2.14' not found (required by /usr/local/hifi/assignment-client)
/usr/local/hifi/assignment-client: /usr/lib64/ version `GLIBCXX_3.4.15' not found (required by /usr/local/hifi/assignment-client)
/usr/local/hifi/assignment-client: /lib64/ version `GLIBC_2.15' not found (required by /usr/local/hifi/
/usr/local/hifi/assignment-client: /lib64/ version `GLIBC_2.14' not found (required by /usr/local/hifi/
/usr/local/hifi/assignment-client: /lib64/ version `GLIBC_2.15' not found (required by /usr/local/hifi/
/usr/local/hifi/assignment-client: /lib64/ version `GLIBC_2.14' not found (required by /usr/local/hifi/
/usr/local/hifi/assignment-client: /lib64/ version `GLIBC_2.14' not found (required by /usr/local/hifi/
/usr/local/hifi/assignment-client: /lib64/ version `GLIBC_2.14' not found (required by /usr/local/hifi/
/usr/local/hifi/assignment-client: /lib64/ version `GLIBC_2.14' not found (required by /usr/local/hifi/
/usr/local/hifi/assignment-client: /lib64/ version `GLIBC_2.14' not found (required by /usr/local/hifi/
/usr/local/hifi/assignment-client: /lib64/ version `GLIBC_2.14' not found (required by /usr/local/hifi/
/usr/local/hifi/assignment-client: /lib64/ version `GLIBC_2.14' not found (required by /usr/local/hifi/
/usr/local/hifi/assignment-client: /lib64/ version `GLIBC_2.14' not found (required by /usr/local/hifi/

CentOS has 2.12 not 2.14 so it will not work with CentOS at all.

Look forward to trying more though!


@Coal thnx for the report, will work on a CentOS friendly update.


Had been running the assignment client successfully however when I try to run it now and using the “… --pool credits” long string it it says ./assignment-client: No such file or directory.

Was there an upgrade?


Last login: Tue Jun 10 05:53:19 on ttys002
Kevins-iMac:~ kevinmthomas$ /Users/kevinmthomas/Desktop/Contents/MacOS/assignment-manager ; exit;
dyld: Library not loaded: @executable_path/QtCore.framework/Versions/5/QtCore
Referenced from: /Users/kevinmthomas/Library/Application Support/High Fidelity/assignment-manager/assignment-client
Reason: image not found


I have assignment client running. best way for windows is to make a shortcut from the assignment-client.exe on your desktop and add the following parameters. at the end on the target line.

-t 2 -a --wallet YOURWALLETID --pool credits

offcorse replace YOURWALLETID for your own.

the last line at the console says
[assignment-client] Waiting for assignment - UUID: {00000000-0000-0000-0000-000000000000}, Type: 2

But, there’s no log !, really get the idea that logging on windows domain serer/assignment client is not working.

QUESTION: how many assignments can you get when it running defaultone assigment-client.exe ? its just 1:1 construction ? so to get more assignments you need to run more clients ?


Ok, lets tryu it aggain. am ruinning 6 assigment clients
every assignment client have 1 shortcut and use the following settings.
and have add my wallet id at the location “YOURWALLETID”

-n 6 -t 1 -a --wallet YOURWALLETID --pool credits
-n 6 -t 2 -a --wallet YOURWALLETID --pool credits
-n 6 -t 3 -a --wallet YOURWALLETID --pool credits
-n 6 -t 4 -a --wallet YOURWALLETID --pool credits
-n 6 -t 5 -a --wallet YOURWALLETID --pool credits
-n 6 -t 6 -a --wallet YOURWALLETID --pool credits

on the same system is also a stack manager running.
The start fine it looks like the are waiting for assignment, and sometimes i see the network light flashing. but on the console i dont see any activity of other clients the use my assignment client. als my wallet shows still 0.0 So how can we test if the assigment client is accepting assignments so we know its running really ? offcorse there’s not enough need for assignment i think right now, ther epossible more assigmnet servers then tasks.

maby doing something wrong, think not. maby after your video i can see some error.


Queued assignments show up on the web page localhost:40100.


No that is connecting me to the stack manager. 40100 not the also seperate running assigment clients. but assignment client is other topic.


When I tried running the bots_procedural script, after getting to the point where I had the 15 assignment clients running and hit “run” on the script page, those 15 “non-Stack Manager” assignment clients showed up in the queue on localhost:40100.

All the stack manager is is a program that manages the running assignment clients. The localhost:40100 tracks all assignment clients running on your machine weather you started them via the stack manager or not.
The stack manager assignment clients appear at the top of the page, but right below that, under Queued Assignments you’ll see active assignment clients (not running clients just waiting) appear in that list.


Good news… one assignment client -t 2 is doing lots of things and credit is goig up. still like to know more aboutbthe asignment client and the configuration. now running 6 assignments client -t 1 to -t 6. but system seems to have soemtimes ockups am going to kill 1,3,4,5,6 the dont do anything to. keeping -t 2 running. it looks like all servers are covered with one assignment client.

But what is -t doing and what means the number ?