Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Flatpak TeleSculptor #425

Closed
kevinsmia1939 opened this issue Mar 9, 2021 · 61 comments
Closed

Flatpak TeleSculptor #425

kevinsmia1939 opened this issue Mar 9, 2021 · 61 comments

Comments

@kevinsmia1939
Copy link

Hello,

I am trying to build Telesculptor for Linux Flatpak.

I got the error below.
I build Kwiver 1.5.1 with cmake with the flags,

       -DCMAKE_BUILD_TYPE:STRING=Release
       -DKWIVER_ENABLE_SPROKIT=ON
       -DKWIVER_ENABLE_C_BINDINGS=ON
       -DKWIVER_ENABLE_TOOLS=ON

Build qtExtensions master branch with cmake with default flag. https://github.com/Kitware/qtextensions
Build VTK 9.0.1 with cmake with these flags,

     -DBUILD_SHARED_LIBS=ON
     -DOpenGL_GL_PREFERENCE=GLVND
     -DCMAKE_BUILD_TYPE=Release
     -DVTK_PYTHON_VERSION:STRING=3
     -DVTK_GROUP_ENABLE_Qt=YES
     -DVTK_MODULE_ENABLE_VTK_GUISupportQt=YES
     -DModule_vtkGUISupportQtOpenGL:BOOL=ON

And finally Telesculptor 1.1.1 with Cmake.

       -DTELESCULPTOR_SUPERBUILD=OFF
       -DCMAKE_BUILD_TYPE:STRING=Release
       -DTELESCULPTOR_ENABLE_MANUALS=OFF
       -DTELESCULPTOR_ENABLE_TESTING=OFF

Could this issue be relate to this?
Kitware/kwiver#517

I got this error.

-- The C compiler identification is GNU 10.2.0
-- The CXX compiler identification is GNU 10.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for kwiver in : 
-- Current path: '/app/lib/cmake/kwiver;/run/build/telesculptor/CMake'
-- Import CMake future from '/app/lib/cmake/kwiver/future'
-- Import CMake future '3.10'
-- Found Doxygen: /usr/bin/doxygen (found version "1.9.1") found components: doxygen missing components: dot
-- Could NOT find Sphinx (missing: SPHINX_EXECUTABLE) 
-- Performing Test has_compiler_flag--std=cplusplus11
-- Performing Test has_compiler_flag--std=cplusplus11 - Success
-- Performing Test has_compiler_flag--pthread
-- Performing Test has_compiler_flag--pthread - Success
-- Performing Test has_compiler_flag--fvisibility=hidden
-- Performing Test has_compiler_flag--fvisibility=hidden - Success
-- Performing Test has_compiler_flag--Wall
-- Performing Test has_compiler_flag--Wall - Success
-- Performing Test has_compiler_flag--Werror=return-type
-- Performing Test has_compiler_flag--Werror=return-type - Success
-- Performing Test has_compiler_flag--Werror=non-virtual-dtor
-- Performing Test has_compiler_flag--Werror=non-virtual-dtor - Success
-- Performing Test has_compiler_flag--Werror=narrowing
-- Performing Test has_compiler_flag--Werror=narrowing - Success
-- Performing Test has_compiler_flag--Werror=init-self
-- Performing Test has_compiler_flag--Werror=init-self - Success
-- Performing Test has_compiler_flag--Werror=reorder
-- Performing Test has_compiler_flag--Werror=reorder - Success
-- Performing Test has_compiler_flag--Werror=overloaded-virtual
-- Performing Test has_compiler_flag--Werror=overloaded-virtual - Success
-- Performing Test has_compiler_flag--Werror=cast-qual
-- Performing Test has_compiler_flag--Werror=cast-qual - Success
-- Performing Test has_compiler_flag--Werror=vla
-- Performing Test has_compiler_flag--Werror=vla - Success
-- Performing Test has_compiler_flag--Wno-unknown-pragmas
-- Performing Test has_compiler_flag--Wno-unknown-pragmas - Success
-- Performing Test has_compiler_flag--Wl,--no-undefined
-- Performing Test has_compiler_flag--Wl,--no-undefined - Success
-- Performing Test has_compiler_flag--Wl,--copy-dt-needed-entries
-- Performing Test has_compiler_flag--Wl,--copy-dt-needed-entries - Success
-- checking CPP_AUTO auto.cxx
-- checking CPP_CONSTEXPR constexpr.cxx
-- checking CPP_DEFAULT_CTOR default-ctor.cxx
-- checking CPP_FINAL final.cxx
-- checking CPP_NOEXCEPT throw-noexcept.cxx
-- checking CPP_RANGE_FOR range-for.cxx
-- checking STD_CHRONO std_chrono.cxx
-- checking STD_NULLPTR null_ptr.cxx
-- checking STD_REGEX std_regex.cxx
-- Found Git: /usr/bin/git (found version "2.30.0") 
-- [configure-version.h] Creating configure command
-- Making library "maptk"
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY - Success
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY - Success
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Success
-- [configure-gui_align] Creating configure command
-- [configure-gui_bundle_adjust] Creating configure command
-- [configure-gui_compute_depth] Creating configure command
-- [configure-gui_default_camera_intrinsics] Creating configure command
-- [configure-gui_filter_tracks] Creating configure command
-- [configure-gui_frame_image_writer] Creating configure command
-- [configure-gui_image_list_reader] Creating configure command
-- [configure-gui_image_video_reader] Creating configure command
-- [configure-gui_initialize] Creating configure command
-- [configure-gui_integrate_depth_maps] Creating configure command
-- [configure-gui_keyframe_image_writer] Creating configure command
-- [configure-gui_mask_list_reader] Creating configure command
-- [configure-gui_mask_video_reader] Creating configure command
-- [configure-gui_st_estimator] Creating configure command
-- [configure-gui_track_features] Creating configure command
-- [configure-gui_triangulate] Creating configure command
-- [configure-track_features_embedded_debug] Creating configure command
-- [configure-log4cplus] Creating configure command
CMake Deprecation Warning at /app/lib/cmake/vtk-9.0/vtk-config.cmake:64 (message):
  The new name for the 'vtkFiltersSources' component is 'FiltersSources'
Call Stack (most recent call first):
  gui/CMakeLists.txt:17 (find_package)


CMake Deprecation Warning at /app/lib/cmake/vtk-9.0/vtk-config.cmake:64 (message):
  The new name for the 'vtkGUISupportQt' component is 'GUISupportQt'
Call Stack (most recent call first):
  gui/CMakeLists.txt:17 (find_package)


CMake Deprecation Warning at /app/lib/cmake/vtk-9.0/vtk-config.cmake:64 (message):
  The new name for the 'vtkIOGeometry' component is 'IOGeometry'
Call Stack (most recent call first):
  gui/CMakeLists.txt:17 (find_package)


CMake Deprecation Warning at /app/lib/cmake/vtk-9.0/vtk-config.cmake:64 (message):
  The new name for the 'vtkIOImage' component is 'IOImage'
Call Stack (most recent call first):
  gui/CMakeLists.txt:17 (find_package)


CMake Deprecation Warning at /app/lib/cmake/vtk-9.0/vtk-config.cmake:64 (message):
  The new name for the 'vtkIOPLY' component is 'IOPLY'
