From: Rene Rivera (grafik666_at_[hidden])
Date: 2002-05-07 21:48:20
Well I'm back after some hardware rearrangements... and having one of my
RAID drives break during the movememnts :-(
On 2002-05-07 at 04:37 PM, david.abrahams_at_[hidden] (David Abrahams) wrote:
>OK, I've now implemented shared object linking on AIX. See the aix_so
>branch in boost/tools/build. I tested it with the KCC toolset, though other
>toolsets were modified to accomodate it.
>Things to know:
>1. AIX has a windows-like arrangement where you generate a .imp file which
>describes the exported symbols for any shared library. To do this, there's
>a Python script which invokes the xlC_r linker
>(tools/build/gen_aix_import_file.py). What it does seems trivial enough
>that we could get Jam to do all the work directly.
>2. Apparently the stock KCC (which is just a front-end shell script) has
>some bugs which prevent it from working for this job. My clients at LLNL
>gave me a modified version which can be made to work. Interestingly, it
>seems to choke on the -e option which is used to designate the single
>export for dlopen (what Python uses to find the init<module> function)
>unless jam is invoked from within a tcsh shell (i.e. NOT with bash).
>3. Apparently there are all kinds of problems with the dynamic link/load
>model on AIX. In particular, there are limitations on the length of symbols
>which cause segfaults at runtime unless you go in and fix things up by
>hand. My simple tests worked, but my tests of Boost.Python crashed in this
>In sum, I think I've refactored things appropriately to support AIX and
>shared libraries. The code got a bit simpler in some places. AIX shared lib
>support is itself a somewhat fragile idea.
>The question: should this branch be merged into the main trunk?
Umm, there are a fair number of changes for that support. Also seems like a
lot of new code we would have to be prepared to deal with if something goes
wrong, which inevitable does :-( And having it rely on Python seems like
another reason not to have it for this release. The sense I get from your
explanation is that you've convinced yourself not to merge to the trunk.
Given the fragility you mention I'd say it's not worth the hasle for this
release. It would be better to wait till after the release then merge.
Remember we want to have a solid release this time.
-- grafik - Don't Assume Anything
-- rrivera_at_[hidden] - grafik_at_[hidden]
-- 102708583_at_icq - Grafik666_at_AIM - Grafik_at_[hidden]
Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk