euba/BacArena

SybilSBML fail to install

aassie opened this issue · 6 comments

Hi There,

I am trying to install sybilSBML on my machine. But it fails at the configure step:

I have the following error:

* installing to library ‘/Users/adrien/Library/R/3.5/library’
* installing *source* package ‘sybilSBML’ ...
checking for gcc... clang
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether clang accepts -g... yes
checking for clang option to accept ISO C89... none needed
checking how to run the C preprocessor... clang -E
checking for pkg-config... /usr/local/bin/pkg-config
configure: set compile and link flags according to pkg-config
configure: compile flags are -I/Users/frank/gitrepo/libsbml-build-scripts/common/mac_installer/installer/libsbml-dist/include -I/usr/include/libxml2
configure: link flags are -L/Users/frank/gitrepo/libsbml-build-scripts/common/mac_installer/installer/libsbml-dist/lib -lsbml
checking for grep that handles long lines and -e... /usr/local/bin/grep
checking for egrep... /usr/local/bin/grep -E
checking for ANSI C header files... rm: conftest.dSYM: is a directory
rm: conftest.dSYM: is a directory
no
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking sbml/SBMLTypes.h usability... yes
checking sbml/SBMLTypes.h presence... yes
checking for sbml/SBMLTypes.h... yes
checking for library containing readSBML... no
configure: error: Could not link to libSBML:
      use --with-sbml-lib or PKG_LIBS to specify the library path and the libraries to pass to the linker.
ERROR: configuration failed for package ‘sybilSBML’
* removing ‘/Users/adrien/Library/R/3.5/library/sybilSBML’

Now I do have libSBML installed, the configure finds the SMBLTypes.h file. It crash looking for readSBML

Also, I noticed that some flags come with the:
/Users/frank/gitrepo/libsbml-build-scripts/common/mac_installer/installer/libsbml-dist/include path. This does not come from my machine and I can't find it anywhere in the code 🤔

Do you have any help for going around this issue?

oh yes installing sbml can be hurdle sometimes..
Do you have a file SBMLReader.h which contains the readSBML definition?
Maybe you can then give it a try by specifying the include and lib path?

R CMD INSTALL --configure-args="--with-sbml-include=/path/to/include --with-sbml-lib=/path/to/lib" sybilSBML_3.0.5.tar.gz

I do have libSBML installed with the SBMLReader.h file in the include directory.
It does find the SBMLTypes.h file just fine

Same error as before 😭

R CMD INSTALL --configure-args="--with-sbml-include=/usr/local/include --with-sbml-

lib=/usr/local/lib" sybilSBML_3.0.5.tar.gz
* installing to library ‘/Users/adrien/Library/R/3.5/library’
* installing *source* package ‘sybilSBML’ ...
checking for gcc... clang
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether clang accepts -g... yes
checking for clang option to accept ISO C89... none needed
checking how to run the C preprocessor... clang -E
checking for pkg-config... /usr/local/bin/pkg-config
configure: set compile and link flags according to pkg-config
configure: compile flags are -I/Users/frank/gitrepo/libsbml-build-scripts/common/mac_installer/installer/libsbml-dist/include -I/usr/include/libxml2
configure: link flags are -L/Users/frank/gitrepo/libsbml-build-scripts/common/mac_installer/installer/libsbml-dist/lib -lsbml
checking for grep that handles long lines and -e... /usr/local/bin/grep
checking for egrep... /usr/local/bin/grep -E
checking for ANSI C header files... rm: conftest.dSYM: is a directory
rm: conftest.dSYM: is a directory
no
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking sbml/SBMLTypes.h usability... yes
checking sbml/SBMLTypes.h presence... yes
checking for sbml/SBMLTypes.h... yes
checking for library containing readSBML... no
configure: error: Could not link to libSBML:
      use --with-sbml-lib or PKG_LIBS to specify the library path and the libraries to pass to the linker.
ERROR: configuration failed for package ‘sybilSBML’
* removing ‘/Users/adrien/Library/R/3.5/library/sybilSBML’

what is your exact path for the file SBMLReader.h and what is the output of cat SBMLReader.h | grep readSBML ?

My SMBLReader.h is in /usr/local/include/sbml/ same as SMBLType.h

Content of the folder:

