Please do not reply directly to this email. All additional comments should be made in the comments box of this bug report. https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=172236 Summary: missing C standard headers Product: Fedora Core Version: devel Platform: All OS/Version: Linux Status: NEW Severity: normal Priority: normal Component: perl AssignedTo: jvdias@xxxxxxxxxx ReportedBy: jvdias@xxxxxxxxxx QAContact: dkl@xxxxxxxxxx CC: fedora-perl-devel-list@xxxxxxxxxx Description of problem: All perl versions on Linux / glibc / gcc systems fail to look for the C standard header files in the correct location, eg. : stddef.h syslimits.h stdarg.h float.h stdbool.h These are gcc built-in headers, and cpp searches for them in the gcc architecture specific include directory before the system include directory: /usr/lib/gcc/${arch}-${os}/${gcc-version}/include During the perl build, perl does not look for any headers in the gcc architecture specific include directory, but instead either fails to find the header at all, or finds versions of them used only by the kernel, eg. as shown by this excerpt from a log of a Rawhide perl build : --- + for i in asm/termios.h syscall.h syslimits.h syslog.h sys/ioctl.h sys/socket.h sys/time.h wait.h ... ... + /var/tmp/perl-5.8.7-0.5.fc5-root-jvdias//usr/bin/perl /var/tmp/perl-5.8.7-0.5.fc5-root-jvdias//usr/bin/h2ph -a -d /var/tmp/perl-5.8.7-0.5.fc5-root-jvdias/usr/lib/perl5/5.8.7/i386-linux-thread-multi syslimits.h Can't open syslimits.h: No such file or directory syslimits.h -> syslimits.ph --- ( empty syslimits.ph - no syslimits.ph shipped ) --- + /var/tmp/perl-5.8.7-0.5.fc5-root-jvdias//usr/bin/perl /var/tmp/perl-5.8.7-0.5.fc5-root-jvdias//usr/bin/h2ph -a -d /var/tmp/perl-5.8.7-0.5.fc5-root-jvdias/usr/lib/perl5/5.8.7/i386-linux-thread-multi asm/termios.h ... linux/stddef.h -> linux/stddef.ph --- No <stddef.h> shipped, only <linux/stddef.h>, which is meant to be used only by the kernel. This results in many system headers that reference the C standard headers being unusable because the C standard headers are not found (eg. sys/resource.ph -> bits/resource.ph -> linux/types.ph -> stddef.ph -> stddef.ph not found, bug 170088 ). The perl build process should find the C standard headers in their correct location, as many system perl headers that are shipped by perl reference them. Version-Release number of selected component (if applicable): ALL How reproducible: 100% Steps to Reproduce: $ perl -e 'require "sys/resource.ph";' Actual results: Fails due to missing stddef.ph Expected results: No error Additional info: -- Configure bugmail: https://bugzilla.redhat.com/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.