MarcLavielle / mlxR

mlxR
Other
18 stars 5 forks source link

Dependency on mlxComputeR #4

Closed romainfrancois closed 9 years ago

romainfrancois commented 9 years ago

This is the last problem I have locally when I run R CMD check. We do a .Call for a function that is in the mlxComputeR package that we can't declare as one of our dependency as it's not on CRAN.

* checking foreign function calls ... WARNING
Foreign function call to a different package:
  .Call("mlxComputeR", ..., PACKAGE = "mlxComputeR")
Undeclared package in foreign function calls:
   ‘mlxComputeR’

I'm not sure yet how to deal with that.

MarcLavielle commented 9 years ago

no idea...

2014-12-31 14:34 GMT+01:00 Romain François notifications@github.com:

This is the last problem I have locally when I run R CMD check. We do a .Call for a function that is in the mlxComputeR package that we can't declare as one of our dependency as it's not on CRAN.

  • checking foreign function calls ... WARNING Foreign function call to a different package: .Call("mlxComputeR", ..., PACKAGE = "mlxComputeR") Undeclared package in foreign function calls: 'mlxComputeR'

I'm not sure yet how to deal with that.

Reply to this email directly or view it on GitHub https://github.com/romainfrancois/mlxR/issues/4.

Mixed Effects Models for the Population Approach http://www.math.u-psud.fr/~lavielle/book.html

Marc Lavielle Inria Saclay

Tel: (33) 6 37 31 93 05

Marc.Lavielle@inria.fr http://www.math.u-psud.fr/~lavielle

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""

romainfrancois commented 9 years ago

Well the problem is that we use proprietary software, that even though is an R package cannot be on CRAN. Maybe that means mlxR cannot be on CRAN, or perhaps we need to find a workaround to call mlxComputer without CRAN knowing about it.

MarcLavielle commented 9 years ago

yes, I think that mlxR should be able to call mlxCompute without CRAN knowing about it.

2014-12-31 14:40 GMT+01:00 Romain François notifications@github.com:

Well the problem is that we use proprietary software, that even though is an R package cannot be on CRAN. Maybe that means mlxR cannot be on CRAN, or perhaps we need to find a workaround to call mlxComputer without CRAN knowing about it.

Reply to this email directly or view it on GitHub https://github.com/romainfrancois/mlxR/issues/4#issuecomment-68442181.

All different, all equal http://www.math.u-psud.fr/~lavielle/book.html

MarcLavielle commented 9 years ago

i'm not sure to understand all these technical details, but when when started discussing about this project, you told me that it was possible to call an external C++ library

2014-12-31 14:40 GMT+01:00 Romain François notifications@github.com:

Well the problem is that we use proprietary software, that even though is an R package cannot be on CRAN. Maybe that means mlxR cannot be on CRAN, or perhaps we need to find a workaround to call mlxComputer without CRAN knowing about it.

Reply to this email directly or view it on GitHub https://github.com/romainfrancois/mlxR/issues/4#issuecomment-68442181.

All different, all equal http://www.math.u-psud.fr/~lavielle/book.html

romainfrancois commented 9 years ago

Sure. We can and we do. The problem is not technical feasibility, but releasability on CRAN.

This is going to be tested on CRAN machines which don't have mlxComputer or any of the lixoft stuff. So on the .onLoad function, this will error because it can't find those, and this might prevent releasing on CRAN.

But CRAN is not the only place. A lot of packages live on just github.

Calling an extenal C++ lib is one thing, and this has been done for several packages, e.g. XML but this requires lots of handshaking with CRAN to make sure they have it installed. But in this case, this is different, this is not just a C++ library, but a full R package that links with several libraries. Here's what in my ``

 ~ $ cd mlxlibrary/Mlxtoolbox-1.1.0/lib
 ~/mlxlibrary/Mlxtoolbox-1.1.0/lib $ ll
