math/py-numpy vs. math/atlas-devel

Doug Barton dougb at
Mon Nov 9 07:59:32 UTC 2009

First, sorry I missed the original problem report, I'm not subscribed
to -questions. Usually ports questions (including those about tools)
are handled on freebsd-ports at, but OTOH if you're not sure
where to send a question it's always better to start on the -questions
list. :)

Second, thanks to b.f. for the very thorough analysis of the problem.
I will respond and trim a bit as I go.

Third, I've cc'ed maho@ since the genesis of the problem is that
math/atlas and math/atlas-devel aren't setting CONFLICTS when
apparently they should be. maho, if you need any help with this let me

b. f. wrote:
> Scott Bennett wrote:
>> I would like to install science/gnudatalanguage but have been running
>> into various obstacles.  Lars Engels very kindly just fixed one of them
>> (devel/lasi) (Thanks, Lars!), so now I'm on to the next one, which may not
>> be a showstopper, but it's at least a nuisance.  One of the gnudatalanguage
>> dependencies is math/py-numpy, which, in turn, depends upon math/atlas.
>> However, I have math/atlas-devel installed and do not wish to revert to an
>> older, slower version of the ATLAS library.  Adding a "-x atlas-\*" onto
>> the portmaster command to build math/py-numpy fails to prevent portmaster
>>from trying to build math/atlas. 

As was pointed out, that definitely won't work. With the glob patterns
for exclusions, or specifying ports on the command line you want to be
as conservative as possible. Also, it's not necessary to include a *
at the end, portmaster will handle that for you.

>> Creating a
>> /var/db/pkg/atlas-3.8.3_1,1/+IGNOREME file in addition doesn't help.

+IGNOREME files are only relevant to installed ports.

>> How
>> can I force math/py-numpy to accept the already installed math/atlas-devel
>> libraries?
>> Thanks in advance for any help!

The easiest way for you to accomplish this would have been to use '-x
atlas', the second-easiest would have been to use the -i command line
option. See the man page for more information on that.

> Congratulations, you've managed to defeat three sets of safeguards in
> portmaster.
> Problem #1
> math/atlas and math/atlas-devel don't have proper CONFLICTS entries in
> their Makefiles (this should be fixed),

Yes, this analysis was essentially correct.

>  Problem #2:
> You're using the -x flag incorrectly.  Or portmaster isn't
> implementing it properly when the port to be excluded is not actually
> installed, take your pick. 

The way that -x is implemented currently really depends on the user's
definition of the exclude pattern, and is designed to exclude things
as early as possible so as to avoid what would ultimately become
wasted effort. It's hard to justify modifying the code to guess that
something we've already started working on might match what we think
the user MEANT instead of what they SAID.

> Problem #3:
> The +IGNOREME checks in portmaster aren't properly implemented for
> this case, so they fail to prevent math/atlas from being built.

s/properly implemented for/designed to handle/

If you think about this for a second, the entries in /var/db/pkg are
exclusively related to installed ports, so trying to use an +IGNOREME
file for this purpose doesn't make sense, although I can sympathize
with the OPs sense of desperation here. :)

> So what can you do while these problems are being fixed? 

Just to be clear, I didn't see anything that needs to be fixed in your
message, and I hope my explanation makes it clear why. If you think
that there are actual bugs that need to be fixed please feel free to
create a thread on -ports to discuss them.

hope this helps,


PS, Can't resist ...


	Improve the effectiveness of your Internet presence with
	a domain name makeover!

More information about the freebsd-questions mailing list