site  contact  subhomenews

More patches for an old package in OE

September 22, 2020 — BarryK

I am continuing to compile old packages, that are still good, and included in releases of EasyOS. Some notes have been appended to the previous blog post:

https://bkhome.org/news/202009/progress-compiling-in-oe-dunfell-release.html

The package 'xlockmore' is an example of very "long in the tooth". It compiled OK in the Pyro-OE, but not in Thud-OE. Nor in the latest OE, Dunfell-OE. There have been patches in the past to get it to compile. This time, the error message is that "DOMAIN" is undefined.

It turns out that the problem is with glibc 2.27+, as explained here:

https://github.com/flang-compiler/flang/issues/475

...jamborm has done what he calls a "horrible hack". Yes, but it works. I appended his code onto the end of any include file, xlock/xlock.h, in the recipe for xlockmore, like this:

    echo '
#ifndef LIBM_ERRNO_AMD_H_INCLUDED
#define LIBM_ERRNO_AMD_H_INCLUDED 1

#ifndef DOMAIN
struct exception {
int type; /* Exception type */
char *name; /* Name of function causing exception */
double arg1; /* 1st argument to function */
double arg2; /* 2nd argument to function */
double retval; /* Function return value */
};

#define DOMAIN 1
#define SING 2
#define OVERFLOW 3
#define UNDERFLOW 4
#define TLOSS 5
#define PLOSS 6
#endif

#endif /* LIBM_ERRNO_AMD_H_INCLUDED */' >> xlock.h

Yay, xlockmore is still alive!

Actually, there is a later version of xlockmore that what I am using. I have 5.31, latest is 5.65. I continue to use the old one as it has many hacks to make it very small. Ideally, I should apply those "smallness" hacks to the latest version. Here is the xlockmore project page:

http://sillycycle.com/xlockmore.html   

Tags: oe