Re: [gnome-db] CVS HEAD does not compile on x86_64



On 11/20/06, Bas Driessen <bas driessen xobas com> wrote:

 On Sat, 2006-11-18 at 16:00 +0100, Vivien Malerba wrote:
 On 11/18/06, Bas Driessen <bas driessen xobas com> wrote:
>
> Hello,
>
> Just downloaded the latest CVS HEAD and tried to compile on FC6 x86_64.
> Output below. Changes related to the transaction handling appears to cause
> this. Please advise.
>
> Thanks,
> Bas.
>
> make[1]: Entering directory
> `/opt/builds/gnome-db/cvs/live/head/libgda/libgda'
> /bin/sh ../libtool --tag=CC --mode=link gcc -g -O2 -o libgda-3.0.la
> -rpath /opt/builds/gnome-db/cvs/live/head/libgda/lib
> -version-info 3:0:0 -no-undefined gda-enum-types.lo gda-blob.lo
> gda-client.lo gda-column.lo gda-column-index.lo gda-command.lo
gda-config.lo
> gda-connection.lo gda-connection-event.lo gda-data-handler.lo
> gda-data-model-array.lo gda-data-model-row.lo gda-data-model.lo
> gda-data-model-filter-sql.lo gda-data-model-hash.lo
gda-data-model-import.lo
> gda-data-model-index.lo gda-data-model-iter.lo gda-data-model-query.lo
> gda-data-access-wrapper.lo gda-data-proxy.lo gda-dict-aggregate.lo
> gda-dict.lo gda-dict-constraint.lo gda-dict-database.lo gda-dict-field.lo
> gda-dict-function.lo gda-dict-table.lo gda-dict-type.lo
> gda-dict-reg-queries.lo gda-dict-reg-types.lo gda-dict-reg-aggregates.lo
> gda-dict-reg-functions.lo gda-entity.lo gda-entity-field.lo
gda-graphviz.lo
> gda-init.lo gda-log.lo gda-marshal.lo gda-object.lo gda-object-ref.lo
> gda-parameter.lo gda-parameter-list.lo gda-quark-list.lo gda-query.lo
> gda-query-condition.lo gda-query-field-agg.lo gda-query-field-all.lo
> gda-query-field.lo gda-query-field-field.lo gda-query-field-func.lo
> gda-query-field-value.lo gda-query-join.lo gda-query-object.lo
> gda-query-parsing.lo gda-query-target.lo gda-referer.lo gda-renderer.lo
> gda-row.lo gda-server-operation.lo gda-server-provider.lo
> gda-server-provider-extra.lo gda-threader.lo gda-transaction-status.lo
> gda-util.lo gda-value.lo gda-xml-storage.lo -pthread -Wl,--export-dynamic
> -L/lib64 -lgobject-2.0 -lgthread-2.0 -lgmodule-2.0 -ldl -lglib-2.0 -lxslt
> -lz -lm -lxml2 ../libsql/libgdasql.la
> sql-transaction/libsqltransaction.a
>
> *** Warning: Linking the shared library libgda-3.0.la against the
> *** static library sql-transaction/libsqltransaction.a is
> not portable!
> gcc -shared .libs/gda-enum-types.o .libs/gda-blob.o .libs/gda-client.o
> .libs/gda-column.o .libs/gda-column-index.o .libs/gda-command.o
> .libs/gda-config.o .libs/gda-connection.o .libs/gda-connection-event.o
> .libs/gda-data-handler.o .libs/gda-data-model-array.o
> .libs/gda-data-model-row.o .libs/gda-data-model.o
> .libs/gda-data-model-filter-sql.o .libs/gda-data-model-hash.o
> .libs/gda-data-model-import.o .libs/gda-data-model-index.o
> .libs/gda-data-model-iter.o .libs/gda-data-model-query.o
> .libs/gda-data-access-wrapper.o .libs/gda-data-proxy.o
> .libs/gda-dict-aggregate.o .libs/gda-dict.o .libs/gda-dict-constraint.o
> .libs/gda-dict-database.o .libs/gda-dict-field.o .libs/gda-dict-function.o
> .libs/gda-dict-table.o .libs/gda-dict-type.o .libs/gda-dict-reg-queries.o
> .libs/gda-dict-reg-types.o .libs/gda-dict-reg-aggregates.o
> .libs/gda-dict-reg-functions.o .libs/gda-entity.o .libs/gda-entity-field.o
> .libs/gda-graphviz.o .libs/gda-init.o .libs/gda-log.o .libs/gda-marshal.o
> .libs/gda-object.o .libs/gda-object-ref.o .libs/gda-parameter.o
> .libs/gda-parameter-list.o .libs/gda-quark-list.o .libs/gda-query.o
> .libs/gda-query-condition.o .libs/gda-query-field-agg.o
> .libs/gda-query-field-all.o .libs/gda-query-field.o
> .libs/gda-query-field-field.o .libs/gda-query-field-func.o
> .libs/gda-query-field-value.o .libs/gda-query-join.o
> .libs/gda-query-object.o .libs/gda-query-parsing.o
.libs/gda-query-target.o
> .libs/gda-referer.o .libs/gda-renderer.o .libs/gda-row.o
> .libs/gda-server-operation.o .libs/gda-server-provider.o
> .libs/gda-server-provider-extra.o .libs/gda-threader.o
> .libs/gda-transaction-status.o .libs/gda-util.o .libs/gda-value.o
> .libs/gda-xml-storage.o -Wl,--rpath
>
-Wl,/opt/builds/gnome-db/cvs/live/head/libgda/libsql/.libs
> -Wl,--rpath
> -Wl,/opt/builds/gnome-db/cvs/live/head/libgda/lib
-L/lib64
> -lgobject-2.0 -lgthread-2.0 -lgmodule-2.0 -ldl -lglib-2.0 -lxslt -lz -lm
> -lxml2 ../libsql/.libs/libgdasql.so
> sql-transaction/libsqltransaction.a -pthread
> -Wl,--export-dynamic -Wl,-soname -Wl,libgda-3.0.so.3 -o
> .libs/libgda-3.0.so.3.0.0
> /usr/bin/ld:
>
sql-transaction/libsqltransaction.a(gda-sql-transaction-parser.o):
> relocation R_X86_64_32 against `a local symbol' can not be used when
making
> a shared object; recompile with -fPIC
> sql-transaction/libsqltransaction.a: could not read
> symbols: Bad value
> collect2: ld returned 1 exit status
> make[1]: *** [libgda-3.0.la] Error 1
> make[1]: Leaving directory
> `/opt/builds/gnome-db/cvs/live/head/libgda/libgda'
> make: *** [all-recursive] Error 1
> [bas ams libgda]$

I guess the problem comes from the fact that libgda-3.0.la is linked
to a statis library (sql-transaction/libsqltransaction.a).
This works
on 32 bits architecture, but maybe not on X64. Can you try to turn it
into a shared lib by modifying the libgda/Makefile.am (replace
libsqltransaction.a by libsqltransaction.la) and modifying the
libgda/sql-transaction/Makefile.am (replace
noinst_LIBRARIES = with
lib_LTLIBRARIES =).


 Thanks Vivien. Changed to a shared lib and all compiles and works OK. Have
committed this to CVS.

 After doing some more testing, I noticed that error/messages are being
generated with perform SQL statements. Example output od a simple "select *
from Groups" statement:

 SQL Parser error: syntax error near `SELECT'
 Error on SQL statement: SELECT * FROM Groups

Yes, this is just a minor annoyance which I'll correct ASAP. The
reason it shows a parse error is that that parser (the new one in
sql-transaction/) only cares about transaction SQL (BEGIN, COMMIT,
ROLLBACK), and, by design,  does not recognize any other SQL code.


 Everything does work OK though. Will investigate further as soon as I get
the chance.


Thanks,

Vivien



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]