Bug 1349 - Undefined 'DefaultGcc2i386Opt' causes compilation error
Summary: Undefined 'DefaultGcc2i386Opt' causes compilation error
Alias: None
Product: xorg
Classification: Unclassified
Component: Build/Monolithic (show other bugs)
Version: git
Hardware: x86 (IA32) Linux (All)
: high minor
Assignee: Xorg Project Team
QA Contact:
: 944 (view as bug list)
Depends on:
Reported: 2004-09-12 20:33 UTC by Anton Markov
Modified: 2011-10-15 15:46 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:

Trimmed compilation log showing error (179.55 KB, text/plain)
2004-09-12 20:34 UTC, Anton Markov
no flags Details
Trimmed compilation log showing error (3.07 KB, text/plain)
2004-09-12 20:38 UTC, Anton Markov
no flags Details
Shows where 'DefaultGcc2i386Opt' appears in config/cf/* (1.53 KB, text/plain)
2004-09-12 20:39 UTC, Anton Markov
no flags Details
Proposed patch to xc/config/cf/linux.cf (367 bytes, patch)
2004-09-12 20:59 UTC, Anton Markov
no flags Details | Splinter Review

Note You need to log in before you can comment on or make changes to this bug.
Description Anton Markov 2004-09-12 20:33:09 UTC
When I try to compile XOrg 6.8.0 on a Debian Unstable system, I get the
following error shortly after starting 'make World' (I have attached the
relevant section of my World.log):

gcc: cannot specify -o with -c or -S and multiple compilations

I have found that this error is caused by the following command being executed:
gcc DefaultGcc2i386Opt    -I../../include ...

"DefaultGcc2i386Opt" should be replaced by optimization options to 'gcc' (such
as "-02"), but it is not. 'gcc' interprets this as a second compilation target
and gives the above error.

"DefaultGcc2i386Opt" is not defined in any of the configuration files in
config/cf/. The attached 'grep.log' shows were DefaultGcc2i386Opt appear in the
config/cf/ directory. The entries are either commented out or appear in files
that imake does not scan when compiling for Linux (as far as I understand).

Currently I have to use "#define DefaultGcc2i386Opt -02" in my host.def file to
get XOrg to compile. Perhaps this option should be defined in
config/cf/linux.conf or another configuration file.

I am using the XOrg 6.8 sources from the xorg.freedesktop.org website.
I am running Debian Unstable on a P4 2.4GHZ with 512MB RAM. I am using:
gcc 3.3.4 from Debian Unstable
make 3.80 from Debian Unstable
Comment 1 Anton Markov 2004-09-12 20:34:57 UTC
Created attachment 881 [details]
Trimmed compilation log showing error
Comment 2 Anton Markov 2004-09-12 20:38:33 UTC
Created attachment 882 [details]
Trimmed compilation log showing error
Comment 3 Anton Markov 2004-09-12 20:39:48 UTC
Created attachment 883 [details]
Shows where 'DefaultGcc2i386Opt' appears in config/cf/*
Comment 4 Anton Markov 2004-09-12 20:59:28 UTC
Created attachment 884 [details] [review]
Proposed patch to xc/config/cf/linux.cf

Here is quick patch that defines 'DefaultGcc2i386Opt' in linux.cf if it is not
defined elsewhere. 

If someone with imake experience could check this patch and approve it. Perhaps
a similar patch should be applied to other OS-specific configuration fine (i.e.
Comment 5 Anton Markov 2004-12-10 18:14:53 UTC
This is still a problem with the latest CVS (2004-12-10), so I changed the
version to CVS_HEAD. This is a very annoying problem as it's hard to find the
cause. Yet the fix is simple.

Also reassigned bug to myself. Patch still works for CVS.
Comment 6 Jason Howlett 2005-01-27 14:48:51 UTC
I am having the same problem with xorg 6.8.0 (Gentoo ebuild version
xorg-x11-6.8.0-r4). The symbol in question is defined in the linux.cf config
file, but is conditional on the compiler being gcc2x. I got around it
temporarily by adding the symbol to site.cf.
Comment 7 Adam Jackson 2005-06-28 14:40:59 UTC
*** Bug 944 has been marked as a duplicate of this bug. ***
Comment 8 Adam Jackson 2006-04-15 05:14:47 UTC
wontfix, unless someone really cares about it for 6.9.x.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.