Project

General

Profile

Bug #256

No 64-bit stat in 32-bit build

Added by Michael Schwendt over 9 years ago. Updated over 9 years ago.

Status:
Closed
Priority:
Minor
Assignee:
-
Category:
-
Target version:
Start date:
February 20, 2013
Due date:
% Done:

100%

Estimated time:
Affects version:

Description

After having read the following thread "64-bit stat (or not) in 32-bit Fedora binaries" - http://lists.fedoraproject.org/pipermail/devel/2013-February/178821.html - I've examined the 32-bit build of Audacious:

$ nm -uD audacious |grep xstat
U __xstat

Apparently, it didn't build with the large file stat(). For the AC_SYS_LARGEFILE configure check, the build log said:

checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... 64

It stored the result in config.h instead of adding it to the compiler command-line. I've tracked down the files that call stat(), and they include config.h after sys/stat.h. Changing the order fixes the build:

$ nm -uD usr/bin/audacious |grep xstat
U __xstat64

$ grep sys/stat * -R|grep ^src
src/libaudcore/vfs.c:#include <sys/stat.h>
src/audacious/main.c:#include <sys/stat.h>
src/audacious/adder.c:#include <sys/stat.h>
src/audacious/pluginenum.c:#include <sys/stat.h>

audacious-3.4-alpha1-stat64.patch (1.68 KB) audacious-3.4-alpha1-stat64.patch Michael Schwendt, February 20, 2013 02:56

Also available in: Atom PDF