VNC logo

Virtual Network Computing
from ORL

ORL

[Home]
[screenshots]
[free?]
[getting started]
[documentation]
[download]
[keep in touch]
FAQs
Project ideas
VNC people
[ORL]

Building the source code on other platforms

We prefer not to distribute binaries for platforms we cannot test here, but several people have contributed source code modifications or hints to allow VNC to compile under different platforms.  Please note that we cannot officially endorse or be responsible for these but we are grateful to all the contributors.  We may try and incorporate some of these in a future source code release.


FreeBSD

Mike Smith writes:

I've produced a port of VNC for FreeBSD (see
http://www.freebsd.org/handbook/handbook.html, section 4 for an
explanation of what this means), and as a result of this I have a
couple of patches for VNC that you might want to consider.

I also added support for fonts compressed with GNU Zip, which
should make us lazy X users happy.

In the patches included, a couple of things:

The first patch begs some questions about the sh(1) and make(1)
that you use for building this with.  8)  GNU make appears to have
a predisposition for ignoring errors during compilation.

The BSD-related Imake input files are from the same RedHat 4.2
distribution that you said you sourced the Linux files from
(although to be honest they don't *look* like they came from
there. 8)  They have been tweaked slightly to reflect current
usage.

The additions for gzipped fonts were taken directly from
XFree86 3.3.1, modulo the removal of conditionalisation.  Note
that this requires the presence of libz on the build system - BSD
and Linux systems will have this out of the box; you will need to
build it separately for Solaris and most other commercial
platforms.

There's also one case where <sys/types.h> isn't included
before pulling in one of the networking headers.  FreeBSD is
fairly puritanical about avoiding header contamination, so this is
conditionalised in case lack of idempotency on another platform
causes the build to fail.

Also attached is a fairly radical patch to the makefile for
vncjava that adds some installation rules and posixifies it so
that it can be used on FreeBSD.  I'm not sure whether this would cause
you trouble with possible other archaic make(1) tools.
This is included more for completeness than because I expect you to do
anything much about it.

- Mike Smith msmith@freebsd.org

Mike's patches are here - freebsd-patch.tar.gz


SunOS 4.1.3

Karl Heinz Kremer wrote that he had no problems compiling the viewer, but the server took some work on his machine, and he failed to get it compiled on another.   This is what he wrote originally about his machine, though, it may help others:

The diffs are no problem, it's just one line: I had to add one #include <sys/types.h> somewhere. The real problem was to get imake/xmkmf working. To do so I had to use the ones from a X11R6.3 installation on my SunOS w/ OpenWindows (SunOS's OpenWin is
based on X11R3 or R4 and so imake and xmkmf will not work with your Imakefiles).

So the problem is getting a working version of imake/xmkmf.

- Karl Heinz 

Karl simply added the #include to Xvnc/programs/Xserver/hw/vnc/auth.c


SGI

Markus Wild writes:

I've kinda "evolutionary" succeeded in building Xvnc by symlinking a bunch of files from /usr/lib/X11/config into Xvnc/config, then replacing sgi.cf by a real file and adding "#define XvncServer YES" and "#define BuildPex NO".

Also had to fiddle with $IMAKEINCLUDE. As I said, the process was a bit evolutionary;-) I can tar up the whole tree (ok, I'll remove the .o files
before..) and put it on our ftp server if there's interest.

- Markus Wild  mw@eunet.ch

And Parag Batavia adds:

I used Markus Wild's explanation to compile VNC on my SGI O2 (Irix 6.6.3). Here are fleshed out instructions, with thanks to Markus for the initial pointers:

Step 1:
You need to copy the proper sgi Imake configuration files into Xvnc/config:

  cd Xvnc/Xvnc/config
  cp /usr/lib/X11/config/sgi* .

Step 2:
Edit the sgi.cf file, and add the following after the line containing
"#define RenameXlibFofXKB":

  #define BuildPex NO
  #define XvncServer YES


Step 3:
  run vncxmkmf, which is in Xvnc/Xvnc.

Step 4:
  Go to the top level, and type 'xmkmf', then 'make world'. The compiler
will chug along for a while. Now, on     my setup, there was a problem when it got to Xvnc/programs/Xserver/cfb[16/32]. The make file is supposed to create symlinks to source and header files in Xserver/cfg, but it doesn't link the header files properly. As the compiler complains about each header, I just typed 'make <headername>' (from either Xserver/cvfb16 or Xserver/cfb32). You'll have to do this (I think) 4 times in each directory. This seems to be a makefile bug. After that, it'll continue making, and it should work.

I didn't have to mess w/ font settings, or anything like that. Except for
the above, vnc compiled straightaway.

Good luck...

- Parag Batavia parag@ri.cmu.edu


Redhat Linux 5.0

Mark Spencer writes:

This patch for VNC allows it to build under RedHat 5.0 on my pentium system. It sets up the compiler to build a pentium optimized version, so I assume that you have pgcc installed. If you don't, you need to edit the Xvnc/config/linux.cf and replace the -mpentium and -O6 options with -m486 or whatever is appropriate for you architecture. This patch applies the following functionality:

1) Builds under libc6

2) Builds pentium optimized

3) SUPPORT FOR GZIP'D FONTS!!

- Mark Spencer markster@marko.net

Mark's patch is available from his FTP server ftp://ftp.marko.net/pub/vnc/ and also from here. vnc-pgcc-libc6-3_3_1.patch.gz


Monochrome (single-bit BW) display

Chris Hooper has supplied a patch to use the X vncviewer on single bit-plane displays.

Since the workstation I regularly use has only 1 bitplane (yes,
B&W displays are not very common anymore), I felt it necessary
to add support for this type of display to vncviewer.

The changes are rather minimal and apply only to vncviewer/x.c
from the vnc-3_3_1_unixsrc.tgz file.

- Chris Hooper cdh@microware.com    

Chris's changes are included if you #define CDH after applying his patch bw-patch.txt.


Copyright 1998 - The Olivetti & Oracle Research Lab