ASPN ActiveState Programmer Network
ActiveState
/ Home / Perl / PHP / Python / Tcl / XSLT /
/ Safari / My ASPN /
Cookbooks | Documentation | Mailing Lists | Modules | News Feeds | Products | User Groups


Recent Messages
List Archives
About the List
List Leaders
Subscription Options

View Subscriptions
Help

View by Topic
ActiveState
.NET Framework
Open Source
Perl
PHP
Python
Tcl
Web Services
XML & XSLT

View by Category
Database
General
SOAP
System Administration
Tools
User Interfaces
Web Programming
XML Programming


MyASPN >> Mail Archive >> pyxpcom
pyxpcom
Re: [pyxpcom] getting pyxpcom/xulrunner working on linux?
by Brendan O'Connor other posts by this author
Aug 10 2005 7:18PM messages near this date
view in the new Beta List Site
RE: [pyxpcom] getting pyxpcom/xulrunner working on linux? | RE: [pyxpcom] When will the pyxpcom build patch be merged into the source?
ah, thanks for the info.  to clarify, i meant that i did
--enable-shared for the *python* build, and found that it had made and
installed libpython2.4*.so, and i thought i symlinked them into
lib/python2.4/config correctly -- that's why i thought i had done
everything correctly on the python side.  basically, i tried to
imitate the way the fc4 rpm was built.  maybe i'll double check it all
tomorrow, then...

brendan

On 8/10/05, Mark Hammond <mhammond@[...].au>  wrote:
>  > with LD_LIBRARY_PATH set to include both the mozilla dist/lib and my
>  > python build's lib/, ldd says both libpyloader and _xpcom link to no
>  > libpython at all!
>  
>  Which would be correct if it had been linked against a static build of
>  Python - which is what I believe to be the root of the issue - both
>  libpyloader.so and _xpcom.so have their own, static version of Python linked
>  in, making sharing anything Python related between these 2 modules
>  impossible.
>  
>  I don't know enough about the Linux build process, but it is the link
>  process that needs to locate the dynamic python, rather than simply have the
>  compile process enable dynamic linking for itself (ie, the issue is not how
>  pyxpcom is built, but how the Python you are linking against is built)
>  
>  > PYTHON_LIBS =
>  > -L/var/brendano/trunk-build/external/release/lib/python2.4/config
>  > -lpython2.4 -lutil
>  
>  I don't think anything there is trying to insist on a dynamically built
>  Python - either way the link will work.  The underlying problem is that the
>  config process did not detect a non-dynamic Python and refuse to build.
>  Last I built this on Linux, I believe it did check.  Bug 129216 has a patch
>  from ShaneC which does mention supporting non-dynamic builds, but I haven't
>  looked into that.  Last I knew pyxpcom will simply not work with static
>  Python.
>  
>  I may be mistaken - I guess ultimately you need to confirm if whatever is
>  being found by the '-lpython2.4' is a static or dynamic Python lib.
>  
>  FWIW, a solution would appear to be rolling _xpcom and pyloader into the
>  same binary.  This would require a little import magic to make "import
>  _xpcom" magically use this single loader binary, but that is doable.
>  However, I'm not sure that is the way to move forward.  Let's say that in
>  the future there is a need for additional extension modules that depend on
>  other parts of the system (eg, JavaScript).  I think we want a module such
>  as this to use the core pyxpcom functionality without requiring it to be
>  rolled into the same binary (and thereby making the core pyxpcom binaries
>  suddenly depend on JS etc).  Python on Windows doesn't have this problem
>  simply as it has never even supported static builds, let alone allowing them
>  to be the default ;)
>  
>  Mark
>  
> 

_______________________________________________
pyxpcom mailing list
pyxpcom@[...].com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
Thread:
Brendan O'Connor
Mark Hammond
Mark Hammond
Brendan O'Connor

Privacy Policy | Email Opt-out | Feedback | Syndication
© ActiveState Software Inc. All rights reserved