If the Rdb environment has been set correctly with @sys$share:rdb$setver.com, then the current .OLB for the API is pointed to by the logical name SQL$USER. It might be a good idea to use this logical, or at least test for it and fall back to SQL$USER.OLB if the logical is not set.
There's a complement to rdb$setver called rdb$shover that shows the currently set version. This might come in handy in the makefile. It might be nice to throw up a message about what version the Rdb modules are being built against. > -----Original Message----- > From: Craig Berry [mailto:[EMAIL PROTECTED] > Sent: Tuesday, October 21, 2003 11:27 AM > To: Willem Grooters; [EMAIL PROTECTED] > Subject: Re: Some DBD-RDB matters (OpenVMS only) > > > On Monday, October 20, 2003, at 03:54PM, Craig Berry <[EMAIL PROTECTED]> > wrote: > > > > >On Monday, October 20, 2003, at 03:22PM, Willem Grooters > <[EMAIL PROTECTED]> wrote: > > > >>Hello, > >> > >>Tried to build BDB-RDB-1_16, when linking, a lot of undefined references > >>due to the fact that SYS$IBRARY:SQ$USERS.OLB couldn't be located. Quite > >>obvious: it's called SQL$USER71.OLB. > > > >I don't think DBD::Rdb has been updated in a while and almost surely > predates multiple version supportin Rdb. Your changes seem ok for version > 7.1, but it would be nice if there were a more general solution. > > Alan Winston informs me off list that multi-version support has been > around for awhile. Check the value of your SQL$USER logical name, which > is apparently what DBD::Rdb should be using to locate the library. > Running RDB$SETVER.COM looks like it's the approved way to do that. If > SYS$LIBRARY:SQL$USERS.OLB is named explicitly in the Makefile.PL, I really > don't think it should be. My Rdb experience is extremely thin, so folks > in the know please chime in.
