[Pairoscope-help] pairoscope build on RHEL 5.5
Status: Beta
Brought to you by:
ernfrid
|
From: Powers, D. <Po...@do...> - 2012-07-29 03:42:37
|
Hi -
I wanted to share that I have built pairoscope on a RHEL 5.5 environment. I'm not sure if others have done this or not. Since I did not find any obvious installs on this platform through Google searching, I thought I would share how I did it, in case it might help others down the road.
( A ) Environment specifics
OS: Red Hat Enterprise Linux Server release 5.5 (Tikanga)
Kernel: Linux 2.6.18-194.el5 #1 SMP Tue Mar 16 21:52:39 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux
gcc: 4.6.1
( B ) Steps to build pairoscope:
( 1 ) build pixman 0.10.0 library from source
( 2 ) build cairo 1.6.0 from source
( 3 ) build samtools 0.1.18 from source
( 4 ) build cmake 2.8.8 from source
( 5 ) build pairoscope 0.2 from source
( C) Pairoscope specific changes
After going through ccmake and configuring the environment and building the Makefile, you can execute "make" on the command line.
I found that when I executed the "make" command, there were a lot of "error: 'function' was not declared in this scope as shown below...
[foo@bar]% make
Scanning dependencies of target pairoscope
[ 12%] Building CXX object CMakeFiles/pairoscope.dir/src/pairoscope.cpp.o
[ 25%] Building CXX object CMakeFiles/pairoscope.dir/src/YAlignmentFetcher.cpp.o
[ 37%] Building CXX object CMakeFiles/pairoscope.dir/src/YGeneView.cpp.o
In file included from /share/apps/pairoscope/src/YGeneView.h:16:0,
from /share/apps/pairoscope/src/YGeneView.cpp:8:
/share/apps/pairoscope/src/YTranscript.h: In constructor 'YTranscript::YTranscript()':
/share/apps/pairoscope/src/YTranscript.h:32:30: error: 'NULL' was not declared in this scope
/share/apps/pairoscope/src/YGeneView.cpp: In constructor 'YGeneView::YGeneView(cairo_t*, YRect, const char*, unsigned int, unsigned int, std::vector<YTranscript*>*, bool, double)':
/share/apps/pairoscope/src/YGeneView.cpp:13:32: error: 'strlen' was not declared in this scope
/share/apps/pairoscope/src/YGeneView.cpp:15:34: error: 'strcpy' was not declared in this scope
/share/apps/pairoscope/src/YGeneView.cpp: In member function 'virtual void YGeneView::draw()':
/share/apps/pairoscope/src/YGeneView.cpp:44:13: error: 'stderr' was not declared in this scope
/share/apps/pairoscope/src/YGeneView.cpp:44:53: error: 'fprintf' was not declared in this scope
/share/apps/pairoscope/src/YGeneView.cpp:117:100: error: 'snprintf' was not declared in this scope
/share/apps/pairoscope/src/YGeneView.cpp: In member function 'int YGeneView::transcriptStatusPriority(char*)':
/share/apps/pairoscope/src/YGeneView.cpp:208:31: error: 'strcmp' was not declared in this scope
/share/apps/pairoscope/src/YGeneView.cpp:211:32: error: 'strcmp' was not declared in this scope
/share/apps/pairoscope/src/YGeneView.cpp:214:34: error: 'strcmp' was not declared in this scope
/share/apps/pairoscope/src/YGeneView.cpp:217:32: error: 'strcmp' was not declared in this scope
/share/apps/pairoscope/src/YGeneView.cpp:220:28: error: 'strcmp' was not declared in this scope
/share/apps/pairoscope/src/YGeneView.cpp:223:31: error: 'strcmp' was not declared in this scope
make[2]: *** [CMakeFiles/pairoscope.dir/src/YGeneView.cpp.o] Error 1
make[1]: *** [CMakeFiles/pairoscope.dir/all] Error 2
make: *** [all] Error 2
When I fixed these first errors, there were more that followed from various files. Here is the list of five ".h" and ".cpp" files and simple changes that I made to the files to get them to compile successfully:
( 1 ) ../pairoscope/src/YTranscript.h
add the following:
#include <cstddef>
( 2 ) ../pairoscope/src/YGeneView.h
add the following:
#include <cstring>
#include <stdio.h>
( 3 ) ../pairoscope/src/YPairView.h
add the following:
#include <cstdlib>
( 4 ) ../pairoscope/src/YDepthView.h
add the following:
#include <stdio.h>
#include <cstring>
( 5 ) ../pairoscope/src/YPairView.cpp
add the following:
#include <cstring>
After I made these changes, I was able to successfully compile pairoscope as shown below:
[foo@bar]% make
[ 12%] Building CXX object CMakeFiles/pairoscope.dir/src/pairoscope.cpp.o
[ 25%] Building CXX object CMakeFiles/pairoscope.dir/src/YAlignmentFetcher.cpp.o
[ 37%] Building CXX object CMakeFiles/pairoscope.dir/src/YGeneView.cpp.o
[ 50%] Building CXX object CMakeFiles/pairoscope.dir/src/YPairView.cpp.o
[ 62%] Building CXX object CMakeFiles/pairoscope.dir/src/YView.cpp.o
[ 75%] Building CXX object CMakeFiles/pairoscope.dir/src/YDepthView.cpp.o
[ 87%] Building CXX object CMakeFiles/pairoscope.dir/src/YGenomeView.cpp.o
[100%] Building CXX object CMakeFiles/pairoscope.dir/src/YTranscriptFetcher.cpp.o
Linking CXX executable pairoscope
[100%] Built target pairoscope
[foo@bar]%
I hope this helps someone else!
Dave
|