Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make more intuitive error messages for packages with external dependencies #3

Open
jacobpwagner opened this issue Jul 9, 2020 · 1 comment
Labels
enhancement New feature or request

Comments

@jacobpwagner
Copy link
Member

As an example case, if a Windows user tries to install all packages from GitHub using cytoverse_update(repo="github"), they will hit an error for RProtoBufLib because it requires them to install the protobuf library separately (https://github.com/RGLab/RProtoBufLib/blob/master/INSTALL), resulting in a message that is hard for most users to interpret:

** libs
*** arch - i386
mkdir -p "C:/Users/*****/Documents/R/win-library/4.0/00LOCK-RProtoBufLib/00new/RProtoBufLib/include"
cp -r /include/google "C:/Users/*****/Documents/R/win-library/4.0/00LOCK-RProtoBufLib/00new/RProtoBufLib/include"
cp: cannot stat '/include/google': No such file or directory
make: *** [Makevars.win:12: copying] Error 1
ERROR: compilation failed for package 'RProtoBufLib'

Ideally, we could check the external dependencies early on in cytoverse_update, but we could at least catch these well-established error messages and convert them to messages with instructions on how to solve the problem (or steering them to instructions like those at https://github.com/RGLab/RProtoBufLib/blob/master/INSTALL).

@jacobpwagner
Copy link
Member Author

A few more examples of build issues to address:

With the change in Rtools4.0, the gsl headers now have to be manually added on Windows using the new pacman package manager: https://github.com/r-windows/docs/blob/master/rtools40.md#readme. In our case this shows up first in flowClust:

flowClust.h:1:10: fatal error: gsl/gsl_math.h: No such file or directory
 #include <gsl/gsl_math.h>

and can be solved from the following command in the Rtools bash utility:

pacman -S mingw-w64-{i686,x86_64}-gsl

Another example is the occasionally missing libxml2 dependency for CytoML: RGLab/CytoML#65.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant