Search code examples
windowsboostmakefilecygwinbioinformatics

How to install Cufflinks on Cygwin


I'm attempting to install cufflinks 2.0.1 on my Windows 7 system using Cygwin. I have done all of the installation steps up to the Make command, but that make command keeps on failing for some reason. I was wondering if anyone could tell me why. I'm using Boost version 1.50

First, here's what happens when I run the configure file:

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.

Then here is what happens when I try to make it:

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

I'm still a bit of an amateur when it comes to cygwin and several bioinformatics programs that require it for me, so I appreciate whatever help you can give.


Solution

  • It looks like you are missing the sqrtl function:

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

    I do see this defined in Cygwin 1.7.16 in math.h as:

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

    Are you running 1.7.16 of Cygwin? Check your /usr/include/math.h and see if sqrtl is defined.

    However, I'd be careful running this in Cygwin. Officially cygwin says sqrtl isn't implemented, but I can build a test program to use it. I'm not seeing the results I'd expect, although my C is a bit rusty.