Re: Error usando FDW de Neo4j con PostgreSQL 9.2.7 en CentOS 7

From: Marcos Ortiz <mlortiz(at)uci(dot)cu>
To: jsoler(at)hoplasoftware(dot)com
Cc: gilberto(dot)castillo(at)etecsa(dot)cu, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Error usando FDW de Neo4j con PostgreSQL 9.2.7 en CentOS 7
Date: 2015-05-22 02:06:10
Message-ID: 555E8F12.607@uci.cu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On 21/05/15 19:00, jaime soler gómez wrote:
> El mar, 19-05-2015 a las 11:05 -0400, Marcos Ortiz escribió:
>> Leyendo con un poco más de calma el CHANGELOG de json-c, estaba viendo
>> que en la versión 0.11, que es la que tengo aquí en CentOS, cambiaron
>> algunas direcciones de librerías [1]:
>
> El error del tipo no encuentra símbolo, se suele deber a que no tienes
> la versión adecuada de la librería libjson.so .
> Lo que me extraña es que en el makefile de la extensión, se linka contra
> la librería de json, pero luego no aparece en las dependencias de ldd.
> La versión en centos 7 de la librería es la 0.11-4
> http://rpm.pbone.net/index.php3/stat/4/idpl/29072593/dir/centos_7/com/json-c-0.11-4.el7_0.x86_64.rpm.html
Exactamente esa es la que está instalada en mi sistema.
> y la función json_tokener_parse existe en la versión 0.11
> https://github.com/json-c/json-c/blob/json-c-0.11/json_tokener.h
Precisamente estaba revisando eso ahora, y sí, la cabecera
json_tokener.h está en el sistema
[root(at)IPjson]# ls -la
total 104
drwxr-xr-x. 2 root root 4096 may 18 12:33 .
drwxr-xr-x. 38 root root 8192 may 18 23:44 ..
-rw-r--r--. 1 root root 1089 jun 24 2014 arraylist.h
-rw-r--r--. 1 root root 693 jun 24 2014 bits.h
-rw-r--r--. 1 root root 1724 jun 24 2014 debug.h
-rw-r--r--. 1 root root 163 jun 24 2014 json_config.h
-rw-r--r--. 1 root root 680 jun 24 2014 json_c_version.h
-rw-r--r--. 1 root root 699 jun 24 2014 json.h
-rw-r--r--. 1 root root 579 jun 24 2014 json_inttypes.h
-rw-r--r--. 1 root root 20025 jun 24 2014 json_object.h
-rw-r--r--. 1 root root 8184 jun 24 2014 json_object_iterator.h
-rw-r--r--. 1 root root 990 jun 24 2014 json_object_private.h
-rw-r--r--. 1 root root 7019 jun 24 2014 json_tokener.h
-rw-r--r--. 1 root root 1034 jun 24 2014 json_util.h
-rw-r--r--. 1 root root 6790 jun 24 2014 linkhash.h
-rw-r--r--. 1 root root 2194 jun 24 2014 printbuf.h
-rw-r--r--. 1 root root 407 jun 24 2014 random_seed.h
[root(at)IP json]# pwd
/usr/include/json

