Gentoo Archives: gentoo-user

From: Michael Mol <mikemol@×××××.com>
To: gentoo-user@l.g.o
Subject: [gentoo-user] Calls compiler directly, and strange parameters passed. Is this a bug?
Date: Sat, 29 Oct 2011 00:04:48
Message-Id: CA+czFiBou9y9myfQxp9B9+B7MOs8AWkz8nNKUBCQa5zgsdxu_w@mail.gmail.com
1 Just update calibre, and it looks like it builds a bunch of Python
2 extensions. In the build output, I see many things like these:
3
4 g++ -O3 -Wall -DNDEBUG -fno-strict-aliasing -pipe -fPIC
5 -march=amdfam10 -mcx16 -msahf -mpopcnt --param l1-cache-size=64
6 --param l1-cache-line-size=64 --param l2-cache-size=512
7 -mtune=amdfam10 -O2 -pipe -ggdb -pthread -I/usr/include/python2.7
8 -DPNG_SKIP_SETJMP_CHECK -DPOPPLER_OLD_LINK_TYPE -I/usr/include
9 -I/usr/include/ImageMagick -I/usr/include/poppler -c
10 /var/tmp/portage/app-text/calibre-0.8.23/work/calibre/src/calibre/ebooks/pdf/images.cpp
11 -o /var/tmp/portage/app-text/calibre-0.8.23/work/calibre/build/objects/pdfreflow/images.o
12
13 gcc -O3 -Wall -DNDEBUG -fno-strict-aliasing -pipe -fPIC
14 -march=amdfam10 -mcx16 -msahf -mpopcnt --param l1-cache-size=64
15 --param l1-cache-line-size=64 --param l2-cache-size=512
16 -mtune=amdfam10 -O2 -pipe -ggdb -pthread -I/usr/include/python2.7
17 -I/usr/include/ImageMagick -c
18 /var/tmp/portage/app-text/calibre-0.8.23/work/calibre/src/calibre/utils/magick/magick.c
19 -o /var/tmp/portage/app-text/calibre-0.8.23/work/calibre/build/objects/magick/magick.o
20
21
22 For reference, here are my CFLAGS:
23
24 CFLAGS="-march=amdfam10 -mcx16 -msahf -mpopcnt --param
25 l1-cache-size=64 --param l1-cache-line-size=64 --param
26 l2-cache-size=512 -mtune=amdfam10 -O2 -pipe -ggdb"
27 CXXFLAGS="${CFLAGS}"
28
29 It looks like the package adds "-O3 -Wall -DNDEBUG
30 -fno-strict-aliasing -pipe -fPIC" before appending CFLAGS or CXXFLAGS
31 to the line, and it's calling 'gcc' or 'g++' directly, rather than
32 x86_64-pc-linux-gnu-gcc, x86_64-pc-linux-gnu-g++ or something more
33 generic. It was my understanding that the 'right' way to create a
34 build system is to use the compiler for the target platform. I *think*
35 that means the commands I noted, but I'm uncertain
36
37 (And there's that it uses -O3, which is a bit spooky, and makes me
38 worry more about the effects of compiler upgrades)
39
40 Is this incorrect? Does it qualify as a bug?
41
42 --
43 :wq

Replies

Subject Author
Re: [gentoo-user] Calls compiler directly, and strange parameters passed. Is this a bug? James Broadhead <jamesbroadhead@×××××.com>