[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: static linking and opportunistic dynamic linking problem



Goswin von Brederlow wrote:
md@Linux.IT (Marco d'Itri) writes:

  
On Dec 14, Alastair McKinstry <mckinstry@debian.org> wrote:

    
So where do people think the bug lies?
 - Should libdl be compiled into libnewt.a ?
      
Yes.
    
Is there even a libdl.a?

  
Yes, but its fairly strange, nm /usr/lib/libdl.a, to see what I mean;
no dlerror(), all the other symbols resolve to 00000, a stub, I think).

And what if I have libfoo.a libbar.a libblub.a all using dlopen?
Should they all have it linked in so I get 3 copies of the code?

No, if static libs need other libs the aplication has to link them in
at the end. Likely as a result of *.la files.

  
 - Should the static version of libnewt be built differently so as to
not call dlopen()?
      
Maybe.
    
That would be an option. But then the static version would have less
features.
  

Differences in functionality between the dynamic and static approaches
seems to be the least-pleasant solution. (both in runtime terms, not
behaving as expected, and also in terms of _how_ to build it.)

It looks like providing .la and pkg-config files to explain how to build it statically
looks like necessary. newt doesn't ordinarily use libtool, so I need to generate a .la
file and include it in the libnewt-dev. Currently testing this solution.



  
    - if so, any recommendations on how?
      
Remove the feature?

-- 
ciao,
Marco
    
MfG
        Goswin


  


Reply to: