Branch: refs/heads/master
  Home:   https://github.com/NixOS/nix
  Commit: 81c53fe8e56f4a4ce10088fe2d7b6a524a6dc126
      
https://github.com/NixOS/nix/commit/81c53fe8e56f4a4ce10088fe2d7b6a524a6dc126
  Author: Tuomas Tynkkynen <tuo...@tuxera.com>
  Date:   2017-02-08 (Wed, 08 Feb 2017)

  Changed paths:
    M configure.ac

  Log Message:
  -----------
  configure.ac: We require C++14 now

At least in the main Makefile we have:

GLOBAL_CXXFLAGS += -std=c++14 -g -Wall


  Commit: 2cd468874fe512387820bd47d23fa6351d069da2
      
https://github.com/NixOS/nix/commit/2cd468874fe512387820bd47d23fa6351d069da2
  Author: Tuomas Tynkkynen <tuo...@tuxera.com>
  Date:   2017-02-08 (Wed, 08 Feb 2017)

  Changed paths:
    M Makefile
    M src/libexpr/json-to-value.cc
    M src/libexpr/symbol-table.hh
    M src/libexpr/value.hh
    M src/libmain/shared.cc
    M src/libmain/stack.cc
    M src/libstore/build.cc
    M src/libstore/globals.cc
    M src/libstore/local-store.cc
    M src/libstore/optimise-store.cc
    M src/libstore/s3-binary-cache-store.cc
    M src/libutil/archive.cc
    M src/libutil/hash.cc
    M src/libutil/types.hh
    M src/libutil/util.cc

  Log Message:
  -----------
  Include config.h implicitly with '-include config.h' in CFLAGS

Because config.h can #define things like _FILE_OFFSET_BITS=64 and not
every compilation unit includes config.h, we currently compile half of
Nix with _FILE_OFFSET_BITS=64 and other half with _FILE_OFFSET_BITS
unset. This causes major havoc with the Settings class on e.g. 32-bit ARM,
where different compilation units disagree with the struct layout.

E.g.:

diff --git a/src/libstore/globals.cc b/src/libstore/globals.cc
@@ -166,6 +166,8 @@ void Settings::update()
     _get(useSubstitutes, "build-use-substitutes");
+    fprintf(stderr, "at Settings::update(): &useSubstitutes = %p\n", 
&nix::settings.useSubstitutes);
     _get(buildUsersGroup, "build-users-group");
diff --git a/src/libstore/remote-store.cc b/src/libstore/remote-store.cc
+++ b/src/libstore/remote-store.cc
@@ -138,6 +138,8 @@ void RemoteStore::initConnection(Connection & conn)
 void RemoteStore::setOptions(Connection & conn)
 {
+    fprintf(stderr, "at RemoteStore::setOptions(): &useSubstitutes = %p\n", 
&nix::settings.useSubstitutes);
     conn.to << wopSetOptions

Gave me:

at Settings::update(): &useSubstitutes = 0xb6e5c5cb
at RemoteStore::setOptions(): &useSubstitutes = 0xb6e5c5c7

That was not a fun one to debug!


  Commit: 62ff5ad424547630e70f35406da85fbb5ec3445a
      
https://github.com/NixOS/nix/commit/62ff5ad424547630e70f35406da85fbb5ec3445a
  Author: Eelco Dolstra <eelco.dols...@logicblox.com>
  Date:   2017-02-13 (Mon, 13 Feb 2017)

  Changed paths:
    M Makefile
    M configure.ac
    M src/libexpr/json-to-value.cc
    M src/libexpr/symbol-table.hh
    M src/libexpr/value.hh
    M src/libmain/shared.cc
    M src/libmain/stack.cc
    M src/libstore/build.cc
    M src/libstore/globals.cc
    M src/libstore/local-store.cc
    M src/libstore/optimise-store.cc
    M src/libstore/s3-binary-cache-store.cc
    M src/libutil/archive.cc
    M src/libutil/hash.cc
    M src/libutil/types.hh
    M src/libutil/util.cc

  Log Message:
  -----------
  Merge pull request #1224 from dezgeg/configh

Unbreak 32-bit builds by always implicitly including config.h


Compare: https://github.com/NixOS/nix/compare/77a78af67862...62ff5ad42454
_______________________________________________
nix-commits mailing list
nix-comm...@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-commits

Reply via email to