View Issue Details Jump to Notes ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0014380CMakeCMakepublic2013-08-28 16:252014-01-01 12:45
ReporterDavid Marshall 
Assigned ToAlex Neundorf 
PrioritynormalSeverityminorReproducibilityalways
StatusclosedResolutionfixed 
PlatformApple MacOSOS XOS Version10.8.4
Product VersionCMake 2.8.11.2 
Target VersionFixed in Version 
Summary0014380: Eclipse Generator for 64-Bit Mac OS X
DescriptionEvery time I regenerate my project file (i.e., a CMakeLists.txt file changed) the binary parser gets set to Mach-O Parser and not the Mach-0 64 Parser. What results is that eclipse won't run the code via the debugger, I get the error "Launch failed: Binary not found". To fix it I need to go to the project properties and change the parser back to the 64-bit parser.

I've tracked down the problem to cmExtraEclipseCDT4Generator.cxx line 724 (version from git). Here's the code:

    else if (systemName == "Darwin")
      {
      fout << "<extension id=\"org.eclipse.cdt.core.MachO\""
              " point=\"org.eclipse.cdt.core.BinaryParser\">\n"
              "<attribute key=\"c++filt\" value=\"c++filt\"/>\n"
              "</extension>\n"
              ;
      }

This is for the old parser that apparently is going to be removed soon (see the eclipse bug tracker discussion https://bugs.eclipse.org/bugs/show_bug.cgi?id=270790 [^]). Since version 6.0.2 the 64-bit parser has been supported and is the preferred binary parser, I believe. I don't know the best change to keep versions prior to 6.0.2 supported, but I think that the following code will set the parser to the more recent one and stop me from having to manually set the binary parser every time the eclipse project gets rebuilt:

    else if (systemName == "Darwin")
      {
      fout << "<extension id=\"org.eclipse.cdt.core.MachO64\""
              " point=\"org.eclipse.cdt.core.BinaryParser\">\n"
              "<attribute key=\"c++filt\" value=\"c++filt\"/>\n"
              "</extension>\n"
              ;
      }
Steps To ReproduceTo reproduce:
* Create an Eclipse project in Debug using CMake on a 64-bit Mac OS X computer
* Build the debug version of project
* Attempt to debug executable
* Error will display

Manual fix:
* Go to project properties
* Select Binary Parser tab
* Pick Mach-O 64 parser
TagsNo tags attached.
Attached Files

 Relationships

  Notes
(0034894)
Alex Neundorf (developer)
2014-01-01 12:45

This should work now for you. If the detected Eclipse is at least Helios, the MachO64 parser is now used.
Helios is version 7 and was released in 2010, so it should be ok.
Merged via the EclipseUse64bitMachOParser branch into next.
Please give this a try (either via git or the release candidates once they are released) and reopen the ticket if it doesn't work for you.

 Issue History
Date Modified Username Field Change
2013-08-28 16:25 David Marshall New Issue
2013-08-29 12:00 Alex Neundorf Assigned To => Alex Neundorf
2013-08-29 12:00 Alex Neundorf Status new => assigned
2014-01-01 12:45 Alex Neundorf Note Added: 0034894
2014-01-01 12:45 Alex Neundorf Status assigned => closed
2014-01-01 12:45 Alex Neundorf Resolution open => fixed


Copyright © 2000 - 2018 MantisBT Team