Re: [PHP4BETA] no space left on device
| From: | Philippe Verdy | Date: | Wed, 25 Aug 1999 09:05:20 +0000 |
| Subject: | Re: [PHP4BETA] no space left on device | ||
| References: | 1 | Groups: | php.version4 |
| Request: | Send a blank email to php-version4+get-3709@lists.php.net to get a copy of this message | ||
----- Original Message -----
From: Scott Moser <smoser@brickies.net>
To: Andi Gutmans <andi@zend.com>
Cc: <php4beta@lists.php.net>
Sent: Wednesday, August 25, 1999 6:14 AM
Subject: Re: [PHP4BETA] no space left on device
> I tried this, but to no avail. There should be plenty of room everywhere
> for this to go. Heres the output of df
> Filesystem 1k-blocks Used Available Use% Mounted on
> /dev/hda2 62211 47225 11773 80% /
> /dev/hda7 2927950 965679 1810860 35% /home
> /dev/hda6 1484355 629958 777689 45% /usr
> /dev/fd0 1390 180 1138 14% /mnt/floppy
>
>
> I'm building in /home/, so there shouldn't be anyproblem. This
> thing can't possibly require more than 11 meg of tmp space, can it?
Yes it can: at link time, a big set of libraries and object files are
scanned in several passes, which can create multiple temporary files, to
store the table of needed symbols, and the table of resolved symbols, as
well as managing code segments reordering (so that code segments from
multiple modules are grouped before all data segments coming from these
modules).
Because effective addresses can't be solved before the whole set of linked
modules is known (which requires searching for module dependencies, while
maintaining a table of known symbols in modules from a library that could be
selected later, are further required by another library), a linked program
has several separate parts stored in temporary files that grow
independently, and are merged only at end once the list of modules is
complete. Then these temporary files are rewound and read again to get the
segment contents, and update relative references in a final executable file.
If your /tmp directory is still in your / directory, you ought to move it
elsewhere (because / is critical for your system to boot, and permanently
writing to it is not a good idea), into another volume, or if you want to
keep the / boot directory with temporary space, you should alter your user
profiles to set TMPDIR to /usr/tmp. As I can see, /usr (and /home) has
enough space. I think that you already have a /usr/tmp directory in your
/usr partition, and that there's also a symbolic link to /usr/tmp from
/var/tmp.