aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEelco Dolstra <e.dolstra@tudelft.nl>2009-12-17 14:12:44 +0000
committerEelco Dolstra <e.dolstra@tudelft.nl>2009-12-17 14:12:44 +0000
commitef92a14bfea7a16102b04711c9c18ad717e82ea1 (patch)
tree8a71b4fac699c3d06a52d20a07f5883d66e66d7c
parent945d8218fbcab4e546213f420125bf521ff3306d (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.)
-rw-r--r--src/libstore/build.cc4
-rw-r--r--src/libutil/archive.cc4
-rw-r--r--src/libutil/util.hh2
3 files changed, 6 insertions, 4 deletions
diff --git a/src/libstore/build.cc b/src/libstore/build.cc
index 2e0f166d4..d56ae4570 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 f30e5b7cf..8fde4328c 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 d7d3e5edf..a5d0445c1 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>