I should clarify my statements below.  What build-xorg does is download
and build all of the sources for Xorg and all of its dependent
libraries, which takes a significant amount of time.  build-xorg has two
modes:  dynamic and static.  The static mode (enabled by -static) allows
it to build a version of Xvnc that does not have any dynamic
dependencies on libX11, etc.  This mode should work on any Linux
platform, and it is the way we generate our "official" project binaries.
 The dynamic mode, however, is meant mainly for testing purposes and
probably won't work right on systems that already have recent Xorg
libraries-- build-xorg generates a version of Xvnc from an older Xorg
source base (7.4), but if it is dynamically linked, it will be
attempting to load the newer libX11, etc. from your system if they exist
(bad mojo ensues.)  Plus, you really don't want or need to build all of
the dependencies of Xorg, because your system integrator was nice enough
to do that for you.

There is really no way for us to produce a "universal" script to do the
below, because it's all very system-specific.  It should be the province
of system integrators to produce versions of TigerVNC that work with
their specific Xorg distributions.  build-xorg is meant for testing on
systems that don't have Xorg (or don't have a recent enough version,
such as is the case for Red Hat Enterprise 4 and 5) or for building a
"cross-compatible" version of TigerVNC.


On 4/28/11 2:07 PM, DRC wrote:
> build-xorg is definitely not designed to be used except on "legacy"
> systems that lack recent enough X11 libraries.  In looking at the SPEC
> file for the Fedora RPM, they appear to be using a more simplified approach:
> 
> Extract the xorg-xserver source used to build Xorg on the system in
> question (Fedora apparently stores this under
> /usr/share/xorg-x11-server-source.)
> 
> cd tigervnc-*
> cp -r {xorg-xserver-source} unix/xserver
> pushd unix/xserver
> for all in `find . -type f -perm -001`; do
>   chmod -x "$all"
> done
> popd
> autoreconf -fiv
> configure --disable-static --with-system-jpeg
> make
> pushd unix/xserver
> autoreconf -fiv
> configure \
>   --disable-xorg --disable-xnest --disable-xvfb --disable-dmx \
>   --disable-xwin --disable-xephyr --disable-kdrive --with-pic \
>   --disable-static --disable-xinerama \
>   --disable-composite \
> 
> --with-default-font-path="catalogue:%{_sysconfdir}/X11/fontpath.d,built-ins"
> \
>   --with-fontdir=%{_datadir}/X11/fonts \
>   --with-xkb-output=%{_localstatedir}/lib/xkb \
>   --enable-install-libxf86config \
>   --disable-dri2 \
>   --enable-glx \
>   --disable-config-dbus \
>   --disable-config-hal \
>   --disable-config-udev \
>   --with-dri-driver-path=%{_libdir}/dri \
>   --without-dtrace
> make
> popd
> 
> NOTE: %{_libdir}, %{_sysconfdir}, etc. are macros set by RPM.  You would
> need to change these directories to whatever is appropriate for your system.
> 
> 
> On 4/28/11 5:34 AM, Antoine Martin wrote:
>> Hi,
>>
>> In a previous comment it was noted that the build-xorg scripts are only
>> to be used when the host headers are too old.
>> So what is the correct way of building Xvnc using the host's headers?
>> Are there any instructions or scripts for doing that?
>> I am concerned that the builds I have made available are using the wrong
>> build method and may therefore have undesirable side effects.
>>
>> btw, as for fixing the build error I reported last month (which seems to
>> have slipped under the radar), the following patch does workaround the
>> issue on some platforms (debian sid for example), but is obviously not a
>> proper fix:
>> # cat tigervnc-trunk/unix/xorg-7.4-patches/0005-ldl-lpthread.patch
>> --- a/hw/vnc/Makefile.am  2011-04-27 18:05:16.112292001 +0000
>> +++ b/hw/vnc/Makefile.am  2011-04-27 18:06:32.662285527 +0000
>> @@ -5,7 +5,7 @@
>>  RDR_LIB=$(LIB_DIR)/rdr/librdr.la $(GNUTLS_LDFLAGS)
>>  NETWORK_LIB=$(LIB_DIR)/network/libnetwork.la
>>  XREGION_LIB=$(LIB_DIR)/Xregion/libXregion.la
>> -COMMON_LIBS=$(NETWORK_LIB) $(RFB_LIB) $(RDR_LIB) $(XREGION_LIB)
>> +COMMON_LIBS=$(NETWORK_LIB) $(RFB_LIB) $(RDR_LIB) $(XREGION_LIB) -ldl
>> -lpthread
>>
>>  noinst_LTLIBRARIES = libvnccommon.la
>>
>>
>> Thanks
>> Antoine
>>
>> ------------------------------------------------------------------------------
>> WhatsUp Gold - Download Free Network Management Software
>> The most intuitive, comprehensive, and cost-effective network 
>> management toolset available today.  Delivers lowest initial 
>> acquisition cost and overall TCO of any competing solution.
>> http://p.sf.net/sfu/whatsupgold-sd
>> _______________________________________________
>> Tigervnc-devel mailing list
>> Tigervnc-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/tigervnc-devel

------------------------------------------------------------------------------
WhatsUp Gold - Download Free Network Management Software
The most intuitive, comprehensive, and cost-effective network 
management toolset available today.  Delivers lowest initial 
acquisition cost and overall TCO of any competing solution.
http://p.sf.net/sfu/whatsupgold-sd
_______________________________________________
Tigervnc-devel mailing list
Tigervnc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tigervnc-devel

Reply via email to