Call Stack (most recent call first):
  gui/CMakeLists.txt:17 (find_package)


CMake Deprecation Warning at /app/lib/cmake/vtk-9.0/vtk-config.cmake:64 (message):
  The new name for the 'vtkIOXML' component is 'IOXML'
Call Stack (most recent call first):
  gui/CMakeLists.txt:17 (find_package)


CMake Deprecation Warning at /app/lib/cmake/vtk-9.0/vtk-config.cmake:64 (message):
  The new name for the 'vtkImagingCore' component is 'ImagingCore'
Call Stack (most recent call first):
  gui/CMakeLists.txt:17 (find_package)


CMake Deprecation Warning at /app/lib/cmake/vtk-9.0/vtk-config.cmake:64 (message):
  The new name for the 'vtkInteractionStyle' component is 'InteractionStyle'
Call Stack (most recent call first):
  gui/CMakeLists.txt:17 (find_package)


CMake Deprecation Warning at /app/lib/cmake/vtk-9.0/vtk-config.cmake:64 (message):
  The new name for the 'vtkInteractionWidgets' component is
  'InteractionWidgets'
Call Stack (most recent call first):
  gui/CMakeLists.txt:17 (find_package)


CMake Deprecation Warning at /app/lib/cmake/vtk-9.0/vtk-config.cmake:64 (message):
  The new name for the 'vtkRenderingAnnotation' component is
  'RenderingAnnotation'
Call Stack (most recent call first):
  gui/CMakeLists.txt:17 (find_package)


CMake Deprecation Warning at /app/lib/cmake/vtk-9.0/vtk-config.cmake:64 (message):
  The new name for the 'vtkRenderingFreeType' component is
  'RenderingFreeType'
Call Stack (most recent call first):
  gui/CMakeLists.txt:17 (find_package)


-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
-- Found X11: /usr/include   
-- 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
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- Found OpenGL: /usr/lib/x86_64-linux-gnu/libOpenGL.so  found components: OpenGL GLX 
CMake Deprecation Warning at /app/lib/cmake/vtk-9.0/vtk-use-file-deprecated.cmake:1 (message):
  The `VTK_USE_FILE` is no longer used starting with 8.90.
Call Stack (most recent call first):
  gui/CMakeLists.txt:35 (include)


-- File: 'ACKNOWLEDGMENTS'
-- File: 'BUILDINFO'
-- File: 'LICENSE'
-- [configure-telesculptor-config] Creating configure command
-- [configure-telesculptor-install-config] Creating configure command
-- Configuring done
CMake Error at /app/lib/cmake/kwiver/utils/kwiver-utils-targets.cmake:182 (add_executable):
  Target "maptk_detect_and_describe" links to target
  "kwiver::kwiver_algo_core" but the target was not found.  Perhaps a
  find_package() call is missing for an IMPORTED target, or an ALIAS target
  is missing?
Call Stack (most recent call first):
  tools/CMakeLists.txt:8 (kwiver_add_executable)


CMake Error at /app/lib/cmake/kwiver/utils/kwiver-utils-targets.cmake:182 (add_executable):
  Target "maptk_track_features" links to target "kwiver::kwiver_algo_core"
  but the target was not found.  Perhaps a find_package() call is missing for
  an IMPORTED target, or an ALIAS target is missing?
Call Stack (most recent call first):
  tools/CMakeLists.txt:17 (kwiver_add_executable)


CMake Error at /app/lib/cmake/kwiver/utils/kwiver-utils-targets.cmake:182 (add_executable):
  Target "maptk_analyze_tracks" links to target "kwiver::kwiver_algo_core"
  but the target was not found.  Perhaps a find_package() call is missing for
  an IMPORTED target, or an ALIAS target is missing?
Call Stack (most recent call first):
  tools/CMakeLists.txt:56 (kwiver_add_executable)


CMake Error at /app/lib/cmake/kwiver/utils/kwiver-utils-targets.cmake:182 (add_executable):
  Target "maptk_match_matrix" links to target "kwiver::kwiver_algo_core" but
  the target was not found.  Perhaps a find_package() call is missing for an
  IMPORTED target, or an ALIAS target is missing?
Call Stack (most recent call first):
  tools/CMakeLists.txt:26 (kwiver_add_executable)


CMake Error at /app/lib/cmake/kwiver/utils/kwiver-utils-targets.cmake:182 (add_executable):
  Target "maptk_bundle_adjust_tracks" links to target
  "kwiver::kwiver_algo_core" but the target was not found.  Perhaps a
  find_package() call is missing for an IMPORTED target, or an ALIAS target
  is missing?
Call Stack (most recent call first):
  tools/CMakeLists.txt:40 (kwiver_add_executable)


CMake Error at /app/lib/cmake/kwiver/utils/kwiver-utils-targets.cmake:182 (add_executable):
  Target "maptk_apply_gcp" links to target "kwiver::kwiver_algo_core" but the
  target was not found.  Perhaps a find_package() call is missing for an
  IMPORTED target, or an ALIAS target is missing?
Call Stack (most recent call first):
  tools/CMakeLists.txt:48 (kwiver_add_executable)


CMake Error at /app/lib/cmake/kwiver/utils/kwiver-utils-targets.cmake:182 (add_executable):
  Target "TeleSculptor" links to target "kwiver::kwiver_adapter" but the
  target was not found.  Perhaps a find_package() call is missing for an
  IMPORTED target, or an ALIAS target is missing?
Call Stack (most recent call first):
  gui/CMakeLists.txt:199 (kwiver_add_executable)


CMake Error at /app/lib/cmake/kwiver/utils/kwiver-utils-targets.cmake:182 (add_executable):
  Target "TeleSculptor" links to target "kwiver::kwiver_algo_core" but the
  target was not found.  Perhaps a find_package() call is missing for an
  IMPORTED target, or an ALIAS target is missing?
Call Stack (most recent call first):
  gui/CMakeLists.txt:199 (kwiver_add_executable)


CMake Error at /app/lib/cmake/kwiver/utils/kwiver-utils-targets.cmake:182 (add_executable):
  Target "TeleSculptor" links to target "Boost::chrono" but the target was
  not found.  Perhaps a find_package() call is missing for an IMPORTED
  target, or an ALIAS target is missing?
Call Stack (most recent call first):
  gui/CMakeLists.txt:199 (kwiver_add_executable)


CMake Error at /app/lib/cmake/kwiver/utils/kwiver-utils-targets.cmake:182 (add_executable):
  Target "TeleSculptor" links to target "Boost::system" but the target was
  not found.  Perhaps a find_package() call is missing for an IMPORTED
  target, or an ALIAS target is missing?
Call Stack (most recent call first):
  gui/CMakeLists.txt:199 (kwiver_add_executable)


-- Generating done
CMake Generate step failed.  Build files cannot be regenerated correctly.
Error: module telesculptor: Child process exited with code 1

@mleotta
Copy link
Member

mleotta commented Mar 9, 2021

The issue is that the current release branch of TeleSculptor does not support VTK 9. The master branch should support VTK 9, but it is not enabled by default in the superbuild. The superbuild option is the easiest way to build any version of TeleSculptor and all the dependencies that it needs. Even if you plan to manually build KWIVER and projects in Fletch you can look at the CMake to see how the superbuild configures them together.

If you want to build against VTK 9 you can change the 8.2 to 9.0 on this line:
https://github.com/Kitware/TeleSculptor/blob/master/CMake/telesculptor-external-fletch.cmake#L66
and build the superbuild. This should work on the master branch, but not release. The master branch of TeleSculptor requires the master branches of Fletch and KWIVER to make this all work, but this is handled by the superbuild.

@kevinsmia1939
Copy link
Author

Thanks for reply.

I decide to go with VTK 8.2.0.
But I was hit with this bug when building VTK.
https://gitlab.kitware.com/vtk/vtk/-/issues/17774

@mleotta
Copy link
Member

mleotta commented Mar 9, 2021

I see. I don't think and of our testing covers gcc 10 yet.

Again, you should be able to make it work with VTK 9 if you use the master branch. We are working on getting those changes out in a release, hopefully soon.

@kevinsmia1939
Copy link
Author

kevinsmia1939 commented Mar 9, 2021

I see. I don't think and of our testing covers gcc 10 yet.

Again, you should be able to make it work with VTK 9 if you use the master branch. We are working on getting those changes out in a release, hopefully soon.

Does superbuild work without network connection? I am trying to build a Flatpak for Telescuplter. So it do not allow external download, all dependencies will have to be included first.

Thanks.

@mleotta
Copy link
Member

mleotta commented Mar 9, 2021

Fletch does require a network connection to download the source packages for the projects it builds. However, you can run that download step once and cache the downloads. It doesn't download if the files are found locally.

I don't know much about Flatpak, but isn't that a system for packaging binaries? Wouldn't you build the software locally and then package all the binaries into Flatpak? Note that the superbuild does something similar already but it creates a .tar.gz or self extracting archive of all the binaries using CMake/CPack. If we could extend this to make a flatpak that would be useful, because our current approach to packaging for linux is not great.

@kevinsmia1939
Copy link
Author

kevinsmia1939 commented Mar 9, 2021

Fletch does require a network connection to download the source packages for the projects it builds. However, you can run that download step once and cache the downloads. It doesn't download if the files are found locally.

I don't know much about Flatpak, but isn't that a system for packaging binaries? Wouldn't you build the software locally and then package all the binaries into Flatpak? Note that the superbuild does something similar already but it creates a .tar.gz or self extracting archive of all the binaries using CMake/CPack. If we could extend this to make a flatpak that would be useful, because our current approach to packaging for linux is not great.

Yes, Flatpak is the system for packaging binaries. Is can be build locally and in Github. There are Flatpak store called Flathub, which I am trying to submit too.
https://flathub.org/home

Step to start building Flatpak can be summed up:
Install flatpak-builder, most Linux distro include it already. For Ubuntu just do sudo apt install flatpak-builder
Create com.github.Kitware.TeleSculptor.yaml or .json
Build locally with flatpak-builder --install --user build com.github.Kitware.TeleSculptor.yaml --force-clean
If it is successful, run with flatpak run com.github.Kitware.TeleSculptor
If you want to submit to Flathub, create pull request to https://github.com/flathub/flathub, which I wanted to do.
https://github.com/flathub/flathub/wiki/App-Submission

This is what I worked on so far: https://github.com/kevinsmia1939/com.github.Kitware.TeleSculptor
If you want to try it, just clone the repo including shared-modules, and build with flatpak-builder --install --user build com.github.Kitware.TeleSculptor.yaml --force-clean

Inside the com.github.Kitware.TeleSculptor.yaml, you will see a lot of dependencies being downloaded (in source: section). The build process is from top to bottom, so kwiver and fletch must be on top of telescupltor.

