Buildbot failure with variant dependency

Ryan Schmidt ryandesign at macports.org
Fri May 4 14:27:30 PDT 2012


On May 4, 2012, at 13:15, Leo Singer wrote:

> Hello,
> 
> I have a question about the buildbot and ports that require a dependency with a particular variant.
> 
> I maintain a port called py-pynds that depends on the boost port with a python${python.version} variant.  I had imitated a pattern that I had seen in other ports that depend on boost +pythonXX: since dependencies on variants are not directly supported, the port looks for a file that is only present when the dependency has the variant enabled, and if the file does not exist, produces an error message like the following:
> 
> Error: 
> ****
> **** PyNDS requires port boost installed with variant +python27.
> **** Please do the following then try installing py-pynds again:
> ****
> ****     sudo port install boost +python27
> ****
> 
> When the buildbot goes to work on py27-pynds, it first installs boost, but it installs it without the python27 variant, so the build of py27-pynds fails with the above error message.
> 
> My questions is the following -- is there a workaround to instruct the buildbot how to handle this special case, or should I let this buildbot failure slide for now?

As far as I know there is no workaround.

Variants are bad. Ideally there should be separate ports, so that, for example, one could install the boost port (for just boost) and then separately the (hypothetically) boost-python27 port for boost's python27 support, and/or the boost-python26 port for boost's python26 support. Then a port like py*-pydns could depend on the appropriate version of boost's python support.

I don't know if the boost build system will accommodate such a thing. My recollection is that *any* python support in boost ends up installing the same files; if we wanted this strategy to work thoroughly, we'd need to instruct boost to put the python27 files in one place and the python26 files in a different place.



More information about the macports-dev mailing list