-
Notifications
You must be signed in to change notification settings - Fork 11
Description
I'm raising this issue here although my initial contact just happened to be when installing a lot of modules in Perl and a dependency chain brought in Tickit. I tracked it down to (Alien::)libtickit and have noted that this is where the build of the Perl module actually fails, so the Perl side can be discounted for now.
Please be aware, this is not at all critical for me, but since I've dabbled with trying to get the latest libtickit from here to build, I figured I should at least provide info on what I've found; maybe it's a simple thing that can be fixed... If nothing else, I wouldn't mind getting the thing in place for completeness...
I believe I've got the requisite devel rpms installed and have downloaded the 0.4.3 tarball. My C skills are approx 30 years old and in particular I profess little to no great insight in gcc. So take my findings for what they are :-)
Very short: I work on both RHEL7 and RHEL8 hosts and I am behind a firewall. In both cases, I unpack the tarball, step into the directory and run 'make'.
On RHEL8 it quite uneventfully builds very cleanly and I end up with libtickit.la.
On RHEL7, I get a fair amount of warnings and errors, in particular for src/term.c. The next to last error is:
src/term.c:503:36: error: invalid use of undefined type 'struct sigaction'
At the top of that file I noted the very first #ifdef __GLIBC__ that mentions "We need sigaction() and struct sigaction" so that makes some sense. So fairly blindly I try "make CFLAGS=-D__GLIBC__=1". This takes care of src/term.c.
However, src/tickit.c also gives a warnings and errors, one of which is the same regarding sigaction. So...again fairly blindly I simply copy the ifdef into src/tickit.c at the top, and now it builds.
Now whether either of these actions is appropriate is very unclear to me so I won't pretend to do make a pull request, but hoping you can determine the validity or a better way. If suitable, maybe it should go in the code, if nothing else, I'm not averse to patching the 0.4.4 tarball in Alien::libtickit to handle it for the time being.
My RHEL7 reports gcc 4.8.5 (which I guess is antique?) and my RHEL8 says gcc 8.5.0 if that gives a clue what the important difference here is.
As always, any help appreciated.
Thanks,
ken1