The inconvenient thing is that it does not allow cmake or other stuff to download anything except flatpak-builder itself. I think most Linux package build system avoid network connection when building anyway, I think it is to ensure reproducible build. Which kinda make the superbuild not so applicable for flatpak. One of the solution is to link kwiver, fletch, etc as git submodules in Telesculptor (something like this https://github.com/OpenChemistry/tomviz/tree/master/thirdparty). So when Flatpak download Telesculptor with submodule, all deps will be downloaded too.

So maybe create another folder, called it something like 3rdparty or dependencies, and put kwiver and fletch submodule in there, and point cmake to that folder.

@mleotta
Copy link
Member

mleotta commented Mar 9, 2021

The problem with git submodules is that not everything fletch builds comes from another git repository.

How do you normally specify how to build dependencies for a flatpak?

@kevinsmia1939
Copy link
Author

The problem with git submodules is that not everything fletch builds comes from another git repository.

How do you normally specify how to build dependencies for a flatpak?

Just use URL with type archive or git.
Like,

    sources:
      - type: archive
        url: https://github.com/Kitware/fletch/archive/v1.4.0.tar.gz
        sha256: 7e784da627ccced0eae87418d16683d923c18052a17c730fe61f31b6237b145a    

or

    sources:
      - type: git
        url: https://github.com/Kitware/qtextensions
        commit: 38e70b32807c0317cc3804a6dad303f1b0ec2e13 

I'm in the process of hunting for these deps to add it in.

@mleotta
Copy link
Member

mleotta commented Mar 9, 2021

Here is the file that documents/controls what archives Fletch downloads:
https://github.com/Kitware/fletch/blob/master/CMake/fletch-tarballs.cmake

Some of these have alternate versions depending on how you configure Fletch. Likewise some dependencies might not be needed if they are not enabled in Fletch. TeleSculptor does not turn everything on in Fletch. The packages enabled and versions used are documented here:
https://github.com/Kitware/TeleSculptor/blob/master/CMake/telesculptor-external-fletch.cmake

@kevinsmia1939
Copy link
Author

Does the VTK build flag controlled by Fletch?

@mleotta
Copy link
Member

mleotta commented Mar 9, 2021

TeleSculptor specifies a Fletch configuration that tells Fletch to build VTK and selects from a small number of version choices (e.g. 8.2 and 9.0). Then when Fletch is built it downloads the selected VTK source archive and provides more specific CMake configuration describing how to build VTK depending on which version was selected and what OS we are building on. That configuration is here:
https://github.com/Kitware/fletch/blob/master/CMake/External_VXL.cmake

Does that answer your question?

@kevinsmia1939
Copy link
Author

Thanks, that clear it up, but that is some complicated dependencies.

@kevinsmia1939
Copy link
Author

kevinsmia1939 commented Mar 9, 2021

Hi,

Is there a way to make Fletch prefer system installed dependencies? I look through cmake files but it is not clear to me. I already have Eigen install for example, but Fletch attempt to download Eigen which it failed because there is no network connection inside Flatpak-builder.

@borovik135
Copy link
Collaborator

borovik135 commented Mar 9, 2021

Kevin, I have recently gone through the procedure of building the TS <= Kwiver <= Fletch chain on Ubuntu 20.04 using Ubuntu's pre-built packages and left my comments in a shared document. I have found that using cmake-gui simplifies package selection via various flags of what to enable/disable in Fletch, Kwiver or TeleSculptor. One can disable most of the packages in Fletch and use Linux distro's pre-built binaries. However, I still had to build Proj4, log4cplus, VXL in Fletch and referenced them in Kwiver and TeleSculptor builds.

@mleotta
Copy link
Member

mleotta commented Mar 9, 2021

In theory you should be able to turn on only the components you don't have as system packages in Fletch and then let CMake find system packages to fill in the rest. However, we don't test this approach regularly and it is likely that some of your system packages may not be compatible with KWIVER, TeleSculptor, or other packages in Fletch. The purpose of Fletch is to provide a consistent collection of third-party dependency versions that we can build across different platforms. It's hard to support package manger versions of dependencies because every OS packages different versions.

I think the easiest way to make this work (but not necessarily the best from a maintenance perspective) would be to transfer the URLs from the fletch-tarballs.cmake into archive sources in the flatpack file. Then you'll just need a way to move those downloaded archives into the fletch/Downloads directory after fletch is cloned.

@kevinsmia1939
Copy link
Author

kevinsmia1939 commented Mar 10, 2021

@mleotta
@borovik135
Thank for reccommendation.
If I turn the superbuild off, would Fletch still be required? From what I understand, I would only need Kwiver and install the deps myself.
I think this might be too big for my ability to package this. I would guess I would need to patch cmakelist file to get it to build in Flatpak-builder. Anything I change will take another 3 hrs to rebuild. My PC can't take it anymore XD.
I might come to revisit this again, I will just leave the Flatpak manifest here of anyone want to pick it up.
Thanks for the help.

@kevinsmia1939
Copy link
Author

Let me just try using master branch of TeleSculptor and Kwiver first.

@mleotta
Copy link
Member

mleotta commented Mar 10, 2021

Yes, that's right. There is no hard requirement that you use Fletch. Fletch is a convenience tool for helping to obtain and build the right versions of all the third party libraries and make them work together. It also indirectly documents which versions you need and how to configure them to work together. However, if you can provide these packages directly you can skip fletch.

The design of KWIVER is such that the core has very view dependencies, but then we bring in many more dependencies through plugins (AKA "arrows"). You can successfully build KWIVER and TeleSculptor without most of the dependencies; however, you would not actually be able to run many algorithms if you don't build the plugins.

The KWIVER core (called "vital") depends only on Eigen. KWIVER stream processing toolkit (sprokit) also requires Boost. TeleSculptor can build on that minimal KWIVER and also requires Qt, qtExtensions, VTK, and optionally PDAL. That will get you a GUI you can open. But to do any interesting work you need several KWIVER arrows (plugins) that depend on OpenCV, VXL, Ceres, FFmpeg, etc.

@mleotta
Copy link
Member

mleotta commented Mar 10, 2021

We would welcome your contribution of a Flatpak manifest, even if it's work in progress.

@kevinsmia1939
Copy link
Author

Just include log4cplus as deps inside Flatpak manifest.
My WIP Flatpak of Telesculptor is here, if anyone want to try it, it is here.
https://github.com/kevinsmia1939/com.github.Kitware.TeleSculptor

Also, I just successfully build Tomviz. Need refinement.
OpenChemistry/tomviz#2157

@mleotta
Copy link
Member

mleotta commented Mar 11, 2021

That's great. So you got it working?

If you want to contribute that manifest file to TeleSculptor you can make a PR. That way others can find it. I would put it in packaging and we might want to add a README.rst that says how to use it.

@kevinsmia1939
Copy link
Author

kevinsmia1939 commented Mar 11, 2021

@mleotta
Not working yet, probably missing some deps and cmake flags, I have flatpak-builder building it atm, waiting to see if it work. I will make a pr to it.

I noticed that Fletch download PROJ 4.9.3. But GDAL won't build with PROJ >= 6.
https://github.com/Kitware/fletch/blob/master/CMake/fletch-tarballs.cmake

Also do Telescupltor need network connection to work with some feature?

@kevinsmia1939
Copy link
Author

I think I will give up for now. Fletch and Kwiver is hard to package correctly, life is pain :( .

@kevinsmia1939 kevinsmia1939 changed the title Build fail: Target "TeleSculptor" links to target "kwiver::kwiver_adapter" but the target was not found. Flatpak TeleSculptor Mar 24, 2021
@kevinsmia1939
Copy link
Author

kevinsmia1939 commented Mar 24, 2021

@mleotta
Hi, sorry to bother you again.

I try building Telesculptor superbuild locally (without Flatpak)
I try unpack Fletch into TeleSculptor-1.1.2/build/external/fletch/ directly.
However, when I ran make in build folder, it download fletch again and rewrite what I have already unpack in external/fletch/.

I noticed that if a file fletch-configure fletch-download fletch-gitclone-lastrun.txt fletch-gitinfo.txt fletch-mkdir fletch-patch kwiver-gitinfo.txt exist in folder called stamps, it won't download again. Is stamps files a placeholder file that say something is already downloaded?

Thanks

@mleotta
Copy link
Member

mleotta commented Mar 24, 2021

In short yes. Those files in the stamps directory are markers that a build stage has complete successfully. Those steps won't run again unless the code changes. You can delete fletch-download to force the downloads to run again.

@mleotta
Copy link
Member

mleotta commented Mar 26, 2021

Actually we might just need to turn on OpenBLAS in Fletch in the TeleSculptor superbuild. That would mean it's a TeleSculptor bug. Let me test that.

@kevinsmia1939
Copy link
Author

kevinsmia1939 commented Mar 26, 2021

@mleotta
Hi,

I got pass that error above, I just need to build lapack as well.

But I have another issue with Fletch not detect ceres solver.
The name and md5 match, but maybe I just have to try again.

[ 62%] Creating directories for 'Ceres'
[ 62%] Performing download step (download, verify and extract) for 'Ceres'
-- Downloading...
   dst='/run/build/TeleSculptor-prebuild/build/external/fletch/Downloads/ceres-solver-1.13.0.tar.gz'
   timeout='none'
   inactivity timeout='none'
-- Using src='http://ceres-solver.org/ceres-solver-1.13.0.tar.gz'
-- Retrying...

I fix it, it turns out that ceres-${Ceres_version}.tar.gz in Fletch/Cmake/fletch-tarball.cmakes is a typo, it must be ceres-solver-${Ceres_version}.tar.gz

I submit a patch here: Kitware/fletch#658

@kevinsmia1939
Copy link
Author

kevinsmia1939 commented Mar 27, 2021

Right now I stuck at compiling openCV.

/run/build/TeleSculptor-prebuild/build/external/fletch-build/build/src/OpenCV_contrib/modules/xfeatures2d/src/boostdesc.cpp:646:20: fatal error: boostdesc_bgm.i: No such file or directory
  646 |           #include "boostdesc_bgm.i"
      |                    ^~~~~~~~~~~~~~~~~
compilation terminated.

I could try to download these boostdesc_bgm.i, but do you need this xfeature2d module?

Edit: downloading boostdesc, etc might be difficult. Since opencv_contrib is a archive file. I will have to place boostdesc file in it as soon as it was unpack by fletch, I don't think this is possible on my side since Fletch manage all that.
Is it possible to use Fletch to download those non-free opencv modules, so I can place the necessary files in build/external/fletch/Downloads/ like alway? opencv_contrib seems to be doing its own thing.
https://github.com/opencv/opencv_contrib/blob/master/modules/xfeatures2d/cmake/download_boostdesc.cmake

@mleotta
Copy link
Member

mleotta commented Mar 29, 2021

There are some features of xfeature2d in opencv_contrib that we use, but I don't think they are currently used by default. Mostly notably xfeatures2d contains the SIFT descriptor and we have an option in TeleSculptor to use that, but the default is currently the ORB descriptor, which I believe is in the main opencv repository. I think if you build without opencv_contrib you can still have a working TeleSculptor

@kevinsmia1939
Copy link
Author

There are some features of xfeature2d in opencv_contrib that we use, but I don't think they are currently used by default. Mostly notably xfeatures2d contains the SIFT descriptor and we have an option in TeleSculptor to use that, but the default is currently the ORB descriptor, which I believe is in the main opencv repository. I think if you build without opencv_contrib you can still have a working TeleSculptor

Thanks for reply, I manually disable opencv_contrib and build it again.
I got stuck when building VTK 8.2.0. I believe it is because VTK 8 does not support cmake > 3.15. I will just wait until TeleSculptor support VTK 9 then. I will keep an eye on it.

Thanks

1 similar comment
@kevinsmia1939
Copy link
Author

There are some features of xfeature2d in opencv_contrib that we use, but I don't think they are currently used by default. Mostly notably xfeatures2d contains the SIFT descriptor and we have an option in TeleSculptor to use that, but the default is currently the ORB descriptor, which I believe is in the main opencv repository. I think if you build without opencv_contrib you can still have a working TeleSculptor

Thanks for reply, I manually disable opencv_contrib and build it again.
I got stuck when building VTK 8.2.0. I believe it is because VTK 8 does not support cmake > 3.15. I will just wait until TeleSculptor support VTK 9 then. I will keep an eye on it.

Thanks

@mleotta
Copy link
Member

mleotta commented Mar 29, 2021

Okay. The master branches of Fletch, KWIVER, and TeleSculptor all support VTK 9 now. It's just not part of the latest versioned release yet.

I'm surprised that VTK 8.2 has issues with newer CMake. CMake is usually pretty good about backwards compatibility.

@kevinsmia1939
Copy link
Author

kevinsmia1939 commented Apr 18, 2021

Hi,

I tried telesculptor master and fletch master but failed to build.
Do anyone know what happen?
I'm not sure about this libvtkRenderingOpenGL2-8.2.so.1 should be libvtkRenderingOpenGL2-9.0.so.1?

/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkCompositeDataDisplayAttributes::HasBlockColor(vtkDataObject*) const'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkAlgorithm::SetInputArrayToProcess(int, int, int, char const*, char const*)'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkTextActor3D::UpdateImageActor()'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkTextActor::ShallowCopy(vtkProp*)'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkHardwareSelector::UpdateMaximumPointId(long long)'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkAlgorithm::CreateDefaultExecutive()'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkCollection::DeleteElement(vtkCollectionElement*)'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkAlgorithm::GetExecutive()'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkPolyData::GetStrips()'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkInformation::Has(vtkInformationObjectBaseVectorKey*)'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkRenderer::ResetCamera()'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkLabeledContourMapper::PrintSelf(std::ostream&, vtkIndent)'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkWindow::SetSize(int, int)'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkRenderer::UpdateTranslucentPolygonalGeometry()'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkCamera::SetExplicitProjectionTransformMatrix(vtkMatrix4x4*)'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `typeinfo for vtkImageMapper'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkWindow::GetActualSize()'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkPolyDataNormals::New()'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkMapper::PrintSelf(std::ostream&, vtkIndent)'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkBillboardTextActor3D::ForceOpaqueOn()'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkImageMapper3D::MakeTextureGeometry(int const*, double*, double*)'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkTextRenderer::GetInstance()'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkRenderWindow::DoStereoRender()'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkCamera::SetFocalPoint(double, double, double)'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkMapper::GetResolveCoincidentTopologyZShift()'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkObject::PrintSelf(std::ostream&, vtkIndent)'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkAlgorithm::SetInputArrayToProcess(int, int, int, int, int)'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkImageSliceMapper::GetSliceNumberMinValue()'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkProp3D::PokeMatrix(vtkMatrix4x4*)'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkSmartPointerBase::vtkSmartPointerBase(vtkObjectBase*)'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkLabeledContourMapper::GetBounds()'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkRenderWindowInteractor::StartPinchEvent()'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkCoordinate::GetComputedDoubleViewportValue(vtkViewport*)'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkCamera::Yaw(double)'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `typeinfo for vtkGlyph3DMapper'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkBillboardTextActor3D::vtkBillboardTextActor3D()'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkLabeledContourMapper::ApplyStencil(vtkRenderer*, vtkActor*)'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkRenderWindowInteractor::Render()'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkOStrStreamWrapper::rdbuf()'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkAlgorithm::UpdateInformation()'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkDecimatePro::New()'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkMatrix3x3::Identity(double*)'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkImageAlgorithm::Execute()'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkHardwareSelector::GenerateSelection(unsigned int, unsigned int, unsigned int, unsigned int)'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkGlyph3DMapper::SetSourceData(vtkPolyData*)'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkAlgorithm::SetInputDataObject(int, vtkDataObject*)'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkProperty::GetNumberOfTextures()'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkBillboardTextActor3D::SetForceOpaque(bool)'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkRenderer::PoseToWorld(double&, double&, double&)'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `typeinfo for vtkCamera'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkTextMapper::SetConstrainedFontSize(vtkViewport*, int, int)'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkActor2D::SetMapper(vtkMapper2D*)'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkSmartPointerBase::vtkSmartPointerBase(vtkObjectBase*, vtkSmartPointerBase::NoReference const&)'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkTextActor3D::RenderTranslucentPolygonalGeometry(vtkViewport*)'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkMatrix4x4::New()'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkHardwareSelector::PassTypeToString[abi:cxx11](vtkHardwareSelector::PassTypes)'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkRenderWindowInteractor::SetPickingManager(vtkPickingManager*)'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkMapper::SetRelativeCoincidentTopologyPointOffsetParameter(double)'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkLabeledContourMapper::SetTextProperty(vtkTextProperty*)'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkRenderer::~vtkRenderer()'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkAlgorithm::SetInputArrayToProcess(int, int, int, int, char const*)'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkBitArray::GetValue(long long)'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkRenderState::vtkRenderState(vtkRenderer*)'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkSmartPointerBase::vtkSmartPointerBase()'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkPolyData::GetLines()'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkRenderer::ResetCameraClippingRange(double, double, double, double, double, double)'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkObjectBase::PrintHeader(std::ostream&, vtkIndent)'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `typeinfo for vtkLabeledContourMapper'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkTextActor3D::ShallowCopy(vtkProp*)'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkCamera::vtkCamera()'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../../lib/libvtkRenderingOpenGL2-8.2.so.1: undefined reference to `vtkTextActor3D::SetForceOpaque(bool)'
collect2: error: ld returned 1 exit status
make[8]: *** [Rendering/OpenGL2/CMakeFiles/vtkProbeOpenGLVersion.dir/build.make:117: bin/vtkProbeOpenGLVersion] Error 1
make[8]: Leaving directory '/run/build/TeleSculptor-prebuild/build/external/fletch-build/build/src/VTK-build'
make[7]: *** [CMakeFiles/Makefile2:4513: Rendering/OpenGL2/CMakeFiles/vtkProbeOpenGLVersion.dir/all] Error 2
make[7]: Leaving directory '/run/build/TeleSculptor-prebuild/build/external/fletch-build/build/src/VTK-build'
make[6]: *** [Makefile:149: all] Error 2
make[6]: Leaving directory '/run/build/TeleSculptor-prebuild/build/external/fletch-build/build/src/VTK-build'
make[5]: *** [CMakeFiles/VTK.dir/build.make:138: build/src/VTK-stamp/VTK-build] Error 2
make[5]: Leaving directory '/run/build/TeleSculptor-prebuild/build/external/fletch-build'
make[4]: *** [CMakeFiles/Makefile2:2030: CMakeFiles/VTK.dir/all] Error 2
make[4]: Leaving directory '/run/build/TeleSculptor-prebuild/build/external/fletch-build'
make[3]: *** [Makefile:149: all] Error 2
make[3]: Leaving directory '/run/build/TeleSculptor-prebuild/build/external/fletch-build'
make[2]: *** [CMakeFiles/fletch.dir/build.make:131: external/stamps/fletch-build] Error 2
make[2]: Leaving directory '/run/build/TeleSculptor-prebuild/build'
make[1]: *** [CMakeFiles/Makefile2:154: CMakeFiles/fletch.dir/all] Error 2
make[1]: Leaving directory '/run/build/TeleSculptor-prebuild/build'
make: *** [Makefile:103: all] Error 2
make: Leaving directory '/run/build/TeleSculptor-prebuild/build'
Error: module TeleSculptor-prebuild: Child process exited with code 2

@mleotta
Copy link
Member

mleotta commented Apr 19, 2021

The default version of VTK in Fletch is still 8.2 (see here), however, Fletch, KWIVER, and TeleSculptor now all support VTK 9.0 and building 9.0 is available as a CMake option in Fletch. If you are using the superbuild you would need to change this line
to -DVTK_SELECT_VERSION:STRING=9.0.

I'm not sure why you are getting that specific error.

@kevinsmia1939
Copy link
Author

I tried latest master release of fletch and telesculptor.
Look like compiling PDAL is broken.

[ 99%] Linking CXX shared library lib/libpdal_base.so
make[8]: Leaving directory '/run/build/TeleSculptor-prebuild/build/external/fletch-build/build/src/PDAL-build'
[ 99%] Built target pdal_base
make[8]: Entering directory '/run/build/TeleSculptor-prebuild/build/external/fletch-build/build/src/PDAL-build'
make[8]: Leaving directory '/run/build/TeleSculptor-prebuild/build/external/fletch-build/build/src/PDAL-build'
make[8]: Entering directory '/run/build/TeleSculptor-prebuild/build/external/fletch-build/build/src/PDAL-build'
[ 99%] Building CXX object apps/CMakeFiles/pdal.dir/pdal.cpp.o
In file included from /run/build/TeleSculptor-prebuild/build/external/fletch-build/install/include/ogr_api.h:45,
                 from /run/build/TeleSculptor-prebuild/build/external/fletch-build/install/include/gdal.h:50,
                 from /run/build/TeleSculptor-prebuild/build/external/fletch-build/install/include/gdal_priv.h:60,
                 from /run/build/TeleSculptor-prebuild/build/external/fletch-build/build/src/PDAL/pdal/GDALUtils.hpp:51,
                 from /run/build/TeleSculptor-prebuild/build/external/fletch-build/build/src/PDAL/apps/pdal.cpp:36:
/run/build/TeleSculptor-prebuild/build/external/fletch-build/install/include/ogr_core.h: In member function ‘void OGREnvelope::Intersect(const OGREnvelope&)’:
/run/build/TeleSculptor-prebuild/build/external/fletch-build/install/include/ogr_core.h:122:33: warning: implicitly-declared ‘OGREnvelope& OGREnvelope::operator=(const OGREnvelope&)’ is deprecated [-Wdeprecated-copy]
  122 |             *this = OGREnvelope();
      |                                 ^
/run/build/TeleSculptor-prebuild/build/external/fletch-build/install/include/ogr_core.h:68:9: note: because ‘OGREnvelope’ has user-provided ‘OGREnvelope::OGREnvelope(const OGREnvelope&)’
   68 |         OGREnvelope(const OGREnvelope& oOther) :
      |         ^~~~~~~~~~~
/run/build/TeleSculptor-prebuild/build/external/fletch-build/install/include/ogr_core.h: In member function ‘void OGREnvelope3D::Intersect(const OGREnvelope3D&)’:
/run/build/TeleSculptor-prebuild/build/external/fletch-build/install/include/ogr_core.h:229:35: warning: implicitly-declared ‘OGREnvelope3D& OGREnvelope3D::operator=(const OGREnvelope3D&)’ is deprecated [-Wdeprecated-copy]
  229 |             *this = OGREnvelope3D();
      |                                   ^
/run/build/TeleSculptor-prebuild/build/external/fletch-build/install/include/ogr_core.h:169:9: note: because ‘OGREnvelope3D’ has user-provided ‘OGREnvelope3D::OGREnvelope3D(const OGREnvelope3D&)’
  169 |         OGREnvelope3D(const OGREnvelope3D& oOther) :
      |         ^~~~~~~~~~~~~
[100%] Linking CXX executable ../bin/pdal
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../lib/libpdal_base.so.7.0.2: undefined reference to `curl_easy_reset'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../lib/libpdal_base.so.7.0.2: undefined reference to `curl_slist_append'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../lib/libpdal_base.so.7.0.2: undefined reference to `curl_easy_perform'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../lib/libpdal_base.so.7.0.2: undefined reference to `curl_easy_init'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../lib/libpdal_base.so.7.0.2: undefined reference to `curl_global_init'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../lib/libpdal_base.so.7.0.2: undefined reference to `curl_easy_cleanup'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../lib/libpdal_base.so.7.0.2: undefined reference to `curl_easy_setopt'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../lib/libpdal_base.so.7.0.2: undefined reference to `curl_easy_getinfo'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld: ../lib/libpdal_base.so.7.0.2: undefined reference to `curl_slist_free_all'
collect2: error: ld returned 1 exit status
make[8]: *** [apps/CMakeFiles/pdal.dir/build.make:101: bin/pdal] Error 1
make[8]: Leaving directory '/run/build/TeleSculptor-prebuild/build/external/fletch-build/build/src/PDAL-build'
make[7]: *** [CMakeFiles/Makefile2:501: apps/CMakeFiles/pdal.dir/all] Error 2
make[7]: Leaving directory '/run/build/TeleSculptor-prebuild/build/external/fletch-build/build/src/PDAL-build'
make[6]: *** [Makefile:156: all] Error 2
make[6]: Leaving directory '/run/build/TeleSculptor-prebuild/build/external/fletch-build/build/src/PDAL-build'
make[5]: *** [CMakeFiles/PDAL.dir/build.make:86: build/src/PDAL-stamp/PDAL-build] Error 2
make[5]: Leaving directory '/run/build/TeleSculptor-prebuild/build/external/fletch-build'
make[4]: *** [CMakeFiles/Makefile2:1813: CMakeFiles/PDAL.dir/all] Error 2
make[4]: Leaving directory '/run/build/TeleSculptor-prebuild/build/external/fletch-build'
make[3]: *** [Makefile:136: all] Error 2
make[3]: Leaving directory '/run/build/TeleSculptor-prebuild/build/external/fletch-build'
make[2]: *** [CMakeFiles/fletch.dir/build.make:86: external/stamps/fletch-build] Error 2
make[2]: Leaving directory '/run/build/TeleSculptor-prebuild/build'
make[1]: *** [CMakeFiles/Makefile2:140: CMakeFiles/fletch.dir/all] Error 2
make[1]: Leaving directory '/run/build/TeleSculptor-prebuild/build'
make: *** [Makefile:91: all] Error 2
make: Leaving directory '/run/build/TeleSculptor-prebuild/build'
Error: module TeleSculptor-prebuild: Child process exited with code 2

@mleotta
Copy link
Member

mleotta commented May 17, 2021

I haven't seen that error before. You might want to post an issue on the Fletch Github page.

@dstoup
Copy link
Collaborator

dstoup commented May 17, 2021 via email

@kevinsmia1939
Copy link
Author

kevinsmia1939 commented Jul 16, 2021

Hi @mleotta
It has been sometime. I hope you are doing well.

It just occurred to me that I can just ship the binary instead of building from source.
I package TeleSculptor binary as Flatpak and it works on my machine.

I have to build ICU 60, because most distro use newer version now.

Flatpak run TeleSculptor-1.1.2-Linux-x86_64.sh and automatically answer yes to the license agreement.
Any person who install TeleSculptor with Flatpak will not see this agreement.

From what I see, the extracted files does not have License file(?), I will copy the LICENSE from the source instead and put it somewhere manually, where do you want it to be? (/bin /share /lib ...)
Would this be acceptable?

TeleSculptor does not have .desktop and .metainfo is that right? If so I will create them.

Do I need to install numpy and pybind11 as well? Or does this binary already bundled them?

Please let me know what you think.

The install command is basically this.

      - chmod +x TeleSculptor-1.1.2-Linux-x86_64.sh
      - yes | ./TeleSculptor-1.1.2-Linux-x86_64.sh
      - cd TeleSculptor-1.1.2-Linux-x86_64 && cp -r {bin,lib,share} /app

Thanks.

@kevinsmia1939
Copy link
Author

kevinsmia1939 commented Jul 18, 2021

Also, will you update Qt soon? I see that it still use 5.11, but it reach the eol already.
Edit: NVM, I can see that it is being worked on Kitware/fletch#639

I have some problem.
I am not sure what happen, but the directory choose dialog does not work for me.
The file chooser dialog popup when I click "New Project".
It show "Open" button, but it just open folder, does not choose them, I was unable to choose any folder.

Could this be because TeleSculptor use Qt 5.11?

https://imgur.com/Rdx9gu4

@mleotta
Copy link
Member

mleotta commented Jul 19, 2021

If installing from binary is acceptable for Flatpak then I have no objections.

Yes, it seems the license file is not installed, so not in the package, we could add it if that is a standard thing to package. I assume it would go under share/telesculptor/[version]. Likewise we don't have .desktop and .metainfo files. I'm not sure what goes in them and where they would get installed. It sounds like we should add them.

We are working on updating Qt to 5.12 as well as various other improvements that will go into TeleSculptor v1.2.0. I'm hoping to get that out soon, but waiting on corresponding Fletch and Kwiver releases.

I'm not sure about that file dialog issue. What OS are you on? We probably need to do more UI testing across different Linux distros.

@borovik135, you've been using the UI on Linux recently. Have you had this issue creating a new project?

@kevinsmia1939
Copy link
Author

kevinsmia1939 commented Jul 19, 2021

If installing from binary is acceptable for Flatpak then I have no objections.

Yes, it seems the license file is not installed, so not in the package, we could add it if that is a standard thing to package. I assume it would go under share/telesculptor/[version]. Likewise we don't have .desktop and .metainfo files. I'm not sure what goes in them and where they would get installed. It sounds like we should add them.

We are working on updating Qt to 5.12 as well as various other improvements that will go into TeleSculptor v1.2.0. I'm hoping to get that out soon, but waiting on corresponding Fletch and Kwiver releases.

I'm not sure about that file dialog issue. What OS are you on? We probably need to do more UI testing across different Linux distros.

@borovik135, you've been using the UI on Linux recently. Have you had this issue creating a new project?

Thanks for reply, I create .desktop and metainfo.xml file already, I will be submitting it to you soon.

I use openSUSE Tumbleweed KDE.
About the UI thing.
My guess is that the upstream binary use Qt 5.11.
But when using binary inside Flatpak, it use portal to Qt 5.15, which might cause some compatibility issue.

I think I will just wait until TeleSculptor update to Qt 5.12, and use KDE Sdk 5.12 so it would be easier to figured out.

https://imgur.com/HMJcHkd

@skinkie
Copy link

skinkie commented Aug 13, 2021

When trying to build TeleSculptor without Fletch I am able to get up to this point, where I am missing kwiver::kwiver_adapter, kwiver::kwiver_algo_qt_widgets. I am quite sure Boost contains everything it should because Kwiver detects it. Any suggestions what might me missing?

CMake Error at /usr/local/lib/cmake/kwiver/utils/kwiver-utils-targets.cmake:182 (add_executable):
  Target "TeleSculptor" links to target "kwiver::kwiver_adapter" but the
  target was not found.  Perhaps a find_package() call is missing for an
  IMPORTED target, or an ALIAS target is missing?
Call Stack (most recent call first):
  gui/CMakeLists.txt:150 (kwiver_add_executable)


CMake Error at /usr/local/lib/cmake/kwiver/utils/kwiver-utils-targets.cmake:182 (add_executable):
  Target "TeleSculptor" links to target "kwiver::kwiver_algo_qt_widgets" but
  the target was not found.  Perhaps a find_package() call is missing for an
  IMPORTED target, or an ALIAS target is missing?
Call Stack (most recent call first):
  gui/CMakeLists.txt:150 (kwiver_add_executable)


CMake Error at /usr/local/lib/cmake/kwiver/utils/kwiver-utils-targets.cmake:182 (add_executable):
  Target "TeleSculptor" links to target "Boost::chrono" but the target was
  not found.  Perhaps a find_package() call is missing for an IMPORTED
  target, or an ALIAS target is missing?
Call Stack (most recent call first):
  gui/CMakeLists.txt:150 (kwiver_add_executable)


CMake Error at /usr/local/lib/cmake/kwiver/utils/kwiver-utils-targets.cmake:182 (add_executable):
  Target "TeleSculptor" links to target "Boost::system" but the target was
  not found.  Perhaps a find_package() call is missing for an IMPORTED
  target, or an ALIAS target is missing?
Call Stack (most recent call first):
  gui/CMakeLists.txt:150 (kwiver_add_executable)


CMake Error at /usr/local/lib/cmake/kwiver/utils/kwiver-utils-targets.cmake:182 (add_executable):
  Target "TeleSculptor" links to target "kwiver::kwiver_algo_vtk" but the
  target was not found.  Perhaps a find_package() call is missing for an
  IMPORTED target, or an ALIAS target is missing?
Call Stack (most recent call first):
  gui/CMakeLists.txt:150 (kwiver_add_executable)
cmake .. -DCMAKE_BUILD_TYPE:STRING=Release -DKWIVER_ENABLE_SPROKIT=ON -DKWIVER_ENABLE_C_BINDINGS=ON -DKWIVER_ENABLE_TOOLS=ON -DKWIVER_ENABLE_PYTHON=OFF -DKWIVER_ENABLE_ARROWS=ON
-- Current path: '/home/skinkie/Sources/kwiver/CMake'
-- Import CMake future from '/home/skinkie/Sources/kwiver/CMake/future'
-- Import CMake future '3.10'
-- Performing Test has_compiler_flag--Werror=return-type
-- Performing Test has_compiler_flag--Werror=return-type - Success
-- Performing Test has_compiler_flag--Werror=non-virtual-dtor
-- Performing Test has_compiler_flag--Werror=non-virtual-dtor - Success
-- Performing Test has_compiler_flag--Werror=narrowing
-- Performing Test has_compiler_flag--Werror=narrowing - Success
-- Performing Test has_compiler_flag--Werror=init-self
-- Performing Test has_compiler_flag--Werror=init-self - Success
-- Performing Test has_compiler_flag--Werror=reorder
-- Performing Test has_compiler_flag--Werror=reorder - Success
-- Performing Test has_compiler_flag--Werror=overloaded-virtual
-- Performing Test has_compiler_flag--Werror=overloaded-virtual - Success
-- Performing Test has_compiler_flag--Werror=cast-qual
-- Performing Test has_compiler_flag--Werror=cast-qual - Success
-- Performing Test has_compiler_flag--Werror=vla
-- Performing Test has_compiler_flag--Werror=vla - Success
-- Performing Test has_compiler_flag--Wshadow=local
-- Performing Test has_compiler_flag--Wshadow=local - Success
-- checking CPP_AUTO auto.cxx
-- checking CPP_CONSTEXPR constexpr.cxx
-- checking CPP_DEFAULT_CTOR default-ctor.cxx
-- checking CPP_FINAL final.cxx
-- checking CPP_NOEXCEPT throw-noexcept.cxx
-- checking CPP_RANGE_FOR range-for.cxx
-- checking STD_CHRONO std_chrono.cxx
-- checking STD_NULLPTR null_ptr.cxx
-- checking STD_REGEX std_regex.cxx
-- Making library "kwiver_algo_core"
-- Building plugin "kwiver_algo_core"
-- Making library "kwiver_algo_core_plugin"
-- Making library "kwiver_algo_core_applets"
-- Making library "kwiver_algo_mvg"
-- Building plugin "kwiver_algo_mvg"
-- Making library "kwiver_algo_mvg_plugin"
-- Making library "kwiver_algo_mvg_applets"
-- Making library "kwiver_algo_klv"
-- Making library "sprokit_pipeline"
-- Making library "sprokit_pipeline_util"
-- Making library "sprokit_applets"
-- Making library "processes_clusters"
-- Making library "processes_examples"
-- Making library "schedulers"
-- Making library "schedulers_examples"
CMake Deprecation Warning at vital/kwiversys/CMakeLists.txt:78 (CMAKE_MINIMUM_REQUIRED):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.


-- Making library "vital"
-- Making library "vital_exceptions"
-- Making library "vital_algo"
-- Making library "algo_explorer_plugin"
-- Making library "vital_util"
-- Making library "vital_c"
-- Making library "vital_config"
-- Making library "format_config"
-- Making library "vital_logger"
-- Making library "vital_vpm"
-- Making library "kwiver_tools_applet"
-- Making library "vital_applets"
-- Making library "explorer_plugin"
-- [configure-ceres_bundle_adjuster] Creating configure command
-- [configure-core_feature_descriptor_io] Creating configure command
-- [configure-core_feature_tracker] Creating configure command
-- [configure-core_fmatrix_guided_feature_matcher] Creating configure command
-- [configure-core_homography_guided_feature_matcher] Creating configure command
-- [configure-core_image_list_video_input] Creating configure command
-- [configure-core_nonmax_detector] Creating configure command
-- [configure-core_output_homography_generator] Creating configure command
-- [configure-core_pca_canonical_tfm] Creating configure command
-- [configure-core_track_filter] Creating configure command
-- [configure-core_video_input_image_list] Creating configure command
-- [configure-core_video_input_image_pos_list] Creating configure command
-- [configure-cuda_integrate_depth_maps] Creating configure command
-- [configure-default_camera_intrinsics] Creating configure command
-- [configure-ffmpeg_video_input] Creating configure command
-- [configure-loop_closer_bad_frames] Creating configure command
-- [configure-loop_closer_homography] Creating configure command
-- [configure-loop_closer_keyframe] Creating configure command
-- [configure-loop_closer_multi_method] Creating configure command
-- [configure-mvg_hierarchical_bundle_adjuster] Creating configure command
-- [configure-mvg_initialize_cameras_landmarks] Creating configure command
-- [configure-mvg_initialize_cameras_landmarks_basic] Creating configure command
-- [configure-ocv_klt_tracker] Creating configure command
-- [configure-ocv_ORB_detector_descriptor] Creating configure command
-- [configure-ocv_SURF_detector_descriptor] Creating configure command
-- [configure-super3d_depth_map] Creating configure command
-- [configure-applet-dump_klv] Creating configure command
-- [configure-applet-estimate_depth] Creating configure command
-- [configure-applet-fuse_depth] Creating configure command
-- [configure-applet-init_cameras_landmarks] Creating configure command
-- [configure-applet-track_features] Creating configure command
-- [configure-applet-color_mesh] Creating configure command
-- [configure-models-default_burnout_600_iters] Creating configure command
-- [configure-pipelines-detect_burnin] Creating configure command
-- [configure-pipelines-inpaint_burnin] Creating configure command
-- [configure-version.h] Creating configure command
-- Configuring done
-- Generating done
-- Build files have been written to: /home/skinkie/Sources/kwiver/build

@kevinsmia1939
Copy link
Author

Hi, I'm here to report that the new TeleSculptor works now, I can choose the folder properly now.
I will update the Flatpak for testing soon.

@kevinsmia1939
Copy link
Author

I submit pr to flathub here, waiting to be build and test.
flathub/flathub#2525

@kevinsmia1939
Copy link
Author

@mleotta
Hi,
Does TeleSculptor need network connection?
I create .desktop and metainfo.xml file for TeleSculptor, I want to submit this patch, which directory where do you want it to?

@mleotta
Copy link
Member

mleotta commented Sep 24, 2021

@kevinsmia1939 I would suggest putting those files in packaging since that is where we have been putting file that are need to support packaging TeleSculptor. TeleSculptor does not need a network connect after it is built and installed.

@kevinsmia1939
Copy link
Author

I create TeleSculptor Flatpak!

This is a test repo, but it can be install like this.

  1. Install Flatpak, sudo apt install flatpak
  2. flatpak install --user https://dl.flathub.org/build-repo/58812/org.telesculptor.TeleSculptor.flatpakref
  3. There should be TeleSculptor icon in the menu.

@kevinsmia1939
Copy link
Author

I guess this can be close now.
It is here: https://flathub.org/apps/details/org.telesculptor.TeleSculptor

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants