Невозможно установить gem pg на виртуальную машину CentOS 7 - PullRequest
2 голосов
/ 14 июля 2020

Я не могу установить гем pg на сервер AWS EC2 под управлением CentOS 7. Я достаточно уверен, что нет никаких проблем с моей Ruby install (2.7.0), gemset, RVM, et c .. и получаю сообщение об ошибке ниже. Я установил postgresql, postgresql-devel, postgresql-libs и postgresql-server, как предлагается в аналогичных вопросах здесь. Postgres - это 9.2.24, который должен быть совместим с драгоценным камнем pg.

Я также попытался указать файл pg_conf и установить его с помощью команды gem install pg -- --with-pg-config=/usr/bin/pg_config и получил ту же ошибку.

В прошлом я сталкивался с проблемами при попытке установить pg на Ma c и другие Linux системы, но эта ошибка для меня нова. Я бьюсь головой об стену.

current directory: /home/MY_USERNAME/.rvm/gems/ruby-2.7.0@GEMSET_NAME/gems/pg-1.2.3/ext
/home/MY_USERNAME/.rvm/rubies/ruby-2.7.0/bin/ruby -I /home/MY_USERNAME/.rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0 -r ./siteconf20200714-11146-p34b9c.rb extconf.rb
checking for pg_config... yes
Using config values from /usr/bin/pg_config
checking for libpq-fe.h... yes
checking for libpq/libpq-fs.h... yes
checking for pg_config_manual.h... yes
checking for PQconnectdb() in -lpq... yes
checking for PQsetSingleRowMode()... yes
checking for PQconninfo()... no
checking for PQsslAttribute()... no
checking for PQresultVerboseErrorMessage()... no
checking for PQencryptPasswordConn()... no
checking for PQresultMemorySize()... no
checking for timegm()... yes
checking for rb_gc_adjust_memory_usage()... yes
checking for unistd.h... yes
checking for inttypes.h... yes
checking for C99 variable length arrays... yes
creating extconf.h
creating Makefile

current directory: /home/MY_USERNAME/.rvm/gems/ruby-2.7.0@GEMSET_NAME/gems/pg-1.2.3/ext
make "DESTDIR=" clean

current directory: /home/MY_USERNAME/.rvm/gems/ruby-2.7.0@GEMSET_NAME/gems/pg-1.2.3/ext
make "DESTDIR="
compiling gvl_wrappers.c
compiling pg.c
compiling pg_binary_decoder.c
compiling pg_binary_encoder.c
compiling pg_coder.c
compiling pg_connection.c
compiling pg_copy_coder.c
compiling pg_errors.c
compiling pg_record_coder.c
compiling pg_result.c
compiling pg_text_decoder.c
compiling pg_text_encoder.c
compiling pg_tuple.c
compiling pg_type_map.c
compiling pg_type_map_all_strings.c
compiling pg_type_map_by_class.c
compiling pg_type_map_by_column.c
compiling pg_type_map_by_mri_type.c
compiling pg_type_map_by_oid.c
compiling pg_type_map_in_ruby.c
compiling pg_util.c
linking shared-object pg_ext.so
/usr/bin/ld: unrecognized option '--compress-debug-sections=zlib'
/usr/bin/ld: use the --help option for usage information
collect2: error: ld returned 1 exit status
make: *** [pg_ext.so] Error 1

make failed, exit code 2

1 Ответ

1 голос
/ 15 июля 2020

Я нашел ответ от ответа Макса .

Проблема была с ld, а не с postgres. Моя версия ld (ld -v устарела, и я сделал полное обновление системы (sudo yum upgrade), которое обновило GNU binutils (из которых ld является частью), и теперь я могу установить pg без проблем.

...