Я прошел мимо вашей ошибки. Насколько я могу судить, ошибка заключалась в том, что он нажимал -lons вместо -leons. Я понятия не имею, что из них есть, но удаление -lons и добавление -leon, казалось, добились цели. То, что я в конечном итоге сделал, - это сборка частей с ошибками вручную. Вот что я сделал вручную, но вам придется изменить пути, чтобы они соответствовали вашим (я сделал это как root):
# cat sysliblist
-ldl -lm -lpthread -lnsl -lirc -lipgo -lsvml -lnnz11 -lclntsh -locrb11 -lasmclnt11 -leons
# cat ldflags
-lnbeq11 -lnhost11 -lnus11 -lnldap11 -lldapclnt11 -lnsslb11 -lntcp11 -lntcps11 -lnsslb11 -lntcp11 -lntns11
gcc -o tnslsnr -m64 -L/database/app/oracle/product/11.2.0/dbhome_1/network/lib/ -L/database/app/oracle/product/11.2.0/dbhome_1/lib/ -L/database/app/oracle/product/11.2.0/dbhome_1/lib/stubs/ /database/app/oracle/product/11.2.0/dbhome_1/network/lib/s0nsgl.o /database/app/oracle/product/11.2.0/dbhome_1/network/lib/snsglp.o -lclntsh `cat /database/app/oracle/product/11.2.0/dbhome_1/lib/ldflags` -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnro11 `cat /database/app/oracle/product/11.2.0/dbhome_1/lib/ldflags` -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnnz11 -lzt11 -lztkg11 -lztkg11 -lclient11 -lnnetd11 -lvsn11 -lcommon11 -lgeneric11 -lmm -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 `cat /database/app/oracle/product/11.2.0/dbhome_1/lib/ldflags` -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnro11 `cat /database/app/oracle/product/11.2.0/dbhome_1/lib/ldflags` -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lclient11 -lnnetd11 -lvsn11 -lcommon11 -lgeneric11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 -lclient11 -lnnetd11 -lvsn11 -lcommon11 -lgeneric11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 `cat /database/app/oracle/product/11.2.0/dbhome_1/lib/sysliblist` -Wl,-rpath,/database/app/oracle/product/11.2.0/dbhome_1/lib,-rpath,/database/app/oracle/product/11.2.0/dbhome_1/network/lib/ -lm `cat /database/app/oracle/product/11.2.0/dbhome_1/lib/sysliblist` -ldl -lm -L/database/app/oracle/product/11.2.0/dbhome_1/lib -lnl11 -ln11 -lnlsnr11 -lnlsnrc11 -lnsgr11 -lnms -lncm11 -lnmsp -lpeer -lnro11 -ln11 -lnl11 -lnlsnr11 -lnlsnrc11 -lnms -lncm11 -lnmsp -ln11 -lm -leons
Как только это скомпилируется правильно, вы должны отредактировать make-файл, чтобы он не пытался перекомпилировать и нарушать то, что вы только что собрали. Сделайте так, чтобы network / lib / ins_net_server.mk выглядела так:
#tnslsnr: $(S0NSGL) $(SNSGLP) $(NSGLPNP)
# $(SILENT)$(ECHO) " - Linking $(TNSLSNR)"
# $(RMF) $@
# $(TNSLSNR_LINKLINE)
#itnslsnr: tnslsnr
itnslsnr:
Это просто избавит от части tnslsnr, но оставит все остальное.
Следующий фрагмент, который я получил, был связан с «оракулом». Я получил эту ошибку:
INFO: /database/app/oracle/product/11.2.0/dbhome_1/lib//libocrutl11.so: undefined reference to `lfifcp'
То же самое с этим. Я запустил это вручную:
gcc -o /database/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/oracle -m64 -L/database/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ -L/database/app/oracle/product/11.2.0/dbhome_1/lib/ -L/database/app/oracle/product/11.2.0/dbhome_1/lib/stubs/ -Wl,-E /database/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/opimai.o /database/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ssoraed.o /database/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ttcsoi.o -Wl,--whole-archive -lperfsrv11 -Wl,--no-whole-archive /database/app/oracle/product/11.2.0/dbhome_1/lib/nautab.o /database/app/oracle/product/11.2.0/dbhome_1/lib/naeet.o /database/app/oracle/product/11.2.0/dbhome_1/lib/naect.o /database/app/oracle/product/11.2.0/dbhome_1/lib/naedhs.o /database/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/config.o -lclntsh -lserver11 -lodm11 -lcell11 -lnnet11 -lskgxp11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 -lclient11 -lvsn11 -lcommon11 -lgeneric11 -lknlopt `if /usr/bin/ar tv /database/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/libknlopt.a | grep xsyeolap.o > /dev/null 2>&1 ; then echo "-loraolap11" ; fi` -lslax11 -lpls11 -lrt -lplp11 -lserver11 -lclient11 -lvsn11 -lcommon11 -lgeneric11 `if [ -f /database/app/oracle/product/11.2.0/dbhome_1/lib/libavserver11.a ] ; then echo "-lavserver11" ; else echo "-lavstub11"; fi` `if [ -f /database/app/oracle/product/11.2.0/dbhome_1/lib/libavclient11.a ] ; then echo "-lavclient11" ; fi` -lknlopt -lslax11 -lpls11 -lrt -lplp11 -ljavavm11 -lserver11 -lwwg `cat /database/app/oracle/product/11.2.0/dbhome_1/lib/ldflags` -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnro11 `cat /database/app/oracle/product/11.2.0/dbhome_1/lib/ldflags` -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnnz11 -lzt11 -lztkg11 -lmm -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 -lztkg11 `cat /database/app/oracle/product/11.2.0/dbhome_1/lib/ldflags` -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnro11 `cat /database/app/oracle/product/11.2.0/dbhome_1/lib/ldflags` -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnnz11 -lzt11 -lztkg11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 `if /usr/bin/ar tv /database/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/libknlopt.a | grep "kxmnsd.o" > /dev/null 2>&1 ; then echo " " ; else echo "-lordsdo11"; fi` -L/database/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ -lctxc11 -lctx11 -lzx11 -lgx11 -lctx11 -lzx11 -lgx11 -lordimt11 -lclsra11 -ldbcfg11 -lhasgen11 -lskgxn2 -lnnz11 -lzt11 -lxml11 -locr11 -locrb11 -locrutl11 -lhasgen11 -lskgxn2 -lnnz11 -lzt11 -lxml11 -lasmclnt11 -lcommon11 -lcell11 -lskgxp11 -lgeneric11 -lcommon11 -lgeneric11 -loraz -llzopro -lorabz2 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 -lsnls11 -lunls11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 -lasmclnt11 -laio `cat /database/app/oracle/product/11.2.0/dbhome_1/lib/sysliblist` -Wl,-rpath,/database/app/oracle/product/11.2.0/dbhome_1/lib -lm `cat /database/app/oracle/product/11.2.0/dbhome_1/lib/sysliblist` -ldl -lm -L/database/app/oracle/product/11.2.0/dbhome_1/lib
Затем вам нужно взломать rdbms / lib / ins_rdbms.mk, чтобы закомментировать строки 705 и 706:
# $(RMF) $@
# $(ORACLE_LINKLINE)
После этого установщик прошел весь путь до конца. Надеюсь это поможет.