====== 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.