Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

mpfr libtool issue when setting RANLIB variable



Hi list,

After upgrading my src tree (three week jump due to being AFK), I am seeing a 100% reproducible failure when building mpfr for tools.

The build is done on a fairly recent system:

NetBSD paris 5.99.55 NetBSD 5.99.55 (GENERIC) #0: Sun Aug 21 10:53:00 UTC 2011 builds%b6.netbsd.org@localhost:/home/builds/ab/HEAD/amd64/201108210850Z-obj/home/builds/ab/HEAD/src/sys/arch/amd64/compile/GENERIC amd64

The error is kind of hard to read. FYI, here it is:

libtool: link: ar cru .libs/libmpfr.a exceptions.o extract.o uceil_exp2.o uceil _log2.o ufloor_log2.o add.o add1.o add_ui.o agm.o clear.o cmp.o cmp_abs.o cmp_si .o cmp_ui.o comparisons.o div_2exp.o div_2si.o div_2ui.o div.o div_ui.o dump.o e q.o exp10.o exp2.o exp3.o exp.o frac.o get_d.o get_exp.o get_str.o init.o inp_st r.o isinteger.o isinf.o isnan.o isnum.o const_log2.o log.o modf.o mul_2exp.o mul _2si.o mul_2ui.o mul.o mul_ui.o neg.o next.o out_str.o printf.o vasprintf.o cons t_pi.o pow.o pow_si.o pow_ui.o print_raw.o print_rnd_mode.o reldiff.o round_prec .o set.o setmax.o setmin.o set_d.o set_dfl_prec.o set_exp.o set_rnd.o set_f.o se t_prc_raw.o set_prec.o set_q.o set_si.o set_str.o set_str_raw.o set_ui.o set_z.o sqrt.o sqrt_ui.o sub.o sub1.o sub_ui.o rint.o ui_div.o ui_sub.o urandom.o urand omb.o get_z_exp.o swap.o factorial.o cosh.o sinh.o tanh.o sinh_cosh.o acosh.o as inh.o atanh.o atan.o cmp2.o exp_2.o asin.o const_euler.o cos.o sin.o tan.o fma.o fms.o hypot.o log1p.o expm1.o log2.o log10.o ui_pow.o ui_pow_ui.o minmax.o dim. o signbit.o copysign.o setsign.o gmp_op.o init2.o acos.o sin_cos.o set_nan.o set _inf.o set_zero.o powerof2.o gamma.o set_ld.o get_ld.o cbrt.o volatile.o fits_ss hort.o fits_sint.o fits_slong.o fits_ushort.o fits_uint.o fits_ulong.o fits_uint max.o fits_intmax.o get_si.o get_ui.o zeta.o cmp_d.o erf.o inits.o inits2.o clea rs.o sgn.o check.o sub1sp.o version.o mpn_exp.o mpfr-gmp.o mp_clz_tab.o sum.o ad d1sp.o free_cache.o si_op.o cmp_ld.o set_ui_2exp.o set_si_2exp.o set_uj.o set_sj .o get_sj.o get_uj.o get_z.o iszero.o cache.o sqr.o int_ceil_log2.o isqrt.o strt ofr.o pow_z.o logging.o mulders.o get_f.o round_p.o erfc.o atan2.o subnormal.o c onst_catalan.o root.o sec.o csc.o cot.o eint.o sech.o csch.o coth.o round_near_x .o constant.o abort_prec_max.o stack_interface.o lngamma.o zeta_ui.o set_d64.o g et_d64.o jn.o yn.o rem1.o get_patches.o add_d.o sub_d.o d_sub.o mul_d.o div_d.o d_div.o li2.o rec_sqrt.o min_prec.o buildopt.o digamma.o bernoulli.o isregular.o
 set_flt.o get_flt.o scale2.o set_z_exp.o ai.o gammaonethird.o
libtool: link: ranlib
 .libs/libmpfr.a
Usage: ranlib [options] archive
 Generate an index to speed access to archives
 The options are:
  @<file>                      Read options from <file>
-t Update the archive's symbol map timestamp
  -h --help                    Print this help message
  -v --version                 Print version information
ranlib: supported targets: elf64-x86-64 elf32-i386 a.out-i386-netbsd coff-i386 e fi-app-ia32 efi-bsdrv-ia32 efi-rtdrv-ia32 efi-app-x86_64 efi-bsdrv-x86_64 efi-rt drv-x86_64 elf64-little elf64-big elf32-little elf32-big srec symbolsrec tekhex
binary ihex netbsd-core
eval: .libs/libmpfr.a: permission denied
*** [libmpfr.la] Error code 126
nbmake: stopped in /home/jym/cvs/obj/tools/mpfr/build
1 error
nbmake: stopped in /home/jym/cvs/obj/tools/mpfr/build
[stack of errors]

The error is likely due to an incorrect libtool built during tools' compilation:

obj/tools/mpfr/build/libtool
[...]
# A symbol stripping program.STRIP="strip"

# Commands used to install an old-style archive.
RANLIB="ranlib
"
old_postinstall_cmds="chmod 644 \$oldlib~\$RANLIB \$oldlib"
[...]

For whatever reason, configure script adds a \r (or \n?) when setting the RANLIB variable. I can trace it back to config.status:

obj/tools/mpfr/build/config.status
[...]
AR='ar'
AR_FLAGS='cru'
STRIP='strip'
RANLIB='ranlib
'
old_postinstall_cmds='chmod 644 $oldlib~$RANLIB $oldlib'
old_postuninstall_cmds=''
[...]

Then after its all up to ./configure script from mpfr, which is (at least to me) not that human-readable. At first glance though, everything seems correct inside. Looks similar to the one of GMP (which generates a correct RANLIB variable BTW, without the \n inside the "" quotes).

Does this ring a bell to someone here? I completely nuked my OBJDIR and TOOLDIR, downloaded a src from cratch, and the thing still happens. Note that this was tested on a fairly recent -HEAD system, I'll give a -5.1 a try in a few hours or so.

--
Jean-Yves Migeon
jeanyves.migeon%free.fr@localhost


Home | Main Index | Thread Index | Old Index