Closed hairstrg closed 2 years ago
The problem is an old version of GRASS together with latest wxPython. The latest is GRASS 7.8.7 from the 7.8 series, but you can try the latest 8.2 version. I just updated all the install scripts to use the latest versions of GRASS, r.in.kinect, and the Tangible Landscape plugin. I couldn't test a lot, but hopefully they work better now.
Hello again, I tried downloading the system via the new scripts, and it fails in the Tangible Landscape section, with the error shown below:
Not sure, maybe there was an error when you scroll up? Line 142 should be run from ~/Documents/tanLan/grass-tangible-landscape-1.2.1
but it looks like you are one directory up.
Running the lines from the TL section individually gives the same error:
In running the script and looking back though the output, nothing jumps out at me as an error.
Does GRASS work?
No, if I go and install just the grass section of the script, it gives the following error:
I went though and tried to install PDAL, and from what I saw of that installation it looked successful.
If I try to open GRASS the computer gives me an error abut the text containing only white space, although that might be a remnant of the previous attempt at installing GRASS 7.8.3.
I updated the script to remove PDAL support, it looks like there is only an old version in packages in Ubuntu 18.04.
Could you post the error?
First off the grass program has no icon in the programs menu, don't know if that's related, but figured I would bring it up:
Here is the error that comes up when I try to open Grass (at the top of the screen in the middle):
Part of me is wondering if this is leftovers from my previous attempt to install Grass, and that running the new script will solve the problem, which I am doing now.
Hm, not sure what that error is. Try to execute the end of the script: https://github.com/tangible-landscape/tangible-landscape-install/blob/master/install_Ubuntu-18.04_k4a.sh#L144 (make sure your variables are defined in the shell)
That should give you the icon in dash. It should point to /usr/local/bin/grass.
I ran the script, and found two errors, one when trying to download k4a, in line 133:
and one when downloading Tangible Landscape at line 141:
I'm sorry this is taking so long, and thank you for helping.
If I try to open grass, which does have an image now, it fails with the following terminal output, the loading image for GRASS opens up, but no other windows:
I ran the script, and found two errors, one when trying to download k4a, in line 133:
This suggests there is something wrong with the pcl installation.
and one when downloading Tangible Landscape at line 141
It looks like GRASS compilation didn't finish correctly.
I'm sorry this is taking so long, and thank you for helping.
How about you remove everything from your folder and run the script again bash install.sh >> log.txt 2>&1
This way I get the full output.
The problem was old Python on Ubuntu 18 (Ubuntu 18 is getting outdated). I added installing Python 3.7 to the script: https://github.com/tangible-landscape/tangible-landscape-install/blob/master/install_Ubuntu-18.04_k4a.sh#L80
I am running the installation now in docker to see what else could be failing.
I'm still getting the same errors:
Something that might be related: if I try to run just the line to install the new python then I get a permissions error, although this doesn't seem to happen when the script does it:
I'm still getting the same errors:
Something that might be related: if I try to run just the line to install the new python then I get a permissions error, although this doesn't seem to happen when the script does it:
Not sure why the script doesn't work, but the error in the screenshot just means you have your synaptic GUI open while you are trying to install packages from command line, you need to close the GUI first.
There is still a problem in the script, I will get back to you.
Any chance you could upgrade your system to 20.04? Currently with 18.04 the problem is the old python version, and although I can install newer version, I would need to configure your system to use the newer version which might break some unrelated things. Upgrade is typically fairly simple. If that's not an option, you could go back to using GRASS GIS 7.8.7.
Yea, I can do that, the PC I'm on is actually duel booted with 18.04 and 20.04, I was trying to get 18.04 to work because that was the version of the script that supported the Azure Kinect.
If memory serves I was having some issues with that version as well, I will look at what those are and get back to you.
I've attempted to run the script in 20.04, and after the script is run the terminal hangs for a while, prints out a message, something about unstable releases, asks me to hit enter, and then hangs for a while more, then prints a message: "Error: retrieving gpg key timed out."
I fixed the scripts, please try it now. BTW, you are running the one for xbox one, before you were running the k4a one. You can have both k4a and xbox one drivers installed, but then it depends which git branch r.in.kinect is being compiled from.
I'm still getting "Error: retrieving gpg key timed out." when running the first line, according to one error report I looked up I might just need to wait a bit for the servers to open up, but I've tried this a few times now, so I'm not sure.'
That is strange. I just tried it and it works. I would make sure internet works. Try to remove the line altogether, I suspect it may not be really needed. You might get some older versions of libraries, but that might not be an issue.
Hmm, I was looking at it but I am not sure what exactly to do about this. I ran the script in docker and it works, including the compilation of r.in.kinect that fails for you. So it is some local configuration issue, which is hard to figure out.
This is a shot in the dark but try modifying r.in.kinect Makefile to move "-lpcl_common" just before -lpcl_io so that it looks like:
... -rdynamic -lk4a -Wl,-Bstatic -lflann_cpp_s -Wl,-Bdynamic -lpcl_common -lpcl_io ...
and then run from r.in.kinect directory:
make clean MODULE_TOPDIR=../grass
make MODULE_TOPDIR=../grass
and see if anything changes.
I encountered the same error.
It's worth noting that this error appears earlier in the log file (line 18635):
ERROR: gcc -E -I/home/rlab/Documents/tangiblelandscape/grass/dist.x86_64-pc-linux-gnu/include -I/home/rlab/Documents/tangiblelandscape/grass/dist.x86_64-pc-linux-gnu/include -D__GLIBC_HAVE_LONG_LONG: /home/rlab/Documents/tangiblelandscape/grass/dist.x86_64-pc-linux-gnu/include/grass/gprojects.h:55:14: fatal error: ogr_srs_api.h: No such file or directory
Also, I am just using the terminal to run the script, might that be the issue, as you are using Docker?
I encountered the same error.
It's worth noting that this error appears earlier in the log file (line 18635):
ERROR: gcc -E -I/home/rlab/Documents/tangiblelandscape/grass/dist.x86_64-pc-linux-gnu/include -I/home/rlab/Documents/tangiblelandscape/grass/dist.x86_64-pc-linux-gnu/include -D__GLIBC_HAVE_LONG_LONG: /home/rlab/Documents/tangiblelandscape/grass/dist.x86_64-pc-linux-gnu/include/grass/gprojects.h:55:14: fatal error: ogr_srs_api.h: No such file or directory
This is actually not important. The problem is at the end of the log - all the undefined references.
Also, I am just using the terminal to run the script, might that be the issue, as you are using Docker?
Docker is something like a lightweight virtual machine. You could try to run the script with Docker, but that's not really solving anything.
What does this give you:
pkg-config --libs pcl_filters-1.11
pkg-config --cflags pcl_common-1.11
Any chance you installed other versions of PCL before?
It's possible, I tried downloading Tangible Landscape at least once via the old script (before you changed it to update the version numbers).
What do you have in /usr/local/include/pcl-1.11
and /usr/local/lib
? So far it all looks as it's supposed to...
Check with ls -l /usr/local/lib
so that it is clear where the symlinks go.
I Appear to have a .../pcl-1.10 folder, not a -1.11, here's what's in that:
as for ls -l /usr/local/lib (if there is a better way to format this let me know):
drwxr-xr-x 3 root root 4096 Jun 8 11:54 cmake
lrwxrwxrwx 1 root root 19 Jun 8 11:54 libfreenect2.so -> libfreenect2.so.0.2
lrwxrwxrwx 1 root root 21 Jun 8 11:54 libfreenect2.so.0.2 -> libfreenect2.so.0.2.0
-rw-r--r-- 1 root root 3914072 Jun 8 15:22 libfreenect2.so.0.2.0
lrwxrwxrwx 1 root root 21 Jun 8 14:16 libpcl_common.so -> libpcl_common.so.1.11
lrwxrwxrwx 1 root root 23 Jun 8 14:16 libpcl_common.so.1.11 -> libpcl_common.so.1.11.1
-rw-r--r-- 1 root root 898136 Jul 5 15:31 libpcl_common.so.1.11.1
lrwxrwxrwx 1 root root 23 Jun 8 14:16 libpcl_features.so -> libpcl_features.so.1.11
lrwxrwxrwx 1 root root 25 Jun 8 14:16 libpcl_features.so.1.11 -> libpcl_features.so.1.11.1
-rw-r--r-- 1 root root 54781968 Jul 5 15:56 libpcl_features.so.1.11.1
lrwxrwxrwx 1 root root 22 Jun 8 14:16 libpcl_filters.so -> libpcl_filters.so.1.11
lrwxrwxrwx 1 root root 24 Jun 8 14:16 libpcl_filters.so.1.11 -> libpcl_filters.so.1.11.1
-rw-r--r-- 1 root root 10304896 Jul 5 15:46 libpcl_filters.so.1.11.1
lrwxrwxrwx 1 root root 21 Jun 8 14:16 libpcl_io_ply.so -> libpcl_io_ply.so.1.11
lrwxrwxrwx 1 root root 23 Jun 8 14:16 libpcl_io_ply.so.1.11 -> libpcl_io_ply.so.1.11.1
-rw-r--r-- 1 root root 523008 Jul 5 15:30 libpcl_io_ply.so.1.11.1
lrwxrwxrwx 1 root root 17 Jun 8 14:16 libpcl_io.so -> libpcl_io.so.1.11
lrwxrwxrwx 1 root root 19 Jun 8 14:16 libpcl_io.so.1.11 -> libpcl_io.so.1.11.1
-rw-r--r-- 1 root root 3221152 Jul 5 15:35 libpcl_io.so.1.11.1
lrwxrwxrwx 1 root root 21 Jun 8 14:16 libpcl_kdtree.so -> libpcl_kdtree.so.1.11
lrwxrwxrwx 1 root root 23 Jun 8 14:16 libpcl_kdtree.so.1.11 -> libpcl_kdtree.so.1.11.1
-rw-r--r-- 1 root root 1706776 Jul 5 15:32 libpcl_kdtree.so.1.11.1
lrwxrwxrwx 1 root root 24 Jun 8 14:16 libpcl_keypoints.so -> libpcl_keypoints.so.1.11
lrwxrwxrwx 1 root root 26 Jun 8 14:16 libpcl_keypoints.so.1.11 -> libpcl_keypoints.so.1.11.1
-rw-r--r-- 1 root root 2191680 Jul 5 16:02 libpcl_keypoints.so.1.11.1
lrwxrwxrwx 1 root root 17 Jun 8 14:16 libpcl_ml.so -> libpcl_ml.so.1.11
lrwxrwxrwx 1 root root 19 Jun 8 14:16 libpcl_ml.so.1.11 -> libpcl_ml.so.1.11.1
-rw-r--r-- 1 root root 188976 Jul 5 15:31 libpcl_ml.so.1.11.1
lrwxrwxrwx 1 root root 21 Jun 8 14:16 libpcl_octree.so -> libpcl_octree.so.1.11
lrwxrwxrwx 1 root root 23 Jun 8 14:16 libpcl_octree.so.1.11 -> libpcl_octree.so.1.11.1
-rw-r--r-- 1 root root 2840256 Jul 5 15:32 libpcl_octree.so.1.11.1
lrwxrwxrwx 1 root root 24 Jun 8 14:16 libpcl_outofcore.so -> libpcl_outofcore.so.1.11
lrwxrwxrwx 1 root root 26 Jun 8 14:16 libpcl_outofcore.so.1.11 -> libpcl_outofcore.so.1.11.1
-rw-r--r-- 1 root root 118392 Jul 5 15:43 libpcl_outofcore.so.1.11.1
lrwxrwxrwx 1 root root 21 Jun 8 14:16 libpcl_people.so -> libpcl_people.so.1.11
lrwxrwxrwx 1 root root 23 Jun 8 14:16 libpcl_people.so.1.11 -> libpcl_people.so.1.11.1
-rw-r--r-- 1 root root 26784 Jul 5 15:31 libpcl_people.so.1.11.1
lrwxrwxrwx 1 root root 26 Jun 8 14:16 libpcl_recognition.so -> libpcl_recognition.so.1.11
lrwxrwxrwx 1 root root 28 Jun 8 14:16 libpcl_recognition.so.1.11 -> libpcl_recognition.so.1.11.1
-rw-r--r-- 1 root root 6560432 Jul 5 16:04 libpcl_recognition.so.1.11.1
lrwxrwxrwx 1 root root 27 Jun 8 14:16 libpcl_registration.so -> libpcl_registration.so.1.11
lrwxrwxrwx 1 root root 29 Jun 8 14:16 libpcl_registration.so.1.11 -> libpcl_registration.so.1.11.1
-rw-r--r-- 1 root root 2522128 Jul 5 16:00 libpcl_registration.so.1.11.1
lrwxrwxrwx 1 root root 31 Jun 8 14:16 libpcl_sample_consensus.so -> libpcl_sample_consensus.so.1.11
lrwxrwxrwx 1 root root 33 Jun 8 14:16 libpcl_sample_consensus.so.1.11 -> libpcl_sample_consensus.so.1.11.1
-rw-r--r-- 1 root root 17172600 Jul 5 15:37 libpcl_sample_consensus.so.1.11.1
lrwxrwxrwx 1 root root 21 Jun 8 14:16 libpcl_search.so -> libpcl_search.so.1.11
lrwxrwxrwx 1 root root 23 Jun 8 14:16 libpcl_search.so.1.11 -> libpcl_search.so.1.11.1
-rw-r--r-- 1 root root 2856992 Jul 5 15:36 libpcl_search.so.1.11.1
lrwxrwxrwx 1 root root 27 Jun 8 14:16 libpcl_segmentation.so -> libpcl_segmentation.so.1.11
lrwxrwxrwx 1 root root 29 Jun 8 14:16 libpcl_segmentation.so.1.11 -> libpcl_segmentation.so.1.11.1
-rw-r--r-- 1 root root 18904712 Jul 5 16:00 libpcl_segmentation.so.1.11.1
lrwxrwxrwx 1 root root 21 Jun 8 14:16 libpcl_stereo.so -> libpcl_stereo.so.1.11
lrwxrwxrwx 1 root root 23 Jun 8 14:16 libpcl_stereo.so.1.11 -> libpcl_stereo.so.1.11.1
-rw-r--r-- 1 root root 336416 Jul 5 15:31 libpcl_stereo.so.1.11.1
lrwxrwxrwx 1 root root 22 Jun 8 14:16 libpcl_surface.so -> libpcl_surface.so.1.11
lrwxrwxrwx 1 root root 24 Jun 8 14:16 libpcl_surface.so.1.11 -> libpcl_surface.so.1.11.1
-rw-r--r-- 1 root root 19249960 Jul 5 15:41 libpcl_surface.so.1.11.1
lrwxrwxrwx 1 root root 23 Jun 8 14:16 libpcl_tracking.so -> libpcl_tracking.so.1.11
lrwxrwxrwx 1 root root 25 Jun 8 14:16 libpcl_tracking.so.1.11 -> libpcl_tracking.so.1.11.1
-rw-r--r-- 1 root root 5335296 Jul 5 15:47 libpcl_tracking.so.1.11.1
lrwxrwxrwx 1 root root 28 Jun 8 14:16 libpcl_visualization.so -> libpcl_visualization.so.1.11
lrwxrwxrwx 1 root root 30 Jun 8 14:16 libpcl_visualization.so.1.11 -> libpcl_visualization.so.1.11.1
-rw-r--r-- 1 root root 1754544 Jul 5 15:38 libpcl_visualization.so.1.11.1
drwxr-xr-x 3 root root 4096 Jun 8 11:54 OpenNI2
drwxr-xr-x 2 root root 4096 Jul 5 16:07 pkgconfig
drwxrwsr-x 4 root staff 4096 Jun 8 11:14 python2.7
drwxrwsr-x 3 root staff 4096 Feb 23 02:47 python3.8
Could you check in synaptic whether you have pcl 1.10 installed from packages? If yes, try to uninstall it (all libpcl-* packages).
I did, it is uninstalled, should I install 1.11?
Try to compile r.in.kinect again:
make clean MODULE_TOPDIR=../grass
make MODULE_TOPDIR=../grass
Good news! GRASS opens now, and the tangible landscape plugin seems to be operational, at least the GUI opens for it:
But as you can see, it cannot find the r.in.kinect module, this feels like a problem. Although it's worth mentioning that I did not have a kinect plugged in when I did this test.
I'm not sure I have pcl-1.11, is that the problem?
The problem is r.in.kinect does not compile. It looks like you have pcl-1.11 compiled. You could try to make sure pcl itself works by trying to compile one of their examples. Use e.g. this one: https://pointclouds.org/documentation/tutorials/passthrough.html
Create somewhere a folder, put passthrough.cpp and CMakeLists.txt file there, then create build
folder, then cd build
, then run cmake ..
. If it looks fine, copy output of cat build/passthrough.dir/link.txt
here.
I don't think that worked, when I run cmake, it talks a bunch about vtk, and does not appear to make the program properly.
It also seems to have not found any of the PCL modules it was looking for.
This looks correct. Could you send me the content of the link.txt file I mentioned?
Ok, so after getting some help from someone in person, I installed Eigen, and reinstalled r.in.kinect, and everything appears to be working, although I have not tested it with a physical system yet
OK, I am glad you figured it out!
Hello! I'm a little new to this sort of thing, so if I omit some needed piece information please let me know, and I apologize in advance.
I'm on Ubuntu 18.04, and installed GRASS GIS and tangible landscape via the install_Ubuntu-18.04_k4a.sh install script, the only modification I made was to up the number of threads it was able to use to 8, but when I try to open the GRASS GUI from the command line the following message appears:
This error seems similar to an error that had been reported with GRASS version 7.8.5(?): https://github.com/OSGeo/grass/issues/1218 Although the script is trying to install version 7.8.3, which is even earlier then the version they recommended to fix that issue.
I am running python version 3.6.9, and wxPython version 4.1.1.