Question about a failure report

Sahil Tandon sahil at tandon.net
Fri Jul 3 20:52:32 UTC 2009


On Jul 3, 2009, at 4:45 PM, Paul Schmehl <pschmehl_lists at tx.rr.com>  
wrote:

> --On Friday, July 03, 2009 14:57:52 -0500 Sahil Tandon <sahil at tandon.net 
> > wrote:
>
>>
>> On Fri, 03 Jul 2009, Paul Schmehl wrote:
>>
>>> I just got a failure report for one of my ports: security/barnyard- 
>>> squil.
>>
>> s/squil/sguil/ :-)
>>
>>> That port is a slave port to security/barnyard.
>>>
>>> The error is:
>>> **********************************************
>>> ERROR: unable to find mysql headers (mysql.h)
>>> checked in the following places
>>>       /mysql.h
>>> **********************************************
>>
>> The configure script needs some direction.
>>
>>> This is what I have in the Makefile of security/barnyard:
>>>
>>> .if defined(WITH_MYSQL)
>>> USE_MYSQL=              yes
>>> CONFIGURE_ARGS+=        --enable-mysql
>>> .endif
>>>
>>> How do I fix this since I'm using the builtin macro?
>>
>> In security/barnyard/Makefile, try:
>>
>> CONFIGURE_ARGS+= --enable-mysql \
>>                 --with-mysql-includes=${LOCALBASE}/include/mysql \
>>                 --with-mysql-libraries=${LOCALBASE}/lib/mysql
>
> I *thought* that was what USE_MYSQL meant.  The CONFIGURE_ARGS I'm  
> using are for barnyard.  It then looks for the mysql header file,  
> which it should find if mysql is installed.  USE_MYSQL=yes means (if  
> I understand the bsd.database.mk file)
>
> BUILD_DEPENDS+= ${LOCALBASE}/lib/mysql/libmysqld.a:${PORTSDIR}/ 
> databases/mysql${MYSQL_VER}-client (see lines 142ff in  
> bsd.database.mk.)
>
> If I can build barnyard-sguil (and really barnyard since the former  
> is a slave port) by selecting that OPTION *and* the OPTION Is  
> preselected, why does the build fail when run on tinderbox?  Unless  
> I'm totally misunderstanding what USE_MYSQL means, the BUILD_DEPENDS  
> is included if mysql is selected.  Adding CONFIGURE_ARGS for  
> includes and libraries should only be necessary if those are in a  
> non-standard location *or* the software simply refuses to build  
> without specifying them.  It does not.
>
> Again, I'm confused.  I don't understand why the build fails in  
> tinderbox. Hopefully someone with knowledge of that process can  
> point out the error of my ways.

The tinderbox doesn't get to the build phase to fail there because the  
*configure* target fails first. The .mk file does not pass those mysql  
related lib and includes directives to the underlying configure  
script.  And to answer your other question, yes the tinderbox respects  
OPTIONS and installs dependencies.


More information about the freebsd-ports mailing list