'import dl' on AMD64 platform

Nick Craig-Wood nick at craig-wood.com
Tue Feb 20 01:34:24 EST 2007


John Pye <john.pye at gmail.com> wrote:
>  On Feb 19, 6:30 am, Nick Craig-Wood <n... at craig-wood.com> wrote:
> > John Pye <john.... at gmail.com> wrote:
> > >  application from running on the Debian Etch AMD64 platform.
> > >  It seems that the 'dl' module is not available on that platform. The
> > >  only reason I need the 'dl' module, however, is for the values of
> > >  RTLD_LAZY etc, which I use with sys.setdlopenflags() in order to make
> > >  my imported SWIG module share its symbols correctly with more deeply-
> > >  nested plugin modiles in my C-code layer.
> >
> > >  I wonder if there is a workaround for this -- perhaps another way to
> > >  access the values of those RTLD flags?
> >
> > Read stuff out of /usr/include/bits/dlfcn.h ?
> >
> > It seems to be a constant 1 anyway
> >
> > #define RTLD_LAZY       0x00001
> >
> > You could try compiling the dl module by hand.
> 
>  Well yes, and that's the workaround I came up with: for systems that
>  don't provide the 'dl' module, I just default to the values I found on
>  my linux (ubuntu) system. This is a nasty hack however.
> 
>  I wonder if anyone could say why the Debian people left out this
>  important module from their AMD64 platform?

There is a note (from a 2002) in the changelog about

  * Always build the dl module. Failure in case of
        sizeof(int)!=sizeof(long)!=sizeof(void*)
    is delayed until dl.open is called. Closes: #141681.

  http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=141681

so maybe it doesn't build properly on amd64.  That, or it violating
the free software guidelines (unlikely in this case) are the two major
reasons for missing features in debian.

The normal procedure would be to try the package from unstable.

If that doesn't work then report a bug.  (Easiest with the reportbug
package.)

I don't have an amd64 machine to try otherwise I'd try it for you!

I looked in the latest packages for python2.4 & python2.5 for amd64
and /usr/lib/python2.4/lib-dynload/dl.so doesn't appear to be there.

  http://packages.debian.org/cgi-bin/search_contents.pl?searchmode=filelist&word=python2.5&version=unstable&arch=amd64&page=9&number=50

-- 
Nick Craig-Wood <nick at craig-wood.com> -- http://www.craig-wood.com/nick



More information about the Python-list mailing list