Fixing VNC port(s) for AMD64
Justin T. Gibbs
gibbs at scsiguy.com
Wed Jul 5 03:41:25 UTC 2006
So I'm new to AMD64 and was surprised by the lack of VNC
support for this platform. Its been a while since I've
hacked ports (like more years than I have fingers on one
hand), but I figured it couldn't be that hard to fix up one
of the VNC ports and submit my work back.
Boy was I wrong.
I did get something to build and work, but my solution is
not port worthy. Given my inexperience with the current
ports system and the X11 build, is there anyone here I can
team up with to develop a proper solution?
Here's what I ended up doing to the vnc port:
o Disable XFree86 4.3 fetches and replace with Xorg 6.9.0.
o Apply all FreeBSD server and library patches for Xorg.
o Correct vnc's supplied patch file to be compatible with
the Xorg distribution (some hunks have already been applied).
o Add -fPIC to the build of vnc components linked as libraries
(required for AMD64 support).
o Modify cf files to disable server extensions that require
xf86 config and hw support inappropriate for a virtual
Xserver like Xvnc.
o Manually build libdamage which was referenced by the link
of Xvnc, but not built for some reason.
Since there are several ports that require a "ports system
patched" version of an Xorg or XFree86 source tree, can we
come up with a better solution than to extract the source
and either include or reference all the patches to be applied
in each port?
I disabled extensions until all undefined references were
removed from the link of Xvnc. While the resulting binary
works as best I can tell, it may not be optimal. Someone
with more Xserver experience would be a big help here.
Anyway, I think that vnc is a critical piece of infrastructure
for many types of server installations. I'd hate to see
others burn a good half day or more trying to get vnc to
work on their server. What can I do to further the cause
of getting the port fixed?
More information about the freebsd-ports