more info on G_INLINE_FUNC problem on OS X
David Reiser
dbreiser at earthlink.net
Sat Nov 10 19:39:24 EST 2007
On Nov 10, 2007, at 7:22 PM, David Reiser wrote:
> If I --disable-error-on-warning building gnucash against glib 2.12.12
> (slightly modified, grr) in Mac OS X 10.5, gnucash will crash. The
> errors in terminal are:
>
> dyld: lazy symbol binding failed: Symbol not found: _mark_split
> Referenced from: /sw/lib/gnucash/libgncmod-engine.dylib
> Expected in: dynamic lookup
>
> dyld: Symbol not found: _mark_split
> Referenced from: /sw/lib/gnucash/libgncmod-engine.dylib
> Expected in: dynamic lookup
>
> Trace/BPT trap
>
> The entire crash log is:
>
> Process: gnucash-bin [324]
> Path: /sw/bin/gnucash-bin
> Identifier: gnucash-bin
> Version: ??? (???)
> Code Type: PPC (Native)
> Parent Process: bash [147]
>
> Date/Time: 2007-11-10 13:32:52.837 -0500
> OS Version: Mac OS X 10.5 (9A581)
> Report Version: 6
>
> Exception Type: EXC_BREAKPOINT (SIGTRAP)
> Exception Codes: 0x0000000000000001, 0x000000008fe0105c
> Crashed Thread: 0
>
> Dyld Error Message:
> Symbol not found: _mark_split
> Referenced from: /sw/lib/gnucash/libgncmod-engine.dylib
> Expected in: dynamic lookup
>
>
> The problem is coming from SplitP.h around line 150:
> ------------------------
> void xaccFreeSplit (Split *split); /* frees memory */
>
> Split * xaccSplitClone (const Split *s);
>
> Split *xaccDupeSplit (const Split *s);
> G_INLINE_FUNC void mark_split (Split *s);
>
> void xaccSplitVoid(Split *split);
> void xaccSplitUnvoid(Split *split);
> void xaccSplitCommitEdit(Split *s);
> void xaccSplitRollbackEdit(Split *s);
> -----------------------
>
> Mac OSX 10.5 build tools are having a problem with glib's
> G_INLINE_FUNC.
>
> Is there any way to avoid using that function here without endangering
> the rest of gnucash's code?
>
> There are 14 other instances of G_INLINE_FUNC, but this is the only
> one I know at the moment to be causing a problem.
>
The warning message that stops the build is --enable-error-on-warning
is set is:
gcc -DHAVE_CONFIG_H -I. -I../.. -DG_LOG_DOMAIN=\"gnc.engine\" -I/usr/
X11R6/include -I/sw/lib/system-openssl/include -I/sw/include -I../../
lib/libc -I../../src/core-utils -I../../src -I../../src -I../../src/
gnc-module -I../../lib/libqof/qof -I../../lib/libqof/qof -I/sw/include/
glib-2.0 -I/sw/lib/glib-2.0/include -I/sw/include -Werror -
Wdeclaration-after-statement -Wno-pointer-sign -D_FORTIFY_SOURCE=2 -g -
O2 -Wall -Wunused -Wmissing-prototypes -Wmissing-declarations -Wno-
unused -c Transaction.c -fno-common -DPIC -o .libs/Transaction.o
cc1: warnings being treated as errors
SplitP.h:152: warning: 'mark_split' used but never defined
make[5]: *** [Transaction.lo] Error 1
Dave
--
David Reiser
dbreiser at earthlink.net
More information about the gnucash-devel
mailing list