Tidak dapat menjalankan algoritme Rumput di QGIS 2.18 di Ubuntu 16.04

9

Saya memiliki QGIS dan GRASS yang diinstal melalui repositori UbuntuGIS. Jika saya mencoba menjalankan algoritma GRASS 6 atau 7, saya mendapatkan pesan kesalahan berikut:

"This algorithm cannot be run :-( It seems that GRASS GIS 7 is not correctly installed and configured in your system. Please install it before running GRASS GIS 7 algorithms."

Saya memeriksa pertanyaan lain tentang masalah ini namun sebagian besar berhubungan dengan Pengaturan pada sistem Windows:

Di linux saya tidak perlu mengkonfigurasi path folder GRASS karena bantuan QGIS untuk mengkonfigurasi aplikasi eksternal memberitahu saya. Rumput berjalan dari shell dengan mengetik grass. Versi Rumput yang disebut oleh shell adalah GRASS 7.2.0 (2016).

Lebih lanjut saya memeriksa bahwa GRASS 6 dan 7 diaktifkan di menu penyedia tambahan di kotak peralatan QGIS.

Ada saran apa yang bisa dilakukan untuk memperbaikinya?

Edit

Sementara itu saya sepenuhnya menghapus dan menginstal ulang qgis python-qgis qgis-plugin-grassdari repositori resmi QGIS ... tetapi kesalahan berlanjut.

Sunting 2 Memeriksa log untuk qgis di Panel Pesan Log yang saya temukan di bawah tab "plugins" yang tidak dimuat dengan benar oleh plugin rumput:

2017-01-23T14:10:22 1   Failed to load /usr/lib/qgis/plugins/libgrassplugin7.so (Reason: Cannot load library /usr/lib/qgis/plugins/libgrassplugin7.so: (libgrass_gis.7.0.3.so: cannot open shared object file: No such file or directory))
2017-01-23T14:10:22 1   Failed to load /usr/lib/qgis/plugins/libgrassprovider7.so (Reason: Cannot load library /usr/lib/qgis/plugins/libgrassprovider7.so: (libgrass_gis.7.0.3.so: cannot open shared object file: No such file or directory))
2017-01-23T14:10:22 1   Failed to load /usr/lib/qgis/plugins/libgrassrasterprovider7.so (Reason: Cannot load library /usr/lib/qgis/plugins/libgrassrasterprovider7.so: (libgrass_gis.7.0.3.so: cannot open shared object file: No such file or directory))
joaoal
sumber
Untuk Edit2: Tampaknya GRASS 7.0.3 dicari, tetapi Anda hanya memiliki 7.2.0 pada disk. Jangan mencampur paket Ubuntugis dan non-ubuntugis.
AndreJ
@ AndreJ Saya pikir mixup ini mungkin adalah masalah utama. Saya mungkin telah menambahkan repositori ubuntugis dan qgis. Saya mencoba untuk menambahkan hanya repositori qgis dan menginstal ulang semua. tapi belum diperbaiki. sekarang saya tidak mendapatkan pesan apa pun bahwa plugin dimuat meskipun sudah diinstal. ada saran tentang bagaimana saya bisa membersihkan kekacauan yang tersisa?
joaoal
1
Baik downgrade GRASS ke 7.0.3, atau hapus paket debian QGIS (dengan purge, lihat askubuntu.com/questions/187888/… ), kembali ke ubuntgis dan ikuti solusinya dalam jawaban saya.
AndreJ

Jawaban:

9

Saya mendapatkan kesalahan yang sama dengan versi Ubuntugis dari QGIS dan GRASS versi 7.2.0.

Tampaknya 7.2 belum diadopsi dengan benar dalam pemrosesan. Sudah ada tiket untuk itu: https://hub.qgis.org/issues/16019 dan https://lists.osgeo.org/pipermail/qgis-developer/2017-January/046671.html

Sebagai solusinya, Anda dapat mengedit (sebagai sudo) /usr/share/qgis/python/plugins/processing/algs/grass7/Grass7Utils.pybaris 251 hingga

            command = 'grass72 ' + Grass7Utils.grassMapsetFolder() \

dan baris 103 Grass7AlgorithmProvider.pyke

    return 'grass72'

Atau turunkan ke GRASS 7.0.3 dari repo Ubuntu utama.

Perintah GRASS 6 tidak akan berfungsi dengan GRASS 7, sehingga Anda dapat menonaktifkan 161 GRASSperintah.


Hanya solusi lain dari milis https://lists.osgeo.org/pipermail/qgis-user/2017-January/038907.html

sudo ln -s /usr/bin/grass72 /usr/bin/grass70


MEMPERBARUI

Juga dilaporkan dengan http://hub.qgis.org/issues/16110 dan diperbaiki dengan http://hub.qgis.org/projects/quantum-gis/repository/revisions/099e7a77f2c32f469539f542a31df7b0d4b77dd3 Itu seharusnya bekerja untuk versi GRASS 7.0 hingga 7.3

Sayangnya, perbaikannya belum diterapkan ke QGIS 2.18.4, jadi penyelesaiannya masih diperlukan.

AndreJ
sumber
baik. solusi tidak berhasil untuk saya. saya mencoba tetapi gagal. Namun menurunkan versi melalui manajer paket sinaptik ke rumput 7.0 melakukan trik. bagaimana saya bisa memastikan bahwa dengan pembaruan perangkat lunak berikutnya itu tidak ditingkatkan ke 7.2. lagi? Saya sudah menghapus repositori qgis dan ubuntugis dari daftar sumber tetapi sepertinya repositori resmi ubuntu sudah berisi rumput 7.2 ... setidaknya jika saya membuka pusat perangkat lunak itu menawarkan saya 7.2.
joaoal
1
Dari paket.ubuntu.com/... Saya melihat GRASS 7.2 hanya untuk zesty. Mungkin pusat perangkat lunak masih memiliki entri ubuntugis terdaftar. Coba apt-cache policy grassdi jendela Terminal untuk melihat apa yang sebenarnya tersedia.
AndreJ
symlink tidak bekerja untuk saya .. Saya menggunakan Mint dengan qgis dikompilasi dari source dan dijalankan dari folder output. Apakah saya juga memiliki konfigurasi lain untuk diedit? Terima kasih!
matteo
2
Sayangnya, QGIS dan ubuntugis sering tidak sinkron. Jadi kali ini ketika saya melihat ada peningkatan GRASS, saya tidak menginstalnya. Hanya ingin tahu bagaimana mencari tahu kapan waktu yang tepat telah tiba. Saluran resmi tampaknya mengabaikan masalah yang sangat menjengkelkan ini sebagian besar waktu. Tidaklah menyenangkan memiliki QGIS yang rusak setiap tiga bulan atau lebih.
Bernd V.
@BerndV. Saya biasanya menginstal versi Linux baru terlebih dahulu dalam kotak virtual untuk pengujian.
AndreJ
4

Saya memperbaiki masalah dengan menginstal ulang rumput 7.0.3 dari repositori qgis. Rumput dari repo Ubuntugis adalah versi 7.2, yang tidak didukung oleh QGIS.

  1. hapus GRASS GIS oleh sudo apt-get remove grass-core grass-doc grass-gui

  2. nonaktifkan repositori ubuntugis-tidak stabil

  3. sudo apt-get install grass grass-gui

Ini bekerja untuk saya.

Yu-Hsuan
sumber