[gelöst] Paket tmap lässt sich nicht mehr laden (Linux)

Wie rufe ich R-Funktionen auf, wie selektiere ich Daten, ich weiß nicht genau ....

Moderatoren: EDi, jogo

Hufeisen
Beiträge: 162
Registriert: Fr Aug 31, 2018 6:34 pm

[gelöst] Paket tmap lässt sich nicht mehr laden (Linux)

Beitrag von Hufeisen »

Hallo,

ich weiß gar nicht so richtig, wie ich in das Problem einführen soll. Die Installation von RStudio und den benötigten Paketen war schon recht schwierig, siehe hier: viewtopic.php?f=7&t=1057
Heute kann ich urplötzlich, also ohne etwas am System (wissentlich) verändert zu haben, tmap nicht mehr laden. Neu gestartet habe ich schon.

Beim Laden meines Skripts, das mit folgenden Zeilen, alle Pakete lädt:

Code: Alles auswählen

# Benötigte Pakete und Daten laden

  # Pakete für die Datenanalyse
  x <- c("reshape2", "ggplot2", "Hmisc")
  
  # Pakete für die Analyse räumlicher Objekte
  y <- c("sp", "rgdal", "tmap", "ncdf4", "rgeos", "ggrepel")
  
  # Pakete installieren - nur einmal erforderlich
  install.packages(x, dependencies = TRUE)
  install.packages(y, dependencies = TRUE)
  
  # Benötigte Pakete in R laden - bei jedem Start erforderlich
  lapply(x,  library,  character.only = TRUE)
  lapply(y,  library,  character.only = TRUE)
  rm(x, y)
  
...bekomme ich folgende Fehlermeldung, wenn das Skript beim Paket tmap ankommt.

Code: Alles auswählen

Fehler: package or namespace load failed for ‘tmap’ in dyn.load(file, DLLpath = DLLpath, ...):
 kann shared object '/home/mp/R/x86_64-pc-linux-gnu-library/3.4/sf/libs/sf.so' nicht laden:
  /home/mp/R/x86_64-pc-linux-gnu-library/3.4/sf/libs/sf.so: undefined symbol: _ZN10OGRFeature20GetFieldAsDoubleListEiPi
Die Datei sf.so ist aber unter dem spezifizierten Pfad vorhanden. Das Paket sf ist auch noch immer unter der Version 0.6-3 installiert, so wie ich es damals (Link oben) installiert habe).

Jetzt bin ich rat- und hilflos.

Ich danke schon mal für jede Hilfe.


Benutzt wird wie bisher R 3.4.4 und RStudio 1.1.456.
Sicherheitshalber noch mal mein System:

Code: Alles auswählen

System:    Host: Gert Kernel: 4.19.4-041904-generic x86_64 bits: 64
           Desktop: Cinnamon 3.8.9  Distro: Linux Mint 19 Tara
Machine:   Device: laptop System: HP product: HP Laptop 15-db0xxx v: Type1ProductConfigId serial: N/A
           Mobo: HP model: 84AE v: 86.19 serial: N/A
           UEFI: Insyde v: F.03 date: 04/26/2018
Battery    BAT1: charge: 40.6 Wh 100.0% condition: 40.6/41.0 Wh (99%)
CPU:       Quad core AMD Ryzen 5 2500U with Radeon Vega Mobile Gfx (-MT-MCP-) 
           cache: 2048 KB
           clock speeds: max: 2000 MHz 1: 1399 MHz 2: 1304 MHz 3: 1308 MHz
           4: 1405 MHz 5: 1566 MHz 6: 1407 MHz 7: 1410 MHz 8: 1389 MHz
Graphics:  Card: Advanced Micro Devices [AMD/ATI] Vega [Radeon Vega 8 Mobile]
           Display Server: x11 (X.Org 1.19.6 )
           drivers: ati,amdgpu (unloaded: modesetting,fbdev,vesa,radeon)
           Resolution: 1920x1080@60.10hz
           OpenGL: renderer: AMD RAVEN (DRM 3.27.0, 4.19.4-041904-generic, LLVM 7.0.0)
           version: 4.5 Mesa 18.3.0 - padoka PPA
