Oralcle 9i for Linux: Installation linking problem

From: steinert <stefan.steinert_at_intralab.de>
Date: 23 Sep 2001 10:31:14 -0700
Message-ID: <6deb47bd.0109230931.4423a8a0_at_posting.google.com>


Hi all,

today I tried to install the Oracle 9i database for Linux. After properly setting up the environment and tuning the kernel params as described in the quick installation manual the installation works as expected.

But when it comes to linking the oracle db components (this is the second part of the installation process) I run into problems. The compiler claims about undefined references. Here is an example taken from the install logfile $ORACLE_HOME/install/make.log:

---cut here---
/usr/bin/make -f ins_net_client.mk client_sharedlib
ORACLE_HOME=/opt/oracle/product/9.0.1
/opt/oracle/product/9.0.1/bin/genclntsh
/opt/oracle/product/9.0.1/lib/libgeneric9.a(skgfr.o): In function
`skgfrpini':
skgfr.o(.text+0x125): undefined reference to `__cmpdi2'
/lib/libc.so.6: undefined reference to `_dl_lazy_at_GLIBC_2.1.1'
/lib/libc.so.6: undefined reference to

`_dl_dst_substitute_at_GLIBC_2.1.1'
/lib/libc.so.6: undefined reference to `_dl_out_of_memory_at_GLIBC_2.2'
/lib/libc.so.6: undefined reference to `_dl_relocate_object_at_GLIBC_2.0'
/lib/libc.so.6: undefined reference to `_dl_clktck_at_GLIBC_2.2'
/lib/libc.so.6: undefined reference to

`__libc_enable_secure_at_GLIBC_2.0'
/lib/libc.so.6: undefined reference to `_dl_catch_error_at_GLIBC_2.0'
/lib/libc.so.6: undefined reference to `_dl_platformlen_at_GLIBC_2.1.1'
/lib/libc.so.6: undefined reference to

`_dl_lookup_versioned_symbol_skip_at_GLIBC_2.0'
/lib/libc.so.6: undefined reference to

`_dl_lookup_versioned_symbol_at_GLIBC_2.0'
/lib/libc.so.6: undefined reference to `_dl_mcount_at_GLIBC_2.1'
/lib/libc.so.6: undefined reference to `_dl_dst_count_at_GLIBC_2.1.1'
/lib/libc.so.6: undefined reference to

`_dl_initial_searchlist_at_GLIBC_2.1'
/lib/libc.so.6: undefined reference to `_dl_start_profile_at_GLIBC_2.1'
/lib/libc.so.6: undefined reference to `_dl_lookup_symbol_at_GLIBC_2.0'
/lib/libc.so.6: undefined reference to `__libc_stack_end_at_GLIBC_2.1'
/lib/libc.so.6: undefined reference to `_dl_argv_at_GLIBC_2.2'
/lib/libc.so.6: undefined reference to `_dl_loaded_at_GLIBC_2.1'
/lib/libc.so.6: undefined reference to `_dl_origin_path_at_GLIBC_2.1.1'
/lib/libc.so.6: undefined reference to

`_dl_check_map_versions_at_GLIBC_2.2'
/lib/libc.so.6: undefined reference to `_dl_map_object_at_GLIBC_2.0'
/lib/libc.so.6: undefined reference to `_dl_main_searchlist_at_GLIBC_2.1'
/lib/libc.so.6: undefined reference to `_dl_debug_mask_at_GLIBC_2.2.3'
/lib/libc.so.6: undefined reference to `_dl_load_lock_at_GLIBC_2.2'
/lib/libc.so.6: undefined reference to `_dl_profile_at_GLIBC_2.1'
/lib/libc.so.6: undefined reference to `_dl_debug_state_at_GLIBC_2.0'
/lib/libc.so.6: undefined reference to `_dl_init_all_dirs_at_GLIBC_2.2'
/lib/libc.so.6: undefined reference to `_r_debug_at_GLIBC_2.0'
/lib/libc.so.6: undefined reference to `_dl_unload_cache_at_GLIBC_2.1'
/lib/libc.so.6: undefined reference to `_dl_signal_error_at_GLIBC_2.0'
/lib/libc.so.6: undefined reference to `_dl_debug_printf_at_GLIBC_2.2.3'
/lib/libc.so.6: undefined reference to `_dl_init_at_GLIBC_2.2'
/lib/libc.so.6: undefined reference to `_dl_all_dirs_at_GLIBC_2.2'
/lib/libc.so.6: undefined reference to `_dl_map_object_deps_at_GLIBC_2.0'
/lib/libc.so.6: undefined reference to `_dl_nloaded_at_GLIBC_2.2'
/lib/libc.so.6: undefined reference to `_dl_profile_map_at_GLIBC_2.1'
/lib/libc.so.6: undefined reference to `_dl_profile_output_at_GLIBC_2.1'
/lib/libc.so.6: undefined reference to `_dl_pagesize_at_GLIBC_2.2'
/lib/libc.so.6: undefined reference to

`_dl_lookup_symbol_skip_at_GLIBC_2.0'
/lib/libc.so.6: undefined reference to `_dl_fpu_control_at_GLIBC_2.1'
/usr/lib/libdl.so: undefined reference to `_dl_catch_error'
/lib/libc.so.6: undefined reference to

`_dl_global_scope_alloc_at_GLIBC_2.1'

Created /opt/oracle/product/9.0.1/lib/libclntst9.a

/opt/oracle/product/9.0.1/bin/genagtsh
/opt/oracle/product/9.0.1/lib/libagtsh.so 1.0
/usr/bin/make -f ins_plsql.mk install

ORACLE_HOME=/opt/oracle/product/9.0.1
chmod 755 /opt/oracle/product/9.0.1/bin
rm -f wrap
Linking wrap
gcc -o wrap -L/opt/oracle/product/9.0.1/plsql/lib/ -L/opt/oracle/product/9.0.1/lib/
/opt/oracle/product/9.0.1/plsql/lib/s0plsw.o -l
psa9 -lpls9 -lplp9 -lclntsh `cat
/opt/oracle/product/9.0.1/lib/ldflags` -lnsslb9 -lncrypt9 -lnsgr9
-lnzjs9 -ln9 -lnl9 -lnro9 `c
at /opt/oracle/product/9.0.1/lib/ldflags` -lnsslb9 -lncrypt9 -lnsgr9 -lnzjs9 -ln9 -lnl9 -lclient9 -lvsn9 -lwtc9 -lcommon9 -lgene ric9 -lwtc9 -lmm -lnls9 -lcore9 -lnls9 -lcore9 -lnls9 -lxml9 -lcore9 -lunls9 `cat /opt/oracle/product/9.0.1/lib/ldflags` -lnsslb 9 -lncrypt9 -lnsgr9 -lnzjs9 -ln9 -lnl9 -lnro9 `cat
/opt/oracle/product/9.0.1/lib/ldflags` -lnsslb9 -lncrypt9 -lnsgr9
-lnzjs9 -ln9
 -lnl9 -lclient9 -lvsn9 -lwtc9 -lcommon9 -lgeneric9 -ltrace9 -lnls9 -lcore9 -lnls9 -lcore9 -lnls9 -lxml9 -lcore9 -lunls9 -lclient 9 -lvsn9 -lwtc9 -lcommon9 -lgeneric9 -lnls9 -lcore9 -lnls9 -lcore9 -lnls9 -lxml9 -lcore9 -lunls9 `cat /opt/oracle/product/9.0.1/ lib/sysliblist` -ldl -lm /opt/oracle/product/9.0.1/lib/libplc9.a -lpls9 -lclient9 -lnl9 -lnro9 -ln9 /opt/oracle/product/9.0.1/rdbm s/lib/kpudfo.o -lmm -ltrace9 -lgeneric9 -lcommon9 -lslax9 -lcore9 -lunls9 -lsnls9 -lnls9 -lcore9 -lsql9 `cat /opt/oracle/produc
t/9.0.1/lib/sysliblist`
-Wl,-rpath,/opt/oracle/product/9.0.1/lib:/lib:/usr/lib -lm    `cat

/opt/oracle/product/9.0.1/lib/sysliblist`
 -ldl -lm
/usr/bin/ld: cannot find -lclntsh

collect2: ld returned 1 exit status
make: *** [wrap] Error 1
---cut here---

The symbols look like they were missing from glibc. I have a Redhat 7.1 system with the standard glibc packages:

glibc-common-2.2.2-10
glibc-2.2.2-10
glibc-devel-2.2.2-10

I use a self-compiled 2.4.9 kernel downloaded from kernel.org.

When I look for the symbols using objdump it looks like they are present, e.g. the command:
objdump --dynamic-syms /lib/libc-2.2.2.so |grep _dl_lazy

produces the output:
00000000 DO *UND* 00000004 GLIBC_2.1.1 _dl_lazy

The /etc/ld.so.conf file contains /lib (among others). LD_LIBRARY_PATH also contains /lib but I also tried it without because this should not be necessary.

Does anybody have an idea what is going on here?

thanks and bye,
stefan Received on Sun Sep 23 2001 - 19:31:14 CEST

Original text of this message