When porting a D2000 application developed for Windows to Linux, you may encounter the following differences:

  • File names and paths are case-sensitive
  • Directory separator is "/" (slash)
  • File access rights (owner/group/others)

When patching D2000 binaries, the following steps should be performed

  • owner/group should be changed to the D2000 user and group under which the D2000 system was installed, e.g. 
    chown d2000:d2000 kernel
  • read/write/execute flags should be set so that at least the D2000 user can run them, e.g.
    chmod 755 archiv
  • D2000 Kernel process requires special capabilities to create multicast sockets: 
    setcap cap_net_raw=pe kernel
  • D2000 Kom process may require special capabilities to work with raw sockets, to bind to privileged ports and to work with GPIO:
    setcap cap_dac_override,cap_sys_rawio,cap_net_bind_service+ep kom


While debugging the performance of the D2000 Archive, a bottleneck was identified within the unixODBC component. Performance can be significantly improved by recompiling unixODBC with the "--enable-fastvalidate" option enabled, e.g:
configure --enable-fastvalidate --with-gnu-ld=yes --enable-threads=yes --enable-drivers=yes --enable-driverc=yes

Then you need to replace the original library (/usr/lib64/libodbc.so.2.0.0) with the new one and also replace the symbolic link /usr/lib64/libodbc.so.2.

Napíšte komentár