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 <[EMAIL PROTECTED]>:
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 [EMAIL PROTECTED]
Ann Arbor, MI PGP key ID: BEA343A6
--On March 15, 2006 11:58:12 AM -0500 Derek Atkins <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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@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
[EMAIL PROTECTED] PGP key available
_______________________________________________
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel