This is the mail archive of the libffi-discuss@sourceware.org mailing list for the libffi project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

failure to build rc4, rc3 works


Hi,

It appears there has been a change between rc3 and rc4 that triggers the
following behaviour on OpenBSD (and maybe others?), after succesfully running
configure I type 'make' (or 'gmake' but it makes no difference):

MAKE amd64-unknown-openbsd4.9 :        0 * all

The difference between configure of rc3 and rc4:

--- default.log	Tue Apr 26 11:04:33 2011
+++ ../libffi-3.0.10rc4/default.log	Tue Apr 26 11:04:06 2011
@@ -1,17 +1,23 @@
-+++ Tue Apr 26 11:04:29 CEST 2011
++++ Tue Apr 26 11:04:01 CEST 2011
 checking build system type... x86_64-unknown-openbsd4.9
 checking host system type... x86_64-unknown-openbsd4.9
 checking target system type... x86_64-unknown-openbsd4.9
+continue configure in default builddir "./x86_64-unknown-openbsd4.9"
+....exec /bin/sh .././configure "--srcdir=.." "--enable-builddir=x86_64-unknown-openbsd4.9" "openbsd4.9"
+checking build system type... x86_64-unknown-openbsd4.9
+checking host system type... x86_64-unknown-openbsd4.9
+checking target system type... x86_64-unknown-openbsd4.9
+checking for gsed... /usr/local/bin/gsed
 checking for a BSD-compatible install... /usr/bin/install -c
 checking whether build environment is sane... yes
-checking for a thread-safe mkdir -p... ./install-sh -c -d
+checking for a thread-safe mkdir -p... ../install-sh -c -d
 checking for gawk... gawk
 checking whether make sets $(MAKE)... yes
 checking for gcc... gcc
-checking for C compiler default output file name... a.out
 checking whether the C compiler works... yes
-checking whether we are cross compiling... no
+checking for C compiler default output file name... a.out
 checking for suffix of executables... 
+checking whether we are cross compiling... no
 checking for suffix of object files... o
 checking whether we are using the GNU C compiler... yes
 checking whether gcc accepts -g... yes
@@ -20,6 +26,7 @@
 checking dependency style of gcc... gcc3
 checking dependency style of gcc... gcc3
 checking whether gcc and cc understand -c and -o together... yes
+checking how to print strings... print -r
 checking for a sed that does not truncate output... /usr/local/bin/gsed
 checking for grep that handles long lines and -e... /usr/bin/grep
 checking for egrep... /usr/bin/grep -E
@@ -32,13 +39,21 @@
 checking the maximum length of command line arguments... 196608
 checking whether the shell understands some XSI constructs... yes
 checking whether the shell understands "+="... no
+checking how to convert x86_64-unknown-openbsd4.9 file names to x86_64-unknown-openbsd4.9 format... func_convert_file_noop
+checking how to convert x86_64-unknown-openbsd4.9 file names to toolchain format... func_convert_file_noop
 checking for /usr/bin/ld option to reload object files... -r
 checking for objdump... objdump
 checking how to recognize dependent libraries... match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$
+checking for dlltool... no
+checking how to associate runtime and link libraries... print -r --
 checking for ar... ar
+checking for archiver @FILE support... no
 checking for strip... strip
 checking for ranlib... ranlib
 checking command to parse /usr/bin/nm -B output from gcc object... ok
+checking for sysroot... no
+checking for mt... mt
+checking if mt is a manifest tool... no
 checking how to run the C preprocessor... gcc -E
 checking for ANSI C header files... yes
 checking for sys/types.h... yes
@@ -66,6 +81,17 @@
 checking if libtool supports shared libraries... yes
 checking whether to build shared libraries... yes
 checking whether to build static libraries... yes
