Re: freetds on solaris 11: symbol scope specifies local binding (same problem)
"James K. Lowden" <[email protected]>
| Newsgroups | gmane.comp.db.tds.freetds |
|---|---|
| Message-ID | <[email protected]> |
On Fri, 27 Sep 2013 10:31:50 -0700 Justin T Pryzby <[email protected]> wrote: > On Thu, Sep 26, 2013 at 09:05:24PM -0400, James K. Lowden wrote: > > Let's take the linker at its word, then. It says strlen in ct.o is > > specified as local binding. What does nm(1) say of strlen > > in .lib/ct.o? > $ nm ./src/ctlib/.libs/ct.o |grep strlen > [481] | 0| 0|NOTY |GLOB |2 |UNDEF |strlen > > 481 is an index into the symbol table; > 0 is its "value"; > 0 is its size; > type:NOTYPE means: No type was specified; > > bind:GLOBAL means: Are visible to all object files being combined; > The other bind values are LOCAL and WEAK. > > 2 means: STV_HIDDEN from sys/elf.h > I guess that is the problem (?) I still think it has to do with the > linker script/mapping table/whatever. Hmm, I doubt it's the linker because you produced the same error without any fancy linker flags. And the STV_HIDDEN property would seem to corroborate the linker's complaint that the symbol has local linkage. I rather suspect the compiler, because it's what produced ct.o. What's the compiler command line look like? Anything there that deals with symbol visibility or that affects linkage? --jkl