TigerVNC / tigervnc

High performance, multi-platform VNC client and server
https://tigervnc.org
GNU General Public License v2.0
5.14k stars 941 forks source link

Any Support for Ubuntu 18.04? #719

Closed whao closed 6 years ago

whao commented 6 years ago

Hello

I am wondering if there is any support for Ubuntu 18.04 in the future? Because 18.04 switched back to gnome. I assume the TigerVNC would be working perfectly in default.

luoyanghero commented 6 years ago

what does mean 'switched back to gnome'?

CendioOssman commented 6 years ago

We don't explicitly support (or not support) specific distributions. Are you seeing some issue on Ubuntu 18.04?

whao commented 6 years ago

@CendioOssman Thank you for the reply

I am building the viewer on 18.04, here is the CMake output

CMake Deprecation Warning at CMakeLists.txt:7 (cmake_policy):
  The OLD behavior for policy CMP0022 will be removed from a future version
  of CMake.

  The cmake-policies(7) manual explains that the OLD behaviors of all
  policies are deprecated and that a policy should be set to OLD only under
  specific short-term circumstances.  Projects should be ported to the NEW
  behavior and not rely on setting a policy to OLD.

-- The C compiler identification is GNU 7.3.0
-- The CXX compiler identification is GNU 7.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- CMAKE_BUILD_TYPE = Release
-- VERSION = 1.9.80
-- BUILD_TIMESTAMP = 2018-09-18 02:46
-- 64-bit build
-- Looking for XOpenDisplay in /usr/lib/x86_64-linux-gnu/libX11.so;/usr/lib/x86_64-linux-gnu/libXext.so
-- Looking for XOpenDisplay in /usr/lib/x86_64-linux-gnu/libX11.so;/usr/lib/x86_64-linux-gnu/libXext.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Found X11: /usr/lib/x86_64-linux-gnu/libX11.so
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.11")
-- Found Gettext: /usr/bin/msgmerge (found version "0.19.8.1")
-- Performing Test ICONV_HAVE_WERROR
-- Performing Test ICONV_HAVE_WERROR - Success
-- Performing Test ICONV_SECOND_ARGUMENT_IS_CONST
-- Performing Test ICONV_SECOND_ARGUMENT_IS_CONST - Failed
-- Found Iconv: /usr/lib/x86_64-linux-gnu/libc.so
-- Looking for dgettext
-- Looking for dgettext - found
-- Found JPEG: /usr/lib/x86_64-linux-gnu/libjpeg.so
-- Performing Test FOUND_LIBJPEG_TURBO
-- Performing Test FOUND_LIBJPEG_TURBO - Success
-- Found FLTK: fltk_images;fltk
-- Found GnuTLS: /usr/lib/x86_64-linux-gnu/libgnutls.so
-- Looking for include file security/pam_appl.h
-- Looking for include file security/pam_appl.h - found
-- Looking for pam_start
-- Looking for pam_start - found
-- Creating static libtool control file for target os
-- Creating static libtool control file for target rdr
-- Creating static libtool control file for target network
-- Creating static libtool control file for target Xregion
-- Creating static libtool control file for target rfb
-- Creating static libtool control file for target unixcommon
-- Configuring done
-- Generating done
-- Build files have been written to: /home/whao/Downloads/tigervnc_build

The only problem is -- Performing Test ICONV_SECOND_ARGUMENT_IS_CONST - Failed. I am not quite sure if it matters. I read # ICONV_SECOND_ARGUMENT_IS_CONST - the second argument for iconv() is const Here is the function prototype of iconv() in iconv.h on 18.04

extern size_t iconv (iconv_t __cd, char **__restrict __inbuf,
                      size_t *__restrict __inbytesleft,
                      char **__restrict __outbuf,
                      size_t *__restrict __outbytesleft);

and the test code in cmake is

#include <iconv.h>
  int main(){
    iconv_t conv = 0;
    const char* in = 0;
    size_t ilen = 0;
    char* out = 0;
    size_t olen = 0;
    iconv(conv, &in, &ilen, &out, &olen);
    return 0;
  }

The second argument is not const apparently. I don't quite understand the meaning of checking hrer and if it matters when it failed.

CendioOssman commented 6 years ago

That should be harmless. What happens if you run make after this?

whao commented 6 years ago

@CendioOssman Thank you for your reply, nothing wrong comes out. I am figuring out the configuration options when building. According to the BUILDING.txt:

> ./configure --with-pic --without-dtrace --disable-static --disable-dri \
      --disable-xinerama --disable-xvfb --disable-xnest --disable-xorg \
      --disable-dmx --disable-xwin --disable-xephyr --disable-kdrive \
      --disable-config-dbus --disable-config-hal --disable-config-udev \
      --disable-dri2 --enable-install-libxf86config --enable-glx \
      --with-default-font-path="catalogue:/etc/X11/fontpath.d,built-ins" \
      --with-fontdir=/usr/share/X11/fonts \
      --with-xkb-path=/usr/share/X11/xkb \
      --with-xkb-output=/var/lib/xkb \
      --with-xkb-bin-directory=/usr/bin \
      --with-serverconfig-path=/usr/lib[64]/xorg \
      --with-dri-driver-path=/usr/lib[64]/dri \
      {additional configure options}
    (NOTE: This is merely an example that works with Red Hat Enterprise/CentOS
    6 and recent Fedora releases.  You should customize it for your particular
    system.  In particular, it will be necessary to customize the font, XKB,
    and DRI directories.)

I am wondering where I can find all these available options? Because I didn't find list on X.org website. I am sorry if I asked the stupid quesion.

CendioOssman commented 6 years ago

Not sure. I would suspect they do not document them as they tend to change. Your can run ./configure --help and you should get a list of all of them and some descriptions.

In most cases it's easiest to see how Xorg is built by your distribution and copy what they do. Building Xorg (and Xvnc) is unfortunately at a point where most users can easily sort it out. :/

Hope this helps. If you have more questions I would suggest using our mailing list. The issue tracker is better suited for specific problems that need to be resolved.