Topic: Installing MAKE
started by: lpoulsen
Posted by lpoulsen on Jan. 03 2009,18:10I need to compile one of my own programs to run on the DSL box (which is the edge router at my business). I had no trouble installing gcc (and its requirements), but when I try to install *make*, it needs *fileutils*, and it fails with the following message:
Unpacking fileutils (from .../fileutils_4.1-10_i386.deb) ...
dpkg: error processing /var/cache/apt/archives/fileutils_4.1-10_i386.deb (--unpack):
trying to overwrite `/bin/chgrp', which is also in package coreutils
dpkg-deb: subprocess paste killed by signal (Broken pipe)
Errors were encountered while processing:
E: Sub-process /usr/bin/dpkg returned an error code (1)
What is the problem, and how do I get around it?
It looks like part of the problem is that /bin/chgrp is not the real debian chgrp, but the busybox substitute. I had hoped to bypass the problem by makeing it a COPY of busybox instead of a link, but that did not make any difference.
Posted by lpoulsen on Jan. 06 2009,02:37I managed to get MAKE in by manually typing
dpkg --force-depends -i /var/apt/archives/make*
Make runs, but gcc won't actually compile anything because
I am missing almost all of /usr/include/*.h
I think that what I need is libc6-dev package, but I get
two errors when I try to install it:
1) something about the wrong version of libc6
2) make is installed but needs fileutils as a prerequisite,
and since it is not there, apt-get won't go on.
This is not very helpful.
Am I crazy for wanting to do a few compiles on a DSL box ?
Posted by Tobiaus on Jan. 09 2009,11:16message removed
Posted by lpoulsen on Jan. 13 2009,01:09I think I have figured out that I need to install a package named gnu-utils in order to get the full (non-busybox) core utilities.
But when I type
apt-get install gnu-utils
... I get "package not found".
How do I install gnu-utils ?
/ Lars Poulsen
Posted by lpoulsen on Jan. 13 2009,01:15With some more googling, I learned that I just need to type
... and gnu-utils (true coreutil) gets installed.
But after this, I still cannot install fileutils (which is a prerequisite for make).
Posted by lpoulsen on Jan. 13 2009,01:59OK, I managed to force in fileutils by
dkpg -i --force-overwrite /var/cache/apt/archives/fileutils*
... lots of warnings about package overlaps, but seems to work.
Now, to get the include files (/usr/include/*.h) needed to compile anything useful. It looks like I should be able to install them with
apt-get install libc6-dev
... but libc6-dev requires libc6 of a specific revision ?
"" libc6-dev: Depends: libc6 (= 2.2.5-11.8) but 2.3.2.ds1-10 is to be installed ""
For the things I want to compile, it is extremely unlikely that the differences between libc6 versions can be ignored (after all, stdio.h has not changed in a long time), so I thought I would just force the dependency checking to be ignored for this version as well, but I cannot get apt-get to download the package.
apt-get install -f libc6-dev
apt-get -f install libc6-dev
apt-get install libc6-dev -f
... but I still get the same message that it failed to install due to the version problem.
Clearly, my problem is unfamiliarity with the debian package manager (I'm used to the RedHat tools).
/ Lars Poulsen
Posted by WDef on Jan. 20 2009,23:24Oh dear.
dsl is only partially debian compatible. You do not need to do these machinations with apt-get to just get make and so on.
make is included in compile.uci, along with gcc, binutils and a lot of headers
Use that to compile. Read the info file for instructions.
Getting Started with Damn Small Linux
That's why it opens when you boot.
Posted by lpoulsen on Jan. 21 2009,02:56Thank you for the somewhat helpful reply.
I have not managed to figure out how to "use compile.uci"
I found a utility named something like DSL UCI Browser,
but compile.uci is not amoung the options that it shows.
The irony is that I have been managing Unix systems since
1982, but find DSL almost as confusing as System V.
Ahhh ... I found compile.uci ... in the TESTING section of
the "UCI Browser".
I selected it, pushed "install selected". A command script ran (and its window closed before I could read anything in it).
A bunch of stuff got downloaded, but /usr/include is still
pretty empty. For example, there is no stdio.h
Posted by WDef on Jan. 21 2009,10:41So you have read
< http://www.damnsmalllinux.org/wiki....ensions >
And the rest of the wiki and the FAQ?
uci extensions mount in their own dir in /opt, they mainly do not install to the root filesystem.
dsl has always required some reading. Just about every conceivable question has been asked before - suggest making generous use of the forum search capability.
At present the community here is in disarray, since a bunch of the most experienced users are not around much since Robert left.