[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

V1.21 does not compile on the latest CygWin (B20.1)



        Hi, everybody.

I have tried to compile the V1.21 on the latest CygWin release (B20.1).
Though this is the first release of V where CygWin platform seems to be
"officially" supported, I wasn't able to compile it !!! (BTW, V1.19 and
V1.20 were compiling very well.)

Here are the more or less important problems that I have encountered.

I. First of all, the doc says:
>
> Make sure these directories exist, or do mkdir for all of these:
>        v/bin/gnuwin32x
>        v/bin/gnuwin32 
>        v/lib/gnuwin32x 
>        v/lib/gnuwin32 
>        v/obj/gnuwin32x 
>        v/obj/gnuwin32 
> If you unpack correctly, they should be there.
>                          ^^^^^^^^^^^^^^^^^^^^!!!!!!!!!!!!!!!!!!
The directories without final "x" are indeed there, but the ones with final "x"
aren't !!!  Well, it is not important for me, since I'm trying to compile
only Windows version.  Consider this just as a minor bug report.

II. Further doc says:
>
> Making the Windows GUI version: Copy /v/gnuwin32/ConfigW.mk to /v/Config.mk
> and edit the target file as follows: - set HOMEV to the home directory of
> your V distribution.
>
There is no "/v/gnuwin32/ConfigW.mk" file at all !!!  I suppose that what
must be used is the file "/v/Configs/CfgCygW.mk".  I have tried both this
one, and the one called "/v/Configs/CfgMing.mk"; and in the both cases I
encounter the following (main) problem.

III. Make in the srcwin directory works fine, but after that, trying to
compile any V application (e.g. appgen) fails with "undefined reference to
`WinMain@16'".  For instance,
>
> g++ -o /v/bin/gnuwin32/vgen /v/obj/gnuwin32/vgapp.o /v/obj/gnuwin32/vgcmdw.o
> /v/obj/gnuwin32/vgcode.o /v/obj/gnuwin32/vgmdlg.o /v/obj/gnuwin32/vgdlmdlg.o
> /v/obj/gnuwin32/vgcnv.o /v/obj/gnuwin32/vgrc.o -L/v/lib/gnuwin32 -lV
> -lcomctl32 -mwindows
>
> /CYGNUS/CYGWIN~1/H-I586~1/i586-cygwin32/bin/ld: warning: cannot find entry
> symbol _WinMainCRTStartup; defaulting to 00401000
>
> C:\CYGNUS\CYGWIN~1\H-I586~1\BIN\..\lib\gcc-lib\i586-cygwin32\egcs-2.91.57\..
> \..\..\..\i586-cygwin32\lib/libcygwin.a(libcmain.o): In function `main':
> /home/noer/src/b20/comp-tools/devo/winsup/libcmain.cc:38: undefined reference
> to `WinMain@16'
>
> collect2: ld returned 1 exit status
> make: *** [/v/bin/gnuwin32/vgen] Error 1
> /v/appgen $
>
The warning about _WinMainCRTStartup is not important and can be avoided by
adding "-e _mainCRTStartup" to the linkage command line. BTW, Bruce, why
don't do it by default in makefiles/configs???  But the error about
undefined reference to `WinMain@16' is fatal for the compilation.  Further,
I have tried to add "/v/obj/gnuwin32/vstartup.o" in the list of objects on
the linkage line of appgen's makefile, and that resulted in successfull
compilation (even if the "vgen.exe" file that I got was dumping core when
closing the application).  So, the problem is very strange, since
"/v/obj/gnuwin32/vstartup.o" WAS put in the library, while making it: here
is a fragment of compilation of the library:
>
> .....................
> rm -f /v/lib/gnuwin32/libV.a
> ar cr /v/lib/gnuwin32/libV.a /v/obj/gnuwin32/vstartup.o
> .....................                        ^^^^^^^^^^^^!!!!!!!!!!!!!!
> /v/obj/gnuwin32/vwinprtr.o /v/obj/gnuwin32/vynreply.o
> ranlib /v/lib/gnuwin32/libV.a
> /v/srcwin $
>
So, what is going wrong here !!!!????  BTW, has anybody managed to compile
successfully the lib and the apps of V1.21 on cygwin B20.1 ????  Please let
me know how, since for instance I am obliget to stay with V1.20.

IV. What about stripping??? The "vgen.exe" file (the one I have got by
adding "/v/obj/gnuwin32/vstartup.o" in the makefile) is 1.023.156 bytes, and
only 288.768 bytes after stripping, so why don't add stripping in the
makefiles, Bruce ??? (BTW, what about stripping the library itself???)

Thanks in advance for any help. I would really like to upgrade my V1.20 to
V1.21, so any help will be greatly appreciated.

Best regards,
                        Serguei.
___________________________________________________________________________
Serguei DACHIAN
Laboratoire de Statistique et Processus,
Universite du Maine, Av. Olivier Messiaen
72085 Le Mans CEDEX 9, FRANCE
Tel.   : +33 (0)2 43 83 37 18
Fax.   : +33 (0)2 43 83 35 79
E-mail : Serguei.Dachian@univ-lemans.fr
WWW    : http://www.univ-lemans.fr/sciences/statist/cvs/thesard.html#dachian


Reply to: