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: how to run "make check" (bug in FAQ)


Follow-up to http://cygwin.com/ml/cygwin/2007-08/msg00326.html (which came
out before I joined this list) in which Zooko said re: running "make check"
after building cygwin1.dll:

>>"make check" is now running on my system. 
>Unfortunately, it seems to hang and make no progress. The last line of
output is:
>
>> running ./mingw-cygload.exe -cygwin
C:/cygwin/oss/build/i686-pc-cygwin/winsup/cygwin/cygwin0.dll >
./mingw-cygwin.log
>
>It's been running for at least an hour and a half now. Task Manager says
that no >processes are using significant CPU.

When I tried building cygwin1.dll and running "make check", I got a "user
shared memory version mismatch detected" error (i.e. multiple copies of
cygwin1.dll) at the same point.  That might be why Zooko's job locked up.
At that point, there *are* two copies of cygwin1.dll floating around, but I
get the impression from the FAQ and logs that I should be able to run "make
check" on the new DLL without moving or renaming the old DLL.  What am I
overlooking?

Gory details:
I'm new to Cygwin, and I wanted to go through the process of building
cygwin1.dll myself, so I followed the FAQ:
http://cygwin.com/faq/faq-nochunks.html#faq.programming.building-cygwin

I'm using Cygwin 1.5.24 and XP SP2.  I created c:\jeffworkspace\winsup
(a.k.a. /cygdrive/c/jeffworkspace/winsup) to do the build; Cygwin itself is
located at c:\cygwin.

>From a cygwin window @ jeffworkspace\winsup, I ran "cvs checkout winsup" to
get the latest code, then fixed jeffworkspace/winsup/src/Makefile.in as
described in http://cygwin.com/ml/cygwin/2007-08/msg00595.html to handle the
"CFLAGS|CXXFLAGS has changed since the previous run" problem.

After creating subdirectories "build" and "install" under
jeffworkspace/winsup, I ran the following from jeffworkspace/winsup/build:

(/cygdrive/c/jeffworkspace/winsup/src/configure
--prefix=/cygdrive/c/jeffworkspace/winsup/install -v; make) >& make.out

make install > install.log 2>&1


Next, I ran "make check 2>&1 | tee makecheck.out" from
jeffworkspace/winsup/build/i686-pc-cygwin/winsup as described earlier in
this thread (http://cygwin.com/ml/cygwin/2007-08/msg00320.html)

After makecheck.out reached this point:

running gcc -mno-cygwin
/cygdrive/c/jeffworkspace/winsup/src/winsup/testsuite/wi
nsup.api/cygload.cc -o mingw-cygload.exe -lstdc++
-Wl,-e,_cygloadCRTStartup@0

running ./mingw-cygload.exe -cygwin
c:/jeffworkspace/winsup/build/i686-pc-cygwin
/winsup/cygwin/cygwin0.dll > ./mingw-cygwin.log

I saw this message:

    880 [main] ? (2840)
c:\jeffworkspace\winsup\build\i686-pc-cygwin\winsup\test
suite\testsuite\mingw-cygload.exe: *** fatal error - user shared memory
version
mismatch detected - 0x2E710001/0xB1D50001.
This problem is probably due to using incompatible versions of the cygwin
DLL.
Search for cygwin1.dll using the Windows Start->Find/Search facility
and delete all but the most recent version.  The most recent version
*should*
reside in x:\cygwin\bin, where 'x' is the drive on which you have
installed the cygwin distribution.  Rebooting is also suggested if you
are unable to find another cygwin DLL.

I suspect this was where Zooko's job hung, since I had to Ctrl-C out.  The
fatal-error message appeared in the terminal window, but wasn't piped to
makecheck.out.

At this point, there *are* two copies of cygwin1.dll on my PC--the "current"
one in c:\cygwin\bin and the one I just built in
jeffworkspace/winsup/install/bin.  And I'm tempted to save the old dll and
copy the new dll in its place, just to get past this point.

On the other hand, the FAQ places the "save the old and copy the new" step
*after* "make check" succeeds, and the last line logged to makecheck.out
seems to indicate that both cygwin1.dll copies should have been ignored in
favor of cygwin0.dll.  So I'm concerned that (a) it broke because I screwed
something up, (b) it broke on its own, or (c) all of the above.

I Googled for "cygwin make check user shared memory" but didn't find
anything applicable.

My cygcheck output is attached.  Since I'm a newbie, I wasn't sure if it was
appropriate to attach *all* of my logs right off the bat, but I do have the
following if you're interested:

* My modified Makefile.in
* make.out (from running configure and make)
* install.log (from "make install")
* makecheck.out (from "make check")
 

Thanks and regards, 
Jeff Koch

Attachment: cygcheck.out
Description: Binary data

--
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]