Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 8 Dec 2013 23:52:08 +0100
From:      Roland Smith <rsmith@xs4all.nl>
To:        Peter Harrison <four.harrisons@googlemail.com>
Cc:        questions@freebsd.org
Subject:   Re: How to compile a port with GCC instead of clang
Message-ID:  <20131208225208.GA59009@slackbox.erewhon.net>
In-Reply-To: <20131209204601.GA1948@thinkpad.piggybox>
References:  <CAA3eX7aEgiO7THQBMp4tH7H1xAq4o2tgrfRJ=rgGhw36hOv2qA@mail.gmail.com> <CAA3eX7ZaOAavQ4a-Xn76vPYH2tyaXqLiDbKa82eKF_wa=OOuBg@mail.gmail.com> <20131208114706.GA56474@slackbox.erewhon.net> <20131209204601.GA1948@thinkpad.piggybox>

next in thread | previous in thread | raw e-mail | index | archive | help

--9amGYk9869ThD9tj
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Mon, Dec 09, 2013 at 08:46:01PM +0000, Peter Harrison wrote:
> Sunday,  8 December 2013 at 12:47:06 +0100, Roland Smith said:
> > On Sun, Dec 08, 2013 at 10:54:55AM +0000, Peter Harrison wrote:
> > > Hello list.
> > >=20
> > > How can I compile www/chromium with GCC instead of clang?
> > >=20
> > > If I compile it with clang I end up with a broken binary that won't r=
ender
> > > pages properly. If I compile it with gcc it works flawlessly.
> > >=20
> > > But the knob to choose gcc has been removed in the recent updates. So=
 now I
> > > have a broken chromium. How can I compile it with gcc instead?
> >=20
> > Add the following to your /etc/make.conf:
> >=20
> > .if ${.CURDIR:M*/www/chromium}
> > USE_GCC?=3Dyes
> > .endif
> >=20
> > See /usr/ports/Mk/bsd.gcc.mk for the possible values of USE_GCC.
>=20
> Thanks Roland.
>=20
> That worked, but sadly seems to have just uncovered why the gcc option wa=
s removed. Built with clang my chromium still doesn't function properly. At=
tempting to build with gcc produces the error below.
>=20
> Anyone got any idea either how to build a functioning chromium with clang=
, or how to successfully build it with gcc?

You would have to remove the offending options from the chromium build syst=
em.
Grep will tell you where to find them, I guess.

I'm not familiar with ninja or gyp, but it seems like it is still using cla=
ng options
when using gcc. Maybe you need to add something to GYP_DEFINES in the port
Makefile, like use_gcc=3D1? There doesn't seem to be anything related in
third_party/lzma_sdk/lzma_sdk.gyp

