Bug 1212956 - pkgconfig needs large file support
Summary: pkgconfig needs large file support
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: pkgconfig
Version: 22
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Matthias Clasen
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-04-17 18:55 UTC by Peter Jones
Modified: 2015-05-22 17:56 UTC (History)
2 users (show)

Fixed In Version: pkgconfig-0.28-8.fc21
Clone Of:
Environment:
Last Closed: 2015-04-22 22:49:46 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
add correct large file support bits to configure.am (709 bytes, patch)
2015-04-17 18:55 UTC, Peter Jones
no flags Details | Diff
Add it to the spec file (1.05 KB, patch)
2015-04-17 18:57 UTC, Peter Jones
no flags Details | Diff

Description Peter Jones 2015-04-17 18:55:11 UTC
Created attachment 1015714 [details]
add correct large file support bits to configure.am

Description of problem: pkgconfig is built without large file support.  Since xfs enables 64-bit inodes by default on filesystems >1TB, that means if /usr/share/pkgconfig happens to get an inode number > 2^31, it will fail with EOVERFLOW because getdents() would return a number that doesn't fit in its uint32_t parameter.

Version-Release number of selected component (if applicable):
pkgconfig-0.28-6.fc22.x86_64 (and all prior versions.)

How reproducible: very easy

Steps to Reproduce:
1. get a 1.5TB disk
2. partition it as 1 partition
3. mkfs.xfs on that partition
4. mount it on /var/lib/mock
5. try to mock build any large project that uses autoconf and pkgconfig
6. autoconf will claim you don't have some libraries that you do because pkgconfig is failing
7. strace pkg-config in the chroot
 
Actual results:
openat(AT_FDCWD, "/usr/lib/pkgconfig", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = 3
getdents(3, /* 1 entries */, 32768)     = 16
getdents(3, 0x9272394, 32768)           = -1 EOVERFLOW (Value too large for defined data type)
close(3)                                = 0

Expected results:
getdents64() should be what you see, and then it will work.

Additional info:
it might not happen every time, since it does actually require that the inode numbers /assigned/ in the directory are >2^31 , as opposed to merely being 64-bit.

Comment 1 Peter Jones 2015-04-17 18:57:29 UTC
Created attachment 1015715 [details]
Add it to the spec file

This patch adds what's needed for the previous patch into the rpm spec file.  If the previous patch is added upstream, the bits with BuildRequires and the autoreconf (and in fact none of this patch at all) are needed.

Comment 2 Peter Jones 2015-04-17 19:11:48 UTC
( filed upstream as https://bugs.freedesktop.org/show_bug.cgi?id=90078 )

Comment 3 Fedora Update System 2015-04-17 19:39:35 UTC
pkgconfig-0.28-8.fc22 has been submitted as an update for Fedora 22.
https://admin.fedoraproject.org/updates/pkgconfig-0.28-8.fc22

Comment 4 Fedora Update System 2015-04-17 21:59:55 UTC
pkgconfig-0.28-8.fc21 has been submitted as an update for Fedora 21.
https://admin.fedoraproject.org/updates/pkgconfig-0.28-8.fc21

Comment 5 Fedora Update System 2015-04-21 18:29:57 UTC
Package pkgconfig-0.28-8.fc22:
* should fix your issue,
* was pushed to the Fedora 22 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing pkgconfig-0.28-8.fc22'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2015-6425/pkgconfig-0.28-8.fc22
then log in and leave karma (feedback).

Comment 6 Fedora Update System 2015-04-22 22:49:46 UTC
pkgconfig-0.28-8.fc22 has been pushed to the Fedora 22 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 7 Fedora Update System 2015-05-22 17:56:59 UTC
pkgconfig-0.28-8.fc21 has been pushed to the Fedora 21 stable repository.  If problems still persist, please make note of it in this bug report.


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