total 95376
drwxr-xr-x   9 romain  staff       306  9 déc 17:08 QtCorelixoft.framework
lrwxr-xr-x   1 romain  staff        22  9 déc 17:08 QtCorelixoft.framework.4 -> QtCorelixoft.framework
lrwxr-xr-x   1 romain  staff        22  9 déc 17:08 QtCorelixoft.framework.4.8.5 -> QtCorelixoft.framework
drwxr-xr-x  10 romain  staff       340  9 déc 17:08 QtGuilixoft.framework
lrwxr-xr-x   1 romain  staff        21  9 déc 17:08 QtGuilixoft.framework.4 -> QtGuilixoft.framework
lrwxr-xr-x   1 romain  staff        21  9 déc 17:08 QtGuilixoft.framework.4.8.5 -> QtGuilixoft.framework
drwxr-xr-x   9 romain  staff       306  9 déc 17:08 QtNetworklixoft.framework
lrwxr-xr-x   1 romain  staff        25  9 déc 17:08 QtNetworklixoft.framework.4 -> QtNetworklixoft.framework
lrwxr-xr-x   1 romain  staff        25  9 déc 17:08 QtNetworklixoft.framework.4.8.5 -> QtNetworklixoft.framework
drwxr-xr-x   9 romain  staff       306  9 déc 17:08 QtSvglixoft.framework
lrwxr-xr-x   1 romain  staff        21  9 déc 17:08 QtSvglixoft.framework.4 -> QtSvglixoft.framework
lrwxr-xr-x   1 romain  staff        21  9 déc 17:08 QtSvglixoft.framework.4.8.5 -> QtSvglixoft.framework
drwxr-xr-x   9 romain  staff       306  9 déc 17:08 QtTestlixoft.framework
lrwxr-xr-x   1 romain  staff        22  9 déc 17:08 QtTestlixoft.framework.4 -> QtTestlixoft.framework
lrwxr-xr-x   1 romain  staff        22  9 déc 17:08 QtTestlixoft.framework.4.8.5 -> QtTestlixoft.framework
drwxr-xr-x   9 romain  staff       306  9 déc 17:08 QtXmlPatternslixoft.framework
lrwxr-xr-x   1 romain  staff        29  9 déc 17:08 QtXmlPatternslixoft.framework.4 -> QtXmlPatternslixoft.framework
lrwxr-xr-x   1 romain  staff        29  9 déc 17:08 QtXmlPatternslixoft.framework.4.8.5 -> QtXmlPatternslixoft.framework
drwxr-xr-x   9 romain  staff       306  9 déc 17:08 QtXmllixoft.framework
lrwxr-xr-x   1 romain  staff        21  9 déc 17:08 QtXmllixoft.framework.4 -> QtXmllixoft.framework
lrwxr-xr-x   1 romain  staff        21  9 déc 17:08 QtXmllixoft.framework.4.8.5 -> QtXmllixoft.framework
-rwxr-xr-x   1 romain  staff     95584  9 déc 17:08 evaluateModel
-rwxr-xr-x   1 romain  staff   7469384  9 déc 17:08 liblixoftCore.1.0.0.6628.dylib
lrwxr-xr-x   1 romain  staff        30  9 déc 17:08 liblixoftCore.dylib -> liblixoftCore.1.0.0.6628.dylib
-rwxr-xr-x   1 romain  staff   1015664  9 déc 17:08 libmlxCompute_CAPI.1.0.0.6628.dylib
lrwxr-xr-x   1 romain  staff        35  9 déc 17:08 libmlxCompute_CAPI.dylib -> libmlxCompute_CAPI.1.0.0.6628.dylib
-rwxr-xr-x   1 romain  staff    234256  9 déc 17:08 libmlxDataReader_CAPI.1.0.0.6628.dylib
lrwxr-xr-x   1 romain  staff        38  9 déc 17:08 libmlxDataReader_CAPI.dylib -> libmlxDataReader_CAPI.1.0.0.6628.dylib
-rwxr-xr-x   1 romain  staff    392216  9 déc 17:08 libmlxEstimate_CAPI.1.0.0.6628.dylib
lrwxr-xr-x   1 romain  staff        36  9 déc 17:08 libmlxEstimate_CAPI.dylib -> libmlxEstimate_CAPI.1.0.0.6628.dylib
-rwxr-xr-x   1 romain  staff    732784  9 déc 17:08 libmlxWidgets.dylib
-rwxr-xr-x   1 romain  staff  32435800  9 déc 17:08 libmlxtran.1.0.0.6628.dylib
lrwxr-xr-x   1 romain  staff        27  9 déc 17:08 libmlxtran.dylib -> libmlxtran.1.0.0.6628.dylib
-rwxr-xr-x   1 romain  staff   1625320  9 déc 17:08 libqwt.6.1.0.dylib
lrwxr-xr-x   1 romain  staff        18  9 déc 17:08 libqwt.6.1.dylib -> libqwt.6.1.0.dylib
lrwxr-xr-x   1 romain  staff        18  9 déc 17:08 libqwt.6.dylib -> libqwt.6.1.0.dylib
lrwxr-xr-x   1 romain  staff        18  9 déc 17:08 libqwt.dylib -> libqwt.6.1.0.dylib
-rwxr-xr-x   1 romain  staff    720260  9 déc 17:08 librlm932.jnilib
-rwxr-xr-x   1 romain  staff    117808  9 déc 17:08 libsundials_cvode.1.0.0.dylib
lrwxr-xr-x   1 romain  staff        29  9 déc 17:08 libsundials_cvode.1.dylib -> libsundials_cvode.1.0.0.dylib
lrwxr-xr-x   1 romain  staff        25  9 déc 17:08 libsundials_cvode.dylib -> libsundials_cvode.1.dylib
-rwxr-xr-x   1 romain  staff     18904  9 déc 17:08 libsundials_nvecserial.0.0.2.dylib
lrwxr-xr-x   1 romain  staff        34  9 déc 17:08 libsundials_nvecserial.0.dylib -> libsundials_nvecserial.0.0.2.dylib
lrwxr-xr-x   1 romain  staff        30  9 déc 17:08 libsundials_nvecserial.dylib -> libsundials_nvecserial.0.dylib
-rwxr-xr-x   1 romain  staff    175136 10 déc 11:57 licenseActivate
-rwxr-xr-x   1 romain  staff    930424 10 déc 11:57 lixoftLanguageTranslator
-rwxr-xr-x   1 romain  staff     78960  9 déc 17:08 lixoftModelRunner
-rwxr-xr-x   1 romain  staff    126120  9 déc 17:08 lixoftToolsBoxSession.1.0.0.6628.mexmaci64
lrwxr-xr-x   1 romain  staff        42  9 déc 17:08 lixoftToolsBoxSession.mexmaci64 -> lixoftToolsBoxSession.1.0.0.6628.mexmaci64
-rwxr-xr-x   1 romain  staff    745640 10 déc 11:57 mlxCompute.1.0.0.6628.mexmaci64
lrwxr-xr-x   1 romain  staff        31  9 déc 17:08 mlxCompute.mexmaci64 -> mlxCompute.1.0.0.6628.mexmaci64
-rwxr-xr-x   1 romain  staff     80424  9 déc 17:08 mlxComputeConfigurator
drwxr-xr-x   5 romain  staff       170  9 déc 17:08 mlxComputeR
-rwxr-xr-x   1 romain  staff    657760 10 déc 13:37 mlxComputeR.so
-rw-r--r--   1 romain  staff      9719  9 déc 17:08 mlxComputeSPECIFICATION.xsd
-rwxr-xr-x   1 romain  staff    343368  9 déc 17:08 mlxDataReader.1.0.0.6628.mexmaci64
lrwxr-xr-x   1 romain  staff        34  9 déc 17:08 mlxDataReader.mexmaci64 -> mlxDataReader.1.0.0.6628.mexmaci64
drwxr-xr-x   5 romain  staff       170  9 déc 17:08 mlxDataReaderR
-rwxr-xr-x   1 romain  staff    384760  9 déc 17:08 mlxEstDist.1.0.0.6628.mexmaci64
lrwxr-xr-x   1 romain  staff        31  9 déc 17:08 mlxEstDist.mexmaci64 -> mlxEstDist.1.0.0.6628.mexmaci64
drwxr-xr-x   5 romain  staff       170  9 déc 17:08 mlxEstimateR
-rwxr-xr-x   1 romain  staff     34848 10 déc 11:57 mlxLibraryFirstLaunch
-rwxr-xr-x   1 romain  staff     69440  9 déc 17:08 mlxProjectReader.4.3.2.6628.mexmaci64
lrwxr-xr-x   1 romain  staff        37  9 déc 17:08 mlxProjectReader.mexmaci64 -> mlxProjectReader.4.3.2.6628.mexmaci64
-rwxr-xr-x   1 romain  staff     89944  9 déc 17:08 mlxProjectWriter.4.3.2.6628.mexmaci64
lrwxr-xr-x   1 romain  staff        37  9 déc 17:08 mlxProjectWriter.mexmaci64 -> mlxProjectWriter.4.3.2.6628.mexmaci64
-rwxr-xr-x   1 romain  staff     40040 10 déc 11:57 mlxToolBoxXMLValidator
lrwxr-xr-x   1 romain  staff        26  9 déc 17:08 mlxtran2monolix -> mlxtran2monolix-1.0.0.6628
-rwxr-xr-x   1 romain  staff     35480  9 déc 17:08 mlxtran2monolix-1.0.0.6628

That's a lot of stuff, and I'm sure this changes a lot with versions. Not sure we can negotiate that CRAN installs this proprietary pool of software on their machines, deal with the license keys, etc ...

I think we'd be better off leaving the package on github, and clearly documenting how to install it along with its dependencies.

dpastoor commented 9 years ago

I will also throw out there that documentation for a local build would be a good idea. I was at Merck this summer and the way they have their network setup I could not for the life of me get devtools::install_github() to work, and working with some other smaller pharma companies have had the same issues due to how the firewalls are set up.