+checking CFLAGS for maximum warnings... -Wall
+checking for C compiler vendor... gnu
+checking whether C compiler accepts -malign-double... no
+checking whether C compiler accepts -fstrict-aliasing... yes
+checking whether C compiler accepts -ffast-math... yes
+checking for gcc architecture flag... 
+checking for x86 cpuid 0 output... 5:68747541:444d4163:69746e65
+checking for x86 cpuid 1 output... 100f43:1040800:802009:178bfbff
+checking whether C compiler accepts -march=athlon64... yes
+checking for gcc architecture flag... -march=athlon64
+checking whether C compiler accepts -O3 -fomit-frame-pointer -fstrict-aliasing -ffast-math -march=athlon64... yes
 checking whether to enable maintainer-specific portions of Makefiles... no
 checking sys/mman.h usability... yes
 checking sys/mman.h presence... yes
@@ -79,6 +105,7 @@
 checking whether mmap with MAP_ANON(YMOUS) works... yes
 checking for ANSI C header files... (cached) yes
 checking for memcpy... yes
+checking for size_t... yes
 checking for working alloca.h... no
 checking for alloca... yes
 checking size of double... 8
@@ -99,9 +126,12 @@
 config.status: creating man/Makefile
 config.status: creating libffi.pc
 config.status: creating fficonfig.h
-config.status: linking src/x86/ffitarget.h to include/ffitarget.h
+config.status: linking ../src/x86/ffitarget.h to include/ffitarget.h
+config.status: executing buildir commands
+config.status: create top_srcdir/Makefile guessed from local Makefile
+config.status: build in x86_64-unknown-openbsd4.9 (HOST=gurthang.office.humppa.nl)
 config.status: executing depfiles commands
 config.status: executing libtool commands
 config.status: executing include commands
 config.status: executing src commands
---- Tue Apr 26 11:04:33 CEST 2011
+--- Tue Apr 26 11:04:06 CEST 2011

After comparing the configure log between manually running it out of the
tarball and from OpenBSD ports I got this difference:

--- /home/jasper/libffi/libffi-3.0.10rc4/default.log	Tue Apr 26 11:04:06 2011
+++ libffi-3.0.10rc4.log	Tue Apr 26 11:32:12 2011
@@ -1,42 +1,49 @@
-+++ Tue Apr 26 11:04:01 CEST 2011
++++ Tue Apr 26 11:32:06 CEST 2011
+===>  Patching for libffi-3.0.10rc4
+===>   Ignoring patchfile patch-configure.orig
+===>   Ignoring patchfile patch-src_arm_sysv_S.orig
+===>   Ignoring patchfile patch-src_mips_ffi_c.orig
+===>  Configuring for libffi-3.0.10rc4
+configure: loading site script /usr/ports/infrastructure/db/config.site
 checking build system type... x86_64-unknown-openbsd4.9
 checking host system type... x86_64-unknown-openbsd4.9
 checking target system type... x86_64-unknown-openbsd4.9
 continue configure in default builddir "./x86_64-unknown-openbsd4.9"
 ....exec /bin/sh .././configure "--srcdir=.." "--enable-builddir=x86_64-unknown-openbsd4.9" "openbsd4.9"
+configure: loading site script /usr/ports/infrastructure/db/config.site
 checking build system type... x86_64-unknown-openbsd4.9
 checking host system type... x86_64-unknown-openbsd4.9
 checking target system type... x86_64-unknown-openbsd4.9
 checking for gsed... /usr/local/bin/gsed
-checking for a BSD-compatible install... /usr/bin/install -c
+checking for a BSD-compatible install... /usr/bin/install -c -o root -g bin
 checking whether build environment is sane... yes
-checking for a thread-safe mkdir -p... ../install-sh -c -d
-checking for gawk... gawk
-checking whether make sets $(MAKE)... yes
-checking for gcc... gcc
+checking for a thread-safe mkdir -p... mkdir -p
+checking for gawk... (cached) awk
+checking whether make sets $(MAKE)... (cached) yes
+checking for gcc... cc
 checking whether the C compiler works... yes
 checking for C compiler default output file name... a.out
 checking for suffix of executables... 
 checking whether we are cross compiling... no
-checking for suffix of object files... o
-checking whether we are using the GNU C compiler... yes
-checking whether gcc accepts -g... yes
-checking for gcc option to accept ISO C89... none needed
+checking for suffix of object files... (cached) o
+checking whether we are using the GNU C compiler... (cached) yes
+checking whether cc accepts -g... (cached) yes
+checking for cc option to accept ISO C89... none needed
 checking for style of include used by make... GNU
-checking dependency style of gcc... gcc3
-checking dependency style of gcc... gcc3
-checking whether gcc and cc understand -c and -o together... yes
+checking dependency style of cc... gcc3
+checking dependency style of cc... gcc3
+checking whether cc understands -c and -o together... yes
 checking how to print strings... print -r
 checking for a sed that does not truncate output... /usr/local/bin/gsed
 checking for grep that handles long lines and -e... /usr/bin/grep
 checking for egrep... /usr/bin/grep -E
 checking for fgrep... /usr/bin/grep -F
-checking for ld used by gcc... /usr/bin/ld
+checking for ld used by cc... /usr/bin/ld
 checking if the linker (/usr/bin/ld) is GNU ld... yes
 checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
 checking the name lister (/usr/bin/nm -B) interface... BSD nm
 checking whether ln -s works... yes
-checking the maximum length of command line arguments... 196608
+checking the maximum length of command line arguments... (cached) 131072
 checking whether the shell understands some XSI constructs... yes
 checking whether the shell understands "+="... no
 checking how to convert x86_64-unknown-openbsd4.9 file names to x86_64-unknown-openbsd4.9 format... func_convert_file_noop
@@ -46,34 +53,34 @@
 checking how to recognize dependent libraries... match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$
 checking for dlltool... no
 checking how to associate runtime and link libraries... print -r --
-checking for ar... ar
+checking for ar... (cached) ar
 checking for archiver @FILE support... no
-checking for strip... strip
-checking for ranlib... ranlib
-checking command to parse /usr/bin/nm -B output from gcc object... ok
+checking for strip... (cached) strip
+checking for ranlib... (cached) ranlib
+checking command to parse /usr/bin/nm -B output from cc object... ok
 checking for sysroot... no
 checking for mt... mt
 checking if mt is a manifest tool... no
-checking how to run the C preprocessor... gcc -E
-checking for ANSI C header files... yes
-checking for sys/types.h... yes
-checking for sys/stat.h... yes
-checking for stdlib.h... yes
-checking for string.h... yes
-checking for memory.h... yes
-checking for strings.h... yes
-checking for inttypes.h... yes
-checking for stdint.h... yes
-checking for unistd.h... yes
-checking for dlfcn.h... yes
+checking how to run the C preprocessor... cc -E
+checking for ANSI C header files... (cached) yes
+checking for sys/types.h... (cached) yes
+checking for sys/stat.h... (cached) yes
+checking for stdlib.h... (cached) yes
+checking for string.h... (cached) yes
+checking for memory.h... (cached) yes
+checking for strings.h... (cached) yes
+checking for inttypes.h... (cached) yes
+checking for stdint.h... (cached) yes
+checking for unistd.h... (cached) yes
+checking for dlfcn.h... (cached) yes
 checking for objdir... .libs
-checking if gcc supports -fno-rtti -fno-exceptions... no
-checking for gcc option to produce PIC... -fPIC -DPIC
-checking if gcc PIC flag -fPIC -DPIC works... yes
-checking if gcc static flag -static works... yes
-checking if gcc supports -c -o file.o... yes
-checking if gcc supports -c -o file.o... (cached) yes
-checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes
+checking if cc supports -fno-rtti -fno-exceptions... no
+checking for cc option to produce PIC... -fPIC -DPIC
+checking if cc PIC flag -fPIC -DPIC works... yes
+checking if cc static flag -static works... yes
+checking if cc supports -c -o file.o... yes
+checking if cc supports -c -o file.o... (cached) yes
+checking whether the cc linker (/usr/bin/ld) supports shared libraries... yes
 checking whether -lc should be explicitly linked in... yes
 checking dynamic linker characteristics... openbsd4.9 ld.so
 checking how to hardcode library paths into programs... immediate
@@ -83,31 +90,20 @@
 checking whether to build static libraries... yes
 checking CFLAGS for maximum warnings... -Wall
 checking for C compiler vendor... gnu
