This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: FileRunner under cygwin - simple compilation fails.


On Wed, 19 Jan 2005, CV wrote:

> Igor Pechtchanski <pechtcha <at> cs.nyu.edu> writes:
> > On Wed, 19 Jan 2005, CV wrote:
> > > After running the command "gcc -E ext.c -o ext.pre" and then
> > > comparing ext.pre with tcl.h I think I can identify some of
> > > the included bits, eg. the following:
> >
> > You could also just look at the '# line' lines, e.g.,
> > '# 159 "/usr/include/tcl.h" 3 4'
>
> Yep, those lines are in there. Quite a number of them in fact.

Ok, looks like it was included, so that's that.

> > The most interesting thing is whether Tcl_CreateCommand is declared, and
> > whether its signature corresponds to its usage in ext.c.
>
> Here are the relevant bits.
> I'm afraid I am not conversant enough with pointer and data type
> mechanisms in c to make total sense of it. It appears to be fairly
> advanced stuff ...

Arg #3 is a pointer to a function (Tcl_CmdProc).  See where that's
declared *in the preprocessed file* (so that all macros are expanded) and
see if your declarations of GetTimeFromSecs, etc, correspond to it.  The
most obvious mismatch is probably the "const char* argv[]" vs. your "char*
argv[]".

> [snip]
> But it would be useful to eliminate the doubt about
> these warnings first. If you can see any obvious mistake
> below I'd appreciate it.
>
> ------------------------------ usage in ext.c ---------------------------
> ... (declarations at the top of the file)
> static int GetTimeFromSecs(ClientData clientData, Tcl_Interp* interp,
>                            int argc, char* argv[]);
> [snip]
> ... (a little further down)
> int
> Ext_Init(interp)
>     Tcl_Interp *interp;		/* Interpreter for application. */
> {
>     Tcl_CreateCommand(interp, "GetTimeFromSecs", GetTimeFromSecs, NULL, NULL);
> [snip]
> ...
> --------------------------------------------------------------------------
> -------- and, again, the warnings from the compilation -------------------
>
> gcc -Wall -fPIC -O3 -I/usr/include -I/usr/include -I/usr/include/X11
>    -c -o ext.o ext.c
> cc1: warning: -fPIC ignored for target (all code is position independent)
> ext.c: In function `Ext_Init':
> ext.c:95: warning: passing arg 3 of `Tcl_CreateCommand' from
>   incompatible pointer type
> [snip]
> ...
> --------------------------------------------------------------------------
>
> > > Don't know, but actually it only refuses to enter the
> > > C:/cygwin/cygdrive directory, where the windows disks
> > > are mounted. It is ok everywhere else.
> >
> > Ha.  /cygdrive is a virtual directory, intended to access Windows
> > disks from inside Cygwin, not vice versa.  Why go to
> > C:/cygwin/cygdrive/c/, when you can simply go to C:/?
>
> I would have preferred to have a consistent view of the
> directory tree from within cygwin, starting from "/" as
> the root, but as I say it's a minor point.

If you want to see /cygdrive as a real directory, create it ("mkdir
/cygdrive" should do it).  However, any *Cygwin* program will interpret
"/" as "c:/cygwin", and not as "c:/", unless your mounts are screwed up
(which they don't seem to be).
HTH,
	Igor
-- 
				http://cs.nyu.edu/~pechtcha/
      |\      _,,,---,,_		pechtcha@cs.nyu.edu
ZZZzz /,`.-'`'    -.  ;-;;,_		igor@watson.ibm.com
     |,4-  ) )-,_. ,\ (  `'-'		Igor Pechtchanski, Ph.D.
    '---''(_/--'  `-'\_) fL	a.k.a JaguaR-R-R-r-r-r-.-.-.  Meow!

"The Sun will pass between the Earth and the Moon tonight for a total
Lunar eclipse..." -- WCBS Radio Newsbrief, Oct 27 2004, 12:01 pm EDT

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]