Hello,
[This post is mostly directed to Pierre Ossman, but anyone can chime in.]
Background:
At my work, people often have the habit (especially in COVID-19 days) of logging into our CentOS/Red Hat Enterprise Linux 5/6/7 systems remotely and firing up vncserver.
This causes Xvnc to come up and by default listen on port 600X. Our IT Security people have decided to crack down on open X11 ports so they told us to close them off.
Problem(s):
I looked into it and was shocked to find that older versions of vncserver (the RealVNC versions on RHEL 5) had all the command-line options embedded in the shell script itself.
It didn't look like they would look in any /etc file for config options. I wanted to add a $cmd .= " -nolisten tcp"; - but to a config file rather than the script directly.
(Changing the script is non-optimal because it's not specified as a RPM config file and so upgrading the RPM could wipe out the shell script and lose our changes.)
Poking around some more, I discovered that the man page for vncserver on CentOS/RHEL 7 says that apparently it will read /etc/tigervnc/vncserver-config-defaults and /etc/tigervnc/vncserver-config-mandatory for options (as well as $HOME/.vnc/config).
But that doesn't help my RHEL 5.11 Server ELS systems (frozen by a long-running flight project in a CM freeze).
I thought, what if I could find TigerVNC for RHEL 5 that is recent enough to support /etc/tigervnc/vncserver-config-{defaults,mandatory}?
My first find was the TigerVNC repos on Bintray. But there I noticed
(1) The binary versions for RHEL 7 were 1.10.1-4; the versions for RHEL 6 were 1.10.1-7. But the versions for RHEL 5 were only 1.6.0-1.
- Is the reason there are no post-1.6.0 RHEL 5 binaries simply due to lack of interest? Does the 1.6.0 binary version support
/etc/tigervnc/vncserver-config-{defaults,mandatory}?
(2) The RHEL 6/7 trees are set up as repos and can be used with "yum", but the RHEL 5 tree is missing the repodata directories & contents for the yum repo.
- Can the lack of repodata directories and the associated repo contents for the RHEL 5 tree be fixed?
Anyway, I brought down the RHEL 5 1.6.0-1 SRPM and started playing around with it.
I am unable to rebuild it from the SRPM on my RHEL 5.11 Server system due to numerous libtool-related errors.
I can't remember them all but some examples are:
(1) Multiple libtool errors in libdrm unless I used this kludge workaround: echo=echo; ECHO=echo; export echo ECHO
That got me a bit further but then I hit things like
(2) Lots of complaints down in the "building Mesa" stage down in the src sub-tree; one such example (repeated many times elsewhere in the tree) is
src/mesa/drivers/dri/common/Makefile.am:33: Libtool library used but `LIBTOOL' is undefined
src/mesa/drivers/dri/common/Makefile.am:33: The usual way to define `LIBTOOL' is to add `AC_PROG_LIBTOOL'
src/mesa/drivers/dri/common/Makefile.am:33: to `configure.ac' and run `aclocal' and `autoconf' again.
src/mesa/drivers/dri/common/Makefile.am:33: If `AC_PROG_LIBTOOL' is in `configure.ac', make sure
src/mesa/drivers/dri/common/Makefile.am:33: its definition is in aclocal's search path. If I set "
export LIBTOOL=/usr/bin/libtool" (
libtool-1.5.22-7), these get fixed - but it just dies further on down in
freetype where it apparently expects an inline (newer)
libtool to be used and not the (old) system one.
/usr/bin/libtool --mode=compile gcc44 -pedantic -ansi -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -fPIC -I/var/tmp/tigervnc-1.8.0-1.el5-root-root/opt/tigervnc/usr/include -static-libgcc -I/usr/src/redhat/BUILD/tigervnc-1.8.0/xorg/freetype-2.3.11/objs -I./builds/unix -I/usr/src/redhat/BUILD/tigervnc-1.8.0/xorg/freetype-2.3.11/include -c -Wall -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -fPIC -I/var/tmp/tigervnc-1.8.0-3.el5-root-root/opt/tigervnc/usr/include -fno-strict-aliasing -DFT_CONFIG_OPTION_SYSTEM_ZLIB -DFT_CONFIG_CONFIG_H="<ftconfig.h>" -DFT2_BUILD_LIBRARY -DFT_CONFIG_MODULES_H="<ftmodule.h>" -o /usr/src/redhat/BUILD/tigervnc-1.8.0/xorg/freetype-2.3.11/objs/ftsystem.lo builds/unix/ftsystem.c
libtool: compile: unable to infer tagged configuration
libtool: compile: specify a tag with `--tag'
Along the way I noticed that the source tarball has RPM-building tools (SOURCES & SPECS files) for RHEL 5/6/7 embedded inside of it, but trying them I still wasn't able to get past these
libtool issues using newer (1.8.0) sources.
In short, I would like to know what build environment is required to successfully rebuild the 1.6.0 version on RHEL 5 - or build a newer version if 1.6.0 does not support /etc/tigervnc/vncserver-config-defaults and /etc/tigervnc/vncserver-config-mandatory.
Thanks and sorry for the length.