diff options
author | Eelco Dolstra <e.dolstra@tudelft.nl> | 2009-12-17T14·12+0000 |
---|---|---|
committer | Eelco Dolstra <e.dolstra@tudelft.nl> | 2009-12-17T14·12+0000 |
commit | ef92a14bfea7a16102b04711c9c18ad717e82ea1 (patch) | |
tree | 8a71b4fac699c3d06a52d20a07f5883d66e66d7c /src | |
parent | 945d8218fbcab4e546213f420125bf521ff3306d (diff) |
* Include config.h before the C library headers, because it defines
_FILE_OFFSET_BITS=64. Without it, functions like stat() fail on large file sizes. This happened with a Nix store on squashfs: $ nix-store --dump /tmp/mnt/46wzqnk4cbdwh1dclhrpqnnz1icak6n7-local-net-cmds > /dev/null error: getting attributes of path `/tmp/mnt/46wzqnk4cbdwh1dclhrpqnnz1icak6n7-local-net-cmds': Value too large for defined data type $ stat /tmp/mnt/46wzqnk4cbdwh1dclhrpqnnz1icak6n7-local-net-cmds File: `/tmp/mnt/46wzqnk4cbdwh1dclhrpqnnz1icak6n7-local-net-cmds' Size: 0 Blocks: 36028797018963968 IO Block: 1024 regular empty file (This is a bug in squashfs or mksquashfs, but it shouldn't cause Nix to fail.)
Diffstat (limited to 'src')
-rw-r--r-- | src/libstore/build.cc | 4 | ||||
-rw-r--r-- | src/libutil/archive.cc | 4 | ||||
-rw-r--r-- | src/libutil/util.hh | 2 |
3 files changed, 6 insertions, 4 deletions
diff --git a/src/libstore/build.cc b/src/libstore/build.cc index 2e0f166d4f9d..d56ae4570df7 100644 --- a/src/libstore/build.cc +++ b/src/libstore/build.cc @@ -1,3 +1,5 @@ +#include "config.h" + #include "references.hh" #include "pathlocks.hh" #include "misc.hh" @@ -29,8 +31,6 @@ /* Includes required for chroot support. */ -#include "config.h" - #if HAVE_SYS_PARAM_H #include <sys/param.h> #endif diff --git a/src/libutil/archive.cc b/src/libutil/archive.cc index f30e5b7cf694..8fde4328c47e 100644 --- a/src/libutil/archive.cc +++ b/src/libutil/archive.cc @@ -1,3 +1,5 @@ +#include "config.h" + #include <cerrno> #include <algorithm> #include <vector> @@ -12,8 +14,6 @@ #include "archive.hh" #include "util.hh" -#include "config.h" - namespace nix { diff --git a/src/libutil/util.hh b/src/libutil/util.hh index d7d3e5edf817..a5d0445c14d4 100644 --- a/src/libutil/util.hh +++ b/src/libutil/util.hh @@ -1,6 +1,8 @@ #ifndef __UTIL_H #define __UTIL_H +#include "config.h" + #include "types.hh" #include <sys/types.h> |