[Gnucash-changes] r13637 - gnucash/trunk - Add more linker flags for referenced libraries. Necessary when the

Derek Atkins warlord at MIT.EDU
Thu Mar 16 01:09:27 EST 2006


Yeah, I figured it would have moved the problem.  Unfortunately
this is where the windows linker and the mac linker are....
incompatible.   This is particularly an issue in that a
"loadable module" != "shared library", but gnucash treats
them the same.

-derek

Quoting Mike Alexander <mta at umich.edu>:

> The change in r13642 moved the problem from libgncmod-business-core 
> to libgncmod-business-backend-file, but I still get the same build 
> errors there.  Removing the reference to 
> ${top_builddir}/src/backend/file/libgnc-backend-file.la from 
> business-core/file/Makefile.am solved the build problem (but will 
> probably break the Windows build).  The resulting gnucash seems to 
> run ok, but I haven't tried any of the business features, they may 
> not work.
>
>        Mike
>
>
> --On March 15, 2006 3:22:15 PM -0500 Derek Atkins <warlord at MIT.EDU> wrote:
>
>> 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.d
>>> ylib  /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.dy
>>> lib
>>> /tools/gnucash-1.9/build/darwin/src/gnc-module/.libs/libgncmodule.dy
>>> lib
>>> /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-cor
>>> e.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
>>>
>
> _______________________________________________
> 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