At 11:03 AM 10/10/2006 -0700, Venkat Bommakanti wrote:
I can see the verbose logs intially pick up all these settings: ... option dict for 'bdist_egg' command: {'dist_dir': ('setup.cfg', '
'), 'keep_temp': ('setup.cfg', '1'), 'plat_name': ('setup.cfg', 'ppc'), 'verbose': ('setup.cfg', '1')} but only "verbose=1" appears to be used. The comps are all invoked as part of TG's: easy_install -f . --prefix=my_usr -s my_usr/bin TurboGears but their respective setup commands get invoked as: setup.py -q bdist_egg --dist-dir /tmp/....
Right, you need to look at the part of the output that comes *after* this, as that will be the processing for the child setup script, and that's the option processing that counts.
So, my attempts to specify/use from setup.cfg are getting overriden by the above "setup.py -q --dist..." call. This is the snippet that seems to indicate that: ... option dict for 'bdist_egg' command: {'dist_dir': ('command line',
'/tmp/easy_install-3XaB58/RuleDispatch-0.5a0.dev-r2115/egg-dist-tmp-wG1geg')} ...
You need to look for the log information that shows the reading of the configuration files; it would be above this point. You would see lines like: reading /some/dir/.pydistutils.cfg reading /some/path/to/setup.cfg etc. Check and see if the config you think you're using is even being read.
I did set $DISTUTILS_DEBUG to "yes". Its unclear how/where the fact that its a "i686" platform is picked up frm... Taking the RuleDispatch comp as an example, the first inkling it is going to use "i686" is this log entry: ... installing library code to build/bdist.linux-i686/egg ... Its unclear how this was decided upon... Is it the platform on whicc the python itslef was build or is it the platform of the gcc (in the path) ?
It defaults to the platform the distutils intends to build for. To cross-compile, you would have to explicitly override the platform. Which you're doing, but evidently the config file you think you are using is not being read.
Also, what is unclear is how its being determined that the compiler is "gcc" and how its options are being set. Taking RuleDispatch again as an example, I see this: ... I looked in python, setuptools & RulesDisptach sources, but couldn't find the answers to these questions.
I think you want to look in distutils.unixccompiler. This isn't a setuptools thing.
If I knew where gcc/and-its-options were being ascertained, config'd, and used, then I could theoretically intervene and have it point to my gcc and use my settings for it...
Again, Philip, thanks a bunch for all the time you've spent helping me on this. /venkat
No problem, just remember that neither distutils nor setuptools officially provide any support whatsoever for cross-compilation. If you actually succeed in getting something to work, I suggest writing up a HowTo or at least a description of what you ended up doing, so that others can benefit from your trials.