ASE-15_7 failing to install on leap 15.6 though running smoothly on leap 15.5

I have been able to install ASE-15_7 on leap up to 15.5.
However, installation fails on 15.6.
It claims to run smoothly just until the following error message:

Building Adaptive Server ‘sms_srv’:
Writing entry into directory services…
Directory services entry complete.
Building master device…
Task failed
ASE_PCI: failed to bridge Pluggable Component Interfaces with code -77
Server ‘sms_srv’ was not created.

Any help will be highly appreciated.
Thx in advance guys, I am counting on you!

Seems to be related to glibc >= 2.36

Link to SAP: SAP for me

The issue seems to be known by SUSE but unfortunately SUSE links to an SAP Knowledge Database Article (KBA) 3425215. An SAP account (SAP S-User ID) and SLA seems to be required to read the article.

Link to SUSE: SLES 15 SP6 Beta note (search for SAP ASE fails)

The library call tracer ltrace shows that the stime() function is not found:

> ltrace -f -o /tmp/ltracedataserver.txt /opt/sybase/ASE-15_0/bin/dataserver -h
...
62004 dlsym(0xffffffffffffffff, "setuid")                                                                 = 0x7fbf137156ae
62004 dlsym(0xffffffffffffffff, "shmat")                                                                  = 0x7fbf13731bfe
62004 dlsym(0xffffffffffffffff, "shmctl")                                                                 = 0x7fbf13731cbe
62004 dlsym(0xffffffffffffffff, "shmdt")                                                                  = 0x7fbf13731c3e
62004 dlsym(0xffffffffffffffff, "shmget")                                                                 = 0x7fbf13731c7e
62004 dlsym(0xffffffffffffffff, "stime")                                                                  = nil
62004 dlerror()                                                                                           = "./dataserver: undefined symbol: "...
62004 fprintf(0x7fbf138004e0, "ASE_PCI: failed to bridge Plugga"..., -77)                                 = 71
62004 fflush(0x7fbf138005c0)                                                                              = 0
62004 fflush(0x7fbf138004e0)                                                                              = 0
62004 _exit(-2 
62004 +++ exited (status 254) +++

Given that the stime function is deprecated, you should use settimeofday or clock_settime as they provide more flexibility and are the recommended alternatives for setting the system time.

Solution

As you can see in the output of ltrace that the missing symbol (function) stime is the real reason of dataserver start fails. The output of strace give no (or only I can see no) hint to that. Also the output of “ASE_PCI: failed to bridge Plugga…” indicates not the real problem.

And indeed the stime function is deprecated and not included anymore in the /lib64/libc.so.6 under openSUSE 15.6 (resp. glibc version 2.38).

The solution is to use the LD_PRELOAD mechanism to preload a library which supports the symbol (function) stime. Of course the new function of stime should internally use e.g. settimeofday.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.