Fwd: Build Failure: (from, 10.6, OS, This, X, builds, configure.compiler=macports-gcc-4.7, newer, on, only, and 6 more

Mojca Miklavec mojca at macports.org
Sun Dec 11 13:59:52 CET 2016


On 11 December 2016 at 13:59, Joshua Root wrote:
> On 2016-12-11 23:30 , René J.V. Bertin wrote:
>> On Sunday December 11 2016 12:45:44 Marko Käning wrote:
>>
>>> My goodness, what happened here???
>>
>> That seems to come from this line
>>
>>         ui_msg "This port only builds with
>> configure.compiler=macports-gcc-4.7 (from port:gcc47) or newer on OS X 10.6"
>>
>> I put that in instead of simply invoking the cxx11 PortGroup because Mojca
>> considered I'd have to test that (which I can't).
>>
>> Should I conclude that the build bots cannot handle unforeseen output but
>> try to parse it instead?

Yes.

>> but why would it consider the output from a ui_msg statement as a list of subports?
>> It's never done that for me, and I'd call that a bug

ui_msg outside of any phase is *ALWAYS* printed when Tcl opens a
Portfile, no matter what you do. When you call "portindex", when you
call "port info" ... always!

And yes, it's a bug to put "ui_msg" to a port outside of any phase.

There is no way to fix the buildbot scripts to work around that. Try
to patch your "ls" to always print "Hello there" before any other
output and the use
    filelist=`ls`
an a for loop to do something with all files in a folder.

> A Portfile should not should not print anything in response to it simply
> being opened. (Think about it, does a user really want to see this message
> whenever they run 'port info' or portindex?)

Indeed.

> The script that finds out which
> subports exist has to open the port to do so, and prints the list of
> subports to stdout.

True.

I find that ui_msg a bit strange, one should fix the code and either
predict that the build would work or fail straight away. But until
that part is fixed, I surrounded the code with "pre-fetch { ... }" to
avoid problems like the one seen above.

But as you probably noticed none of the subports currently build on
the 10.6 buildbots anyway:

https://build.macports.org/builders/ports-10.6_x86_64_legacy-watcher/builds/3463
https://build.macports.org/builders/ports-10.6_i386_legacy-watcher/builds/3481

Mojca


More information about the macports-dev mailing list