The '-B' option does not work as expected in table files with setupRequired():
ERROR: Invalid argument specified "B"
#1 Updated by Lynn Garren almost 3 years ago
Here is the text of an email from earlier this month. My apologies for not making a ticket myself at that time.
This report is mimicking a problem seen on Ubuntu. In that case the machine flavor is Linux64bit+3.19-2.19, but cfitsio was installed with flavor Linux64bit+3.13-2.19. On woof, cfitsio is found (incorrectly) if I set the flavor to Linux64bit+2.5 instead of Linux64bit+2.12. Instead I had to use a flavor whose number was higher than "2.12". This is with ups v5_2_0. We have a reproducible problem with setup. The log below should illustrate the problem adequately. There is an umbrella product which sets up a number of other products. I have edited the version file of cfitsio to have the wrong flavor ("Linux64bit+2.6-2.16"). Note that ups returns "1" if I setup cfitsio, but "0" if I setup cosmosis_ups, even though the setup itself reports an error. This product directory is /home/garren/scratch/playground/ups on woof, where you have an account.
#2 Updated by Lynn Garren almost 3 years ago
Sorry - here is the log:
[garren@woof ups]$ setup -B cosmosis_ups v01_03_02 -q e12 ERROR: Action parsing failed on "unsetuprequired(cfitsio v3_37_0 -q +prof)" ERROR: Found no match for product 'cfitsio' ERROR: Action parsing failed on "setupRequired( cfitsio v3_37_0 -q +prof )" [garren@woof ups]$ echo $? 0 [garren@woof ups]$ setup -B cfitsio v3_37_0 -q +prof ERROR: Product 'cfitsio' (with qualifiers 'prof'), has no v3_37_0 version (or may not exist) [garren@woof ups]$ echo $? 1 [garren@woof ups]$ unsetup_all unsetup -j cosmosis_ups unsetup -j cython unsetup -j fftw unsetup -j gcc unsetup -j gsl unsetup -j lapack unsetup -j minuit2 unsetup -j mpich unsetup -j numpy unsetup -j pyfits unsetup -j python unsetup -j pyyaml unsetup -j scipy unsetup -j setuptools unsetup -j six unsetup -j sqlite [garren@woof ups]$ setup -B cosmosis_ups v01_03_02 -q +e12 ERROR: Action parsing failed on "unsetuprequired(cfitsio v3_37_0 -q +prof)" ERROR: Found no match for product 'cfitsio' ERROR: Action parsing failed on "setupRequired( cfitsio v3_37_0 -q +prof )" [garren@woof ups]$ echo $? 0
#3 Updated by Marc Mengel over 2 years ago
- Status changed from New to Closed
This ticket appears to convolve two issues:
setupRequired(-B whatever)in a table file does not work. Broken as designed. -B is only available on the command line, or via UPS_OVERRIDE, it is a global flag affecting dependency generation, and cannot be turned on or off partway down the dependency tree.
- The bogus "unsetup whatever failed" that we were getting for products that weren't setup when we tried to generate unsetup actions; This was fixed already.