Subject: Re: compiling Tk800.023-1 onto a windows 2000 system with cygwin
From: Soren A <[email-masked]>
To: [email-masked]
Date: Thu, 22 Aug 2002 18:07:19 +0000 (UTC)
Newsgroups: gmane.os.cygwin

"Rob Philips" <[email-masked]> wrote around 22 Aug 2002
news:[email-masked] about %s: 

> Hello,
> 
> 
> while compiling Tk800.023-1 onto cygwin all seems to go fantastic but
> when i try to do a make install
> this is what i get :
> 
> [Rophy]/cygdrive/c/cygwin/Tk800.023-1#make install
> cd pTk && make
> make[1]: Entering directory `/cygdrive/c/cygwin/Tk800.023-1/pTk'
> gcc -c -I.. -I../pTk/mTk/xlib -I. -Ibitmaps -I../pTk/mTk/xlib
> -DPERL_USE_SAFE_P
> TENV -fno-strict-aliasing -I/usr/local/include -DUSEIMPORTLIB -O2
> -DVERSION=\
> 800.023\" -DXS_VERSION=\"800.023\"
> -I/usr/lib/perl5/5.6.1/cygwin-multi/CORE -D
> _WIN32__ -D_WIN32 -DWIN32 -Wall -Wno-implicit-int -Wno-comment
> -Wno-unused -D__
> SE_FIXED_PROTOTYPES__ imgBMP.c
> In file included from tkPort.h:28,
>                  from tk.h:71,
>                  from imgBMP.c:11:
> tkWinPort.h:54: warning: `OPEN_MAX' redefined
> /usr/include/limits.h:143: warning: this is the location of the
> previous defini
> ion
> In file included from imgInt.h:14,
>                  from imgBMP.c:13:
> img.h:21: windows.h: No such file or directory
> make[1]: *** [imgBMP.o] Error 1
> make[1]: Leaving directory `/cygdrive/c/cygwin/Tk800.023-1/pTk'
> make: *** [pTk/libpTk.a] Error 2
> 
> 
> Dus anybody know how i can solve this problem???

No. If you want to build pTk from source, no quick fix or magic pill is
available. The only solution will come from slogging through, if you
have the fortitude and the time. 

The first thing to do if you are wanting to answer your own question is
to correctly describe the nature of the build error that's taken place.
You say that the build has gone fine until `make install' but what
you've dumped above clearly belies that. The warnings and error above
are not messages about an installation procedure failing but about
compilation failing. Specifically, "windows.h: no such file or
directory" is the show-stopper. So whatever it is you think you've
accomplished on previous invocations of `make <sometarget>', clearly the
'make' program doesn't think you have built the required targets and is
trying to satisfy dependencies by compiling things, and fails with an
error to find the basic <windows.h> header. 

That's a very fundamental trouble in your build configuration and until
you correct it you'll get no further; but beyond that, I think that if
you couldn't interpret the output of the process clearly enough to see
that for yourself, you are probably in way over your head and need to
back off and learn to port very simple software packages first before
attempting something as complex as the Perl extension to Tk. If you
decide to learn the old fashioned-way -- by actually learning instead of
asking for magic pills -- I have a piece of hard-won wisdom to convey to
you: *document* every step you take all along the way, carefully (learn
the 'patch' and 'diff' and 'cvs' programs and the customs of the trade
with regards to discussing the porting of software packages, take notes
and keep logs of screen dumps, etc), and decisively determine that
you'll try to present and share (in a clear and rigorous manner) the
results of your work with others when you are done (whether the results
are fully successful or not). Not only will this sort of effort provide
you with a better foundation for future projects you will undertake, but
you'll get more satisfaction out of it all at the end of the day, too.
And, I'll hazard to mention too that it will earn you 'timeslice merit'
with the busy and highly skilled experts that otherwise might not be
motivated to give you some of their valuable time -- after all, you have
to remember that you are asking help of people who are not paid to give
it or under any other sort of obligation to do so. 

I myself tried to build pTk not long ago and was also unsuccessful. 
Interested readers can view 'logs' and build configuration data in the form 
of generated Makefiles, etc. at the location:
   http://home.att.net/~perlspinr/browse_site.html
-- scroll down towards the bottom of the list of documents to see where the 
pTk stuff begins.

On a final note, one of the best ways to learn is to join a mailing
List that exists to support and discuss a certain software package and
lurk there for an extended period of time. Pay close attention to the
differing styles with which people post and notice which styles get the
most responsive feedback. The Cygwin List is *not* such a list (that
exists to support all phases of porting, using and extending a specific
discrete multiplatform software package like pTk); as a matter of fact,
surprise, pTk *does* have such a list. Maybe that would be a good place
to start. 

Good Luck,
    Soren A

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/