Solved Building P5-GSSAPI with Poudriere

I jexeced into a poudriere jail to build p5-GSSAPI but the build failed. I have successfully built Perl5.26 in it though.

Code:
# jexec 17 /bin/sh
# cd /usr/ports/security/p5-GSSAPI/
# make install clean
===>   p5-GSSAPI-0.28_1 depends on file: /usr/local/lib/heimdal/libgssapi.so - found
===>   p5-GSSAPI-0.28_1 depends on package: perl5>=5.26<5.27 - not found
===>   Installing existing package /packages/All/perl5.26-5.26.3.txz
[testjail] Installing perl5.26-5.26.3...
the most recent version of perl5.26-5.26.3 is already installed
===>   p5-GSSAPI-0.28_1 depends on package: perl5>=5.26<5.27 - not found
*** Error code 1

Stop.
make: stopped in /usr/ports/security/p5-GSSAPI
 
I jexeced into a poudriere jail to build p5-GSSAPI but the build failed.
Why are you doing it that way? I would use poudriere-testport(8) (*) with the -i or -I option:
Code:
     -i           Interactive mode.  Enter jail for interactive testing and
                  automatically cleanup when done.  A local pkg.conf(5)
                  repository configuration will be installed to
                  LOCALBASE/etc/pkg/repos/local.conf so that pkg(8) can be
                  used with any existing packages built for the jail.  The
                  FreeBSD repository will be disabled by default.

     -I           Advanced Interactive mode.  Leaves jail running with port
                  installed after test.  When done with the jail you will need
                  to manually shut it down:
                        poudriere jail -k -j JAILNAME.
                  As with -i this will install a pkg.conf(5) file for pkg(8)
                  usage.

(*) For some reason the web man pages don't have this one. It should exist on your system though.
 
Why are you doing it that way? I would use poudriere-testport(8) (*) with the -i or -I option:
Code:
     -i           Interactive mode.  Enter jail for interactive testing and
                  automatically cleanup when done.  A local pkg.conf(5)
                  repository configuration will be installed to
                  LOCALBASE/etc/pkg/repos/local.conf so that pkg(8) can be
                  used with any existing packages built for the jail.  The
                  FreeBSD repository will be disabled by default.

     -I           Advanced Interactive mode.  Leaves jail running with port
                  installed after test.  When done with the jail you will need
                  to manually shut it down:
                        poudriere jail -k -j JAILNAME.
                  As with -i this will install a pkg.conf(5) file for pkg(8)
                  usage.

(*) For some reason the web man pages don't have this one. It should exist on your system though.
Yes, I do use testport.. Interestingly, the jail is currently being used to build ports; hence I jexeced into it. It had earlier failed to build p5-GSSAPI.

Here is how I use testport: poudriere testport -j testjail-p default -z server -I -c -o security/p5-GSSAPI
 
Interestingly, the jail is currently being used to build ports; hence I jexeced into it.
Don't do that. The jail is automatically spawned and destroyed by the build process. You jexec(8)'ing into it just interferes with the automated process.

It had earlier failed to build p5-GSSAPI.
Configure nginx to show the web interface, then you can easily look at the build logs and see why it failed. You can also take a look in /usr/local/poudriere/data/logs/ of course but I found the web interface more easy to use. It also provides a nice overview of what it's doing. Basically, once a bulk build has been started, let it finish. Errors and all. Then look at the errors, maybe adjust some options and simply start the bulk run again.
 
Thanks. Obviously, that is the best practice and I use it. I checked the log then I saw that it failed to build p5-GSSAPI because Perl5 26 had not been found.

My make file has default version +=3.6 for global and for a conditional statement for p5-GSSAPI, it has Perl5.26. I jexeced and built Perl5.26. Then I tried to build p5-GSSAPI, which causes other pkgs not to build e g. Imapsync.

I also unset GSSAPI_BASE and set GSSAPI_HEIDMAL because I use openssl from ports.

I have tweaked the make.conf again and will rebuild after this current session. Thanks.
 
My make file has default version +=3.6 for global
Isn't that the Python default?
and for a conditional statement for p5-GSSAPI, it has Perl5.26.
This is probably the crux of the problem. Either set the default Perl version to 5.26 for everything or accept the fact that 5.28 is the default. Any particular reason why you need Perl 5.26 instead of 5.28?
 
Isn't that the Python default?

This is probably the crux of the problem. Either set the default Perl version to 5.26 for everything or accept the fact that 5.28 is the default. Any particular reason why you need Perl 5.26 instead of 5.28?
P5-GSSAPI requires ONLY Perl5.26.
 
Isn't that the Python default?

This is probably the crux of the problem. Either set the default Perl version to 5.26 for everything or accept the fact that 5.28 is the default. Any particular reason why you need Perl 5.26 instead of 5.28?
P5-GSSAPI requires ONLY Perl5.26, which is faced out or almost.

Sorry the mix-up with python default. I had started using the 3.6 before it became default and I am yet to remove it.
 
P5-GSSAPI requires ONLY Perl5.26,
It doesn't? The port asks for a Perl 5, it's not specifically fixed to 5.26. So it will use whatever Perl version is set as default.

Code:
root@mail:~ # pkg info -d p5-GSSAPI
p5-GSSAPI-0.28_1:
        perl5-5.28.2
(This one comes from my own repository)

I had started using the 3.6 before it became default and I am yet to remove it.
That's fine, I'd actually leave it. If the default changes it won't come as a surprise, and you can decided when to follow the change. I was thrown off by the fact it was just a number and no mention of Python.
 
See the build and runtime dependencies - herehttps://www.freshports.org/security/p5-GSSAPI/.
And the above error wonders me because I now have it (Perl5.26) in the jail.
 
See the build and runtime dependencies
Look at the actual Makefile not the interpreted list created by Freshports.

Code:
USES=           perl5
USE_PERL5=      configure
This tells it to use whatever version is set as default.

Which results in:
Code:
root@lady3jane:/usr/ports/security/p5-GSSAPI # make run-depends-list
/usr/ports/lang/perl5.28
root@lady3jane:/usr/ports/security/p5-GSSAPI # make all-depends-list
/usr/ports/ports-mgmt/pkg
/usr/ports/lang/perl5.28
 
Back
Top