setup -B silently fails if version violation on dependency
In certain situations, setup -B does not report a violation, even though it sets an exit status as failure.
[lyon@gm2gpvm01 build]$ setup art v1_00_11 -q a7:debug # art has a dependency on fhiclcpp v2_16_07 # The below correctly gives an error message [lyon@gm2gpvm01 build]$ setup -B fhiclcpp v2_16_03 -q a5:debug ERROR: Version conflict -- dependency tree requires versions conflicting with current setup of product fhiclcpp: version v2_16_03 vs v2_16_07 # Force setting up this fhiclcpp [lyon@gm2gpvm01 build]$ setup fhiclcpp v2_16_03 -q a5:debug # Now the below should generate and error, because setting up art will change fhiclcpp back to 2_16_07 [lyon@gm2gpvm01 build]$ setup -B art v1_00_11 -q a7:debug # Where's the error message? [lyon@gm2gpvm01 build]$ echo $? 1 # At least it fails
setup -B fails, but does not print an error. Can it print an error?
#2 Updated by Marc Mengel over 7 years ago
Fixed in r2742. Adeed a more complete check of setup clashes when we're about
to generate the "SETUP_PROD=..." string in the setup file, we check it against
any actually setup one. Also made the "skip this setup if we already have it"
-B code smarter -- we only do that optimization if the version, etc is specified in
the table file, otherwise we have to look further...