PATH_MAX undefined on Linux
The limits.h header is now included on Linux for the PATH_MAX definition.
Building Server DLL with UNIFRMAT support
Building c-treeACE Server DLL using the PRO package when UNIFRMAT support was enabled failed due to unresolved symbols. UNIFRMAT is now properly supported in all makes.
Compiling FPUTFGET Library with virtual file support off
Compiling an FPUTFGET library with virtual file support off (by adding #define NO_ctFeatVIRTUAL_FILES in ctoptn.h) failed due to unresolved symbol ctswitch. Current makefiles have been adjusted to prevent this.
Errors were seen when compiling a c-tree client after upgrading to c-treeACE V10.3.0. Many of these errors concerned a conflict with c-tree's ctssl.h and OpenSSL's bio.h & dh.h. A sample of the errors include:
/usr/include/openssl/bio.h:600: error: new declaration ‘BIO* BIO_new_file(conschar*, const char*)’
/home/rgb/linux.v2.6.x86.32bit/include/ctssl.h:83: error: ambiguates old declaration ‘void* BIO_new_file(const char*, const char*)’
/usr/include/openssl/dh.h:182: error: new declaration ‘DH* DH_new()’
/home/rgb/linux.v2.6.x86.32bit/include/ctssl.h:88: error: ambiguates old declaration ‘CTDH* DH_new()’
/home/rgb/linux.v2.6.x86.32bit/include/ctssl.h:92: error: previous declaration of ‘ULONG ERR_get_error()’ with ‘C++’ linkage
/usr/include/openssl/err.h:260: error: conflicts with new declaration with ‘Câ
Errors compiling c-tree when OpenSSL headers are included
These errors have been eliminated by moving the function prototypes for OpenSSL functions to the section of the header file that is compiled only when statically linking with OpenSSL.
Delete old winsock header and library
When using the Borland compiler, #include <winsock.h> in ctappx.c is bringing in the header file ctree\source\ntree\sockets\winsock.h. This causes errors due to conflicting definitions with the compiler's winsock.h. This header file and the winsock library have been removed from that directory because they are no longer used. The versions of these files provided by the compiler are now used.
Remove AG_LOCK macro definition from version compatibility headers
AG_LOCK is defined in a header file on AIX, which caused errors compiling c-tree because c-tree's v6 to v7 header defines AG_LOCK. To eliminate this conflict, the AG_LOCK and ctAG_LOCK definitions (which are not currently required) have been removed from these headers.