Modify

Opened 5 years ago

Last modified 4 years ago

#12733 reopened defect

Intermittent build (IEEE math configure?) error with rrdtool-1.0.x (part of Luci statistics)

Reported by: hnyman <hannu.nyman@…> Owned by: developers
Priority: normal Milestone: Chaos Calmer 15.05
Component: packages Version: Trunk
Keywords: rrdtool configure Cc:

Description

I keep getting an intermittent error with my build regarding the package/library rrdtool-1.0.50, which is built as a part of Luci statistics module (for drawing the charts).

That rrdtool-1.0.50 is ancient, as the source code dates to 2005.

The error typically does NOT manifest itself with a build after "make dirclean", but may occur with a make after "make clean".

As far I as I can guess, the error points toward compiler configuration or maybe some parallel build things?

Buildroot host is Ubuntu 12.10 x64 running in Virtualbox (but I think that I have seen that also with Ubuntu 12.04.1 x64 during the past few months).

Error is:

checking if IEEE math works out of the box... no
checking if IEEE math works with the -ieee switch... no
checking if IEEE math works with the -qfloat=nofold switch... no
checking if IEEE math works with the -w -qflttrap=enable:zerodivide... no
checking if IEEE math works with the -mieee switch... no
checking if IEEE math works with the -q float=rndsngl switch... no
checking if IEEE math works with the -OPT:IEEE_NaN_inf=ON switch... no
checking if IEEE math works with the -OPT:IEEE_comparisons=ON switch... no
checking if IEEE math works with fpsetmask(0)... no
checking if IEEE math works with signal(SIGFPE,SIG_IGN)... no
configure: error: 
Your Compiler does not do propper IEEE math ... Please find out how to
make IEEE math work with your compiler and let me know (oetiker@ee.ethz.ch).
Check config.log to see what went wrong ...

