Thread overview | |||||||||
---|---|---|---|---|---|---|---|---|---|
|
January 15, 2005 Uhh... Me No Understand | ||||
---|---|---|---|---|
| ||||
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 |
January 15, 2005 Re: Uhh... Me No Understand | ||||
---|---|---|---|---|
| ||||
Posted in reply to John Demme | 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
|
January 15, 2005 Re: Uhh... Me No Understand | ||||
---|---|---|---|---|
| ||||
Posted in reply to David Friedman | 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 |
January 17, 2005 Re: Uhh... Me No Understand | ||||
---|---|---|---|---|
| ||||
Posted in reply to John Demme | 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
>
>
>
|
January 23, 2005 Re: Uhh... Me No Understand (Mango) | ||||
---|---|---|---|---|
| ||||
Posted in reply to David Friedman | 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___D5mango5cache7Payload7Payload7setTimeFlZv This 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 |
Copyright © 1999-2021 by the D Language Foundation