From: Austin Ziegler Date: 2005-12-27T11:09:27+09:00 Subject: Problems building 1.8.4 with VS8 C++ Express Edition (cl 14.00) Visual Studio C++ 2005 Express Edition (VS 8.0) Platform SDK 2003 SP1 (cl 14.00.50727.42) When compiling with this, I get hundreds of the following warnings: cl : Command line warning D9035 : option 'Og-' has been deprecated and will be removed in a future release cl : Command line warning D9002 : ignoring unknown option '-G6' ... : warning C4996: 'chdir' was declared deprecated C:\Program Files\Microsoft Visual Studio 8\VC\INCLUDE\direct.h(127) : see declaration of 'chdir' Message: 'The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _chdir. See online help for details.' ... : warning C4996: 'sprintf' was declared deprecated C:\Program Files\Microsoft Visual Studio 8\VC\INCLUDE\stdio.h(345) : see declaration of 'sprintf' Message: 'This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.' The following modifications (1) remove the g- from the optimization flags. It replaces it with t ("favor code speed") and y- ("disable frame pointer omission"). This may need to be parameterized. I have not changed the -G6, because it appears that the free edition is not a platform optimizing compiler, and -G6 is platform selection. The modifications also (2) suppress the deprecation warnings (it may also be possible to suppress with "#pragma warning (disable : 4996)", but these values may need to be cleaned up otherwise. I also found, as I was trying to figure out the proper response to this, the pyconfig.h file for Win32, which seemed pretty reasonable for possible shifts in the way that Ruby handles some of the definitions (SIZEOF_LONG_LONG should be set to a meaningful value, but is currently set to '0' under Win32) that may improve the ability to run a 64-bit Ruby on Win64. Unfortunately, my process died with: .\miniruby.exe ./../win32/mkexports.rb -output=msvcr80-ruby18.def msvcr80-ruby18-static.lib This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information. ./../win32/mkexports.rb:6: [BUG] Segmentation fault ruby 1.8.4 (2005-12-24) [i386-mswin32] NMAKE : fatal error U1077: '.\miniruby.exe' : return code '0x3' Stop. I'm trying to compile 1.8.4 and do not know what to do with this. ###### Makefile modification --- Makefile.sub~ 2005-10-25 14:00:02.000000000 -0400 +++ Makefile.sub 2005-12-26 20:56:19.121876800 -0500 @@ -67,7 +67,7 @@ DEBUGFLAGS = -Zi !endif !if !defined(OPTFLAGS) -OPTFLAGS = -O2b2xg- +OPTFLAGS = -O2b2xty- !endif !if !defined(OS) OS = mswin32 @@ -184,6 +184,10 @@ $(CONFIG_H): $(MKFILES) $(srcdir)/win32/Makefile.sub @echo Creating config.h @$(srcdir:/=\)\win32\ifchange.bat config.h << + /* Prevents a VC++ 2005 (cl ver 14) warning */ +#define _CRT_SECURE_NO_DEPRECATE 1 + /* Prevents a VC++ 2005 (cl ver 14) warning */ +#define _CRT_NONSTDC_NO_DEPRECATE 1 #define STDC_HEADERS 1 #define HAVE_SYS_TYPES_H 1 #define HAVE_SYS_STAT_H 1 ###### End Makefile Modification ###### Crash Information Exception Information Code: 0x40000015 Flags: 0x00000000 Record: 0x0000000000000000 Address: 0x0000000000420c26 ###### End Crash Information -austin -- Austin Ziegler * halostatue@gmail.com * Alternate: austin@halostatue.ca