お世話になります。
PostGISにパッケージされているrster2pgsqlを使って、ラスタファイル(GeoTiff)をSQLに変換しようしているのですが、
実行時にエラーしてしまい解決できずにいて困っています。
libc.so.6がなんかよろしくないのかな・・・とまでは感じているのですが、どうしていいのかわかりません。
皆様のお知恵をお貸しくださいm(__)m
環境
OS:CentOS Linux release 8.2.2004 (Core) PostgreSQL:12 PostGIS:3
環境構築
①PostgeSQLのリポジトリ追加
dnf install https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
②PostgeSQLのインストール
dnf -y module disable postgresql dnf install postgresql12 postgresql12-server postgresql12-libs postgresql12-devel dnf install postgis30_12 postgis30_12-devel postgis30_12-utils postgis30_12-client
raster2pgsqlの実行
raster2pgsql -a -C -F -s 4326 test.tif public.test > test.sql
実行結果
Processing 1/1: test.tif proj_create_from_database: datum not found proj_create_from_database: prime meridian not found free(): invalid pointer 中止 (コアダンプ)
/var/log/messagesに出力されていた内容
Jul 22 10:32:27 CentOS8Raster2pgsql systemd[1]: Started Process Core Dump (PID 16679/UID 0). Jul 22 10:32:27 CentOS8Raster2pgsql systemd-coredump[16685]: Process 16668 (raster2pgsql) of user 0 dumped core.#012#012Stack trace of thread 16668: #012#0 0x00007f62e1ba970f raise (libc.so.6) #012#1 0x00007f62e1b93b25 abort (libc.so.6) #012#2 0x00007f62e1bec897 __libc_message (libc.so.6) #012#3 0x00007f62e1bf2fdc malloc_printerr (libc.so.6) #012#4 0x00007f62e1bf48dc _int_free (libc.so.6) #012#5 0x00007f62e4928535 _ZN5osgeo4proj6common13UnitOfMeasureD1Ev (libproj.so.19) #012#6 0x00007f62e1bac3c7 __cxa_finalize (libc.so.6) #012#7 0x00007f62da9fa1c7 __do_global_dtors_aux (libproj.so.15) #012#8 0x00007f62e4d6d2a6 _dl_fini (ld-linux-x86-64.so.2) #012#9 0x00007f62e1babe9c __run_exit_handlers (libc.so.6) #012#10 0x00007f62e1babfd0 exit (libc.so.6)#012#11 0x000000000040bdec main (raster2pgsql)#012#12 0x00007f62e1b956a3 __libc_start_main (libc.so.6) #012#13 0x000000000040473e _start (raster2pgsql)
※改行成型してます
追記
正しい対処方法なのかとても怪しいのですがシンボリックリンクの張り替えによってエラーが消えました。
/usr/lib64にて、 ll | grep proj lrwxrwxrwx 1 root root 17 5月 19 08:57 libproj.so.15 -> libproj.so.15.3.2 -rwxr-xr-x 1 root root 3263840 5月 19 08:57 libproj.so.15.3.2 一度シンボリックリンクを削除し unlink libproj.so.15 PostgeSQLリポジトリに入っているproj70に張り直し ln -s /usr/proj70/lib/libproj.so.19 libproj.so.15 ll | grep proj lrwxrwxrwx 1 root root 29 7月 27 07:44 libproj.so.15 -> /usr/proj70/lib/libproj.so.19 -rwxr-xr-x 1 root root 3263840 5月 19 08:57 libproj.so.15.3.2
このように読み込ませるライブラリを変更する際の良い方法等ありましたら、併せてご教示いただけますと幸いです…。
あなたの回答
tips
プレビュー