Bug 189833 - h2ph problem with gcc internal defines
h2ph problem with gcc internal defines
Product: Red Hat Enterprise Linux 3
Classification: Red Hat
Component: perl (Show other bugs)
All Linux
medium Severity medium
: ---
: ---
Assigned To: Jason Vas Dias
David Lawrence
Depends On: 185406
Blocks: 187539
  Show dependency treegraph
Reported: 2006-04-24 19:20 EDT by Jason Vas Dias
Modified: 2007-11-30 17:07 EST (History)
5 users (show)

See Also:
Fixed In Version: RHBA-2006-0294
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2006-05-10 17:57:45 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Comment 1 Jason Vas Dias 2006-04-24 19:40:18 EDT
I was under the mistaken impression that this bug did not affect RHEL-3 -
but it does:

$ perl -e 'require "sys/socket.ph";'
Can't locate features.ph in @INC (did you run h2ph?) 
$ perl -v
This is perl, v5.8.0 built for ppc-linux-thread-multi
$ uname -a 
uname -a
Linux pseries.test.redhat.com 2.4.21-37.0.1.EL #1 SMP Wed Jan 11 18:37:26 EST
2006 ppc64 ppc64 ppc64 GNU/Linux

This bug was found during testing of errata 2006:294 by  
Jan Lieskovsky <jlieskov@redhat.com> , during an attempted run of RHTS
test script 185240.t, which failed.

This test succeeded on my test machine because I had run h2ph on many
include files manually a long time ago, and they were not removed by
rpm upgrade - I had forgotten about them.

It seems that this never worked in 5.8.0-89.10, the RHEL-3-U4 perl, either,
since this make command, used to generate the list of headers to convert, 
failed, and 5.8.0-89.10 does not contain features.ph either :
# Generate *.ph files with a trick. Is this sick or what ?
make all -f - <<EOF
PKGS	= glibc-devel gdbm-devel gpm-devel libgr-devel libjpeg-devel \
	  libpng-devel libtiff-devel ncurses-devel popt \
	  zlib-devel binutils libelf e2fsprogs-devel pam pwdb \
STDH	= \$(filter %{_includedir}/include/%%, \$(shell rpm -q --queryformat
'[%%{FILENAMES}\n]' \$(PKGS)))
While maybe not "sick", it was definitely not "well", as the rpm listing failed
owing to the nonexistence of 'libgr-devel" (or "libelf") , so none of the 
headers intended to be shipped by the rpm listing were shipped.

This is now fixed with perl-5.8.0-93.EL3, which ships all the headers in :
         gcc glibc-headers glibc-kernheaders binutils elfutils-devel  \
         gdbm-devel gpm-devel libjpeg-devel \
	 libpng-devel libtiff-devel ncurses-devel popt \
	 zlib-devel e2fsprogs-devel pam-devel \
	 rpm-devel | egrep '\.h$'

Now the socket.ph requires succeeds, though with some warnings:
$ perl -e 'require "sys/socket.ph";'
Scalar found where operator expected at (eval 147) line 1, near "'int'  $__val"
        (Missing operator before   $__val?)
String found where operator expected at (eval 394) line 1, near "&__const
'struct sockaddr'"
        (Missing operator before  'struct sockaddr'?)
$ echo $?

The same warnings are generated when I convert the RHEL-3 headers with the
latest upstream perl-5.8.8 version - it is an upstream h2ph problem, that
I will fix in FC-{6,5,4} and later in RHEL-{3,4} in due course, but which is 
not critical for RHEL-3 - the requires and all tests now succeed.
Comment 2 Jason Vas Dias 2006-04-24 20:42:42 EDT
Please can we add the appropriate ACKs to this bug and add it to the 
RHEL-3-U8 CANFIX list as it was found during testing of errata 2006:294
and is fixed with a correction the the .spec file only .
Comment 5 Red Hat Bugzilla 2006-05-10 17:57:46 EDT
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.


Note You need to log in before you can comment on or make changes to this bug.