I had a hell of a time getting gdal installed today, even though I've been able to do it successfully in the past. I finally got it working, so if you're reading this I hope I can save you some time.
If you are running into issues like:
error while loading shared libraries: libgdal.so.20: cannot open shared object file: No such file or directory
or
ogr_sfcgal.h:34:34: fatal error: SFCGAL/capi/sfcgal_c.h: No such file or directory
or you're stuck on the yum rpm of gdal that's at 1.11, then I hope the answer below helps you.
First of all, make sure you have the dependencies installed, like SFCGAL:
sudo yum install SFCGAL -y
You might come across others with errors similar to the one above for SFCGAL. I'll leave it up to you to track them down and install them via yum.
A recent RPM of gdal isn't available via yum, so you will have to install from source. What often happens with installing gdal, it seems to me, is that a user will install to /usr/local/bin rather than /usr/bin, which is where rgdal seems to look. This means you need to install to /usr/bin. But how can you do this without an RPM? You will install from source.
It's simple. Download a >2.0 version of gdal here: https://trac.osgeo.org/gdal/wiki/DownloadSource
And run the following:
./configure --prefix=/usr
make
sudo make install
After this, you might get an error like
error while loading shared libraries: libgdal.so.20: cannot open shared object file: No such file or directory
You need to updated your shared library links. You can do this with:
sudo ldconfig
I hope this is helpful and that I saved you some time. I'm not an expert, so this might not be perfect advice. I wish you luck.
I found that the yum installation of SFCGAL was always missing the header file.
Instead I removed SFCGAL then executed the gdal build/install steps.
sudo yum erase SFCGAL
After gdal was built and installed, I reinstalled SFCGAL
sudo yum install SFCGAL
Related
I would like to be able to install the rstan package from binaries (without compiling from source). This blog post by Dirk Eddelbuettel has some clear instructions that should enable me to do exactly that. However I get the following error message when I try and install RStan. Here are the commands I used.
docker run --rm -ti rocker/r-ubuntu:18.04 bash
apt-get update; apt-get dist-upgrade -y
apt-get install -y r-cran-rstan
This produces the following error message.
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
r-cran-rstan : Depends: r-cran-v8 but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
Installing the R tidyverse package using Dirk's instructions works fine. I am working on a Ubuntu OS within the Windows Subsystem for Linux (WSL-2).
These things can happen -- the best best is to then try
sudo apt install r-cran-v8
which reveals r-cran-node64 is required but not available.
I work much more with 20.04 than 18.04 so I don't what is going on here. I would recommend asking on the r-sig-debian list if anybody else has seen this.
PS And if you try 20.04 instead it works there.
I've been using R with ggplot2 and other packages on my Linux CentOS 7 for a long time.
Today, all of a sudden, it stopped working.
When I call the png() function in my script, it generates the following errrors:
Warning messages:
1: In png(heatmap_file) :
unable to load shared object '/usr/lib64/R/library/grDevices/libs//cairo.so':
/lib64/libcairo.so.2: undefined symbol: FT_Get_Var_Design_Coordinates
2: In png(heatmap_file) : failed to load cairo DLL
I tried to update the cairo package many times but nothing worked out so far.
What can I do?
Thanks!
Your version of cairo (/lib64/libcairo.so.2) depends on a function called FT_Get_Var_Design_Coordinates. This function should come from FreeType. However, your version of libfreetype.so seems to be older and does not have this symbol. So, either you explicitly installed an older version, or "something" comes with an older version of FreeType.
I would look for files called libfreetype.so and check if they have the necessary symbol
I'm on Debian testing and here I get (this means that my version of FreeType does have this symbol; you would get no output if the symbol is not available):
$ nm -s -D /usr/lib/x86_64-linux-gnu/libfreetype.so | grep FT_Get_Var_Design_Coordinates
000000000001d260 T FT_Get_Var_Design_Coordinates
For you, based on the path to libcairo.so, I would expect something like /lib64/libfreetype.so to be the path to check.
I found a solution and I am going to share it with the community.
I am working on a Dell Latitude 3540 laptop running Linux CentOS 7 operating system (centos-release-7-3.1611.el7.centos.x86_64).
I ran sudo yum -y update and I understood there was a duplication issue regarding the freetype package, which was installed twice, and some other packages that were having conflicts.
I then removed the old freetype package and the conflicting packages with this command:
rpm -e freetype-2.4.11-12.el7.i686 --nodeps
rpm -e conflicting-package-1 --nodeps
rpm -e conflicting-package-2 --nodeps
...
Then I updated all the packages I manually removed:
sudo yum -y update freetype
sudo yum -y conflicting-package-1 freetype
sudo yum -y conflicting-package-2 freetype
...
This method worked out for me; I hope it might be helpful to someone.
I have successfully installed the rgdal package along with the dependencies GDAL and Proj4. After installation I succesfully loaded the package in R with the library function. However after my most recent login when i type in the command library(rgdal) I get an error message:
Error: package or namespace load failed for 'rgdal' in dyn.load(file,
DLLpath = DLLpath, ...):
unable to load shared object '/home/nikhail1/R/x86_64-pc-linux-gnu-
library/3.4/rgdal/libs/rgdal.so':
libgdal.so.20: cannot open shared object file: No such file or directory
I understand this means there is no link to the libgdal file but I am not sure how to fix it. libgdal.so.20 is in the system under /home/nikhail1/bin/gdal/lib/. The rgdal.so file is under the rgdal folder in the R library in my /home/nikhail1/ system. I do not have the authority to perform an ldconfig function on shared libraries (I am a novice). Does anyone have a function that could help me make the system recognize the pathway to libgdal.so.20. I am working on a Linux CentOs 6.9 system. I cannot perform any sudo apt-get, yum or brew functions.
Many thanks, Nikhail
You can set LD_LIBRARY_PATH to include /home/nikhail1/bin/gdal/lib, i.e. in bash
export LD_LIBRARY_PATH="/home/nikhail1/bin/gdal/lib:$LD_LIBRARY_PATH"
ldd /home/nikhail1/R/x86_64-pc-linux-gnu-library/3.4/rgdal/libs/rgdal.so
should report libgdal.so.20 as been found. How to make this persistent depends on your desktop environment.
I've suffered quite a lot with gdal, rgdal and the proper setting of these in order to run rgdal functions in R. My bulletproof routine at the moment is the following:
UNINSTALL GDAL
sudo apt-get remove gdal-bin
Uninstall gdal-bin including dependent package
If you would like to remove gdal-bin and it's dependent packages which are no longer needed from Ubuntu,
sudo apt-get remove --auto-remove gdal-bin
Use Purging gdal-bin
If you use with purge options to gdal-bin package all the configuration and dependent packages will be removed.
sudo apt-get purge gdal-bin
If you use purge options along with auto remove, will be removed everything regarding the package, It's really useful when you want to reinstall again.
sudo apt-get purge --auto-remove gdal-bin
Just to be sure if you've tried and failed many times to install it and it doesn't work, run all of these in sequential order.
INSTALL GDAL
sudo apt-get update
sudo apt-get install gdal-bin proj-bin libgdal-dev libproj-dev -y
INSTALL RGDAL
IN R:
install.packages('rgeos', type='source')
install.packages('rgdal', type='source')
Now everything should load and run smooth.
When I install a fcitx related package an error show that qtbase-abi-5-5-1 is needed but not installed.
wsx#wsx:~/Downloads$ sudo apt install ./fcitx-frontend-qt5-rstudio_1.0.5-1ubuntu1~qt542_amd64.deb ./libfcitx-qt5-1-rstudio_1.0.5-1ubuntu1~qt542_amd64.deb
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'fcitx-frontend-qt5-rstudio' instead of './fcitx-frontend-qt5-rstudio_1.0.5-1ubuntu1~qt542_amd64.deb'
Note, selecting 'libfcitx-qt5-1-rstudio' instead of './libfcitx-qt5-1-rstudio_1.0.5-1ubuntu1~qt542_amd64.deb'
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
fcitx-frontend-qt5-rstudio : Depends: qtbase-abi-5-5-1 but it is not installable
E: Unable to correct problems, you have held broken packages.
I tried using command sodu apt install qtbase-abi-5 to find the package but failed. I then download the .deb package from https://ubuntu.pkgs.org/16.04/ubuntu-updates-main-amd64/libqt5core5a_5.5.1+dfsg-16ubuntu7.5_amd64.deb.html but it was not work, the page show that this .deb package provide the qtbase-abi-5 package. Interestingly, I can find few information about this error by google. Some info from Ask ubuntu forum say that it seems the qtbase-abi-5 is not included in libqt5core5a.
I don't know how to fix it. Can you give me some suggestion or some link which do can download qtbase-abi-5 ?
Thanks #GAD3R for your answer, I am sorry that it fails.
wsx#wsx:~$ sudo apt-cache search qtbase-abi
libqt5core5a - Qt 5 core module
wsx#wsx:~$ sudo apt install libqt5core5a
Reading package lists... Done
Building dependency tree
Reading state information... Done
libqt5core5a is already the newest version (5.9.1+dfsg-10ubuntu1).
0 upgraded, 0 newly installed, 0 to remove and 19 not upgraded.
wsx#wsx:~$ sudo apt install ./Downloads/fcitx-frontend-qt5-rstudio_1.0.5-1ubuntu1~qt542_amd64.deb ./Downloads/libfcitx-qt5-1-rstudio_1.0.5-1ubuntu1~qt542_amd64.deb
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'fcitx-frontend-qt5-rstudio' instead of './Downloads/fcitx-frontend-qt5-rstudio_1.0.5-1ubuntu1~qt542_amd64.deb'
Note, selecting 'libfcitx-qt5-1-rstudio' instead of './Downloads/libfcitx-qt5-1-rstudio_1.0.5-1ubuntu1~qt542_amd64.deb'
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
fcitx-frontend-qt5-rstudio : Depends: qtbase-abi-5-5-1 but it is not installable
E: Unable to correct problems, you have held broken packages.
Can anyone run following commands successfully?
$ wget http://ikuya.info/tmp/fcitx-qt5-rstudio-qt542.tar.gz
$ tar xf fcitx-qt5-rstudio-qt542.tar.gz
$ sudo apt install ./fcitx-frontend-qt5-rstudio_1.0.5-1ubuntu1~qt542_amd64.deb ./libfcitx-qt5-1-rstudio_1.0.5-1ubuntu1~qt542_amd64.deb
The package libqt5core5a provide qtbase-abi-5-5-1.
apt-cache search qtbase-abi
libqt5core5a - Qt 5 core module
To install the qtbase-abi-5-5-1 , run the following command :
sudo apt update
sudo apt upgrade
sudo apt dist-upgrade
sudo apt install libqt5core5a
When I run make (after running qmake) I get the following error:
/usr/bin/ld: cannot find -lQtGui
/usr/bin/ld: cannot find -lQtCore
In synaptic it shows that I have installed libqtcore4 and libqtgui4.
There is no such directory as /usr/bin/ld.
Basically, I've installed the QtSDK, and QtCreator seems to work fine in that it can build the hello world program. But I want to be able to work from the CLI and run make. I suspect that I may need to redirect the make program to look elsewhere for QtGui and QtCore. If so, how do I find out where those libraries are? I'm running Ubuntu 12.04 and I've followed the advice of this page http://www.qtforum.org/article/28081/installing-qt-4-5-2-on-linux.html down to the last section where it talks about libraries. Any suggestions?
Install Qt using apt-get
sudo apt-get install libqt4-core libqt4-gui
or if you want everything
sudo apt-get install libqt4-*
The advice at http://www.qtforum.org/article/28081/installing-qt-4-5-2-on-linux.html is outdated and useless in your case since you have a recent version of Ubuntu. It leads to having two different versions of Qt side by side, which is technically possible but hard to manage.
You should install the qtcreator Ubuntu package and just delete the /opt/qtsdk... directory and undo the modifications suggested by the outdated instructions. It is essential that your PATH is not tweaked so that it's the Ubuntu version of qmake that is found when called from the command line.
If you still have compilation problems after that, they're likely to be solved by installing more packages, such as libqt4-dev or others Qt-related packages.
Also, /usr/bin/ld is not a directory, it's the linker program.