Building pptk on Xavier, how to get through?

Steps to reproduce:
Install dependencies

sudo apt install qtbase5-dev qttools5-dev-tools qt5-default
sudo apt install libtbb-dev
sudo apt install patchelf
sudo apt install libeigen3-dev
git clone https://github.com/heremaps/pptk
mkdir build && cd build

put the paths to the file CMakeCache.txt

Eigen_INCLUDE_DIR:PATH=/usr/include/eigen3
Numpy_INCLUDE_DIR:PATH=/usr/local/lib/python3.6/dist-packages/numpy/core/include/numpy/
Qt5_DIR:PATH=/usr/lib/aarch64-linux-gnu/cmake/Qt5
TBB_INCLUDE_DIR:PATH=/usr/include/tbb
TBB_tbb_LIBRARY:FILEPATH=/usr/lib/aarch64-linux-gnu/libtbb.so
TBB_tbb_RUNTIME:FILEPATH=/usr/lib/aarch64-linux-gnu/libtbb.so
TBB_tbbmalloc_LIBRARY:FILEPATH=/usr/lib/aarch64-linux-gnu/libtbbmalloc.so
TBB_tbbmalloc_RUNTIME:FILEPATH=usr/lib/aarch64-linux-gnu/libtbbmalloc.so

build with

cmake -DOpenGL_GL_PREFERENCE=GLVND ..
#or just cmake ..
make -j8

the error tail output:

[ 86%] Built target estimate_normals
[ 89%] Linking CXX shared library kdtree.so
Copying $<TARGET_FILE:kdtree> to /home/nvidia/dev/pptk/build/pptk/kdtree
[ 89%] Built target kdtree
Makefile:102: recipe for target 'all' failed
make: *** [all] Error 2

some reference https://qiita.com/comachi/items/ef520faba45696c1384f

Hi,
Please take a look at the relevant posts:
Jetson Nano and Qt5
Pyqt not working on Nano
Not sure but these might help.

And we have tried this app in qt environment:

#  Download a sample and build
https://github.com/alpqr/quickmwtest
#If you don't configure the installation path, you need to create a link.
sudo ln -sf /usr/local/Qt-5.9.2/bin/qmake /usr/lib/aarch64-linux-gnu/qt5/bin/qmake
# Use "qmake" under sample folder and then "make" 
# If you hit qmake error  →     export QT_SELECT=qt5

#Before running the sample 
$ sudo systemctl stop gdm
$ sudo loginctl terminate-seat seat0
unset DISPLAY
export QT_QPA_PLATFORM=eglfs
export QT_QPA_EGLFS_INTEGRATION=eglfs_kms_egldevice
./quickmwtest

May check if you can build/run the sample.

