More patches for an old package in OE
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