Audio:     Card-1 Advanced Micro Devices [AMD] Device 15e3
           driver: snd_hda_intel
           Card-2 Advanced Micro Devices [AMD/ATI] Device 15de
           driver: snd_hda_intel
           Sound: Advanced Linux Sound Architecture v: k4.19.4-041904-generic
Network:   Card-1: Realtek RTL8111/8168/8411 PCIE Gigabit Ethernet Controller
           driver: r8169
           IF: eno1 state: down mac: <filter>
           Card-2: Realtek RTL8821CE 802.11ac PCIe Wireless Network Adapter
           driver: rtl8821ce
           IF: wlo1 state: up mac: <filter>
Drives:    HDD Total Size: 1256.3GB (15.2% used)
           ID-1: /dev/nvme0n1 model: SK_hynix_BC501_HFM256GDJTNG size: 256.1GB
           
           ID-2: /dev/sda model: HGST_HTS541010B7 size: 1000.2GB
Partition: ID-1: / size: 175G used: 69G (42%) fs: ext4 dev: /dev/nvme0n1p5
RAID:      No RAID devices: /proc/mdstat, md_mod kernel module present
Sensors:   System Temperatures: cpu: No active sensors found. Have you configured your sensors yet? mobo: N/A gpu: 51.0
Info:      Processes: 258 Uptime: 18 min Memory: 1775.7/7691.1MB
           Client: Shell (bash) inxi: 2.3.56 
Edit: Für den Fall, dass das ein Linuxproblem ist, habe ich das Thema auch im LMU-Forum eröffnet, hier: https://www.linuxmintusers.de/index.php?topic=52618
Edit2: Das Problem ist identisch für den Befehl library(sf).
Dateianhänge
sf im Ordner.png
Zuletzt geändert von Hufeisen am Sa Dez 22, 2018 11:24 am, insgesamt 1-mal geändert.
Athomas
Beiträge: 768
Registriert: Mo Feb 26, 2018 8:19 pm

Re: Paket tmap lässt sich nicht mehr laden (Linux)

Beitrag von Athomas »

Da ich gerade dabei bin, einen Server mit Ubuntu 18.04 und R 3.5.2 aufzusetzen, habe ich mal versucht, das nachzuvollziehen.
Die gute Nachricht: bei mir klappt's auch nicht :lol: !

Wobei die Ursachen natürlich durchaus unterschiedlich sein können - in meiner Version liegt es wohl daran, dass "lwgeom" nicht installiert werden kann, das wiederum das Vorhandensein von GEOM und PROJ voraussetzt - was auf meinem Server nicht der Fall ist :cry: ...
Hufeisen
Beiträge: 162
Registriert: Fr Aug 31, 2018 6:34 pm

Re: Paket tmap lässt sich nicht mehr laden (Linux)

Beitrag von Hufeisen »

Lieber Athomas,

das sind wirklich gute Nachrichten :D, damit habe ich also nicht irgendwie das System kaputt gemacht (oder auch nicht). Bekommst du die gleiche Fehlermeldung oder eine andere. Denn tmap sollte sich normalerweise nicht einfach so installieren lassen, weil gefühlt tausend Systemabhängigkeiten fehlen. Dieses müssen erst über das Terminal geholt werden. Dieser Leidensprozess ist in meinem ersten Link beschrieben. Ich frage nur nach, aber es klingt ja so, als ob du an fehlenden Abhängigkeiten scheiterst.
Athomas
Beiträge: 768
Registriert: Mo Feb 26, 2018 8:19 pm

Re: Paket tmap lässt sich nicht mehr laden (Linux)

Beitrag von Athomas »

