T.R | Title | User | Personal Name | Date | Lines |
---|
3557.1 | | TLE::WHITMAN | | Mon Apr 28 1997 15:07 | 17 |
|
tree_mutex is used for multithread safety locking in the tree header
file. It is declared as "extern" inside the tree header file. If you
look inside the tree header file you'll see:
#if defined (__DECCXX) && \
(defined(__VMS) || defined(_REENTRANT) || defined(SL_THREAD_SAFE))
extern __CXXL_TIS_MUTEX *__tree_mutex;
#endif
__tree_mutex should be defined in sys$library:libcxxstd.olb, in a
module tree.obj.
Can you verify that you are using the correct combination of headers
and library ?
|
3557.2 | not in libcxxstd.olb | CSC32::J_HENSON | Don't get even, get ahead! | Tue Apr 29 1997 15:45 | 20 |
| >> <<< Note 3557.1 by TLE::WHITMAN >>>
I had the customer recompile using cxx/list/show=all and edit the .lis file.
Searching for __tree_mutex showed it to have the exact same definition as
listed in the previous reply.
However, we could not find a module named TREE in libcxxstd.olb. We
did find some symbols with the word tree in their name in module
cxxl_std_init. Then, we searched libcxxstd.olb on an alpha system,
and found that this symbol was defined in the cxxl_std_init module.
So, it appears that this symbol is just not on his system.
Is there a run-time upgrade that should be installed on OpenVMS Vax V6.2
that will provide this, or is just plain not available? Is there a
later version of c++ (he has v5.4-010) taht will help?
Thanks,
Jerry
|
3557.3 | | TLE::WHITMAN | | Wed Apr 30 1997 11:22 | 51 |
| Here is the output of a libr/list/full/names command on a
V5.4 libcxxstd.olb from an OpenVMS VAX system:
Creation date: 5-JUN-1996 16:15:52 Creator: VAX-11 Librarian V04-00
Revision date: 5-JUN-1996 16:27:12 Library format: 3.0
Number of modules: 4 Max. key length: 31
Other entries: 23 Preallocated index blocks: 49
Recoverable deleted blocks: 0 Total index blocks used: 4
Max. Number history records: 20 Library history records: 4
Module BITVECTOR Ident V1.0 Inserted 5-JUN-1996 16:26:47 4 symbols
CXX$INSRT10BTVCTRXQ110BT0UK7AU6
CXX$INSRT10BTVCTRXQ110BT1RT15KI
CXX$INSRTUX10BTVCTRXQ1103V2FG97
CXX$SWPXQ110BTVCTR9RFRNC027CLNE
Module BV_INST Ident V1.0 Inserted 5-JUN-1996 16:27:06 11 symbols
CXX$CPYBCKWRDXQ110BTVCTR35JDC2S
CXX$CPYXQ110BTVCTR14CNST14OBU9M
CXX$CPYXQ110BTVCTR8ITRTR1AER7CC
CXX$DSTNCXQ110BTVCTR14CN0AFL3EO
CXX$DSTNCXQ110BTVCTR14CN158Q289
CXX$DSTNCXQ110BTVCTR14CN1U8B5VT
CXX$FLLNXQ110BTVCTR8ITRT3DA1L0V
CXX$FLLXQ110BTVCTR8ITRTR03KI8IS
CXX$LXCGRPHCLCMPRXQ110BT35AB8LL
CXX$MSMTCHXQ110BTVCTR14C1SS0HI6
FILL__XPUIPUINKI
Module CXXL_STD_INIT Ident V1.0 Inserted 5-JUN-1996 16:27:12 3 symbols
_PINIT_CXXL_STD_INIT32DD73
__INIT_CXXL_STD_INIT32DD73
__TREE_MUTEX
Module RANDOM Ident V1.0 Inserted 5-JUN-1996 16:27:09 5 symbols
RD
SEED__18__RANDOM_GENERATORXUL
_PINIT_RANDOM2F422B
__INIT_RANDOM2F422B
__LONG_RANDOM__XUL
I incorrectly said __tree_mutex should be defined in tree.obj, it
should be in cxxl_std_init. Does the library on your system have
a creation date of 5-June-1996 ? If __tree_mutex is missing from
the library is there any chance that the V5.4 OpenVMS VAX installation
failed ?
The next things that I can suggest are posting a map file and the
output of the cxxlink/log command.
|
3557.4 | from kit, not from installed libcxxstd.olb | HNDYMN::MCCARTHY | A Quinn Martin Production | Wed Apr 30 1997 11:53 | 8 |
| >>Here is the output of a libr/list/full/names command on a
>>V5.4 libcxxstd.olb from an OpenVMS VAX system:
Actually the listing Sandra posted was from the libcxxstd.olb from the
5.4 compiler backup saveset. At installation time there will be at least
one module added to that library.
bjm
|
3557.5 | v5.5 version of libcxxstd.olb? | CSC32::J_HENSON | Don't get even, get ahead! | Wed Apr 30 1997 12:24 | 18 |
| I have some additional information.
Just now, the cusotmer told me that he has recently downgraded his
c++ version from v5.5 to v5.4. Perhaps this explains the problem.
The creation date on his libcxxstd.olb is 1-oct-1996 with a revision
date of 27-mar-1997. The cxxl_std_init module was inserted on
1-oct-1996. The __tree_mutex entry point is NOT in this library.
Does this clear things up? I have asked him to re-install c++ v5.4,
but don't know if this will make a difference. I also asked him to
check the 5.4 saveset for this library, and pull it out and use it.
Is this an acceptable thing to do, or should he be doing something
else?
Thanks,
Jerry
|
3557.6 | DELETE EXISTING FILE PRIOR TO RE-INSTALLATION! | HNDYMN::MCCARTHY | A Quinn Martin Production | Wed Apr 30 1997 14:36 | 5 |
| They have to delete sys$library:libcxxstd.olb before doing the reinstall of
5.4. The installation procedure is going to think that the 5.5 version is
newer and not install over it.
Brian J.
|
3557.7 | thanks | CSC32::J_HENSON | Don't get even, get ahead! | Thu May 01 1997 11:16 | 10 |
| >> <<< Note 3557.6 by HNDYMN::MCCARTHY "A Quinn Martin Production" >>>
>> -< DELETE EXISTING FILE PRIOR TO RE-INSTALLATION! >-
>>They have to delete sys$library:libcxxstd.olb before doing the reinstall of
>>5.4. The installation procedure is going to think that the 5.5 version is
>>newer and not install over it.
Thanks. I've instructed the customer to do this.
Jerry
|