Well, both the release and debug flags need it.  I don't know about any top
level version.

It did fix the crashes I was seeing.

In the debug version at list, CMake has a -RTC1 flag that enables run time
error checking.  We weren't using that flag.  This seems like a good flag
to use, maybe.  It has brought out 2 run time asserts, at least.

The first one in rxmath.cpp, I fixed.  (I think.)  There is another in
winsystm.cls I haven't got to yet.

In rxmath.cpp it was using an uninitialized variable: result.  I think the
variable was supposed to be angle.  You might want to check that fix.

--
Mark Miesfeld



On Sun, Jun 15, 2014 at 6:07 PM, Rick McGuire <object.r...@gmail.com> wrote:

> I see you figured this out already.  Was it really necessary to set the
> _DEBUG and _RELEASE flags?  I suspect the top level version would be
> sufficient.
>
> Rick
>
>
> On Sun, Jun 15, 2014 at 9:04 PM, Rick McGuire <object.r...@gmail.com>
> wrote:
>
>> Ok, should be pretty easy to fix this. A few questions:
>>
>> 1)  Does this apply to both .exes and .dlls?
>> 2)  Does it apply to all of the applicable types?
>> 3)  Is the option the same for both release and debug versions?
>>
>> Rick
>>
>>
>> On Sun, Jun 15, 2014 at 6:36 PM, Mark Miesfeld <miesf...@gmail.com>
>> wrote:
>>
>>> There is also a file in the make files directory, for example under
>>> rexx.dir, flags.make.
>>>
>>> It shows:
>>>
>>> CXX_FLAGS =  /DWIN32 /D_WINDOWS /W3 /GR /EHsc /D_DEBUG */MDd* /Zi /Ob0
>>> /Od /RTC1 -IC:\work.ooRexx\wc\main\api\platform\windows
>>> -IC:\work.ooRexx\wc\main\api -
>>> ...
>>>
>>> So, the DLLs are getting linked to the dynamic CRT library.  ooRexx has
>>> always linked to the static CRT library.  While there are plenty of
>>> arguments for linking one way or the other, I think switching now will
>>> cause problems.  Other than that, I believe that static linking is the
>>> right choice to begin with.
>>>
>>> I think this one difference is causing the compiler to crash in the
>>> current build.
>>>
>>> There are other differences in the flags, but I'm not sure if they are
>>> important or not.
>>>
>>> I'll see if I can figure out how to change to /MTd from the current /MDd.
>>>
>>> --
>>> Mark Miesfeld
>>>
>>>
>>>
>>> On Sun, Jun 15, 2014 at 2:26 PM, Rick McGuire <object.r...@gmail.com>
>>> wrote:
>>>
>>>> I don't have time to do the link, but adding an echo did work.  Here is
>>>> the value of the CXX_FLAGS for compiling the files in rexx.dll.  I don't
>>>> have time to compare these to the old build right now:
>>>>
>>>> CXX_FLAGS=/DWIN32
>>>> /D_WINDOWS
>>>> /W3
>>>> /GR
>>>> /EHsc
>>>> /D_DEBUG
>>>> /MDd
>>>> /Zi
>>>> /Ob0
>>>> /Od
>>>> /RTC1
>>>> -Ic:\ORexxDev\oorexx\api\platform\windows
>>>> -Ic:\ORexxDev\oorexx\api
>>>> -IC:\ORexxDev\builds\install
>>>> -Ic:\ORexxDev\oorexx\lib
>>>> -Ic:\ORexxDev\oorexx\common
>>>> -Ic:\ORexxDev\oorexx\common\platform\windows
>>>> -Ic:\ORexxDev\oorexx\interpreter
>>>> -Ic:\ORexxDev\oorexx\interpreter\behaviour
>>>> -Ic:\ORexxDev\oorexx\interpreter\execution
>>>> -Ic:\ORexxDev\oorexx\interpreter\memory
>>>> -Ic:\ORexxDev\oorexx\interpreter\package
>>>> -Ic:\ORexxDev\oorexx\interpreter\concurrency
>>>> -Ic:\ORexxDev\oorexx\interpreter\expression
>>>> -Ic:\ORexxDev\oorexx\interpreter\instructions
>>>> -Ic:\ORexxDev\oorexx\interpreter\classes
>>>> -Ic:\ORexxDev\oorexx\interpreter\classes\support
>>>>  -Ic:\ORexxDev\oorexx\interpreter\runtime
>>>> -Ic:\ORexxDev\oorexx\interpreter\parser
>>>> -Ic:\ORexxDev\oorexx\interpreter\messages
>>>> -Ic:\ORexxDev\oorexx\interpreter\streamLibrary
>>>> -Ic:\ORexxDev\oorexx\interpreter\platform\common
>>>> -Ic:\ORexxDev\oorexx\interpreter\platform\windows
>>>> -Ic:\ORexxDev\oorexx\rexxapi\client
>>>> -Ic:\ORexxDev\oorexx\rexxapi\client\platform\windows
>>>> -Ic:\ORexxDev\oorexx\rexxapi\common
>>>> -Ic:\ORexxDev\oorexx\rexxapi\common\platform\windows
>>>>
>>>> Rick
>>>>
>>>>
>>>> On Sun, Jun 15, 2014 at 5:21 PM, Rick McGuire <object.r...@gmail.com>
>>>> wrote:
>>>>
>>>>> Shoot, I stand corrected.  It appears nmake writes all of the options
>>>>> to a temp file and uses
>>>>>
>>>>>          C:\PROGRA~2\MICROS~3.0\VC\bin\amd64\cl.exe
>>>>>  @C:\Users\RICKMC~1\AppData\L
>>>>> ocal\Temp\nm4144.tmp
>>>>>
>>>>> to invoke the compler and linker.  The options are not showing up in
>>>>> verbose mode.  This will probably require some digging in the make file.  
>>>>> I
>>>>> need to leave fairly shortly and will be gone for the rest of the evening,
>>>>> however, each executable has a build.make file in a target dir.  So, for
>>>>> example, rexx.dll is in CMakeFiles\rexx.dir.  You might be able to add an
>>>>> echo instruction to the make file to display the current value of 
>>>>> CXX_FLAGS
>>>>> to see what is getting used.  We're pretty much using the defaults for the
>>>>> different profiles now, but they are easy to customize.
>>>>>
>>>>> Rick
>>>>>
>>>>>
>>>>> On Sun, Jun 15, 2014 at 5:10 PM, Mark Miesfeld <miesf...@gmail.com>
>>>>> wrote:
>>>>>
>>>>>> Thanks Rick.
>>>>>>
>>>>>> --
>>>>>> Mark Miesfeld
>>>>>>
>>>>>>
>>>>>> On Sun, Jun 15, 2014 at 2:06 PM, Rick McGuire <object.r...@gmail.com>
>>>>>> wrote:
>>>>>>
>>>>>>> If you want to see what are getting used for the compile and links,
>>>>>>> you can specify "nmake VERBOSE=1", and it will display all of the 
>>>>>>> commands
>>>>>>> that nmake is issuing.  This allows you to see the exact commands 
>>>>>>> getting
>>>>>>> issued for the build steps.
>>>>>>>
>>>>>>> Rick
>>>>>>>
>>>>>>>
>>>>>>> On Sun, Jun 15, 2014 at 4:37 PM, Mark Miesfeld <miesf...@gmail.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> With the same code base, when I run the test suite against 4.3.0
>>>>>>>> built with CMake, the interpreter crashes every time.  Not always in 
>>>>>>>> the
>>>>>>>> same spot, but every time.
>>>>>>>>
>>>>>>>> Running the test suite against 4.3.0 built using the old .bat
>>>>>>>> process, the interpreter never crashes.  It does have a lot of test
>>>>>>>> failures, but it never crashes.  (Maybe I shouldn't say never, but it 
>>>>>>>> is 0
>>>>>>>> out of 10.)
>>>>>>>>
>>>>>>>> I think maybe the CMake build is not using the correct compile/link
>>>>>>>> flags for ooRexx.  Is there a way to display the command line during 
>>>>>>>> the
>>>>>>>> comple/link phases?
>>>>>>>>
>>>>>>>> In particular, I believe, we will have problems if CMake is
>>>>>>>> dynamically linking to the CRT.
>>>>>>>>
>>>>>>>> You can see that the executables are getting build different by
>>>>>>>> just comparing the sizes of the files:
>>>>>>>>
>>>>>>>> CMake debug build:
>>>>>>>>
>>>>>>>> C:\Rexx>dir ooRexx\*.dll
>>>>>>>>  Volume in drive C is Win7
>>>>>>>>  Volume Serial Number is D25E-50D5
>>>>>>>>
>>>>>>>>  Directory of C:\Rexx\ooRexx
>>>>>>>>
>>>>>>>> 06/15/2014  12:11 PM            52,224 hostemu.dll
>>>>>>>> 06/15/2014  12:12 PM         1,527,296 oodialog.dll
>>>>>>>> 06/15/2014  12:12 PM           158,208 orexxole.dll
>>>>>>>> 06/15/2014  12:11 PM         2,123,264 rexx.dll
>>>>>>>> 06/15/2014  12:08 PM           215,040 rexxapi.dll
>>>>>>>> 06/15/2014  12:12 PM           156,672 rexxutil.dll
>>>>>>>> 06/15/2014  12:12 PM            52,224 rxmath.dll
>>>>>>>> 06/15/2014  12:12 PM            58,368 rxregexp.dll
>>>>>>>> 06/15/2014  12:12 PM            81,920 rxsock.dll
>>>>>>>> 06/15/2014  12:12 PM           154,112 rxwinsys.dll
>>>>>>>>               10 File(s)      4,579,328 bytes
>>>>>>>>                0 Dir(s)   1,773,953,024 bytes free
>>>>>>>>
>>>>>>>> .bat file style build:
>>>>>>>>
>>>>>>>> C:\Rexx>dir ooRexx.4.3.0.debug-oldStyle\*.dll
>>>>>>>>  Volume in drive C is Win7
>>>>>>>>  Volume Serial Number is D25E-50D5
>>>>>>>>
>>>>>>>>  Directory of C:\Rexx\ooRexx.4.3.0.debug-oldStyle
>>>>>>>>
>>>>>>>> 06/15/2014  09:54 AM           236,032 hostemu.dll
>>>>>>>> 06/15/2014  09:55 AM         1,241,600 oodialog.dll
>>>>>>>> 06/15/2014  09:54 AM           313,344 orexxole.dll
>>>>>>>> 06/15/2014  09:54 AM         1,717,248 rexx.dll
>>>>>>>> 06/15/2014  09:50 AM           372,736 rexxapi.dll
>>>>>>>> 06/15/2014  09:54 AM           395,776 rexxutil.dll
>>>>>>>> 06/15/2014  09:54 AM           289,792 rxmath.dll
>>>>>>>> 06/15/2014  09:54 AM           195,584 rxregexp.dll
>>>>>>>> 06/15/2014  09:54 AM           238,080 rxsock.dll
>>>>>>>> 06/15/2014  09:54 AM           311,808 rxwinsys.dll
>>>>>>>>               10 File(s)      5,312,000 bytes
>>>>>>>>                0 Dir(s)   1,773,953,024 bytes free
>>>>>>>>
>>>>>>>> Looking at the CMake files, it looks to me like none of the
>>>>>>>> extension DLLs are built as debug files.  But, rexx.dll and 
>>>>>>>> oodialog.dll
>>>>>>>> are much larger than the old style build, indicating the compile and/or
>>>>>>>> link flags are different.
>>>>>>>>
>>>>>>>> makeorx works with the current head.  It just leaves out some of
>>>>>>>> the newer samples that Rick added.
>>>>>>>>
>>>>>>>> I used testOORexx.rex -B as the command line for the test suite.
>>>>>>>>
>>>>>>>> The CMake build will work with the test suite as long as you build
>>>>>>>> an install package and install it.
>>>>>>>>
>>>>>>>> Otherwise, if you don't want to install the package, you can set
>>>>>>>> REXX_HOME to point to the out-of-source build directory like this:
>>>>>>>>
>>>>>>>> set REXX_HOME=C:\work.ooRexx\wc\build.debug\NSIS\files\DevLib
>>>>>>>>
>>>>>>>> but, you have to at least build the NSIS installer for that to
>>>>>>>> work.  If things aren't right, when the external API libraries are 
>>>>>>>> built,
>>>>>>>> the header files won't be found.
>>>>>>>>
>>>>>>>> --
>>>>>>>> Mark Miesfeld
>>>>>>>>
>>>>>>>>
>>>>>>>> ------------------------------------------------------------------------------
>>>>>>>> HPCC Systems Open Source Big Data Platform from LexisNexis Risk
>>>>>>>> Solutions
>>>>>>>> Find What Matters Most in Your Big Data with HPCC Systems
>>>>>>>> Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
>>>>>>>> Leverages Graph Analysis for Fast Processing & Easy Data Exploration
>>>>>>>> http://p.sf.net/sfu/hpccsystems
>>>>>>>> _______________________________________________
>>>>>>>> Oorexx-devel mailing list
>>>>>>>> Oorexx-devel@lists.sourceforge.net
>>>>>>>> https://lists.sourceforge.net/lists/listinfo/oorexx-devel
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> ------------------------------------------------------------------------------
>>>>>>> HPCC Systems Open Source Big Data Platform from LexisNexis Risk
>>>>>>> Solutions
>>>>>>> Find What Matters Most in Your Big Data with HPCC Systems
>>>>>>> Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
>>>>>>> Leverages Graph Analysis for Fast Processing & Easy Data Exploration
>>>>>>> http://p.sf.net/sfu/hpccsystems
>>>>>>> _______________________________________________
>>>>>>> Oorexx-devel mailing list
>>>>>>> Oorexx-devel@lists.sourceforge.net
>>>>>>> https://lists.sourceforge.net/lists/listinfo/oorexx-devel
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> ------------------------------------------------------------------------------
>>>>>> HPCC Systems Open Source Big Data Platform from LexisNexis Risk
>>>>>> Solutions
>>>>>> Find What Matters Most in Your Big Data with HPCC Systems
>>>>>> Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
>>>>>> Leverages Graph Analysis for Fast Processing & Easy Data Exploration
>>>>>> http://p.sf.net/sfu/hpccsystems
>>>>>> _______________________________________________
>>>>>> Oorexx-devel mailing list
>>>>>> Oorexx-devel@lists.sourceforge.net
>>>>>> https://lists.sourceforge.net/lists/listinfo/oorexx-devel
>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>> ------------------------------------------------------------------------------
>>>> HPCC Systems Open Source Big Data Platform from LexisNexis Risk
>>>> Solutions
>>>> Find What Matters Most in Your Big Data with HPCC Systems
>>>> Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
>>>> Leverages Graph Analysis for Fast Processing & Easy Data Exploration
>>>> http://p.sf.net/sfu/hpccsystems
>>>> _______________________________________________
>>>> Oorexx-devel mailing list
>>>> Oorexx-devel@lists.sourceforge.net
>>>> https://lists.sourceforge.net/lists/listinfo/oorexx-devel
>>>>
>>>>
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
>>> Find What Matters Most in Your Big Data with HPCC Systems
>>> Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
>>> Leverages Graph Analysis for Fast Processing & Easy Data Exploration
>>> http://p.sf.net/sfu/hpccsystems
>>> _______________________________________________
>>> Oorexx-devel mailing list
>>> Oorexx-devel@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/oorexx-devel
>>>
>>>
>>
>
>
> ------------------------------------------------------------------------------
> HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
> Find What Matters Most in Your Big Data with HPCC Systems
> Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
> Leverages Graph Analysis for Fast Processing & Easy Data Exploration
> http://p.sf.net/sfu/hpccsystems
> _______________________________________________
> Oorexx-devel mailing list
> Oorexx-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/oorexx-devel
>
>
------------------------------------------------------------------------------
HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing & Easy Data Exploration
http://p.sf.net/sfu/hpccsystems
_______________________________________________
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel

Reply via email to