D.gnu - Uhh... Me No Understand
- John Demme (32/32) Jan 14 2005 I'm trying to compile Mango on OS X, and getting some error messages, I ...
-
David Friedman
(5/12)
Jan 15 2005
- John Demme (90/102) Jan 15 2005 So why doesn't the error message just say that? Thanks, but I've got an...
- David Friedman (12/126) Jan 17 2005 A thunk (in D or C++) is a small piece of code that adjusts the 'this'
- =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= (6/39) Jan 23 2005 This is when doing "make -f darwin.make", with GDC 0.10 / GCC 3.3.5
I'm trying to compile Mango on OS X, and getting some error messages, I flat out don't understand... can anyone help me out? Thanks, John gcc -o mytest mytest.o -L. -L/usr/local/gcc-3.4/lib -ldl -lphobos -lmango ld: /usr/lib/gcc/darwin/3.3/libgcc.a(unwind-dw2.o) section's (__TEXT,__eh_frame) type S_COALESCED does not match previous objects type S_REGULAR ld: /usr/lib/gcc/darwin/3.3/libgcc.a(unwind-dw2.o) section's (__TEXT,__eh_frame) type S_COALESCED does not match previous objects type S_REGULAR ld: /usr/lib/gcc/darwin/3.3/libgcc.a(unwind-dw2.o) section's (__TEXT,__eh_frame) type S_COALESCED does not match previous objects type S_REGULAR ld: /usr/lib/gcc/darwin/3.3/libgcc.a(unwind-dw2.o) section's (__TEXT,__eh_frame) type S_COALESCED does not match previous objects type S_REGULAR ld: /usr/lib/gcc/darwin/3.3/libgcc.a(unwind-dw2.o) section's (__TEXT,__eh_frame) type S_COALESCED does not match previous objects type S_REGULAR ld: /usr/lib/gcc/darwin/3.3/libgcc.a(unwind-dw2.o) section's (__TEXT,__eh_frame) type S_COALESCED does not match previous objects type S_REGULAR ld: /usr/lib/gcc/darwin/3.3/libgcc.a(unwind-dw2.o) section's (__TEXT,__eh_frame) type S_COALESCED does not match previous objects type S_REGULAR ld: /usr/lib/gcc/darwin/3.3/libgcc.a(_divdi3.o) section's (__TEXT,__eh_frame) type S_COALESCED does not match previous objects type S_REGULAR ld: /usr/local/gcc-3.4/lib/libphobos.a(d_os_dep.o) section's (__TEXT,__eh_frame) type S_COALESCED does not match previous objects type S_REGULAR ld: /usr/local/gcc-3.4/lib/libphobos.a(d_init.o) section's (__TEXT,__eh_frame) type S_COALESCED does not match previous objects type S_REGULAR ld: /usr/lib/gcc/darwin/3.3/libgcc.a(unwind-dw2.o) section's (__TEXT,__eh_frame) type S_COALESCED does not match previous objects type S_REGULAR ld: /usr/lib/gcc/darwin/3.3/libgcc.a(unwind-dw2.o) section's (__TEXT,__eh_frame) type S_COALESCED does not match previous objects type S_REGULAR ld: /usr/lib/gcc/darwin/3.3/libgcc.a(_udivdi3.o) section's (__TEXT,__eh_frame) type S_COALESCED does not match previous objects type S_REGULAR ld: /usr/lib/gcc/darwin/3.3/libgcc.a(_umoddi3.o) section's (__TEXT,__eh_frame) type S_COALESCED does not match previous objects type S_REGULAR
Jan 14 2005
John Demme wrote:I'm trying to compile Mango on OS X, and getting some error messages, I flat out don't understand... can anyone help me out? Thanks, John gcc -o mytest mytest.o -L. -L/usr/local/gcc-3.4/lib -ldl -lphobos -lmango ld: /usr/lib/gcc/darwin/3.3/libgcc.a(unwind-dw2.o) section's (__TEXT,__eh_frame) type S_COALESCED does not match previous objects type S_REGULAR<snip> Make sure the "gcc" you use to link is the one that was built with gdc. When you do this, you can also drop the -L/usr/local/gcc-3.4/lib option. David
Jan 15 2005
So why doesn't the error message just say that? Thanks, but I've got another one now. I understand the error message, but I've never seen the __thunk28__ thing before in D's name mangling. These symbols seem to be defined in my object files, but the number after the "__thunk" is different. I don't get it. Can someone explain what the "thunk" is, and the numbers, ect... Thanks John gcc -o unittest mango/test/unittest.o -L. -lmango -ldl -lphobos -lpthread /usr/bin/ld: Undefined symbols: __thunk28___D5mango5cache7Payload7Payload7destroyFZv __thunk28___D5mango5cache7Payload7Payload7getTimeFZl __thunk28___D5mango5cache7Payload7Payload7setTimeFlZv __thunk36___D5mango2io8Resource8Resource13acquireIfOpenFZb __thunk36___D5mango2io8Resource8Resource5closeFZv __thunk36___D5mango2io8Resource8Resource7acquireFZv __thunk36___D5mango2io8Resource8Resource7getLockFZC6Object __thunk36___D5mango2io8Resource8Resource7setLockFC6ObjectZv __thunk60___D5mango2io8Resource8Resource13acquireIfOpenFZb __thunk60___D5mango2io8Resource8Resource5closeFZv __thunk60___D5mango2io8Resource8Resource7acquireFZv __thunk60___D5mango2io8Resource8Resource7getLockFZC6Object __thunk60___D5mango2io8Resource8Resource7setLockFC6ObjectZv __ModuleInfo_3std1c5linux5linux __thunk36___D5mango3xml3dom4Node8NodeImpl10attributesFZC5mango3xml3dom5model4Node12NamedNodeMap __thunk36___D5mango3xml3dom4Node8NodeImpl10childNodesFZC5mango3xml3dom5model4Node8NodeList __thunk36___D5mango3xml3dom4Node8NodeImpl10firstChildFZC5mango3xml3dom5model4Node4Node __thunk36___D5mango3xml3dom4Node8NodeImpl10parentNodeFC5mango3xml3dom5model4Node4NodeZv __thunk36___D5mango3xml3dom4Node8NodeImpl10parentNodeFZC5mango3xml3dom5model4Node4Node __thunk36___D5mango3xml3dom4Node8NodeImpl11appendChildFC5mango3xml3dom5model4Node4NodeZC5mango3xml3dom5model4Node4Node __thunk36___D5mango3xml3dom4Node8NodeImpl11nextSiblingFZC5mango3xml3dom5model4Node4Node __thunk36___D5mango3xml3dom4Node8NodeImpl11removeChildFC5mango3xml3dom5model4Node4NodeZC5mango3xml3dom5model4Node4Node __thunk36___D5mango3xml3dom4Node8NodeImpl12insertBeforeFC5mango3xml3dom5model4Node4NodeC5mango3xml3dom5model4Node4NodeZC5mango3xml3dom5model4Node4Node __thunk36___D5mango3xml3dom4Node8NodeImpl12replaceChildFC5mango3xml3dom5model4Node4NodeC5mango3xml3dom5model4Node4NodeZC5mango3xml3dom5model4Node4Node __thunk36___D5mango3xml3dom4Node8NodeImpl13hasChildNodesFZb __thunk36___D5mango3xml3dom4Node8NodeImpl13ownerDocumentFZC5mango3xml3dom5model8Document8Document __thunk36___D5mango3xml3dom4Node8NodeImpl15previousSiblingFZC5mango3xml3dom5model4Node4Node __thunk36___D5mango3xml3dom4Node8NodeImpl8childrenFZAC5mango3xml3dom5model4Node4Node __thunk36___D5mango3xml3dom4Node8NodeImpl8nodeNameFZC5mango3icu7UString7UString __thunk36___D5mango3xml3dom4Node8NodeImpl8nodeTypeFZE8NodeType __thunk36___D5mango3xml3dom4Node8NodeImpl9cloneNodeFbZC5mango3xml3dom5model4Node4Node __thunk36___D5mango3xml3dom4Node8NodeImpl9lastChildFZC5mango3xml3dom5model4Node4Node __thunk36___D5mango3xml3dom4Node8NodeImpl9nodeValueFC5mango3icu7UString7UStringZv __thunk36___D5mango3xml3dom4Node8NodeImpl9nodeValueFZC5mango3icu7UString7UString __thunk44___D5mango3xml3dom4Node8NodeImpl10attributesFZC5mango3xml3dom5model4Node12NamedNodeMap __thunk44___D5mango3xml3dom4Node8NodeImpl10childNodesFZC5mango3xml3dom5model4Node8NodeList __thunk44___D5mango3xml3dom4Node8NodeImpl10firstChildFZC5mango3xml3dom5model4Node4Node __thunk44___D5mango3xml3dom4Node8NodeImpl10parentNodeFC5mango3xml3dom5model4Node4NodeZv __thunk44___D5mango3xml3dom4Node8NodeImpl10parentNodeFZC5mango3xml3dom5model4Node4Node __thunk44___D5mango3xml3dom4Node8NodeImpl11nextSiblingFZC5mango3xml3dom5model4Node4Node __thunk44___D5mango3xml3dom4Node8NodeImpl11removeChildFC5mango3xml3dom5model4Node4NodeZC5mango3xml3dom5model4Node4Node __thunk44___D5mango3xml3dom4Node8NodeImpl12replaceChildFC5mango3xml3dom5model4Node4NodeC5mango3xml3dom5model4Node4NodeZC5mango3xml3dom5model4Node4Node __thunk44___D5mango3xml3dom4Node8NodeImpl13hasChildNodesFZb __thunk44___D5mango3xml3dom4Node8NodeImpl13ownerDocumentFZC5mango3xml3dom5model8Document8Document __thunk44___D5mango3xml3dom4Node8NodeImpl15previousSiblingFZC5mango3xml3dom5model4Node4Node __thunk44___D5mango3xml3dom4Node8NodeImpl8childrenFZAC5mango3xml3dom5model4Node4Node __thunk44___D5mango3xml3dom4Node8NodeImpl8nodeNameFZC5mango3icu7UString7UString __thunk44___D5mango3xml3dom4Node8NodeImpl8nodeTypeFZE8NodeType __thunk44___D5mango3xml3dom4Node8NodeImpl9cloneNodeFbZC5mango3xml3dom5model4Node4Node __thunk44___D5mango3xml3dom4Node8NodeImpl9lastChildFZC5mango3xml3dom5model4Node4Node __thunk44___D5mango3xml3dom4Node8NodeImpl9nodeValueFC5mango3icu7UString7UStringZv __thunk44___D5mango3xml3dom4Node8NodeImpl9nodeValueFZC5mango3icu7UString7UString __thunk36___D5mango5cache7Payload7Payload7destroyFZv __thunk36___D5mango5cache7Payload7Payload7getTimeFZl __thunk36___D5mango5cache7Payload7Payload7setTimeFlZv __thunk48___D5mango5cache7Payload7Payload7destroyFZv __thunk48___D5mango5cache7Payload7Payload7getTimeFZl __thunk48___D5mango5cache7Payload7Payload7setTimeFlZv __thunk40___D5mango3xml3dom4Node8NodeImpl10attributesFZC5mango3xml3dom5model4Node12NamedNodeMap __thunk40___D5mango3xml3dom4Node8NodeImpl10childNodesFZC5mango3xml3dom5model4Node8NodeList __thunk40___D5mango3xml3dom4Node8NodeImpl10firstChildFZC5mango3xml3dom5model4Node4Node __thunk40___D5mango3xml3dom4Node8NodeImpl10parentNodeFC5mango3xml3dom5model4Node4NodeZv __thunk40___D5mango3xml3dom4Node8NodeImpl10parentNodeFZC5mango3xml3dom5model4Node4Node __thunk40___D5mango3xml3dom4Node8NodeImpl11appendChildFC5mango3xml3dom5model4Node4NodeZC5mango3xml3dom5model4Node4Node __thunk40___D5mango3xml3dom4Node8NodeImpl11nextSiblingFZC5mango3xml3dom5model4Node4Node __thunk40___D5mango3xml3dom4Node8NodeImpl11removeChildFC5mango3xml3dom5model4Node4NodeZC5mango3xml3dom5model4Node4Node __thunk40___D5mango3xml3dom4Node8NodeImpl12insertBeforeFC5mango3xml3dom5model4Node4NodeC5mango3xml3dom5model4Node4NodeZC5mango3xml3dom5model4Node4Node __thunk40___D5mango3xml3dom4Node8NodeImpl12replaceChildFC5mango3xml3dom5model4Node4NodeC5mango3xml3dom5model4Node4NodeZC5mango3xml3dom5model4Node4Node __thunk40___D5mango3xml3dom4Node8NodeImpl13hasChildNodesFZb __thunk40___D5mango3xml3dom4Node8NodeImpl13ownerDocumentFZC5mango3xml3dom5model8Document8Document __thunk40___D5mango3xml3dom4Node8NodeImpl15previousSiblingFZC5mango3xml3dom5model4Node4Node __thunk40___D5mango3xml3dom4Node8NodeImpl8childrenFZAC5mango3xml3dom5model4Node4Node __thunk40___D5mango3xml3dom4Node8NodeImpl8nodeNameFZC5mango3icu7UString7UString __thunk40___D5mango3xml3dom4Node8NodeImpl8nodeTypeFZE8NodeType __thunk40___D5mango3xml3dom4Node8NodeImpl9cloneNodeFbZC5mango3xml3dom5model4Node4Node __thunk40___D5mango3xml3dom4Node8NodeImpl9lastChildFZC5mango3xml3dom5model4Node4Node __thunk40___D5mango3xml3dom4Node8NodeImpl9nodeValueFC5mango3icu7UString7UStringZv __thunk40___D5mango3xml3dom4Node8NodeImpl9nodeValueFZC5mango3icu7UString7UString __thunk44___D5mango3xml3dom4Node8NodeImpl11appendChildFC5mango3xml3dom5model4Node4NodeZC5mango3xml3dom5model4Node4Node __thunk44___D5mango3xml3dom4Node8NodeImpl12insertBeforeFC5mango3xml3dom5model4Node4NodeC5mango3xml3dom5model4Node4NodeZC5mango3xml3dom5model4Node4Node In article <csb4en$25gt$1 digitaldaemon.com>, David Friedman says...John Demme wrote:I'm trying to compile Mango on OS X, and getting some error messages, I flat out don't understand... can anyone help me out? Thanks, John gcc -o mytest mytest.o -L. -L/usr/local/gcc-3.4/lib -ldl -lphobos -lmango ld: /usr/lib/gcc/darwin/3.3/libgcc.a(unwind-dw2.o) section's (__TEXT,__eh_frame) type S_COALESCED does not match previous objects type S_REGULAR<snip> Make sure the "gcc" you use to link is the one that was built with gdc. When you do this, you can also drop the -L/usr/local/gcc-3.4/lib option. David
Jan 15 2005
A thunk (in D or C++) is a small piece of code that adjusts the 'this' parameter and then jumps to another function. The number in the name is the amount to subtract from 'this'. I think this may be a problem in DMD 0.110 -- I'm seeing similar problems when I use it on Linux. How did you get Mango to compile on OS X? Did you re-arrange imports or use -fall-sources? If you did, you can see that there are some issues related to the order in which file are compiled. In 0.110 it looks like the layout of class/vtable can be incorrect in some cases. I'll post more when I know what the exact problem is. David John Demme wrote:So why doesn't the error message just say that? Thanks, but I've got another one now. I understand the error message, but I've never seen the __thunk28__ thing before in D's name mangling. These symbols seem to be defined in my object files, but the number after the "__thunk" is different. I don't get it. Can someone explain what the "thunk" is, and the numbers, ect... Thanks John gcc -o unittest mango/test/unittest.o -L. -lmango -ldl -lphobos -lpthread /usr/bin/ld: Undefined symbols: __thunk28___D5mango5cache7Payload7Payload7destroyFZv __thunk28___D5mango5cache7Payload7Payload7getTimeFZl __thunk28___D5mango5cache7Payload7Payload7setTimeFlZv __thunk36___D5mango2io8Resource8Resource13acquireIfOpenFZb __thunk36___D5mango2io8Resource8Resource5closeFZv __thunk36___D5mango2io8Resource8Resource7acquireFZv __thunk36___D5mango2io8Resource8Resource7getLockFZC6Object __thunk36___D5mango2io8Resource8Resource7setLockFC6ObjectZv __thunk60___D5mango2io8Resource8Resource13acquireIfOpenFZb __thunk60___D5mango2io8Resource8Resource5closeFZv __thunk60___D5mango2io8Resource8Resource7acquireFZv __thunk60___D5mango2io8Resource8Resource7getLockFZC6Object __thunk60___D5mango2io8Resource8Resource7setLockFC6ObjectZv __ModuleInfo_3std1c5linux5linux __thunk36___D5mango3xml3dom4Node8NodeImpl10attributesFZC5mango3xml3dom5model4Node12NamedNodeMap __thunk36___D5mango3xml3dom4Node8NodeImpl10childNodesFZC5mango3xml3dom5model4Node8NodeList __thunk36___D5mango3xml3dom4Node8NodeImpl10firstChildFZC5mango3xml3dom5model4Node4Node __thunk36___D5mango3xml3dom4Node8NodeImpl10parentNodeFC5mango3xml3dom5model4Node4NodeZv __thunk36___D5mango3xml3dom4Node8NodeImpl10parentNodeFZC5mango3xml3dom5model4Node4Node __thunk36___D5mango3xml3dom4Node8NodeImpl11appendChildFC5mango3xml3dom5model4Node4NodeZC5mango3xml3dom5model4Node4Node __thunk36___D5mango3xml3dom4Node8NodeImpl11nextSiblingFZC5mango3xml3dom5model4Node4Node __thunk36___D5mango3xml3dom4Node8NodeImpl11removeChildFC5mango3xml3dom5model4Node4NodeZC5mango3xml3dom5model4Node4Node __thunk36___D5mango3xml3dom4Node8NodeImpl12insertBeforeFC5mango3xml3dom5model4Node4NodeC5mango3xml3dom5model4Node4NodeZC5mango3xml3dom5model4Node4Node __thunk36___D5mango3xml3dom4Node8NodeImpl12replaceChildFC5mango3xml3dom5model4Node4NodeC5mango3xml3dom5model4Node4NodeZC5mango3xml3dom5model4Node4Node __thunk36___D5mango3xml3dom4Node8NodeImpl13hasChildNodesFZb __thunk36___D5mango3xml3dom4Node8NodeImpl13ownerDocumentFZC5mango3xml3dom5model8Document8Document __thunk36___D5mango3xml3dom4Node8NodeImpl15previousSiblingFZC5mango3xml3dom5model4Node4Node __thunk36___D5mango3xml3dom4Node8NodeImpl8childrenFZAC5mango3xml3dom5model4Node4Node __thunk36___D5mango3xml3dom4Node8NodeImpl8nodeNameFZC5mango3icu7UString7UString __thunk36___D5mango3xml3dom4Node8NodeImpl8nodeTypeFZE8NodeType __thunk36___D5mango3xml3dom4Node8NodeImpl9cloneNodeFbZC5mango3xml3dom5model4Node4Node __thunk36___D5mango3xml3dom4Node8NodeImpl9lastChildFZC5mango3xml3dom5model4Node4Node __thunk36___D5mango3xml3dom4Node8NodeImpl9nodeValueFC5mango3icu7UString7UStringZv __thunk36___D5mango3xml3dom4Node8NodeImpl9nodeValueFZC5mango3icu7UString7UString __thunk44___D5mango3xml3dom4Node8NodeImpl10attributesFZC5mango3xml3dom5model4Node12NamedNodeMap __thunk44___D5mango3xml3dom4Node8NodeImpl10childNodesFZC5mango3xml3dom5model4Node8NodeList __thunk44___D5mango3xml3dom4Node8NodeImpl10firstChildFZC5mango3xml3dom5model4Node4Node __thunk44___D5mango3xml3dom4Node8NodeImpl10parentNodeFC5mango3xml3dom5model4Node4NodeZv __thunk44___D5mango3xml3dom4Node8NodeImpl10parentNodeFZC5mango3xml3dom5model4Node4Node __thunk44___D5mango3xml3dom4Node8NodeImpl11nextSiblingFZC5mango3xml3dom5model4Node4Node __thunk44___D5mango3xml3dom4Node8NodeImpl11removeChildFC5mango3xml3dom5model4Node4NodeZC5mango3xml3dom5model4Node4Node __thunk44___D5mango3xml3dom4Node8NodeImpl12replaceChildFC5mango3xml3dom5model4Node4NodeC5mango3xml3dom5model4Node4NodeZC5mango3xml3dom5model4Node4Node __thunk44___D5mango3xml3dom4Node8NodeImpl13hasChildNodesFZb __thunk44___D5mango3xml3dom4Node8NodeImpl13ownerDocumentFZC5mango3xml3dom5model8Document8Document __thunk44___D5mango3xml3dom4Node8NodeImpl15previousSiblingFZC5mango3xml3dom5model4Node4Node __thunk44___D5mango3xml3dom4Node8NodeImpl8childrenFZAC5mango3xml3dom5model4Node4Node __thunk44___D5mango3xml3dom4Node8NodeImpl8nodeNameFZC5mango3icu7UString7UString __thunk44___D5mango3xml3dom4Node8NodeImpl8nodeTypeFZE8NodeType __thunk44___D5mango3xml3dom4Node8NodeImpl9cloneNodeFbZC5mango3xml3dom5model4Node4Node __thunk44___D5mango3xml3dom4Node8NodeImpl9lastChildFZC5mango3xml3dom5model4Node4Node __thunk44___D5mango3xml3dom4Node8NodeImpl9nodeValueFC5mango3icu7UString7UStringZv __thunk44___D5mango3xml3dom4Node8NodeImpl9nodeValueFZC5mango3icu7UString7UString __thunk36___D5mango5cache7Payload7Payload7destroyFZv __thunk36___D5mango5cache7Payload7Payload7getTimeFZl __thunk36___D5mango5cache7Payload7Payload7setTimeFlZv __thunk48___D5mango5cache7Payload7Payload7destroyFZv __thunk48___D5mango5cache7Payload7Payload7getTimeFZl __thunk48___D5mango5cache7Payload7Payload7setTimeFlZv __thunk40___D5mango3xml3dom4Node8NodeImpl10attributesFZC5mango3xml3dom5model4Node12NamedNodeMap __thunk40___D5mango3xml3dom4Node8NodeImpl10childNodesFZC5mango3xml3dom5model4Node8NodeList __thunk40___D5mango3xml3dom4Node8NodeImpl10firstChildFZC5mango3xml3dom5model4Node4Node __thunk40___D5mango3xml3dom4Node8NodeImpl10parentNodeFC5mango3xml3dom5model4Node4NodeZv __thunk40___D5mango3xml3dom4Node8NodeImpl10parentNodeFZC5mango3xml3dom5model4Node4Node __thunk40___D5mango3xml3dom4Node8NodeImpl11appendChildFC5mango3xml3dom5model4Node4NodeZC5mango3xml3dom5model4Node4Node __thunk40___D5mango3xml3dom4Node8NodeImpl11nextSiblingFZC5mango3xml3dom5model4Node4Node __thunk40___D5mango3xml3dom4Node8NodeImpl11removeChildFC5mango3xml3dom5model4Node4NodeZC5mango3xml3dom5model4Node4Node __thunk40___D5mango3xml3dom4Node8NodeImpl12insertBeforeFC5mango3xml3dom5model4Node4NodeC5mango3xml3dom5model4Node4NodeZC5mango3xml3dom5model4Node4Node __thunk40___D5mango3xml3dom4Node8NodeImpl12replaceChildFC5mango3xml3dom5model4Node4NodeC5mango3xml3dom5model4Node4NodeZC5mango3xml3dom5model4Node4Node __thunk40___D5mango3xml3dom4Node8NodeImpl13hasChildNodesFZb __thunk40___D5mango3xml3dom4Node8NodeImpl13ownerDocumentFZC5mango3xml3dom5model8Document8Document __thunk40___D5mango3xml3dom4Node8NodeImpl15previousSiblingFZC5mango3xml3dom5model4Node4Node __thunk40___D5mango3xml3dom4Node8NodeImpl8childrenFZAC5mango3xml3dom5model4Node4Node __thunk40___D5mango3xml3dom4Node8NodeImpl8nodeNameFZC5mango3icu7UString7UString __thunk40___D5mango3xml3dom4Node8NodeImpl8nodeTypeFZE8NodeType __thunk40___D5mango3xml3dom4Node8NodeImpl9cloneNodeFbZC5mango3xml3dom5model4Node4Node __thunk40___D5mango3xml3dom4Node8NodeImpl9lastChildFZC5mango3xml3dom5model4Node4Node __thunk40___D5mango3xml3dom4Node8NodeImpl9nodeValueFC5mango3icu7UString7UStringZv __thunk40___D5mango3xml3dom4Node8NodeImpl9nodeValueFZC5mango3icu7UString7UString __thunk44___D5mango3xml3dom4Node8NodeImpl11appendChildFC5mango3xml3dom5model4Node4NodeZC5mango3xml3dom5model4Node4Node __thunk44___D5mango3xml3dom4Node8NodeImpl12insertBeforeFC5mango3xml3dom5model4Node4NodeC5mango3xml3dom5model4Node4NodeZC5mango3xml3dom5model4Node4Node In article <csb4en$25gt$1 digitaldaemon.com>, David Friedman says...John Demme wrote:I'm trying to compile Mango on OS X, and getting some error messages, I flat out don't understand... can anyone help me out? Thanks, John gcc -o mytest mytest.o -L. -L/usr/local/gcc-3.4/lib -ldl -lphobos -lmango ld: /usr/lib/gcc/darwin/3.3/libgcc.a(unwind-dw2.o) section's (__TEXT,__eh_frame) type S_COALESCED does not match previous objects type S_REGULAR<snip> Make sure the "gcc" you use to link is the one that was built with gdc. When you do this, you can also drop the -L/usr/local/gcc-3.4/lib option. David
Jan 17 2005
David Friedman wrote:A thunk (in D or C++) is a small piece of code that adjusts the 'this' parameter and then jumps to another function. The number in the name is the amount to subtract from 'this'. I think this may be a problem in DMD 0.110 -- I'm seeing similar problems when I use it on Linux. How did you get Mango to compile on OS X? Did you re-arrange imports or use -fall-sources? If you did, you can see that there are some issues related to the order in which file are compiled. In 0.110 it looks like the layout of class/vtable can be incorrect in some cases. I'll post more when I know what the exact problem is.Here's the output that I get, with a patched version of Mango 1.0a :gcc -o mangotest unittest.o libmango.a -lphobos -g /usr/bin/ld: Undefined symbols: __thunk28___D5mango5cache7Payload7Payload7destroyFZv __thunk28___D5mango5cache7Payload7Payload7getTimeFZl __thunk28___D5mango5cache7Payload7Payload7setTimeFlZv __thunk36___D5mango2io8Resource8Resource13acquireIfOpenFZb __thunk36___D5mango2io8Resource8Resource5closeFZv __thunk36___D5mango2io8Resource8Resource7acquireFZv __thunk36___D5mango2io8Resource8Resource7getLockFZC6Object __thunk36___D5mango2io8Resource8Resource7setLockFC6ObjectZv __thunk56___D5mango2io8Resource8Resource13acquireIfOpenFZb __thunk56___D5mango2io8Resource8Resource5closeFZv __thunk56___D5mango2io8Resource8Resource7acquireFZv __thunk56___D5mango2io8Resource8Resource7getLockFZC6Object __thunk56___D5mango2io8Resource8Resource7setLockFC6ObjectZv __thunk36___D5mango5cache7Payload7Payload7destroyFZv __thunk36___D5mango5cache7Payload7Payload7getTimeFZl __thunk36___D5mango5cache7Payload7Payload7setTimeFlZv __thunk48___D5mango5cache7Payload7Payload7destroyFZv __thunk48___D5mango5cache7Payload7Payload7getTimeFZl __thunk48___D5mango5cache7Payload7Payload7setTimeFlZvThis is when doing "make -f darwin.make", with GDC 0.10 / GCC 3.3.5 Is there a way to solve this by rearranging sources or changing imports, or is a bug needing to be addressed in the DMD front-end or something ? --anders
Jan 23 2005