aber es klingt ja so, als ob du an fehlenden Abhängigkeiten scheiterst.
Genau das habe ich versucht, zum Ausdruck zu bringen...
Hufeisen
Beiträge: 162
Registriert: Fr Aug 31, 2018 6:34 pm

Re: Paket tmap lässt sich nicht mehr laden (Linux)

Beitrag von Hufeisen »

Ich bin jetzt den unbequemen Weg gegangen und habe zum "Brecheisen" gegriffen. Ich habe sf deinstalliert. Das ist schon sehr seltsam von statten gegangen. Erfolglos blieben alle Aufrufe über RStudio oder sogar das Terminal mit root-Rechten von remove.packages("Paketname"). Auch über das RStudio Fenster unten rechts, Reiter Packages konnte ein Klick auf das X neben dem Paket sf nichts bewirken. Für mich ist das nicht plausibel, denn ich habe RStudio auch als root gestartet. Ich habe dann den Ordner sf manuell gelöscht und anschließend neu installiert.

Code: Alles auswählen

install.packages("sf", type = "source", dependencies = TRUE)
Jetzt ist sf in der aktuellen Version installiert und ich kann die Pakete laden. Ein Funktionstest über mein Skript steht noch aus, aber da bin ich optimistisch. Hier die session.Info()

Code: Alles auswählen

sessionInfo()
R version 3.4.4 (2018-03-15)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Linux Mint 19

Matrix products: default
BLAS: /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.7.1
LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.7.1

locale:
 [1] LC_CTYPE=de_DE.UTF-8       LC_NUMERIC=C               LC_TIME=de_DE.UTF-8        LC_COLLATE=de_DE.UTF-8     LC_MONETARY=de_DE.UTF-8   
 [6] LC_MESSAGES=de_DE.UTF-8    LC_PAPER=de_DE.UTF-8       LC_NAME=C                  LC_ADDRESS=C               LC_TELEPHONE=C            
[11] LC_MEASUREMENT=de_DE.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
 [1] ggrepel_0.8.0   rgeos_0.3-28    ncdf4_1.16      rgdal_1.3-6     sp_1.3-1        Hmisc_4.1-1     Formula_1.2-3   survival_2.41-3
 [9] lattice_0.20-35 ggplot2_3.1.0   reshape2_1.4.3  tmap_2.1-1      sf_0.7-2       

loaded via a namespace (and not attached):
 [1] viridisLite_0.3.0   splines_3.4.4       shiny_1.1.0         assertthat_0.2.0    stats4_3.4.4        latticeExtra_0.6-28
 [7] yaml_2.2.0          backports_1.1.2     pillar_1.3.0        glue_1.3.0          digest_0.6.16       checkmate_1.8.5    
[13] RColorBrewer_1.1-2  promises_1.0.1      colorspace_1.3-2    htmltools_0.3.6     httpuv_1.4.5        Matrix_1.2-12      
[19] plyr_1.8.4          XML_3.98-1.16       pkgconfig_2.0.2     raster_2.6-7        purrr_0.2.5         xtable_1.8-3       
[25] scales_1.0.0        webshot_0.5.0       satellite_1.0.1     later_0.7.3         htmlTable_1.12      tibble_1.4.2       
[31] withr_2.1.2         nnet_7.3-12         lazyeval_0.2.1      mapview_2.5.0       magrittr_1.5        crayon_1.3.4       
[37] mime_0.5            lwgeom_0.1-4        foreign_0.8-69      class_7.3-14        data.table_1.11.4   tools_3.4.4        
[43] stringr_1.3.1       munsell_0.5.0       cluster_2.0.6       bindrcpp_0.2.2      compiler_3.4.4      e1071_1.7-0        
[49] rlang_0.2.2         classInt_0.2-3      units_0.6-0         grid_3.4.4          tmaptools_2.0-1     dichromat_2.0-0    
[55] rstudioapi_0.7      htmlwidgets_1.2     crosstalk_1.0.0     base64enc_0.1-3     gtable_0.2.0        DBI_1.0.0          
[61] R6_2.2.2            gridExtra_2.3       knitr_1.20          dplyr_0.7.6         bindr_0.1.1         KernSmooth_2.23-15 
[67] stringi_1.2.4       Rcpp_0.12.18        rpart_4.1-13        acepack_1.4.1       png_0.1-7           leaflet_2.0.2      
[73] spData_0.2.9.3      tidyselect_0.2.4   
Schön ist das alles aber nicht. Nicht nur das sf, anders als zuvor, nun nicht mehr über RStudio - Tools - Check for Package Updates angezeigt wird (nicht, das ich das aktuell nutzen möchte), sondern die Ursache für den Fehler habe ich nicht gefunden. Ich kann mir das nur so erklären, dass die Pakete doch nicht alle vollständig lokal vorliegen und sich eine der tausend Abhängigkeiten geändert hat. Aber das ist nur eine weit hergeholte Vermutung. Ich setze mal auf gelöst.
Athomas
Beiträge: 768
Registriert: Mo Feb 26, 2018 8:19 pm

