Aolserver Installation with Google Perftools

Aolserver Installation with Google Perftools

Aolserver installation with Google Perftools System: Red Hat Enterprise Linux ES release 4 (Nahant Update 4) Dual-Core AMD Opteron(tm) Processor 2210 HE 3 GB memory Software : aolserver-4.0.10-src.tar.gz or aolserver-4.5.0-src.tar.gz Google perftools 0.8 tcl8.4.14-src.tar.gz Installation : Google perftools installation : # mkdir ~/software # cd ~/software # wget http://google-perftools.googlecode.com/files/google-perftools-0.8.tar.gz # tar xzf .tar.gz # cd google-perftools-0.8 # ./configure --prefix/home/atif/googlelib # make it gave an error src/base/linux_syscall_support.h:339: error: invalid conversion from `long int' to `void*' make: *** [libtcmalloc_minimal_la-malloc_hook.lo] Error 1 open src/base/linux_syscall_support.h and edit line 338 Change this To this static inline _syscall6(void*, sys_mmap, static inline _syscall6(long int, void*, s, sys_mmap, void*, s, size_t, l, int, size_t, l, int, p, p, int, f, int, int, f, int, d, d, after that # make clean # make # mkdir /home/atif/googlelib # make install I also added in LD_LIBRARY_PATH the location /home/atif/googlelib/lib , in fact i even added it in /etc/ld.so.conf and ran . make sure you have LD_LBRARY_PATH in your ~/.bash_profile export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/atif/googlelib/lib # ldconfig TCL installation: # mkdir ~/tcl # cd ~/software # wget http://surfnet.dl.sourceforge.net/sourceforge/tcl/ # tar xzf tcl8.4.14-src.tar.gz # cd tcl8.4.14/unix # ./configure --prefix=/home/atif/tcl --enable-threads export the tcl library location in your LD_LIBRARY_PATH put this line in bash_profile if using bash. export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/atif/tcl/lib We want tcl to use google tcmalloc() for thread allocation so we will enable thread support but disable thread allocation from tcl. create a simple bash script named disablealloc.sh cd ./unix && \ cat Makefile | sed -e 's/-DUSE_THREAD_ALLOC=1//' > Makefile.new && \ cat tclConfig.sh | sed -e 's/-DUSE_THREAD_ALLOC=1//' > tclConfig.sh.new&& \ cp Makefile.new Makefile && \ cp tclConfig.sh.new tclConfig.sh All this does is to change two files and removes -DUSE_THREAD_ALLOC=1 from each file . Save this script in ~/tcl #cd /home/atif/tcl # sh disablealloc.sh after that # make # make install Aolserver installation : Aolserver 4.0.10: # mkdir ~/aol40 # cd ~/software/ # wget http://ovh.dl.sourceforge.net/sourceforge/aolserver/aolserver-4.0.10-src.tar.gz # tar xzf aolserver-4.0.10-src.tar.gz # cd aolserver-4.0.10 -- if you are compiling on redhat enterprise 3 on a 64 bit platform like amd opteron change the nsd/tclobj.c and comment out following lines , line 88 (On redhat enterprise 4 this is not needed) Change this To this if (sizeof(int) < sizeof(long)) { /* if (sizeof(int) < sizeof(long)) { Tcl_Panic("NsTclInitObjs: sizeof(int) < Tcl_Panic("NsTclInitObjs: sizeof(int) < sizeof(long)"); sizeof(long)"); } } */ after that : # ./configure --prefix=/home/atif/aol40 --with-tcl=/home/atif/tcl/lib --enable-threads -- enable-64bit # make # make install Aolserver 4.5.0 : # mkdir ~/aol45 # cd ~/software/ # wget http://ovh.dl.sourceforge.net/sourceforge/aolserver/aolserver-4.5.0-src.tar.gz # tar xzf aolserver-4.5.0-src.tar.gz # cd aolserver-4.5.0 # ./configure --prefix=/home/atif/aol45 --with-tcl=/home/atif/tcl/lib --enable-threads -- enable-64bit # /home/atif/tcl/bin/tclsh8.4 ./nsconfig.tcl -install /home/atif/aol45 # make It should work fine on almost all platforms except redhat enterprise 3 update 4 with 64 bit linxu x86_64 If you get this error on make info.c: In function `NsTclInfoObjCmd': info.c:515: syntax error before "opt" info.c:522: `opt' undeclared (first use in this function) info.c:522: (Each undeclared identifier is reported only once info.c:522: for each function it appears in.) info.c:571: warning: implicit declaration of function `Tcl_GetMemoryInfo' info.c: At top level: info.c:36: warning: `RCSID' defined but not used gmake[1]: *** [info.o] Error 1 gmake[1]: Leaving directory `/software/nsadmin/aolserver-4.5.0/nsd' make: *** [build] Error 1 Apply this patch to fix the problem . Index: include/nsattributes.h =================================================================== RCS file: /cvsroot/aolserver/aolserver/include/nsattributes.h,v retrieving revision 1.3 diff -u -r1.3 nsattributes.h --- include/nsattributes.h 25 Aug 2005 15:46:11 -0000 1.3 +++ include/nsattributes.h 27 Jul 2006 11:48:59 -0000 @@ -38,8 +38,6 @@ #ifndef NSATTRS_H #define NSATTRS_H -#ifndef __GNUC__ - # define _nsmalloc # define _nspure # define _nsconst @@ -56,8 +54,6 @@ # define _nswarnunused # define _nsmayalias -#else - #ifdef __GNUC_MINOR__ #ifdef __GNUC_PREREQ #undef __GNUC_PREREQ @@ -120,8 +116,6 @@ #endif /* __GNUC__PREREQ */ -#endif /* __GNUC__ */ - #define NS_RCSID(string) static const char *RCSID _nsunused = string \ ", compiled: " __DATE__ " " __TIME__ save above text as a file called nsattribute.h.patch and put it on the root of aolserver source and run this command # patch -p0 <nsattribute.h.patch after that # make clean # make # make install Start Alserver : To start aolserver in a way that tcl uses tcmalloc() start it like this cd /home/atif/aol40 LD_PRELOAD=/home/atif/googlelib/lib/libtcmalloc.so ./bin/nsd -t sampleconfig.tcl or for aolserver 4.5 cd /home/atif/aol45 LD_PRELOAD=/home/atif/googlelib/lib/libtcmalloc.so ./bin/nsd -t sampleconfig.tcl.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    4 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us