F1ash / qt-virt-manager

Qt Virtual machines manager
http://f1ash.github.io/qt-virt-manager
GNU General Public License v2.0
233 stars 71 forks source link

build without spice #26

Closed sl1pkn07 closed 6 years ago

sl1pkn07 commented 6 years ago

Hi

is possible build qt-virt-manager without spice support?

greetings

F1ash commented 6 years ago

need to do some changes for it ... at this state it is not possible.

F1ash commented 6 years ago

if this is a "very very very" necessity then give me call...

sl1pkn07 commented 6 years ago

"very very very necessity" no, i can use virt-manager instead, this petition is because i want use a Qt instead of GTK client without spice support (not needed in my setup)

F1ash commented 6 years ago

try to build and works... hurried, there may be mistakes...

sl1pkn07 commented 6 years ago

still needed

tested with;

  cmake ../qt-virt-manager \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DCMAKE_BUILD_TYPE=Release \
    -DBUILD_QT_VERSION=5 \
    -WITH_LIBCACARD=OFF \
    -USE_SPICE_AUDIO=OFF \
    -ONLY_SPICE_BUILD=OFF \
    -ONLY_VNC_BUILD=OFF

i'm not programmer, but seems need remove this semaphore: https://github.com/F1ash/qt-virt-manager/blob/master/CMakeLists.txt#L1125-#L1129

greetings

F1ash commented 6 years ago

No, sorry... It can be seems as:cmake ../qt-virt-manager \ -DCMAKE_INSTALL_PREFIX=/usr \ // is default -DCMAKE_BUILD_TYPE=Release \ -DBUILD_QT_VERSION=5 \ -DWITH_LIBCACARD=0 \ // -WITH_LIBCACARD=OFF -DONLY_VNC_BUILD=1 // for build VNC support only

F1ash commented 6 years ago

wait for questions...

sl1pkn07 commented 6 years ago

no (at all), i want build without vnc and spice, also without libcacard (all OFF in cmake options)

the cmake options is "OK"

OK between quotes because do nothing if add -D in these options, seems is never defined. see cmake-gui output

screenshot_20171020_201656 screenshot_20171020_201710

the console output is:

-- The CXX compiler identification is GNU 7.2.0
-- 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
-- Performing Test COMPILER_SUPPORTS_CXX11
-- Performing Test COMPILER_SUPPORTS_CXX11 - Success
-- Build with QT version: 5
-- QT4 build: 0
-- QT5 build: 1
-- 
-- LIB_SUFFIX variable is not defined. It will be autodetected now.
-- You can set it manually with -DLIB_SUFFIX=<value> (64 for example)
--    LIB_SUFFIX is set to '64'
-- 
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.2") 
-- Found GLib2: /usr/lib/libglib-2.0.so  
-- Checking for module 'gobject-2.0'
--   Found gobject-2.0, version 2.54.0
-- Found GObject libraries: /usr/lib/libgobject-2.0.so;/usr/lib/libgmodule-2.0.so;/usr/lib/libgthread-2.0.so;/usr/lib/libglib-2.0.so
-- Found GObject includes : /usr/include/glib-2.0/gobject
-- Checking for module 'gio-2.0'
--   Found gio-2.0, version 2.54.0
-- Found Gio libraries: /usr/lib/libgio-2.0.so
-- Found Gio includes : /usr/include/glib-2.0/gio
-- Found LibVirt: /usr/lib/libvirt.so  
CMake Error at /usr/share/cmake-3.9/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
  Could NOT find Spice1 (missing: Spice1_INCLUDE_DIR)
Call Stack (most recent call first):
  /usr/share/cmake-3.9/Modules/FindPackageHandleStandardArgs.cmake:377 (_FPHSA_FAILURE_MESSAGE)
  cmake/FindSpice1.cmake:26 (find_package_handle_standard_args)
  CMakeLists.txt:1126 (find_package)

-- Configuring incomplete, errors occurred!
See also "/tmp/makepkg/qt-virt-manager-git/src/build/CMakeFiles/CMakeOutput.log".
sl1pkn07 commented 6 years ago

EDIT: in test this patch:

diff --git a/CMakeLists.txt b/CMakeLists.txt
index ffb96c81..c7b16bb2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -123,10 +123,6 @@ endif ()
 if ( NOT ONLY_VNC_BUILD AND ONLY_SPICE_BUILD )
     list(APPEND HEADERS_FOR_VIEWER ${QSPICE_HEADERS})
 endif ()
-if ( NOT ONLY_SPICE_BUILD AND NOT ONLY_VNC_BUILD )
-    list(APPEND HEADERS_FOR_VIEWER
-        ${QSPICE_HEADERS} ${QVNC_HEADERS})
-endif ()
 if ( ONLY_SPICE_BUILD AND ONLY_VNC_BUILD )
     list(APPEND HEADERS_FOR_VIEWER
         ${QSPICE_HEADERS} ${QVNC_HEADERS})
@@ -173,10 +169,6 @@ endif ()
 if ( NOT ONLY_VNC_BUILD AND ONLY_SPICE_BUILD )
     list(APPEND SOURCES_FOR_VIEWER ${QSPICE_SOURCES})
 endif ()
-if ( NOT ONLY_SPICE_BUILD AND NOT ONLY_VNC_BUILD )
-    list(APPEND SOURCES_FOR_VIEWER
-        ${QSPICE_SOURCES} ${QVNC_SOURCES})
-endif ()
 if ( ONLY_SPICE_BUILD AND ONLY_VNC_BUILD )
     list(APPEND SOURCES_FOR_VIEWER
         ${QSPICE_SOURCES} ${QVNC_SOURCES})
@@ -582,10 +574,6 @@ endif ()
 if ( NOT ONLY_VNC_BUILD AND ONLY_SPICE_BUILD )
     list(APPEND HEADERS src/vm_viewer/spice/spice_viewer.h)
 endif ()
-if ( NOT ONLY_SPICE_BUILD AND NOT ONLY_VNC_BUILD )
-    list(APPEND HEADERS src/vm_viewer/spice/spice_viewer.h
-        src/vm_viewer/vnc/vnc_viewer.h)
-endif ()
 if ( ONLY_SPICE_BUILD AND ONLY_VNC_BUILD )
     list(APPEND HEADERS src/vm_viewer/spice/spice_viewer.h
         src/vm_viewer/vnc/vnc_viewer.h)
@@ -988,10 +976,6 @@ endif ()
 if ( NOT ONLY_VNC_BUILD AND ONLY_SPICE_BUILD )
     list(APPEND SOURCES src/vm_viewer/spice/spice_viewer.cpp)
 endif ()
-if ( NOT ONLY_SPICE_BUILD AND NOT ONLY_VNC_BUILD )
-    list(APPEND SOURCES src/vm_viewer/spice/spice_viewer.cpp
-        src/vm_viewer/vnc/vnc_viewer.cpp)
-endif ()
 if ( ONLY_SPICE_BUILD AND ONLY_VNC_BUILD )
     list(APPEND SOURCES src/vm_viewer/spice/spice_viewer.cpp
         src/vm_viewer/vnc/vnc_viewer.cpp)
@@ -1041,10 +1025,6 @@ endif ()
 if ( NOT ONLY_VNC_BUILD AND ONLY_SPICE_BUILD )
     list(APPEND VIEWER_HEADERS src/vm_viewer/spice/spice_viewer_only.h)
 endif ()
-if ( NOT ONLY_SPICE_BUILD AND NOT ONLY_VNC_BUILD )
-    list(APPEND VIEWER_HEADERS src/vm_viewer/spice/spice_viewer_only.h
-        src/vm_viewer/vnc/vnc_viewer_only.h)
-endif ()
 if ( ONLY_SPICE_BUILD AND ONLY_VNC_BUILD )
     list(APPEND VIEWER_HEADERS src/vm_viewer/spice/spice_viewer_only.h
         src/vm_viewer/vnc/vnc_viewer_only.h)
@@ -1063,10 +1043,6 @@ endif ()
 if ( NOT ONLY_VNC_BUILD AND ONLY_SPICE_BUILD )
     list(APPEND VIEWER_SOURCES src/vm_viewer/spice/spice_viewer_only.cpp)
 endif ()
-if ( NOT ONLY_SPICE_BUILD AND NOT ONLY_VNC_BUILD )
-    list(APPEND VIEWER_SOURCES src/vm_viewer/spice/spice_viewer_only.cpp
-        src/vm_viewer/vnc/vnc_viewer_only.cpp)
-endif ()
 if ( ONLY_SPICE_BUILD AND ONLY_VNC_BUILD )
     list(APPEND VIEWER_SOURCES src/vm_viewer/spice/spice_viewer_only.cpp
         src/vm_viewer/vnc/vnc_viewer_only.cpp)
@@ -1122,11 +1098,6 @@ if ( NOT ONLY_VNC_BUILD AND ONLY_SPICE_BUILD )
     find_package(Spice1           REQUIRED)
     find_package(SpiceClientGLib2 REQUIRED)
 endif ()
-if ( NOT ONLY_SPICE_BUILD AND NOT ONLY_VNC_BUILD )
-    find_package(Spice1           REQUIRED)
-    find_package(SpiceClientGLib2 REQUIRED)
-    find_package(LibVNCServer     REQUIRED)
-endif ()
 if ( ONLY_SPICE_BUILD AND ONLY_VNC_BUILD )
     find_package(Spice1           REQUIRED)
     find_package(SpiceClientGLib2 REQUIRED)
sl1pkn07 commented 6 years ago

with the patch posted avobe fail in link

[ 99%] Linking CXX executable qt5-virt-manager
CMakeFiles/qt5-virt-manager.dir/src/mainwindow.cpp.o: En la función `MainWindow::invokeVMDisplay(TASK*)':
mainwindow.cpp:(.text+0x8b63): referencia a `VNC_Viewer::VNC_Viewer(QWidget*, _virConnect**, QString, QString, QString)' sin definir
mainwindow.cpp:(.text+0x8f59): referencia a `Spice_Viewer::Spice_Viewer(QWidget*, _virConnect**, QString, QString, QString)' sin definir
collect2: error: ld devolvió el estado de salida 1
make[2]: *** [CMakeFiles/qt5-virt-manager.dir/build.make:21426: qt5-virt-manager] Error 1
make[1]: *** [CMakeFiles/Makefile2:105: CMakeFiles/qt5-virt-manager.dir/all] Error 2
make: *** [Makefile:130: all] Error 2
F1ash commented 6 years ago

i want build without vnc and spice

For what?.. Then build of qt-remote-viewer have not a sence...

sl1pkn07 commented 6 years ago

in my case, yep. only want for local without lan managemnent support (ony for VGA passthrought)

F1ash commented 6 years ago

try new changes...

sl1pkn07 commented 6 years ago

EDIT:

fail build

[ 35%] Building CXX object CMakeFiles/qt5-virt-manager.dir/src/dock_head_widgets/dock_widget.cpp.o
In file included from /tmp/makepkg/qt-virt-manager-git/src/qt-virt-manager/src/vm_viewer/qterminal/termwidgetholder.h:5:0,
                 from /tmp/makepkg/qt-virt-manager-git/src/qt-virt-manager/src/vm_viewer/qterminal/term_mainwindow.h:7,
                 from /tmp/makepkg/qt-virt-manager-git/src/qt-virt-manager/src/vm_viewer/lxc/lxc_viewer.h:5,
                 from /tmp/makepkg/qt-virt-manager-git/src/qt-virt-manager/src/mainwindow.h:22,
                 from /tmp/makepkg/qt-virt-manager-git/src/qt-virt-manager/src/main.cpp:1:
/tmp/makepkg/qt-virt-manager-git/src/qt-virt-manager/src/vm_viewer/qterminal/termwidget.h:4:10: error fatal: qtermwidget.h: No existe el fichero o el directorio
 #include <qtermwidget.h>
          ^~~~~~~~~~~~~~~
compilación terminada.
make[2]: *** [CMakeFiles/qt5-virt-manager.dir/build.make:2265: CMakeFiles/qt5-virt-manager.dir/src/main.cpp.o] Error 1
make[2]: *** Se espera a que terminen otras tareas....
In file included from /tmp/makepkg/qt-virt-manager-git/src/qt-virt-manager/src/vm_viewer/qterminal/termwidgetholder.h:5:0,
                 from /tmp/makepkg/qt-virt-manager-git/src/qt-virt-manager/src/vm_viewer/qterminal/term_mainwindow.h:7,
                 from /tmp/makepkg/qt-virt-manager-git/src/qt-virt-manager/src/vm_viewer/lxc/lxc_viewer.h:5,
                 from /tmp/makepkg/qt-virt-manager-git/src/qt-virt-manager/src/mainwindow.h:22,
                 from /tmp/makepkg/qt-virt-manager-git/src/qt-virt-manager/src/mainwindow.cpp:1:
/tmp/makepkg/qt-virt-manager-git/src/qt-virt-manager/src/vm_viewer/qterminal/termwidget.h:4:10: error fatal: qtermwidget.h: No existe el fichero o el directorio
 #include <qtermwidget.h>
          ^~~~~~~~~~~~~~~
compilación terminada.
make[2]: *** [CMakeFiles/qt5-virt-manager.dir/build.make:2289: CMakeFiles/qt5-virt-manager.dir/src/mainwindow.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:68: CMakeFiles/qt5-virt-manager.dir/all] Error 2
make: *** [Makefile:130: all] Error 2

but qtermwidget (qt5) is installed

┌─┤[$]|[sl1pkn07]|[sL1pKn07]|[~]|
└───╼  locate qtermwidget.h
/usr/include/qtermwidget5/qtermwidget.h
┌─┤[$]|[sl1pkn07]|[sL1pKn07]|[~]|
└───╼  yaourt -Qo /usr/include/qtermwidget5/qtermwidget.h
/usr/include/qtermwidget5/qtermwidget.h está contenido en qtermwidget 0.8.0-1
F1ash commented 6 years ago

yaourt -Qo /usr/include/qtermwidget5/qtermwidget.h /usr/include/qtermwidget5/qtermwidget.h está contenido en qtermwidget 0.8.0-1

usually it contains in devel package, as qtermwidget-devel in Fedora.

sl1pkn07 commented 6 years ago

Arch include the headers in the main package.

F1ash commented 6 years ago

new changes... db21c93e44331fc267e00eb1664bc5fd941b2a32

sl1pkn07 commented 6 years ago

DONE!

tnx bro!

F1ash commented 6 years ago

:)