Compiler redundancy?

Pierre Labastie lnimbus at club-internet.fr
Mon Oct 22 06:08:20 PDT 2007


goodoldmarty at gmail.com a écrit :
> I keep forgetting to mention...
>
> after all the builds I have done /usr/bin always contains:
>
> -rwxr-xr-x 4 root root  456227 Oct 22 01:19 i686-pc-linux-gnu-c++
> -rwxr-xr-x 4 root root  456227 Oct 22 01:19 i686-pc-linux-gnu-g++
> -rwxr-xr-x 3 root root  455144 Oct 22 01:19 i686-pc-linux-gnu-gcc
> -rwxr-xr-x 3 root root  455144 Oct 22 01:19 i686-pc-linux-gnu-gcc-4.2.1
> -rwxr-xr-x 4 root root  456227 Oct 22 01:19 g++
> -rwxr-xr-x 3 root root  455144 Oct 22 01:19 gcc
>
> Marty B
>   
These are really only 2 physical storage places on the disk (one gcc and 
one g++), which get _hard_linked with each other. This means the only 
redundancies are entries in the directory (more info in "info coreutils 
ln").
Roughly, the entries in the directory are pointers to the files. You can 
have several pointers to the same file, say here gcc, 
i686-pc-linux-gnu-gcc-4.2.1, i686-pc-linux-gnu-gcc are all pointers to 
the same file. The number of pointers to a file is noted in the second 
column of the ls -l listing. It seems that there is a 4th pointer to 
g++. Could be in the same directory or in another. In this case, I think 
you missed c++.

Unless you plan to do some cross-platform building, you can safely 
remove all the i686... entries. The file is only physically removed when 
the last pointer to it is deleted.

Pierre Labastie



More information about the hlfs-dev mailing list