[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Newsgroup Home]
|
[news.eclipse.tools.cdt] Remote C/C++ Development with Galileo?
|
- From: peter.ellsiepen@xxxxxxx (Peter Ellsiepen)
- Date: Fri, 14 Aug 2009 19:45:46 +0000 (UTC)
- Newsgroups: eclipse.tools.cdt
- Organization: Eclipse
- User-agent: NewsPortal/0.36 (http://florian-amrhein.de/newsportal)
I think I have a fairly standard case for Remote C/C++ Development: The
C/C++ programs reside on a Linux server and I want to edit/run/debug them
using Eclipse CDT which runs on a Windows client.
I had tried to make this scenario working around half a year ago based on
Ganymede with various combinations for remote development/debugging (CDT +
PTP/RDT, using a shared filesystem via NFS and using ssh for build/debug,
using DSDP/TM/RSE and the C/C++ Remote Application launcher, using a cross
debugger for Linux on Windows etc.). At that time I had read FAQs and
documentation that I could find about CDT, PTP, and DSDP/TM/RSE, DSDP/DD.
Unfortunately I did not succeed in setting up a satisfying solution (and
reading this news group I get the feeling I'm not the only one). The best
I could get was using a shared filesystem via NFS, building/debugging via
ssh and using a cross-compiled gdb for Linux on Windows. However, in this
case all Linux shared libraries used by the remote application needed to
be visible on the Windows host as well, since CDT accessed/parsed them via
accessing the local file system. This turned out to be impractical in
large development projects with many users.
So when I saw that Galileo is out with the new CDT 6.0 and apparently much
improved remote development capabilities I gave it a new try -
unfortunately without a lot of success. Here is what I tried:
Step 1: Installation
- Installed Galileo (3.5.0), package "Eclipse for C/C++ Developers"
(includes CDT 6.0)
- Installed Remote System Explorer (RSE) 3.1 from the Target Management
(TM) 3.1 update site (http://download.eclipse.org/dsdp/tm/updates/3.1)
- Installed the "Eclipse C/C++ Remote Launch" feature from the CDT Galileo
update site (http://download.eclipse.org/tools/cdt/releases/galileo)
Step 2: Create a remote "C/C++ Project" and edit/work with files
Using the tutorials and docs I got as far as creating a new "C/C++
Project" on the remote host via using the RSE filesystem (via an SSH
connection). This also allowed editing the remote source files using the
Eclipse CDT running locally. However, the "New Class" wizard failed with
an NPE. I first thought this was due to Subclipse as the NPE occured
somwhere in Subclipse, but after I uninstalled Subclipse another NPE
occured. So working with remote CDT projects still seems to be a bit rough
at the edges.
Step 3: Build on the remote host
Anyway, the next step was to build the remote project which immediately
failed with the following error message:
"(Cannot run program "make": The directory name is invalid.)".
It seems that CDT's "Makefile Project" does not know that the project
actually is on a remote host (although it was created like this). I could
not get this to work, even with any kind of custom make command (via ssh,
using Windows and/or Linux paths etc.). Probably there is a confusion
between the local and remote file systems when executing the build command.
Step 3b: Build on the remote host using PTP/RDT
A bit of research led me to PTP/RDT which provides a "Remote Makefile
Project" wizard which seemed the right thing to solve my problem. So I
- Installed the "Remote Development Tools" (RDT) from the "Parallel Tools
Platform" (PTP) update site
(http://download.eclipse.org/tools/ptp/releases/2.1)
- Installed and started the rdt-server (DStore) on the Linux box
- Created a new connection using RSE which makes use of the RDT server and
all the settings for remote build and indexing as described in
http://www.eclipse.org/ptp/documentation/2.1/org.eclipse.ptp.rdt.doc.user/html/gettingstarted/creating_a_remote_project.html.
Now the build worked (using the "Remote Makefile Project"). The only
drawback was that the editing of files was now considerably slower than
via the SSH connection I used initially. [BTW, the creation of new classes
still failed with NPE as above.]
Step 4: Run/debug on the remote host
The build had worked which I verified by using a stand-alone SSH
connection and running my simple "Hello World" type program manually, so
the next thing to try was to run/debug my program on the remote host via
CDT, using the "C/C++ Remote Application" run/debug configuration. The
dialogue seems much improved compared to Ganymede. However, I was not able
to select the "C/C++ Application" to run/debug: The "Search Project"
dialogue did not recognize the Linux ELF binary (although all binary
parsers were correctly set), and the "Browse" dialogue searches the local
file system (strange for a remote launcher). See also
http://www.eclipse.org/newsportal/article.php?id=18607&group=eclipse.tools.cdt#18607,
which describes the same problem before the Galileo release. Due to this
problem the main "Run" (or "Debug") button stayed inactive and the program
could not be launched from CDT. [BTW, the binary parsing process seems to
have a general problem as also in the Project Explorer the binary
executable is not detected as such (just as a general binary file).]
So again I'm stuck here and any help would be greatly appreciated. My main
questions are:
1. Are any of the problems that I described above known to the
CDT/DSDP/PTP teams or have they been filed as bugs? (I searched Bugzilla
but could not find any of them, including the last one which apparently
was meant to be filed and fixed for Galileo)
2. Is there anything wrong with the installation steps I made (see above)?
3. Is the upcoming PTP 3.0 / Galileo SR1 (planned for Sept 2009) going to
improve the situation?