Installing DIM on Lynx

Build on Linux
DIM v15r01
Makefile coupled -mthreads switch with endian! This is wrong.
ARCH=INTEL resulted in little endian (PC) and -mthreads, other big endian (RIOx).
Modified makefile-common:
Now, THREADS steers the compile and switches and link libraries, GSI_CPU_ENDIAN the endian switches MIPSEL or MIPSEB.
In dis.c Dis_packet->reserved[0] was not byte swapped. Therefore the quality and time stamp was not sent to clients.
In dim_common.h the definition of ctime_r has three arguments, but with Lynx 3.1 we need two.
DIM v16r14
Makefile same error es before. Introduced new EXCFLAGS to link examples.
In dim_common.h the definition of ctime_r has three or two arguments, depending on Lynx but this is defined on Lynx 2.5 and 3.1, whereas 2.5 needs three args, v3.1 only two!
DIM v17r02
Makefile same error es before.
In dim_common.h the definition of ctime_r has three or two arguments, depending on Lynx but this is defined on Lynx 2.5 and 3.1, whereas 2.5 needs three args, v3.1 only two!
x86 Lynx 2.5
DIM v15r01 with threads.
DIM v15r01 without threads.
Full MBS works.
DIM v16r14 with threads.
DIM v16r14 without threads.

RIO2 Lynx 2.5
gcc version 2.7-96q1
sem is in libc and liblynx, both /lib and /lib/thread
smem is in liblynx, both /lib and /lib/thread

DIM v15r01 with threads.
Links /thread libraries.
Linking with liblynx: sem_wait does not wait. This results in inconsistent startup. MBS linking with liblynx gives conflict with sem_wait in p1b_sem(libc) and sem_wait(liblynx).
MBS linking without liblynx: missing smem functions
DIM v15r01 without threads.
MBS links to liblynx.a and libnetinet.a (points to libbsd.a)
Full MBS works.
DIM v16r14 with threads.
DIM v16r14 without threads.
Testserver starts, but does not connect name server on Linux.

RIO3 Lynx 3.1
gcc version 2.9-gnupro-98r2
sem is in liblynx and libc(p1b_sem), both /lib and /lib/thread
smem is in libc and thread/libc, not in liblynx as for 2.5
DIM v15r01 with threads.
Runs after the fixes. Must not link to liblynx.a. MBS also links without liblynx. If linking with liblynx, semaphore does not wait.
Full MBS works.
DIM v15r01 without threads.
Testserver runs. Parameter accessible from Linux.
MBS links to liblynx.a and libnetinet.a (points to libbsd.a)
DIM v16r14 with threads.
DIM v16r14 without threads.

RIO4 Lynx 4.0
gcc version 2.95.3
DIM v15r01 with threads.
Runs after the fixes. Must not link to liblynx.a. MBS also links without liblynx. If linking with liblynx, semaphore does not wait.
Full MBS works.

X86 Lynx 4.0
gcc version 2.95.3
DIM v15r01 with threads.
Must set GSI_LYNX_PLATFORM to RIO4 (RIO4 is ifdefed in dim_commen.h). Runs after the fixes. Must not link to liblynx.a. MBS also links without liblynx. If linking with liblynx, semaphore does not wait.
Full MBS works.

-- HansEssel - 24 Jun 2010

New Installations for MBS on Lynx and Linux

DIM v19r24
This version was required since old DIM was not running properly on Linux for MBS (SugarHat and Debian)

Installation at /mbs/dim/dim_v19r24.

Required changes to original DIM v19r24:
  • makefile_common: Introduced GSI specific set up of ODIR, =OS, and ARCH. Note: ARCH environment was not set up properly in makefile_common as taken from DIM v15r_01 (old production version)
  • *dim_common.h
    • patch for correct definition of my_ctime(), depending on system
    • take into account GSI_CPU_PLATFORM PCX86 and PCX86V40
  • dim_thr.c: modified conditions
    #if defined (LYNXOS) && !defined (  Lynx  )
    to
    #if defined (LYNXOS)
    , because corresponding parts were not compiled. (Should explicitely undefine Lynx?)

Tests of DIM functionality:
  1. Compile private MBS version 6.1 at /daq/usr/adamczew/workspace/mbs against DIM installation.
  2. Change to working directory /daq/usr/adamczew/randtest (sample random number readout).
  3. DIM_DNS_NODE was set to lxg0532.
  4. Manually invoke: $MBSROOT/bin_$GSI_CPU_PLATFORM/m_dispatch -dim x1gSFfpv0JvDA (for Lynx) or $MBSROOT/lib_$(GSI_CPU_PLATFORM)_$(GSI_OS)_$(GSI_OS_VERSION)_$(GSI_OS_TYPE)/m_dispatch -dim x1gSFfpv0JvDA (for Linux).
  5. This should start up 2 dim servers on the tested node for message logger (MSG) and dispatcher (DSP).
  6. Services were tested with dimDid tool on linux node lxg0532.

Tested machines:
Node GSI_OSSorted ascending GSI_CPU_PLATFORM GSI_OS_VERSION GSI_OS_TYPE Comments
r4-15 Linux RIO4 2.6 SuHa OK
x86l-2 Linux PCx86 2.6 Deb OK
r4-1 Lynx RIO4 4.0 - OK
r3g-3 Lynx RIO3 3.1 - OK
r2-1 Lynx RIO2 2.5 - OK
x86-7 Lynx PCx86 2.5 - OK
x86g-4 Lynx PCx86V40 4.0 - OK

To Do: Test multiple node remote control with dabc java gui.

-- JoernAdamczewski - 26 Aug 20
Topic revision: r7 - 2011-08-26, JoernAdamczewski
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding GSI Wiki? Send feedback | Legal notice | Privacy Policy (german)