>> 0.11
>>
>> * IMPORTANT: the name of the library has changed to libjson-c.so and
>> the header files are now in include/json-c.
>> The pkgconfig name has also changed from json to json-c.
>> You should change your build to use appropriate -I and -l
>> options.
>> A compatibility shim is in place so builds using the old name
>> will
>> continue to work, but that will be removed in the next release.
>> * Maximum recursion depth is now a runtime option.
>> json_tokener_new() is provided for compatibility.
>> json_tokener_new_ex(depth)
>> * Include json_object_iterator.h in the installed headers.
>> * Add support for building on Android.
>> * Rewrite json_object_object_add to replace just the value if the
>> key already exists so keys remain valid.
>> * Make it safe to delete keys while iterating with the
>> json_object_object_foreach macro.
>> * Add a json_set_serializer() function to allow the string output of
>> a json_object to be customized.
>> * Make float parsing locale independent.
>> * Add a json_tokener_set_flags() function and a JSON_TOKENER_STRICT
>> flag.
>> * Enable -Werror when building.
>> * speed improvements to parsing 64-bit integers on systems with
>> working sscanf
>> * Add a json_object_object_length function.
>> * Fix a bug (buffer overrun) when expanding arrays to more than 64
>> entries.
>>
>> Entonces, como este FDW fue desarrollado hace casi dos años, puede ser
>> que no hayan cambiando la referencia de los headers de json/json.h a
>> include/json-c.h
>>
>> Voy a revisar el código de neo4j_fdw a ver cómo lo está haciendo
>>
>> [1] https://github.com/json-c/json-c/blob/master/ChangeLog
>>
>> On 19/05/15 11:22, Gilberto Castillo wrote:
>>
>>>> Éste es el resultado:
>>>>
>>>> ldd /usr/lib64/pgsql/neo4j_fdw.so
>>>> linux-vdso.so.1 => (0x00007fffe0dfe000)
>>>> libcurl.so.4 => /lib64/libcurl.so.4 (0x00007fe213bb5000)
>>>> libc.so.6 => /lib64/libc.so.6 (0x00007fe2137f4000)
>>>> libidn.so.11 => /lib64/libidn.so.11 (0x00007fe2135c0000)
>>>> libssh2.so.1 => /lib64/libssh2.so.1 (0x00007fe213396000)
>>>> libssl3.so => /lib64/libssl3.so (0x00007fe213157000)
>>>> libsmime3.so => /lib64/libsmime3.so (0x00007fe212f2f000)
>>>> libnss3.so => /lib64/libnss3.so (0x00007fe212c0a000)
>>>> libnssutil3.so => /lib64/libnssutil3.so (0x00007fe2129de000)
>>>> libplds4.so => /lib64/libplds4.so (0x00007fe2127d9000)
>>>> libplc4.so => /lib64/libplc4.so (0x00007fe2125d4000)
>>>> libnspr4.so => /lib64/libnspr4.so (0x00007fe212396000)
>>>> libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fe212179000)
>>>> libdl.so.2 => /lib64/libdl.so.2 (0x00007fe211f75000)
>>>> libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2
>>>> (0x00007fe211d2b000)
>>>> libkrb5.so.3 => /lib64/libkrb5.so.3 (0x00007fe211a4a000)
>>>> libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x00007fe211815000)
>>>> libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007fe211611000)
>>>> liblber-2.4.so.2 => /lib64/liblber-2.4.so.2 (0x00007fe211401000)
>>>> libldap-2.4.so.2 => /lib64/libldap-2.4.so.2 (0x00007fe2111af000)
>>>> libz.so.1 => /lib64/libz.so.1 (0x00007fe210f99000)
>>>> /lib64/ld-linux-x86-64.so.2 (0x00007fe214037000)
>>>> libssl.so.10 => /lib64/libssl.so.10 (0x00007fe210d2c000)
>>>> libcrypto.so.10 => /lib64/libcrypto.so.10 (0x00007fe210947000)
>>>> librt.so.1 => /lib64/librt.so.1 (0x00007fe21073e000)
>>>> libkrb5support.so.0 => /lib64/libkrb5support.so.0
>>>> (0x00007fe210530000)
>>>> libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00007fe21032c000)
>>>> libresolv.so.2 => /lib64/libresolv.so.2 (0x00007fe210111000)
>>>> libsasl2.so.3 => /lib64/libsasl2.so.3 (0x00007fe20fef4000)
>>>> libselinux.so.1 => /lib64/libselinux.so.1 (0x00007fe20fcce000)
>>>> libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007fe20fa97000)
>>>> libpcre.so.1 => /lib64/libpcre.so.1 (0x00007fe20f836000)
>>>> liblzma.so.5 => /lib64/liblzma.so.5 (0x00007fe20f610000)
>>>> libfreebl3.so => /lib64/libfreebl3.so (0x00007fe20f393000)
>>>>
>>>>
>>> Usa:
>>> ===
>>> pg_config --libdir
>>>
>>> Dependiendo de resultado has:
>>> ============================
>>> Linker de bibliotecas dinámicas del sistema
>>>
>>> $ sudo echo echo "/camino_delaslib/lib" > /etc/ld.so.conf.d/neo4j.conf
>>> $ ldconfig
>>> $ ldconfig --print | grep /camino_delaslib/lib
>>>
>>>
>>> Saludos,
>>> Gilberto Castillo
>>> ETECSA, La Habana, Cuba
>>>
>>>
>>> ---
>>> This message was processed by Kaspersky Mail Gateway 5.6.28/RELEASE running at host imx3.etecsa.cu
>>> Visit our web-site: <http://www.kaspersky.com>, <http://www.viruslist.com>
>> --
>> Marcos Ortiz, Sr. Product Manager (Data Infrastructure) at UCI
>> @marcosluis2186
>>
>>
>>

--
Marcos Ortiz <http://about.me/marcosortiz>, Sr. Product Manager (Data
Infrastructure) at UCI
@marcosluis2186 <http://twitter.com/marcosluis2186>

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message jaime soler 2015-05-22 07:27:25 Re: Error usando FDW de Neo4j con PostgreSQL 9.2.7 en CentOS 7
Previous Message jaime soler gómez 2015-05-21 23:00:57 Re: Error usando FDW de Neo4j con PostgreSQL 9.2.7 en CentOS 7