[Info-vax] Error running MariaDB

Mark Berryman mark at theberrymans.com
Fri Oct 9 13:07:49 EDT 2020


On 10/8/20 5:35 PM, John Reagan wrote:
> On Thursday, October 8, 2020 at 7:07:31 PM UTC-4, Craig A. Berry wrote:
>> On 10/8/20 3:42 PM, Stephen Hoffman wrote:
>>> On 2020-10-08 18:16:28 +0000, John Reagan said:
>>>
>>>> As yes, we extended fpclassify() and that seems to introduce the new
>>>> entry point definitions. I'll pass this along to the engineers to
>>>> see what they think.
>>>
>>> Prolly missing a dependency on VMS842L1I_DPML-V0100 (I64) or
>>> VMS842L1A_DPML V1.0 (Alpha)—the C99 kits don't list that as a
>>> dependency, though. OpenJDK does list that, though little else.
>> I'm pretty sure this is the first time a major (not entirely compatible)
>> CRTL change has been released outside of an OS release. So developers
>> who have always assumed if you provide binaries linked on an 8.4.x
>> system that is completely up-to-date on patches that it will run on any
>> 8.4.x system can no longer make that assumption.
>>
>> If you want to require anyone using your package to have the C99
>> features added recently, then you need to specify the C99 and DPML
>> updates in your PCSI dependencies or require some later version of VMS
>> (presumably v8.4-2L3 or later).
>>
>> If you want to provide binaries that work on systems without the C99 and
>> DPML patches, then you either need to maintain unpatched systems and
>> build your releases on those, or do an unsupported dance with the linker
>> to make it see older libraries than what you have installed on your system.
>>
>> If I have left out any options, someone please fill me in.
> Using the older RTLs doesn't work for C since the problem is what the headers defined.
> 
> You need to use /DEFINE=(__CRTL_VER=80400000) when you compile the code [or whatever the oldest version you want to support].
> Those symbols are described in the CRTL reference manual.

Except that when you try that you get the following error:
%CXX-F-BADPREMACREDEF, incompatible redefinition of predefined macro
           "__CRTL_VER"

MariaDB is full of C++ code.

Mark Berryman



More information about the Info-vax mailing list