====== CompilingOnLinux ======
This shows how to compile libhimd and QHiMDTransfer on Ubuntu 9.04 or later, Fedora 11 or later and ArchLinux.
===== Requirements =====
First, you'll need to install some packages. On Ubuntu and Debian, open a terminal and type:
sudo apt-get install libqt4-dev build-essential libglib2.0-dev libmad0-dev libgcrypt11-dev libsox-dev git-core libusb-1.0-0-dev libid3tag0-dev libtag1-dev
Note: libsox-dev is required to be version 14.2 or higher. The version from Debian Lenny does *not* work unfortunately. The version from Ubuntu 9.04 (Jaunty) or newer works.
On Fedora 11+ systems, run the following (after enabling the [[http://rpmfusion.org/Configuration|RPM Fusion repository]]):
sudo yum install qt-devel glib2-devel sox-devel libgcrypt-devel libmad-devel gcc-c++ git libusb1-devel libid3tag-devel tablib-devel
On Arch Linux, run the following as root:
pacman -Sy git qtcreator taglib libgcrypt glib2 sox libmad gcc make libusb-1.0-devel libid3tag libtag
On openSUSE Linux, run the following as root:
zypper install git libqt4-devel libgcrypt-devel sox-devel glib2-devel taglib-devel libusb-1.0-devel
For openSUSE, //libmad// has to be installed from source:
wget ftp://ftp.mars.org/pub/mpeg/libmad-0.15.0b.tar.gz
tar xzf libmad-0.15.0b.tar.gz
cd libmad-0.15.0b
./configure && make && make install
===== libhimd and QHiMDTransfer =====
To build libhimd and QHiMDTransfer, you'll need to get the source from our git-repository, then run //qmake// and //make// to build everything.
==== Getting the code ====
To get the code, clone it with //git// as shown on the [[start#source_code|homepage]].
==== Building everything ====
libhimd & QHiMDTransfer:
On Ubuntu/Debian and Fedora 11 or later, type:
cd linux-minidisc
qmake-qt4 -r
make
On Arch Linux, replace //qmake-qt4// with just //qmake//.
This builds with all features enabled. You can disable some features with dependencies on thrid-party-software individually by adding CONFIG options to the qmake invocation. See the top-level README file in the sources for details.
==== Generating translation files ====
To generate the translation files for //qhimdtransfer// to display the GUI in your native language (if available for your language), call lrelease:
cd qhimdtransfer
lrelease qhimdtransfer.pro
==== Running QHiMDTransfer ====
To run the software, simply type "./qhimdtransfer" in the folder of qhimdtransfer.
==== Running netmd/himdcli ====
Go into the appropriate subdirectories and type "./netmdcli" or "./himdcli".
===== basictools =====
==== Building ====
Change into the folder basictools:
cd linux-minidisc/basictools
To build the basictools, just call //make// with the program to be built as an argument:
himdformat:
make himdformat
minikey:
make minikey
And so on.
==== Using minikey and himdformat ====
To use minikey, you need to know the name of the generic SCSI devicefile. It's located in the /dev directory. For this, just unplug your HiMD-Walkman, list all sg*-files in /dev, plug in your HiMD-Walkman and list all sg*-files again in /dev. The newly added sgX-file is your HiMD.
Invoke the tools like this:
himdformat:
./himdformat /dev/sg5
Warning, this will format all data on your HiMD *without* asking. //himdformat// is intended for testing at the moment only.
minikey:
./minikey /dev/sg5
This prints out the diskID of the HiMD which is located outside the FAT-Filesystem and must match the diskID located in the mclist0X.hma-file.