poudriere options -c does not work as expected?

Anton Shterenlikht mexas at bris.ac.uk
Thu Oct 10 13:46:42 UTC 2013


>From bdrewery at freebsd.org Thu Oct 10 14:34:30 2013
>>>>>> =3D3D3D=3D3D3D=3D3D3D>  Configuring for R-3.0.1
>>>>>> libquadmath is not available for your compiler and architecture: pl=
>ea=3D
>>> se=3D3D
>>>>> enable the MISSING option.
>>>>>> *** Error code 1
>>>>>> make: stopped in /usr/ports/math/R
>>>>>> =3D3D20
>>>>>> I set the options with "poudriere options -c math/R".
>>>>>> =3D3D20
>>>>>> But the option doesn't seem to be set:
>>>>>> =3D3D20
>>>>>> # make -C  /pdr/ports/math/R showconfig |grep MISSING
>>>>>>      MISSING=3D3D3Doff: use libmissing rather than libquadmath
>>>>>
>>>>> It doesn't work like this. poudriere options stores options in
>>>>> /usr/local/etc/poudriere.d/options not in /var/db/ports, you can't r=
>un=3D
>>>
>>>>> 'make -C...showconfig' from host to see the options without adding
>>>>> PORT_DBDIR.
>>>>>
>>>>> Try make -C ... showconfig PORT_DBDIR=3D3D3D/usr/local/etc/poudriere=
>=2Ed/o=3D
>>> ption=3D3D
>>>> =3D20
>>>> ok:
>>>> =3D20
>>>> # grep =3D3DMISSING /usr/local/etc/poudriere.d/options/math_R/options=
>
>>>> OPTIONS_FILE_SET+=3D3DMISSING
>>>> #=3D20
>>>> =3D20
>>>> So the option is set.
>>>> Still, I get:
>>>> =3D20
>>>> =3D3D=3D3D=3D3D=3D3D>> Failed ports: math/R:configure
>>>> =3D20
>>>> # tail /pdr/data/logs/bulk/ia64-default/latest/logs/R-3.0.1.log=3D20
>>>> libquadmath is not available for your compiler and architecture: plea=
>se=3D
>>> enable the MISSING option.
>>>> =3D20
>>>> =3D20
>>>> *** Error code 1
>>>> =3D20
>>>> Stop.
>>>> make: stopped in /usr/ports/math/R
>>>> =3D3D=3D3D=3D3D>  Cleaning for R-3.0.1
>>>> build of /usr/ports/math/R ended at Thu Oct 10 13:09:10 BST 2013
>>>> build time: 00:02:45
>>>> #=3D20
>>>> =3D20
>>>> Thanks
>>>> =3D20
>>>> Anton
>>>> =3D20
>>>
>>> What is in the build log when it shows the options? Is MISSING enabled=
>?
>>=20
>> no
>>=20
>>      MISSING=3Doff: use libmissing rather than libquadmath
>>=20
>> http://eis.bris.ac.uk/~mexas/R-3.0.1.log
>>=20
>> # grep =3DMISSING /usr/local/etc/poudriere.d/options/math_R/options
>> OPTIONS_FILE_SET+=3DMISSING
>> #=20
>>=20
>> Thanks
>>=20
>
>Show me: echo /usr/local/etc/poudriere.d/*-options.
>
>I am guessing you have an ia64-options directory. If so, this would be
>used instead of the 'options' dir as it is more specific. Delete that
>and then your options will work as expected.

You are right!

# echo /usr/local/etc/poudriere.d/*options
/usr/local/etc/poudriere.d/ia64-options /usr/local/etc/poudriere.d/options
# 

So I get it now:
 poudriere options -c -j <jail> category/port
will write under /usr/local/etc/poudriere.d/<jail>-options

while
 poudriere options -c category/port
will write under /usr/local/etc/poudriere.d/options

So then
 poudriere bulk -j <jail> -f ...
will pull the <jail> options, and not the generic options

Very clever!

Many thanks

Anton



More information about the freebsd-ports mailing list