tangible-landscape / tangible-landscape-install

Install scripts for Tangible Landscape
GNU General Public License v3.0
1 stars 3 forks source link

Grass GIS will not open Ubuntu 18.04 #2

Closed hairstrg closed 2 years ago

hairstrg commented 2 years ago

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: Grass_error_on_open

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.

petrasovaa commented 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.

hairstrg commented 2 years ago

Hello again, I tried downloading the system via the new scripts, and it fails in the Tangible Landscape section, with the error shown below: no_make

petrasovaa commented 2 years ago

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.

hairstrg commented 2 years ago

Running the lines from the TL section individually gives the same error: just_tl_section

In running the script and looking back though the output, nothing jumps out at me as an error.

petrasovaa commented 2 years ago

Does GRASS work?

hairstrg commented 2 years ago

No, if I go and install just the grass section of the script, it gives the following error: PDAL_lib

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.

petrasovaa commented 2 years ago

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?

hairstrg commented 2 years ago

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: No_Icon

Here is the error that comes up when I try to open Grass (at the top of the screen in the middle): Grass_not_opening

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.

petrasovaa commented 2 years ago

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.

hairstrg commented 2 years ago

I ran the script, and found two errors, one when trying to download k4a, in line 133: Error_in_k4a

and one when downloading Tangible Landscape at line 141: TL_Make_Install_error

I'm sorry this is taking so long, and thank you for helping.

hairstrg commented 2 years ago

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: Opening_GRASS

petrasovaa commented 2 years ago

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.

hairstrg commented 2 years ago

log.txt

Here you go.

petrasovaa commented 2 years ago

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.

hairstrg commented 2 years ago

I'm still getting the same errors:

log.txt

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: Permissions_error

petrasovaa commented 2 years ago

I'm still getting the same errors:

log.txt

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: Permissions_error

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.

petrasovaa commented 2 years ago

There is still a problem in the script, I will get back to you.

petrasovaa commented 2 years ago

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.

hairstrg commented 2 years ago

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.

hairstrg commented 2 years ago

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." gpg_error

petrasovaa commented 2 years ago

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.

hairstrg commented 2 years ago

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.'

gpg_error_2

petrasovaa commented 2 years ago

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.

hairstrg commented 2 years ago

It ran, but I encountered an error: log.txt

petrasovaa commented 2 years ago

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.

hairstrg commented 2 years ago

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?

petrasovaa commented 2 years ago

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?

hairstrg commented 2 years ago

pkg-config_output

It's possible, I tried downloading Tangible Landscape at least once via the old script (before you changed it to update the version numbers).

petrasovaa commented 2 years ago

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...

wenzeslaus commented 2 years ago

Check with ls -l /usr/local/lib so that it is clear where the symlinks go.

hairstrg commented 2 years ago

I Appear to have a .../pcl-1.10 folder, not a -1.11, here's what's in that:

file_incudes

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
petrasovaa commented 2 years ago

Could you check in synaptic whether you have pcl 1.10 installed from packages? If yes, try to uninstall it (all libpcl-* packages).

hairstrg commented 2 years ago

I did, it is uninstalled, should I install 1.11?

petrasovaa commented 2 years ago

Try to compile r.in.kinect again:

make clean MODULE_TOPDIR=../grass
make MODULE_TOPDIR=../grass
hairstrg commented 2 years ago

Good news! GRASS opens now, and the tangible landscape plugin seems to be operational, at least the GUI opens for it: GRASS_opens!

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?

petrasovaa commented 2 years ago

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.

hairstrg commented 2 years ago

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. vtk_errors

It also seems to have not found any of the PCL modules it was looking for. looking_for_pcl

petrasovaa commented 2 years ago

This looks correct. Could you send me the content of the link.txt file I mentioned?

hairstrg commented 2 years ago

link.txt

Sorry

hairstrg commented 2 years ago

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

petrasovaa commented 2 years ago

OK, I am glad you figured it out!