-checking whether C compiler accepts -malign-double... no
-checking whether C compiler accepts -fstrict-aliasing... yes
-checking whether C compiler accepts -ffast-math... yes
-checking for gcc architecture flag... 
-checking for x86 cpuid 0 output... 5:68747541:444d4163:69746e65
-checking for x86 cpuid 1 output... 100f43:1040800:802009:178bfbff
-checking whether C compiler accepts -march=athlon64... yes
-checking for gcc architecture flag... -march=athlon64
-checking whether C compiler accepts -O3 -fomit-frame-pointer -fstrict-aliasing -ffast-math -march=athlon64... yes
 checking whether to enable maintainer-specific portions of Makefiles... no
-checking sys/mman.h usability... yes
-checking sys/mman.h presence... yes
-checking for sys/mman.h... yes
-checking for mmap... yes
 checking for sys/mman.h... (cached) yes
 checking for mmap... (cached) yes
+checking for sys/mman.h... (cached) yes
+checking for mmap... (cached) yes
 checking whether read-only mmap of a plain file works... yes
 checking whether mmap from /dev/zero works... yes
 checking for MAP_ANON(YMOUS)... yes
 checking whether mmap with MAP_ANON(YMOUS) works... yes
 checking for ANSI C header files... (cached) yes
-checking for memcpy... yes
-checking for size_t... yes
-checking for working alloca.h... no
-checking for alloca... yes
+checking for memcpy... (cached) yes
+checking for size_t... (cached) yes
+checking for working alloca.h... (cached) no
+checking for alloca... (cached) yes
 checking size of double... 8
 checking size of long double... 16
 checking whether byte ordering is bigendian... no
@@ -129,9 +125,9 @@
 config.status: linking ../src/x86/ffitarget.h to include/ffitarget.h
 config.status: executing buildir commands
 config.status: create top_srcdir/Makefile guessed from local Makefile
-config.status: build in x86_64-unknown-openbsd4.9 (HOST=gurthang.office.humppa.nl)
+config.status: build in x86_64-unknown-openbsd4.9 (HOST=)
 config.status: executing depfiles commands
 config.status: executing libtool commands
 config.status: executing include commands
 config.status: executing src commands
---- Tue Apr 26 11:04:06 CEST 2011
+--- Tue Apr 26 11:32:12 CEST 2011

So on a hunch I decided to use autoconf 2.67 to regen configure, which works!
But only for rc4..rc5 and up fail.

Here's the difference between rc3 (manual build) and rc5 (ports/regenerated configure):

