You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@harmony.apache.org by Simon Chow <si...@gmail.com> on 2008/03/06 09:15:29 UTC

[drlvm][build] A build error using MS.Net2005

I want to build a svn latest version on Windows, but this error occurs.
How to deal with it?

build:
     [echo] ## Building 'encoder'
    [mkdir] Created dir:
D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\bui
ld\windows_x86_msvc_debug\semis\encoder\bin
    [mkdir] Created dir:
D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\bui
ld\windows_x86_msvc_debug\semis\encoder\obj

       [cc] 4 total files to be compiled.
       [cc] cl : Command line warning D9035 : option 'GZ' has been
deprecated an
d will be removed in a future release
       [cc] cl : Command line warning D9036 : use 'RTC1' instead of 'GZ'
       [cc] encoder.cpp
       [cc] enc_tabl.cpp
       [cc] enc_base.cpp
       [cc]
D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\vm\port\src\enco
der\ia32_em64t\enc_base.cpp(771) : error C2220: warning treated as error -
no 'o
bject' file generated
       [cc]
D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\vm\port\src\enco
der\ia32_em64t\enc_base.cpp(771) : warning C4996: 'strcmpi' was declared
depreca
ted
       [cc]         C:\Program Files\Microsoft Visual Studio
8\VC\INCLUDE\string
.h(212) : see declaration of 'strcmpi'
       [cc]         Message: 'The POSIX name for this item is deprecated.
Instea
d, use the ISO C++ conformant name: _strcmpi. See online help for details.'
       [cc]
D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\vm\port\src\enco
der\ia32_em64t\enc_base.cpp(823) : warning C4996: 'strcmpi' was declared
depreca
ted
       [cc]         C:\Program Files\Microsoft Visual Studio
8\VC\INCLUDE\string
.h(212) : see declaration of 'strcmpi'
       [cc]         Message: 'The POSIX name for this item is deprecated.
Instea
d, use the ISO C++ conformant name: _strcmpi. See online help for details.'
       [cc]
D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\vm\port\src\enco
der\ia32_em64t\enc_base.cpp(873) : warning C4996: 'strcmpi' was declared
depreca
ted
       [cc]         C:\Program Files\Microsoft Visual Studio
8\VC\INCLUDE\string
.h(212) : see declaration of 'strcmpi'
       [cc]         Message: 'The POSIX name for this item is deprecated.
Instea
d, use the ISO C++ conformant name: _strcmpi. See online help for details.'
       [cc]
D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\vm\port\src\enco
der\ia32_em64t\enc_base.cpp(1073) : warning C4996: 'strcmpi' was declared
deprec
ated
       [cc]         C:\Program Files\Microsoft Visual Studio
8\VC\INCLUDE\string
.h(212) : see declaration of 'strcmpi'
       [cc]         Message: 'The POSIX name for this item is deprecated.
Instea
d, use the ISO C++ conformant name: _strcmpi. See online help for details.'
       [cc] dec_base.cpp
       [cc] Generating Code...

BUILD FAILED
D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\build.xml:121: The
following
 error occurred while executing this line:
D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\make\vm\encoder.xml:32:
The
following error occurred while executing this line:
D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\make\build-native.xml:196:
c
l failed with return code 2

Total time: 16 seconds

-- 
>From : Simon.Chow@Software School of Fudan University

Re: [drlvm][build] A build error using MS.Net2005

Posted by Simon Chow <si...@gmail.com>.
On 13/03/2008, Tim Ellison <t....@gmail.com> wrote:
>
> Simon Chow wrote:
> > After some struggle, I have built harmony successfully using
> VS.net2005compiler.
>
>
> Thanks Simon, and sorry that you had to struggle.  Clearly we need to
> make this easier as a few people have reported trouble.
>
>
> > The following modification should be performed both in the configuration
> > files and source files.
> > 1, in working_classlib
> > depends\build\defines.mak
> > change
> >     36  !ELSE
> >     37  WARNING_LEVEL=WX
> >     38  !ENDIF
> > to
> >     36  !ELSE
> >     37  WARNING_LEVEL=W3
> >     38  !ENDIF
>
>
> Perhaps the warnings are useful and we should be fixing the causes
> rather than ignoring them?  The intention of WX is to make the code
> 'clean'.


Tim,
Yes, I also think this is just a temporary solution.
Ignoring the compiler warning may cause unexpected bugs.

It's a good workaround but I'd prefer to fix the cause or ignore
> specific warnings like you do below.
>
> I'll see if I can find a copy of VS.net 2005 to build with and help fix
> these warnings.


I am very expecting this :=)

