NCBI C++ toolkit build with Cn3D and wxWindows

Instructions for Linux (CentOS 5.x)
NCBI C++ toolkit has features depend on NCBI C toolkit.
Therefore NCBI C toolkit needs to be compiled first.
We put the default NCBI C toolkit directory in /usr/ncbi
 
Cn3D needs several third party packages in order to compile, which include wxWidgets and osMesa development package.
 
osMesa package can be obtained through yum.
yum install mesa-libOSMesa-devel.i386
 
wxWidgets need to be compiled manually in centos. Since wxWidgets is not common in linux installs. It's recommend to build into a static library.
download wxWidgets source code at wxWidgets.org
Downloaded the wxWidgets-2.8.10 stable build = wxAll platforms

extract the file to /usr directory
make a symbolic link to the version directory with this:
in /usr
ln -s wxWidgets-2.8.10 wx

Now the directory /usr/wx will point to the currently installed wxWindows version, and the libaries will appear in /usr/wx/lib

Change directory into /usr/wx and configure using the following command, then make and install:
 ./configure --with-motif --prefix=/usr/wx --with-opengl --disable-shared --enable-static
make
make install

Check to see if libraries appear in /usr/wx/lib

The wxWidgets primary header file is "setup.h" which gets built upon configuration. You need to move it into /usr/wx/include/wx/
from something like this:  /usr/wx/include/motif-ansi-release-static-2.8/wx/
find . -name "setup.h" -print
... find the long-winded directory - the new setup.h should have a recent timestamp and have a comment at the top that says "Generated by configure."
Copy this new setup.h into /usr/wx/include/wx with the rest of the *.h files.

$NCBI/wxwin is the default location for wxwindows builds, so go to the $NCBI directory and
/ln -s /usr/wx wxwin

Now builds should find the libraries by default.

 (To build a project on Cygwin / GCC, instead of running the ./configure.sh script you will need to run compilers/cygwin/build.sh.)
 
Goto the directory of NCBI C++ toolkit and configure the build tree using the following command
 
./configure --without-debug --with-wxwidgets=/usr/wx --with-mesa --with-opengl

 
Make the NCBI C++ toolkit with the generated Makefile with
make


BUILD goes in
/usr/ncbic++directoryname/GCC412-Release/build
/usr/ncbic++directoryname/GCC412-Release/bin - executables
/usr/ncbic++directoryname/GCC412-Release/inc - *.hpp files
/usr/ncbic++directoryname/GCC412-Release/lib -  *.a files

Then build Cn3D by going to the GCC412-Release/build/app/cn3d folder and compile with
make
 
There might be a compile "Micro must be identifier" error at line 241 of sequenceviewer-widget.cpp, current work-around is to delete the lines since the ifdef config is only useful for mac.
 
Similar instructions for WINDOWS - here http://james.joohilee.com/
First, follow the instructions for installing/compiling the NCBI C toolkit.
Comments