--- /home/jasper/libffi/libffi-3.0.10rc3/default.log	Tue Apr 26 11:04:33 2011
+++ libffi-3.0.10rc5.log	Tue Apr 26 11:52:57 2011
@@ -1,64 +1,99 @@
-+++ Tue Apr 26 11:04:29 CEST 2011
++++ Tue Apr 26 11:52:48 CEST 2011
+===>  Patching for libffi-3.0.10rc5
+===>   Ignoring patchfile patch-configure.orig
+===>   Ignoring patchfile patch-src_arm_sysv_S.orig
+===>   Ignoring patchfile patch-src_mips_ffi_c.orig
+>>> Can't find autoconf 2.67 signature in /usr/obj/ports/libffi-3.0.10rc5/libffi-3.0.10rc5/configure:
+# Generated by GNU Autoconf 2.68 for libffi 3.0.10rc5.
+generated by GNU Autoconf 2.68
+generated by GNU Autoconf 2.68.  Invocation command line was
+generated by GNU Autoconf 2.68.  Invocation command line was
+configured by $0, generated by GNU Autoconf 2.68,
+Running autoconf-2.67 in /usr/obj/ports/libffi-3.0.10rc5/libffi-3.0.10rc5
+aclocal.m4:20: warning: this file was generated for autoconf 2.68.
+You have another version of autoconf.  It may work, but is not guaranteed to.
+If you have problems, you may need to regenerate the build system entirely.
+To do so, use the procedure documented by the package, typically `autoreconf'.
+ 
+Running autoheader-2.67 in /usr/obj/ports/libffi-3.0.10rc5/libffi-3.0.10rc5
+===>  Configuring for libffi-3.0.10rc5
+configure: loading site script /usr/ports/infrastructure/db/config.site
 checking build system type... x86_64-unknown-openbsd4.9
 checking host system type... x86_64-unknown-openbsd4.9
 checking target system type... x86_64-unknown-openbsd4.9
-checking for a BSD-compatible install... /usr/bin/install -c
+continue configure in default builddir "./x86_64-unknown-openbsd4.9"
+....exec /bin/sh .././configure "--srcdir=.." "--enable-builddir=x86_64-unknown-openbsd4.9" "openbsd4.9"
+configure: loading site script /usr/ports/infrastructure/db/config.site
+checking build system type... x86_64-unknown-openbsd4.9
+checking host system type... x86_64-unknown-openbsd4.9
+checking target system type... x86_64-unknown-openbsd4.9
+checking for gsed... /usr/local/bin/gsed
+checking for a BSD-compatible install... /usr/bin/install -c -o root -g bin
 checking whether build environment is sane... yes
-checking for a thread-safe mkdir -p... ./install-sh -c -d
-checking for gawk... gawk
-checking whether make sets $(MAKE)... yes
-checking for gcc... gcc
-checking for C compiler default output file name... a.out
+checking for a thread-safe mkdir -p... mkdir -p
+checking for gawk... (cached) awk
+checking whether make sets $(MAKE)... (cached) yes
+checking for gcc... cc
 checking whether the C compiler works... yes
-checking whether we are cross compiling... no
+checking for C compiler default output file name... a.out
 checking for suffix of executables... 
-checking for suffix of object files... o
-checking whether we are using the GNU C compiler... yes
-checking whether gcc accepts -g... yes
-checking for gcc option to accept ISO C89... none needed
+checking whether we are cross compiling... no
+checking for suffix of object files... (cached) o
+checking whether we are using the GNU C compiler... (cached) yes
+checking whether cc accepts -g... (cached) yes
+checking for cc option to accept ISO C89... none needed
 checking for style of include used by make... GNU
-checking dependency style of gcc... gcc3
-checking dependency style of gcc... gcc3
-checking whether gcc and cc understand -c and -o together... yes
+checking dependency style of cc... gcc3
+checking dependency style of cc... gcc3
+checking whether cc understands -c and -o together... yes
+checking how to print strings... print -r
 checking for a sed that does not truncate output... /usr/local/bin/gsed
 checking for grep that handles long lines and -e... /usr/bin/grep
 checking for egrep... /usr/bin/grep -E
 checking for fgrep... /usr/bin/grep -F
-checking for ld used by gcc... /usr/bin/ld
+checking for ld used by cc... /usr/bin/ld
 checking if the linker (/usr/bin/ld) is GNU ld... yes
 checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
 checking the name lister (/usr/bin/nm -B) interface... BSD nm
 checking whether ln -s works... yes
-checking the maximum length of command line arguments... 196608
+checking the maximum length of command line arguments... (cached) 131072
 checking whether the shell understands some XSI constructs... yes
 checking whether the shell understands "+="... no
+checking how to convert x86_64-unknown-openbsd4.9 file names to x86_64-unknown-openbsd4.9 format... func_convert_file_noop
+checking how to convert x86_64-unknown-openbsd4.9 file names to toolchain format... func_convert_file_noop
 checking for /usr/bin/ld option to reload object files... -r
 checking for objdump... objdump
 checking how to recognize dependent libraries... match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$
-checking for ar... ar
-checking for strip... strip
-checking for ranlib... ranlib
-checking command to parse /usr/bin/nm -B output from gcc object... ok
-checking how to run the C preprocessor... gcc -E
-checking for ANSI C header files... yes
-checking for sys/types.h... yes
-checking for sys/stat.h... yes
-checking for stdlib.h... yes
-checking for string.h... yes
-checking for memory.h... yes
-checking for strings.h... yes
-checking for inttypes.h... yes
-checking for stdint.h... yes
-checking for unistd.h... yes
-checking for dlfcn.h... yes
+checking for dlltool... no
+checking how to associate runtime and link libraries... print -r --
+checking for ar... (cached) ar
+checking for archiver @FILE support... no
+checking for strip... (cached) strip
+checking for ranlib... (cached) ranlib
+checking command to parse /usr/bin/nm -B output from cc object... ok
+checking for sysroot... no
+checking for mt... mt
+checking if mt is a manifest tool... no
+checking how to run the C preprocessor... cc -E
+checking for ANSI C header files... (cached) yes
+checking for sys/types.h... (cached) yes
+checking for sys/stat.h... (cached) yes
+checking for stdlib.h... (cached) yes
+checking for string.h... (cached) yes
+checking for memory.h... (cached) yes
+checking for strings.h... (cached) yes
+checking for inttypes.h... (cached) yes
+checking for stdint.h... (cached) yes
+checking for unistd.h... (cached) yes
+checking for dlfcn.h... (cached) yes
 checking for objdir... .libs
-checking if gcc supports -fno-rtti -fno-exceptions... no
-checking for gcc option to produce PIC... -fPIC -DPIC
-checking if gcc PIC flag -fPIC -DPIC works... yes
-checking if gcc static flag -static works... yes
-checking if gcc supports -c -o file.o... yes
-checking if gcc supports -c -o file.o... (cached) yes
-checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes
+checking if cc supports -fno-rtti -fno-exceptions... no
+checking for cc option to produce PIC... -fPIC -DPIC
+checking if cc PIC flag -fPIC -DPIC works... yes
+checking if cc static flag -static works... yes
+checking if cc supports -c -o file.o... yes
+checking if cc supports -c -o file.o... (cached) yes
+checking whether the cc linker (/usr/bin/ld) supports shared libraries... yes
 checking whether -lc should be explicitly linked in... yes
 checking dynamic linker characteristics... openbsd4.9 ld.so
 checking how to hardcode library paths into programs... immediate
@@ -66,21 +101,21 @@
 checking if libtool supports shared libraries... yes
 checking whether to build shared libraries... yes
 checking whether to build static libraries... yes
+checking CFLAGS for maximum warnings... -Wall
+checking for C compiler vendor... gnu
 checking whether to enable maintainer-specific portions of Makefiles... no
-checking sys/mman.h usability... yes
-checking sys/mman.h presence... yes
-checking for sys/mman.h... yes
-checking for mmap... yes
 checking for sys/mman.h... (cached) yes
 checking for mmap... (cached) yes
+checking for sys/mman.h... (cached) yes
+checking for mmap... (cached) yes
 checking whether read-only mmap of a plain file works... yes
 checking whether mmap from /dev/zero works... yes
 checking for MAP_ANON(YMOUS)... yes
 checking whether mmap with MAP_ANON(YMOUS) works... yes
 checking for ANSI C header files... (cached) yes
-checking for memcpy... yes
-checking for working alloca.h... no
-checking for alloca... yes
+checking for memcpy... (cached) yes
+checking for working alloca.h... (cached) no
+checking for alloca... (cached) yes
 checking size of double... 8
 checking size of long double... 16
 checking whether byte ordering is bigendian... no
@@ -99,9 +134,12 @@
 config.status: creating man/Makefile
 config.status: creating libffi.pc
 config.status: creating fficonfig.h
-config.status: linking src/x86/ffitarget.h to include/ffitarget.h
+config.status: linking ../src/x86/ffitarget.h to include/ffitarget.h
+config.status: executing buildir commands
+config.status: create top_srcdir/Makefile guessed from local Makefile
+config.status: build in x86_64-unknown-openbsd4.9 (HOST=)
 config.status: executing depfiles commands
 config.status: executing libtool commands
 config.status: executing include commands
 config.status: executing src commands
---- Tue Apr 26 11:04:33 CEST 2011
+--- Tue Apr 26 11:52:57 CEST 2011


I know this isn't the place to debug autoconf, but could someone shed some
light on this?

-- 
Cheers,
Jasper

"Capable, generous men do not create victims, they nurture them."


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]