The problem:
I set
	
		
 in make.conf in order to force upgrade to databases/db18 from databases/db5. This immediately caused problems. When building updated ports with 
	
		
 would not build, claiming that no compatible version was available.
The solution:
Add
	
		
 to make.conf.
The reason:
In file /usr/ports/Mk/Uses/bdb.mk version 18 is not appended to the variable
	
		
 without this variable being set.
	
	
	
		
When building from the ports tree, if databases/db18 is already installed it is detected and there is no problem. Likewise, if the port Makefile specifies version 18 it also works. Since
IDK if it's a bug or works as intended. However, this is the easy fix for anyone trying to do what I did.
				
			I set
		Code:
	
	DEFAULT_VERSIONS+=BDB=18
	 poudriere, ports which depended on bdb via 
	
	
		Code:
	
	USES= bdb
	The solution:
Add
		Code:
	
	WITH_BDB6_PERMITTED=yes
	The reason:
In file /usr/ports/Mk/Uses/bdb.mk version 18 is not appended to the variable
		Code:
	
	_DB_DEFAULTS
	
		Code:
	
	_DB_PORTS=        5 18
_DB_DEFAULTS=    5
#
#   Since 2020-12-02, this name is not fitting too much but
#   retained for now for compatibility. The name of this variable
#   is subject to change especially once db6 were removed.
.  if defined(WITH_BDB6_PERMITTED) || ${_bdb_ARGS} == 18
_DB_DEFAULTS+=    18
.  endif
	When building from the ports tree, if databases/db18 is already installed it is detected and there is no problem. Likewise, if the port Makefile specifies version 18 it also works. Since
 poudriere will attempt to install required packages  from its repository, bdb.mk will generate an error and the build will fail without this additional variable being set. IDK if it's a bug or works as intended. However, this is the easy fix for anyone trying to do what I did.