Compilation options for coreutils

Alex Reynolds reynolda at u.washington.edu
Wed Mar 5 19:31:57 UTC 2008


inode0 at gmail.com wrote:

> Download the source rpms, install them, and inspect the specfiles.

I am using RHEL4 with coreutils included as part of the base 
installation. If this means that I am using the binary RPM of coreutils, 
I have to admit that I am still uncertain what compilation options were 
used.

I took a look at the source RPM:

======

$ rpm -q -p ./coreutils-5.2.1-31.2.src.rpm --dump | grep spec
coreutils.spec 22312 1119267842 53ca0b38e631a6345f9e4ab0dea992a3 0100664 
root root 0 0 0 X
$ rpm2cpio coreutils-5.2.1-31.2.src.rpm | cpio -iumd ~/coreutils.spec
$ cat ~/coreutils.spec | grep export
export CFLAGS="$RPM_OPT_FLAGS -fPIC"
export CFLAGS="$RPM_OPT_FLAGS -fpic"
$ mv ~/coreutils.spec ~/coreutils.src.spec

======

For the binary:

======

$ rpm2cpio coreutils-5.2.1-31.2.i386.rpm | cpio -iumd ~/coreutils.spec
$ cat ~/coreutils.spec | grep export
export CFLAGS="$RPM_OPT_FLAGS -fPIC"
export CFLAGS="$RPM_OPT_FLAGS -fpic"

======

In either case, it looks like coreutils relies on a variable called 
$RPM_OPT_FLAGS, which is defined in: "/usr/lib/rpm/rpmrc" for the 
architecture on which the source RPM is built.

Assuming that RHEL4 is installed on a Pentium 3 and an AMD system, do I 
assume that the coreutils package (binary) will be installed for the 
specific architecture? Or is it a stock i386 build, since it doesn't get 
compiled, and there are no optimization flags used?

Thanks for any advice,

Regards,
Alex




More information about the redhat-list mailing list