Regards,
>
> Tim
>
>
> > 2, in working_vm
> >    (1) make\vm\common-vm.xml
> >         insert
> >         <compilerarg value="/wd4005" if="is.msvc"/>
> >         <compilerarg value="/wd4996" if="is.msvc" />
> >         <compilerarg value="/wd4047" if="is.msvc" />
> >         <compilerarg value="/wd4024" if="is.msvc" />
> >         <compilerarg value="/wd4819" if="is.msvc" />
> >         <compilerarg value="/wd4005" if="is.msvc"/>
> >         after
> >   62  <compilerarg value="/Zi" if="is.windows"/>
> >   63  <compilerarg value="/W3" if="is.windows"/>
> >   64  <compilerarg value="/WX" if="is.windows" unless="is.x86_64"/>
> >
> >    (2) working_vm\vm\include\open\hythread.h, hythread_ext.h
> > modify (take 'include' out of 'extern "C"')
> >     #if defined(__cplusplus)
> >     extern "C" {
> >     #endif
> >     #include <open/types.h>
> >
> >     #include <stddef.h>
> >     #include "hycomp.h"
> >
> >     #ifdef _WIN32
> >     #   if (_MSC_VER >= 1400)
> >     #       include <intrin.h>
> >     #   endif
> >     #endif
> > to
> >     #include <open/types.h>
> >
> >     #include <stddef.h>
> >     #include "hycomp.h"
> >
> >     #ifdef _WIN32
> >     #   if (_MSC_VER >= 1400)
> >     #       include <intrin.h>
> >     #   endif
> >     #endif
> >
> >     #if defined(__cplusplus)
> >     extern "C" {
> >     #endif
> >
> >     For hythread_ext.h, similar operation should be performed.
> >
> >
> >
> >
> > On 06/03/2008, Aleksey Shipilev <al...@gmail.com> wrote:
> >> Hi,
> >>
> >> The problem here is warning that are treated as error, right. You can
> >> probably try to suppress these warnings by listing their codes in
> >> corresponding make/vm/*.xml. This is part of make/vm/jitrino.xml for
> >> ICL compiler warning suppression:
> >>
> >> ---- CUT ----
> >>                 <compilerarg value="/Qvec_report0" if="is.icl"
> >> unless="is.cfg.debug"/>
> >>                 <compilerarg
> >> value="/Qww1,82,111,172,181,279,280,373,424,593,654,858" if="is.icl"/>
> >>                 <compilerarg
> >>
> >>
> value="/Qwd82,193,271,304,373,383,424,444,654,869,981,1125,1418,1419,1572,1683"
> >> if="is.icl"/>
> >>                     <!--
> >>                       # /Qwd[tag,...] Disable the soft diagnostics
> >> that corresponds to tag.
> >>                       # /Qwr[tag,...] Override the severity of the
> >> soft diagnostics corresponding to tag and make it a remark.
> >>                       # /Qww[tag,...] Override the severity of the
> >> soft diagnostics corresponding to tag and make it a warning.
> >>                       # /Qwe[tag,...] Override the severity of the
> >> soft diagnostics corresponding to tag and make it an error.
> >> ---- CUT ----
> >>
> >> You may try to fix problem you describing in this way. Please report
> >> back if it work for you :)
> >>
> >> Thanks,
> >>
> >> Aleksey.
> >>
> >>
> >> On Thu, Mar 6, 2008 at 11:47 AM, liaoyin <us...@gmail.com> wrote:
> >>> I think this website can explain these problem.
> >>>
> >>
> http://www.manticmoo.com/articles/jeff/programming/visual-c++/suppressing-deprecation-warnings.php
> >>>   I suggest that you'd better use the  vc 2003.ok
> >>>
> >>>  Suppressing deprecation warnings when upgrading to Visual Studio 2005
> >> by
> >>>  Jeffrey P. Bigham
> >>>
> >>>  I was recently tasked with migrating a simple, internal application
> >> from
> >>>  VS2003 to VS2005. You would think this would be really simple, and it
> >> really
> >>>  wasn't that hard, but there are a few gotcha's that you have to watch
> >> out
> >>>  for when doing so.
> >>>
> >>>  In its infinite wisdom Microsoft decided that as of Visual Studio
> 2005,
> >>>  basically all of the standard C functions dealing with strings that
> >> rely on
> >>>  an ending NULL character and not a specified length would be
> >> deprecated.
> >>>  This means that strcpy, sprintf and strlen are all deprecated to name
> >> just a
> >>>  few. In some respects this is a good thing because it might help to
> >> convince
> >>>  programmers to use the more secure variations of these standard
> >> functions,
> >>>  but, unfortunately, it also causes applications that used to compile
> >> cleanly
> >>>  to issue thousands of warnings. Futhermore, switching to the more
> >> secure
> >>>  variations of the functions isn't always trivially because to use
> them
> >> you
> >>>  must know the length of the buffers, which might not be easily
> >> accessible in
> >>>  many programs not designed for it. And, not to mention, if you use
> the
> >>>  secure functions you give up all hope of being able to compile your
> C++
> >> code
> >>>  in Unix.
> >>>  Avoidance by Suppression
> >>>
> >>>  There may be a better way of getting rid of these warning, but until
> >> there
> >>>  is I'm just going to suppress them. I want to be as particular as
> >> possible
> >>>  with the warnings that I suppress to make sure that I'm not
> suppressing
> >>>  something useful. Therefore, I picked out the particular warning code
> >>>  associated with these warnings, code 4996, and suppress only warnings
> >> of
> >>>  that type.
> >>>
> >>>  To suppress these warnings simply add the following compiler
> directive:
> >>>
> >>>  /wd4996
> >>>
> >>>  to your commandline options.
> >>>
> >>>  In Visual Studio this can be found in the Properties of your project,
> >> under
> >>>  C/C++, in the Commandline option.
> >>>  List of newly deprecated functions in VS2005 and their secure
> >> alternative *
> >>>  Function**Secure Alternative* access_access, _access_s cabs_cabs
> >> cgets_cgets,
> >>>  _cgets_s chdir_chdir chmod_chmod chsize_chsize, _chsize_s close_close
> >>>  cprintf_cprintf, _cprintf_s cputs_cputs creat_creat cscanf_cscanf,
> >> _cscanf_s
> >>>  cwait_cwait dup_dup dup2_dup2 ecvt_ecvt, _ecvt_s eof_eof execl_execl
> >> execle
> >>>  _execle execlp_execlp execlpe_execlpe execv_execv execve_execve
> execvp
> >>>  _execvp execvpe_execvpe fcloseall_fcloseall fcvt_fcvt, _fcvt_s
> >> fdopen_fdopen
> >>>  fgetchar_fgetchar filelength_filelength fileno_fileno
> flushall_flushall
> >>>  fputchar_fputchar, _fputwchar gcvt_gcvt, _gcvt_s getch_getch
> >> getche_getche
> >>>  getcwd_getcwd, _wgetcwd getpid_getpid getw_getw hypot_hypot inp_inp
> >> inpw
> >>>  _inpw isascii__isascii isatty_isatty iscsym__iscsym iscsymf__iscsymf
> >> itoa_itoa,
> >>>  _itoa_s j0_j0 j1_j1 jn_jn kbhit_kbhit lfind_lfind, _lfind_s
> >> locking_locking
> >>>  lsearch_lsearch, _lsearch_s lseek_lseek ltoa_ltoa, _ltoa_s
> >> memccpy_memccpy
> >>>  memicmp_memicmp mkdir_mkdir mktemp_mktemp, _mktemp_s open_open
> >> outp_outp
> >>>  outpw_outpw putch_putch putenv_putenv, _putenv_s putw_putw read_read
> >> rmdir
> >>>  _rmdir rmtmp_rmtmp setmode_setmode sopen_sopen, _sopen_s
> spawnl_spawnl
> >>>  spawnle_spawnle spawnlp_spawnlp spawnlpe_spawnlpe spawnv_spawnv
> spawnve
> >>>  _spawnve spawnvp_spawnvp spawnvpe_spawnvpe strcmpi_stricmp
> >> strdup_strdup
> >>>  stricmp_stricmp strlwr_strlwr, _strlwr_s strnicmp_strnicmp
> >> strnset_strnset,
> >>>  _strnset_s strrev_strrev strset_strset, _strset_s strupr_strupr,
> >> _strupr_s
> >>>  swab_swab tell_tell tempnam_tempnam toascii__toascii tzset_tzset
> >> ultoa_ultoa,
> >>>  _ultoa_s umask_umask, _umask_s ungetch_ungetch unlink_unlink
> >> wcsdup_wcsdup
> >>>  wcsicmp_wcsicmp wcsicoll_wcsicoll wcslwr_wcslwr, _wcslwr_s
> >> wcsnicmp_wcsnicmp
> >>>  wcsnset_wcsnset, _wcsnset_s wcsrev_wcsrev wcsset_wcsset, _wcsset_s
> >>>  wcsupr_wcsupr,
> >>>  _wcsupr_s write_write y0_y0 y1_y1 yn_yn
> >>>
> >>>  2008/3/6, Simon Chow <si...@gmail.com>:
> >>>
> >>>
> >>>  > I want to build a svn latest version on Windows, but this error
> >> occurs.
> >>>  > How to deal with it?
> >>>  >
> >>>  > build:
> >>>  >      [echo] ## Building 'encoder'
> >>>  >     [mkdir] Created dir:
> >>>  > D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\bui
> >>>  > ld\windows_x86_msvc_debug\semis\encoder\bin
> >>>  >     [mkdir] Created dir:
> >>>  > D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\bui
> >>>  > ld\windows_x86_msvc_debug\semis\encoder\obj
> >>>  >
> >>>  >        [cc] 4 total files to be compiled.
> >>>  >        [cc] cl : Command line warning D9035 : option 'GZ' has been
> >>>  > deprecated an
> >>>  > d will be removed in a future release
> >>>  >        [cc] cl : Command line warning D9036 : use 'RTC1' instead of
> >> 'GZ'
> >>>  >        [cc] encoder.cpp
> >>>  >        [cc] enc_tabl.cpp
> >>>  >        [cc] enc_base.cpp
> >>>  >        [cc]
> >>>  >
> D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\vm\port\src\enco
> >>>  > der\ia32_em64t\enc_base.cpp(771) : error C2220: warning treated as
> >> error -
> >>>  > no 'o
> >>>  > bject' file generated
> >>>  >        [cc]
> >>>  >
> D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\vm\port\src\enco
> >>>  > der\ia32_em64t\enc_base.cpp(771) : warning C4996: 'strcmpi' was
> >> declared
> >>>  > depreca
> >>>  > ted
> >>>  >        [cc]         C:\Program Files\Microsoft Visual Studio
> >>>  > 8\VC\INCLUDE\string
> >>>  > .h(212) : see declaration of 'strcmpi'
> >>>  >        [cc]         Message: 'The POSIX name for this item is
> >> deprecated.
> >>>  > Instea
> >>>  > d, use the ISO C++ conformant name: _strcmpi. See online help for
> >>>  > details.'
> >>>  >        [cc]
> >>>  >
> D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\vm\port\src\enco
> >>>  > der\ia32_em64t\enc_base.cpp(823) : warning C4996: 'strcmpi' was
> >> declared
> >>>  > depreca
> >>>  > ted
> >>>  >        [cc]         C:\Program Files\Microsoft Visual Studio
> >>>  > 8\VC\INCLUDE\string
> >>>  > .h(212) : see declaration of 'strcmpi'
> >>>  >        [cc]         Message: 'The POSIX name for this item is
> >> deprecated.
> >>>  > Instea
> >>>  > d, use the ISO C++ conformant name: _strcmpi. See online help for
> >>>  > details.'
> >>>  >        [cc]
> >>>  >
> D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\vm\port\src\enco
> >>>  > der\ia32_em64t\enc_base.cpp(873) : warning C4996: 'strcmpi' was
> >> declared
> >>>  > depreca
> >>>  > ted
> >>>  >        [cc]         C:\Program Files\Microsoft Visual Studio
> >>>  > 8\VC\INCLUDE\string
> >>>  > .h(212) : see declaration of 'strcmpi'
> >>>  >        [cc]         Message: 'The POSIX name for this item is
> >> deprecated.
> >>>  > Instea
> >>>  > d, use the ISO C++ conformant name: _strcmpi. See online help for
> >>>  > details.'
> >>>  >        [cc]
> >>>  >
> D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\vm\port\src\enco
> >>>  > der\ia32_em64t\enc_base.cpp(1073) : warning C4996: 'strcmpi' was
> >> declared
> >>>  > deprec
> >>>  > ated
> >>>  >        [cc]         C:\Program Files\Microsoft Visual Studio
> >>>  > 8\VC\INCLUDE\string
> >>>  > .h(212) : see declaration of 'strcmpi'
> >>>  >        [cc]         Message: 'The POSIX name for this item is
> >> deprecated.
> >>>  > Instea
> >>>  > d, use the ISO C++ conformant name: _strcmpi. See online help for
> >>>  > details.'
> >>>  >        [cc] dec_base.cpp
> >>>  >        [cc] Generating Code...
> >>>  >
> >>>  > BUILD FAILED
> >>>  > D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\build.xml:121:
> >> The
> >>>  > following
> >>>  >   error occurred while executing this line:
> >>>  >
> >>>  >
> >>
> D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\make\vm\encoder.xml:32:
> >>>  > The
> >>>  > following error occurred while executing this line:
> >>>  > D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\make\build-
> >> native.xml
> >>>  > :196:
> >>>  > c
> >>>  > l failed with return code 2
> >>>  >
> >>>  > Total time: 16 seconds
> >>>  >
> >>>  >
> >>>  > --
> >>>  > From : Simon.Chow@Software School of Fudan University
> >>>  >
> >>>
> >
> >
> >
>



-- 
>From : Simon.Chow@Software School of Fudan University

Re: [drlvm][build] A build error using MS.Net2005

Posted by Tim Ellison <t....@gmail.com>.
Simon Chow wrote:
> After some struggle, I have built harmony successfully using VS.net2005compiler.

Thanks Simon, and sorry that you had to struggle.  Clearly we need to 
make this easier as a few people have reported trouble.

> The following modification should be performed both in the configuration
> files and source files.
> 1, in working_classlib
> depends\build\defines.mak
> change
>     36  !ELSE
>     37  WARNING_LEVEL=WX
>     38  !ENDIF
> to
>     36  !ELSE
>     37  WARNING_LEVEL=W3
>     38  !ENDIF

Perhaps the warnings are useful and we should be fixing the causes 
rather than ignoring them?  The intention of WX is to make the code 'clean'.

It's a good workaround but I'd prefer to fix the cause or ignore 
specific warnings like you do below.

I'll see if I can find a copy of VS.net 2005 to build with and help fix 
these warnings.

Regards,
Tim

> 2, in working_vm
>    (1) make\vm\common-vm.xml
>         insert
>         <compilerarg value="/wd4005" if="is.msvc"/>
>         <compilerarg value="/wd4996" if="is.msvc" />
>         <compilerarg value="/wd4047" if="is.msvc" />
>         <compilerarg value="/wd4024" if="is.msvc" />
>         <compilerarg value="/wd4819" if="is.msvc" />
>         <compilerarg value="/wd4005" if="is.msvc"/>
>         after
>   62  <compilerarg value="/Zi" if="is.windows"/>
>   63  <compilerarg value="/W3" if="is.windows"/>
>   64  <compilerarg value="/WX" if="is.windows" unless="is.x86_64"/>
> 
>    (2) working_vm\vm\include\open\hythread.h, hythread_ext.h
> modify (take 'include' out of 'extern "C"')
>     #if defined(__cplusplus)
>     extern "C" {
>     #endif
>     #include <open/types.h>
> 
>     #include <stddef.h>
>     #include "hycomp.h"
> 
>     #ifdef _WIN32
>     #   if (_MSC_VER >= 1400)
>     #       include <intrin.h>
>     #   endif
>     #endif
> to
>     #include <open/types.h>
> 
>     #include <stddef.h>
>     #include "hycomp.h"
> 
>     #ifdef _WIN32
>     #   if (_MSC_VER >= 1400)
>     #       include <intrin.h>
>     #   endif
>     #endif
> 
>     #if defined(__cplusplus)
>     extern "C" {
>     #endif
> 
>     For hythread_ext.h, similar operation should be performed.
> 
> 
> 
> 
> On 06/03/2008, Aleksey Shipilev <al...@gmail.com> wrote:
>> Hi,
>>
>> The problem here is warning that are treated as error, right. You can
>> probably try to suppress these warnings by listing their codes in
>> corresponding make/vm/*.xml. This is part of make/vm/jitrino.xml for
>> ICL compiler warning suppression:
>>
>> ---- CUT ----
>>                 <compilerarg value="/Qvec_report0" if="is.icl"
>> unless="is.cfg.debug"/>
>>                 <compilerarg
>> value="/Qww1,82,111,172,181,279,280,373,424,593,654,858" if="is.icl"/>
>>                 <compilerarg
>>
>> value="/Qwd82,193,271,304,373,383,424,444,654,869,981,1125,1418,1419,1572,1683"
>> if="is.icl"/>
>>                     <!--
>>                       # /Qwd[tag,...] Disable the soft diagnostics
>> that corresponds to tag.
>>                       # /Qwr[tag,...] Override the severity of the
>> soft diagnostics corresponding to tag and make it a remark.
>>                       # /Qww[tag,...] Override the severity of the
>> soft diagnostics corresponding to tag and make it a warning.
>>                       # /Qwe[tag,...] Override the severity of the
>> soft diagnostics corresponding to tag and make it an error.
>> ---- CUT ----
>>
>> You may try to fix problem you describing in this way. Please report
>> back if it work for you :)
>>
>> Thanks,
>>
>> Aleksey.
>>
>>
>> On Thu, Mar 6, 2008 at 11:47 AM, liaoyin <us...@gmail.com> wrote:
>>> I think this website can explain these problem.
>>>
>> http://www.manticmoo.com/articles/jeff/programming/visual-c++/suppressing-deprecation-warnings.php
>>>   I suggest that you'd better use the  vc 2003.ok
>>>
>>>  Suppressing deprecation warnings when upgrading to Visual Studio 2005
>> by
>>>  Jeffrey P. Bigham
>>>
>>>  I was recently tasked with migrating a simple, internal application
>> from
>>>  VS2003 to VS2005. You would think this would be really simple, and it
>> really
>>>  wasn't that hard, but there are a few gotcha's that you have to watch
>> out
>>>  for when doing so.
>>>
>>>  In its infinite wisdom Microsoft decided that as of Visual Studio 2005,
>>>  basically all of the standard C functions dealing with strings that
>> rely on
>>>  an ending NULL character and not a specified length would be
>> deprecated.
>>>  This means that strcpy, sprintf and strlen are all deprecated to name
>> just a
>>>  few. In some respects this is a good thing because it might help to
>> convince
>>>  programmers to use the more secure variations of these standard
>> functions,
>>>  but, unfortunately, it also causes applications that used to compile
>> cleanly
>>>  to issue thousands of warnings. Futhermore, switching to the more
>> secure
>>>  variations of the functions isn't always trivially because to use them
>> you
>>>  must know the length of the buffers, which might not be easily
>> accessible in
>>>  many programs not designed for it. And, not to mention, if you use the
>>>  secure functions you give up all hope of being able to compile your C++
>> code
>>>  in Unix.
>>>  Avoidance by Suppression
>>>
>>>  There may be a better way of getting rid of these warning, but until
>> there
>>>  is I'm just going to suppress them. I want to be as particular as
>> possible
>>>  with the warnings that I suppress to make sure that I'm not suppressing
>>>  something useful. Therefore, I picked out the particular warning code
>>>  associated with these warnings, code 4996, and suppress only warnings
>> of
>>>  that type.
>>>
>>>  To suppress these warnings simply add the following compiler directive:
>>>
>>>  /wd4996
>>>
>>>  to your commandline options.
>>>
>>>  In Visual Studio this can be found in the Properties of your project,
>> under
>>>  C/C++, in the Commandline option.
>>>  List of newly deprecated functions in VS2005 and their secure
>> alternative *
>>>  Function**Secure Alternative* access_access, _access_s cabs_cabs
>> cgets_cgets,
>>>  _cgets_s chdir_chdir chmod_chmod chsize_chsize, _chsize_s close_close
>>>  cprintf_cprintf, _cprintf_s cputs_cputs creat_creat cscanf_cscanf,
>> _cscanf_s
>>>  cwait_cwait dup_dup dup2_dup2 ecvt_ecvt, _ecvt_s eof_eof execl_execl
>> execle
>>>  _execle execlp_execlp execlpe_execlpe execv_execv execve_execve execvp
>>>  _execvp execvpe_execvpe fcloseall_fcloseall fcvt_fcvt, _fcvt_s
>> fdopen_fdopen
>>>  fgetchar_fgetchar filelength_filelength fileno_fileno flushall_flushall
>>>  fputchar_fputchar, _fputwchar gcvt_gcvt, _gcvt_s getch_getch
>> getche_getche
>>>  getcwd_getcwd, _wgetcwd getpid_getpid getw_getw hypot_hypot inp_inp
>> inpw
>>>  _inpw isascii__isascii isatty_isatty iscsym__iscsym iscsymf__iscsymf
>> itoa_itoa,
>>>  _itoa_s j0_j0 j1_j1 jn_jn kbhit_kbhit lfind_lfind, _lfind_s
>> locking_locking
>>>  lsearch_lsearch, _lsearch_s lseek_lseek ltoa_ltoa, _ltoa_s
>> memccpy_memccpy
>>>  memicmp_memicmp mkdir_mkdir mktemp_mktemp, _mktemp_s open_open
>> outp_outp
>>>  outpw_outpw putch_putch putenv_putenv, _putenv_s putw_putw read_read
>> rmdir
>>>  _rmdir rmtmp_rmtmp setmode_setmode sopen_sopen, _sopen_s spawnl_spawnl
>>>  spawnle_spawnle spawnlp_spawnlp spawnlpe_spawnlpe spawnv_spawnv spawnve
>>>  _spawnve spawnvp_spawnvp spawnvpe_spawnvpe strcmpi_stricmp
>> strdup_strdup
>>>  stricmp_stricmp strlwr_strlwr, _strlwr_s strnicmp_strnicmp
>> strnset_strnset,
>>>  _strnset_s strrev_strrev strset_strset, _strset_s strupr_strupr,
>> _strupr_s
>>>  swab_swab tell_tell tempnam_tempnam toascii__toascii tzset_tzset
>> ultoa_ultoa,
>>>  _ultoa_s umask_umask, _umask_s ungetch_ungetch unlink_unlink
>> wcsdup_wcsdup
>>>  wcsicmp_wcsicmp wcsicoll_wcsicoll wcslwr_wcslwr, _wcslwr_s
>> wcsnicmp_wcsnicmp
>>>  wcsnset_wcsnset, _wcsnset_s wcsrev_wcsrev wcsset_wcsset, _wcsset_s
>>>  wcsupr_wcsupr,
>>>  _wcsupr_s write_write y0_y0 y1_y1 yn_yn
>>>
>>>  2008/3/6, Simon Chow <si...@gmail.com>:
>>>
>>>
>>>  > I want to build a svn latest version on Windows, but this error
>> occurs.
>>>  > How to deal with it?
>>>  >
>>>  > build:
>>>  >      [echo] ## Building 'encoder'
>>>  >     [mkdir] Created dir:
>>>  > D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\bui
>>>  > ld\windows_x86_msvc_debug\semis\encoder\bin
>>>  >     [mkdir] Created dir:
>>>  > D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\bui
>>>  > ld\windows_x86_msvc_debug\semis\encoder\obj
>>>  >
>>>  >        [cc] 4 total files to be compiled.
>>>  >        [cc] cl : Command line warning D9035 : option 'GZ' has been
>>>  > deprecated an
>>>  > d will be removed in a future release
>>>  >        [cc] cl : Command line warning D9036 : use 'RTC1' instead of
>> 'GZ'
>>>  >        [cc] encoder.cpp
>>>  >        [cc] enc_tabl.cpp
>>>  >        [cc] enc_base.cpp
>>>  >        [cc]
>>>  > D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\vm\port\src\enco
>>>  > der\ia32_em64t\enc_base.cpp(771) : error C2220: warning treated as
>> error -
>>>  > no 'o
>>>  > bject' file generated
>>>  >        [cc]
>>>  > D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\vm\port\src\enco
>>>  > der\ia32_em64t\enc_base.cpp(771) : warning C4996: 'strcmpi' was
>> declared
>>>  > depreca
>>>  > ted
>>>  >        [cc]         C:\Program Files\Microsoft Visual Studio
>>>  > 8\VC\INCLUDE\string
>>>  > .h(212) : see declaration of 'strcmpi'
>>>  >        [cc]         Message: 'The POSIX name for this item is
>> deprecated.
>>>  > Instea
>>>  > d, use the ISO C++ conformant name: _strcmpi. See online help for
>>>  > details.'
>>>  >        [cc]
>>>  > D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\vm\port\src\enco
>>>  > der\ia32_em64t\enc_base.cpp(823) : warning C4996: 'strcmpi' was
>> declared
>>>  > depreca
>>>  > ted
>>>  >        [cc]         C:\Program Files\Microsoft Visual Studio
>>>  > 8\VC\INCLUDE\string
>>>  > .h(212) : see declaration of 'strcmpi'
>>>  >        [cc]         Message: 'The POSIX name for this item is
>> deprecated.
>>>  > Instea
>>>  > d, use the ISO C++ conformant name: _strcmpi. See online help for
>>>  > details.'
>>>  >        [cc]
>>>  > D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\vm\port\src\enco
>>>  > der\ia32_em64t\enc_base.cpp(873) : warning C4996: 'strcmpi' was
>> declared
>>>  > depreca
>>>  > ted
>>>  >        [cc]         C:\Program Files\Microsoft Visual Studio
>>>  > 8\VC\INCLUDE\string
>>>  > .h(212) : see declaration of 'strcmpi'
>>>  >        [cc]         Message: 'The POSIX name for this item is
>> deprecated.
>>>  > Instea
>>>  > d, use the ISO C++ conformant name: _strcmpi. See online help for
>>>  > details.'
>>>  >        [cc]
>>>  > D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\vm\port\src\enco
>>>  > der\ia32_em64t\enc_base.cpp(1073) : warning C4996: 'strcmpi' was
>> declared
>>>  > deprec
>>>  > ated
>>>  >        [cc]         C:\Program Files\Microsoft Visual Studio
>>>  > 8\VC\INCLUDE\string
>>>  > .h(212) : see declaration of 'strcmpi'
>>>  >        [cc]         Message: 'The POSIX name for this item is
>> deprecated.
>>>  > Instea
>>>  > d, use the ISO C++ conformant name: _strcmpi. See online help for
>>>  > details.'
>>>  >        [cc] dec_base.cpp
>>>  >        [cc] Generating Code...
>>>  >
>>>  > BUILD FAILED
>>>  > D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\build.xml:121:
>> The
>>>  > following
>>>  >   error occurred while executing this line:
>>>  >
>>>  >
>> D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\make\vm\encoder.xml:32:
>>>  > The
>>>  > following error occurred while executing this line:
>>>  > D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\make\build-
>> native.xml
>>>  > :196:
>>>  > c
>>>  > l failed with return code 2
>>>  >
>>>  > Total time: 16 seconds
>>>  >
>>>  >
>>>  > --
>>>  > From : Simon.Chow@Software School of Fudan University
>>>  >
>>>
> 
> 
> 

Re: [drlvm][build] A build error using MS.Net2005

Posted by Simon Chow <si...@gmail.com>.
I will commit one

On 11/03/2008, Aleksey Shipilev <al...@gmail.com> wrote:
>
> Any JIRA issue?
>
>
> On Tue, Mar 11, 2008 at 5:33 AM, Simon Chow <si...@gmail.com>
> wrote:
> > After some struggle, I have built harmony successfully using
> VS.net2005compiler.
> >  The following modification should be performed both in the
> configuration
> >  files and source files.
> >  1, in working_classlib
> >  depends\build\defines.mak
> >  change
> >     36  !ELSE
> >     37  WARNING_LEVEL=WX
> >     38  !ENDIF
> >  to
> >     36  !ELSE
> >     37  WARNING_LEVEL=W3
> >     38  !ENDIF
> >
> >  2, in working_vm
> >    (1) make\vm\common-vm.xml
> >         insert
> >         <compilerarg value="/wd4005" if="is.msvc"/>
> >         <compilerarg value="/wd4996" if="is.msvc" />
> >         <compilerarg value="/wd4047" if="is.msvc" />
> >         <compilerarg value="/wd4024" if="is.msvc" />
> >         <compilerarg value="/wd4819" if="is.msvc" />
> >         <compilerarg value="/wd4005" if="is.msvc"/>
> >         after
> >   62  <compilerarg value="/Zi" if="is.windows"/>
> >   63  <compilerarg value="/W3" if="is.windows"/>
> >   64  <compilerarg value="/WX" if="is.windows" unless="is.x86_64"/>
> >
> >    (2) working_vm\vm\include\open\hythread.h, hythread_ext.h
> >  modify (take 'include' out of 'extern "C"')
> >     #if defined(__cplusplus)
> >     extern "C" {
> >     #endif
> >     #include <open/types.h>
> >
> >     #include <stddef.h>
> >     #include "hycomp.h"
> >
> >     #ifdef _WIN32
> >     #   if (_MSC_VER >= 1400)
> >     #       include <intrin.h>
> >     #   endif
> >     #endif
> >  to
> >     #include <open/types.h>
> >
> >     #include <stddef.h>
> >     #include "hycomp.h"
> >
> >     #ifdef _WIN32
> >     #   if (_MSC_VER >= 1400)
> >     #       include <intrin.h>
> >     #   endif
> >     #endif
> >
> >     #if defined(__cplusplus)
> >     extern "C" {
> >     #endif
> >
> >     For hythread_ext.h, similar operation should be performed.
> >
> >
> >
> >
> >
> >  On 06/03/2008, Aleksey Shipilev <al...@gmail.com> wrote:
> >  >
> >
> >
> > > Hi,
> >  >
> >  > The problem here is warning that are treated as error, right. You can
> >  > probably try to suppress these warnings by listing their codes in
> >  > corresponding make/vm/*.xml. This is part of make/vm/jitrino.xml for
> >  > ICL compiler warning suppression:
> >  >
> >  > ---- CUT ----
> >  >                 <compilerarg value="/Qvec_report0" if="is.icl"
> >  > unless="is.cfg.debug"/>
> >  >                 <compilerarg
> >  > value="/Qww1,82,111,172,181,279,280,373,424,593,654,858" if="is.icl
> "/>
> >  >                 <compilerarg
> >  >
> >  >
> value="/Qwd82,193,271,304,373,383,424,444,654,869,981,1125,1418,1419,1572,1683"
> >  > if="is.icl"/>
> >  >                     <!--
> >  >                       # /Qwd[tag,...] Disable the soft diagnostics
> >  > that corresponds to tag.
> >  >                       # /Qwr[tag,...] Override the severity of the
> >  > soft diagnostics corresponding to tag and make it a remark.
> >  >                       # /Qww[tag,...] Override the severity of the
> >  > soft diagnostics corresponding to tag and make it a warning.
> >  >                       # /Qwe[tag,...] Override the severity of the
> >  > soft diagnostics corresponding to tag and make it an error.
> >  > ---- CUT ----
> >  >
> >  > You may try to fix problem you describing in this way. Please report
> >  > back if it work for you :)
> >  >
> >  > Thanks,
> >  >
> >  > Aleksey.
> >  >
> >  >
> >  > On Thu, Mar 6, 2008 at 11:47 AM, liaoyin <us...@gmail.com> wrote:
> >  > > I think this website can explain these problem.
> >  > >
> >  >
> http://www.manticmoo.com/articles/jeff/programming/visual-c++/suppressing-deprecation-warnings.php
> >  > >
> >  > >   I suggest that you'd better use the  vc 2003.ok
> >  > >
> >  > >  Suppressing deprecation warnings when upgrading to Visual Studio
> 2005
> >  > by
> >  > >  Jeffrey P. Bigham
> >  > >
> >  > >  I was recently tasked with migrating a simple, internal
> application
> >  > from
> >  > >  VS2003 to VS2005. You would think this would be really simple, and
> it
> >  > really
> >  > >  wasn't that hard, but there are a few gotcha's that you have to
> watch
> >  > out
> >  > >  for when doing so.
> >  > >
> >  > >  In its infinite wisdom Microsoft decided that as of Visual Studio
> 2005,
> >  > >  basically all of the standard C functions dealing with strings
> that
> >  > rely on
> >  > >  an ending NULL character and not a specified length would be
> >  > deprecated.
> >  > >  This means that strcpy, sprintf and strlen are all deprecated to
> name
> >  > just a
> >  > >  few. In some respects this is a good thing because it might help
> to
> >  > convince
> >  > >  programmers to use the more secure variations of these standard
> >  > functions,
> >  > >  but, unfortunately, it also causes applications that used to
> compile
> >  > cleanly
> >  > >  to issue thousands of warnings. Futhermore, switching to the more
> >  > secure
> >  > >  variations of the functions isn't always trivially because to use
> them
> >  > you
> >  > >  must know the length of the buffers, which might not be easily
> >  > accessible in
> >  > >  many programs not designed for it. And, not to mention, if you use
> the
> >  > >  secure functions you give up all hope of being able to compile
> your C++
> >  > code
> >  > >  in Unix.
> >  > >  Avoidance by Suppression
> >  > >
> >  > >  There may be a better way of getting rid of these warning, but
> until
> >  > there
> >  > >  is I'm just going to suppress them. I want to be as particular as
> >  > possible
> >  > >  with the warnings that I suppress to make sure that I'm not
> suppressing
> >  > >  something useful. Therefore, I picked out the particular warning
> code
> >  > >  associated with these warnings, code 4996, and suppress only
> warnings
> >  > of
> >  > >  that type.
> >  > >
> >  > >  To suppress these warnings simply add the following compiler
> directive:
> >  > >
> >  > >  /wd4996
> >  > >
> >  > >  to your commandline options.
> >  > >
> >  > >  In Visual Studio this can be found in the Properties of your
> project,
> >  > under
> >  > >  C/C++, in the Commandline option.
> >  > >  List of newly deprecated functions in VS2005 and their secure
> >  > alternative *
> >  > >  Function**Secure Alternative* access_access, _access_s cabs_cabs
> >  > cgets_cgets,
> >  > >  _cgets_s chdir_chdir chmod_chmod chsize_chsize, _chsize_s
> close_close
> >  > >  cprintf_cprintf, _cprintf_s cputs_cputs creat_creat cscanf_cscanf,
> >  > _cscanf_s
> >  > >  cwait_cwait dup_dup dup2_dup2 ecvt_ecvt, _ecvt_s eof_eof
> execl_execl
> >  > execle
> >  > >  _execle execlp_execlp execlpe_execlpe execv_execv execve_execve
> execvp
> >  > >  _execvp execvpe_execvpe fcloseall_fcloseall fcvt_fcvt, _fcvt_s
> >  > fdopen_fdopen
> >  > >  fgetchar_fgetchar filelength_filelength fileno_fileno
> flushall_flushall
> >  > >  fputchar_fputchar, _fputwchar gcvt_gcvt, _gcvt_s getch_getch
> >  > getche_getche
> >  > >  getcwd_getcwd, _wgetcwd getpid_getpid getw_getw hypot_hypot
> inp_inp
> >  > inpw
> >  > >  _inpw isascii__isascii isatty_isatty iscsym__iscsym
> iscsymf__iscsymf
> >  > itoa_itoa,
> >  > >  _itoa_s j0_j0 j1_j1 jn_jn kbhit_kbhit lfind_lfind, _lfind_s
> >  > locking_locking
> >  > >  lsearch_lsearch, _lsearch_s lseek_lseek ltoa_ltoa, _ltoa_s
> >  > memccpy_memccpy
> >  > >  memicmp_memicmp mkdir_mkdir mktemp_mktemp, _mktemp_s open_open
> >  > outp_outp
> >  > >  outpw_outpw putch_putch putenv_putenv, _putenv_s putw_putw
> read_read
> >  > rmdir
> >  > >  _rmdir rmtmp_rmtmp setmode_setmode sopen_sopen, _sopen_s
> spawnl_spawnl
> >  > >  spawnle_spawnle spawnlp_spawnlp spawnlpe_spawnlpe spawnv_spawnv
> spawnve
> >  > >  _spawnve spawnvp_spawnvp spawnvpe_spawnvpe strcmpi_stricmp
> >  > strdup_strdup
> >  > >  stricmp_stricmp strlwr_strlwr, _strlwr_s strnicmp_strnicmp
> >  > strnset_strnset,
> >  > >  _strnset_s strrev_strrev strset_strset, _strset_s strupr_strupr,
> >  > _strupr_s
> >  > >  swab_swab tell_tell tempnam_tempnam toascii__toascii tzset_tzset
> >  > ultoa_ultoa,
> >  > >  _ultoa_s umask_umask, _umask_s ungetch_ungetch unlink_unlink
> >  > wcsdup_wcsdup
> >  > >  wcsicmp_wcsicmp wcsicoll_wcsicoll wcslwr_wcslwr, _wcslwr_s
> >  > wcsnicmp_wcsnicmp
> >  > >  wcsnset_wcsnset, _wcsnset_s wcsrev_wcsrev wcsset_wcsset, _wcsset_s
> >  > >  wcsupr_wcsupr,
> >  > >  _wcsupr_s write_write y0_y0 y1_y1 yn_yn
> >  > >
> >  > >  2008/3/6, Simon Chow <si...@gmail.com>:
> >  > >
> >  > >
> >  > > >
> >  > >  > I want to build a svn latest version on Windows, but this error
> >  > occurs.
> >  > >  > How to deal with it?
> >  > >  >
> >  > >  > build:
> >  > >  >      [echo] ## Building 'encoder'
> >  > >  >     [mkdir] Created dir:
> >  > >  > D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\bui
> >  > >  > ld\windows_x86_msvc_debug\semis\encoder\bin
> >  > >  >     [mkdir] Created dir:
> >  > >  > D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\bui
> >  > >  > ld\windows_x86_msvc_debug\semis\encoder\obj
> >  > >  >
> >  > >  >        [cc] 4 total files to be compiled.
> >  > >  >        [cc] cl : Command line warning D9035 : option 'GZ' has
> been
> >  > >  > deprecated an
> >  > >  > d will be removed in a future release
> >  > >  >        [cc] cl : Command line warning D9036 : use 'RTC1' instead
> of
> >  > 'GZ'
> >  > >  >        [cc] encoder.cpp
> >  > >  >        [cc] enc_tabl.cpp
> >  > >  >        [cc] enc_base.cpp
> >  > >  >        [cc]
> >  > >  >
> D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\vm\port\src\enco
> >  > >  > der\ia32_em64t\enc_base.cpp(771) : error C2220: warning treated
> as
> >  > error -
> >  > >  > no 'o
> >  > >  > bject' file generated
> >  > >  >        [cc]
> >  > >  >
> D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\vm\port\src\enco
> >  > >  > der\ia32_em64t\enc_base.cpp(771) : warning C4996: 'strcmpi' was
> >  > declared
> >  > >  > depreca
> >  > >  > ted
> >  > >  >        [cc]         C:\Program Files\Microsoft Visual Studio
> >  > >  > 8\VC\INCLUDE\string
> >  > >  > .h(212) : see declaration of 'strcmpi'
> >  > >  >        [cc]         Message: 'The POSIX name for this item is
> >  > deprecated.
> >  > >  > Instea
> >  > >  > d, use the ISO C++ conformant name: _strcmpi. See online help
> for
> >  > >  > details.'
> >  > >  >        [cc]
> >  > >  >
> D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\vm\port\src\enco
> >  > >  > der\ia32_em64t\enc_base.cpp(823) : warning C4996: 'strcmpi' was
> >  > declared
> >  > >  > depreca
> >  > >  > ted
> >  > >  >        [cc]         C:\Program Files\Microsoft Visual Studio
> >  > >  > 8\VC\INCLUDE\string
> >  > >  > .h(212) : see declaration of 'strcmpi'
> >  > >  >        [cc]         Message: 'The POSIX name for this item is
> >  > deprecated.
> >  > >  > Instea
> >  > >  > d, use the ISO C++ conformant name: _strcmpi. See online help
> for
> >  > >  > details.'
> >  > >  >        [cc]
> >  > >  >
> D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\vm\port\src\enco
> >  > >  > der\ia32_em64t\enc_base.cpp(873) : warning C4996: 'strcmpi' was
> >  > declared
> >  > >  > depreca
> >  > >  > ted
> >  > >  >        [cc]         C:\Program Files\Microsoft Visual Studio
> >  > >  > 8\VC\INCLUDE\string
> >  > >  > .h(212) : see declaration of 'strcmpi'
> >  > >  >        [cc]         Message: 'The POSIX name for this item is
> >  > deprecated.
> >  > >  > Instea
> >  > >  > d, use the ISO C++ conformant name: _strcmpi. See online help
> for
> >  > >  > details.'
> >  > >  >        [cc]
> >  > >  >
> D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\vm\port\src\enco
> >  > >  > der\ia32_em64t\enc_base.cpp(1073) : warning C4996: 'strcmpi' was
> >  > declared
> >  > >  > deprec
> >  > >  > ated
> >  > >  >        [cc]         C:\Program Files\Microsoft Visual Studio
> >  > >  > 8\VC\INCLUDE\string
> >  > >  > .h(212) : see declaration of 'strcmpi'
> >  > >  >        [cc]         Message: 'The POSIX name for this item is
> >  > deprecated.
> >  > >  > Instea
> >  > >  > d, use the ISO C++ conformant name: _strcmpi. See online help
> for
> >  > >  > details.'
> >  > >  >        [cc] dec_base.cpp
> >  > >  >        [cc] Generating Code...
> >  > >  >
> >  > >  > BUILD FAILED
> >  > >  >
> D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\build.xml:121:
> >  > The
> >  > >  > following
> >  > >  >   error occurred while executing this line:
> >  > >  >
> >  > >  >
> >  >
> D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\make\vm\encoder.xml:32:
> >  > >  > The
> >  > >  > following error occurred while executing this line:
> >  > >  > D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\make\build-
> >  > native.xml
> >  > >  > :196:
> >  > >  > c
> >  > >  > l failed with return code 2
> >  > >  >
> >  > >  > Total time: 16 seconds
> >  > >  >
> >  > >  >
> >  > >  > --
> >  > >  > From : Simon.Chow@Software School of Fudan University
> >  > >  >
> >  > >
> >  >
> >
> >
> >
> >  --
> >
> >
> > From : Simon.Chow@Software School of Fudan University
> >
>



-- 
>From : Simon.Chow@Software School of Fudan University

Re: [drlvm][build] A build error using MS.Net2005

Posted by Aleksey Shipilev <al...@gmail.com>.
Any JIRA issue?

On Tue, Mar 11, 2008 at 5:33 AM, Simon Chow <si...@gmail.com> wrote:
> After some struggle, I have built harmony successfully using VS.net2005compiler.
>  The following modification should be performed both in the configuration
>  files and source files.
>  1, in working_classlib
>  depends\build\defines.mak
>  change
>     36  !ELSE
>     37  WARNING_LEVEL=WX
>     38  !ENDIF
>  to
>     36  !ELSE
>     37  WARNING_LEVEL=W3
>     38  !ENDIF
>
>  2, in working_vm
>    (1) make\vm\common-vm.xml
>         insert
>         <compilerarg value="/wd4005" if="is.msvc"/>
>         <compilerarg value="/wd4996" if="is.msvc" />
>         <compilerarg value="/wd4047" if="is.msvc" />
>         <compilerarg value="/wd4024" if="is.msvc" />
>         <compilerarg value="/wd4819" if="is.msvc" />
>         <compilerarg value="/wd4005" if="is.msvc"/>
>         after
>   62  <compilerarg value="/Zi" if="is.windows"/>
>   63  <compilerarg value="/W3" if="is.windows"/>
>   64  <compilerarg value="/WX" if="is.windows" unless="is.x86_64"/>
>
>    (2) working_vm\vm\include\open\hythread.h, hythread_ext.h
>  modify (take 'include' out of 'extern "C"')
>     #if defined(__cplusplus)
>     extern "C" {
>     #endif
>     #include <open/types.h>
>
>     #include <stddef.h>
>     #include "hycomp.h"
>
>     #ifdef _WIN32
>     #   if (_MSC_VER >= 1400)
>     #       include <intrin.h>
>     #   endif
>     #endif
>  to
>     #include <open/types.h>
>
>     #include <stddef.h>
>     #include "hycomp.h"
>
>     #ifdef _WIN32
>     #   if (_MSC_VER >= 1400)
>     #       include <intrin.h>
>     #   endif
>     #endif
>
>     #if defined(__cplusplus)
>     extern "C" {
>     #endif
>
>     For hythread_ext.h, similar operation should be performed.
>
>
>
>
>
>  On 06/03/2008, Aleksey Shipilev <al...@gmail.com> wrote:
>  >
>
>
> > Hi,
>  >
>  > The problem here is warning that are treated as error, right. You can
>  > probably try to suppress these warnings by listing their codes in
>  > corresponding make/vm/*.xml. This is part of make/vm/jitrino.xml for
>  > ICL compiler warning suppression:
>  >
>  > ---- CUT ----
>  >                 <compilerarg value="/Qvec_report0" if="is.icl"
>  > unless="is.cfg.debug"/>
>  >                 <compilerarg
>  > value="/Qww1,82,111,172,181,279,280,373,424,593,654,858" if="is.icl"/>
>  >                 <compilerarg
>  >
>  > value="/Qwd82,193,271,304,373,383,424,444,654,869,981,1125,1418,1419,1572,1683"
>  > if="is.icl"/>
>  >                     <!--
>  >                       # /Qwd[tag,...] Disable the soft diagnostics
>  > that corresponds to tag.
>  >                       # /Qwr[tag,...] Override the severity of the
>  > soft diagnostics corresponding to tag and make it a remark.
>  >                       # /Qww[tag,...] Override the severity of the
>  > soft diagnostics corresponding to tag and make it a warning.
>  >                       # /Qwe[tag,...] Override the severity of the
>  > soft diagnostics corresponding to tag and make it an error.
>  > ---- CUT ----
>  >
>  > You may try to fix problem you describing in this way. Please report
>  > back if it work for you :)
>  >
>  > Thanks,
>  >
>  > Aleksey.
>  >
>  >
>  > On Thu, Mar 6, 2008 at 11:47 AM, liaoyin <us...@gmail.com> wrote:
>  > > I think this website can explain these problem.
>  > >
>  > http://www.manticmoo.com/articles/jeff/programming/visual-c++/suppressing-deprecation-warnings.php
>  > >
>  > >   I suggest that you'd better use the  vc 2003.ok
>  > >
>  > >  Suppressing deprecation warnings when upgrading to Visual Studio 2005
>  > by
>  > >  Jeffrey P. Bigham
>  > >
>  > >  I was recently tasked with migrating a simple, internal application
>  > from
>  > >  VS2003 to VS2005. You would think this would be really simple, and it
>  > really
>  > >  wasn't that hard, but there are a few gotcha's that you have to watch
>  > out
>  > >  for when doing so.
>  > >
>  > >  In its infinite wisdom Microsoft decided that as of Visual Studio 2005,
>  > >  basically all of the standard C functions dealing with strings that
>  > rely on
>  > >  an ending NULL character and not a specified length would be
>  > deprecated.
>  > >  This means that strcpy, sprintf and strlen are all deprecated to name
>  > just a
>  > >  few. In some respects this is a good thing because it might help to
>  > convince
>  > >  programmers to use the more secure variations of these standard
>  > functions,
>  > >  but, unfortunately, it also causes applications that used to compile
>  > cleanly
>  > >  to issue thousands of warnings. Futhermore, switching to the more
>  > secure
>  > >  variations of the functions isn't always trivially because to use them
>  > you
>  > >  must know the length of the buffers, which might not be easily
>  > accessible in
>  > >  many programs not designed for it. And, not to mention, if you use the
>  > >  secure functions you give up all hope of being able to compile your C++
>  > code
>  > >  in Unix.
>  > >  Avoidance by Suppression
>  > >
>  > >  There may be a better way of getting rid of these warning, but until
>  > there
>  > >  is I'm just going to suppress them. I want to be as particular as
>  > possible
>  > >  with the warnings that I suppress to make sure that I'm not suppressing
>  > >  something useful. Therefore, I picked out the particular warning code
>  > >  associated with these warnings, code 4996, and suppress only warnings
>  > of
>  > >  that type.
>  > >
>  > >  To suppress these warnings simply add the following compiler directive:
>  > >
>  > >  /wd4996
>  > >
>  > >  to your commandline options.
>  > >
>  > >  In Visual Studio this can be found in the Properties of your project,
>  > under
>  > >  C/C++, in the Commandline option.
>  > >  List of newly deprecated functions in VS2005 and their secure
>  > alternative *
>  > >  Function**Secure Alternative* access_access, _access_s cabs_cabs
>  > cgets_cgets,
>  > >  _cgets_s chdir_chdir chmod_chmod chsize_chsize, _chsize_s close_close
>  > >  cprintf_cprintf, _cprintf_s cputs_cputs creat_creat cscanf_cscanf,
>  > _cscanf_s
>  > >  cwait_cwait dup_dup dup2_dup2 ecvt_ecvt, _ecvt_s eof_eof execl_execl
>  > execle
>  > >  _execle execlp_execlp execlpe_execlpe execv_execv execve_execve execvp
>  > >  _execvp execvpe_execvpe fcloseall_fcloseall fcvt_fcvt, _fcvt_s
>  > fdopen_fdopen
>  > >  fgetchar_fgetchar filelength_filelength fileno_fileno flushall_flushall
>  > >  fputchar_fputchar, _fputwchar gcvt_gcvt, _gcvt_s getch_getch
>  > getche_getche
>  > >  getcwd_getcwd, _wgetcwd getpid_getpid getw_getw hypot_hypot inp_inp
>  > inpw
>  > >  _inpw isascii__isascii isatty_isatty iscsym__iscsym iscsymf__iscsymf
>  > itoa_itoa,
>  > >  _itoa_s j0_j0 j1_j1 jn_jn kbhit_kbhit lfind_lfind, _lfind_s
>  > locking_locking
>  > >  lsearch_lsearch, _lsearch_s lseek_lseek ltoa_ltoa, _ltoa_s
>  > memccpy_memccpy
>  > >  memicmp_memicmp mkdir_mkdir mktemp_mktemp, _mktemp_s open_open
>  > outp_outp
>  > >  outpw_outpw putch_putch putenv_putenv, _putenv_s putw_putw read_read
>  > rmdir
>  > >  _rmdir rmtmp_rmtmp setmode_setmode sopen_sopen, _sopen_s spawnl_spawnl
>  > >  spawnle_spawnle spawnlp_spawnlp spawnlpe_spawnlpe spawnv_spawnv spawnve
>  > >  _spawnve spawnvp_spawnvp spawnvpe_spawnvpe strcmpi_stricmp
>  > strdup_strdup
>  > >  stricmp_stricmp strlwr_strlwr, _strlwr_s strnicmp_strnicmp
>  > strnset_strnset,
>  > >  _strnset_s strrev_strrev strset_strset, _strset_s strupr_strupr,
>  > _strupr_s
>  > >  swab_swab tell_tell tempnam_tempnam toascii__toascii tzset_tzset
>  > ultoa_ultoa,
>  > >  _ultoa_s umask_umask, _umask_s ungetch_ungetch unlink_unlink
>  > wcsdup_wcsdup
>  > >  wcsicmp_wcsicmp wcsicoll_wcsicoll wcslwr_wcslwr, _wcslwr_s
>  > wcsnicmp_wcsnicmp
>  > >  wcsnset_wcsnset, _wcsnset_s wcsrev_wcsrev wcsset_wcsset, _wcsset_s
>  > >  wcsupr_wcsupr,
>  > >  _wcsupr_s write_write y0_y0 y1_y1 yn_yn
>  > >
>  > >  2008/3/6, Simon Chow <si...@gmail.com>:
>  > >
>  > >
>  > > >
>  > >  > I want to build a svn latest version on Windows, but this error
>  > occurs.
>  > >  > How to deal with it?
>  > >  >
>  > >  > build:
>  > >  >      [echo] ## Building 'encoder'
>  > >  >     [mkdir] Created dir:
>  > >  > D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\bui
>  > >  > ld\windows_x86_msvc_debug\semis\encoder\bin
>  > >  >     [mkdir] Created dir:
>  > >  > D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\bui
>  > >  > ld\windows_x86_msvc_debug\semis\encoder\obj
>  > >  >
>  > >  >        [cc] 4 total files to be compiled.
>  > >  >        [cc] cl : Command line warning D9035 : option 'GZ' has been
>  > >  > deprecated an
>  > >  > d will be removed in a future release
>  > >  >        [cc] cl : Command line warning D9036 : use 'RTC1' instead of
>  > 'GZ'
>  > >  >        [cc] encoder.cpp
>  > >  >        [cc] enc_tabl.cpp
>  > >  >        [cc] enc_base.cpp
>  > >  >        [cc]
>  > >  > D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\vm\port\src\enco
>  > >  > der\ia32_em64t\enc_base.cpp(771) : error C2220: warning treated as
>  > error -
>  > >  > no 'o
>  > >  > bject' file generated
>  > >  >        [cc]
>  > >  > D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\vm\port\src\enco
>  > >  > der\ia32_em64t\enc_base.cpp(771) : warning C4996: 'strcmpi' was
>  > declared
>  > >  > depreca
>  > >  > ted
>  > >  >        [cc]         C:\Program Files\Microsoft Visual Studio
>  > >  > 8\VC\INCLUDE\string
>  > >  > .h(212) : see declaration of 'strcmpi'
>  > >  >        [cc]         Message: 'The POSIX name for this item is
>  > deprecated.
>  > >  > Instea
>  > >  > d, use the ISO C++ conformant name: _strcmpi. See online help for
>  > >  > details.'
>  > >  >        [cc]
>  > >  > D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\vm\port\src\enco
>  > >  > der\ia32_em64t\enc_base.cpp(823) : warning C4996: 'strcmpi' was
>  > declared
>  > >  > depreca
>  > >  > ted
>  > >  >        [cc]         C:\Program Files\Microsoft Visual Studio
>  > >  > 8\VC\INCLUDE\string
>  > >  > .h(212) : see declaration of 'strcmpi'
>  > >  >        [cc]         Message: 'The POSIX name for this item is
>  > deprecated.
>  > >  > Instea
>  > >  > d, use the ISO C++ conformant name: _strcmpi. See online help for
>  > >  > details.'
>  > >  >        [cc]
>  > >  > D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\vm\port\src\enco
>  > >  > der\ia32_em64t\enc_base.cpp(873) : warning C4996: 'strcmpi' was
>  > declared
>  > >  > depreca
>  > >  > ted
>  > >  >        [cc]         C:\Program Files\Microsoft Visual Studio
>  > >  > 8\VC\INCLUDE\string
>  > >  > .h(212) : see declaration of 'strcmpi'
>  > >  >        [cc]         Message: 'The POSIX name for this item is
>  > deprecated.
>  > >  > Instea
>  > >  > d, use the ISO C++ conformant name: _strcmpi. See online help for
>  > >  > details.'
>  > >  >        [cc]
>  > >  > D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\vm\port\src\enco
>  > >  > der\ia32_em64t\enc_base.cpp(1073) : warning C4996: 'strcmpi' was
>  > declared
>  > >  > deprec
>  > >  > ated
>  > >  >        [cc]         C:\Program Files\Microsoft Visual Studio
>  > >  > 8\VC\INCLUDE\string
>  > >  > .h(212) : see declaration of 'strcmpi'
>  > >  >        [cc]         Message: 'The POSIX name for this item is
>  > deprecated.
>  > >  > Instea
>  > >  > d, use the ISO C++ conformant name: _strcmpi. See online help for
>  > >  > details.'
>  > >  >        [cc] dec_base.cpp
>  > >  >        [cc] Generating Code...
>  > >  >
>  > >  > BUILD FAILED
>  > >  > D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\build.xml:121:
>  > The
>  > >  > following
>  > >  >   error occurred while executing this line:
>  > >  >
>  > >  >
>  > D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\make\vm\encoder.xml:32:
>  > >  > The
>  > >  > following error occurred while executing this line:
>  > >  > D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\make\build-
>  > native.xml
>  > >  > :196:
>  > >  > c
>  > >  > l failed with return code 2
>  > >  >
>  > >  > Total time: 16 seconds
>  > >  >
>  > >  >
>  > >  > --
>  > >  > From : Simon.Chow@Software School of Fudan University
>  > >  >
>  > >
>  >
>
>
>
>  --
>
>
> From : Simon.Chow@Software School of Fudan University
>

Re: [drlvm][build] A build error using MS.Net2005

Posted by Simon Chow <si...@gmail.com>.
After some struggle, I have built harmony successfully using VS.net2005compiler.
The following modification should be performed both in the configuration
files and source files.
1, in working_classlib
depends\build\defines.mak
change
    36  !ELSE
    37  WARNING_LEVEL=WX
    38  !ENDIF
to
    36  !ELSE
    37  WARNING_LEVEL=W3
    38  !ENDIF

2, in working_vm
   (1) make\vm\common-vm.xml
        insert
        <compilerarg value="/wd4005" if="is.msvc"/>
        <compilerarg value="/wd4996" if="is.msvc" />
        <compilerarg value="/wd4047" if="is.msvc" />
        <compilerarg value="/wd4024" if="is.msvc" />
        <compilerarg value="/wd4819" if="is.msvc" />
        <compilerarg value="/wd4005" if="is.msvc"/>
        after
  62  <compilerarg value="/Zi" if="is.windows"/>
  63  <compilerarg value="/W3" if="is.windows"/>
  64  <compilerarg value="/WX" if="is.windows" unless="is.x86_64"/>

   (2) working_vm\vm\include\open\hythread.h, hythread_ext.h
modify (take 'include' out of 'extern "C"')
    #if defined(__cplusplus)
    extern "C" {
    #endif
    #include <open/types.h>

    #include <stddef.h>
    #include "hycomp.h"

    #ifdef _WIN32
    #   if (_MSC_VER >= 1400)
    #       include <intrin.h>
    #   endif
    #endif
to
    #include <open/types.h>

    #include <stddef.h>
    #include "hycomp.h"

    #ifdef _WIN32
    #   if (_MSC_VER >= 1400)
    #       include <intrin.h>
    #   endif
    #endif

    #if defined(__cplusplus)
    extern "C" {
    #endif

    For hythread_ext.h, similar operation should be performed.




On 06/03/2008, Aleksey Shipilev <al...@gmail.com> wrote:
>
> Hi,
>
> The problem here is warning that are treated as error, right. You can
> probably try to suppress these warnings by listing their codes in
> corresponding make/vm/*.xml. This is part of make/vm/jitrino.xml for
> ICL compiler warning suppression:
>
> ---- CUT ----
>                 <compilerarg value="/Qvec_report0" if="is.icl"
> unless="is.cfg.debug"/>
>                 <compilerarg
> value="/Qww1,82,111,172,181,279,280,373,424,593,654,858" if="is.icl"/>
>                 <compilerarg
>
> value="/Qwd82,193,271,304,373,383,424,444,654,869,981,1125,1418,1419,1572,1683"
> if="is.icl"/>
>                     <!--
>                       # /Qwd[tag,...] Disable the soft diagnostics
> that corresponds to tag.
>                       # /Qwr[tag,...] Override the severity of the
> soft diagnostics corresponding to tag and make it a remark.
>                       # /Qww[tag,...] Override the severity of the
> soft diagnostics corresponding to tag and make it a warning.
>                       # /Qwe[tag,...] Override the severity of the
> soft diagnostics corresponding to tag and make it an error.
> ---- CUT ----
>
> You may try to fix problem you describing in this way. Please report
> back if it work for you :)
>
> Thanks,
>
> Aleksey.
>
>
> On Thu, Mar 6, 2008 at 11:47 AM, liaoyin <us...@gmail.com> wrote:
> > I think this website can explain these problem.
> >
> http://www.manticmoo.com/articles/jeff/programming/visual-c++/suppressing-deprecation-warnings.php
> >
> >   I suggest that you'd better use the  vc 2003.ok
> >
> >  Suppressing deprecation warnings when upgrading to Visual Studio 2005
> by
> >  Jeffrey P. Bigham
> >
> >  I was recently tasked with migrating a simple, internal application
> from
> >  VS2003 to VS2005. You would think this would be really simple, and it
> really
> >  wasn't that hard, but there are a few gotcha's that you have to watch
> out
> >  for when doing so.
> >
> >  In its infinite wisdom Microsoft decided that as of Visual Studio 2005,
> >  basically all of the standard C functions dealing with strings that
> rely on
> >  an ending NULL character and not a specified length would be
> deprecated.
> >  This means that strcpy, sprintf and strlen are all deprecated to name
> just a
> >  few. In some respects this is a good thing because it might help to
> convince
> >  programmers to use the more secure variations of these standard
> functions,
> >  but, unfortunately, it also causes applications that used to compile
> cleanly
> >  to issue thousands of warnings. Futhermore, switching to the more
> secure
> >  variations of the functions isn't always trivially because to use them
> you
> >  must know the length of the buffers, which might not be easily
> accessible in
> >  many programs not designed for it. And, not to mention, if you use the
> >  secure functions you give up all hope of being able to compile your C++
> code
> >  in Unix.
> >  Avoidance by Suppression
> >
> >  There may be a better way of getting rid of these warning, but until
> there
> >  is I'm just going to suppress them. I want to be as particular as
> possible
> >  with the warnings that I suppress to make sure that I'm not suppressing
> >  something useful. Therefore, I picked out the particular warning code
> >  associated with these warnings, code 4996, and suppress only warnings
> of
> >  that type.
> >
> >  To suppress these warnings simply add the following compiler directive:
> >
> >  /wd4996
> >
> >  to your commandline options.
> >
> >  In Visual Studio this can be found in the Properties of your project,
> under
> >  C/C++, in the Commandline option.
> >  List of newly deprecated functions in VS2005 and their secure
> alternative *
> >  Function**Secure Alternative* access_access, _access_s cabs_cabs
> cgets_cgets,
> >  _cgets_s chdir_chdir chmod_chmod chsize_chsize, _chsize_s close_close
> >  cprintf_cprintf, _cprintf_s cputs_cputs creat_creat cscanf_cscanf,
> _cscanf_s
> >  cwait_cwait dup_dup dup2_dup2 ecvt_ecvt, _ecvt_s eof_eof execl_execl
> execle
> >  _execle execlp_execlp execlpe_execlpe execv_execv execve_execve execvp
> >  _execvp execvpe_execvpe fcloseall_fcloseall fcvt_fcvt, _fcvt_s
> fdopen_fdopen
> >  fgetchar_fgetchar filelength_filelength fileno_fileno flushall_flushall
> >  fputchar_fputchar, _fputwchar gcvt_gcvt, _gcvt_s getch_getch
> getche_getche
> >  getcwd_getcwd, _wgetcwd getpid_getpid getw_getw hypot_hypot inp_inp
> inpw
> >  _inpw isascii__isascii isatty_isatty iscsym__iscsym iscsymf__iscsymf
> itoa_itoa,
> >  _itoa_s j0_j0 j1_j1 jn_jn kbhit_kbhit lfind_lfind, _lfind_s
> locking_locking
> >  lsearch_lsearch, _lsearch_s lseek_lseek ltoa_ltoa, _ltoa_s
> memccpy_memccpy
> >  memicmp_memicmp mkdir_mkdir mktemp_mktemp, _mktemp_s open_open
> outp_outp
> >  outpw_outpw putch_putch putenv_putenv, _putenv_s putw_putw read_read
> rmdir
> >  _rmdir rmtmp_rmtmp setmode_setmode sopen_sopen, _sopen_s spawnl_spawnl
> >  spawnle_spawnle spawnlp_spawnlp spawnlpe_spawnlpe spawnv_spawnv spawnve
> >  _spawnve spawnvp_spawnvp spawnvpe_spawnvpe strcmpi_stricmp
> strdup_strdup
> >  stricmp_stricmp strlwr_strlwr, _strlwr_s strnicmp_strnicmp
> strnset_strnset,
> >  _strnset_s strrev_strrev strset_strset, _strset_s strupr_strupr,
> _strupr_s
> >  swab_swab tell_tell tempnam_tempnam toascii__toascii tzset_tzset
> ultoa_ultoa,
> >  _ultoa_s umask_umask, _umask_s ungetch_ungetch unlink_unlink
> wcsdup_wcsdup
> >  wcsicmp_wcsicmp wcsicoll_wcsicoll wcslwr_wcslwr, _wcslwr_s
> wcsnicmp_wcsnicmp
> >  wcsnset_wcsnset, _wcsnset_s wcsrev_wcsrev wcsset_wcsset, _wcsset_s
> >  wcsupr_wcsupr,
> >  _wcsupr_s write_write y0_y0 y1_y1 yn_yn
> >
> >  2008/3/6, Simon Chow <si...@gmail.com>:
> >
> >
> > >
> >  > I want to build a svn latest version on Windows, but this error
> occurs.
> >  > How to deal with it?
> >  >
> >  > build:
> >  >      [echo] ## Building 'encoder'
> >  >     [mkdir] Created dir:
> >  > D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\bui
> >  > ld\windows_x86_msvc_debug\semis\encoder\bin
> >  >     [mkdir] Created dir:
> >  > D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\bui
> >  > ld\windows_x86_msvc_debug\semis\encoder\obj
> >  >
> >  >        [cc] 4 total files to be compiled.
> >  >        [cc] cl : Command line warning D9035 : option 'GZ' has been
> >  > deprecated an
> >  > d will be removed in a future release
> >  >        [cc] cl : Command line warning D9036 : use 'RTC1' instead of
> 'GZ'
> >  >        [cc] encoder.cpp
> >  >        [cc] enc_tabl.cpp
> >  >        [cc] enc_base.cpp
> >  >        [cc]
> >  > D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\vm\port\src\enco
> >  > der\ia32_em64t\enc_base.cpp(771) : error C2220: warning treated as
> error -
> >  > no 'o
> >  > bject' file generated
> >  >        [cc]
> >  > D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\vm\port\src\enco
> >  > der\ia32_em64t\enc_base.cpp(771) : warning C4996: 'strcmpi' was
> declared
> >  > depreca
> >  > ted
> >  >        [cc]         C:\Program Files\Microsoft Visual Studio
> >  > 8\VC\INCLUDE\string
> >  > .h(212) : see declaration of 'strcmpi'
> >  >        [cc]         Message: 'The POSIX name for this item is
> deprecated.
> >  > Instea
> >  > d, use the ISO C++ conformant name: _strcmpi. See online help for
> >  > details.'
> >  >        [cc]
> >  > D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\vm\port\src\enco
> >  > der\ia32_em64t\enc_base.cpp(823) : warning C4996: 'strcmpi' was
> declared
> >  > depreca
> >  > ted
> >  >        [cc]         C:\Program Files\Microsoft Visual Studio
> >  > 8\VC\INCLUDE\string
> >  > .h(212) : see declaration of 'strcmpi'
> >  >        [cc]         Message: 'The POSIX name for this item is
> deprecated.
> >  > Instea
> >  > d, use the ISO C++ conformant name: _strcmpi. See online help for
> >  > details.'
> >  >        [cc]
> >  > D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\vm\port\src\enco
> >  > der\ia32_em64t\enc_base.cpp(873) : warning C4996: 'strcmpi' was
> declared
> >  > depreca
> >  > ted
> >  >        [cc]         C:\Program Files\Microsoft Visual Studio
> >  > 8\VC\INCLUDE\string
> >  > .h(212) : see declaration of 'strcmpi'
> >  >        [cc]         Message: 'The POSIX name for this item is
> deprecated.
> >  > Instea
> >  > d, use the ISO C++ conformant name: _strcmpi. See online help for
> >  > details.'
> >  >        [cc]
> >  > D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\vm\port\src\enco
> >  > der\ia32_em64t\enc_base.cpp(1073) : warning C4996: 'strcmpi' was
> declared
> >  > deprec
> >  > ated
> >  >        [cc]         C:\Program Files\Microsoft Visual Studio
> >  > 8\VC\INCLUDE\string
> >  > .h(212) : see declaration of 'strcmpi'
> >  >        [cc]         Message: 'The POSIX name for this item is
> deprecated.
> >  > Instea
> >  > d, use the ISO C++ conformant name: _strcmpi. See online help for
> >  > details.'
> >  >        [cc] dec_base.cpp
> >  >        [cc] Generating Code...
> >  >
> >  > BUILD FAILED
> >  > D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\build.xml:121:
> The
> >  > following
> >  >   error occurred while executing this line:
> >  >
> >  >
> D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\make\vm\encoder.xml:32:
> >  > The
> >  > following error occurred while executing this line:
> >  > D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\make\build-
> native.xml
> >  > :196:
> >  > c
> >  > l failed with return code 2
> >  >
> >  > Total time: 16 seconds
> >  >
> >  >
> >  > --
> >  > From : Simon.Chow@Software School of Fudan University
> >  >
> >
>



-- 
>From : Simon.Chow@Software School of Fudan University

Re: [drlvm][build] A build error using MS.Net2005

Posted by Simon Chow <si...@gmail.com>.
Thank for your advice!

I changed the
<compilerarg value="/W3" if="is.windows"/>
to
<compilerarg value="/W0" if="is.windows"/>
 in common-vm.xml
then, the error message is removed.

but when building vmcore

build:
     [echo] ## Building 'vmcore'
[compile-asm] Skipping fileset for directory
D:\Developing\JOpen64\Harmony\Code\
trunk\working_vm\vm\vmcore. It is empty.
[compile-cc] Starting dependency analysis for 13 files.
[compile-cc] 13 files are up to date.
[compile-cc] 0 files to be recompiled from dependency analysis.
[compile-cc] 167 total files to be compiled.
[compile-cc] cl : Command line warning D9035 : option 'GZ' has been
deprecated a
nd will be removed in a future release
[compile-cc] cl : Command line warning D9036 : use 'RTC1' instead of 'GZ'
[compile-cc] org_apache_harmony_drlvm_VMHelper.cpp
[compile-cc] C:\Program Files\Microsoft Visual Studio
8\VC\include\ivec.h(233) : error C2733: second C linkage of overloaded
function 'cmpeq' not allowed
[compile-cc]         C:\Program Files\Microsoft Visual Studio
8\VC\include\ivec.h(233) : see declaration of 'cmpeq'

....blabla thousands of C2733 errors
It seems that the 'cl' compiler compiles this .h as a pure C language.
However, there is no 'extern "C"' declare can be found...


On 06/03/2008, Aleksey Shipilev <al...@gmail.com> wrote:
>
> Hi,
>
> The problem here is warning that are treated as error, right. You can
> probably try to suppress these warnings by listing their codes in
> corresponding make/vm/*.xml. This is part of make/vm/jitrino.xml for
> ICL compiler warning suppression:
>
> ---- CUT ----
>                 <compilerarg value="/Qvec_report0" if="is.icl"
> unless="is.cfg.debug"/>
>                 <compilerarg
> value="/Qww1,82,111,172,181,279,280,373,424,593,654,858" if="is.icl"/>
>                 <compilerarg
>
> value="/Qwd82,193,271,304,373,383,424,444,654,869,981,1125,1418,1419,1572,1683"
> if="is.icl"/>
>                     <!--
>                       # /Qwd[tag,...] Disable the soft diagnostics
> that corresponds to tag.
>                       # /Qwr[tag,...] Override the severity of the
> soft diagnostics corresponding to tag and make it a remark.
>                       # /Qww[tag,...] Override the severity of the
> soft diagnostics corresponding to tag and make it a warning.
>                       # /Qwe[tag,...] Override the severity of the
> soft diagnostics corresponding to tag and make it an error.
> ---- CUT ----
>
> You may try to fix problem you describing in this way. Please report
> back if it work for you :)
>
> Thanks,
>
> Aleksey.
>
>
> On Thu, Mar 6, 2008 at 11:47 AM, liaoyin <us...@gmail.com> wrote:
> > I think this website can explain these problem.
> >
> http://www.manticmoo.com/articles/jeff/programming/visual-c++/suppressing-deprecation-warnings.php
> >
> >   I suggest that you'd better use the  vc 2003.ok
> >
> >  Suppressing deprecation warnings when upgrading to Visual Studio 2005
> by
> >  Jeffrey P. Bigham
> >
> >  I was recently tasked with migrating a simple, internal application
> from
> >  VS2003 to VS2005. You would think this would be really simple, and it
> really
> >  wasn't that hard, but there are a few gotcha's that you have to watch
> out
> >  for when doing so.
> >
> >  In its infinite wisdom Microsoft decided that as of Visual Studio 2005,
> >  basically all of the standard C functions dealing with strings that
> rely on
> >  an ending NULL character and not a specified length would be
> deprecated.
> >  This means that strcpy, sprintf and strlen are all deprecated to name
> just a
> >  few. In some respects this is a good thing because it might help to
> convince
> >  programmers to use the more secure variations of these standard
> functions,
> >  but, unfortunately, it also causes applications that used to compile
> cleanly
> >  to issue thousands of warnings. Futhermore, switching to the more
> secure
> >  variations of the functions isn't always trivially because to use them
> you
> >  must know the length of the buffers, which might not be easily
> accessible in
> >  many programs not designed for it. And, not to mention, if you use the
> >  secure functions you give up all hope of being able to compile your C++
> code
> >  in Unix.
> >  Avoidance by Suppression
> >
> >  There may be a better way of getting rid of these warning, but until
> there
> >  is I'm just going to suppress them. I want to be as particular as
> possible
> >  with the warnings that I suppress to make sure that I'm not suppressing
> >  something useful. Therefore, I picked out the particular warning code
> >  associated with these warnings, code 4996, and suppress only warnings
> of
> >  that type.
> >
> >  To suppress these warnings simply add the following compiler directive:
> >
> >  /wd4996
> >
> >  to your commandline options.
> >
> >  In Visual Studio this can be found in the Properties of your project,
> under
> >  C/C++, in the Commandline option.
> >  List of newly deprecated functions in VS2005 and their secure
> alternative *
> >  Function**Secure Alternative* access_access, _access_s cabs_cabs
> cgets_cgets,
> >  _cgets_s chdir_chdir chmod_chmod chsize_chsize, _chsize_s close_close
> >  cprintf_cprintf, _cprintf_s cputs_cputs creat_creat cscanf_cscanf,
> _cscanf_s
> >  cwait_cwait dup_dup dup2_dup2 ecvt_ecvt, _ecvt_s eof_eof execl_execl
> execle
> >  _execle execlp_execlp execlpe_execlpe execv_execv execve_execve execvp
> >  _execvp execvpe_execvpe fcloseall_fcloseall fcvt_fcvt, _fcvt_s
> fdopen_fdopen
> >  fgetchar_fgetchar filelength_filelength fileno_fileno flushall_flushall
> >  fputchar_fputchar, _fputwchar gcvt_gcvt, _gcvt_s getch_getch
> getche_getche
> >  getcwd_getcwd, _wgetcwd getpid_getpid getw_getw hypot_hypot inp_inp
> inpw
> >  _inpw isascii__isascii isatty_isatty iscsym__iscsym iscsymf__iscsymf
> itoa_itoa,
> >  _itoa_s j0_j0 j1_j1 jn_jn kbhit_kbhit lfind_lfind, _lfind_s
> locking_locking
> >  lsearch_lsearch, _lsearch_s lseek_lseek ltoa_ltoa, _ltoa_s
> memccpy_memccpy
> >  memicmp_memicmp mkdir_mkdir mktemp_mktemp, _mktemp_s open_open
> outp_outp
> >  outpw_outpw putch_putch putenv_putenv, _putenv_s putw_putw read_read
> rmdir
> >  _rmdir rmtmp_rmtmp setmode_setmode sopen_sopen, _sopen_s spawnl_spawnl
> >  spawnle_spawnle spawnlp_spawnlp spawnlpe_spawnlpe spawnv_spawnv spawnve
> >  _spawnve spawnvp_spawnvp spawnvpe_spawnvpe strcmpi_stricmp
> strdup_strdup
> >  stricmp_stricmp strlwr_strlwr, _strlwr_s strnicmp_strnicmp
> strnset_strnset,
> >  _strnset_s strrev_strrev strset_strset, _strset_s strupr_strupr,
> _strupr_s
> >  swab_swab tell_tell tempnam_tempnam toascii__toascii tzset_tzset
> ultoa_ultoa,
> >  _ultoa_s umask_umask, _umask_s ungetch_ungetch unlink_unlink
> wcsdup_wcsdup
> >  wcsicmp_wcsicmp wcsicoll_wcsicoll wcslwr_wcslwr, _wcslwr_s
> wcsnicmp_wcsnicmp
> >  wcsnset_wcsnset, _wcsnset_s wcsrev_wcsrev wcsset_wcsset, _wcsset_s
> >  wcsupr_wcsupr,
> >  _wcsupr_s write_write y0_y0 y1_y1 yn_yn
> >
> >  2008/3/6, Simon Chow <si...@gmail.com>:
> >
> >
> > >
> >  > I want to build a svn latest version on Windows, but this error
> occurs.
> >  > How to deal with it?
> >  >
> >  > build:
> >  >      [echo] ## Building 'encoder'
> >  >     [mkdir] Created dir:
> >  > D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\bui
> >  > ld\windows_x86_msvc_debug\semis\encoder\bin
> >  >     [mkdir] Created dir:
> >  > D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\bui
> >  > ld\windows_x86_msvc_debug\semis\encoder\obj
> >  >
> >  >        [cc] 4 total files to be compiled.
> >  >        [cc] cl : Command line warning D9035 : option 'GZ' has been
> >  > deprecated an
> >  > d will be removed in a future release
> >  >        [cc] cl : Command line warning D9036 : use 'RTC1' instead of
> 'GZ'
> >  >        [cc] encoder.cpp
> >  >        [cc] enc_tabl.cpp
> >  >        [cc] enc_base.cpp
> >  >        [cc]
> >  > D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\vm\port\src\enco
> >  > der\ia32_em64t\enc_base.cpp(771) : error C2220: warning treated as
> error -
> >  > no 'o
> >  > bject' file generated
> >  >        [cc]
> >  > D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\vm\port\src\enco
> >  > der\ia32_em64t\enc_base.cpp(771) : warning C4996: 'strcmpi' was
> declared
> >  > depreca
> >  > ted
> >  >        [cc]         C:\Program Files\Microsoft Visual Studio
> >  > 8\VC\INCLUDE\string
> >  > .h(212) : see declaration of 'strcmpi'
> >  >        [cc]         Message: 'The POSIX name for this item is
> deprecated.
> >  > Instea
> >  > d, use the ISO C++ conformant name: _strcmpi. See online help for
> >  > details.'
> >  >        [cc]
> >  > D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\vm\port\src\enco
> >  > der\ia32_em64t\enc_base.cpp(823) : warning C4996: 'strcmpi' was
> declared
> >  > depreca
> >  > ted
> >  >        [cc]         C:\Program Files\Microsoft Visual Studio
> >  > 8\VC\INCLUDE\string
> >  > .h(212) : see declaration of 'strcmpi'
> >  >        [cc]         Message: 'The POSIX name for this item is
> deprecated.
> >  > Instea
> >  > d, use the ISO C++ conformant name: _strcmpi. See online help for
> >  > details.'
> >  >        [cc]
> >  > D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\vm\port\src\enco
> >  > der\ia32_em64t\enc_base.cpp(873) : warning C4996: 'strcmpi' was
> declared
> >  > depreca
> >  > ted
> >  >        [cc]         C:\Program Files\Microsoft Visual Studio
> >  > 8\VC\INCLUDE\string
> >  > .h(212) : see declaration of 'strcmpi'
> >  >        [cc]         Message: 'The POSIX name for this item is
> deprecated.
> >  > Instea
> >  > d, use the ISO C++ conformant name: _strcmpi. See online help for
> >  > details.'
> >  >        [cc]
> >  > D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\vm\port\src\enco
> >  > der\ia32_em64t\enc_base.cpp(1073) : warning C4996: 'strcmpi' was
> declared
> >  > deprec
> >  > ated
> >  >        [cc]         C:\Program Files\Microsoft Visual Studio
> >  > 8\VC\INCLUDE\string
> >  > .h(212) : see declaration of 'strcmpi'
> >  >        [cc]         Message: 'The POSIX name for this item is
> deprecated.
> >  > Instea
> >  > d, use the ISO C++ conformant name: _strcmpi. See online help for
> >  > details.'
> >  >        [cc] dec_base.cpp
> >  >        [cc] Generating Code...
> >  >
> >  > BUILD FAILED
> >  > D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\build.xml:121:
> The
> >  > following
> >  >   error occurred while executing this line:
> >  >
> >  >
> D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\make\vm\encoder.xml:32:
> >  > The
> >  > following error occurred while executing this line:
> >  > D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\make\build-
> native.xml
> >  > :196:
> >  > c
> >  > l failed with return code 2
> >  >
> >  > Total time: 16 seconds
> >  >
> >  >
> >  > --
> >  > From : Simon.Chow@Software School of Fudan University
> >  >
> >
>



-- 
>From : Simon.Chow@Software School of Fudan University

Re: [drlvm][build] A build error using MS.Net2005

Posted by Aleksey Shipilev <al...@gmail.com>.
Hi,

The problem here is warning that are treated as error, right. You can
probably try to suppress these warnings by listing their codes in
corresponding make/vm/*.xml. This is part of make/vm/jitrino.xml for
ICL compiler warning suppression:

---- CUT ----
                <compilerarg value="/Qvec_report0" if="is.icl"
unless="is.cfg.debug"/>
                <compilerarg
value="/Qww1,82,111,172,181,279,280,373,424,593,654,858" if="is.icl"/>
                <compilerarg
value="/Qwd82,193,271,304,373,383,424,444,654,869,981,1125,1418,1419,1572,1683"
if="is.icl"/>
                    <!--
                      # /Qwd[tag,...] Disable the soft diagnostics
that corresponds to tag.
                      # /Qwr[tag,...] Override the severity of the
soft diagnostics corresponding to tag and make it a remark.
                      # /Qww[tag,...] Override the severity of the
soft diagnostics corresponding to tag and make it a warning.
                      # /Qwe[tag,...] Override the severity of the
soft diagnostics corresponding to tag and make it an error.
---- CUT ----

You may try to fix problem you describing in this way. Please report
back if it work for you :)

Thanks,
Aleksey.

On Thu, Mar 6, 2008 at 11:47 AM, liaoyin <us...@gmail.com> wrote:
> I think this website can explain these problem.
>  http://www.manticmoo.com/articles/jeff/programming/visual-c++/suppressing-deprecation-warnings.php
>
>   I suggest that you'd better use the  vc 2003.ok
>
>  Suppressing deprecation warnings when upgrading to Visual Studio 2005 by
>  Jeffrey P. Bigham
>
>  I was recently tasked with migrating a simple, internal application from
>  VS2003 to VS2005. You would think this would be really simple, and it really
>  wasn't that hard, but there are a few gotcha's that you have to watch out
>  for when doing so.
>
>  In its infinite wisdom Microsoft decided that as of Visual Studio 2005,
>  basically all of the standard C functions dealing with strings that rely on
>  an ending NULL character and not a specified length would be deprecated.
>  This means that strcpy, sprintf and strlen are all deprecated to name just a
>  few. In some respects this is a good thing because it might help to convince
>  programmers to use the more secure variations of these standard functions,
>  but, unfortunately, it also causes applications that used to compile cleanly
>  to issue thousands of warnings. Futhermore, switching to the more secure
>  variations of the functions isn't always trivially because to use them you
>  must know the length of the buffers, which might not be easily accessible in
>  many programs not designed for it. And, not to mention, if you use the
>  secure functions you give up all hope of being able to compile your C++ code
>  in Unix.
>  Avoidance by Suppression
>
>  There may be a better way of getting rid of these warning, but until there
>  is I'm just going to suppress them. I want to be as particular as possible
>  with the warnings that I suppress to make sure that I'm not suppressing
>  something useful. Therefore, I picked out the particular warning code
>  associated with these warnings, code 4996, and suppress only warnings of
>  that type.
>
>  To suppress these warnings simply add the following compiler directive:
>
>  /wd4996
>
>  to your commandline options.
>
>  In Visual Studio this can be found in the Properties of your project, under
>  C/C++, in the Commandline option.
>  List of newly deprecated functions in VS2005 and their secure alternative *
>  Function**Secure Alternative* access_access, _access_s cabs_cabs cgets_cgets,
>  _cgets_s chdir_chdir chmod_chmod chsize_chsize, _chsize_s close_close
>  cprintf_cprintf, _cprintf_s cputs_cputs creat_creat cscanf_cscanf, _cscanf_s
>  cwait_cwait dup_dup dup2_dup2 ecvt_ecvt, _ecvt_s eof_eof execl_execl execle
>  _execle execlp_execlp execlpe_execlpe execv_execv execve_execve execvp
>  _execvp execvpe_execvpe fcloseall_fcloseall fcvt_fcvt, _fcvt_s fdopen_fdopen
>  fgetchar_fgetchar filelength_filelength fileno_fileno flushall_flushall
>  fputchar_fputchar, _fputwchar gcvt_gcvt, _gcvt_s getch_getch getche_getche
>  getcwd_getcwd, _wgetcwd getpid_getpid getw_getw hypot_hypot inp_inp inpw
>  _inpw isascii__isascii isatty_isatty iscsym__iscsym iscsymf__iscsymf itoa_itoa,
>  _itoa_s j0_j0 j1_j1 jn_jn kbhit_kbhit lfind_lfind, _lfind_s locking_locking
>  lsearch_lsearch, _lsearch_s lseek_lseek ltoa_ltoa, _ltoa_s memccpy_memccpy
>  memicmp_memicmp mkdir_mkdir mktemp_mktemp, _mktemp_s open_open outp_outp
>  outpw_outpw putch_putch putenv_putenv, _putenv_s putw_putw read_read rmdir
>  _rmdir rmtmp_rmtmp setmode_setmode sopen_sopen, _sopen_s spawnl_spawnl
>  spawnle_spawnle spawnlp_spawnlp spawnlpe_spawnlpe spawnv_spawnv spawnve
>  _spawnve spawnvp_spawnvp spawnvpe_spawnvpe strcmpi_stricmp strdup_strdup
>  stricmp_stricmp strlwr_strlwr, _strlwr_s strnicmp_strnicmp strnset_strnset,
>  _strnset_s strrev_strrev strset_strset, _strset_s strupr_strupr, _strupr_s
>  swab_swab tell_tell tempnam_tempnam toascii__toascii tzset_tzset ultoa_ultoa,
>  _ultoa_s umask_umask, _umask_s ungetch_ungetch unlink_unlink wcsdup_wcsdup
>  wcsicmp_wcsicmp wcsicoll_wcsicoll wcslwr_wcslwr, _wcslwr_s wcsnicmp_wcsnicmp
>  wcsnset_wcsnset, _wcsnset_s wcsrev_wcsrev wcsset_wcsset, _wcsset_s
>  wcsupr_wcsupr,
>  _wcsupr_s write_write y0_y0 y1_y1 yn_yn
>
>  2008/3/6, Simon Chow <si...@gmail.com>:
>
>
> >
>  > I want to build a svn latest version on Windows, but this error occurs.
>  > How to deal with it?
>  >
>  > build:
>  >      [echo] ## Building 'encoder'
>  >     [mkdir] Created dir:
>  > D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\bui
>  > ld\windows_x86_msvc_debug\semis\encoder\bin
>  >     [mkdir] Created dir:
>  > D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\bui
>  > ld\windows_x86_msvc_debug\semis\encoder\obj
>  >
>  >        [cc] 4 total files to be compiled.
>  >        [cc] cl : Command line warning D9035 : option 'GZ' has been
>  > deprecated an
>  > d will be removed in a future release
>  >        [cc] cl : Command line warning D9036 : use 'RTC1' instead of 'GZ'
>  >        [cc] encoder.cpp
>  >        [cc] enc_tabl.cpp
>  >        [cc] enc_base.cpp
>  >        [cc]
>  > D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\vm\port\src\enco
>  > der\ia32_em64t\enc_base.cpp(771) : error C2220: warning treated as error -
>  > no 'o
>  > bject' file generated
>  >        [cc]
>  > D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\vm\port\src\enco
>  > der\ia32_em64t\enc_base.cpp(771) : warning C4996: 'strcmpi' was declared
>  > depreca
>  > ted
>  >        [cc]         C:\Program Files\Microsoft Visual Studio
>  > 8\VC\INCLUDE\string
>  > .h(212) : see declaration of 'strcmpi'
>  >        [cc]         Message: 'The POSIX name for this item is deprecated.
>  > Instea
>  > d, use the ISO C++ conformant name: _strcmpi. See online help for
>  > details.'
>  >        [cc]
>  > D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\vm\port\src\enco
>  > der\ia32_em64t\enc_base.cpp(823) : warning C4996: 'strcmpi' was declared
>  > depreca
>  > ted
>  >        [cc]         C:\Program Files\Microsoft Visual Studio
>  > 8\VC\INCLUDE\string
>  > .h(212) : see declaration of 'strcmpi'
>  >        [cc]         Message: 'The POSIX name for this item is deprecated.
>  > Instea
>  > d, use the ISO C++ conformant name: _strcmpi. See online help for
>  > details.'
>  >        [cc]
>  > D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\vm\port\src\enco
>  > der\ia32_em64t\enc_base.cpp(873) : warning C4996: 'strcmpi' was declared
>  > depreca
>  > ted
>  >        [cc]         C:\Program Files\Microsoft Visual Studio
>  > 8\VC\INCLUDE\string
>  > .h(212) : see declaration of 'strcmpi'
>  >        [cc]         Message: 'The POSIX name for this item is deprecated.
>  > Instea
>  > d, use the ISO C++ conformant name: _strcmpi. See online help for
>  > details.'
>  >        [cc]
>  > D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\vm\port\src\enco
>  > der\ia32_em64t\enc_base.cpp(1073) : warning C4996: 'strcmpi' was declared
>  > deprec
>  > ated
>  >        [cc]         C:\Program Files\Microsoft Visual Studio
>  > 8\VC\INCLUDE\string
>  > .h(212) : see declaration of 'strcmpi'
>  >        [cc]         Message: 'The POSIX name for this item is deprecated.
>  > Instea
>  > d, use the ISO C++ conformant name: _strcmpi. See online help for
>  > details.'
>  >        [cc] dec_base.cpp
>  >        [cc] Generating Code...
>  >
>  > BUILD FAILED
>  > D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\build.xml:121: The
>  > following
>  >   error occurred while executing this line:
>  >
>  > D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\make\vm\encoder.xml:32:
>  > The
>  > following error occurred while executing this line:
>  > D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\make\build-native.xml
>  > :196:
>  > c
>  > l failed with return code 2
>  >
>  > Total time: 16 seconds
>  >
>  >
>  > --
>  > From : Simon.Chow@Software School of Fudan University
>  >
>

Re: [drlvm][build] A build error using MS.Net2005

Posted by liaoyin <us...@gmail.com>.
I think this website can explain these problem.
http://www.manticmoo.com/articles/jeff/programming/visual-c++/suppressing-deprecation-warnings.php

 I suggest that you'd better use the  vc 2003.ok

Suppressing deprecation warnings when upgrading to Visual Studio 2005 by
Jeffrey P. Bigham

I was recently tasked with migrating a simple, internal application from
VS2003 to VS2005. You would think this would be really simple, and it really
wasn't that hard, but there are a few gotcha's that you have to watch out
for when doing so.

In its infinite wisdom Microsoft decided that as of Visual Studio 2005,
basically all of the standard C functions dealing with strings that rely on
an ending NULL character and not a specified length would be deprecated.
This means that strcpy, sprintf and strlen are all deprecated to name just a
few. In some respects this is a good thing because it might help to convince
programmers to use the more secure variations of these standard functions,
but, unfortunately, it also causes applications that used to compile cleanly
to issue thousands of warnings. Futhermore, switching to the more secure
variations of the functions isn't always trivially because to use them you
must know the length of the buffers, which might not be easily accessible in
many programs not designed for it. And, not to mention, if you use the
secure functions you give up all hope of being able to compile your C++ code
in Unix.
Avoidance by Suppression

There may be a better way of getting rid of these warning, but until there
is I'm just going to suppress them. I want to be as particular as possible
with the warnings that I suppress to make sure that I'm not suppressing
something useful. Therefore, I picked out the particular warning code
associated with these warnings, code 4996, and suppress only warnings of
that type.

To suppress these warnings simply add the following compiler directive:

/wd4996

to your commandline options.

In Visual Studio this can be found in the Properties of your project, under
C/C++, in the Commandline option.
List of newly deprecated functions in VS2005 and their secure alternative *
Function**Secure Alternative* access_access, _access_s cabs_cabs cgets_cgets,
_cgets_s chdir_chdir chmod_chmod chsize_chsize, _chsize_s close_close
cprintf_cprintf, _cprintf_s cputs_cputs creat_creat cscanf_cscanf, _cscanf_s
cwait_cwait dup_dup dup2_dup2 ecvt_ecvt, _ecvt_s eof_eof execl_execl execle
_execle execlp_execlp execlpe_execlpe execv_execv execve_execve execvp
_execvp execvpe_execvpe fcloseall_fcloseall fcvt_fcvt, _fcvt_s fdopen_fdopen
fgetchar_fgetchar filelength_filelength fileno_fileno flushall_flushall
fputchar_fputchar, _fputwchar gcvt_gcvt, _gcvt_s getch_getch getche_getche
getcwd_getcwd, _wgetcwd getpid_getpid getw_getw hypot_hypot inp_inp inpw
_inpw isascii__isascii isatty_isatty iscsym__iscsym iscsymf__iscsymf itoa_itoa,
_itoa_s j0_j0 j1_j1 jn_jn kbhit_kbhit lfind_lfind, _lfind_s locking_locking
lsearch_lsearch, _lsearch_s lseek_lseek ltoa_ltoa, _ltoa_s memccpy_memccpy
memicmp_memicmp mkdir_mkdir mktemp_mktemp, _mktemp_s open_open outp_outp
outpw_outpw putch_putch putenv_putenv, _putenv_s putw_putw read_read rmdir
_rmdir rmtmp_rmtmp setmode_setmode sopen_sopen, _sopen_s spawnl_spawnl
spawnle_spawnle spawnlp_spawnlp spawnlpe_spawnlpe spawnv_spawnv spawnve
_spawnve spawnvp_spawnvp spawnvpe_spawnvpe strcmpi_stricmp strdup_strdup
stricmp_stricmp strlwr_strlwr, _strlwr_s strnicmp_strnicmp strnset_strnset,
_strnset_s strrev_strrev strset_strset, _strset_s strupr_strupr, _strupr_s
swab_swab tell_tell tempnam_tempnam toascii__toascii tzset_tzset ultoa_ultoa,
_ultoa_s umask_umask, _umask_s ungetch_ungetch unlink_unlink wcsdup_wcsdup
wcsicmp_wcsicmp wcsicoll_wcsicoll wcslwr_wcslwr, _wcslwr_s wcsnicmp_wcsnicmp
wcsnset_wcsnset, _wcsnset_s wcsrev_wcsrev wcsset_wcsset, _wcsset_s
wcsupr_wcsupr,
_wcsupr_s write_write y0_y0 y1_y1 yn_yn

2008/3/6, Simon Chow <si...@gmail.com>:
>
> I want to build a svn latest version on Windows, but this error occurs.
> How to deal with it?
>
> build:
>      [echo] ## Building 'encoder'
>     [mkdir] Created dir:
> D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\bui
> ld\windows_x86_msvc_debug\semis\encoder\bin
>     [mkdir] Created dir:
> D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\bui
> ld\windows_x86_msvc_debug\semis\encoder\obj
>
>        [cc] 4 total files to be compiled.
>        [cc] cl : Command line warning D9035 : option 'GZ' has been
> deprecated an
> d will be removed in a future release
>        [cc] cl : Command line warning D9036 : use 'RTC1' instead of 'GZ'
>        [cc] encoder.cpp
>        [cc] enc_tabl.cpp
>        [cc] enc_base.cpp
>        [cc]
> D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\vm\port\src\enco
> der\ia32_em64t\enc_base.cpp(771) : error C2220: warning treated as error -
> no 'o
> bject' file generated
>        [cc]
> D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\vm\port\src\enco
> der\ia32_em64t\enc_base.cpp(771) : warning C4996: 'strcmpi' was declared
> depreca
> ted
>        [cc]         C:\Program Files\Microsoft Visual Studio
> 8\VC\INCLUDE\string
> .h(212) : see declaration of 'strcmpi'
>        [cc]         Message: 'The POSIX name for this item is deprecated.
> Instea
> d, use the ISO C++ conformant name: _strcmpi. See online help for
> details.'
>        [cc]
> D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\vm\port\src\enco
> der\ia32_em64t\enc_base.cpp(823) : warning C4996: 'strcmpi' was declared
> depreca
> ted
>        [cc]         C:\Program Files\Microsoft Visual Studio
> 8\VC\INCLUDE\string
> .h(212) : see declaration of 'strcmpi'
>        [cc]         Message: 'The POSIX name for this item is deprecated.
> Instea
> d, use the ISO C++ conformant name: _strcmpi. See online help for
> details.'
>        [cc]
> D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\vm\port\src\enco
> der\ia32_em64t\enc_base.cpp(873) : warning C4996: 'strcmpi' was declared
> depreca
> ted
>        [cc]         C:\Program Files\Microsoft Visual Studio
> 8\VC\INCLUDE\string
> .h(212) : see declaration of 'strcmpi'
>        [cc]         Message: 'The POSIX name for this item is deprecated.
> Instea
> d, use the ISO C++ conformant name: _strcmpi. See online help for
> details.'
>        [cc]
> D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\vm\port\src\enco
> der\ia32_em64t\enc_base.cpp(1073) : warning C4996: 'strcmpi' was declared
> deprec
> ated
>        [cc]         C:\Program Files\Microsoft Visual Studio
> 8\VC\INCLUDE\string
> .h(212) : see declaration of 'strcmpi'
>        [cc]         Message: 'The POSIX name for this item is deprecated.
> Instea
> d, use the ISO C++ conformant name: _strcmpi. See online help for
> details.'
>        [cc] dec_base.cpp
>        [cc] Generating Code...
>
> BUILD FAILED
> D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\build.xml:121: The
> following
>   error occurred while executing this line:
>
> D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\make\vm\encoder.xml:32:
> The
> following error occurred while executing this line:
> D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\make\build-native.xml
> :196:
> c
> l failed with return code 2
>
> Total time: 16 seconds
>
>
> --
> From : Simon.Chow@Software School of Fudan University
>