nvidia@nvidia-desktop:~$ git clone https://github.com/alpqr/quickmwtest
Cloning into 'quickmwtest'...
remote: Enumerating objects: 44, done.
remote: Total 44 (delta 0), reused 0 (delta 0), pack-reused 44
Unpacking objects: 100% (44/44), done.
nvidia@nvidia-desktop:~$ sudo ln -sf /usr/local/Qt-5.9.2/bin/qmake /usr/lib/aarch64-linux-gnu/qt5/bin/qmake
[sudo] password for nvidia: 
Sorry, try again.
[sudo] password for nvidia: 
nvidia@nvidia-desktop:~$ cd quickmwtest/
nvidia@nvidia-desktop:~/quickmwtest$ cd 
.git/           mw_pure_qml_59/ 
nvidia@nvidia-desktop:~/quickmwtest$ cd 
.git/           mw_pure_qml_59/ 
nvidia@nvidia-desktop:~/quickmwtest$ cd mw_pure_qml_59/
nvidia@nvidia-desktop:~/quickmwtest/mw_pure_qml_59$ ls
main.cpp  main.qml  mw_pure_qml_59.pro  mw_pure_qml_59.qrc  README.md
nvidia@nvidia-desktop:~/quickmwtest/mw_pure_qml_59$ cat README.md 
Embedded (eglfs) test app for Qt 5.9's new Window.targetScreen and Qt.application.screens properties.
(see http://doc-snapshots.qt.io/qt5-dev/qml-qtquick-window-window.html#targetScreen-prop and http://doc-snapshots.qt.io/qt5-dev/qml-qtqml-qt.html#application-prop)

This is very handy when working with QQmlApplicationEngine and specifying Window
elements in QML, instead of constructing QQuickWindow instances from C++.

For now we assume there are at least two screens, and create a Window (i.e a
separate QML scene) for each of the first two.
nvidia@nvidia-desktop:~/quickmwtest/mw_pure_qml_59$ make
make: *** No targets specified and no makefile found.  Stop.
nvidia@nvidia-desktop:~/quickmwtest/mw_pure_qml_59$ qmake
Info: creating stash file /home/nvidia/quickmwtest/mw_pure_qml_59/.qmake.stash
nvidia@nvidia-desktop:~/quickmwtest/mw_pure_qml_59$ make
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -fPIC -DQT_NO_DEBUG -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtNetwork -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I. -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o main.o main.cpp
/usr/lib/qt5/bin/rcc -name mw_pure_qml_59 mw_pure_qml_59.qrc -o qrc_mw_pure_qml_59.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -fPIC -DQT_NO_DEBUG -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtNetwork -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I. -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o qrc_mw_pure_qml_59.o qrc_mw_pure_qml_59.cpp
g++ -Wl,-O1 -o mw_pure_qml_59 main.o qrc_mw_pure_qml_59.o   -lQt5Quick -lQt5Gui -lQt5Qml -lQt5Network -lQt5Core -lGLESv2 -lpthread 
nvidia@nvidia-desktop:~/quickmwtest/mw_pure_qml_59$ sudo service lightdm stop
Failed to stop lightdm.service: Unit lightdm.service not loaded.
nvidia@nvidia-desktop:~/quickmwtest/mw_pure_qml_59$ unset DISPLAY
nvidia@nvidia-desktop:~/quickmwtest/mw_pure_qml_59$ export QT_QPA_PLATFORM=eglfsnvidia@nvidia-desktop:~/quickmwtest/mw_pure_qml_59$ export QT_QPA_EGLFS_INTEGRATION=eglfs_kms_egldevice
nvidia@nvidia-desktop:~/quickmwtest/mw_pure_qml_59$ ./quickmwtest
bash: ./quickmwtest: No such file or directory
nvidia@nvidia-desktop:~/quickmwtest/mw_pure_qml_59$ ls
main.cpp  Makefile            mw_pure_qml_59.qrc      README.md
main.o    mw_pure_qml_59      qrc_mw_pure_qml_59.cpp
main.qml  mw_pure_qml_59.pro  qrc_mw_pure_qml_59.o
nvidia@nvidia-desktop:~/quickmwtest/mw_pure_qml_59$ ./mw_pure_qml_59 
qt.qpa.egldeviceintegration: EGL device integration plugin keys: ("eglfs_emu", "eglfs_kms_egldevice", "eglfs_kms", "eglfs_x11")
qt.qpa.egldeviceintegration: EGL device integration plugin keys (sorted): ("eglfs_kms_egldevice", "eglfs_kms", "eglfs_emu", "eglfs_x11")
qt.qpa.egldeviceintegration: Trying to load device EGL integration "eglfs_kms_egldevice"
qt.qpa.eglfs.kms: New DRM/KMS on EGLDevice integration created
qt.qpa.egldeviceintegration: Using EGL device integration "eglfs_kms_egldevice"
qt.qpa.eglfs.kms: platformInit: Opening DRM device
qt.qpa.eglfs.kms: Found 1 EGL devices
qt.qpa.eglfs.kms: Using backend-provided DRM device drm-nvdc
qt.qpa.eglfs.kms: Creating display
e[9;0]qt.qpa.eglfs.kms: Skipping disconnected output "HDMI1"
qt.qpa.eglfs.kms: "DP1" mode count: 10
qt.qpa.eglfs.kms: mode 0 1920 x 1080 @ 60 hz
qt.qpa.eglfs.kms: mode 1 720 x 400 @ 70 hz
qt.qpa.eglfs.kms: mode 2 640 x 480 @ 59 hz
qt.qpa.eglfs.kms: mode 3 800 x 600 @ 60 hz
qt.qpa.eglfs.kms: mode 4 1024 x 768 @ 60 hz
qt.qpa.eglfs.kms: mode 5 1680 x 1050 @ 59 hz
qt.qpa.eglfs.kms: mode 6 1440 x 900 @ 59 hz
qt.qpa.eglfs.kms: mode 7 1280 x 1024 @ 60 hz
qt.qpa.eglfs.kms: mode 8 1280 x 960 @ 60 hz
qt.qpa.eglfs.kms: mode 9 1280 x 720 @ 60 hz
qt.qpa.eglfs.kms: Selected mode 0 : 1920 x 1080 @ 60 hz for output "DP1"
qt.qpa.eglfs.kms: Physical size is QSizeF(0, 0) mm for output "DP1"
qt.qpa.eglfs.kms: Creating new global mouse cursor
qt.qpa.eglfs.kms: Skipping disconnected output "DP2"
qt.qpa.eglfs.kms: Sorted screen list: QVector(OrderedScreen(QPlatformScreen=0x55928711f0 ("DP1") : 2147483647 / QPoint(0,0) / primary: false))
qt.qpa.eglfs.kms: Adding QPlatformScreen 0x55928711f0 ( "DP1" ) to QPA with geometry QRect(0,0 1920x1080) and isPrimary= false
qt.qpa.input: libinput: event0: opening input device '/dev/input/event0' failed (Operation not permitted).
qt.qpa.input: libinput: event0  - failed to create input device '/dev/input/event0'
qt.qpa.input: libinput: event1: opening input device '/dev/input/event1' failed (Operation not permitted).
qt.qpa.input: libinput: event1  - failed to create input device '/dev/input/event1'
qt.qpa.input: libinput: event2: opening input device '/dev/input/event2' failed (Operation not permitted).
qt.qpa.input: libinput: event2  - failed to create input device '/dev/input/event2'
qt.qpa.input: libinput: event3: opening input device '/dev/input/event3' failed (Operation not permitted).
qt.qpa.input: libinput: event3  - failed to create input device '/dev/input/event3'
qt.qpa.input: libinput: event6: opening input device '/dev/input/event6' failed (Operation not permitted).
qt.qpa.input: libinput: event6  - failed to create input device '/dev/input/event6'
qt.qpa.input: libinput: event7: opening input device '/dev/input/event7' failed (Operation not permitted).
qt.qpa.input: libinput: event7  - failed to create input device '/dev/input/event7'
qt.qpa.input: libinput: event8: opening input device '/dev/input/event8' failed (Operation not permitted).
qt.qpa.input: libinput: event8  - failed to create input device '/dev/input/event8'
qt.qpa.input: libinput: event5: opening input device '/dev/input/event5' failed (Operation not permitted).
qt.qpa.input: libinput: event5  - failed to create input device '/dev/input/event5'
qt.qpa.input: libinput: event4: opening input device '/dev/input/event4' failed (Operation not permitted).
qt.qpa.input: libinput: event4  - failed to create input device '/dev/input/event4'
qt.qpa.input: Using xkbcommon for key mapping
QQmlApplicationEngine failed to load component
file::/main.qml:24 Cannot assign to non-existent property "targetScreen"

Another trial with hdmi & usb-c connected

 ./mw_pure_qml_59 
qt.qpa.screen: Output DP-1 is not connected
qt.qpa.screen: adding QXcbScreen(0x557f5ddc10, name="HDMI-0", geometry=1920x1080+0+0, availableGeometry=1863x1056+57+24, devicePixelRatio=1.0, logicalDpi=QPair(96.0,96.0), physicalSize=890.0x500.0mm, screenNumber=0, virtualSize=3840x1080 (3840.0x1080.0mm), orientation=Qt::ScreenOrientation(LandscapeOrientation), depth=24, refreshRate=60.0, root=16e, windowManagerName="Compiz") (Primary: true )
qt.qpa.screen: adding QXcbScreen(0x557f5ddd40, name="DP-0", geometry=1920x1080+1920+0, availableGeometry=1920x1056+1920+24, devicePixelRatio=1.0, logicalDpi=QPair(96.0,96.0), physicalSize=340.0x190.0mm, screenNumber=0, virtualSize=3840x1080 (3840.0x1080.0mm), orientation=Qt::ScreenOrientation(LandscapeOrientation), depth=24, refreshRate=60.0, root=16e, windowManagerName="Compiz") (Primary: false )
qt.qpa.screen: primary output is "HDMI-0"
qt.qpa.input.devices: XInput version 2.2 is available and Qt supports 2.2 or greater
qt.qpa.input.devices: input device  Virtual core XTEST pointer ID 4
qt.qpa.input.devices:    has 10 buttons
qt.qpa.input.devices:    has valuator "Rel X" recognized? true
qt.qpa.input.devices:    has valuator "Rel Y" recognized? true
qt.qpa.input.devices:    it's a scrolling device
qt.qpa.input.devices: input device  Logitech USB Optical Mouse ID 6
qt.qpa.input.devices:    has 12 buttons
qt.qpa.input.devices:    has valuator "Rel X" recognized? true
qt.qpa.input.devices:    has valuator "Rel Y" recognized? true
qt.qpa.input.devices:    has valuator "Rel Horiz Scroll" recognized? true
qt.qpa.input.devices:    has valuator "Rel Vert Scroll" recognized? true
qt.qpa.input.devices:    it's a scrolling device
qt.qpa.input.devices: input device  Logitech K840 Mechanical Corded Keyboard ID 8
qt.qpa.input.devices:    has 7 buttons
qt.qpa.input.devices:    has valuator "Rel X" recognized? true
qt.qpa.input.devices:    has valuator "Rel Y" recognized? true
qt.qpa.input.devices:    has valuator "Rel Horiz Scroll" recognized? true
qt.qpa.input.devices:    has valuator "Rel Vert Scroll" recognized? true
qt.qpa.input.devices:    it's a scrolling device
qt.qpa.gl: Choosing xcb gl-integration based on following priority
 ("xcb_glx", "xcb_egl")
qt.qpa.gl: Xcb EGL gl-integration created
qt.qpa.gl: Xcb EGL gl-integration successfully initialized
qt.qpa.input.methods.serialize: QIBusEngineDesc::fromDBusArgument() "(sa{sv}ssssssssussssssss)"
QQmlApplicationEngine failed to load component
file::/main.qml:24 Cannot assign to non-existent property "targetScreen"

U meant like that? @DaneLLL

Hi,
Sorry the commands for disabling display manager should be

$ sudo systemctl stop gdm 
$ sudo loginctl terminate-seat seat0 

Have corrected it. Please try and check if you can see display output.

both displays got black
no console prompt
will try restarting


after restart
second attempt