如何在Cygwin上安装Cufflinks

4
我将尝试在Windows 7系统上使用Cygwin安装cufflinks 2.0.1。我已经完成了所有的安装步骤,但是Make命令一直失败,我想知道原因。我使用的是Boost版本1.50。
首先,当我运行configure文件时,会发生以下情况:
Benjamin S@BenjaminS-HP /cygdrive/c/analysistools/cufflinks-2.0.1
$ ./configure --prefix=/cygdrive/c/analysistools/cufflinks --with-boost=/cygdrive/c/AnalysisTools/boost --with-bam=/cygdrive/c/analysistools/samtools/samtools
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for gawk... (cached) gawk
checking for g++... g++
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.exe
checking for suffix of executables... .exe
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 g++ accepts -g... yes
checking for style of include used by make... GNU
checking dependency style of g++... gcc3
checking for gcc... gcc
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking dependency style of gcc... gcc3
checking whether make sets $(MAKE)... (cached) yes
checking for ranlib... ranlib
checking for a Python interpreter with version >= 2.4... python
checking for python... /usr/bin/python
checking for python version... 2.6
checking for python platform... cygwin
checking for python script directory... ${prefix}/lib/python2.6/site-packages
checking for python extension module directory... ${exec_prefix}/lib/python2.6/site-packages
checking for boostlib >= 1.47.0... yes
checking for bamlib... yes
checking build system type... i686-pc-cygwin
checking whether the Boost::Thread library is available... yes
checking for exit in -lboost_thread... yes
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
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 if zlib is wanted... yes
checking for inflateEnd in -lz... yes
checking zlib.h usability... yes
checking zlib.h presence... yes
checking for zlib.h... yes
checking for inflateEnd in -lz... (cached) yes
checking zlib in /usr... ok
checking for eigenlib... yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for unistd.h... (cached) yes
checking for stdbool.h that conforms to C99... yes
checking for _Bool... yes
checking for inline... inline
checking for pid_t... yes
checking for size_t... yes
checking for ptrdiff_t... yes
checking host system type... i686-pc-cygwin
checking if gcc accepts -m64... no
checking for struct sysinfo.totalram... yes
checking whether sysctl is declared... no
checking whether CTL_HW is declared... no
checking whether HW_PHYSMEM is declared... no
checking how to create a pax tar archive... gnutar
checking dependency style of gcc... (cached) gcc3
checking dependency style of g++... (cached) gcc3
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating config.h
config.status: executing depfiles commands

-- cufflinks 2.0.1 Configuration Results --
  C++ compiler:        g++ -Wall -Wno-strict-aliasing -g -gdwarf-2 -Wunused -Wuninitialized -D_FILE_OFFSET_BITS=64 -O3  -DNDEBUG  -pthread -I/cygdrive/c/AnalysisTools/boost/include -I/cygdrive/c/analysistools/samtools/samtools/include -I/usr/local/include
  GCC version:         gcc (GCC) 4.5.3
  Host System type:    i686-pc-cygwin
  Install prefix:      /cygdrive/c/analysistools/cufflinks
  Install eprefix:     ${prefix}

  See config.h for further configuration information.

然后当我尝试制作时,会发生以下情况:

Benjamin S@BenjaminS-HP /cygdrive/c/analysistools/cufflinks-2.0.1
$ make
make  all-recursive
make[1]: Entering directory `/cygdrive/c/analysistools/cufflinks-2.0.1'
Making all in src
make[2]: Entering directory `/cygdrive/c/analysistools/cufflinks-2.0.1/src'
g++ -DHAVE_CONFIG_H -I. -I..   -I../src  -I/usr/include  -Wall -Wno-strict-aliasing -g -gdwarf-2 -Wunused -Wuninitialized -D_FILE_OFFSET_BITS=64 -O3  -DNDEBUG  -pthread -I/cygdrive/c/AnalysisTools/boost/include -I/cygdrive/c/analysistools/samtools/samtools/include -I/usr/local/include -MT clustering.o -MD -MP -MF .deps/clustering.Tpo -c -o clustering.o clustering.cpp
g++: unrecognized option '-pthread'
mv -f .deps/clustering.Tpo .deps/clustering.Po
g++ -DHAVE_CONFIG_H -I. -I..   -I../src  -I/usr/include  -Wall -Wno-strict-aliasing -g -gdwarf-2 -Wunused -Wuninitialized -D_FILE_OFFSET_BITS=64 -O3  -DNDEBUG  -pthread -I/cygdrive/c/AnalysisTools/boost/include -I/cygdrive/c/analysistools/samtools/samtools/include -I/usr/local/include -MT differential.o -MD -MP -MF .deps/differential.Tpo -c -o differential.o differential.cpp
g++: unrecognized option '-pthread'
In file included from differential.h:29:0,
                 from differential.cpp:18:
replicates.h: In member function ‘bool ReplicatedBundleFactory::next_bundle(HitBundle&)’:
replicates.h:152:50: warning: unused variable ‘s2’
In file included from differential.cpp:18:0:
differential.h: In constructor ‘FPKMContext::FPKMContext(double, double, double, double, const CountPerReplicateTable&, double, const FPKMPerReplicateTable&, double, AbundanceStatus, const StatusPerReplicateTable&)’:
differential.h:142:21: warning: ‘FPKMContext::status’ will be initialized after
differential.h:139:29: warning:   ‘StatusPerReplicateTable FPKMContext::status_per_rep’
differential.h:131:2: warning:   when initialized here
differential.cpp: In member function ‘void TestLauncher::perform_testing(std::vector<boost::shared_ptr<SampleAbundances> >&)’:
differential.cpp:212:31: warning: unused variable ‘s2’
differential.cpp: In member function ‘void TestLauncher::record_tracking_data(std::vector<boost::shared_ptr<SampleAbundances> >&)’:
differential.cpp:240:31: warning: unused variable ‘s2’
differential.cpp: In function ‘SampleDifference get_ds_tests(const AbundanceGroup&, const AbundanceGroup&, bool)’:
differential.cpp:790:16: warning: unused variable ‘name’
differential.cpp: In function ‘void test_differential(const std::string&, const std::vector<boost::shared_ptr<SampleAbundances> >&, Tests&, Tracking&, bool)’:
differential.cpp:1771:83: warning: comparison between signed and unsigned integer expressions
differential.cpp:1772:83: warning: comparison between signed and unsigned integer expressions
differential.cpp:1814:83: warning: comparison between signed and unsigned integer expressions
differential.cpp:1815:83: warning: comparison between signed and unsigned integer expressions
differential.cpp:1856:83: warning: comparison between signed and unsigned integer expressions
differential.cpp:1857:83: warning: comparison between signed and unsigned integer expressions
mv -f .deps/differential.Tpo .deps/differential.Po
g++ -DHAVE_CONFIG_H -I. -I..   -I../src  -I/usr/include  -Wall -Wno-strict-aliasing -g -gdwarf-2 -Wunused -Wuninitialized -D_FILE_OFFSET_BITS=64 -O3  -DNDEBUG  -pthread -I/cygdrive/c/AnalysisTools/boost/include -I/cygdrive/c/analysistools/samtools/samtools/include -I/usr/local/include -MT common.o -MD -MP -MF .deps/common.Tpo -c -o common.o common.cpp
g++: unrecognized option '-pthread'
In file included from common.cpp:28:0:
replicates.h: In member function ‘bool ReplicatedBundleFactory::next_bundle(HitBundle&)’:
replicates.h:152:50: warning: unused variable ‘s2’
mv -f .deps/common.Tpo .deps/common.Po
g++ -DHAVE_CONFIG_H -I. -I..   -I../src  -I/usr/include  -Wall -Wno-strict-aliasing -g -gdwarf-2 -Wunused -Wuninitialized -D_FILE_OFFSET_BITS=64 -O3  -DNDEBUG  -pthread -I/cygdrive/c/AnalysisTools/boost/include -I/cygdrive/c/analysistools/samtools/samtools/include -I/usr/local/include -MT assemble.o -MD -MP -MF .deps/assemble.Tpo -c -o assemble.o assemble.cpp
g++: unrecognized option '-pthread'
mv -f .deps/assemble.Tpo .deps/assemble.Po
g++ -DHAVE_CONFIG_H -I. -I..   -I../src  -I/usr/include  -Wall -Wno-strict-aliasing -g -gdwarf-2 -Wunused -Wuninitialized -D_FILE_OFFSET_BITS=64 -O3  -DNDEBUG  -pthread -I/cygdrive/c/AnalysisTools/boost/include -I/cygdrive/c/analysistools/samtools/samtools/include -I/usr/local/include -MT tokenize.o -MD -MP -MF .deps/tokenize.Tpo -c -o tokenize.o tokenize.cpp
g++: unrecognized option '-pthread'
mv -f .deps/tokenize.Tpo .deps/tokenize.Po
g++ -DHAVE_CONFIG_H -I. -I..   -I../src  -I/usr/include  -Wall -Wno-strict-aliasing -g -gdwarf-2 -Wunused -Wuninitialized -D_FILE_OFFSET_BITS=64 -O3  -DNDEBUG  -pthread -I/cygdrive/c/AnalysisTools/boost/include -I/cygdrive/c/analysistools/samtools/samtools/include -I/usr/local/include -MT abundances.o -MD -MP -MF .deps/abundances.Tpo -c -o abundances.o abundances.cpp
g++: unrecognized option '-pthread'
In file included from abundances.cpp:35:0:
replicates.h: In member function ‘bool ReplicatedBundleFactory::next_bundle(HitBundle&)’:
replicates.h:152:50: warning: unused variable ‘s2’
abundances.cpp: In function ‘void collapse_equivalent_hits(const std::vector<MateHit>&, std::vector<boost::shared_ptr<Abundance> >&, std::vector<boost::shared_ptr<Abundance> >&, std::vector<MateHit>&, std::vector<double>&, bool)’:
abundances.cpp:769:28: warning: comparison between signed and unsigned integer expressions
abundances.cpp: In function ‘long double solve_beta(long double, long double, long double)’:
abundances.cpp:1227:145: error: ‘sqrtl’ was not declared in this scope
abundances.cpp: In member function ‘void AbundanceGroup::calculate_FPKM_covariance()’:
abundances.cpp:1780:24: warning: unused variable ‘fpkm’
abundances.cpp: In function ‘void calculate_assignment_probs(const Eigen::VectorXd&, const Eigen::MatrixXd&, const Eigen::VectorXd&, Eigen::MatrixXd&)’:
abundances.cpp:2205:58: warning: comparison between signed and unsigned integer expressions
abundances.cpp: In function ‘AbundanceStatus gamma_mle(const std::vector<boost::shared_ptr<Abundance> >&, const std::vector<MateHit>&, const std::vector<double>&, std::vector<double>&, bool)’:
abundances.cpp:3300:48: warning: comparison between signed and unsigned integer expressions
abundances.cpp:3302:52: warning: comparison between signed and unsigned integer expressions
In file included from abundances.cpp:36:0:
sampling.h: In function ‘double boost::numeric::ublas::cholesky_factorize(M&) [with M = boost::numeric::ublas::matrix<double>]’:
abundances.cpp:117:45:   instantiated from here
sampling.h:83:7: error: ‘sqrtl’ was not declared in this scope
 /cygdrive/c/AnalysisTools/boost/include/boost/system/error_code.hpp: At global scope:
 /cygdrive/c/AnalysisTools/boost/include/boost/system/error_code.hpp:214:36: warning: ‘boost::system::posix_category’ defined but not used
 /cygdrive/c/AnalysisTools/boost/include/boost/system/error_code.hpp:215:36: warning: ‘boost::system::errno_ecat’ defined but not used
 /cygdrive/c/AnalysisTools/boost/include/boost/system/error_code.hpp:216:36: warning: ‘boost::system::native_ecat’ defined but not used

Makefile:1444: recipe for target `abundances.o' failed
make[2]: *** [abundances.o] Error 1
make[2]: Leaving directory `/cygdrive/c/analysistools/cufflinks-2.0.1/src'
Makefile:290: recipe for target `all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/cygdrive/c/analysistools/cufflinks-2.0.1'
Makefile:228: recipe for target `all' failed
make: *** [all] Error 2

在使用Cygwin和一些需要它的生物信息学程序方面,我还是个初学者。因此,我非常感激您提供的任何帮助。


你尝试过以root身份运行make吗? - Steve
我不确定你的意思,如何以root身份运行?再说一遍,我在Unix方面是一个相当大的业余爱好者,谷歌这行代码也没有告诉我该怎么做。 - Benjamin S
很遗憾,我对cygwin shell的经验有限,但从我所读到的来看,尝试以管理员身份运行它可能是值得的。您可以右键单击快捷方式并选择以管理员身份运行。然后重新尝试./configuremake步骤。 - Steve
我一直以管理员身份运行程序,所以这个不是问题。还是谢谢你的帮助! - Benjamin S
1个回答

0

看起来你缺少了sqrtl函数:

abundances.cpp:1227:145: error: ‘sqrtl’ was not declared in this scope

我在Cygwin 1.7.16中看到了这个定义,它在math.h中:

extern long double sqrtl _PARAMS((long double));

您是否正在运行Cygwin的1.7.16版本?请检查您的/usr/include/math.h文件,看看是否定义了sqrtl

但是,在Cygwin中运行此程序时要小心。官方cygwin表示并未实现sqrtl函数,但我可以构建一个测试程序来使用它。虽然我的C语言有点生疏,但我没有看到我期望的结果。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接