Cevelop / Issues

The official issue tracker for Cevelop.
9 stars 1 forks source link

Cevelop breaks Eclipse Neon configuration on migration #5

Closed dvorka closed 7 years ago

dvorka commented 7 years ago

Expected Behavior

I wanted to give Cevelop a try and attempted to open existing Eclipse Neon 2 project. I expected project to be successfully built and continue to develop w/ Cevelop.

Actual Behavior

Cevelop changed (removed part of) existing configuration - diff:

diff --git a/lib/.settings/language.settings.xml b/lib/.settings/language.settings.xml
index ed37c0f..d304e69 100644
--- a/lib/.settings/language.settings.xml
+++ b/lib/.settings/language.settings.xml
@@ -5,10 +5,6 @@
            <provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
            <provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
            <provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
-           <provider class="org.eclipse.cdt.internal.build.crossgcc.CrossGCCBuiltinSpecsDetector" console="false" env-hash="1737064808925810595" id="org.eclipse.cdt.build.crossgcc.CrossGCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT Cross GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
-               <language-scope id="org.eclipse.cdt.core.gcc"/>
-               <language-scope id="org.eclipse.cdt.core.g++"/>
-           </provider>
        </extension>
    </configuration>
    <configuration id="cdt.managedbuild.config.gnu.cross.exe.release.2100391895" name="Release">
@@ -16,10 +12,6 @@
            <provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
            <provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
            <provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
-           <provider class="org.eclipse.cdt.internal.build.crossgcc.CrossGCCBuiltinSpecsDetector" console="false" env-hash="1737064808925810595" id="org.eclipse.cdt.build.crossgcc.CrossGCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT Cross GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
-               <language-scope id="org.eclipse.cdt.core.gcc"/>
-               <language-scope id="org.eclipse.cdt.core.g++"/>
-           </provider>
        </extension>
    </configuration>
    <configuration id="cdt.managedbuild.config.gnu.cross.exe.debug.692487518" name="CLI">
@@ -27,25 +19,17 @@
            <provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
            <provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
            <provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
-           <provider class="org.eclipse.cdt.internal.build.crossgcc.CrossGCCBuiltinSpecsDetector" console="false" env-hash="1737064808925810595" id="org.eclipse.cdt.build.crossgcc.CrossGCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT Cross GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
-               <language-scope id="org.eclipse.cdt.core.gcc"/>
-               <language-scope id="org.eclipse.cdt.core.g++"/>
-           </provider>
        </extension>
    </configuration>
    <configuration id="cdt.managedbuild.config.gnu.cross.exe.debug.57566123.49423071" name="UNITESTS">
        <extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
-           <provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="1792422341839498723" id="org.eclipse.cdt.managedbuilder.core.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -std=c++11 -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
+           <provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="582971939625" id="org.eclipse.cdt.managedbuilder.core.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -std=c++11 -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
                <language-scope id="org.eclipse.cdt.core.gcc"/>
                <language-scope id="org.eclipse.cdt.core.g++"/>
            </provider>
            <provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
            <provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
            <provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
-           <provider class="org.eclipse.cdt.internal.build.crossgcc.CrossGCCBuiltinSpecsDetector" console="false" env-hash="1737064808925810595" id="org.eclipse.cdt.build.crossgcc.CrossGCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT Cross GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
-               <language-scope id="org.eclipse.cdt.core.gcc"/>
-               <language-scope id="org.eclipse.cdt.core.g++"/>
-           </provider>
        </extension>
    </configuration>
 </project>

This broke existing build + through the project's configuration UI I'm getting the following error:

Cevelop/Project Properties/C/C++ Build
  Orphaned configuration. No base extension cfg exists for cdt.managedbuild.config.gnu.cross.exe.debug.57566123.49423071
Cevelop/Project Properties/C/C++ Build/Tool Chain Editor
  Orphaned toolchain cdt.managedbuild.toolchain.gnu.cross.exe.debug.1159206294 (Cross GCC)
  Orphaned builder cdt.managedbuild.builder.gnu.cross.956722835 (Gnu Make Builder)

Cevelop Version, Operating System and Compiler

Cevelop Version: 1.6.0-201701201507

Eclipse IDE for C/C++ Developers
Version: Neon.2 Release (4.6.2)
Build id: 20161208-0600

dvorka@raider:~/p/mindforger/git/mindforger$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.5 LTS
Release:    14.04
Codename:   trusty
dvorka@raider:~/p/mindforger/git/mindforger$ uname -a
Linux raider 3.13.0-96-generic #143-Ubuntu SMP Mon Aug 29 20:15:20 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
dvorka@raider:~/p/mindforger/git/mindforger$ gcc --version
gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

dvorka@raider:~/p/mindforger/git/mindforger$ make --version
GNU Make 3.81
Copyright (C) 2006  Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

This program built for x86_64-pc-linux-gnu

The more we know about your setup, the easier it will be for us to reproduce the problem.

dvorka commented 7 years ago

BTW, I was able to successfully workaround the problem by deleting existing configuration (.project, .cproject and .settings) and I can enjoy Cevelop.

misto commented 7 years ago

Hi Martin, thanks for reporting this. I think this happened because Cevelop does not come with CDT's Cross GCC support. I's an optional feature, but we didn't realize that its absence would break existing projects. So for the next release, we're going to include it by default, just like CDT.

dvorka commented 7 years ago

That would be great - I think that I became Cevelop over the weekend user :smiley:

misto commented 7 years ago

The newer Cevelop releases now include Cross GCC support.