Issue with www/nginx-devel

I'm having a weird issue with www/nginx-devel.

Recently security/openssl35 was moved to security/openssl while my www/nginx-devel make config options were set to use security/openssl35.

Now since that port was moved, I'm not able to do anything with Nginx:

Code:
/usr/ports/www/nginx-devel]$ sudo make config
make: /usr/ports/Mk/Uses/ssl.mk:98: You are using an unsupported SSL provider openssl35
        in .for loop from /usr/ports/Mk/bsd.port.mk:1444 with udir = /usr/ports/Mk/Uses
        in .for loop from /usr/ports/Mk/bsd.port.mk:1442 with f = ssl
        in /usr/share/mk/bsd.port.mk:27
        in /usr/share/mk/bsd.port.pre.mk:4
        in /usr/ports/www/nginx-devel/Makefile:201

What I have done so far was:

- Deleted the /var/db/ports/www_nginx-devel/options file
- Confirmed/etc/make.conf and /usr/local/etc/synth/LiveSystem-make.conf isn't setting openssl35.
- Ran synth prepare-system
- Successfully rebuilt nginx-devel

I have not deleted the installed, no longer used security/openssl35 port or restarted nginx in fear it will make the situation even worse.

This is a production server, so I really need minimal downtime as possible.

Any suggestions?
 
Your port options are not the problem. SSL_DEFAULT is derived from the package that owns ${LOCALBASE}/lib/libcrypto.so, see Mk/bsd.default-versions.mk:

Code:
OPENSSL_INSTALLED!=    ${PKG_BIN} which -qo ${LOCALBASE}/lib/libcrypto.so
    SSL_DEFAULT:=        ${OPENSSL_INSTALLED:T}

While security/openssl35 is still the installed package, SSL_DEFAULT becomes "openssl35", ssl.mk looks for a port that no longer exists and aborts. This hits every port with USES=ssl, no matter what make.conf says or whether /var/db/ports has an options file.

Check it with:

Code:
# pkg which -qo /usr/local/lib/libcrypto.so

If that still says security/openssl35, replace the package with security/openssl. MOVED carries the rename, so a regular upgrade run does it. The shared library version was bumped, so rebuild everything linking against OpenSSL before you remove the old package, otherwise nginx will not come back up.

One more thing for your config: the HTTPV3_OSSL35 option in www/nginx-devel is called HTTPV3_OSSL now, see UPDATING 20261002. You deleted your options file, so re-select it in make config.
 
Back
Top