Joined: Feb. 2007
||Posted: June 18 2007,19:08
DSL is great but has a drawback : it s a modified debian. Some debian package won't install through apt-get because DSL has not the proper debian dependency structure. This make compile stuff for DSL a real problem. There are often missing libs you can't add because of dependencies issues.
The mydsl repositery does include .dsl to compile and there was a mention on the forum of a script from Juanito to make the compile process easier. But it did not worked for me in some cases (may be because not used the proper way) but anyway this is another option, hopefully you ll find it usefull.
looking at the debian live cd stuff, I recently discovered the debian deboostrap function to install a minimal debian system. It gave me the idea to use it to build a compile environment for DSL which can be accessed by a chroot. In that way it is possible to compile stuff for DSL directly into DSL (no need to reboot into KNOPPIX or real debian)
this is a short how to to do this :
1.install debootstrap into DSL using apt-get
- install the myDSL dpkg extension
- apt-get update
- apt-get install debootstrap
- run the debootsrap install : this will download and install a minimal debian system into the directory you choose, without changing your running DSL (choose the woody install)
2. switch to your new debian by chroot :
- once the new debian environnement is installed you are able to chroot in. this means you tell your system that the root "/" of your system is not any more the one set during boot process by DSL, but the /hda3/my_debian (assuming the target of the deboostrap install was there into the my_debian directory)
- after the chroot the system will see
/hda3/my_debian/ as /
/hda3/my_debian/bin as /bin
/hda3/my_debian/etc as /etc
and so on
- to chroot simply cd /mnt/hda3/
- sudo su
- chroot ./my_debian/
- you can check that you are in a new environment :
the result of pwd is /
Note : you are looged as root in this new system
3. prepare your new system to be able to compile apps
- to compile you need to install all the required tools. these will be installed only in your new system which is completely independant from your DSL box.
- as you now work in a real debian you can easily do it using apt-get install and all dependency issues are gone : yeah !
- apt-get install gcc flex bison make automake autoconf (and so on)
- we also need to install the some dev packages of the libs the app you want to compile needs libsdl-dev for example
4. start compiling
- all the chroot stuff has been done in a terminal window, but DSL is still running outside of this window. this means you still can launch firefox, go and grab the source of your app on sourceforge, save it into your normal home/dsl directory and use emelfm to decompress it into a directory of your new system
- or in another terminal simply run from your home directory
tar -xzvf my_app.tar.gz /mnt/hda3/my_debian/usr/src/
- now you can go back in the terminal where you are chrooted in the debian system, go inside the src directory
- cd /usr/src/my_app-src/
- and perform a classic compilation procedure
Note: use the prefix=/opt option to have the programm fully installed there so that you can transfer it easily later to DSL and you can easily turn it into myDSL extension or store it in your persistent opt partition
- ./make install
- once the compilation is finished you can from DSL (simply from the file manager emelfm for example) copy all the compiled files into your standard DSL
5. et voila !
I cannot say this works all the time but I found this usefull because it avoids to reboot to make your compilation work and avoid to install a multiboot with different system on your PC which can be a difficult process especially on old hardware DSL is dedicated to