[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
RE: [cdt-dev] Managed Make Solutions, GCC and Linking problems
|
Thanks for these responses - that would explain why my changes weren't going anywhere :-)
I'm not back in the office 'til Monday. I'll be picking up then and I'll post a summary of the solution once it's all working.
If anyone else is building C on Solaris I wouldn't mind hooking up off-list for chats and mutual support - mail me and let me know.
Thanks for all help so far.
Rob
-----Original Message-----
From: cdt-dev-admin@xxxxxxxxxxx on behalf of Chris Wiebe
Sent: Fri 3/18/2005 8:02 PM
To: cdt-dev@xxxxxxxxxxx
Subject: Re: [cdt-dev] Managed Make Solutions, GCC and Linking problems
After running into many of these headaches myself, I discovered that
launching eclipse with the "-clean" option will flush the plugin cache.
That usually does the trick for me when I'm modifying plugins and they
start acting 'funny'.
-Chris
Recoskie, Chris wrote:
> Having butted heads with a few of the issues associated with the plugin
> parsing algorithms I know a bit about how Eclipse handles the plugin.xml
> files.
>
> In general, the plugin.xml files are loaded on startup only unless you
> install a new feature via the update mechanism and ask it to try to
> startup the new plugins in place.
>
> The first time you run Eclipse, all plugin.xmls are parsed. Once the
> plugin.xml file is read in it is cached.
>
> Eclipse will notice updates to plugins thereafter only if:
>
> a) The eclipse/plugins directory has changed (i.e. its last modified
> time has changed ). On most filesystems this works great as if you add
> a plugin under eclipse/plugins that actually modifies the parent
> directory. On some filesystems e.g. FAT32 this does not happen though
> and Eclipse will not notice that you've added anything unless you
> manually update the modified time of the eclipse/plugins directory. I
> do not know offhand an exhaustive list of which filesystems this holds
> true for but you can test this by creating a directory and then adding a
> file to it and seeing if the modified time of the directory changed.
>
> There is a bugzilla filed against this somewhere but I recall that the
> owners essentially didn't see it as something they would fix anytime
> soon as they would have to rethink the whole plugin parsing algorithm.
> They don't want to be parsing all the plugins every time you start
> eclipse because startup time would be atrocious.
>
> b) The plugin is new or the version specified in the plugin.xml is
> greater than what it was previously. If you update the plugin.xml
> without revving the plugin, it will not be reparsed.
>
> ___________________________________________
>
> Chris Recoskie
> Software Designer
> IDE Frameworks Group
> Texas Instruments, Toronto
>
>
>
>
>>-----Original Message-----
>>From: cdt-dev-admin@xxxxxxxxxxx [mailto:cdt-dev-admin@xxxxxxxxxxx] On
>>Behalf Of Treggiari, Leo
>>Sent: Friday, March 18, 2005 1:50 PM
>>To: cdt-dev@xxxxxxxxxxx
>>Subject: RE: [cdt-dev] Managed Make Solutions, GCC and Linking
>
> problems
>
>>Hi rob,
>>
>>Make sure this is on a single line:
>>
>> commandLinePattern="${COMMAND} ${FLAGS} ${OUTPUT_FLAG}
>>${OUTPUT_PREFIX} ${OUTPUT} ${INPUTS}">
>>
>>Also, I don't know what algorithm Eclipse uses for re-loading the
>>plugin.xml files. For example, I don't know whether Eclipse notices
>>that a plugin.xml file has changed, or whether it has stored the
>>information from the plugin.xml in its configuration data and won't
>
> read
>
>>the file again. Maybe someone else on this mailing list knows...
>>
>>In the past, I've just deleted my "configuration" and "workspace"
>>directories, but there may be a less disruptive way to do this...
>>
>>Regards,
>>Leo
>>
>>-----Original Message-----
>>From: cdt-dev-admin@xxxxxxxxxxx [mailto:cdt-dev-admin@xxxxxxxxxxx] On
>>Behalf Of Rob Styles
>>Sent: Friday, March 18, 2005 1:02 PM
>>To: cdt-dev@xxxxxxxxxxx
>>Subject: RE: [cdt-dev] Managed Make Solutions, GCC and Linking
>
> problems
>
>>Hey Leo,
>>
>>Thanks for the response - this looks just like what I need.
>>
>>What I've done is edited that so that each tool element looks
>
> something
>
>>like this:
>>
>><tool
>> id="cdt.managedbuild.tool.gnu.c.compiler.exe.debug"
>> superClass="cdt.managedbuild.tool.gnu.c.compiler"
>>
>> commandLinePattern="${COMMAND} ${FLAGS} ${OUTPUT_FLAG}
>>${OUTPUT_PREFIX} ${OUTPUT} ${INPUTS}">
>> <option
>> ...
>> </option>
>> ...
>></tool>
>>
>>This looked like it should work to me, based on your instructions and
>>the XML. I found 12 osLists with solaris in and I found 33 places to
>
> add
>
>>commandLinePattern in.
>>
>>However - it doesn't seem to have made the make files change :-( I
>>deleted the whole Debug folder just in case and it's re-created it,
>
> but
>
>>without a space between -o and output.
>>
>>Any thoughts?
>>
>>Thanks a lot
>>
>>rob
>>
>>-----Original Message-----
>>From: cdt-dev-admin@xxxxxxxxxxx [mailto:cdt-dev-admin@xxxxxxxxxxx] On
>>Behalf Of Treggiari, Leo
>>Sent: 18 March 2005 17:24
>>To: cdt-dev@xxxxxxxxxxx
>>Subject: RE: [cdt-dev] Managed Make Solutions, GCC and Linking
>
> problems
>
>>Hi rob,
>>
>>The GCC tool-chain definitions can be found in
>>org.eclipse.cdt.managedbuilder.ui\plugin.xml.
>>Unfortunately, Solaris does not have a separate tool definition - the
>>definition is shared with linux, hpux, aix, qnx. But, if you want to
>>make it work for your system:
>>
>>1. Search for Solaris. You should find 6 Configuration definitions
>>that specify Solaris in the osList.
>>2. For each compiler Tool definition within each of the Configuration
>>objects,
>> O Add the following attribute:
>>
>>commandLinePattern="${COMMAND} ${FLAGS} ${OUTPUT_FLAG}
>>${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}"
>>
>>(There should be a space between ${OUTPUT_FLAG} and ${OUTPUT_PREFIX},
>>but on a single line.)
>>
>>Regards,
>>Leo
>>
>>-----Original Message-----
>>From: cdt-dev-admin@xxxxxxxxxxx [mailto:cdt-dev-admin@xxxxxxxxxxx] On
>>Behalf Of Rob Styles
>>Sent: Friday, March 18, 2005 12:00 PM
>>To: cdt-dev@xxxxxxxxxxx
>>Subject: RE: [cdt-dev] Managed Make Solutions, GCC and Linking
>
> problems
>
>>Ok, I think I've got it down to the makefile content in subdir.mk
>>
>>for each of the .c sources we get:
>> gcc -O0 -g3 -Wall -c -fmessage-length=0 -v -o$@
>
> ../source/getMessage.c
>
>>Now, this passes through to the assembler as:
>> /usr/ccs/bin/as -V -Qy -s -xarch=v8 -osource/main.o
>>/var/tmp//ccDPIZmN.s
>>
>>The problem appears to be that the usage specifies [-o objfile]. If I
>>run the compile manually to generate the .s then run the assembler
>>manually with:
>> /usr/ccs/bin/as -V -Qy -s -xarch=v8 -o source/main.o
>>/var/tmp//ccDPIZmN.s
>>
>>NB: the space between -o and source/main.o, then everything works
>
> fine.
>
>>I tried then editing the subdir.mk to add the space into the gcc
>
> command
>
>>line and that makes everything work fine.
>>
>>Does it make sense, then, to alter the templates that CDT is using to
>>generate my managed makefiles? If so, does anyone know where I can
>
> find
>
>>them?
>>
>>thanks
>>
>>rob
>>
>>
>>
>>-----Original Message-----
>>From: cdt-dev-admin@xxxxxxxxxxx [mailto:cdt-dev-admin@xxxxxxxxxxx] On
>>Behalf Of Rob Styles
>>Sent: 18 March 2005 15:17
>>To: cdt-dev@xxxxxxxxxxx
>>Subject: [cdt-dev] Managed Make Solutions, GCC and Linking problems
>>
>>Hey All,
>>
>>I've got a problem with a managed make project under:
>>
>> CDT 2.1.0 (Eclipse 3.0.1)
>> Solaris 2.8
>> gcc version 3.4.2;
>> /usr/ccs/bin/as: Sun WorkShop 6 2003/12/18 Compiler Common 6.0 Patch
>>114802-02
>>
>>I've put together a quick HelloWorld with just two source files and
>
> one
>
>>header. The main calls a getMessage function which returns "Hello
>
> World"
>
>>which main then prints out to console.
>>
>>This doesn't build for me :-(
>>
>>Build output and code below. It appears (at very much face value) that
>>the assembler isn't being given any filenames to, well, assemble.
>>
>>Can anyone help me out with some guesses at the settings I've missed?
>>I'm running with defaults in all the C/C++ Build > Tool Settings :-(
>>
>>Thanks
>>
>>Rob
>>
>>____________________________________________________________________
>>**** Full rebuild of configuration Debug for project HelloWorld ****
>>
>>make -k clean all
>>rm -rf source/getMessage.o source/main.o source/getMessage.d
>>source/main.d HelloWorld
>>Building file: ../source/getMessage.c
>>gcc -O0 -g3 -Wall -c -fmessage-length=0 -osource/getMessage.o
>>../source/getMessage.c
>>/usr/ccs/bin/as: error: no input filename given
>>usage: /usr/ccs/bin/as [-V] [-Q{y,n}] [-f[O][if]#] [-q] [-s]
>> [-S] [-K {pic,PIC}] [-o objfile] [-L] [-T]
>> [-P [[-Ipath] [-Dname] [-Dname=def] [-Uname]]...]
>> [-m [-Ym,path]] [-n] [-ul] [-xF] [-xarch=v7] [-xarch=v8]
>>[-xarch=v8a] [-xarch=v8plus] [-xarch=v8plusa] [-xarch=v8plusb]
>>[-xarch=v9] [-xarch=v9a] [-xarch=v9b] [-xcode={pic13,pic32}]
>
> file.s...
>
>>make: *** [source/getMessage.o] Error 1
>>Building file: ../source/main.c
>>gcc -O0 -g3 -Wall -c -fmessage-length=0 -osource/main.o
>
> ../source/main.c
>
>>/usr/ccs/bin/as: error: no input filename given
>>usage: /usr/ccs/bin/as [-V] [-Q{y,n}] [-f[O][if]#] [-q] [-s]
>> [-S] [-K {pic,PIC}] [-o objfile] [-L] [-T]
>> [-P [[-Ipath] [-Dname] [-Dname=def] [-Uname]]...]
>> [-m [-Ym,path]] [-n] [-ul] [-xF] [-xarch=v7] [-xarch=v8]
>>[-xarch=v8a] [-xarch=v8plus] [-xarch=v8plusa] [-xarch=v8plusb]
>>[-xarch=v9] [-xarch=v9a] [-xarch=v9b] [-xcode={pic13,pic32}]
>
> file.s...
>
>>make: *** [source/main.o] Error 1
>>make: Target `all' not remade because of errors.
>>Build complete for project HelloWorl
>>
>>
>>
>>main.c__________________________________________________
>>#include <stdio.h>
>>#include <stdlib.h>
>>
>>#include "getMessage.h"
>>
>>int main(int argc, char *argv[]) {
>> printf((char*)getMessage());
>> exit(0);
>>}
>>
>>getMessage.c____________________________________________
>>char* getMessage() {
>> return "Hello World";
>>}
>>
>>getMessage.h____________________________________________
>>char* getMessage();
>>
>>
>>
>>_______________________________________________
>>cdt-dev mailing list
>>cdt-dev@xxxxxxxxxxx
>>http://dev.eclipse.org/mailman/listinfo/cdt-dev
>>
>>
>>_______________________________________________
>>cdt-dev mailing list
>>cdt-dev@xxxxxxxxxxx
>>http://dev.eclipse.org/mailman/listinfo/cdt-dev
>>_______________________________________________
>>cdt-dev mailing list
>>cdt-dev@xxxxxxxxxxx
>>http://dev.eclipse.org/mailman/listinfo/cdt-dev
>>
>>
>>_______________________________________________
>>cdt-dev mailing list
>>cdt-dev@xxxxxxxxxxx
>>http://dev.eclipse.org/mailman/listinfo/cdt-dev
>>_______________________________________________
>>cdt-dev mailing list
>>cdt-dev@xxxxxxxxxxx
>>http://dev.eclipse.org/mailman/listinfo/cdt-dev
>
> _______________________________________________
> cdt-dev mailing list
> cdt-dev@xxxxxxxxxxx
> http://dev.eclipse.org/mailman/listinfo/cdt-dev
>
_______________________________________________
cdt-dev mailing list
cdt-dev@xxxxxxxxxxx
http://dev.eclipse.org/mailman/listinfo/cdt-dev
<<winmail.dat>>