Title: | DIGITAL UNIX (FORMERLY KNOWN AS DEC OSF/1) |
Notice: | Welcome to the Digital UNIX Conference |
Moderator: | SMURF::DENHAM |
Created: | Thu Mar 16 1995 |
Last Modified: | Fri Jun 06 1997 |
Last Successful Update: | Fri Jun 06 1997 |
Number of topics: | 10068 |
Total number of notes: | 35879 |
Code which used to compile on V3.2D results in '_terrno unresolved' when I attempt to compile it on V4.0B. Any ideas, advice how to pursue this would be appreciated. Thanks, Stuart. # make clean ; make ; make nss /usr/bin/rm -f core *~ ../obj/*.o *.o tst nss ../lib/lib_sys_server.a Compiling C++ file ss_comms_server.C cxx: Warning: /usr/include/xti.h, line 308: The redefinition of the macro "T_NULL" conflicts with a current definition because the replacement lists differ. The redefinition is now in effect. #define T_NULL 0 ------------------------^ Finished ss_comms_server.o Compiling Template file templates.C - using -define_templates ! Finished templates.o Re-building library ../lib/lib_sys_server.a Library ../lib/lib_sys_server.a is now up-to-date Bringing required libraries up to date Updating lib_sys_server.a Updating lib_sys_device_interface.a Updating lib_sys_comms_services.a Updating lib_lmc_aai.a Updating lib_project_common.a Re-linking nss ... /usr/bin/cxx -o nss -g -threads -DXTI_XPG3 -DDEBUG -D_THREAD_SAFE -DSNACC_DEEP_COPY=1 -g -threads -lm -lutc -lrt -ldnet -ldna -lX11 -lXt -lXm -ldns -lxti -lxtiosi nss.C -I../../../sys/comms_services/include -I../../../project_common/include -I../../../lmc/aai/include -I../../../sys/server/include ../../../sys/server/lib/lib_sys_server.a ../../../sys/device_interface/lib/lib_sys_device_interface.a ../../../sys/comms_services/lib/lib_sys_comms_services.a ../../../lmc/aai/lib/lib_lmc_aai.a ../../../project_common/lib/lib_project_common.a ../../../omc/snmp/lib/lib_omc_snmp.a ../../../tools/netview/lib/libnvsnmp.a ../../../tools/netview/lib/libesnmp.so ../../../tools/netview/lib/libovw.a ../../../tools/netview/lib/libov.a ../../../tools/netview/lib/libntl.a ../../../sys/server/lib/lib_sys_server.a ../../../sys/device_interface/lib/lib_sys_device_interface.a ../../../sys/comms_services/lib/lib_sys_comms_services.a ../../../lmc/aai/lib/lib_lmc_aai.a ../../../project_common/lib/lib_project_common.a ../../../omc/snmp/lib/lib_omc_snmp.a ../../../tools/netview/lib/libnvsnmp.a ../../../tools/netview/lib/libesnmp.so ../../../tools/netview/lib/libovw.a ../../../tools/netview/lib/libov.a ../../../tools/netview/lib/libntl.a ../../../sys/server/lib/lib_sys_server.a ../../../sys/device_interface/lib/lib_sys_device_interface.a ../../../sys/comms_services/lib/lib_sys_comms_services.a ../../../lmc/aai/lib/lib_lmc_aai.a ../../../project_common/lib/lib_project_common.a ../../../omc/snmp/lib/lib_omc_snmp.a ../../../tools/netview/lib/libnvsnmp.a ../../../tools/netview/lib/libesnmp.so ../../../tools/netview/lib/libovw.a ../../../tools/netview/lib/libov.a ../../../tools/netview/lib/libntl.a ../../../sys/server/lib/lib_sys_server.a ../../../sys/device_interface/lib/lib_sys_device_interface.a ../../../sys/comms_services/lib/lib_sys_comms_services.a ../../../lmc/aai/lib/lib_lmc_aai.a ../../../project_common/lib/lib_project_common.a ../../../omc/snmp/lib/lib_omc_snmp.a ../../../tools/netview/lib/libnvsnmp.a ../../../tools/netview/lib/libesnmp.so ../../../tools/netview/lib/libovw.a ../../../tools/netview/lib/libov.a ../../../tools/netview/lib/libntl.a ld: Unresolved: _terrno(void) *** Exit 1 Stop. # # odump -Dl nss ***LIBRARY LIST SECTION*** Name Time-Stamp CheckSum Flags Version nss: libm.so Nov 16 01:49:59 1996 0x6888af99 0 osf.1 libutc.so Apr 5 18:38:16 1996 0xc2496287 0 librt.so Nov 16 02:00:24 1996 0x7d7e57d7 0 osf.1 libdnet.so Aug 8 20:27:30 1996 0x7399ce54 0 libdnet.so Aug 8 20:27:30 1996 0x7399ce54 0 libdna.so Aug 13 18:33:14 1996 0x67f343ba 0 libdna.so Aug 13 18:33:14 1996 0x67f343ba 0 libX11.so Nov 16 07:08:39 1996 0x3456049e 0 libXt.so Nov 16 07:14:31 1996 0x10dd9a17 0 libXm.so Nov 16 08:34:26 1996 0xa55f6d32 0 motif1.2 libdns.so Aug 13 18:33:10 1996 0xb8c95281 0 libdns.so Aug 13 18:33:10 1996 0xb8c95281 0 libxti.so Nov 16 02:00:11 1996 0x5cbd395b 0 osf.1 libxtiosi.so Aug 8 20:37:24 1996 0x1b91f890 0 libnvsnmp.a Dec 6 05:25:56 1995 0x412a52ec 0 libesnmp.so Dec 12 00:12:46 1995 0xf821cd2d 0 osf.1 libovw.a Dec 6 05:25:23 1995 0x7ac8f975 0 libov.a Dec 6 05:25:13 1995 0x8d89d092 0 libntl.a Dec 6 05:25:13 1995 0x12de5ac6 0 libnvsnmp.a Dec 6 05:25:56 1995 0x412a52ec 0 libesnmp.so Dec 12 00:12:46 1995 0xf821cd2d 0 osf.1 libovw.a Dec 6 05:25:23 1995 0x7ac8f975 0 libov.a Dec 6 05:25:13 1995 0x8d89d092 0 libntl.a Dec 6 05:25:13 1995 0x12de5ac6 0 libnvsnmp.a Dec 6 05:25:56 1995 0x412a52ec 0 libesnmp.so Dec 12 00:12:46 1995 0xf821cd2d 0 osf.1 libovw.a Dec 6 05:25:23 1995 0x7ac8f975 0 libov.a Dec 6 05:25:13 1995 0x8d89d092 0 libntl.a Dec 6 05:25:13 1995 0x12de5ac6 0 libnvsnmp.a Dec 6 05:25:56 1995 0x412a52ec 0 libesnmp.so Dec 12 00:12:46 1995 0xf821cd2d 0 osf.1 libovw.a Dec 6 05:25:23 1995 0x7ac8f975 0 libov.a Dec 6 05:25:13 1995 0x8d89d092 0 libntl.a Dec 6 05:25:13 1995 0x12de5ac6 0 libcxx.so Nov 16 01:53:54 1996 0x966808b6 0 V4.0.1 libpthreads.so Nov 16 01:58:52 1996 0x8512dc8c 0 osf.1 libpthread.so Nov 16 03:37:46 1996 0x50163f37 0 osf.1 libmach.so Nov 16 01:57:04 1996 0x97ad5768 0 osf.1 libexc.so Nov 16 01:50:05 1996 0x3184247e 0 osf.1 libc.so Nov 16 01:49:52 1996 0xf937323b 0 osf.1 #
T.R | Title | User | Personal Name | Date | Lines |
---|---|---|---|---|---|
9973.1 | Are you using -threads throughout? | WTFN::SCALES | Despair is appropriate and inevitable. | Thu May 29 1997 13:47 | 4 |
I see you're using the -threads switch on your link command line...are you using it on your compile command line? Webb | |||||
9973.2 | C++ problem? | CHEFS::DAVIDSONS | Sat May 31 1997 17:59 | 54 | |
Thanks, but I don't think this is a thread problem. The following code fragment demonstrates the problem. This only happens on V4.0B using C++. A similar C program has no problem. Also, the C++ program links OK on V3.2D. Any ideas why C++ make the reference to _terrno(void) ? ^^^^ Stuart. I'll X-post this in the C++ conference. # cxx test_errno.C -o test_errno.o -c # nm test_errno.o | grep errno _terrno(void) | 0000000000000000 | U | 0000000000000008 # cxx test_errno.C -o test_errno -lxti ld: Unresolved: _terrno(void) # nm /usr/shlib/libxti.so | grep errno _Get_terrno | 0004395912546600 | T | 0000000000000008 _Geterrno | 0000000000000000 | U | 0000000000000008 _Set_terrno | 0004395912546648 | T | 0000000000000008 _Seterrno | 0000000000000000 | U | 0000000000000008 __init_terrno | 0004395912546328 | T | 0000000000000008 _terrno | 0004395912546048 | T | 0000000000000008 errno | 0000000000000004 | C | 0000000000000000 free_terrno | 0004395912546536 | T | 0000000000000008 t_errno | 0004396978018736 | S | 0000000000000000 #include <xti.h> #include <iostream.h> class test_errno { public: test() { int t; t = t_errno; cout << t; } }; main() { test_errno te; te.test(); } | |||||
9973.3 | xti.h doesn't seem to really understand C++ | WIBBIN::NOYCE | Pulling weeds, pickin' stones | Mon Jun 02 1997 11:40 | 6 |
Do you need to make sure the names aren't mangled? Try bracketing the #include <xti.h> like this: extern "C" { #include <xti.h> } | |||||
9973.4 | Reported as OSF_QAR 53271 | DECC::SULLIVAN | Jeff Sullivan | Mon Jun 02 1997 12:41 | 9 |
I reported this as Medium priority QAR 53271, assigned to NETWORKING. If you need to add more info or re-assign, feel free to do so. This would need to be a High priority or greater to be included in PT.minor. Else it will be fixed (hopefully) in Steel. Thanks for posting the problem. -Jeff | |||||
9973.5 | SMURF::DENHAM | Digital UNIX Kernel | Mon Jun 02 1997 13:38 | 2 | |
Fix it in ptmin! Crank the priority if you have to... | |||||
9973.6 | A compilation environment/integration problem related to threads. | WTFN::SCALES | Despair is appropriate and inevitable. | Mon Jun 02 1997 14:29 | 12 |
.2> Thanks, but I don't think this is a thread problem. [...] .2> Any ideas why C++ make the reference to _terrno(void) ? Are you asking why _terrno is a function, or why it takes no arguments? (;-) It's a function so that it will work well with threads (because if it were a global variable multiple threads couldn't use it at the same time). It takes no arguments because none are required... Webb | |||||
9973.7 | Thanks, extern "C" fix is fine for now | CHEFS::DAVIDSONS | Mon Jun 02 1997 16:55 | 1 | |