To whom it may concern, Thanks for taking the time to look at this issue! I'm Tracy Vandeventer and I am trying to port an application from HPUX to Linux (YEA!!). This application contains over 10 executables and ~140 shared libraries with a total of ~1.4 million lines of code. My problem is that I have a shared library that has some unresolved symbols. I want to be able to load this library and not have it fail because of unresolved symbols. ( at some point in the future the symbols will be resolved, but.. I'm not done with all the porting...) The problem is that the dlopen library call has a parameter flags with a possible value being RTLD_LAZY. When I uses this flag the dlopen call still fails with unresolved symbols, when it should just load the library and resolve what it can and then return. The following code snippet demostrates the problem... When you execute the main executable - a message is printed that shows the failed dlopen call. This call should NOT fail... These files are located in the shar at the end of this message: readme - this file main.c - the main program that loads the library and then makes a call into the library - note that the unresolved symbol is not needed for the call... lib1.c - the library code with an unresolved symbol m - a quick script that builds the library, the executable, and then executes the program lib1.so- the library binary main - the executable binary >g++ -v Reading specs from /usr/lib/gcc-lib/i386-linux/2.95.2/specs gcc version 2.95.2 20000220 (Debian GNU/Linux) **** note the specs file is located below.... >ld --version GNU ld 2.9.5 Copyright 1997 Free Software Foundation, Inc. This program is free software; you may redistribute it under the terms of the GNU General Public License. This program has absolutely no warranty. Supported emulations: elf_i386 i386linux Again thanks for all your help ... tracy@cos.agilent.com ______________________________________________________________________ Tracy Vandeventer e-mail: tracy_vandeventer@agilent.com Agilent Technologies USmail: 1900 Garden of the Gods Road R&D Digital Design PGU PO Box 2197 Phone : (719) 590-2640 Colorado Springs, CO 80901-2197 ______________________________________________________________________ > cat /usr/lib/gcc-lib/i386-linux/2.95.2/specs *asm: %{v:-V} %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Yd,*} %{Wa,*:%*} *asm_final: %| *cpp: %(cpp_cpu) %{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT} *cc1: %(cc1_cpu) %{profile:-p} *cc1plus: *endfile: %{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s *link: -m elf_i386 %{shared:-shared} %{!shared: %{!ibcs: %{!static: %{rdynamic:-export-dynamic} %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} %{static:-static}}} *lib: %{shared: -lc} %{!shared: %{mieee-fp:-lieee} %{pthread:-lpthread} %{profile:-lc_p} %{!profile: -lc}} *libgcc: -lgcc *startfile: %{!shared: %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} %{!p:%{profile:gcrt1.o%s} %{!profile:crt1.o%s}}}} crti.o%s %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s} *switches_need_spaces: *signed_char: %{funsigned-char:-D__CHAR_UNSIGNED__} *predefines: -D__ELF__ -Dunix -D__i386__ -Dlinux -Asystem(posix) *cross_compile: 0 *version: 2.95.2 *multilib: . ; *multilib_defaults: *multilib_extra: *multilib_matches: *linker: collect2 *cpp_486: %{!ansi:-Di486} -D__i486 -D__i486__ *cpp_586: %{!ansi:-Di586 -Dpentium} -D__i586 -D__i586__ -D__pentium -D__pentium__ *cpp_k6: %{!ansi:-Di586 -Dk6} -D__i586 -D__i586__ -D__k6 -D__k6__ *cpp_686: %{!ansi:-Di686 -Dpentiumpro} -D__i686 -D__i686__ -D__pentiumpro -D__pentiumpro__ *cpp_cpu_default: *cpp_cpu: -Acpu(i386) -Amachine(i386) %{!ansi:-Di386} -D__i386 -D__i386__ %{mcpu=i486:%(cpp_486)} %{m486:%(cpp_486)} %{mpentium:%(cpp_586)} %{mcpu=pentium:%(cpp_586)} %{mpentiumpro:%(cpp_686)} %{mcpu=pentiumpro:%(cpp_686)} %{mcpu=k6:%(cpp_k6)} %{!mcpu*:%{!m486:%{!mpentium*:%(cpp_cpu_default)}}} *cc1_cpu: %{!mcpu*: %{m386:-mcpu=i386 -march=i386} %{m486:-mcpu=i486 -march=i486} %{mpentium:-mcpu=pentium} %{mpentiumpro:-mcpu=pentiumpro}} *link_command: %{!fsyntax-only: %{!c:%{!M:%{!MM:%{!E:%{!S:%(linker) %l %X %{o*} %{A} %{d} %{e*} %{m} %{N} %{n} %{r} %{s} %{t} %{u*} %{x} %{z} %{Z} %{!A:%{!nostdlib:%{!nostartfiles:%S}}} %{static:} %{L*} %D %o %{!nostdlib:%{!nodefaultlibs:%G %L %G}} %{!A:%{!nostdlib:%{!nostartfiles:%E}}} %{T*} }}}}}} ******** end of specs file