5.2. Linux

5.2.1. "What do I need to compile Prokyon3?"
5.2.2. "What package are required to compile on Redhat (SuSE)?"
5.2.3. "What packages are required to compile on Mandrake 9.1?"
5.2.4. "Which version of the QT library is required?"
5.2.5. "What version of g++/gcc is required?"
5.2.6. "How do I compile Prokyon3 on Mandrake?"

5.2.1. "What do I need to compile Prokyon3?"

You will need the following components (and their libraries) installed to compile from source code:

  • A running MySQL server

  • QT3 compiled with both thread and MySQL support enabled

  • id3lib libraries

  • Ogg and Vorbis libraries if you want Ogg support

Here is what ldd tells on SuSE 8.1:

libqt-mt.so.3 => /usr/lib/libqt-mt.so.3 (0x40023000)
libogg.so.0 => /usr/lib/libogg.so.0 (0x40647000)
libvorbis.so.0 => /usr/lib/libvorbis.so.0 (0x4064b000)
libvorbisfile.so.3 => /usr/lib/libvorbisfile.so.3 (0x4066b000)
libid3-3.8.so.0 => /usr/lib/libid3-3.8.so.0 (0x40672000)
libz.so.1 => /lib/libz.so.1 (0x406ad000)
libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x406bc000)
libm.so.6 => /lib/libm.so.6 (0x4076f000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x40792000)
libc.so.6 => /lib/libc.so.6 (0x4079a000)
libpng12.so.0 => /usr/lib/libpng12.so.0 (0x408b8000)
libpthread.so.0 => /lib/libpthread.so.0 (0x408e8000)
libGL.so.1 => /usr/lib/libGL.so.1 (0x408fd000)
libXmu.so.6 => /usr/X11R6/lib/libXmu.so.6 (0x40ac8000)
libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0x40ade000)
libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0x40af5000)
libdl.so.2 => /lib/libdl.so.2 (0x40afe000)
libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x40b01000)
libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x40b0f000)
libXrender.so.1 => /usr/X11R6/lib/libXrender.so.1 (0x40c07000)
libXft.so.1 => /usr/X11R6/lib/libXft.so.1 (0x40c0c000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x40c38000)
libXi.so.6 => /usr/X11R6/lib/libXi.so.6 (0x40c7a000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
libXt.so.6 => /usr/X11R6/lib/libXt.so.6 (0x40c82000)

5.2.2. "What package are required to compile on Redhat (SuSE)?"

Redhat at least by 7.3 has MySQL in a separate rpm from qt-devel. To compile, you'll need both the qt-devel package and something like qt-MySQL-3.0.3-11.i386.rpm

SuSE missed some dependencies, which means that an installation of qt3-mysql.rpm not automatically causes an installation of mysql-shared.rpm and mysql-client.rpm.

5.2.3. "What packages are required to compile on Mandrake 9.1?"

This is the (hopefully) complete list of required packages:

  • libid3lib3.8_2-3.8.2-2mdk

  • libid3lib3.8_2-devel-3.8.2-2mdk

  • libqt3-3.1.1-13mdk

  • libqt3-common-3.1.1-13mdk

  • libqt3-mysql-3.1.1-13mdk

  • libqt3-devel-3.1.1-13mdk

  • libmysql12-4.0.11a-5mdk

  • gettext-0.11.5-2mdk

  • XFree86-devel-4.3-5mdk

  • zlib1-devel-1.1.4-5mdk

  • libmysql12-devel-4.0.11a-5mdk

  • MySQL-common-4.0.11a-5mdk

  • MySQL-client-4.0.11a-5mdk

  • MySQL-Max-4.0.11a-5mdk

  • libvorbis0-1.0-6mdk

  • libvorbis0-devel-1.0-6mdk

  • libogg0-devel-1.0-3mdk

  • libvorbisfile3-1.0-6mdk

  • libogg0-1.0-3mdk

[Note]Note

Prokyon 0.9.2 or higher (or CVS snapshot) is needed to support the creation of the database if MySQL4 is used.

5.2.4. "Which version of the QT library is required?"

Basically any version above 3.0 will work. Please note that there was on-going improvement/bug fixes from Trolltech since the original release. More specifically, multi thread capability of some function was significantly improved. We have found qt3.1.1 (last available at the time of this release) to be more stable and robust than previous versions.

5.2.5. "What version of g++/gcc is required?"

Prokyon3 can be compiled successfully using gcc 2.95 or 3.2. We recommend gcc 3.2 but other versions may work as well. If you are using g++ 3.XX you need to recompile all C++ libraries used by Prokyon3 are these are not binary compatible with g++ 2.XX libraries . C libraries are no problem. Currently, Prokyon3 requires 2 C++ libraries: QT3 and libid3. If you upgrade your compiler, your will need to recompile both libraries to successfully link Prokyon3.

[Note]Note

Prokyon3 v0.9.1-r1 could not be compiled using gcc 3.3 (SuSE 8.2). The next version will compile as well as the current CVS version does ;-)

5.2.6. "How do I compile Prokyon3 on Mandrake?"

One way is to download and compile latest x11 version of QT3 (source tar-ball). It must be configured with the -threads and -plugin-sql-mysql options. In addition, on Mandrake you need the -I/usr/include/mysql option.