[Gnucash-changes] r13637 - gnucash/trunk - Add more linker
flags for referenced libraries. Necessary when the
Derek Atkins
warlord at MIT.EDU
Wed Mar 15 15:22:15 EST 2006
Yeah, there's a MAJOR disconnect between "shared library" and "shared module"
in the gnucash sources. Unfortunately it's really confusing and we're
kinda violating a few of the rules. It's worked historically, but
now with Christian's Win32 "everything linking" it's becoming more
prominent.
But... I missed this one. There's no reason that the business-core library
should require the file backend. However the business-core XML backend
does...
-derek
Quoting Mike Alexander <mta at umich.edu>:
> I think a different approach may be required. I'm getting these
> build errors with this change:
>
> *** Warning: Linking the shared library libgncmod-business-core.la
> against the loadable module
> *** libgnc-backend-file.dylib is not portable!
> ** Warning, lib libgnc-backend-file.dylib is a module, not a shared library
>
> ** And there doesn't seem to be a static archive available
> ** The link will probably fail, sorry
>
> gcc -dynamiclib ${wl}-undefined ${wl}dynamic_lookup -o
> .libs/libgncmod-business-core.0.0.0.dylib .libs/businessmod-core.o
> .libs/gncAddress.o .libs/gncBillTerm.o .libs/gncBusiness.o
> .libs/gncCustomer.o .libs/gncEmployee.o .libs/gncEntry.o
> .libs/gncInvoice.o .libs/gncJob.o .libs/gncOrder.o .libs/gncOwner.o
> .libs/gncTaxTable.o .libs/gncVendor.o -L/sw/lib
> ../../../src/gnc-module/.libs/libgncmodule.dylib
> /tools/gnucash-1.9/build/darwin/src/core-utils/.libs/libcore-utils.dylib
> /sw/lib/libgconf-2.dylib /sw/lib/libORBit-2.dylib -L/usr/X11R6/lib
> /sw/lib/libgtk-x11-2.0.dylib /sw/lib/libgdk-x11-2.0.dylib
> /sw/lib/libatk-1.0.dylib /sw/lib/libgdk_pixbuf-2.0.dylib
> /sw/lib/libpangoxft-1.0.dylib /sw/lib/libpangox-1.0.dylib
> /sw/lib/libpangoft2-1.0.dylib /sw/lib/libpango-1.0.dylib
> -L/tools/g-wrap-1.9.6/install/darwin/lib /sw/lib/libltdl.dylib
> ../../../src/backend/file/.libs/libgnc-backend-file.dylib
> /sw/lib/libxml2.dylib
> /tools/gnucash-1.9/build/darwin/src/engine/.libs/libgncmod-engine.dylib
> /tools/gnucash-1.9/build/darwin/src/gnc-module/.libs/libgncmodule.dylib
> /tools/gnucash-1.9/build/darwin/lib/libqof/qof/.libs/libqof.dylib
> ../../../src/engine/.libs/libgncmod-engine.dylib
> /tools/g-wrap-1.9.6/install/darwin/lib/libgwrap-guile-runtime.dylib
> /tools/g-wrap-1.9.6/install/darwin/lib/libgwrap-core-runtime.dylib
> /tools/g-wrap-1.9.6/install/darwin/lib/libffi.dylib
> ../../../lib/libqof/qof/.libs/libqof.dylib /sw/lib/libguile.dylib
> /sw/lib/libguile-ltdl.dylib /sw/lib/libgthread-2.0.dylib
> /sw/lib/libgobject-2.0.dylib /sw/lib/libgmodule-2.0.dylib
> /sw/lib/libglib-2.0.dylib /sw/lib/libintl.dylib
> /sw/lib/libiconv.dylib /sw/lib/libpopt.dylib -lm -install_name
> /tools/gnucash-1.9/install/darwin/lib/gnucash/libgncmod-business-core.0.dylib -Wl,-compatibility_version -Wl,1 -Wl,-current_version
> -Wl,1.0
>
> ld: ../../../src/backend/file/.libs/libgnc-backend-file.dylib is
> input for the dynamic link editor, is not relocatable by the static
> link editor again
>
>
> I don't know exactly what the problem is, but it appears to be
> related to the change in r13637.
>
> --
> Mike Alexander mta at umich.edu
> Ann Arbor, MI PGP key ID: BEA343A6
>
>
> --On March 15, 2006 11:58:12 AM -0500 Derek Atkins <warlord at MIT.EDU> wrote:
>
>> FYI,
>>
>> I /think/ that a better approach here would be to move the
>> gncBusGuile.[ch] from libgncmod_business_core to libgw_business_core
>>
>> That should remove the libgw-engine requirement. I'll test that
>> change here first just to be sure.
>>
>> -derek
>>
>> Christian Stimming <cstim at cvs.gnucash.org> writes:
>>
>>> --- gnucash/trunk/src/business/business-core/Makefile.am 2006-03-15
>>> 12:31:51 UTC (rev 13636) +++
>>> gnucash/trunk/src/business/business-core/Makefile.am 2006-03-15
>>> 12:51:43 UTC (rev 13637) @@ -57,9 +57,14 @@
>>> gw-business-core.h
>>>
>>> libgncmod_business_core_la_LIBADD = \
>>> + ${top_builddir}/src/gnc-module/libgncmodule.la \
>>> + ${top_builddir}/src/backend/file/libgnc-backend-file.la \
>>> + ${top_builddir}/src/engine/libgncmod-engine.la \
>>> + ${top_builddir}/src/engine/libgw-engine.la \
>>> + ${G_WRAP_LINK_ARGS} \
>>> + ${QOF_LIBS} \
>>> ${GUILE_LIBS} \
>>> ${GLIB_LIBS} \
>>> - ${QOF_LIBS} \
>>> ${EFENCE_LIBS}
>>>
>>> # business-core-helpers.c
>>> @@ -67,7 +72,10 @@
>>> libgw_business_core_la_SOURCES = gw-business-core.c
>>>
>>> libgw_business_core_la_LDFLAGS = ${G_WRAP_LINK_ARGS}
>>> -libgw_business_core_la_LIBADD = libgncmod-business-core.la
>>> +libgw_business_core_la_LIBADD = \
>>> + libgncmod-business-core.la \
>>> + ${top_builddir}/src/engine/libgw-engine.la \
>>> + ${QOF_LIBS}
>>>
>>> gncmoddir = ${GNC_SHAREDIR}/guile-modules/gnucash
>>> gncmod_DATA = business-core.scm
>
>
> _______________________________________________
> gnucash-devel mailing list
> gnucash-devel at gnucash.org
> https://lists.gnucash.org/mailman/listinfo/gnucash-devel
>
--
Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
Member, MIT Student Information Processing Board (SIPB)
URL: http://web.mit.edu/warlord/ PP-ASEL-IA N1NWH
warlord at MIT.EDU PGP key available
More information about the gnucash-devel
mailing list