## -*-text-*- ## ## HowTo install the OFFIS DICOM toolkit dcmtk341 in our IRIX environment ## # $Id: HowTo-Install-dcmtk341.txt,v 1.4 2000/04/12 10:27:10 meyer Exp $ # $Source: /people/staff2/meyer/.cvsroot/public_html/dcmtk/HowTo-Install-dcmtk341.txt,v $ This text describes how I compiled dcmtk-341 on a SGI Indigo running IRIX 6.2 using the default compiler and loader. The compilation runs fine on an Onyx with 6.5 and gcc/g++, too. The crucial step is to remove -lsocket, -lnsl and -lSM from the list of linked libraries, as stated in http://toolbox.sgi.com/TasteOfDT/public/freeware/shared/howto.html#a0 . * pre-Configure: meyer@andante:dcmtk-341> cd config meyer@andante:dcmtk-341/config> ./rootconf meyer@andante:dcmtk-341/config> cd .. meyer@andante:dcmtk-341> * Configure: - By default, configure grabs gcc, c++ and libtool as compiler and archiver. This can be overridden by setting CC, CXX and AR: meyer@andante:dcmtk-341> env CC=cc CXX=CC AR=ar ./configure --prefix=/usr/local/dcmtk341 - configure wants to link with -lsocket, -lnsl and -lSM. They are not needed under IRIX 6.x. To remove them - edit config.status - rerun config/config.status (in the config directory!!) - for reference, here is a diff: meyer@andante:dcmtk-341> diff config/config.status config/config.status-org 45c45 < s%@LIBS@%%g --- > s%@LIBS@%-lsocket -lnsl %g 76c76 < s%@X_PRE_LIBS@%%g --- > s%@X_PRE_LIBS@% -lSM -lICE%g See http://toolbox.sgi.com/TasteOfDT/public/freeware/shared/howto.html#a0 for mor info. * Make: - pmake, smake and make fail (with different problems, Makefiles not thread-safe) -> use GNUmake meyer@andante:dcmtk-341> gmake - Some more or less useless warnings, that will probably disappear soon, are documented at the end of this file. - gmake install does, what it should do. - fine :-) * Bugs: - ti dumps a core on query, when the database connection could not be made: meyer@onyx2:~> ti -c ~pacs/conf/configrc onyx2 /projects/pacs/dicom_data/bigPacs/index.dat: Permission denied ti: TI_attachDB: cannot create DB Handle [Note: the index.dat file is readble for the current user, but not writable.] bigPacs->bigDB> stu Querying Database for Studies ... Segmentation fault (core dumped) - ctndisp dies in XPutImage when the X-servers default visual has a depth of 24 (this is mentioned in ctndisp.txt....) reason: ctndsupp.cc (1128): G_visual = DefaultVisual(G_display, G_screen); proposal: use XMatchVisualInfo() and friends to find a suitable visual ########################################################################## Warnings during compilation "dcmgpdir.cc", line 196: warning(3666): variable "opt_debugMode" was set but never used "dcmconv.cc", line 84: warning(3666): variable "opt_debugMode" was set but never used "dcmdump.cc", line 121: warning(3666): variable "opt_debugMode" was set but never used "dump2dcm.cc", line 774: warning(3666): variable "opt_debugMode" was set but never used "dulparse.cc", line 103: warning(3666): variable "debug" was set but never used "dispuser.cc", line 239: warning(3666): variable "traceLevel" was set but never used "dbstore.cc", line 279: warning(3666): variable "n" was set but never used "dbregimg.cc", line 87: warning(3666): variable "opt_debug" was set but never used "wlistctn.cc", line 1105: warning(3666): variable "numTransferSyntaxes" was set but never used - some warning on mangling: "../include/diinpxt.h", line 76: warning(3672): Mangling of signed character does not match cfront name mangling static inline Sint8 expandSign(const Sint8 Value, "../include/dimopxt.h", line 282: warning(3672): Mangling of signed character does not match cfront name mangling void determineMinMax(T minvalue = 0, "../include/dimocpt.h", line 88: warning(3672): Mangling of signed character does not match cfront name mangling inline void copy(const T *pixel) ^ "../../ofstd/include/ofbmanip.h", line 76: warning(3672): Mangling of signed character does not match cfront name mangling static void copyMem(const T *src, ^ "../../ofstd/include/ofbmanip.h", line 100: warning(3672): Mangling of signed character does not match cfront name mangling static void setMem(T *dest, ^ "../../ofstd/include/ofbmanip.h", line 123: warning(3672): Mangling of signed character does not match cfront name mangling static void zeroMem(T *dest, ^ "../include/ditranst.h", line 95: warning(3672): Mangling of signed character does not match cfront name mangling inline void copyPixel(const T *src[], ^ [....omitted some....] "../include/dimoipxt.h", line 101: warning(3672): Mangling of signed character does not match cfront name mangling inline int initOptimizationLUT(T3 *&lut, ^ - and finally some warnings regarding older processors, that can be safely ignored (if you don't intend to run your code on an old Iris, or so): ld: WARNING 47: This module contains branch instruction(s) that might degrade performance on an older version (rev. 2.2) R4000 processor.