* Pass the appropriate flags to GCC when building the Perl bindings.

Without these, Nix fails on 32-bit Linux with Perl 5.14, with a
  rather unhelpful error message:

    Not a CODE reference at /nix/store/n6kpbacn6nn7i3i735v8j3di8aqyl07v-perl-5.14.2/lib/perl5/5.14.2/i686-linux-thread-multi/DynaLoader.pm

  This is likely because the lack of -D_FILE_OFFSET_BITS=64 causes
  various Perl structures to not match what the Perl interpreter
  expects.
This commit is contained in:
Eelco Dolstra 2012-01-18 16:39:54 +00:00
parent 4e624849b6
commit 02f1363e19

View file

@ -20,7 +20,8 @@ libNixStore_la_LIBADD = $(top_builddir)/src/libstore/libstore.la
AM_CXXFLAGS = \ AM_CXXFLAGS = \
-I$(top_srcdir)/src -I$(top_srcdir)/src/libutil -I$(top_srcdir)/src/libstore \ -I$(top_srcdir)/src -I$(top_srcdir)/src/libutil -I$(top_srcdir)/src/libstore \
-I$(shell $(perl) -e 'use Config; print $$Config{archlibexp};')/CORE -I$(shell $(perl) -e 'use Config; print $$Config{archlibexp};')/CORE \
$(shell $(perl) -e 'use Config; print $$Config{ccflags};')
lib/Nix/Store.cc: lib/Nix/Store.xs lib/Nix/Store.cc: lib/Nix/Store.xs
xsubpp $^ -output $@ xsubpp $^ -output $@