Bug 464229
Summary: | [LTC 6.0 FEAT] 201180:Inclusion of libdfp | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 6 | Reporter: | IBM Bug Proxy <bugproxy> |
Component: | distribution | Assignee: | Andreas Schwab <schwab> |
Status: | CLOSED CURRENTRELEASE | QA Contact: | Ben Levenson <benl> |
Severity: | high | Docs Contact: | |
Priority: | high | ||
Version: | 6.0 | CC: | atodorov, borgan, dgregor, drepper, ebachalo, ejratl, jakub, jjarvis, notting, schwab, snagar, syeghiay |
Target Milestone: | beta | Keywords: | FutureFeature, Reopened |
Target Release: | 6.0 | ||
Hardware: | powerpc | ||
OS: | All | ||
Whiteboard: | |||
Fixed In Version: | libdfp-1.0.1-3.el6 | Doc Type: | Enhancement |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2010-11-11 14:37:15 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | 620865, 625033 | ||
Bug Blocks: | 356741, 554559 |
Description
IBM Bug Proxy
2008-09-26 19:40:25 UTC
Is there a reason this is a separate library and not part of upstream libc? This separate library solution is the method suggested by Ulrich Drepper. He will not allow any decimal-floating point code in GLIBC. ------- Comment From mgrf.com 2009-03-30 10:59 EDT------- Hello Red Hat: There is a required glibc feature that is required together with this feature request to implement the complete feature The glibc feature request is: 48554 - RHBZ 464232 - [LTC 6.0 FEAT] 200111:(big)LoP Toolchain, Decimal Floating Point - glibc Product Management has reviewed and declined this request. You may appeal this decision by reopening this request. IBM would like to appeal this request. There is considerable business opportunity for both Power and System z associated with this request. We have been working closely with the upstream community and the Red Hat tool chain team to get the implementation acceptable by putting it in a separate library. I propose a separate meeting to discuss the business impact of this decision. ------- Comment From rsa.com 2009-08-28 14:26 EDT------- Libdfp has been checked into an upstream repository. Upstream libdfp is hosted by EGLIBC in their repository but is a stand-alone project: svn co svn://svn.eglibc.org/libdfp/trunk libdfp Please reference README for developer's instructions. While this indicates that this will work on x86, we haven't spent significant time trying libdfp on x86. Ryan has tested the following configurations for Power: ppc32 (power5) soft-dfp ppc64 (power5) soft-dfp ppc32 (power6) hard-dfp ppc64 (power6) hard-dfp Andreas Krebbel submitted the changes necessary to get s390 working. Andreas can attest to the s390 configurations that work. Libdfp is currently tagged version 0.9 until the test-suite is completed and the library passes verification testing on all primary functions. It is recommended that 1.0 is the preferred version and it should be completed before Sept 30, 2009. ------- Comment From rsa.com 2009-08-28 14:34 EDT------- At at minimum we need a power6 (hard dfp) and a non-power6 (dfp emulation) version of libdfp, namely: lib/power5/libdfp.so lib64/power5/libdfp.so lib/power6/libdfp.so lib64/power6/libdfp.so ------- Comment From Andreas.Krebbel.com 2009-09-01 07:46 EDT------- For S/390 the soft and hard dfp version of libdfp should be compiled for z9-109 and z9-ec: s390 (z9-109) soft-dfp lib/z9-109/libdfp.so s390x (z9-109) soft-dfp lib64/z9-109/libdfp.so s390 (z9-ec) hard-dfp lib/z9-ec/libdfp.so s390x (z9-ec) hard-dfp lib64/z9-ec/libdfp.so *** Bug 463795 has been marked as a duplicate of this bug. *** This enhancement request was evaluated by the full Red Hat Enterprise Linux team for inclusion in a Red Hat Enterprise Linux major release. As a result of this evaluation, Red Hat has tentatively approved inclusion of this feature in the next Red Hat Enterprise Linux major release. While it is a goal to include this enhancement in the next major release of Red Hat Enterprise Linux, the enhancement is not yet committed for inclusion in the next major release pending the next phase of actual code integration and successful Red Hat and partner testing. Where can I download the 1.0 release? ------- Comment From gmuelas.com 2010-01-27 11:56 EDT------- (In reply to comment #18) > Where can I download the 1.0 release? Yoe should be able to get 1.0.1 release (the one we recomend at this time) doing: svn co svn://svn.eglibc.org/libdfp/trunk libdfp Thank you! $ ../libdfp-1.0.1/configure --prefix=/usr checking build system type... x86_64-unknown-linux-gnu checking host system type... x86_64-unknown-linux-gnu checking for decimal floating point type encoding... configure: Using bid decimal floating point encoding 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 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 ANSI C... none needed checking for decimal-float-support in compiler... yes checking for printf-hook register_printf_type() in printf.h to verify GLIBC 2.10... no configure: error: Building Libdfp requires a GLIBC printf.h header that provides the register_printf_type() function which is available in GLIBC Version 2.10 or later. The default headers that this build is using don't provide this functionality. ------- Comment From rsa.com 2010-01-27 13:27 EDT------- Hi Andreas, What's the version of the GLIBC headers on the system where you're building this? Libdfp requires glibc 2.10 (or later) headers to build because that version of printf.h contains the latest printf-hooks function prototypes. The --with-glibc-headers= switch allows you to specify alternate include/ headers. What I do is build a version of glibc 2.11 and "make install install_root=<path/to/foo>/" and then when I configure libdfp I use --with-glibc-headers=<path/to/foo>/include/ I'll update the configure macro to mention the --with-glibc-headers switch in the error output. Ryan ------- Comment From rsa.com 2010-01-27 13:29 EDT------- I also see that you're attempting an x86 build. Unfortunately you're going to be disappointed. We haven't fully implemented x86 support for either back-end and haven't had any volunteers to help. make install DESTDIR=/builddir/build/BUILDROOT/libdfp-1.0.1-1.el6.ppc VPATH=/builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/powerpc/powerpc32:/builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/powerpc/fpu/bits:/builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/powerpc/fpu:/builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/powerpc:/builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/soft-dfp/dpd:/builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/soft-dfp:/builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/dpd:/builddir/build/BUILD/libdfp-1.0.1/Build/../decNumberMath/:/builddir/build/BUILD/libdfp-1.0.1/Build/../ieee754r/:/builddir/build/BUILD/libdfp-1.0.1/Build/../base-math:/builddir/build/BUILD/libdfp-1.0.1/Build/../:/builddir/build/BUILD/libdfp-1.0.1/Build/../tests Processing Makefiles: /builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/soft-dfp/dpd/ /builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/soft-dfp/ /builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/dpd/ /builddir/build/BUILD/libdfp-1.0.1/Build/../decNumberMath/ /builddir/build/BUILD/libdfp-1.0.1/Build/../ieee754r/ /builddir/build/BUILD/libdfp-1.0.1/Build/../base-math +Building the DFP backend library. DEFS="-D__STDC_DEC_FP__=200704L" CFLAGS=" --param=ssp-buffer-size=4 -O2 -Wall -Wp,-D_FORTIFY_SOURCE=2 -fPIC -fexceptions -fstack-protector -g -m32 -pipe" make -eC libdecnumber make[1]: Entering directory `/builddir/build/BUILD/libdfp-1.0.1/Build/libdecnumber' make[1]: Nothing to be done for `all'. make[1]: Leaving directory `/builddir/build/BUILD/libdfp-1.0.1/Build/libdecnumber' install -d //usr/lib install: cannot change permissions of `//usr/lib': Operation not permitted make: *** [install] Error 1 ------- Comment From rsa.com 2010-01-27 13:52 EDT------- (In reply to comment #23) > make install DESTDIR=/builddir/build/BUILDROOT/libdfp-1.0.1-1.el6.ppc Libdfp doesn't support DESTDIR, but it does emulate GLIBC and provides 'install_root'. make install install_root=/builddir/build/BUILDROOT/libdfp-1.0.1-1.el6.ppc VPATH=/builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/powerpc/powerpc32:/builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/powerpc/fpu/bits:/builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/powerpc/fpu:/builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/powerpc:/builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/soft-dfp/dpd:/builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/soft-dfp:/builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/dpd:/builddir/build/BUILD/libdfp-1.0.1/Build/../decNumberMath/:/builddir/build/BUILD/libdfp-1.0.1/Build/../ieee754r/:/builddir/build/BUILD/libdfp-1.0.1/Build/../base-math:/builddir/build/BUILD/libdfp-1.0.1/Build/../:/builddir/build/BUILD/libdfp-1.0.1/Build/../tests Processing Makefiles: /builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/soft-dfp/dpd/ /builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/soft-dfp/ /builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/dpd/ /builddir/build/BUILD/libdfp-1.0.1/Build/../decNumberMath/ /builddir/build/BUILD/libdfp-1.0.1/Build/../ieee754r/ /builddir/build/BUILD/libdfp-1.0.1/Build/../base-math +Building the DFP backend library. DEFS="-D__STDC_DEC_FP__=200704L" CFLAGS=" --param=ssp-buffer-size=4 -O2 -Wall -Wp,-D_FORTIFY_SOURCE=2 -fPIC -fexceptions -fstack-protector -g -m32 -pipe" make -eC libdecnumber make[1]: Entering directory `/builddir/build/BUILD/libdfp-1.0.1/Build/libdecnumber' make[1]: Nothing to be done for `all'. make[1]: Leaving directory `/builddir/build/BUILD/libdfp-1.0.1/Build/libdecnumber' install -d /builddir/build/BUILDROOT/libdfp-1.0.1-1.el6.ppc//usr/lib install -t /builddir/build/BUILDROOT/libdfp-1.0.1-1.el6.ppc//usr/lib ./libdfp.a install: cannot stat `./libdfp.a': No such file or directory make: *** [install] Error 1 + make -j2 VPATH=/builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/powerpc/powerpc64:/builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/powerpc/fpu/bits:/builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/powerpc/fpu:/builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/powerpc:/builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/soft-dfp/dpd:/builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/soft-dfp:/builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/dpd:/builddir/build/BUILD/libdfp-1.0.1/Build/../decNumberMath/:/builddir/build/BUILD/libdfp-1.0.1/Build/../ieee754r/:/builddir/build/BUILD/libdfp-1.0.1/Build/../base-math:/builddir/build/BUILD/libdfp-1.0.1/Build/../:/builddir/build/BUILD/libdfp-1.0.1/Build/../tests Processing Makefiles: /builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/soft-dfp/dpd/ /builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/soft-dfp/ /builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/dpd/ /builddir/build/BUILD/libdfp-1.0.1/Build/../decNumberMath/ /builddir/build/BUILD/libdfp-1.0.1/Build/../ieee754r/ /builddir/build/BUILD/libdfp-1.0.1/Build/../base-math +Building the DFP backend library. make: *** No rule to make target `libdecnumber/libdecnumber.a', needed by `libdfp.a'. Stop. make: *** Waiting for unfinished jobs.... gcc --param=ssp-buffer-size=4 -O2 -Wall -Wp,-D_FORTIFY_SOURCE=2 -fPIC -fexceptions -fstack-protector -g -m31 -march=z9-109 -mtune=z10 -pipe -c /builddir/build/BUILD/libdfp-1.0.1/Build/../dfptypeconv.c -D__STDC_DEC_FP__=200704L -D__STDC_WANT_DEC_FP__=1 -DOPTION_EGLIBC_LOCALE_CODE=1 -D_POSIX_C_SOURCE=200809L -std=gnu99 -D_SVID_SOURCE -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Wmissing-format-attribute -Wno-long-long -include /builddir/build/BUILD/libdfp-1.0.1/Build/../include/libdfp-symbols.h -include ./config.h -I/builddir/build/BUILD/libdfp-1.0.1/Build/../include -I/builddir/build/BUILD/libdfp-1.0.1/Build/../libdecnumber/dpd -I/builddir/build/BUILD/libdfp-1.0.1/Build/../libdecnumber -I/builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/s390/fpu -I/builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/s390 -I/builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/soft-dfp/dpd -I/builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/soft-dfp -I/builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/dpd -I/builddir/build/BUILD/libdfp-1.0.1/Build/../dfp/ -I/builddir/build/BUILD/libdfp-1.0.1/Build/../decNumberMath/ -I/builddir/build/BUILD/libdfp-1.0.1/Build/../ieee754/ -I/builddir/build/BUILD/libdfp-1.0.1/Build/../base-math/ -I/builddir/build/BUILD/libdfp-1.0.1/Build/.. -I. -o dfptypeconv.o In file included from /usr/include/_G_config.h:20, from /usr/include/libio.h:32, from /usr/include/stdio.h:75, from /builddir/build/BUILD/libdfp-1.0.1/Build/../libdecnumber/decContext.h:55, from /builddir/build/BUILD/libdfp-1.0.1/Build/../libdecnumber/decNumber.h:37, from /builddir/build/BUILD/libdfp-1.0.1/Build/../libdecnumber/dpd/decimal128.h:58, from /builddir/build/BUILD/libdfp-1.0.1/Build/../dfptypeconv128.h:37, from /builddir/build/BUILD/libdfp-1.0.1/Build/../dfptypeconv.c:26: /builddir/build/BUILD/libdfp-1.0.1/Build/../dfp/wchar.h:33: error: decimal floating point not supported for this target /builddir/build/BUILD/libdfp-1.0.1/Build/../dfp/wchar.h:35: error: decimal floating point not supported for this target /builddir/build/BUILD/libdfp-1.0.1/Build/../dfp/wchar.h:37: error: decimal floating point not supported for this target In file included from /builddir/build/BUILD/libdfp-1.0.1/Build/../dfptypeconv.c:26: /builddir/build/BUILD/libdfp-1.0.1/Build/../dfptypeconv128.h:41: error: decimal floating point not supported for this target /builddir/build/BUILD/libdfp-1.0.1/Build/../dfptypeconv128.h:42: error: decimal floating point not supported for this target In file included from /builddir/build/BUILD/libdfp-1.0.1/Build/../dfptypeconv.c:27: /builddir/build/BUILD/libdfp-1.0.1/Build/../dfptypeconv64.h:41: error: decimal floating point not supported for this target /builddir/build/BUILD/libdfp-1.0.1/Build/../dfptypeconv64.h:42: error: decimal floating point not supported for this target In file included from /builddir/build/BUILD/libdfp-1.0.1/Build/../dfptypeconv.c:28: /builddir/build/BUILD/libdfp-1.0.1/Build/../dfptypeconv32.h:41: error: decimal floating point not supported for this target /builddir/build/BUILD/libdfp-1.0.1/Build/../dfptypeconv32.h:42: error: decimal floating point not supported for this target In file included from /usr/include/bits/string2.h:1298, from /usr/include/string.h:636, from /builddir/build/BUILD/libdfp-1.0.1/Build/../dfptypeconv.c:29: /builddir/build/BUILD/libdfp-1.0.1/Build/../dfp/stdlib.h:36: error: decimal floating point not supported for this target /builddir/build/BUILD/libdfp-1.0.1/Build/../dfp/stdlib.h:41: error: decimal floating point not supported for this target /builddir/build/BUILD/libdfp-1.0.1/Build/../dfp/stdlib.h:46: error: decimal floating point not supported for this target /builddir/build/BUILD/libdfp-1.0.1/Build/../dfptypeconv.c:43: error: decimal floating point not supported for this target /builddir/build/BUILD/libdfp-1.0.1/Build/../dfptypeconv.c:54: error: decimal floating point not supported for this target /builddir/build/BUILD/libdfp-1.0.1/Build/../dfptypeconv.c:68: error: decimal floating point not supported for this target /builddir/build/BUILD/libdfp-1.0.1/Build/../dfptypeconv.c:86: error: decimal floating point not supported for this target /builddir/build/BUILD/libdfp-1.0.1/Build/../dfptypeconv.c:97: error: decimal floating point not supported for this target /builddir/build/BUILD/libdfp-1.0.1/Build/../dfptypeconv.c:111: error: decimal floating point not supported for this target make: *** [dfptypeconv.o] Error 1 *** WARNING: identical binaries are copied, not linked: /usr/lib/libdfp.so.1 and /usr/lib/libdfp-1.0.1.so error: File not found by glob: /builddir/build/BUILDROOT/libdfp-1.0.1-1.el6.ppc64/usr/lib64/*.so.* ------- Comment From rsa.com 2010-01-29 09:46 EDT------- Andreas Krebbel, Please address the z build issue in comment #27 ------- Comment From rsa.com 2010-01-29 10:52 EDT------- (In reply to comment #25) > make install install_root=/builddir/build/BUILDROOT/libdfp-1.0.1-1.el6.ppc > VPATH=/builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/powerpc/powerpc32:/builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/powerpc/fpu/bits:/builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/powerpc/fpu:/builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/powerpc:/builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/soft-dfp/dpd:/builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/soft-dfp:/builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/dpd:/builddir/build/BUILD/libdfp-1.0.1/Build/../decNumberMath/:/builddir/build/BUILD/libdfp-1.0.1/Build/../ieee754r/:/builddir/build/BUILD/libdfp-1.0.1/Build/../base-math:/builddir/build/BUILD/libdfp-1.0.1/Build/../:/builddir/build/BUILD/libdfp-1.0.1/Build/../tests > Processing Makefiles: > /builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/soft-dfp/dpd/ > /builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/soft-dfp/ > /builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/dpd/ > /builddir/build/BUILD/libdfp-1.0.1/Build/../decNumberMath/ > /builddir/build/BUILD/libdfp-1.0.1/Build/../ieee754r/ > /builddir/build/BUILD/libdfp-1.0.1/Build/../base-math > +Building the DFP backend library. > DEFS="-D__STDC_DEC_FP__=200704L" CFLAGS=" --param=ssp-buffer-size=4 -O2 -Wall > -Wp,-D_FORTIFY_SOURCE=2 -fPIC -fexceptions -fstack-protector -g -m32 -pipe" > make -eC libdecnumber > make[1]: Entering directory > `/builddir/build/BUILD/libdfp-1.0.1/Build/libdecnumber' > make[1]: Nothing to be done for `all'. > make[1]: Leaving directory > `/builddir/build/BUILD/libdfp-1.0.1/Build/libdecnumber' > install -d /builddir/build/BUILDROOT/libdfp-1.0.1-1.el6.ppc//usr/lib > install -t /builddir/build/BUILDROOT/libdfp-1.0.1-1.el6.ppc//usr/lib ./libdfp.a > install: cannot stat `./libdfp.a': No such file or directory > make: *** [install] Error 1 I assume this build was configured using --enable-static=no. This is fixed in the latest upstream revision. ------- Comment From rsa.com 2010-01-29 10:54 EDT------- (In reply to comment #26) > + make -j2 > VPATH=/builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/powerpc/powerpc64:/builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/powerpc/fpu/bits:/builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/powerpc/fpu:/builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/powerpc:/builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/soft-dfp/dpd:/builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/soft-dfp:/builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/dpd:/builddir/build/BUILD/libdfp-1.0.1/Build/../decNumberMath/:/builddir/build/BUILD/libdfp-1.0.1/Build/../ieee754r/:/builddir/build/BUILD/libdfp-1.0.1/Build/../base-math:/builddir/build/BUILD/libdfp-1.0.1/Build/../:/builddir/build/BUILD/libdfp-1.0.1/Build/../tests > Processing Makefiles: > /builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/soft-dfp/dpd/ > /builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/soft-dfp/ > /builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/dpd/ > /builddir/build/BUILD/libdfp-1.0.1/Build/../decNumberMath/ > /builddir/build/BUILD/libdfp-1.0.1/Build/../ieee754r/ > /builddir/build/BUILD/libdfp-1.0.1/Build/../base-math > +Building the DFP backend library. > make: *** No rule to make target `libdecnumber/libdecnumber.a', needed by > `libdfp.a'. Stop. > make: *** Waiting for unfinished jobs.... I had the dependencies on libdecnumber.a but the rule was 'libdecnumber'. This is fixed upstream. ------- Comment From rsa.com 2010-01-29 11:53 EDT------- (In reply to comment #28) > *** WARNING: identical binaries are copied, not linked: > /usr/lib/libdfp.so.1 > and /usr/lib/libdfp-1.0.1.so > `install' doesn't clone symlinks, it ends up making a copy. This has been fixed upstream at revision 9760. 2010-01-29 Ryan S. Arnold <rsa.com> * Makefile.in: `install' doesn't handle symlinks so we've done another 'ln -s' in the install stage to set -> ./ in the // directory. I'm not sure how this will work when you package it in an rpm. You may have to have the rpm install stage generate the symlink as well. > error: File not found by glob: > /builddir/build/BUILDROOT/libdfp-1.0.1-1.el6.ppc64/usr/lib64/*.so.* I've not seen this one. During which stage did this manifest? I don't see this glob in the Makefile.in or in the generated Makefile. The file should exist, but doesn't. ------- Comment From rsa.com 2010-01-29 13:34 EDT------- > error: File not found by glob: > /builddir/build/BUILDROOT/libdfp-1.0.1-1.el6.ppc64/usr/lib64/*.so.* (In reply to comment #33) > The file should exist, but doesn't. I figured out the problem. It was in my Makefile.in: libdir=@prefix@/lib Is how it was. This doesn't honour configure overrides using --libdir= and would end up putting everything in /<foo>/lib even if you specified --libdir=/<foo>/lib64. It's also redundant since that is what configure sets @libdir@ to anyway. I've amended to the following: libdir=@libdir@ For good measure I fixed includedir too: includedir=@includedir@ This is fixed upstream in revision r9761: 2010-01-29 Ryan S. Arnold <rsa.com> * Makefile.in: Fixed libdir=@prefix@/lib to libdir=@libdir@ and includedir=@prefix@/include to includedir=@includedir@. This will allow configure override with --libdir= and --includedir= respectively. This was preventing installation into /<foo>/lib64. Fix header install so that dfp/README isn't installed with the header files. ------- Comment From rsa.com 2010-02-02 13:24 EDT------- I noticed that I was missing the libdfp.so symlink in both / and in / so the following revision adds it: r9787 | ryanarn | 2010-02-02 12:20:28 -0600 (Tue, 02 Feb 2010) | 8 lines 2010-02-02 Ryan S. Arnold <rsa.com> * Makefile.in: Replaced libdfp.so.1 generation using `ln -s' to using `ldconfig -l' in both / and /. Added creation of linkname symlink libdfp.so. Strip trailing / from any install_root=<foo> paths. This prevented applications from linking with -L<foo> -ldfp From the ChangeLog text, it also now uses `ldconfig -l' for creating the soname symlink rather than using `ln -s'. Please update to revision r9787. (In reply to comment #43) > I had the dependencies on libdecnumber.a but the rule was 'libdecnumber'. This > is fixed upstream. + make -j2 VPATH=/builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/powerpc/powerpc32:/builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/powerpc/fpu/bits:/builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/powerpc/fpu:/builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/powerpc:/builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/soft-dfp/dpd:/builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/soft-dfp:/builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/dpd:/builddir/build/BUILD/libdfp-1.0.1/Build/../decNumberMath/:/builddir/build/BUILD/libdfp-1.0.1/Build/../ieee754r/:/builddir/build/BUILD/libdfp-1.0.1/Build/../base-math:/builddir/build/BUILD/libdfp-1.0.1/Build/../:/builddir/build/BUILD/libdfp-1.0.1/Build/../tests Processing Makefiles: /builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/soft-dfp/dpd/ /builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/soft-dfp/ /builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/dpd/ /builddir/build/BUILD/libdfp-1.0.1/Build/../decNumberMath/ /builddir/build/BUILD/libdfp-1.0.1/Build/../ieee754r/ /builddir/build/BUILD/libdfp-1.0.1/Build/../base-math +Building the DFP backend library. make: *** No rule to make target `libdecnumber/libdecnumber.a', needed by `libdfp.a'. Stop. make: *** Waiting for unfinished jobs.... DEFS="-D__STDC_DEC_FP__=200704L" CFLAGS=" --param=ssp-buffer-size=4 -O2 -Wall -Wp,-D_FORTIFY_SOURCE=2 -fPIC -fexceptions -fstack-protector -g -m32 -pipe" make -eC libdecnumber make[1]: Entering directory `/builddir/build/BUILD/libdfp-1.0.1/Build/libdecnumber' source='/builddir/build/BUILD/libdfp-1.0.1/Build/../libdecnumber/decNumber.c' object='decNumber.o' libtool=no gcc -D__STDC_DEC_FP__=200704L -I/builddir/build/BUILD/libdfp-1.0.1/Build/../libdecnumber -I. --param=ssp-buffer-size=4 -O2 -Wall -Wp,-D_FORTIFY_SOURCE=2 -fPIC -fexceptions -fstack-protector -g -m32 -pipe -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Wmissing-format-attribute -Wcast-qual -pedantic -Wno-long-long -I/builddir/build/BUILD/libdfp-1.0.1/Build/../libdecnumber -I. -c /builddir/build/BUILD/libdfp-1.0.1/Build/../libdecnumber/decNumber.c source='/builddir/build/BUILD/libdfp-1.0.1/Build/../libdecnumber/decContext.c' object='decContext.o' libtool=no gcc -D__STDC_DEC_FP__=200704L -I/builddir/build/BUILD/libdfp-1.0.1/Build/../libdecnumber -I. --param=ssp-buffer-size=4 -O2 -Wall -Wp,-D_FORTIFY_SOURCE=2 -fPIC -fexceptions -fstack-protector -g -m32 -pipe -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Wmissing-format-attribute -Wcast-qual -pedantic -Wno-long-long -I/builddir/build/BUILD/libdfp-1.0.1/Build/../libdecnumber -I. -c /builddir/build/BUILD/libdfp-1.0.1/Build/../libdecnumber/decContext.c source='/builddir/build/BUILD/libdfp-1.0.1/Build/../libdecnumber/dpd/decimal32.c' object='decimal32.o' libtool=no gcc -D__STDC_DEC_FP__=200704L -I/builddir/build/BUILD/libdfp-1.0.1/Build/../libdecnumber -I. --param=ssp-buffer-size=4 -O2 -Wall -Wp,-D_FORTIFY_SOURCE=2 -fPIC -fexceptions -fstack-protector -g -m32 -pipe -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Wmissing-format-attribute -Wcast-qual -pedantic -Wno-long-long -I/builddir/build/BUILD/libdfp-1.0.1/Build/../libdecnumber -I. -c /builddir/build/BUILD/libdfp-1.0.1/Build/../libdecnumber/dpd/decimal32.c source='/builddir/build/BUILD/libdfp-1.0.1/Build/../libdecnumber/dpd/decimal64.c' object='decimal64.o' libtool=no gcc -D__STDC_DEC_FP__=200704L -I/builddir/build/BUILD/libdfp-1.0.1/Build/../libdecnumber -I. --param=ssp-buffer-size=4 -O2 -Wall -Wp,-D_FORTIFY_SOURCE=2 -fPIC -fexceptions -fstack-protector -g -m32 -pipe -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Wmissing-format-attribute -Wcast-qual -pedantic -Wno-long-long -I/builddir/build/BUILD/libdfp-1.0.1/Build/../libdecnumber -I. -c /builddir/build/BUILD/libdfp-1.0.1/Build/../libdecnumber/dpd/decimal64.c source='/builddir/build/BUILD/libdfp-1.0.1/Build/../libdecnumber/dpd/decimal128.c' object='decimal128.o' libtool=no gcc -D__STDC_DEC_FP__=200704L -I/builddir/build/BUILD/libdfp-1.0.1/Build/../libdecnumber -I. --param=ssp-buffer-size=4 -O2 -Wall -Wp,-D_FORTIFY_SOURCE=2 -fPIC -fexceptions -fstack-protector -g -m32 -pipe -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Wmissing-format-attribute -Wcast-qual -pedantic -Wno-long-long -I/builddir/build/BUILD/libdfp-1.0.1/Build/../libdecnumber -I. -c /builddir/build/BUILD/libdfp-1.0.1/Build/../libdecnumber/dpd/decimal128.c rm -f libdecnumber.a ar cru libdecnumber.a decNumber.o decContext.o decimal32.o decimal64.o decimal128.o ranlib libdecnumber.a make[1]: Leaving directory `/builddir/build/BUILD/libdfp-1.0.1/Build/libdecnumber' error: Bad exit status from /var/tmp/rpm-tmp.fe6VrC (%build) ------- Comment From rsa.com 2010-02-03 13:03 EDT------- (In reply to comment #36) > (In reply to comment #43) > > I had the dependencies on libdecnumber.a but the rule was 'libdecnumber'. This > > is fixed upstream. > > + make -j2 > VPATH=/builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/powerpc/powerpc32:/builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/powerpc/fpu/bits:/builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/powerpc/fpu:/builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/powerpc:/builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/soft-dfp/dpd:/builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/soft-dfp:/builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/dpd:/builddir/build/BUILD/libdfp-1.0.1/Build/../decNumberMath/:/builddir/build/BUILD/libdfp-1.0.1/Build/../ieee754r/:/builddir/build/BUILD/libdfp-1.0.1/Build/../base-math:/builddir/build/BUILD/libdfp-1.0.1/Build/../:/builddir/build/BUILD/libdfp-1.0.1/Build/../tests > Processing Makefiles: > /builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/soft-dfp/dpd/ > /builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/soft-dfp/ > /builddir/build/BUILD/libdfp-1.0.1/Build/../sysdeps/dpd/ > /builddir/build/BUILD/libdfp-1.0.1/Build/../decNumberMath/ > /builddir/build/BUILD/libdfp-1.0.1/Build/../ieee754r/ > /builddir/build/BUILD/libdfp-1.0.1/Build/../base-math > +Building the DFP backend library. > make: *** No rule to make target `libdecnumber/libdecnumber.a', needed by > `libdfp.a'. Stop. Fixed upstream in revision r9794. I'm not sure how that slipped through my test when I thought I fixed it before. It only seems to be a problem when part of libdecnumber/ needs to be rebuilt when using -j*. None-the-less, this fixes it for all cases: r9794 | ryanarn | 2010-02-03 12:00:02 -0600 (Wed, 03 Feb 2010) | 5 lines 2010-02-03 Ryan S. Arnold <rsa.com> * Makefile.in: Fixed rule /: to / to correct problem with make -j* ------- Comment From Andreas.Krebbel.com 2010-02-04 07:25 EDT------- (In reply to comment #27) > /builddir/build/BUILD/libdfp-1.0.1/Build/../dfptypeconv.c:111: error: decimal > floating point not supported for this target > make: *** [dfptypeconv.o] Error 1 For S/390 GCC has to be configured with --enable-decimal-float. It is only the default for power, x86 and x86_64. I'll try to change that upstream asap. ------- Comment From krebbel.ibm.com 2010-02-04 07:25 EDT------- ------- Comment From rsa.com 2010-05-07 15:53 EDT------- I've checked in the RHEL-6.0-Snapshot-2 and as far as I can tell libdfp is not yet available. The severity is being changed to "block" per mgmt. direction. Supplemental ISOs are planned to be available with snapshot 3 due for delivery to partners on May 12. ------- Comment From rsa.com 2010-05-28 11:05 EDT------- We verified that libdfp is available but we've identified a few issues: Could we please have a hardlink of lib/power7/libdfp* to lib/power6/libdfp*? If it's not there then we end up falling back to using software DFP on power7 when in fact it has a hardware DFP facility and the version in lib/power6/ uses hardware DFP. I've updated libdfp to version 1.0.2 upstream. The latest change (which warrants a point release update) includes a constructor function __libdfp_ini() that register the printf handler automatically so that the user doesn't have to. This is seen as an essential feature. I identified an issue with the polymorphic classification functions isnan(), isinf(), isfinite(), etc. These are supposed to detect the type of the input variable and forward to the appropriate type qualified function, e.g., isnan(_Decimal64) -> __isnand64(), isinf(_Decimal128) ->__isinfd128(), etc. Unfortunately I forgot to export the __is* functions for external linkage and only exported the non "__" versions. I've updated 1.0.2 to include the new exports. Finally, I've added some hardware-dfp versions of the classification functions. I'm trying to resolve some differences in the output between soft-dfp and hard-dfp for these functions but that should be resolved shortly. gcc --param=ssp-buffer-size=4 -O2 -Wall -Wp,-D_FORTIFY_SOURCE=2 -fPIC -fexceptions -fstack-protector -g -m31 -march=z9-109 -march=z9-ec -mtune=z10 -pipe -c /builddir/build/BUILD/libdfp-1.0.2/Build-z9-ec/../sysdeps/s390/dfpu/fe_decround.c -D__STDC_DEC_FP__=200704L -D__STDC_WANT_DEC_FP__=1 -DOPTION_EGLIBC_LOCALE_CODE=1 -D_POSIX_C_SOURCE=200809L -std=gnu99 -D_SVID_SOURCE -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Wmissing-format-attribute -Wno-long-long -include /builddir/build/BUILD/libdfp-1.0.2/Build-z9-ec/../include/libdfp-symbols.h -include ./config.h -I/builddir/build/BUILD/libdfp-1.0.2/Build-z9-ec/../include -I/builddir/build/BUILD/libdfp-1.0.2/Build-z9-ec/../libdecnumber/dpd -I/builddir/build/BUILD/libdfp-1.0.2/Build-z9-ec/../libdecnumber -I/builddir/build/BUILD/libdfp-1.0.2/Build-z9-ec/../sysdeps/s390/fpu -I/builddir/build/BUILD/libdfp-1.0.2/Build-z9-ec/../sysdeps/s390/dfpu -I/builddir/build/BUILD/libdfp-1.0.2/Build-z9-ec/../sysdeps/s390 -I/builddir/build/BUILD/libdfp-1.0.2/Build-z9-ec/../sysdeps/dpd -I/builddir/build/BUILD/libdfp-1.0.2/Build-z9-ec/../dfp/ -I/builddir/build/BUILD/libdfp-1.0.2/Build-z9-ec/../decNumberMath/ -I/builddir/build/BUILD/libdfp-1.0.2/Build-z9-ec/../ieee754/ -I/builddir/build/BUILD/libdfp-1.0.2/Build-z9-ec/../base-math/ -I/builddir/build/BUILD/libdfp-1.0.2/Build-z9-ec/.. -I. -o fe_decround.os /builddir/build/BUILD/libdfp-1.0.2/Build-z9-ec/../sysdeps/s390/dfpu/fe_decround.c:32: warning: no previous prototype for '__fe_dec_getround' /builddir/build/BUILD/libdfp-1.0.2/Build-z9-ec/../sysdeps/s390/dfpu/fe_decround.c:44: warning: no previous prototype for '__fe_dec_setround' /builddir/build/BUILD/libdfp-1.0.2/Build-z9-ec/../sysdeps/s390/dfpu/fe_decround.c: Assembler messages: /builddir/build/BUILD/libdfp-1.0.2/Build-z9-ec/../sysdeps/s390/dfpu/fe_decround.c:52: Error: Opcode srnmt not available in this mode make: *** [fe_decround.os] Error 1 ------- Comment From krebbel.ibm.com 2010-06-02 08:34 EDT------- (In reply to comment #42) > /builddir/build/BUILD/libdfp-1.0.2/Build-z9-ec/../sysdeps/s390/dfpu/fe_decround.c:52: > Error: Opcode srnmt not available in this mode > make: *** [fe_decround.os] Error 1 The 32 bit hw dfp variant has to be built with the additional option -mzarch to enable the dfp instructions. I've once modified the configure script to add that automatically. Not sure yet why this stopped working. Ryan, does that perhaps has to do something with your latest changes? ------- Comment From krebbel.ibm.com 2010-06-02 08:37 EDT------- (In reply to comment #14) > s390 (z9-109) soft-dfp lib/z9-109/libdfp.so > s390x (z9-109) soft-dfp lib64/z9-109/libdfp.so > s390 (z9-ec) hard-dfp lib/z9-ec/libdfp.so > s390x (z9-ec) hard-dfp lib64/z9-ec/libdfp.so The directories above are wrong. Please use the following paths: s390 (z9-109) soft-dfp lib/libdfp.so s390x (z9-109) soft-dfp lib64/libdfp.so s390 (z9-ec) hard-dfp lib/dfp/libdfp.so s390x (z9-ec) hard-dfp lib64/dfp/libdfp.so So I'm not clear what is being requested here, a rebase or a bug report but either way a new BZ needs to be opened to request either one. ------- Comment From krebbel.ibm.com 2010-06-08 13:25 EDT------- (In reply to comment #45) > So I'm not clear what is being requested here, a rebase or a bug report but > either way a new BZ needs to be opened to request either one. I've just noticed that I've requested the wrong installation paths for the package on S/390. Since the package isn't included yet I'm not able to verify if your package actually uses the wrong paths or not so I don't think it is a bug report. Please use the correct paths from comment #44 for the libdfp rpm on S/390. ------- Comment From krebbel.ibm.com 2010-06-09 11:45 EDT------- I forgot that these package reside on the supplementary DVD. I've found the packages there now. The mzarch issue from comment #42 is solved. The libdfp Makefile.in in the srpm uses the automated adding of the -mzarch option and seems to build fine with that. The installation paths for the hardware dfp variants need to be adjusted. They are currently installed to /usr/lib/z9-ec/ and /usr/lib64/z9-ec/ - as I've requested it by mistake. They should instead reside in /usr/lib/dfp/ and /usr/lib64/dfp/ otherwise the hardware libdfp variant would not be used on z10 machines. Sorry for the confusion :( Do I need to open a separate bugzilla for that or could we perhaps track that here? I'm fine with tracking the path change in this BZ as long as that works for Andreas. ------- Comment From rsa.com 2010-07-06 18:08 EDT------- (In reply to comment #45) > So I'm not clear what is being requested here, a rebase or a bug report but > either way a new BZ needs to be opened to request either one. I've created a rebase bugzilla: https://bugzilla.linux.ibm.com/show_bug.cgi?id=65833 My concern with this rebase is that I pushed the CFLAGS responsibility onto the developer running configure in order to align Libdfp with how most other libraries use configure. The following text from README.developer indicates what may need to be done: CFLAGS="-m64 -O2 -g" Since the default bitness of the compiler's generated binaries varies between Linux distros, and on some architectures the Kernel has a different bitness than the default user env it is recommended that the -m[31|32|64] flags be passed. Some System Z machines require the -mzarch flag, e.g. CFLAGS="-m31 -mzarch -O2 -g" These should accompany sympathetic --build and --host switches described below, e.g. powerpc-linux-gnu for -m32 powerpc64-linux-gnu for -m64 This new bugzilla is in the process of being mirrored. I haven't verified whether the power7 symlinks mentioned in comment 41 have shown up in Beta 2. I'll do that now. ------- Comment From borntraeger.com 2010-07-08 11:23 EDT------- Regarding the path on s390. On beta 2 we now have the correct path: /usr/lib64/dfp/ ------- Comment From mgrf.com 2010-07-23 13:55 EDT------- verification of this feature is blocked/impacted by LTC 65833 - RIT1108473 - Rebase Libdfp to version 1.0.3 revision 10907 that require fix backport(s) to be included into the libdfp version included in RHEL6 libdfp is included in latest Supplementary. # pwd /mnt/redhat/rel-eng/RHEL6.0-Supplementary-20100818.0/6 # find -name "libdfp*" ./Client/i386/os/SRPMS/libdfp-1.0.3-1.el6.src.rpm ./Client/source/SRPMS/libdfp-1.0.3-1.el6.src.rpm ./Client/x86_64/os/SRPMS/libdfp-1.0.3-1.el6.src.rpm ./Workstation/i386/os/SRPMS/libdfp-1.0.3-1.el6.src.rpm ./Workstation/source/SRPMS/libdfp-1.0.3-1.el6.src.rpm ./Workstation/x86_64/os/SRPMS/libdfp-1.0.3-1.el6.src.rpm ./Server/i386/os/SRPMS/libdfp-1.0.3-1.el6.src.rpm ./Server/s390x/os/Packages/libdfp-devel-1.0.3-1.el6.s390x.rpm ./Server/s390x/os/Packages/libdfp-1.0.3-1.el6.s390.rpm ./Server/s390x/os/Packages/libdfp-1.0.3-1.el6.s390x.rpm ./Server/s390x/os/Packages/libdfp-devel-1.0.3-1.el6.s390.rpm ./Server/s390x/os/SRPMS/libdfp-1.0.3-1.el6.src.rpm ./Server/ppc64/os/Packages/libdfp-devel-1.0.3-1.el6.ppc.rpm ./Server/ppc64/os/Packages/libdfp-devel-1.0.3-1.el6.ppc64.rpm ./Server/ppc64/os/Packages/libdfp-1.0.3-1.el6.ppc64.rpm ./Server/ppc64/os/Packages/libdfp-1.0.3-1.el6.ppc.rpm ./Server/ppc64/os/SRPMS/libdfp-1.0.3-1.el6.src.rpm ./Server/x86_64/os/SRPMS/libdfp-1.0.3-1.el6.src.rpm ./Server/source/SRPMS/libdfp-1.0.3-1.el6.src.rpm ./ComputeNode/x86_64/os/SRPMS/libdfp-1.0.3-1.el6.src.rpm ./ComputeNode/source/SRPMS/libdfp-1.0.3-1.el6.src.rpm ./WebServer/x86_64/os/SRPMS/libdfp-1.0.3-1.el6.src.rpm ./WebServer/source/SRPMS/libdfp-1.0.3-1.el6.src.rpm ./source/SRPMS/libdfp-1.0.3-1.el6.src.rpm Red Hat Enterprise Linux 6.0 is now available and should resolve the problem described in this bug report. This report is therefore being closed with a resolution of CURRENTRELEASE. You may reopen this bug report if the solution does not work for you. |