Description of problem:
If you create a simple C/C++ project in Eclipse with the default settings and try
to build in Debug configuration, it'll fail with an error message like this:
cc1plus: error: to generate dependencies you must specify either -M or -MM
This is not an eclipse error, a sample command like this generates the same error:
g++ -g3 -c -MMD -MP -MF"MyFile.d" -MT"MyFile.d" -o"MyFile.o" "../MyFile.cpp"
Apparently, this is a ccache bug, if you export CCACHE_DISABLE=1 or run g++ directly:
/usr/bin/g++ -g3 -c -MMD -MP -MF"MyFile.d" -MT"MyFile.d" -o"MyFile.o" "../MyFile.cpp"
You won't see the error message. (The error will vanish if you add an space after MT and MF options too).
Anyway, this bug brings a considerable inconvenience when using Eclipse since there is no way to add spaces after MF and MT there. The only solution is to add some flags or disable CCACHE completely.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. install ccache
2. run the sample command given above for a sample source code
fails with the given error
should compile successfully (if the source code is OK!)
affects a lot of users
ccache 3.1.2 is currently in updates-testing; it probably won't help with this issue but it wouldn't hurt to try:
Cc'd and copied upstream.
Yes, the problem is that GCC accepts -MFarg and MTarg (and -MQarg) without spaces (which is undocumented) but ccache doesn't.
ccache-3.1.3-1.fc14 has been submitted as an update for Fedora 14.
Works fine. Thank you for your fast support :)
ccache-3.1.3-1.fc14 has been pushed to the Fedora 14 testing repository. If problems still persist, please make note of it in this bug report.
If you want to test the update, you can install it with
su -c 'yum --enablerepo=updates-testing update ccache'. You can provide feedback for this update here: https://admin.fedoraproject.org/updates/ccache-3.1.3-1.fc14
ccache-3.1.3-1.fc14 has been pushed to the Fedora 14 stable repository. If problems still persist, please make note of it in this bug report.