Irrlicht 'Depends' on what under linux?

Discuss about anything related to the Irrlicht Engine, or read announcements about any significant features or usage changes.
Post Reply
JPulham
Posts: 320
Joined: Sat Nov 19, 2005 12:06 pm

Irrlicht 'Depends' on what under linux?

Post by JPulham »

I'm in the process of writing packages for a game I made in Irrlicht... What packages does Irrlicht depend on? what do I need to include?

Also... in my Gentoo ebuild... I have decided to include the source to irrlicht and compile it on the users machine... Is this best practice and can I do it with the Irrlicht License (I think I can ... :? )
pushpork
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Post by hybrid »

The license is no problem, you can do whatever you want with Irrlicht. Compiling on the host machine is often a good thing to avoid library incompatabilities. However, most distributions have many different stdlib and g++ libraries installed such that the problem is usually only for old systems. Moreover, you urge the user to install also the dev-packages for the dependencies, e.g. OpenGL header and X11 development kits. And you have to provide a good build script.
The requirements of a binary on my machine are:

Code: Select all

        libGL.so.1 => /usr/lib/libGL.so.1 (0xb7d3b000)
        libGLU.so.1 => /usr/lib/libGLU.so.1 (0xb7cc5000)
        libXxf86vm.so.1 => /usr/lib/libXxf86vm.so.1 (0xb7cbf000)
        libXext.so.6 => /usr/lib/libXext.so.6 (0xb7cb2000)
        libX11.so.6 => /usr/lib/libX11.so.6 (0xb7bcc000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb7af7000)
        libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb7ad5000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb7acb000)
        libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb799b000)
        libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb7989000)
        libXau.so.6 => /usr/lib/libXau.so.6 (0xb7986000)
While many of those things are just subdependencies of contained libraries the major things are: X11 with xf86 vidmode extension and OpenGL. The libstdc++ must match, which often requires that your compiler is not too new compared to the target system.
So if you provide a binary based on a moderate gcc 3.x version and give the optional possibility to compile from scratch you're completely safe.
The vidmode extension can also be replaced by xrandr which is default on some machines. It might be even possible to use both (however, your build script will become more complex).
JPulham
Posts: 320
Joined: Sat Nov 19, 2005 12:06 pm

Post by JPulham »

The compile from source was more for Gentoo and related 'source' distros. where posible I plan to use binaries (i.e. Debian files)
pushpork
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Post by hybrid »

You can create some package with a package manager, e.g. deb or rpm, but this would also require to set the correct dependencies per distro. However, for linux also tarballs are quite common, which can be used on every system (modulo the required libs).
Post Reply