AlgebraicRule.h			ListOf.h			SBMLErrorLog.h			Species.h			conversion
AssignmentRule.h		LocalParameter.h		SBMLErrorTable.h		SpeciesReference.h		extension
Compartment.h			Model.h				SBMLNamespaces.h		SpeciesType.h			math
CompartmentType.h		ModifierSpeciesReference.h	SBMLReader.h			StoichiometryMath.h		packages
Constraint.h			Parameter.h			SBMLTransforms.h		SyntaxChecker.h			units
Delay.h				Priority.h			SBMLTypeCodes.h			Trigger.h			util
Event.h				RateRule.h			SBMLTypes.h			Unit.h				validator
EventAssignment.h		Reaction.h			SBMLVisitor.h			UnitDefinition.h		xml
ExpectedAttributes.h		Rule.h				SBMLWriter.h			UnitKind.h
FunctionDefinition.h		SBMLConstructorException.h	SBO.h				annotation
InitialAssignment.h		SBMLDocument.h			SBase.h				common
KineticLaw.h			SBMLError.h			SimpleSpeciesReference.h	compress

And for the grep:

cat SBMLReader.h | grep readSBML
 * @sbmlglobalfunction{readSBML, String} and
 * @sbmlglobalfunction{readSBMLFromString, String}.  They are
 * @if python @link SBMLReader::readSBML() SBMLReader.readSBML()@endlink@endif@if java SBMLReader::readSBML(String)@endif@if cpp SBMLReader::readSBML()@endif@if csharp SBMLReader.readSBML()@endif@~ and
 * @if python @link SBMLReader::readSBMLFromString() SBMLReader.readSBMLFromString()@endlink@endif@if java SBMLReader::readSBMLFromString(String)@endif@if cpp SBMLReader::readSBMLFromString()@endif@if csharp SBMLReader.readSBMLFromString()@endif@~ methods, respectively.
 * @if python @link SBMLReader::readSBML() SBMLReader.readSBML()@endlink@endif@if java @link SBMLReader::readSBML(String) SBMLReader.readSBML(String)@endlink@endif@if cpp SBMLReader::readSBML()@endif@if csharp SBMLReader.readSBML()@endif@~ and
SBMLDocument* doc  = reader.readSBMLFromFile(filename);
d = SBMLReader_readSBML(sr, filename);
SBMLDocument doc  = reader.readSBMLFromFile(filename);
doc = reader.readSBMLFromFile(filename)
SBMLDocument doc = reader.readSBMLFromFile(filename);
 * @if conly SBMLReader_readSBML() 
 * @elseif java SBMLReader::readSBML( String )
 * @else SBMLReader::readSBML()
   * @if python @link SBMLReader::readSBMLFromFile() SBMLReader.readSBMLFromFile()@endlink@endif@if java @link SBMLReader::readSBMLFromFile(String) SBMLReader.readSBMLFromFile(String)@endlink@endif@if cpp SBMLReader::readSBMLFromFile()@endif@if csharp SBMLReader.readSBMLFromFile()@endif.
   * @see readSBMLFromString(@if java String@endif)
  SBMLDocument* readSBML (const std::string& filename);
   * @if python @link SBMLReader::readSBML() SBMLReader.readSBML()@endlink@endif@if java @link SBMLReader::readSBML(String) SBMLReader.readSBML(String)@endlink@endif@if cpp SBMLReader::readSBML()@endif@if csharp SBMLReader.readSBML()@endif.
   * @see readSBMLFromString(@if java String@endif)
  SBMLDocument* readSBMLFromFile (const std::string& filename);
   * @see SBMLReader::readSBML(@if java String@endif)
  SBMLDocument* readSBMLFromString (const std::string& xml);
   * Used by readSBML() and readSBMLFromString().
 * This function is identical to SBMLReader_readSBMLFromFile().
SBMLReader_readSBML (SBMLReader_t *sr, const char *filename);
 * This function is identical to SBMLReader_readSBML().
SBMLReader_readSBMLFromFile (SBMLReader_t *sr, const char *filename);
SBMLReader_readSBMLFromString (SBMLReader_t *sr, const char *xml);
readSBML (const char *filename);
readSBMLFromFile (const char *filename);
readSBMLFromString (const char *xml);

finally they brought sybilSBML back on cran with a new version. does this one work?

sybilsbml install problems should be discussed here: https://gitlab.cs.uni-duesseldorf.de/general/ccb/sybilSBML