opencobra / cobratoolbox

The COnstraint-Based Reconstruction and Analysis Toolbox. Documentation:
https://opencobra.github.io/cobratoolbox
Other
246 stars 308 forks source link

initCobraToolbox problem with submodules #1584

Closed lvalcarcel closed 4 years ago

lvalcarcel commented 4 years ago

I have recently reinstalled the cobra toolbox, but I have a problem with the initialization of the submodules. Whenever the function initCobraToolbox reaches the step to initialize the submoules, it displays the following error:

initCobraToolbox

      _____   _____   _____   _____     _____     |
     /  ___| /  _  \ |  _  \ |  _  \   / ___ \    |   COnstraint-Based Reconstruction and Analysis
     | |     | | | | | |_| | | |_| |  | |___| |   |   The COBRA Toolbox - 2020
     | |     | | | | |  _  { |  _  /  |  ___  |   |
     | |___  | |_| | | |_| | | | \ \  | |   | |   |   Documentation:
     \_____| \_____/ |_____/ |_|  \_\ |_|   |_|   |   http://opencobra.github.io/cobratoolbox
                                                  | 

 > Checking if git is installed ...  Done (version: 2.19.2).
 > Checking if the repository is tracked using git ...  Done.
 > Checking if curl is installed ...  Done.
 > Checking if remote can be reached ...  Done.
 > Initializing and updating submodules (this may take a while)...warning: Invalid parameter 'true' for config option 'submodule.external/analysis/mptoolbox.ignore'
warning: Invalid parameter 'true' for config option 'submodule.external/analysis/mptoolbox.ignore'
Cloning into 'D:/Users/lvalcarcel/Documents/MATLAB/cobratoolbox/external/analysis/mptoolbox'...
remote: Repository not found.
fatal: repository 'https://github.com/LCSB-BioCore/mptoolbox.git/' not found
fatal: clone of 'https://github.com/LCSB-BioCore/mptoolbox.git' into submodule path 'D:/Users/lvalcarcel/Documents/MATLAB/cobratoolbox/external/analysis/mptoolbox' failed
Failed to clone 'external/analysis/mptoolbox'. Retry scheduled
Cloning into 'D:/Users/lvalcarcel/Documents/MATLAB/cobratoolbox/external/base/utilities/rdir'...
remote: Repository not found.
fatal: repository 'https://github.com/LCSB-BioCore/rdir.git/' not found
fatal: clone of 'https://github.com/LCSB-BioCore/rdir.git' into submodule path 'D:/Users/lvalcarcel/Documents/MATLAB/cobratoolbox/external/base/utilities/rdir' failed
Failed to clone 'external/base/utilities/rdir'. Retry scheduled
Cloning into 'D:/Users/lvalcarcel/Documents/MATLAB/cobratoolbox/test/models'...
remote: Repository not found.
fatal: repository 'https://github.com/LCSB-BioCore/COBRA.models/' not found
fatal: clone of 'https://github.com/LCSB-BioCore/COBRA.models' into submodule path 'D:/Users/lvalcarcel/Documents/MATLAB/cobratoolbox/test/models' failed
Failed to clone 'test/models'. Retry scheduled
Cloning into 'D:/Users/lvalcarcel/Documents/MATLAB/cobratoolbox/external/analysis/mptoolbox'...
remote: Repository not found.
fatal: repository 'https://github.com/LCSB-BioCore/mptoolbox.git/' not found
fatal: clone of 'https://github.com/LCSB-BioCore/mptoolbox.git' into submodule path 'D:/Users/lvalcarcel/Documents/MATLAB/cobratoolbox/external/analysis/mptoolbox' failed
Failed to clone 'external/analysis/mptoolbox' a second time, aborting
Error using initCobraToolbox (line 205)
The submodules could not be initialized.

I have checked and the submodule seems not to be present in github (error 404)

It is possible to avoid the initialization of this module?

Please include a short description of problem here

I hereby confirm that I have:

(Note: You may replace [ ] with [X] to check the box)

JamesRH commented 4 years ago

I also have observed this issue.

Several of the repos incorporated as submodules from https://github.com/LCSB-BioCore/ are no longer publicly available or have been moved or removed (following links yield github 404 Page not found as of this posting): https://github.com/LCSB-BioCore/rdir https://github.com/LCSB-BioCore/COBRA.models https://github.com/LCSB-BioCore/mptoolbox

Therefore, these locations are empty when the git clone --depth=1 https://github.com/opencobra/cobratoolbox.git cobratoolbox command from the install instructions are used:

git clone --depth=1 https://github.com/opencobra/cobratoolbox.git cobratoolbox
Cloning into 'cobratoolbox'...
remote: Enumerating objects: 3294, done.
remote: Counting objects: 100% (3294/3294), done.
remote: Compressing objects: 100% (3084/3084), done.
remote: Total 3294 (delta 120), reused 1985 (delta 66), pack-reused 0
Receiving objects: 100% (3294/3294), 93.20 MiB | 24.41 MiB/s, done.
Resolving deltas: 100% (120/120), done.
ls cobratoolbox/test/models cobratoolbox/external/base/utilities/rdir /tmp/cobratoolbox/external/analysis/mptoolbox

ls: cannot access /tmp/cobratoolbox/external/analysis/mptoolbox: No such file or directory
cobratoolbox/external/base/utilities/rdir:
cobratoolbox/test/models:
rmtfleming commented 4 years ago

Hi James, you are right. I am in the process of fixing this unanticipated issue. Regards, Ronan

On Tue, 24 Mar 2020 at 19:39, JamesRH notifications@github.com wrote:

I also have observed this issue.

Several of the repos incorporated as submodules from https://github.com/LCSB-BioCore/ are no longer publicly available or have been moved or removed (following links yield github 404 Page not found as of this posting): https://github.com/LCSB-BioCore/rdir https://github.com/LCSB-BioCore/COBRA.models https://github.com/LCSB-BioCore/mptoolbox

Therefore, these locations are empty when the git clone --depth=1 https://github.com/opencobra/cobratoolbox.git cobratoolbox command from the install instructions are used:

git clone --depth=1 https://github.com/opencobra/cobratoolbox.git cobratoolbox Cloning into 'cobratoolbox'... remote: Enumerating objects: 3294, done. remote: Counting objects: 100% (3294/3294), done. remote: Compressing objects: 100% (3084/3084), done. remote: Total 3294 (delta 120), reused 1985 (delta 66), pack-reused 0 Receiving objects: 100% (3294/3294), 93.20 MiB | 24.41 MiB/s, done. Resolving deltas: 100% (120/120), done.

ls cobratoolbox/test/models cobratoolbox/external/base/utilities/rdir /tmp/cobratoolbox/external/analysis/mptoolbox

ls: cannot access /tmp/cobratoolbox/external/analysis/mptoolbox: No such file or directory cobratoolbox/external/base/utilities/rdir: cobratoolbox/test/models:

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/opencobra/cobratoolbox/issues/1584#issuecomment-603464964, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAQMEOVICDA5YIUCOZXEKYDRJED5JANCNFSM4LSQ5TWA .

--

Mr. Ronan MT Fleming B.V.M.S. Dip. Math. Ph.D.

Assistant Professor, Division of Systems Biomedicine and Pharmacology, Leiden Academic Centre for Drug Research, Faculty of Science, Leiden University. https://www.universiteitleiden.nl/en/staffmembers/ronan-fleming & H2020 Project Coordinator, Systems Medicine of Mitochondrial Parkinson’s Disease, http://sysmedpd.eu & Adjunct Lecturer, School of Medicine, National University of Ireland, Galway.

Peer-reviewed publications: https://goo.gl/FZPG23 Mobile: +353 873 413 072 Skype: ronan.fleming

(This message is confidential and may contain privileged information. It is intended for the named recipient only. If you receive it in error please notify me and permanently delete the original message and any copies.)

JamesRH commented 4 years ago

Great, thanks.

Perhaps opencobra should fork a copy of all submodules and set up an automated pull into them to at least have a backup if this should happen again? You could even use these forks as your submodules to have CI testing on submodule changes.

rmtfleming commented 4 years ago

Hi James,

I committed what I think is a fix. The CI is testing it now. Can you please test if it works for you locally? https://github.com/opencobra/cobratoolbox/pull/1583

I will initiate a merge of master and develop once I see the CI results.

Regards,

Ronan

On Tue, 24 Mar 2020 at 20:21, JamesRH notifications@github.com wrote:

Great, thanks.

Perhaps opencobra should fork a copy of all submodules and set up an automated pull into them to at least have a backup if this should happen again? You could even use these forks as your submodules to have CI testing on submodule changes.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

--

Mr. Ronan MT Fleming B.V.M.S. Dip. Math. Ph.D.

Assistant Professor, Division of Systems Biomedicine and Pharmacology, Leiden Academic Centre for Drug Research, Faculty of Science, Leiden University. https://www.universiteitleiden.nl/en/staffmembers/ronan-fleming & H2020 Project Coordinator, Systems Medicine of Mitochondrial Parkinson’s Disease, http://sysmedpd.eu & Adjunct Lecturer, School of Medicine, National University of Ireland, Galway.

Peer-reviewed publications: https://goo.gl/FZPG23 Mobile: +353 873 413 072 Skype: ronan.fleming

(This message is confidential and may contain privileged information. It is intended for the named recipient only. If you receive it in error please notify me and permanently delete the original message and any copies.)

JamesRH commented 4 years ago

Not sure about the CI report, but here is what I found:

bash-4.2$ git clone --branch HHsubmission --depth=1 https://github.com/rmtfleming/cobratoolbox.git cobratoolbox
bash-4.2$ cd cobratoolbox
bash-4.2$ git checkout 01737d5 #confirm commit
bash-4.2$ matlab -nodisplay -nosplash -r 'initCobraToolbox'
To get started, type one of these: helpwin, helpdesk, or demo.
For product information, visit www.mathworks.com.

      _____   _____   _____   _____     _____     |
     /  ___| /  _  \ |  _  \ |  _  \   / ___ \    |   COnstraint-Based Reconstruction and Analysis
     | |     | | | | | |_| | | |_| |  | |___| |   |   The COBRA Toolbox - 2020
     | |     | | | | |  _  { |  _  /  |  ___  |   |
     | |___  | |_| | | |_| | | | \ \  | |   | |   |   Documentation:
     \_____| \_____/ |_____/ |_|  \_\ |_|   |_|   |   http://opencobra.github.io/cobratoolbox
                                                  | 

 > Checking if git is installed ...  Done (version: 1.8.3.).
 > Checking if the repository is tracked using git ...  Done.
 > Checking if curl is installed ...  Done.
 > Checking if remote can be reached ...  Done.
 > Initializing and updating submodules (this may take a while)...Submodule 'binary' (https://github.com/opencobra/COBRA.binary.git) registered for path 'binary'
Submodule 'external/analysis/CnaCobraInterface' (https://github.com/SteffKlamt/CnaCobraInterface.git) registered for path 'external/analysis/CnaCobraInterface'
Submodule 'external/analysis/Volume-and-Sampling' (https://github.com/Bounciness/Volume-and-Sampling.git) registered for path 'external/analysis/Volume-and-Sampling'
Submodule 'external/analysis/gaimc' (https://github.com/dgleich/gaimc.git) registered for path 'external/analysis/gaimc'
Submodule 'external/analysis/octave-networks-toolbox' (https://github.com/aeolianine/octave-networks-toolbox.git) registered for path 'external/analysis/octave-networks-toolbox'
Submodule 'external/base/samplers/looplessFluxSampler' (https://github.com/rmtfleming/looplessFluxSampler) registered for path 'external/base/samplers/looplessFluxSampler'
Submodule 'external/base/solvers/lusol' (https://github.com/nwh/lusol.git) registered for path 'external/base/solvers/lusol'
Submodule 'external/base/solvers/pdco' (https://github.com/mxsaunders/pdco.git) registered for path 'external/base/solvers/pdco'
Submodule 'external/base/utilities/Smith-Decomposition' (https://github.com/nbfigueroa/Smith-Decomposition.git) registered for path 'external/base/utilities/Smith-Decomposition'
Submodule 'COBRA.papers' (https://github.com/opencobra/COBRA.papers.git) registered for path 'papers'
Submodule 'test/models' (https://github.com/opencobra/COBRA.models) registered for path 'test/models'
Submodule 'COBRA.tutorials' (https://github.com/opencobra/COBRA.tutorials.git) registered for path 'tutorials'
Cloning into 'binary'...
fatal: unable to access 'https://github.com/opencobra/COBRA.binary.git/': error setting certificate verify locations:
  CAfile: /etc/ssl/certs/ca-certificates.crt
  CApath: none
Clone of 'https://github.com/opencobra/COBRA.binary.git' into submodule path 'binary' failed
Error using initCobraToolbox (line 205)
The submodules could not be initialized.

>> exit

The error is remedied with a simple git submodule update, like this:

bash-4.2$ git submodule update --init --remote --no-fetch 
bash-4.2$ matlab -nodisplay -nosplash -r 'initCobraToolbox'
                                      < M A T L A B (R) >
                            Copyright 1984-2017 The MathWorks, Inc.
                             R2017a (9.2.0.556344) 64-bit (glnxa64)
                                         March 27, 2017

To get started, type one of these: helpwin, helpdesk, or demo.
For product information, visit www.mathworks.com.

      _____   _____   _____   _____     _____     |
     /  ___| /  _  \ |  _  \ |  _  \   / ___ \    |   COnstraint-Based Reconstruction and Analysis
     | |     | | | | | |_| | | |_| |  | |___| |   |   The COBRA Toolbox - 2020
     | |     | | | | |  _  { |  _  /  |  ___  |   |
     | |___  | |_| | | |_| | | | \ \  | |   | |   |   Documentation:
     \_____| \_____/ |_____/ |_|  \_\ |_|   |_|   |   http://opencobra.github.io/cobratoolbox
                                                  | 

 > Checking if git is installed ...  Done (version: 1.8.3.).
 > Checking if the repository is tracked using git ...  Done.
 > Checking if curl is installed ...  Done.
 > Checking if remote can be reached ...  Done.
 > Initializing and updating submodules (this may take a while)... Done.
 > Adding all the files of The COBRA Toolbox ...  Done.
 > Define CB map output... set to svg.
 > TranslateSBML is installed and working properly.
 > Configuring solver environment variables ...
   - [--*-] GUROBI_PATH: /top/college/academic/ChemE/jamesrh/home/opt/gurobi752//linux64/matlab
   - [----] TOMLAB_PATH: --> set this path manually after installing the solver ( see https://opencobra.github.io/cobratoolbox/docs/solvers.html )
   - [----] MOSEK_PATH: --> set this path manually after installing the solver ( see https://opencobra.github.io/cobratoolbox/docs/solvers.html )
   Done.
 > Checking available solvers and solver interfaces ... Done.
 > Setting default solvers ... Done.
 > Saving the MATLAB path ... Done.
   - The MATLAB path was saved as ~/pathdef.m.

 > Summary of available solvers and solver interfaces

                        Support            LP    MILP      QP    MIQP     NLP
        ----------------------------------------------------------------------
        gurobi          active              1       1       1       1       -
        ibm_cplex       active              1       1       1       1       -
        tomlab_cplex    active              0       0       0       0       -
        glpk            active              1       1       -       -       - 
        mosek           active              0       -       0       -       -
        matlab          active              1       -       -       -       1
        pdco            active              1       -       1       -       -
        quadMinos       active              1       -       -       -       -
        dqqMinos        active              1       -       1       -       -
        cplex_direct    active              0       0       0       -       -
        cplexlp         active              1       -       -       -       -
        qpng            passive             -       -       1       -       -
        tomlab_snopt    passive             -       -       -       -       0
        lp_solve        legacy              1       -       -       -       -
        ----------------------------------------------------------------------
        Total           -                   9       3       5       2       1

 + Legend: - = not applicable, 0 = solver not compatible or not installed, 1 = solver installed.

 > You can solve LP problems using: 'gurobi' - 'glpk' - 'matlab' - 'pdco' - 'quadMinos' 
 > You can solve MILP problems using: 'gurobi' - 'glpk' 
 > You can solve QP problems using: 'gurobi' - 'pdco' 
 > You can solve MIQP problems using: 'gurobi' 
 > You can solve NLP problems using: 'matlab' 

 > Checking for available updates ...
> You cannot update your fork using updateCobraToolbox() because this is a development branch.
> The current branch is: detached HEAD
> The last commit to the current branch is: 01737d
> You can use MATLAB.devTools (https://github.com/opencobra/MATLAB.devTools) to update your fork.
>> exit

Note that the file /etc/ssl/certs/ca-certificates.crt doesn't exist on this particular server.

I ran the same thing on a recent Ubuntu 18.04 LTS install that has that file, and it worked without the error even without the manual git submodule update.

Hope that helps.

rmtfleming commented 4 years ago

Hi James,

the CI report had an unrelated error, also fixed.

I tried your fix locally (ie. git submodule update --init --remote --no-fetch) , then committed that change, together with the CI bugfix to the HHsubmission branch (now at 8dbee3). Please can you test it? I did, and your procedure, without the fix worked fine for me locally, even though I also have no /etc/ssl/certs/ca-certificates.crt on my machine.

Regards,

Ronan

On Wed, 25 Mar 2020 at 00:01, JamesRH notifications@github.com wrote:

Not sure about the CI report, but here is what I found:

bash-4.2$ git clone --branch HHsubmission --depth=1 https://github.com/rmtfleming/cobratoolbox.git cobratoolbox bash-4.2$ cd cobratoolbox bash-4.2$ git checkout 01737d5 #confirm commit bash-4.2$ matlab -nodisplay -nosplash -r 'initCobraToolbox'

To get started, type one of these: helpwin, helpdesk, or demo. For product information, visit www.mathworks.com.

  _____   _____   _____   _____     _____     |
 /  ___| /  _  \ |  _  \ |  _  \   / ___ \    |   COnstraint-Based Reconstruction and Analysis
 | |     | | | | | |_| | | |_| |  | |___| |   |   The COBRA Toolbox - 2020
 | |     | | | | |  _  { |  _  /  |  ___  |   |
 | |___  | |_| | | |_| | | | \ \  | |   | |   |   Documentation:
 \_____| \_____/ |_____/ |_|  \_\ |_|   |_|   |   http://opencobra.github.io/cobratoolbox
                                              |

Checking if git is installed ... Done (version: 1.8.3.). Checking if the repository is tracked using git ... Done. Checking if curl is installed ... Done. Checking if remote can be reached ... Done. Initializing and updating submodules (this may take a while)...Submodule 'binary' (https://github.com/opencobra/COBRA.binary.git) registered for path 'binary' Submodule 'external/analysis/CnaCobraInterface' (https://github.com/SteffKlamt/CnaCobraInterface.git) registered for path 'external/analysis/CnaCobraInterface' Submodule 'external/analysis/Volume-and-Sampling' (https://github.com/Bounciness/Volume-and-Sampling.git) registered for path 'external/analysis/Volume-and-Sampling' Submodule 'external/analysis/gaimc' (https://github.com/dgleich/gaimc.git) registered for path 'external/analysis/gaimc' Submodule 'external/analysis/octave-networks-toolbox' (https://github.com/aeolianine/octave-networks-toolbox.git) registered for path 'external/analysis/octave-networks-toolbox' Submodule 'external/base/samplers/looplessFluxSampler' (https://github.com/rmtfleming/looplessFluxSampler) registered for path 'external/base/samplers/looplessFluxSampler' Submodule 'external/base/solvers/lusol' (https://github.com/nwh/lusol.git) registered for path 'external/base/solvers/lusol' Submodule 'external/base/solvers/pdco' (https://github.com/mxsaunders/pdco.git) registered for path 'external/base/solvers/pdco' Submodule 'external/base/utilities/Smith-Decomposition' (https://github.com/nbfigueroa/Smith-Decomposition.git) registered for path 'external/base/utilities/Smith-Decomposition' Submodule 'COBRA.papers' (https://github.com/opencobra/COBRA.papers.git) registered for path 'papers' Submodule 'test/models' (https://github.com/opencobra/COBRA.models) registered for path 'test/models' Submodule 'COBRA.tutorials' (https://github.com/opencobra/COBRA.tutorials.git) registered for path 'tutorials' Cloning into 'binary'... fatal: unable to access 'https://github.com/opencobra/COBRA.binary.git/': error setting certificate verify locations: CAfile: /etc/ssl/certs/ca-certificates.crt CApath: none Clone of 'https://github.com/opencobra/COBRA.binary.git' into submodule path 'binary' failed Error using initCobraToolbox (line 205) The submodules could not be initialized.

exit

The error is remedied with a simple git submodule update, like this:

bash-4.2$ git submodule update --init --remote --no-fetch bash-4.2$ matlab -nodisplay -nosplash -r 'initCobraToolbox'

                                  < M A T L A B (R) >
                        Copyright 1984-2017 The MathWorks, Inc.
                         R2017a (9.2.0.556344) 64-bit (glnxa64)
                                     March 27, 2017

To get started, type one of these: helpwin, helpdesk, or demo. For product information, visit www.mathworks.com.

  _____   _____   _____   _____     _____     |
 /  ___| /  _  \ |  _  \ |  _  \   / ___ \    |   COnstraint-Based Reconstruction and Analysis
 | |     | | | | | |_| | | |_| |  | |___| |   |   The COBRA Toolbox - 2020
 | |     | | | | |  _  { |  _  /  |  ___  |   |
 | |___  | |_| | | |_| | | | \ \  | |   | |   |   Documentation:
 \_____| \_____/ |_____/ |_|  \_\ |_|   |_|   |   http://opencobra.github.io/cobratoolbox
                                              |

Checking if git is installed ... Done (version: 1.8.3.). Checking if the repository is tracked using git ... Done. Checking if curl is installed ... Done. Checking if remote can be reached ... Done. Initializing and updating submodules (this may take a while)... Done. Adding all the files of The COBRA Toolbox ... Done. Define CB map output... set to svg. TranslateSBML is installed and working properly. Configuring solver environment variables ...

Summary of available solvers and solver interfaces

                    Support            LP    MILP      QP    MIQP     NLP
    ----------------------------------------------------------------------
    gurobi          active              1       1       1       1       -
    ibm_cplex       active              1       1       1       1       -
    tomlab_cplex    active              0       0       0       0       -
    glpk            active              1       1       -       -       - `git submodule update`
    mosek           active              0       -       0       -       -
    matlab          active              1       -       -       -       1
    pdco            active              1       -       1       -       -
    quadMinos       active              1       -       -       -       -
    dqqMinos        active              1       -       1       -       -
    cplex_direct    active              0       0       0       -       -
    cplexlp         active              1       -       -       -       -
    qpng            passive             -       -       1       -       -
    tomlab_snopt    passive             -       -       -       -       0
    lp_solve        legacy              1       -       -       -       -
    ----------------------------------------------------------------------
    Total           -                   9       3       5       2       1
  • Legend: - = not applicable, 0 = solver not compatible or not installed, 1 = solver installed.

    You can solve LP problems using: 'gurobi' - 'glpk' - 'matlab' - 'pdco' - 'quadMinos' You can solve MILP problems using: 'gurobi' - 'glpk' You can solve QP problems using: 'gurobi' - 'pdco' You can solve MIQP problems using: 'gurobi' You can solve NLP problems using: 'matlab'

    Checking for available updates ... You cannot update your fork using updateCobraToolbox() because this is a development branch. The current branch is: detached HEAD The last commit to the current branch is: 01737d You can use MATLAB.devTools (https://github.com/opencobra/MATLAB.devTools) to update your fork.

    exit

Note that the file /etc/ssl/certs/ca-certificates.crt doesn't exist on this particular server.

I ran the same thing on a recent Ubuntu 18.04 LTS install that has that file, and it worked without the error even without the manual git submodule update.

Hope that helps.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/opencobra/cobratoolbox/issues/1584#issuecomment-603566161, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAQMEOQKZPPSTLNHLEWAYXLRJFCT5ANCNFSM4LSQ5TWA .

--

Mr. Ronan MT Fleming B.V.M.S. Dip. Math. Ph.D.

Assistant Professor, Division of Systems Biomedicine and Pharmacology, Leiden Academic Centre for Drug Research, Faculty of Science, Leiden University. https://www.universiteitleiden.nl/en/staffmembers/ronan-fleming & H2020 Project Coordinator, Systems Medicine of Mitochondrial Parkinson’s Disease, http://sysmedpd.eu & Adjunct Lecturer, School of Medicine, National University of Ireland, Galway.

Peer-reviewed publications: https://goo.gl/FZPG23 Mobile: +353 873 413 072 Skype: ronan.fleming

(This message is confidential and may contain privileged information. It is intended for the named recipient only. If you receive it in error please notify me and permanently delete the original message and any copies.)

JamesRH commented 4 years ago

No, https://github.com/rmtfleming/cobratoolbox/commit/01737d5558bdec05df649d28197763e09507f441 and https://github.com/rmtfleming/cobratoolbox/commit/8dbee38f68b7b350a9c1919ba2c8d1a16e888ee2 still don't work on the Redhat-like system.

System details:

It does work on my Ubuntu system. I found several fixes for the RedHat-like system, you see which looks best to you.

Issue: I see that initCobraToolbox.m is running git config http.sslVerify false. However, this will not propagate to the submodules, hence the error. I am not sure why ssl needs to be turned off in the code, but it makes sense that this varies on different systems, as it will depend on how calling git from matlab on Windows or other OSs interact with ssl certs (see below).

Possible solutions for #1583 Add back the --global option here and here (see discussion below why this is a reversion, and why there may be other issues with this approach). Or use one of the other workarounds below.

Tested Workarounds: After checking out the repo, but before before running matlab, do one of the following:

git submodule update --init --remote --no-fetch 

or if you don't mind the security issues resulting from turning off ssl (which initCobraToolbox.m already does):

git config --global http.sslverify false
#and then after installing within matlab, turn back to true or to how it was:
git config --global --unset http.sslverify 

or if you are getting an error about /etc/ssl/certs/ca-certificates.crt not existing, but /etc/ssl/certs/ca-bundle.crt does:

git config --global http.sslCAinfo /etc/ssl/certs/ca-bundle.crt

or if you are running a bash-like shell:

export GIT_SSL_NO_VERIFY=1

Details: On Ubuntu / debian / apt based linux, the system-wide ssl certs are at: /etc/ssl/certs/ca-certificates.crt, while RedHat / Yum based systems have a linked file /etc/ssl/certs/ca-bundle.crt -> /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem. Windows is yet more difficult, git there seems to have it's own per-user ssl cert bundle file storage location. See this blog for even more detail. And of course some systems may have overridden these defaults.

The line where ssl is turned off for git came from an commit 4 months ago, but it looks like the --global flag was removed four years ago, here is a discussion about it. I could see how the git call within matlab seems to be operating with different env / path information that varies across OS and distribution.

The following test on a system lacking /etc/ssl/certs/ca-certificates.crt illustrates one of the workarounds fixing the issue:

bash-4.2$ git clone --branch HHsubmission --depth=3 https://github.com/rmtfleming/cobratoolbox.git cobratoolbox; cd cobratoolbox; git checkout 01737d5
bash-4.2$ git config --global http.sslCAinfo /etc/ssl/certs/ca-bundle.crt
bash-4.2$ matlab -nodisplay -nosplash -r 'initCobraToolbox'
                                      < M A T L A B (R) >
                            Copyright 1984-2017 The MathWorks, Inc.
                             R2017a (9.2.0.556344) 64-bit (glnxa64)
                                         March 27, 2017

To get started, type one of these: helpwin, helpdesk, or demo.
For product information, visit www.mathworks.com.

      _____   _____   _____   _____     _____     |
     /  ___| /  _  \ |  _  \ |  _  \   / ___ \    |   COnstraint-Based Reconstruction and Analysis
     | |     | | | | | |_| | | |_| |  | |___| |   |   The COBRA Toolbox - 2020
     | |     | | | | |  _  { |  _  /  |  ___  |   |
     | |___  | |_| | | |_| | | | \ \  | |   | |   |   Documentation:
     \_____| \_____/ |_____/ |_|  \_\ |_|   |_|   |   http://opencobra.github.io/cobratoolbox
                                                  | 

 > Checking if git is installed ...  Done (version: 1.8.3.).
 > Checking if the repository is tracked using git ...  Done.
 > Checking if curl is installed ...  Done.
 > Checking if remote can be reached ...  Done.
 > Initializing and updating submodules (this may take a while)... Done.
 > Adding all the files of The COBRA Toolbox ...  Done.
 > Define CB map output... set to svg.
 > TranslateSBML is installed and working properly.
 > Configuring solver environment variables ...
   - [----] ILOG_CPLEX_PATH: --> set this path manually after installing the solver ( see https://opencobra.github.io/cobratoolbox/docs/solvers.html )
   - [----] GUROBI_PATH: --> set this path manually after installing the solver ( see https://opencobra.github.io/cobratoolbox/docs/solvers.html )
   - [----] TOMLAB_PATH: --> set this path manually after installing the solver ( see https://opencobra.github.io/cobratoolbox/docs/solvers.html )
   - [----] MOSEK_PATH: --> set this path manually after installing the solver ( see https://opencobra.github.io/cobratoolbox/docs/solvers.html )
   Done.
 > Checking available solvers and solver interfaces ... Done.
 > Setting default solvers ... Done.
 > Saving the MATLAB path ... Done.
   - The MATLAB path was saved as ~/pathdef.m.

 > Summary of available solvers and solver interfaces

                        Support            LP    MILP      QP    MIQP     NLP
        ----------------------------------------------------------------------
        gurobi          active              1       1       1       1       -
        ibm_cplex       active              1       1       1       1       -
        tomlab_cplex    active              0       0       0       0       -
        glpk            active              1       1       -       -       - 
        mosek           active              0       -       0       -       -
        matlab          active              1       -       -       -       1
        pdco            active              1       -       1       -       -
        quadMinos       active              1       -       -       -       -
        dqqMinos        active              1       -       1       -       -
        cplex_direct    active              0       0       0       -       -
        cplexlp         active              1       -       -       -       -
        qpng            passive             -       -       1       -       -
        tomlab_snopt    passive             -       -       -       -       0
        lp_solve        legacy              1       -       -       -       -
        ----------------------------------------------------------------------
        Total           -                   9       3       5       2       1

 + Legend: - = not applicable, 0 = solver not compatible or not installed, 1 = solver installed.

 > You can solve LP problems using: 'gurobi' - 'glpk' - 'matlab' - 'pdco' - 'quadMinos' 
 > You can solve MILP problems using: 'gurobi' - 'glpk' 
 > You can solve QP problems using: 'gurobi' - 'pdco' 
 > You can solve MIQP problems using: 'gurobi' 
 > You can solve NLP problems using: 'matlab' 

 > Checking for available updates ...
> You cannot update your fork using updateCobraToolbox() because this is a development branch.
> The current branch is: HHsubmission
> The last commit to the current branch is: 8dbee3
> You can use MATLAB.devTools (https://github.com/opencobra/MATLAB.devTools) to update your fork.
>>> exit
rmtfleming commented 4 years ago

Hi James,

many thanks for your help here. It is very welcome. I have followed this suggestion:

git config --global http.sslverify false

and then after installing within matlab, turn back to true or to how it was:

git config --global --unset http.sslverify

The other suggestions looked to be either too platform dependent or require git expertise that many users do not have.

We are very open to your suggestions and contributions to improve the cobra toolbox, especially your in depth experience with git is particularly valuable at this time.

Regards,

Ronan

On Wed, 25 Mar 2020 at 20:16, JamesRH notifications@github.com wrote:

No, rmtfleming@01737d5 https://github.com/rmtfleming/cobratoolbox/commit/01737d5558bdec05df649d28197763e09507f441 and rmtfleming@8dbee38 https://github.com/rmtfleming/cobratoolbox/commit/8dbee38f68b7b350a9c1919ba2c8d1a16e888ee2 still don't work on the Redhat-like system.

System details:

  • CentOS Linux release 7.7.1908 Core, Linux 3.10.0-1062.12.1.el7.x86_64
  • git version 1.8.3.1 from yum package 1.8.3.1-21.el7_7 updates
  • matlab R2017a 9.2.0.556344 64-bit glnxa64

It does work on my Ubuntu system. I found several fixes for the RedHat-like system, you see which looks best to you.

Issue: I see that initCobraToolbox.m is running git config http.sslVerify false. However, this will not propagate to the submodules, hence the error. I am not sure why ssl needs to be turned off in the code, but it makes sense that this varies on different systems, as it will depend on how calling git from matlab on Windows or other OSs interact with ssl certs (see below).

Possible solutions for #1583 https://github.com/opencobra/cobratoolbox/pull/1583 Add back the --global option here https://github.com/rmtfleming/cobratoolbox/blob/a745f56ad33ad16dc97fd7facf60c63fcabaf513/initCobraToolbox.m#L176 and here https://github.com/rmtfleming/cobratoolbox/blob/a745f56ad33ad16dc97fd7facf60c63fcabaf513/initCobraToolbox.m#L573 (see discussion below why this is a reversion, and why there may be other issues with this approach). Or use one of the other workarounds below.

Tested Workarounds: After checking out the repo, but before before running matlab, do one of the following:

git submodule update --init --remote --no-fetch

or if you don't mind the security issues resulting from turning off ssl (which initCobraToolbox.m already does):

git config --global http.sslverify false

and then after installing within matlab, turn back to true or to how it was:

git config --global --unset http.sslverify

or if you are getting an error about /etc/ssl/certs/ca-certificates.crt not existing, but /etc/ssl/certs/ca-bundle.crt does:

git config --global http.sslCAinfo /etc/ssl/certs/ca-bundle.crt

or if you are running a bash-like shell:

export GIT_SSL_NO_VERIFY=1

Details: On Ubuntu / debian / apt based linux, the system-wide ssl certs are at: /etc/ssl/certs/ca-certificates.crt, while RedHat / Yum based systems have a linked file /etc/ssl/certs/ca-bundle.crt -> /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem. Windows is yet more difficult, git there seems to have it's own per-user ssl cert bundle file storage location. See this blog https://www.happyassassin.net/2015/01/12/a-note-about-ssltls-trusted-certificate-stores-and-platforms/ for even more detail. And of course some systems may have overridden these defaults.

The line https://github.com/rmtfleming/cobratoolbox/blob/8dbee38f68b7b350a9c1919ba2c8d1a16e888ee2/initCobraToolbox.m#L176 where ssl is turned off for git came from an commit https://github.com/rmtfleming/cobratoolbox/blame/8dbee38f68b7b350a9c1919ba2c8d1a16e888ee2/initCobraToolbox.m#L176 4 months ago, but it looks like the --global flag was removed https://github.com/rmtfleming/cobratoolbox/commit/9d3d1289b3107469c6e24f2f49a4161d15537c74 four years ago, here is a discussion https://groups.google.com/d/topic/cobra-toolbox/RdQySljHuTQ about it. I could see how the git call within matlab seems to be operating with different env / path information that varies across OS and distribution.

The following test on a system lacking /etc/ssl/certs/ca-certificates.crt illustrates one of the workarounds fixing the issue:

bash-4.2$ git clone --branch HHsubmission --depth=3 https://github.com/rmtfleming/cobratoolbox.git cobratoolbox; cd cobratoolbox; git checkout 01737d5 bash-4.2$ git config --global http.sslCAinfo /etc/ssl/certs/ca-bundle.crt bash-4.2$ matlab -nodisplay -nosplash -r 'initCobraToolbox'

                                  < M A T L A B (R) >
                        Copyright 1984-2017 The MathWorks, Inc.
                         R2017a (9.2.0.556344) 64-bit (glnxa64)
                                     March 27, 2017

To get started, type one of these: helpwin, helpdesk, or demo. For product information, visit www.mathworks.com.

  _____   _____   _____   _____     _____     |
 /  ___| /  _  \ |  _  \ |  _  \   / ___ \    |   COnstraint-Based Reconstruction and Analysis
 | |     | | | | | |_| | | |_| |  | |___| |   |   The COBRA Toolbox - 2020
 | |     | | | | |  _  { |  _  /  |  ___  |   |
 | |___  | |_| | | |_| | | | \ \  | |   | |   |   Documentation:
 \_____| \_____/ |_____/ |_|  \_\ |_|   |_|   |   http://opencobra.github.io/cobratoolbox
                                              |

Checking if git is installed ... Done (version: 1.8.3.). Checking if the repository is tracked using git ... Done. Checking if curl is installed ... Done. Checking if remote can be reached ... Done. Initializing and updating submodules (this may take a while)... Done. Adding all the files of The COBRA Toolbox ... Done. Define CB map output... set to svg. TranslateSBML is installed and working properly. Configuring solver environment variables ...

Summary of available solvers and solver interfaces

                    Support            LP    MILP      QP    MIQP     NLP
    ----------------------------------------------------------------------
    gurobi          active              1       1       1       1       -
    ibm_cplex       active              1       1       1       1       -
    tomlab_cplex    active              0       0       0       0       -
    glpk            active              1       1       -       -       -
    mosek           active              0       -       0       -       -
    matlab          active              1       -       -       -       1
    pdco            active              1       -       1       -       -
    quadMinos       active              1       -       -       -       -
    dqqMinos        active              1       -       1       -       -
    cplex_direct    active              0       0       0       -       -
    cplexlp         active              1       -       -       -       -
    qpng            passive             -       -       1       -       -
    tomlab_snopt    passive             -       -       -       -       0
    lp_solve        legacy              1       -       -       -       -
    ----------------------------------------------------------------------
    Total           -                   9       3       5       2       1
  • Legend: - = not applicable, 0 = solver not compatible or not installed, 1 = solver installed.

    You can solve LP problems using: 'gurobi' - 'glpk' - 'matlab' - 'pdco' - 'quadMinos' You can solve MILP problems using: 'gurobi' - 'glpk' You can solve QP problems using: 'gurobi' - 'pdco' You can solve MIQP problems using: 'gurobi' You can solve NLP problems using: 'matlab'

    Checking for available updates ... You cannot update your fork using updateCobraToolbox() because this is a development branch. The current branch is: HHsubmission The last commit to the current branch is: 8dbee3 You can use MATLAB.devTools (https://github.com/opencobra/MATLAB.devTools) to update your fork.

    exit

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/opencobra/cobratoolbox/issues/1584#issuecomment-604063055, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAQMEOVRFIRDFZ47IMIQF53RJJRCNANCNFSM4LSQ5TWA .

--

Mr. Ronan MT Fleming B.V.M.S. Dip. Math. Ph.D.

Assistant Professor, Division of Systems Biomedicine and Pharmacology, Leiden Academic Centre for Drug Research, Faculty of Science, Leiden University. https://www.universiteitleiden.nl/en/staffmembers/ronan-fleming & H2020 Project Coordinator, Systems Medicine of Mitochondrial Parkinson’s Disease, http://sysmedpd.eu & Adjunct Lecturer, School of Medicine, National University of Ireland, Galway.

Peer-reviewed publications: https://goo.gl/FZPG23 Mobile: +353 873 413 072 Skype: ronan.fleming

(This message is confidential and may contain privileged information. It is intended for the named recipient only. If you receive it in error please notify me and permanently delete the original message and any copies.)

Theorell commented 4 years ago

I'm not sure if I follow everything you say above, but I still have this. This is executed on ubuntu 18.04, but never finishes:

bash:~/Software/cobratoolbox$ git log commit 909c850fe46104a1834f9a10b4bfdeeea079fcb8 (grafted, HEAD -> develop, origin/develop) Author: Ronan M.T. Fleming ronan.mt.fleming@gmail.com Date: Wed Mar 25 20:59:40 2020 +0000

Merge pull request #1586 from rmtfleming/ssl

ssl verification temporarily avoided during init

bash:~/Software/cobratoolbox$ git config --global http.sslverify false

bash:~/Software/cobratoolbox$ matlab -nodisplay -nosplash -r 'initCobraToolbox'

                                             < M A T L A B (R) >
                                   Copyright 1984-2019 The MathWorks, Inc.
                                   R2019b (9.7.0.1190202) 64-bit (glnxa64)
                                               August 21, 2019

To get started, type doc. For product information, visit www.mathworks.com.

  _____   _____   _____   _____     _____     |
 /  ___| /  _  \ |  _  \ |  _  \   / ___ \    |   COnstraint-Based Reconstruction and Analysis
 | |     | | | | | |_| | | |_| |  | |___| |   |   The COBRA Toolbox - 2020
 | |     | | | | |  _  { |  _  /  |  ___  |   |
 | |___  | |_| | | |_| | | | \ \  | |   | |   |   Documentation:
 \_____| \_____/ |_____/ |_|  \_\ |_|   |_|   |   http://opencobra.github.io/cobratoolbox
                                              | 

Checking if git is installed ... Done (version: 2.17.1). Checking if the repository is tracked using git ... Done. Checking if curl is installed ... Done. Checking if remote can be reached ... Done. Initializing and updating submodules (this may take a while)...

As I understand, given the fix in the version I pulled, the line "bash:~/Software/cobratoolbox$ git config --global http.sslverify false" should not be necessary right?

If I run: git submodule update --init --remote --no-fetch Cloning into '~/Software/cobratoolbox/test/models'... Username for 'https://github.com':

I get a password prompt.

rmtfleming commented 4 years ago

Hi Theorell, it seems to work fine for me.

It could be that your request for a password reflects a need to configure your computer to work with github etc... https://github.com/opencobra/MATLAB.devTools/blob/master/docs/source/prerequisites.rst

Regards,

Ronan

rfleming$ git clone --branch develop --depth=1 https://github.com/opencobra/cobratoolbox.git cobratoolbox

Cloning into 'cobratoolbox'...

remote: Enumerating objects: 3511, done.

remote: Counting objects: 100% (3511/3511), done.

remote: Compressing objects: 100% (3222/3222), done.

remote: Total 3511 (delta 195), reused 2172 (delta 137), pack-reused 0

Receiving objects: 100% (3511/3511), 95.25 MiB | 7.21 MiB/s, done.

Resolving deltas: 100% (195/195), done.

Checking out files: 100% (3060/3060), done.

mp0015:tmp rfleming$ cd cobratoolbox/

mp0015:cobratoolbox rfleming$ which matlab

mp0015:cobratoolbox rfleming$ alias matlab="/Applications/MATLAB_R2019b.app/bin/matlab"

mp0015:cobratoolbox rfleming$ matlab -nodisplay -nosplash -r 'initCobraToolbox'

          < M A T L A B (R) >

Copyright 1984-2019 The MathWorks, Inc.

 R2019b

Update 1 (9.7.0.1216025) 64-bit (maci64)

            September 26, 2019

To get started, type doc.

For product information, visit www.mathworks.com.

Student License -- for use by students to meet course requirements

and perform academic research at degree granting institutions only.

  _____   _____   _____   _____     _____     |

 /  ___| /  _  \ |  _  \ |  _  \   / ___ \    |   COnstraint-Based

Reconstruction and Analysis

 | |     | | | | | |_| | | |_| |  | |___| |   |   The COBRA Toolbox -

2020

 | |     | | | | |  _  { |  _  /  |  ___  |   |

 | |___  | |_| | | |_| | | | \ \  | |   | |   |   Documentation:

 \_____| \_____/ |_____/ |_|  \_\ |_|   |_|   |

http://opencobra.github.io/cobratoolbox

                                              |

Checking if git is installed ... Done (version: 2.17.2).

Checking if the repository is tracked using git ... Done.

Checking if curl is installed ... Done.

Checking if remote can be reached ... Done.

Initializing and updating submodules (this may take a while)...Warning: Removed

'/Users/rfleming/work/sbgCloud/code/tmp/cobratoolbox/test/models' from the

MATLAB path for this MATLAB session.

See 'doc path' for more information.

In initCobraToolbox (line 197)

In startup (line 11)

Done.

Adding all the files of The COBRA Toolbox ... Done.

Define CB map output... set to svg.

TranslateSBML is installed and working properly.

Configuring solver environment variables ...

Support LP MILP QP MIQP NLP


gurobi active 1 1 1 1 -

ibm_cplex active 1 1 1 1 -

tomlab_cplex active 0 0 0 0 -

glpk active 1 1 - - -

mosek active 0 - 0 - -

matlab active 1 - - - 1

pdco active 1 - 1 - -

quadMinos active 1 - - - -

dqqMinos active 1 - 1 - -

cplex_direct active 0 0 0 - -

cplexlp active 1 - - - -

qpng passive - - 1 - -

tomlab_snopt passive - - - - 0

lp_solve legacy 1 - - - -


Total - 9 3 5 2 1

Support LP MILP QP MIQP NLP


gurobi active 1 1 1 1 -

ibm_cplex active 1 1 1 1 -

tomlab_cplex active 0 0 0 0 -

glpk active 1 1 - - -

mosek active 0 - 0 - -

matlab active 1 - - - 1

pdco active 1 - 1 - -

quadMinos active 1 - - - -

dqqMinos active 1 - 1 - -

cplex_direct active 0 0 0 - -

cplexlp active 1 - - - -

qpng passive - - 1 - -

tomlab_snopt passive - - - - 0

lp_solve legacy 1 - - - -


Total - 9 3 5 2 1

On Thu, 26 Mar 2020 at 15:37, Theorell notifications@github.com wrote:

I'm not sure if I follow everything you say above, but I still have this. This is executed on ubuntu 18.04, but never finishes:

bash:~/Software/cobratoolbox$ git log commit 909c850 https://github.com/opencobra/cobratoolbox/commit/909c850fe46104a1834f9a10b4bfdeeea079fcb8 (grafted, HEAD -> develop, origin/develop) Author: Ronan M.T. Fleming ronan.mt.fleming@gmail.com Date: Wed Mar 25 20:59:40 2020 +0000

Merge pull request #1586 from rmtfleming/ssl

ssl verification temporarily avoided during init

bash:~/Software/cobratoolbox$ git config --global http.sslverify false

bash:~/Software/cobratoolbox$ matlab -nodisplay -nosplash -r 'initCobraToolbox'

                                         < M A T L A B (R) >
                               Copyright 1984-2019 The MathWorks, Inc.
                               R2019b (9.7.0.1190202) 64-bit (glnxa64)
                                           August 21, 2019

To get started, type doc. For product information, visit www.mathworks.com.

_____ / ___ / _ \ _ \ _ \ / ___ \ COnstraint-Based Reconstruction and Analysis _ _ ___ The COBRA Toolbox - 2020 _ { _ / ___ ___ _ _ \ \ Documentation: _____ _____/ _____/ _ _\ _ _ http://opencobra.github.io/cobratoolbox

Checking if git is installed ... Done (version: 2.17.1). Checking if the repository is tracked using git ... Done. Checking if curl is installed ... Done. Checking if remote can be reached ... Done. Initializing and updating submodules (this may take a while)...

As I understand, given the fix in the version I pulled, the line "bash:~/Software/cobratoolbox$ git config --global http.sslverify false" should not be necessary right?

If I run: git submodule update --init --remote --no-fetch Cloning into '~/Software/cobratoolbox/test/models'... Username for 'https://github.com':

I get a password prompt.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/opencobra/cobratoolbox/issues/1584#issuecomment-604500995, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAQMEOUSQDSPKUEQU2XP7FLRJNZCXANCNFSM4LSQ5TWA .

--

Mr. Ronan MT Fleming B.V.M.S. Dip. Math. Ph.D.

Assistant Professor, Division of Systems Biomedicine and Pharmacology, Leiden Academic Centre for Drug Research, Faculty of Science, Leiden University. https://www.universiteitleiden.nl/en/staffmembers/ronan-fleming & H2020 Project Coordinator, Systems Medicine of Mitochondrial Parkinson’s Disease, http://sysmedpd.eu & Adjunct Lecturer, School of Medicine, National University of Ireland, Galway.

Peer-reviewed publications: https://goo.gl/FZPG23 Mobile: +353 873 413 072 Skype: ronan.fleming

(This message is confidential and may contain privileged information. It is intended for the named recipient only. If you receive it in error please notify me and permanently delete the original message and any copies.)

jokroemer commented 4 years ago

Dear Ronan, I have similar problem and I don't really know what to do. I'm not an expert on Git. After Cloning Cobratoolbox in the gitbash and running initCobraToolbox I get the following error:

image

I had it workin gpreviously but after a recdent update to Win10 , I reinstalled matlab, git etc). When using the zip repository of Cobra I get even more fatal errors.

Any help woudl be greatly appreciated! Greetings Jens

rmtfleming commented 4 years ago

Hi Jens, we are in the process of setting up a new CI system. The bug you seem to have encountered is because one of the submodules that the COBRA toolbox depends on could not be reached. I think that has been fixed now. Please can you download the cobra toolbox again and see if initCobraToolbox works? Regards, Ronan https://github.com/opencobra/cobratoolbox/

On Fri, 27 Mar 2020 at 09:43, jokroemer notifications@github.com wrote:

Dear Ronan, I have similar problem and I don't really know what to do. I'm not an expert on Git. After Cloning Cobratoolbox in the gitbash and running initCobraToolbox I get the following error:

[image: image] https://user-images.githubusercontent.com/62608241/77742871-73f1b300-7017-11ea-82a5-a8c00f9940a1.png

I had it workin gpreviously but after a recdent update to Win10 , I reinstalled matlab, git etc). When using the zip repository of Cobra I get even more fatal errors.

Any help woudl be greatly appreciated! Greetings Jens

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/opencobra/cobratoolbox/issues/1584#issuecomment-604907616, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAQMEOQS7N37WB3OYUC66E3RJRYKPANCNFSM4LSQ5TWA .

--

Mr. Ronan MT Fleming B.V.M.S. Dip. Math. Ph.D.

Assistant Professor, Division of Systems Biomedicine and Pharmacology, Leiden Academic Centre for Drug Research, Faculty of Science, Leiden University. https://www.universiteitleiden.nl/en/staffmembers/ronan-fleming & H2020 Project Coordinator, Systems Medicine of Mitochondrial Parkinson’s Disease, http://sysmedpd.eu & Adjunct Lecturer, School of Medicine, National University of Ireland, Galway.

Peer-reviewed publications: https://goo.gl/FZPG23 Mobile: +353 873 413 072 Skype: ronan.fleming

(This message is confidential and may contain privileged information. It is intended for the named recipient only. If you receive it in error please notify me and permanently delete the original message and any copies.)

bbarker commented 4 years ago

The submodule removal issue is particularly problematic for reproducible science; I ran into the mptoolbox and COBRA.models etc. issue today using what is supposed to be a reproducible build. Of course as we all know, it is only as reproducible as the subset of the internet it relies on. In this case, github repositories are not guaranteed to be stable, but it might help if we treat them as such.

One way to do so is to host all default submodules on the opencobra GitHub organization, and to never revise history on these (or any other public) repos - at least in the production branch(es); instead, if the repository gets too large, a new repository could be created from HEAD on the old repository, which could then be "archived" in the github-sense of the word. It would be great if github offered a more stable option that would allow a repository to act as a true archive (at least for certain branches), but I gather this might require mediation with the standard git rules.

bbarker commented 4 years ago

Also, in case it helps, I was still getting an error on COBRA.models with the latest commit on master:

Unable to checkout 52aba03f7c7fb0b8d684fe8b9637f66e510ce680 from https://github.com/opencobra/COBRA.models.
builder for '/nix/store/gl7s3xc6141vjz345n024v3gqmqz20k1-cobratoolbox-9251835.drv' failed with exit code 1
cannot build derivation '/nix/store/ws64ps23q3pmspqsh46911iwm5glgy98-cobraToolbox-local.drv': 1 dependencies couldn't be built
rmtfleming commented 4 years ago

Hi All,

we are migrating, to a new institution, the CI system underlying the cobra toolbox at the moment. The existing CI system can report that everything is fine, but that may be because the CI system itself is established on a particular architecture, even though it spawns virtual machines with different OS's. We need to get detailed error messages and debugging info from superusers to help sort things out quickly now.

e.g. we need to know more than that someone is still "getting an error on COBRA.models with the latest commit on master" by provideding more detailed debugging info than: Unable to checkout 52aba03f7c7fb0b8d684fe8b9637f66e510ce680 from https://github.com/opencobra/COBRA.models. builder for '/nix/store/gl7s3xc6141vjz345n024v3gqmqz20k1-cobratoolbox-9251835.drv' failed with exit code 1 cannot build derivation '/nix/store/ws64ps23q3pmspqsh46911iwm5glgy98-cobraToolbox-local.drv': 1 dependencies couldn't be built

With respect to reproducibility, some submodules are just git copies of code that is not in a git repo anywhere, e.g, mptoolbox https://uk.mathworks.com/matlabcentral/fileexchange/6446-multiple-precision-toolbox-for-matlab What happened there was that https://github.com/LCSB-BioCore/COBRA.models https://github.com/LCSB-BioCore/rdir.git https://github.com/LCSB-BioCore/mptoolbox.git were deleted without checking with others first.

With respect to COBRA.models, note that it should ONLY be used for testing code, as per the instructions here: https://github.com/opencobra/COBRA.models " COBRA.models This repository contains a collection of models that serve for testing of COBRA code in continuous integration environments. e.g. the COBRA toolbox. These models should ONLY to be used for testing of COBRA code. They are NOT meant to be verified versions of particular models. For that, always go to the original distribution source. For example, although there are versions of human metabolic reconstructions in this repository, e.g., ReconX, one should not use these versions as the basis for downstream calculations as they are only supposed to be used with test code. Go to an original distribution source for ReconX instead, e.g., https://www.vmh.life/#downloadview " Everyone needs to chip in and help debug things from their own side over the next few weeks as we do the transition. i.e. provide solutions, not just issues.

Regards,

Ronan

On Mon, 30 Mar 2020 at 22:11, Brandon Elam Barker notifications@github.com wrote:

Also, in case it helps, I was still getting an error on COBRA.models with the latest commit on master:

Unable to checkout 52aba03f7c7fb0b8d684fe8b9637f66e510ce680 from https://github.com/opencobra/COBRA.models. builder for '/nix/store/gl7s3xc6141vjz345n024v3gqmqz20k1-cobratoolbox-9251835.drv' failed with exit code 1 cannot build derivation '/nix/store/ws64ps23q3pmspqsh46911iwm5glgy98-cobraToolbox-local.drv': 1 dependencies couldn't be built

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

--

Mr. Ronan MT Fleming B.V.M.S. Dip. Math. Ph.D.

Assistant Professor, Division of Systems Biomedicine and Pharmacology, Leiden Academic Centre for Drug Research, Faculty of Science, Leiden University. https://www.universiteitleiden.nl/en/staffmembers/ronan-fleming & H2020 Project Coordinator, Systems Medicine of Mitochondrial Parkinson’s Disease, http://sysmedpd.eu & Adjunct Lecturer, School of Medicine, National University of Ireland, Galway.

Peer-reviewed publications: https://goo.gl/FZPG23 Mobile: +353 873 413 072 Skype: ronan.fleming

(This message is confidential and may contain privileged information. It is intended for the named recipient only. If you receive it in error please notify me and permanently delete the original message and any copies.)

rmtfleming commented 4 years ago

Hi All,

if anyone is having problems with their submodules in the cobra toolbox, please make sure they point to the updated URL. This is done automatically with any new clone followed by init, so if you don't wish to do that, make sure your submodule URLs look like the following example:

fork-cobratoolbox/test/models$ git remote -v origin https://github.com/opencobra/COBRA.models (fetch) origin https://github.com/opencobra/COBRA.models (push)

Regards,

Ronan

On Mon, 30 Mar 2020 at 22:33, Ronan M.T. Fleming ronan.mt.fleming@gmail.com wrote:

Hi All,

we are migrating, to a new institution, the CI system underlying the cobra toolbox at the moment. The existing CI system can report that everything is fine, but that may be because the CI system itself is established on a particular architecture, even though it spawns virtual machines with different OS's. We need to get detailed error messages and debugging info from superusers to help sort things out quickly now.

e.g. we need to know more than that someone is still "getting an error on COBRA.models with the latest commit on master" by provideding more detailed debugging info than: Unable to checkout 52aba03f7c7fb0b8d684fe8b9637f66e510ce680 from https://github.com/opencobra/COBRA.models. builder for '/nix/store/gl7s3xc6141vjz345n024v3gqmqz20k1-cobratoolbox-9251835.drv' failed with exit code 1 cannot build derivation '/nix/store/ws64ps23q3pmspqsh46911iwm5glgy98-cobraToolbox-local.drv': 1 dependencies couldn't be built

With respect to reproducibility, some submodules are just git copies of code that is not in a git repo anywhere, e.g, mptoolbox https://uk.mathworks.com/matlabcentral/fileexchange/6446-multiple-precision-toolbox-for-matlab What happened there was that https://github.com/LCSB-BioCore/COBRA.models https://github.com/LCSB-BioCore/rdir.git https://github.com/LCSB-BioCore/mptoolbox.git were deleted without checking with others first.

With respect to COBRA.models, note that it should ONLY be used for testing code, as per the instructions here: https://github.com/opencobra/COBRA.models " COBRA.models This repository contains a collection of models that serve for testing of COBRA code in continuous integration environments. e.g. the COBRA toolbox. These models should ONLY to be used for testing of COBRA code. They are NOT meant to be verified versions of particular models. For that, always go to the original distribution source. For example, although there are versions of human metabolic reconstructions in this repository, e.g., ReconX, one should not use these versions as the basis for downstream calculations as they are only supposed to be used with test code. Go to an original distribution source for ReconX instead, e.g., https://www.vmh.life/#downloadview " Everyone needs to chip in and help debug things from their own side over the next few weeks as we do the transition. i.e. provide solutions, not just issues.

Regards,

Ronan

On Mon, 30 Mar 2020 at 22:11, Brandon Elam Barker notifications@github.com wrote:

Also, in case it helps, I was still getting an error on COBRA.models with the latest commit on master:

Unable to checkout 52aba03f7c7fb0b8d684fe8b9637f66e510ce680 from https://github.com/opencobra/COBRA.models. builder for '/nix/store/gl7s3xc6141vjz345n024v3gqmqz20k1-cobratoolbox-9251835.drv' failed with exit code 1 cannot build derivation '/nix/store/ws64ps23q3pmspqsh46911iwm5glgy98-cobraToolbox-local.drv': 1 dependencies couldn't be built

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

--

Mr. Ronan MT Fleming B.V.M.S. Dip. Math. Ph.D.

Assistant Professor, Division of Systems Biomedicine and Pharmacology, Leiden Academic Centre for Drug Research, Faculty of Science, Leiden University. https://www.universiteitleiden.nl/en/staffmembers/ronan-fleming & H2020 Project Coordinator, Systems Medicine of Mitochondrial Parkinson’s Disease, http://sysmedpd.eu & Adjunct Lecturer, School of Medicine, National University of Ireland, Galway.

Peer-reviewed publications: https://goo.gl/FZPG23 Mobile: +353 873 413 072 Skype: ronan.fleming

(This message is confidential and may contain privileged information. It is intended for the named recipient only. If you receive it in error please notify me and permanently delete the original message and any copies.)

--

Mr. Ronan MT Fleming B.V.M.S. Dip. Math. Ph.D.

Assistant Professor, Division of Systems Biomedicine and Pharmacology, Leiden Academic Centre for Drug Research, Faculty of Science, Leiden University. https://www.universiteitleiden.nl/en/staffmembers/ronan-fleming & H2020 Project Coordinator, Systems Medicine of Mitochondrial Parkinson’s Disease, http://sysmedpd.eu & Adjunct Lecturer, School of Medicine, National University of Ireland, Galway.

Peer-reviewed publications: https://goo.gl/FZPG23 Mobile: +353 873 413 072 Skype: ronan.fleming

(This message is confidential and may contain privileged information. It is intended for the named recipient only. If you receive it in error please notify me and permanently delete the original message and any copies.)

bbarker commented 4 years ago

After trying this again recently, I'm happy to report it is no longer an issue. I'm not exactly sure what might have changed locally on my system, or externally, to affect this, unfortunately. But I suppose that is still net-positive news!