Solved can't compile security/cyrus-sasl2-gssapi

Hey folks, I'm flummoxed. I'm trying to compile cyrus-sasl2-gssapi as part of updating from 12.x to 13.0 and updating perl and python too. I'm stuck with a failure on cyrus-sasl2-gssapi related to a library it expects to install, libgssapiv2. I have Heimdal installed and I've tried both HEIMDAL and BASE in the MakeFile.

Make output and error
Code:
gmake[2]: Leaving directory '/usr/ports/security/cyrus-sasl2-gssapi/work/cyrus-sasl-2.1.27/lib'
cd /usr/ports/security/cyrus-sasl2-gssapi/work/cyrus-sasl-2.1.27/plugins && gmake
gmake[2]: Entering directory '/usr/ports/security/cyrus-sasl2-gssapi/work/cyrus-sasl-2.1.27/plugins'
gmake[2]: Nothing to be done for 'all'.
gmake[2]: Leaving directory '/usr/ports/security/cyrus-sasl2-gssapi/work/cyrus-sasl-2.1.27/plugins'
===>  Staging for cyrus-sasl-gssapi-2.1.27_1
===>   cyrus-sasl-gssapi-2.1.27_1 depends on file: /usr/local/lib/libcrypto.so.11 - found
===>   Generating temporary packing list
gmake[2]: Entering directory '/usr/ports/security/cyrus-sasl2-gssapi/work/cyrus-sasl-2.1.27/plugins'
gmake[3]: Entering directory '/usr/ports/security/cyrus-sasl2-gssapi/work/cyrus-sasl-2.1.27/plugins'
gmake[3]: Nothing to be done for 'install-exec-am'.
gmake[3]: Leaving directory '/usr/ports/security/cyrus-sasl2-gssapi/work/cyrus-sasl-2.1.27/plugins'
gmake[2]: Leaving directory '/usr/ports/security/cyrus-sasl2-gssapi/work/cyrus-sasl-2.1.27/plugins'
====> Compressing man pages (compress-man)
===>  Installing for cyrus-sasl-gssapi-2.1.27_1
===>  Checking if cyrus-sasl-gssapi is already installed
===>   Registering installation for cyrus-sasl-gssapi-2.1.27_1
pkg-static: Unable to access file /usr/ports/security/cyrus-sasl2-gssapi/work/stage/usr/local/lib/sasl2/libgssapiv2.a:No such file or directory
pkg-static: Unable to access file /usr/ports/security/cyrus-sasl2-gssapi/work/stage/usr/local/lib/sasl2/libgssapiv2.so:No such file or directory
pkg-static: Unable to access file /usr/ports/security/cyrus-sasl2-gssapi/work/stage/usr/local/lib/sasl2/libgssapiv2.so.3:No such file or directory
pkg-static: Unable to access file /usr/ports/security/cyrus-sasl2-gssapi/work/stage/usr/local/lib/sasl2/libgssapiv2.so.3.0.0:No such file or directory
*** Error code 1

MakeFile
Code:
PKGNAMESUFFIX=    -gssapi
PORTREVISION=    1
NO_STAGE=yes

COMMENT=    SASL GSSAPI authentication plugin

OPTIONS_SINGLE=            GSSAPI_BASE
OPTIONS_SINGLE_GSSAPI=        GSSAPI_BASE
OPTIONS_DEFAULT=        GSSAPI_BASE
GSSAPI_BASE_USES=        gssapi:base
GSSAPI_BASE_CONFIGURE_ON=    --enable-gssapi="${GSSAPIBASEDIR}" \
                --with-gss_impl=heimdal
GSSAPI_HEIMDAL_USES=        gssapi:heimdal,flags
GSSAPI_HEIMDAL_CONFIGURE_ON=    --enable-gssapi="${GSSAPIBASEDIR}" \
                --with-gss_impl=heimdal
GSSAPI_HEIMDAL_PLIST_FILES=    ${LIBGS2_PLIST_FILES}
GSSAPI_MIT_USES=        gssapi:mit
GSSAPI_MIT_CONFIGURE_ON=    --enable-gssapi="${GSSAPIBASEDIR}" \
                --with-gss_impl=mit
GSSAPI_MIT_PLIST_FILES=        ${LIBGS2_PLIST_FILES}

LIBGS2_PLIST_FILES=        lib/sasl2/libgs2.a \
                #lib/sasl2/libgs2.so \
                #lib/sasl2/libgs2.so.3 \
                #lib/sasl2/libgs2.so.3.0.0

CYRUS_BUILD_TARGET=        gssapiv2
 
If you upgraded FreeBSD versions, start over on ports/pkg. Remove all packages, then afterwards clear /var/db/ports/, /var/db/pkg/ and /var/cache/pkg/. You can get more specific than this to remove related ports, and clean distfiles. It could be old expectations of where to find files from old builds and left over ports/packages.

If that's not the case, then continue inspecting the Makefile and let the forum know. Then, if that's not enough consider help from the mailing list and filllng a bug report.
 
Builds and installs fine on current main ports tree, with BASE or HEIMDAL:

Code:
# make showconfig
...
     GSSAPI_BASE=on: GSSAPI support via base system (needs Kerberos)
     GSSAPI_HEIMDAL=off: GSSAPI support via security/heimdal
...

# make install clean
...
====> Compressing man pages (compress-man)
===>  Installing for cyrus-sasl-gssapi-2.1.27_1
===>  Checking if cyrus-sasl-gssapi is already installed
===>   Registering installation for cyrus-sasl-gssapi-2.1.27_1
Installing cyrus-sasl-gssapi-2.1.27_1...
===>  Cleaning for cyrus-sasl-gssapi-2.1.27_1

# pkg info -E cyrus-sasl-gssapi
cyrus-sasl-gssapi-2.1.27_1

# make showconfig
...
     GSSAPI_BASE=off: GSSAPI support via base system (needs Kerberos)
     GSSAPI_HEIMDAL=on: GSSAPI support via security/heimdal
...

# make install clean
...
====> Compressing man pages (compress-man)
===>  Installing for cyrus-sasl-gssapi-2.1.27_1
===>  Checking if cyrus-sasl-gssapi is already installed
===>   Registering installation for cyrus-sasl-gssapi-2.1.27_1
Installing cyrus-sasl-gssapi-2.1.27_1...
===>  Cleaning for cyrus-sasl-gssapi-2.1.27_1

# pkg info -E cyrus-sasl-gssapi
cyrus-sasl-gssapi-2.1.27_1

Update your ports tree, if problem persists delete /usr/ports, fetch a new tree.
 
Thanks everyone - removing /usr/ports and re-fetching and re-extracting seems to have fixed it. Not sure what happened but glad that was a fairly easy fix.
 
Back
Top