configuration "see-also" done at runtime not compile time.
In some recent work on ceph, I goofed on adding an option, which yielded the following error at runtime:
[root@jerboa /]# radosgw-admin help
Non-existent see-also key 'rgw_crypt_s3_sse_s3_backend' on option 'rgw_crypt_s3_sse_vault_namespace'
/home/mdw/src/ceph-sk2/src/common/config.cc: In function 'void md_config_t::validate_schema()' thread 7fc3c33bab40 time 2021-07-01T15:58:45.221826-0400
/home/mdw/src/ceph-sk2/src/common/config.cc: 248: ceph_abort_msg("abort() called")
ceph version 17.0.0-4798-gdcdfdd30e3f (dcdfdd30e3f99316407b621ab9765bd85a310721) quincy (dev)
So, sure, I got it wrong, and it's nice the code actually checks this.
Not so nice that this didn't happen sooner. Everything that this check does depends on constant information that is known at build-time (or even at configure time) -- so this check can be done much sooner. I shoult not have to deploy the code to catch this error. Sites running ceph should not be making this check every time a ceph binary is run. I'm all for idiot-proofing, but 99.9% of the runs of this code are merely checking to see if the customer's CPU works correctly.
The code that is correctly making this check is in src/common/config.cc, routine md_config_t::validate_schema(). It looks to me like an appropriate place for this check would be in src/common/options/y2c.py .