about summary refs log tree commit diff
path: root/src/libstore
diff options
context:
space:
mode:
authorEelco Dolstra <e.dolstra@tudelft.nl>2009-12-17T14·12+0000
committerEelco Dolstra <e.dolstra@tudelft.nl>2009-12-17T14·12+0000
commitef92a14bfea7a16102b04711c9c18ad717e82ea1 (patch)
tree8a71b4fac699c3d06a52d20a07f5883d66e66d7c /src/libstore
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.)

Diffstat (limited to 'src/libstore')
-rw-r--r--src/libstore/build.cc4
1 files changed, 2 insertions, 2 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