Diesel: Error de DLL en OSX y PostgreSQL

Creado en 18 may. 2016  ·  3Comentarios  ·  Fuente: diesel-rs/diesel

Probar diesel_demo en una computadora portátil OSX 10.11.4 que ejecute postgresql.

Todo funciona a la altura de la migración:

$ 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 puede ver, diesel está vinculado a libpq.5.dylib pero está buscando plpgsql.so (que tendría sentido en linux pero no en osx). Solo puedo asumir que en algún lugar la ruta está codificada para una instalación de Linux.

Comentario más útil

Para cualquiera que se encuentre con esto en el futuro, esto se debe a que tiene instalado postgres 9.5, pero apunta a un directorio de datos para 9.4 (probablemente porque aún no ha ejecutado pg_upgrade )

Todos 3 comentarios

Las cosas estaban mal configuradas de mi lado, arregladas.

Para cualquiera que se encuentre con esto en el futuro, esto se debe a que tiene instalado postgres 9.5, pero apunta a un directorio de datos para 9.4 (probablemente porque aún no ha ejecutado pg_upgrade )

@sgrif, ¿ puede mostrarme cómo verificar a qué directorio de datos apunta postgres?

Algo como esto funcionaría?

// 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)
¿Fue útil esta página
0 / 5 - 0 calificaciones