py27-omniORBpy pre-built binary trouble

Thomas G Lockhart tlockhart1976 at gmail.com
Sun Sep 7 20:15:08 PDT 2014


On Sep 7, 2014, at 8:11 PM, Bradley Giesbrecht <pixilla at macports.org> wrote:

> 
> On Sep 7, 2014, at 4:56 PM, Thomas G Lockhart <tlockhart1976 at gmail.com> wrote:
> 
>> On Sep 7, 2014, at 2:44 PM, Thomas G Lockhart <tlockhart1976 at gmail.com> wrote:
>> 
>>> 
>>> On Sep 7, 2014, at 11:21 AM, Bradley Giesbrecht <pixilla at macports.org> wrote:
>>> 
>>>> 
>>>> On Sep 6, 2014, at 10:44 PM, Thomas G Lockhart <tlockhart1976 at gmail.com> wrote:
>>>> 
>>>>> I’m configuring a new machine (running Mavericks) and notice that some packages I’m used to building from source are available as pre-built binaries. That is great. But one package, py27-omniORBpy, wants to put its python files under /opt/local/lib/ when installed using “port install py27-omniORBpy”, whereas the prerequisite package omniORB wants to put its python libraries under /opt/local/Library/
>>>>> 
>>>>> I’d expect both of these to install python code under /opt/local/Library/, and in fact py27-omniORBpy *does* do that when built from source using “port install -s py27-omniORBpy”.
>>>>> 
>>>>> Any ideas on what might be causing these differences?
>>>> 
>>>> A none default env var you have set?
>>> 
>>> Ah ha! Not exactly, but...
>>> 
>>> The omniORBpy software uses autoconf and the python discovery mechanisms in those m4 macros. And it looks like it falls back to using something based on the value of —prefix (/opt/local in our case?) if it does not find a python executable. If it does find one it expects to look up the library location using:
>>> 
>>> from distutils import sysconfig; sysconfig.get_python_lib()
>>> 
>>> I have my /opt/local/bin/python pointing at python2.7. And autoconf found that so my py27-omniORBpy worked just as intended. If I remove the default version of python:
>>> 
>>> sudo port select —set python none
>>> 
>>> then I see the same (incorrect) build behavior here. Autoconf can’t figure out what to use so falls back to using a library path based on the —prefix value.
>>> 
>>> So any suggestions for locking in the value of a PYTHON environment variable or the actual python executable within a MacPorts variant? I would have guessed that the python PortGroup would have magically handled that, but that does not seem to be the case.
>> 
>> OK, I’ve got a fix which involves setting the variable configure.python to be equal to python.bin.
>> 
>> Bradley, it looks like you have matched this up with a two-year old ticket which was not on my radar even though I’m the one who opened it and provided a patch! That previous ticket already has a Portfile.diff which should probably be superseded by my new one (though the effect is identical, the new one is a bit cleaner imho).
>> 
>> Should I just replace the Portfile.diff and can we get this one closed out?
> 
> Sure, I'll take a look, do you have the numbers for ticket(s)?

#35818 and I’ve just posted a patch. There has been some activity on this ticket (which I missed; my email address has changed) but afaict the patches already applied plus my small patch file just posted should be enough to get a self-consistent build. btw trac would not let me supersede the Portfile.diff which was already there so I just posted an additional one.

Thanks for closing this one out!

                 - Tom

> 
> Regards,
> Bradley Giesbrecht (pixilla)
> 



More information about the macports-dev mailing list