problem with upgrade and unable to build openjdk8 in poudriere

Matthew Seaman matthew at
Tue Jan 30 00:04:28 UTC 2018

On 29/01/2018 20:21, Johannes-Maria Kaltenbach wrote:

>>>> First problem:
>>>> One of the ports to install is x11/kde4 which as a dependency
>>>> adds java/openjdk8 to the list but poudriere seems to be
>>>> unable to build it:
>>>> =>> Failed ports: java/openjdk8:build
>>>> [excerpt from the log-file:
>>>> gmake[2]: *** No rule to make target '1'.  Stop.
>>>> gmake[2]: Leaving directory '/wrkdirs/usr/ports/java/openjdk8/work/openjdk/langtools/make'
>>>> ]
>> I can't really give you much help with this: openjdk8 is building just
>> fine for me on 11.1-RELEASE.  This is probably some small configuration
>> mistake that will have you face-palming once you find it...
> did you built it in the ports or with poudriere?

I'm building it with poudriere

>> Now, poudriere will collect all the packages it has built into a
>> repository.  It's typical to set up a webserver (nginx recommended) to
>> allow distribution of those packages, and you will need to write a
>> configuration file for pkg(8) giving the correct URL for your custom
>> repository.  You'll probably also want to turn off the default FreeBSD
>> package repository -- see the comment in /etc/pkg/FreeBSD.conf for how
>> to do that. Then you can just upgrade your system by:
>>    pkg upgrade
>> Hint: try 'pkg -vv' to see your pkg(8) configuration including all the
>> repositories you have configured.
> I'm not sure what the correct URL for the poudriere-created
> repository is, so I looked in /var/poudriere for something
> plausible and thought it could be
> /usr/local/poudriere/data/packages/11amd64-default
> so I set up a /usr/local/etc/pkg/repos/FreeBSD.conf with:
> FreeBSD: {
>   url: "file:///usr/local/poudriere/data/packages/11amd64-default/",
>   mirror_type: "none",
>   signature_type: "none",
>   enabled: yes
> }

Yes, that looks about right.  The '11amd64-default' part is the
combination of the poudriere jail name and the ports tree used to build
those packages.  pkg(8) should work fine with a file:// URL, but
obviously that only works to install packages on the same machine where
you run poudriere.

One thing I'd recommend: change the 'tag' for your own repository so
that it's different to the default 'FreeBSD:'  It doesn't matter what
you use here.  The tag is just an arbitrary label.

> pkg -vv confirmed that ist URL would be used.
> Then pkg upgrade produced the following output:
>    Updating FreeBSD repository catalogue...
>    FreeBSD repository is up to date.
>    All repositories are up to date.
>    Checking for upgrades (123 candidates): .......... done
>    Processing candidates (123 candidates): . done
>    Checking integrity... done (0 conflicting)
>    Your packages are up to date.
> At least there was no error but none of the packages
> which poudriere had built [built 954, 1 failed, 4 skipped]
> were installed.
> I don't know how to proceed.

Well, try updating your ports tree (poudriere ports -u) and then running
a poudriere bulk to update any outdated packages.  Then try 'pkg
upgrade' again.  Chances are something will have an update available.

For extra credit, try changing the options on a package (poudriere
options -c some/port), update your repo via (poudriere bulk ...) and
then do 'pkg upgrade' -- pkg(8) should notice the changed options and
update the package for you.  You can then use pkg-info(8) to show the
option settings your package was compiled with to verify that it is the
one you built.

Failing that, just install anything.  Use 'pkg rquery -a %n-%v' to get a
list of all your available packages, and then just install something



-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 992 bytes
Desc: OpenPGP digital signature
URL: <>

More information about the freebsd-questions mailing list