problem with upgrade and unable to build openjdk8 in poudriere
matthew at FreeBSD.org
Sun Jan 28 23:59:52 UTC 2018
On 28/01/2018 13:04, johannes-maria at t-online.de wrote:
> On Mon, Jan 15, 2018 at 04:15:49PM +0100, johannes-maria at t-online.de wrote:
>> I'm still working with 9.3 and thought it's time to install 11.1
>> but there are two problems I couldn't solve myself.
>> I've never worked with jails or poudriere before and probably
>> made some errors so I first describe in detail what I've done.
>> To not destroy my working system I made this on a separate
>> (clear) slice of my hard disk.
>> First I installed the basic 11.1 system with the boot disk
>> (FreeBSD-11.1-RELEASE-amd64-disc1.iso) without problems.
>> Then I installed poudriere (pkg install poudriere)
>> and created a jail with poudriere:
>> poudriere jail -c -v 11.1-RELEASE -a amd64 -j 11amd64
>> and installed the ports tree:
>> poudriere ports -c
>> I created a list of ports to install and started poudriere:
>> poudriere -v bulk -j 11amd64 -f list_of_ports_to_install
>> 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: *** No rule to make target '1'. Stop.
>> gmake: 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...
>> And therefore
>> =>> Skipped ports: devel/antlr devel/kdesdk4 devel/poxml x11/kde4
>> On the other hand a direct make in ports/java/openjdk8 is successful
>> but it fails repeatedly when called by poudriere.
>> Second problem:
>> I tried to install the successfully built software
>> (i. e. my list without kde4) with
>> pkg -j 11amd64 upgrade
>> but this fails with
>> pkg: jail "11amd64" not found
>> and jls doesn't list any jails
>> poudriere jail -l
>> JAILNAME VERSION ARCH METHOD ... PATH
>> 11amd64 11.1-RELEASE-p6 amd64 ftp ... /usr/local/poudriere/jails/11amd64
OK. Confusion over jails here.
The '-j' flag to pkg(8) allows you to install files into a jail from the
host system. As you don't have any actual jails configured, you don't
want to use this flag.
These are completely different to the jails used by poudriere. In fact,
when you "create a jail" by eg.
poudriere jail -c -j 11amd64 -v 11.1-RELEASE -a amd64 -m ftp
What you are actually doing is creating a template. 'poudriere jail -l'
will list all the templates poudriere knows about. It's only during a
poudriere run that jails are actually created from these templates -- in
fact, as many jails as the degree of parallelism you've allowed in
poudriere.conf. Try running jls(1) while poudriere is compiling stuff
and you'll see. These build jails are only temporary and are destroyed
as soon as the poudriere run ends.
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:
Hint: try 'pkg -vv' to see your pkg(8) configuration including all the
repositories you have configured.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 992 bytes
Desc: OpenPGP digital signature
More information about the freebsd-questions