> Attempting to build with gcc I get:
>=20
> [2/12492] CC obj/third_party/lzma_sdk/lzma_sdk.7zAlloc.o
> FAILED: gcc46 -MMD -MF obj/third_party/lzma_sdk/lzma_sdk.7zAlloc.o.d -DAN=
GLE_DX11 -D_FILE_OFFSET_BITS=3D64 -DNO_TCMALLOC -DDISABLE_NACL -DCHROMIUM_B=
UILD -DUSE_DEFAULT_RENDER_THEME=3D1 -DUSE_LIBJPEG_TURBO=3D1 -DUSE_NSS=3D1 -=
DUSE_X11=3D1 -DENABLE_ONE_CLICK_SIGNIN -DGTK_DISABLE_SINGLE_INCLUDES=3D1 -D=
USE_XI2_MT=3D2 -DENABLE_REMOTING=3D1 -DENABLE_WEBRTC=3D1 -DUSE_PROPRIETARY_=
CODECS -DENABLE_CONFIGURATION_POLICY -DENABLE_INPUT_SPEECH -DENABLE_NOTIFIC=
ATIONS -DENABLE_GPU=3D1 -DENABLE_EGLIMAGE=3D1 -DENABLE_TASK_MANAGER=3D1 -DE=
NABLE_EXTENSIONS=3D1 -DENABLE_PLUGIN_INSTALLATION=3D1 -DENABLE_PLUGINS=3D1 =
-DENABLE_SESSION_SERVICE=3D1 -DENABLE_THEMES=3D1 -DENABLE_BACKGROUND=3D1 -D=
ENABLE_AUTOMATION=3D1 -DENABLE_GOOGLE_NOW=3D1 -DCLD_VERSION=3D1 -DENABLE_FU=
LL_PRINTING=3D1 -DENABLE_PRINTING=3D1 -DENABLE_SPELLCHECK=3D1 -DENABLE_CAPT=
IVE_PORTAL_DETECTION=3D1 -DENABLE_MANAGED_USERS=3D1 -D_7ZIP_ST -D_LZMA_PROB=
32 -DNDEBUG -DOFFICIAL_BUILD -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=3D0 =
-I../../third_party/lzma_sdk -fstack-protector --param=3Dssp-buffer-size=3D=
4  -pthread -fno-exceptions -fno-strict-aliasing -Wno-unused-parameter -Wno=
-missing-field-initializers -fvisibility=3Dhidden -pipe -fPIC -Wheader-hygi=
ene -Wno-char-subscripts -Wno-unused-function -Wno-covered-switch-default -=
Wstring-conversion -Wno-c++11-narrowing -Wno-reserved-user-defined-literal =
-Wno-deprecated-register -momit-leaf-frame-pointer -fcolor-diagnostics -Wno=
-format -m32 -mmmx -O2 -fdata-sections -ffunction-sections -fno-unwind-tabl=
es -fno-asynchronous-unwind-tables -O2 -pipe -fno-stack-protector -Wno-unkn=
own-warning-option -Wl,-rpath=3D/usr/local/lib/gcc46 -fno-strict-aliasing  =
-c ../../third_party/lzma_sdk/7zAlloc.c -o obj/third_party/lzma_sdk/lzma_sd=
k.7zAlloc.o
> cc1: error: unrecognized command line option '-Wheader-hygiene'
> cc1: error: unrecognized command line option '-Wstring-conversion'
> cc1: error: unrecognized command line option '-fcolor-diagnostics'
> cc1: warning: unrecognized command line option "-Wno-unknown-warning-opti=
on" [enabled by default]
> cc1: warning: unrecognized command line option "-Wno-deprecated-register"=
 [enabled by default]
> cc1: warning: unrecognized command line option "-Wno-reserved-user-define=
d-literal" [enabled by default]
> cc1: warning: unrecognized command line option "-Wno-c++11-narrowing" [en=
abled by default]
> cc1: warning: unrecognized command line option "-Wno-covered-switch-defau=
lt" [enabled by default]
> ninja: build stopped: subcommand failed.
> *** [do-build] Error code 1
>=20
> Stop in /usr/ports/www/chromium.
> *** [build] Error code 1
>=20
>=20
> Many thanks,
>=20
>=20
>=20
>=20
> Peter.
>=20
>=20
>=20
> >=20
> >=20
> > Roland
> > --=20
> > R.F.Smith                                   http://rsmith.home.xs4all.n=
l/
> > [plain text _non-HTML_ PGP/GnuPG encrypted/signed email much appreciate=
d]
> > pgp: 1A2B 477F 9970 BA3C 2914  B7CE 1277 EFB0 C321 A725 (KeyID: C321A72=
5)
>=20

--=20
R.F.Smith                                   http://rsmith.home.xs4all.nl/
[plain text _non-HTML_ PGP/GnuPG encrypted/signed email much appreciated]
pgp: 1A2B 477F 9970 BA3C 2914  B7CE 1277 EFB0 C321 A725 (KeyID: C321A725)

--9amGYk9869ThD9tj
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (FreeBSD)

iEYEARECAAYFAlKk+BgACgkQEnfvsMMhpyXRIwCgjWUO5dk3wAFu+QyFAMZUBgzw
V9IAn2o2RuBpovxE6ONSr/N7QjZ3LgHX
=yOJ3
-----END PGP SIGNATURE-----

--9amGYk9869ThD9tj--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20131208225208.GA59009>