make[4]: *** [config.status] Error 1
make[4]: Leaving directory `/Openwrt/trunk/build_dir/target-mips_uClibc-0.9.33.2/rrdtool-1.0.50'
make[3]: *** [/Openwrt/trunk/build_dir/target-mips_uClibc-0.9.33.2/rrdtool-1.0.50/.built] Error 2

Manually deleting the directory /Openwrt/trunk/build_dir/target-mips_uClibc-0.9.33.2/rrdtool-1.0.50 helps to clean the error.

Sadly I didn't save build_dir/target-mips_uClibc-0.9.33.2/rrdtool-1.0.50/config.log after the error, but after a successful run there is information that IEEE math works ok, so the error condition is intermittent.

configure:12954: $? = 0
configure:12955: result: yes
configure:12971: checking if realloc can deal with NULL
configure:12999: result: 
configure:13012: checking if IEEE math works out of the box
configure:13100: result: yes
configure:14153: creating ./config.status

More context for the error:

make[3]: Entering directory `/Openwrt/trunk/feeds/packages/libs/rrdtool-1.0.x'
make -C /Openwrt/trunk/build_dir/target-mips_uClibc-0.9.33.2/rrdtool-1.0.50 DESTDIR="/Openwrt/trunk/build_dir/target-mips_uClibc-0.9.33.2/rrdtool-1.0.50/ipkg-install" shrext_cmds=".so" all install
make[4]: Entering directory `/Openwrt/trunk/build_dir/target-mips_uClibc-0.9.33.2/rrdtool-1.0.50'
/bin/bash ./config.status --recheck
running /bin/bash ./configure  --target=mips-openwrt-linux --host=mips-openwrt-linux --build=x86_64-linux-gnu --program-prefix= --program-suffix= --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --libexecdir=/usr/lib --sysconfdir=/etc --datadir=/usr/share --localstatedir=/var --mandir=/usr/man --infodir=/usr/info --disable-nls --enable-shared=yes --enable-static=yes --disable-rpath --with-gnu-ld --enable-local-zlib CC=mips-openwrt-linux-uclibc-gcc CFLAGS=-Os -pipe -march=24kc -mtune=24kc -fno-caller-saves -mno-branch-likely -fhonour-copts -Wno-error=unused-but-set-variable -msoft-float -fpic --std=c99  CPPFLAGS=-I/Openwrt/trunk/staging_dir/target-mips_uClibc-0.9.33.2/usr/include -I/Openwrt/trunk/staging_dir/target-mips_uClibc-0.9.33.2/include -I/Openwrt/trunk/staging_dir/toolchain-mips_gcc-4.6-linaro_uClibc-0.9.33.2/usr/include -I/Openwrt/trunk/staging_dir/toolchain-mips_gcc-4.6-linaro_uClibc-0.9.33.2/include  CXXFLAGS=-Os -pipe -march=24kc -mtune=24kc -fno-caller-saves -mno-branch-likely -fhonour-copts -Wno-error=unused-but-set-variable -msoft-float -fpic --std=c99  CXX=mips-openwrt-linux-uclibc-g++ LDFLAGS=-L/Openwrt/trunk/staging_dir/target-mips_uClibc-0.9.33.2/usr/lib -L/Openwrt/trunk/staging_dir/target-mips_uClibc-0.9.33.2/lib -L/Openwrt/trunk/staging_dir/toolchain-mips_gcc-4.6-linaro_uClibc-0.9.33.2/usr/lib -L/Openwrt/trunk/staging_dir/toolchain-mips_gcc-4.6-linaro_uClibc-0.9.33.2/lib  build_alias=x86_64-linux-gnu host_alias=mips-openwrt-linux target_alias=mips-openwrt-linux  --no-create --no-recursion
configure: WARNING: unrecognized options: --disable-nls, --disable-rpath
configure: loading site script /Openwrt/trunk/include/site/mips-openwrt-linux-uclibc
checking build system type... x86_64-pc-linux-gnu
checking host system type... mips-openwrt-linux-gnu
checking target system type... mips-openwrt-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for mips-openwrt-linux-strip... mips-openwrt-linux-strip
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking how to print strings... printf
checking for style of include used by make... GNU
checking for mips-openwrt-linux-gcc... mips-openwrt-linux-uclibc-gcc
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... yes
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether mips-openwrt-linux-uclibc-gcc accepts -g... yes
checking for mips-openwrt-linux-uclibc-gcc option to accept ISO C89... none needed
checking dependency style of mips-openwrt-linux-uclibc-gcc... gcc3
checking for a sed that does not truncate output... /Openwrt/trunk/staging_dir/host/bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for fgrep... /bin/grep -F
checking for ld used by mips-openwrt-linux-uclibc-gcc... /Openwrt/trunk/staging_dir/toolchain-mips_gcc-4.6-linaro_uClibc-0.9.33.2/mips-openwrt-linux-uclibc/bin/ld
checking if the linker (/Openwrt/trunk/staging_dir/toolchain-mips_gcc-4.6-linaro_uClibc-0.9.33.2/mips-openwrt-linux-uclibc/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /Openwrt/trunk/staging_dir/toolchain-mips_gcc-4.6-linaro_uClibc-0.9.33.2/bin/mips-openwrt-linux-nm -B
checking the name lister (/Openwrt/trunk/staging_dir/toolchain-mips_gcc-4.6-linaro_uClibc-0.9.33.2/bin/mips-openwrt-linux-nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 3458764513820540925
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert x86_64-pc-linux-gnu file names to mips-openwrt-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /Openwrt/trunk/staging_dir/toolchain-mips_gcc-4.6-linaro_uClibc-0.9.33.2/mips-openwrt-linux-uclibc/bin/ld option to reload object files... -r
checking for mips-openwrt-linux-objdump... mips-openwrt-linux-objdump
checking how to recognize dependent libraries... pass_all
checking for mips-openwrt-linux-dlltool... no
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for mips-openwrt-linux-ar... mips-openwrt-linux-ar
checking for archiver @FILE support... @
checking for mips-openwrt-linux-strip... (cached) mips-openwrt-linux-strip
checking for mips-openwrt-linux-ranlib... mips-openwrt-linux-ranlib
checking command to parse /Openwrt/trunk/staging_dir/toolchain-mips_gcc-4.6-linaro_uClibc-0.9.33.2/bin/mips-openwrt-linux-nm -B output from mips-openwrt-linux-uclibc-gcc object... ok
checking for sysroot... no
checking for mips-openwrt-linux-mt... no
checking for mt... mt
configure: WARNING: using cross tools not prefixed with host triplet
checking if mt is a manifest tool... no
checking how to run the C preprocessor... mips-openwrt-linux-uclibc-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 objdir... .libs
checking if mips-openwrt-linux-uclibc-gcc supports -fno-rtti -fno-exceptions... no
checking for mips-openwrt-linux-uclibc-gcc option to produce PIC... -fPIC -DPIC
checking if mips-openwrt-linux-uclibc-gcc PIC flag -fPIC -DPIC works... yes
checking if mips-openwrt-linux-uclibc-gcc static flag -static works... yes
checking if mips-openwrt-linux-uclibc-gcc supports -c -o file.o... yes
checking if mips-openwrt-linux-uclibc-gcc supports -c -o file.o... (cached) yes
checking whether the mips-openwrt-linux-uclibc-gcc linker (/Openwrt/trunk/staging_dir/toolchain-mips_gcc-4.6-linaro_uClibc-0.9.33.2/mips-openwrt-linux-uclibc/bin/ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking for local libpng use... no
checking for local zlib use... yes
checking for perl... /usr/bin/perl
checking for shared library extension... so
checking for the C compiler perl wants to use to build its modules... found
checking for tclConfig.sh in ... no
configure: WARNING: tclConfig.sh not found - Tcl interface won't be built
checking for mips-openwrt-linux-gcc... (cached) mips-openwrt-linux-uclibc-gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether mips-openwrt-linux-uclibc-gcc accepts -g... (cached) yes
checking for mips-openwrt-linux-uclibc-gcc option to accept ISO C89... (cached) none needed
checking dependency style of mips-openwrt-linux-uclibc-gcc... (cached) gcc3
checking how to run the C preprocessor... mips-openwrt-linux-uclibc-gcc -E
checking for ANSI C header files... (cached) yes
checking for sys/stat.h... (cached) yes
checking for sys/types.h... (cached) yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking locale.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking fp_class.h usability... no
checking fp_class.h presence... no
checking for fp_class.h... no
checking malloc.h usability... yes
checking malloc.h presence... yes
checking for malloc.h... yes
checking for unistd.h... (cached) yes
checking ieeefp.h usability... no
checking ieeefp.h presence... no
checking for ieeefp.h... no
checking math.h usability... yes
checking math.h presence... yes
checking for math.h... yes
checking time.h usability... yes
checking time.h presence... yes
checking for time.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking sys/times.h usability... yes
checking sys/times.h presence... yes
checking for sys/times.h... yes
checking sys/param.h usability... yes
checking sys/param.h presence... yes
checking for sys/param.h... yes
checking sys/resource.h usability... yes
checking sys/resource.h presence... yes
checking for sys/resource.h... yes
checking float.h usability... yes
checking float.h presence... yes
checking for float.h... yes
checking for an ANSI C-conforming const... yes
checking whether time.h and sys/time.h may both be included... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking for acos... no
checking for acos in -lm... yes
checking for gnroff... no
checking for nroff... /usr/bin/nroff
checking for groff... /usr/bin/groff
checking if we can use GCC-specific compiler options... yes
libtool: 465: libtool: CDPATH: not found
checking for strftime... (cached) yes
checking for vprintf... yes
checking for _doprnt... no
checking for opendir... yes
checking for readdir... yes
checking for chdir... yes
checking for chroot... yes
checking for getuid... yes
checking for strerror... (cached) yes
checking for tzset... yes
checking for setlocale... (cached) yes
checking for snprintf... yes
checking for vsnprintf... (cached) yes
checking for fpclass... no
checking for class... no
checking for fp_class... no
checking for isnan... no
checking for memmove... yes
checking for strchr... yes
checking for mktime... yes
checking for getrusage... yes
checking for gettimeofday... (cached) yes
checking for fpclassify... no
checking for fpclassify with <math.h>... yes
checking for finite... no
checking for isfinite... no
checking for isfinite with <math.h>... yes
checking for isinf... no
checking for isinf with <math.h>... yes
checking if realloc can deal with NULL... 
checking if IEEE math works out of the box... no
checking if IEEE math works with the -ieee switch... no
checking if IEEE math works with the -qfloat=nofold switch... no
checking if IEEE math works with the -w -qflttrap=enable:zerodivide... no
checking if IEEE math works with the -mieee switch... no
checking if IEEE math works with the -q float=rndsngl switch... no
checking if IEEE math works with the -OPT:IEEE_NaN_inf=ON switch... no
checking if IEEE math works with the -OPT:IEEE_comparisons=ON switch... no
checking if IEEE math works with fpsetmask(0)... no
checking if IEEE math works with signal(SIGFPE,SIG_IGN)... no
configure: error: 
Your Compiler does not do propper IEEE math ... Please find out how to
make IEEE math work with your compiler and let me know (oetiker@ee.ethz.ch).
Check config.log to see what went wrong ...

make[4]: *** [config.status] Error 1
make[4]: Leaving directory `/Openwrt/trunk/build_dir/target-mips_uClibc-0.9.33.2/rrdtool-1.0.50'
make[3]: *** [/Openwrt/trunk/build_dir/target-mips_uClibc-0.9.33.2/rrdtool-1.0.50/.built] Error 2
make[3]: Leaving directory `/Openwrt/trunk/feeds/packages/libs/rrdtool-1.0.x'
make[2]: *** [package/feeds/packages/rrdtool-1.0.x/compile] Error 2
make[2]: Leaving directory `/Openwrt/trunk'

