But I faced an problem.
I wanted to build dcmtk-rpms/debs again on the opensuse build server which failed on Fedora 12 host:
Code: Select all
make[2]: Entering directory `/home/stephan/dcmtk-original/dcmtk-3.5.4/dcmtls/libsrc'
c++ -DHAVE_CONFIG_H -DDEBUG -c -I. -I. -I../include -I../../config/include -I../../ofstd/include -I../../dcmdata/include -I../../dcmnet/include \
-g -I/usr/include/libxml2 -D_REENTRANT -D_XOPEN_SOURCE_EXTENDED -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -D_BSD_COMPAT -D_OSF_SOURCE -D_POSIX_C_SOURCE=199506L -Wall tlslayer.cc
tlslayer.cc: In constructor ‘DcmTLSTransportLayer::DcmTLSTransportLayer(int, const char*)’:
tlslayer.cc:195: error: invalid conversion from ‘const SSL_METHOD*’ to ‘SSL_METHOD*’
tlslayer.cc:198: error: invalid conversion from ‘const SSL_METHOD*’ to ‘SSL_METHOD*’
tlslayer.cc:201: error: invalid conversion from ‘const SSL_METHOD*’ to ‘SSL_METHOD*’
make[2]: *** [tlslayer.o] Error 1
Happened on dcmtk-3.5.4 and 3.5.5-20090818.
Perhaps see http://lists-archives.org/git/703845-im ... const.html
Because I want my dcmtk copy work with both I eliminated the variable and made following:
Code: Select all
//by Vrenn
if ( networkRole == DICOM_APPLICATION_ACCEPTOR )
{
transportLayerContext = SSL_CTX_new( TLSv1_server_method() );
} else if ( networkRole == DICOM_APPLICATION_REQUESTOR ) {
transportLayerContext = SSL_CTX_new( TLSv1_client_method() );
} else {
transportLayerContext = SSL_CTX_new( TLSv1_method() );
}
// SSL_METHOD *method = NULL; //changed by Vrenn
// switch (networkRole)
// {
// case DICOM_APPLICATION_ACCEPTOR:
// method = TLSv1_server_method(); //changed by Vrenn
// break;
// case DICOM_APPLICATION_REQUESTOR:
// method = TLSv1_client_method(); //changed by Vrenn
// break;
// default:
// method = TLSv1_method(); //changed by Vrenn
// break;
// }
// transportLayerContext = SSL_CTX_new(method);
Code: Select all
dcmqridx.cc: In function ‘int main(int, char**)’:
dcmqridx.cc:179: error: ‘DB_getDebugLevel’ was not declared in this scope
dcmqridx.cc:182: error: ‘DB_makeNewStoreFileName’ was not declared in this scope
Code: Select all
../include/dcmtk/dcmimgle/diinpxt.h:368: error: there are no arguments to ‘isSigned’ that depend on a template parameter, so a declaration of ‘isSigned’ must be available
I just commented it out and wanted to mention it here because it is a problem for Fedora 12 users too.
I hope these changes don't affect my rpm/debs in any harmful way. What do you think?