Closed yunPKU closed 4 years ago
Hi @yunPKU, I have not been able to reproduce your problem on macOS (High Sierra 10.13.6):
Elzar:git artpoon$ git clone http://github.com/PoonLab/clmp
Cloning into 'clmp'...
warning: redirecting to https://github.com/PoonLab/clmp/
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 802 (delta 0), reused 0 (delta 0), pack-reused 799
Receiving objects: 100% (802/802), 2.01 MiB | 2.73 MiB/s, done.
Resolving deltas: 100% (494/494), done.
Elzar:git artpoon$ cd clmp
Elzar:clmp artpoon$ ls -lt
total 160
-rw-r--r-- 1 artpoon staff 354 Nov 28 21:32 AUTHORS
-rw-r--r-- 1 artpoon staff 553 Nov 28 21:32 CONTRIBUTING.md
-rw-r--r-- 1 artpoon staff 515 Nov 28 21:32 DESCRIPTION
-rw-r--r-- 1 artpoon staff 5119 Nov 28 21:32 INSTALL.md
-rw-r--r-- 1 artpoon staff 35147 Nov 28 21:32 LICENSE
-rw-r--r-- 1 artpoon staff 220 Nov 28 21:32 NAMESPACE
drwxr-xr-x 6 artpoon staff 204 Nov 28 21:32 R
-rw-r--r-- 1 artpoon staff 1876 Nov 28 21:32 README.md
-rw-r--r-- 1 artpoon staff 10588 Nov 28 21:32 app.R
-rw-r--r-- 1 artpoon staff 316 Nov 28 21:32 configure.ac
drwxr-xr-x 4 artpoon staff 136 Nov 28 21:32 data
drwxr-xr-x 4 artpoon staff 136 Nov 28 21:32 man
drwxr-xr-x 27 artpoon staff 918 Nov 28 21:32 src
Elzar:clmp artpoon$ autoconf
Elzar:clmp artpoon$ ls -lt
total 328
drwxr-xr-x 5 artpoon staff 170 Nov 28 21:33 autom4te.cache
-rwxr-xr-x 1 artpoon staff 83311 Nov 28 21:33 configure
-rw-r--r-- 1 artpoon staff 354 Nov 28 21:32 AUTHORS
-rw-r--r-- 1 artpoon staff 553 Nov 28 21:32 CONTRIBUTING.md
-rw-r--r-- 1 artpoon staff 515 Nov 28 21:32 DESCRIPTION
-rw-r--r-- 1 artpoon staff 5119 Nov 28 21:32 INSTALL.md
-rw-r--r-- 1 artpoon staff 35147 Nov 28 21:32 LICENSE
-rw-r--r-- 1 artpoon staff 220 Nov 28 21:32 NAMESPACE
drwxr-xr-x 6 artpoon staff 204 Nov 28 21:32 R
-rw-r--r-- 1 artpoon staff 1876 Nov 28 21:32 README.md
-rw-r--r-- 1 artpoon staff 10588 Nov 28 21:32 app.R
-rw-r--r-- 1 artpoon staff 316 Nov 28 21:32 configure.ac
drwxr-xr-x 4 artpoon staff 136 Nov 28 21:32 data
drwxr-xr-x 4 artpoon staff 136 Nov 28 21:32 man
drwxr-xr-x 27 artpoon staff 918 Nov 28 21:32 src
Elzar:clmp artpoon$ ./configure
configure: creating ./config.status
Elzar:clmp artpoon$ R CMD INSTALL .
* installing to library ‘/Library/Frameworks/R.framework/Versions/3.6/Resources/library’
* installing *source* package ‘clmp’ ...
** using staged installation
configure: creating ./config.status
config.status: creating src/Makevars
** libs
clang++ -std=gnu++11 -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I/opt/local/include -I/usr/local/include -I/usr/include/igraph -I"/Library/Frameworks/R.framework/Versions/3.6/Resources/library/Rcpp/include" -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -I/usr/local/include -fPIC -Wall -g -O2 -c RcppExports.cpp -o RcppExports.o
clang -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I/opt/local/include -I/usr/local/include -I/usr/include/igraph -I"/Library/Frameworks/R.framework/Versions/3.6/Resources/library/Rcpp/include" -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -I/usr/local/include -fPIC -Wall -g -O2 -c boundary_transformation.c -o boundary_transformation.o
clang -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I/opt/local/include -I/usr/local/include -I/usr/include/igraph -I"/Library/Frameworks/R.framework/Versions/3.6/Resources/library/Rcpp/include" -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -I/usr/local/include -fPIC -Wall -g -O2 -c clmpR.c -o clmpR.o
clang -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I/opt/local/include -I/usr/local/include -I/usr/include/igraph -I"/Library/Frameworks/R.framework/Versions/3.6/Resources/library/Rcpp/include" -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -I/usr/local/include -fPIC -Wall -g -O2 -c cmaes.c -o cmaes.o
cmaes.c:2413:29: warning: absolute value function 'abs' given an argument of type 'long' but
has parameter of type 'int' which may cause truncation of value [-Wabsolute-value]
inseed = (long unsigned)abs((long)(100*time(NULL)+clock()));
^
cmaes.c:2413:29: note: use function 'labs' instead
inseed = (long unsigned)abs((long)(100*time(NULL)+clock()));
^~~
labs
cmaes.c:2796:29: warning: absolute value function 'abs' given an argument of type 'long' but
has parameter of type 'int' which may cause truncation of value [-Wabsolute-value]
t->seed = (unsigned int)abs((long)(100*time(NULL)+clock()));
^
cmaes.c:2796:29: note: use function 'labs' instead
t->seed = (unsigned int)abs((long)(100*time(NULL)+clock()));
^~~
labs
cmaes.c:2903:1: warning: unused function 'isNoneStr' [-Wunused-function]
isNoneStr(const char * filename)
^
3 warnings generated.
clang++ -std=gnu++11 -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I/opt/local/include -I/usr/local/include -I/usr/include/igraph -I"/Library/Frameworks/R.framework/Versions/3.6/Resources/library/Rcpp/include" -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -I/usr/local/include -fPIC -Wall -g -O2 -c midpoint_help.cpp -o midpoint_help.o
clang -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I/opt/local/include -I/usr/local/include -I/usr/include/igraph -I"/Library/Frameworks/R.framework/Versions/3.6/Resources/library/Rcpp/include" -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -I/usr/local/include -fPIC -Wall -g -O2 -c mmpp.c -o mmpp.o
mmpp.c:194:14: warning: incompatible pointer types assigning to 'igraph_vector_int_t *' (aka
'struct igraph_vector_int_t *') from 'igraph_vector_t *'
(aka 'struct igraph_vector_t *') [-Wincompatible-pointer-types]
edge = igraph_inclist_get(&il, i);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~
mmpp.c:229:12: warning: unused variable 'j' [-Wunused-variable]
int i, j, rt = root(tree); // node indices
^
mmpp.c:465:28: warning: unused variable 'cur' [-Wunused-variable]
int i, j, k, from, to, cur = nrates;
^
3 warnings generated.
clang -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I/opt/local/include -I/usr/local/include -I/usr/include/igraph -I"/Library/Frameworks/R.framework/Versions/3.6/Resources/library/Rcpp/include" -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -I/usr/local/include -fPIC -Wall -g -O2 -c newick_lexer.c -o newick_lexer.o
clang -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I/opt/local/include -I/usr/local/include -I/usr/include/igraph -I"/Library/Frameworks/R.framework/Versions/3.6/Resources/library/Rcpp/include" -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -I/usr/local/include -fPIC -Wall -g -O2 -c newick_parser.c -o newick_parser.o
clang -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I/opt/local/include -I/usr/local/include -I/usr/include/igraph -I"/Library/Frameworks/R.framework/Versions/3.6/Resources/library/Rcpp/include" -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -I/usr/local/include -fPIC -Wall -g -O2 -c stats.c -o stats.o
stats.c:176:9: warning: implicitly declaring library function 'strcmp' with type 'int
(const char *, const char *)' [-Wimplicit-function-declaration]
if (strcmp(s, "uniform") == 0) {
^
stats.c:176:9: note: include the header <string.h> or explicitly provide a declaration for
'strcmp'
1 warning generated.
clang -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I/opt/local/include -I/usr/local/include -I/usr/include/igraph -I"/Library/Frameworks/R.framework/Versions/3.6/Resources/library/Rcpp/include" -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -I/usr/local/include -fPIC -Wall -g -O2 -c tree.c -o tree.o
tree.c:14:9: warning: 'NDEBUG' macro redefined [-Wmacro-redefined]
#define NDEBUG
^
<command line>:1:9: note: previous definition is here
#define NDEBUG 1
^
tree.c:287:13: warning: incompatible pointer types assigning to 'igraph_vector_int_t *' (aka
'struct igraph_vector_int_t *') from 'igraph_vector_t *'
(aka 'struct igraph_vector_t *') [-Wincompatible-pointer-types]
inc = igraph_inclist_get(&inclist, i);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
tree.c:460:9: warning: unused variable 'i' [-Wunused-variable]
int i;
^
tree.c:701:21: warning: incompatible pointer types assigning to 'igraph_vector_int_t *' (aka
'struct igraph_vector_int_t *') from 'igraph_vector_t *'
(aka 'struct igraph_vector_t *') [-Wincompatible-pointer-types]
inc = igraph_inclist_get(&inclist, v);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4 warnings generated.
clang -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I/opt/local/include -I/usr/local/include -I/usr/include/igraph -I"/Library/Frameworks/R.framework/Versions/3.6/Resources/library/Rcpp/include" -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -I/usr/local/include -fPIC -Wall -g -O2 -c util.c -o util.o
util.c:216:9: warning: using floating point absolute value function 'fabs' when argument is of
integer type [-Wabsolute-value]
if (fabs(sum_doubles(prob, n) < 1e-5)) {
^
util.c:216:9: note: use function 'abs' instead
if (fabs(sum_doubles(prob, n) < 1e-5)) {
^~~~
abs
util.c:217:9: warning: implicit declaration of function 'gsl_ran_choose' is invalid in C99
[-Wimplicit-function-declaration]
gsl_ran_choose(rng, dest, k, x, n, size);
^
2 warnings generated.
clang++ -std=gnu++11 -dynamiclib -Wl,-headerpad_max_install_names -undefined dynamic_lookup -single_module -multiply_defined suppress -L/Library/Frameworks/R.framework/Resources/lib -L/usr/local/lib -o clmp.so RcppExports.o boundary_transformation.o clmpR.o cmaes.o midpoint_help.o mmpp.o newick_lexer.o newick_parser.o stats.o tree.o util.o -ligraph -L/usr/local/lib -L/opt/local/lib -lgsl -ll -F/Library/Frameworks/R.framework/.. -framework R -Wl,-framework -Wl,CoreFoundation
installing to /Library/Frameworks/R.framework/Versions/3.6/Resources/library/00LOCK-clmp/00new/clmp/libs
** R
** data
*** moving datasets to lazyload DB
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded from temporary location
** checking absolute paths in shared objects and dynamic libraries
** testing if installed package can be loaded from final location
** testing if installed package keeps a record of temporary installation path
* DONE (clmp)
Elzar:clmp artpoon$ R
R version 3.6.1 (2019-07-05) -- "Action of the Toes"
Copyright (C) 2019 The R Foundation for Statistical Computing
Platform: x86_64-apple-darwin15.6.0 (64-bit)
R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.
Natural language support but running in an English locale
R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.
Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.
> require(clmp)
Loading required package: clmp
Loading required package: ape
Loading required package: ggtree
Registered S3 method overwritten by 'treeio':
method from
root.phylo ape
ggtree v2.0.1 For help: https://yulab-smu.github.io/treedata-book/
If you use ggtree in published research, please cite the most appropriate paper(s):
- Guangchuang Yu, Tommy Tsan-Yuk Lam, Huachen Zhu, Yi Guan. Two methods for mapping and visualizing associated data on phylogeny using ggtree. Molecular Biology and Evolution 2018, 35(12):3041-3043. doi: 10.1093/molbev/msy194
- Guangchuang Yu, David Smith, Huachen Zhu, Yi Guan, Tommy Tsan-Yuk Lam. ggtree: an R package for visualization and annotation of phylogenetic trees with their covariates and other associated data. Methods in Ecology and Evolution 2017, 8(1):28-36, doi:10.1111/2041-210X.12628
Attaching package: ‘ggtree’
The following object is masked from ‘package:ape’:
rotate
>
@yunPKU without more information, my best guess is that you're not in the directory containing the clmp
files. Can you please run pwd
before you attempt to run autoconf
and confirm that you are within the clmp
directory containing the package files?
@ArtPoon Hi Art, thanks for your reply. Your guess was right. I could run "autoconf" and "./configure" now. But I was stopped by the last step "R CMD INSTALL .". The response is list as follows:
(base) macBjmudeMac-mini:~ macbjmu$ git clone http://github.com/PoonLab/clmp fatal: destination path 'clmp' already exists and is not an empty directory. (base) macBjmudeMac-mini:~ macbjmu$ cd clmp (base) macBjmudeMac-mini:clmp macbjmu$ ls -lt total 384 -rw-r--r-- 1 macbjmu staff 3589 Dec 3 08:38 config.log drwxr-xr-x 40 macbjmu staff 1280 Dec 3 08:38 src -rwxr-xr-x 1 macbjmu staff 23803 Dec 3 08:38 config.status -rwxr-xr-x 1 macbjmu staff 83311 Dec 3 08:38 configure drwxr-xr-x 5 macbjmu staff 160 Dec 3 08:38 autom4te.cache drwxr-xr-x 4 macbjmu staff 128 Nov 25 15:52 man drwxr-xr-x 4 macbjmu staff 128 Nov 25 15:52 data -rw-r--r-- 1 macbjmu staff 316 Nov 25 15:52 configure.ac -rw-r--r-- 1 macbjmu staff 10588 Nov 25 15:52 app.R -rw-r--r-- 1 macbjmu staff 1876 Nov 25 15:52 README.md drwxr-xr-x 6 macbjmu staff 192 Nov 25 15:52 R -rw-r--r-- 1 macbjmu staff 220 Nov 25 15:52 NAMESPACE -rw-r--r-- 1 macbjmu staff 35147 Nov 25 15:52 LICENSE -rw-r--r-- 1 macbjmu staff 5119 Nov 25 15:52 INSTALL.md -rw-r--r-- 1 macbjmu staff 515 Nov 25 15:52 DESCRIPTION -rw-r--r-- 1 macbjmu staff 553 Nov 25 15:52 CONTRIBUTING.md -rw-r--r-- 1 macbjmu staff 354 Nov 25 15:52 AUTHORS (base) macBjmudeMac-mini:clmp macbjmu$ autoconf (base) macBjmudeMac-mini:clmp macbjmu$ ls -lt total 384 -rw-r--r-- 1 macbjmu staff 3589 Dec 3 08:38 config.log drwxr-xr-x 40 macbjmu staff 1280 Dec 3 08:38 src -rwxr-xr-x 1 macbjmu staff 23803 Dec 3 08:38 config.status -rwxr-xr-x 1 macbjmu staff 83311 Dec 3 08:38 configure drwxr-xr-x 5 macbjmu staff 160 Dec 3 08:38 autom4te.cache drwxr-xr-x 4 macbjmu staff 128 Nov 25 15:52 man drwxr-xr-x 4 macbjmu staff 128 Nov 25 15:52 data -rw-r--r-- 1 macbjmu staff 316 Nov 25 15:52 configure.ac -rw-r--r-- 1 macbjmu staff 10588 Nov 25 15:52 app.R -rw-r--r-- 1 macbjmu staff 1876 Nov 25 15:52 README.md drwxr-xr-x 6 macbjmu staff 192 Nov 25 15:52 R -rw-r--r-- 1 macbjmu staff 220 Nov 25 15:52 NAMESPACE -rw-r--r-- 1 macbjmu staff 35147 Nov 25 15:52 LICENSE -rw-r--r-- 1 macbjmu staff 5119 Nov 25 15:52 INSTALL.md -rw-r--r-- 1 macbjmu staff 515 Nov 25 15:52 DESCRIPTION -rw-r--r-- 1 macbjmu staff 553 Nov 25 15:52 CONTRIBUTING.md -rw-r--r-- 1 macbjmu staff 354 Nov 25 15:52 AUTHORS (base) macBjmudeMac-mini:clmp macbjmu$ ./configure configure: creating ./config.status config.status: creating src/Makevars (base) macBjmudeMac-mini:clmp macbjmu$ R CMD INSTALL .
Could you please help me to find out why? Thanks in advance!
Shoot. That's the same problem you were encountering before, so we haven't gotten anywhere.
Can you please send me the output returned by the command locate libgsl
? For example, on my Mac I get the following:
Elzar:clmp artpoon$ locate libgsl
/usr/local/Cellar/gsl/2.4/lib/libgsl.23.dylib
/usr/local/Cellar/gsl/2.4/lib/libgsl.a
/usr/local/Cellar/gsl/2.4/lib/libgsl.dylib
/usr/local/Cellar/gsl/2.4/lib/libgslcblas.0.dylib
/usr/local/Cellar/gsl/2.4/lib/libgslcblas.a
/usr/local/Cellar/gsl/2.4/lib/libgslcblas.dylib
/usr/local/lib/libgsl.23.dylib
/usr/local/lib/libgsl.a
/usr/local/lib/libgsl.dylib
/usr/local/lib/libgslcblas.0.dylib
/usr/local/lib/libgslcblas.a
/usr/local/lib/libgslcblas.dylib
My hunch is that you installed gsl
via Homebrew to /usr/local/Cellar/gsl
and my build script doesn't know to look there.
We can test this if you can edit configure.ac
to change from this:
AC_INIT()
CLMP_CPPFLAGS="-I/opt/local/include -I/usr/local/include -I/usr/include/igraph"
LIBS="-ligraph -L/usr/local/lib -L/opt/local/lib -lgsl"
if test `uname` = "Darwin" ; then
LIBS="${LIBS} -ll"
else
LIBS="${LIBS} -lfl"
fi
AC_SUBST(CLMP_CPPFLAGS)
AC_SUBST(LIBS)
AC_CONFIG_FILES([src/Makevars])
AC_OUTPUT
to this:
AC_INIT()
CLMP_CPPFLAGS="-I/opt/local/include -I/usr/local/include -I/usr/include/igraph"
LIBS="-ligraph -L/usr/local/Cellar -L/usr/local/lib -L/opt/local/lib -lgsl"
if test `uname` = "Darwin" ; then
LIBS="${LIBS} -ll"
else
LIBS="${LIBS} -lfl"
fi
AC_SUBST(CLMP_CPPFLAGS)
AC_SUBST(LIBS)
AC_CONFIG_FILES([src/Makevars])
AC_OUTPUT
Hi Art, after I changed the file of "configure.ac" in the folder of 'clmp' as you suggested, I still could not install.
I ran the locate libgsl, the output is: (base) macBjmudeMac-mini:clmp macbjmu$ locate libgsl
WARNING: The locate database (/var/db/locate.database) does not exist. To create the database, run the following command:
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist
Please be aware that the database can take some time to generate; once the database has been created, this message will no longer appear.
I ran the R CMD INSTALL ., the output is :
(base) macBjmudeMac-mini:clmp macbjmu$ R CMD INSTALL .
Ok, rather than building the entire locate database can you please post the results of the following command:
Elzar:Documents artpoon$ find /usr -name libgsl*
/usr/local/Cellar/gsl/2.4/lib/libgsl.23.dylib
/usr/local/Cellar/gsl/2.4/lib/libgsl.a
/usr/local/Cellar/gsl/2.4/lib/libgsl.dylib
/usr/local/Cellar/gsl/2.4/lib/libgslcblas.0.dylib
/usr/local/Cellar/gsl/2.4/lib/libgslcblas.a
/usr/local/Cellar/gsl/2.4/lib/libgslcblas.dylib
/usr/local/lib/libgsl.23.dylib
/usr/local/lib/libgsl.a
/usr/local/lib/libgsl.dylib
/usr/local/lib/libgslcblas.0.dylib
/usr/local/lib/libgslcblas.a
/usr/local/lib/libgslcblas.dylib
Hi Art, thanks for your reply! Here is the results (base) macBjmudeMac-mini:~ macbjmu$ find /usr -name libgsl* find: /usr/sbin/authserver: Permission denied /usr/local/lib/libgsl.dylib /usr/local/lib/libgsl.25.dylib /usr/local/lib/libgslcblas.a /usr/local/lib/libgsl.a /usr/local/lib/libgslcblas.0.dylib /usr/local/lib/libgslcblas.dylib /usr/local/Cellar/gsl/2.6/lib/libgsl.dylib /usr/local/Cellar/gsl/2.6/lib/libgsl.25.dylib /usr/local/Cellar/gsl/2.6/lib/libgslcblas.a /usr/local/Cellar/gsl/2.6/lib/libgsl.a /usr/local/Cellar/gsl/2.6/lib/libgslcblas.0.dylib /usr/local/Cellar/gsl/2.6/lib/libgslcblas.dylib (base) macBjmudeMac-mini:~ macbjmu$
Huh! Ok the compiler should be able to find those. I'm running out of ideas so I'm going to see if I can prepare a binary distribution for you on my Mac. In the meantime, have you tried my webserver?
Hi Art, I tried your webserver with one tree. It is really amazing! I am wondering if I can upload 100 trees in the webserver simultaneously. That would be very helpful.
Hi @yunPKU, unfortunately it wouldn't be easy to batch process 100 trees via the RShiny web interface. I've prepared a binary distribution file and sent it to you via e-mail. If you want to try to install a local copy that way (I sent instructions as well), then please let me know if it works. If so I may release binary distributions on GitHub.
This turned out to be due to a version incompatibility in libgsl
- my system was running 2.4 and @yunPKU 's system has 2.6. When I upgraded my copy via homebrew and generated a binary distribution of clmp, @yunPKU was able to install the package.
Hi, I am installing the package on macOS. But I am not sure how to run the last step of
autoconf ./configure R CMD INSTALL .
When I inputed the "autoconf" in the terminal of macOS, the output was "autoconf: error: no input file". Could you please provide more hints? Thanks!