Attachments (2)

config.log (130.1 KB) - added by hnyman <hannu.nyman@…> 5 years ago.
Failed rrdtool config.log
config_12041ok.log (128.3 KB) - added by hnyman <hannu.nyman@…> 5 years ago.
For comparison, a successful config.log from the same 12.04.1_x64 build host. Make after deleting contents of that rrdtool-1.0.50 directory. No other changes since the failure

Download all attachments as: .zip

Change History (7)

comment:1 Changed 5 years ago by jow

We need the config.log of a failing run.

comment:2 Changed 5 years ago by nbd

  • Resolution set to no_response
  • Status changed from new to closed

Changed 5 years ago by hnyman <hannu.nyman@…>

Failed rrdtool config.log

comment:3 Changed 5 years ago by hnyman <hannu.nyman@…>

  • Resolution no_response deleted
  • Status changed from closed to reopened

I finally ran into the issue again. Building in Ubuntu 12.04.1 after a "make clean". Please find the build_dir/target-mips_uClibc-0.9.33.2/rrdtool-1.0.50/config.log as uploaded attachment.

I am preserving the compilation environment at this situation in case you need another files.

Changed 5 years ago by hnyman <hannu.nyman@…>

For comparison, a successful config.log from the same 12.04.1_x64 build host. Make after deleting contents of that rrdtool-1.0.50 directory. No other changes since the failure

comment:4 Changed 4 years ago by hnyman <hannu.nyman@…>

I finally ran into this bug again, after months of not hitting it. Looks like it is rare, but the original bug/problem is still there.

Trunk build after a "make clean" failed, just like earlier.

Build host is currently Ubuntu 13.04 x64 (in Virtualbox).

comment:5 Changed 4 years ago by hnyman

#16303 is a new duplicate for this.

Add Comment

Modify Ticket

Action
as reopened .
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.