Re: [gelöst] Paket tmap lässt sich nicht mehr laden (Linux)

Beitrag von Athomas »

So, ich habe jetzt nach einigen Klimmzügen tmap auf meinem UBUNTU Server installiert.

Ich kann Dir gerne sagen, was ich dafür veranstaltet habe, schlage aber vor, dass wir das bei Interesse über "Private Nachrichten" abwickeln.
Ist doch sehr speziell...

*** Sorry, ich hatte Deine Mail von heute morgen nicht gesehen...
Hufeisen
Beiträge: 162
Registriert: Fr Aug 31, 2018 6:34 pm

Re: [gelöst] Paket tmap lässt sich nicht mehr laden (Linux)

Beitrag von Hufeisen »

Lieber Athomas,

kein Problem :). Wenn du dir aber schon die Mühe gemacht hast, tmap zu installieren, könntest du dein Vorgehen ja hier oder in einem eigenen Thead dokumentieren. Bei meinem ersten Versuch, tmap zu installieren, wusste selbst der Paketersteller nicht, warum es nicht klappt (fehlende Abhängigkeit). Deshalb denke ich, dass auch dein Lösungsweg interessant wäre. Bei mir war es damals so, dass ich die Fehlermeldungen über fehlende Abhängigkeiten durchgegangen bin und nach und nach, Schritt für Schritt alles manuell installiert habe, bis es mit der Installation klappte. Das klingt jetzt vielleicht einfacher, als es damals tatsächlich war. Zusätzlich musste ich auch manuell gesperrte (Zusatz 'LOCK') Ordner löschen, um der Installationsroutine 'den Weg frei zu machen'.
Zumindest für mich war das damals auch ein Punkt, der mich zum Nachdenken gebracht hat. Wie viele Pakete sind da draußen, die in ihren Abhängigkeiten auf ganz bestimmte Versionen anderer Pakete verweisen und deshalb nicht funktionieren, weil sich irgendwo in der Abhängigkeitskette etwas verändert hat? Interessanterweise ist mir das unter Windows nie passiert, weil das anscheinend alle Abhängigkeiten, auch solche, die das System betreffen, mitbringt oder einfach lädt.
Ich wünsche allen frohe Feiertage!
Hufeisen
Beiträge: 162
Registriert: Fr Aug 31, 2018 6:34 pm

Re: [gelöst] Paket tmap lässt sich nicht mehr laden (Linux)

Beitrag von Hufeisen »

Noch ein Update. Ich habe aus anderen Gründen auf den Linuxkernel 4.20 gewechselt und es zeigt sich das Problem, dass ich tmap nicht laden kann, wieder. Ich weiß nicht, ob es am Kernelwechsel liegt, aber das ist das einzige, was ich am System verändert habe. Allerdings ist die Fehlermeldung dieses mal eine andere.

Code: Alles auswählen

kann shared object '/home/mp/R/x86_64-pc-linux-gnu-library/3.4/lwgeom/libs/lwgeom.so' nicht laden:
  liblwgeom-2.4.so.0: Kann die Shared-Object-Datei nicht öffnen: Datei oder Verzeichnis nicht gefunden
Interessanterweise fehlte im R-Ordner (/home/mp/R/x86_64-pc-linux-gnu-library/3.4) der Ordner sf, obwohl dieser in RStudio noch unter sessionInfo - other attached packages gelistet wurde. Naja, das habe ich also neu installiert und mich dann lwgeom zugewendet.

Code: Alles auswählen

install.packages("lwgeom", type = "source", dependencies = TRUE)
Der Aufruf des Pakets gibt aber eine Fehlermeldung.

Code: Alles auswählen

library(tmap)
Fehler: package or namespace load failed for ‘tmap’ in get(Info[i, 1], envir = env):
 lazy-load database '/home/mp/R/x86_64-pc-linux-gnu-library/3.4/lwgeom/R/lwgeom.rdb' is corrupt
Zusätzlich: Warnmeldung:
In get(Info[i, 1], envir = env) : internal error -3 in R_decompress1
Ich habe das erst einmal ignoriert, da ich zwischenzeitlich mit Athomas per PM in Kontakt stand und er etwas ganz ähnliches berichtete. Ich habe erst mal seine Schritte nachvollzogen.
Athomas hat geschrieben:So Dez 23, 2018 1:00 pmAusgangspunkt war das erste Paket, das bei der Installation von tmap nicht installiert werden konnte – bei mir war es lwgeom. In der Paketbeschreibung wurde gesagt, dass es PROJ und GEOS (was immer das ist :? ) benötigt.
Zunächst habe ich die –dev Version von libudunits installiert (frag mich bitte nicht warum, das war einer der Hinweise zu einem misslungenen Teilschritt):

Code: Alles auswählen

sudo apt-get install libudunits2-dev
GEOS ist wohl schon in Ubuntu enthalten, deshalb habe ich PROJ (und GDAL, wobei ich unsicher bin, ob das nicht überflüssig ist) mit Libraries installiert:

Code: Alles auswählen

sudo apt-get install gdal-bin proj-bin libgdal-dev libproj-dev
Damit konnte ich dann (in R) rgdal und auch tmap installieren:

Code: Alles auswählen

sudo -i R
install.packages("rgdal")     
install.packages("tmap") # das habe ich nicht gemacht, denn das Paket ist ja schon installiert
So geht es jetzt auch bei mir (wieder). Das ganze ist aber schon sehr merkwürdig. :shock:

Etwas wirklich Konstruktives kann ich aktuell nicht beitragen. :cry:

Edit: Ich hoffe, die Veröffentlichung des PM-Inhalts ist in Ordnung?
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: [gelöst] Paket tmap lässt sich nicht mehr laden (Linux)

Beitrag von jogo »

Hallo Hufeisen,

manchmal muss man einige Links korrigieren zu den *.so-Dateien.
Leider sind die diversen Abhängigkeiten nicht immer up-todate für die vielen verschiedenen Varianten von Linuxen (oder wie ist der Plural von Linux?).

Gruß, Jörg
Hufeisen
Beiträge: 162
Registriert: Fr Aug 31, 2018 6:34 pm

Re: [gelöst] Paket tmap lässt sich nicht mehr laden (Linux)

Beitrag von Hufeisen »

Danke für deine Antwort, jogo. Ich bin aber zu unwissend, um sie zu verstehen. Ich weiß, dass shared objects Bibliotheksdateien sind. Aber welche Links müsste ich korrigieren und wo, in RStudio für R oder in Linux für das System insgesamt? Ich würde ja auch selbst recherchieren, aber ich weiß nicht so recht, wonach ich suchen müsste.
jogo hat geschrieben: Do Dez 27, 2018 5:14 pm oder wie ist der Plural von Linux?)
Pinguine :mrgreen: .
Antworten