Diesel: Erro de DLL no OSX e PostgreSQL

Criado em 18 mai. 2016  ·  3Comentários  ·  Fonte: diesel-rs/diesel

Testando o diesel_demo em um laptop OSX 10.11.4 executando postgresql.

Tudo funciona para a migração:

$ diesel migration run
thread '<main>' panicked at 'Error creating timestamp helper functions for Pg: DatabaseError("ERROR:  could not load library \"/usr/local/lib/postgresql/plpgsql.so\": dlopen(/usr/local/lib/postgresql/plpgsql.so, 10): Symbol not found: _DatumIsReadWriteExpandedObject\n  Referenced from: /usr/local/lib/postgresql/plpgsql.so\n  Expected in: /usr/local/opt/postgresql/bin/postgres\n in /usr/local/lib/postgresql/plpgsql.so\n")', ../src/libcore/result.rs:785
note: Run with `RUST_BACKTRACE=1` for a backtrace.
$ otool -l `which diesel` | grep libpq
 name /usr/local/opt/postgresql/lib/libpq.5.dylib (offset 24)

Como você pode ver, o diesel está vinculado a libpq.5.dylib, mas está procurando por plpgsql.so (o que faria sentido no Linux, mas não no osx). Só posso assumir que em algum lugar o caminho está codificado para uma instalação do Linux.

Comentários muito úteis

Para qualquer um que tenha isso no futuro, isso é causado por ter o postgres 9.5 instalado, mas apontado para um diretório de dados para 9.4 (provavelmente porque você não executou pg_upgrade ainda)

Todos 3 comentários

As coisas foram configuradas incorretamente do meu lado - corrigidas.

Para qualquer um que tenha isso no futuro, isso é causado por ter o postgres 9.5 instalado, mas apontado para um diretório de dados para 9.4 (provavelmente porque você não executou pg_upgrade ainda)

@sgrif, você pode me mostrar como verificar para qual diretório de dados o postgres está apontando?

Algo assim funcionaria?

// check installed version
$ postgres --version
postgres (PostgreSQL) 10.4

// check directory version
$ psql development_env
# select version();
                                                   version                                                    
--------------------------------------------------------------------------------------------------------------
 PostgreSQL 9.5.3 on x86_64-apple-darwin14.5.0, compiled by Apple LLVM version 7.0.2 (clang-700.1.81), 64-bit
(1 row)
Esta página foi útil?
0 / 5 - 0 avaliações