Strange problem linking Windows DLL - 'Error: 0-bit reloc in dll'

Michael.Gogins@sungard.com Michael.Gogins@sungard.com
Thu Nov 20 21:17:00 GMT 2003


I am building a Python 2.3 extension module in Cygwin using gcc version 3.3.1 
(cygming special) with binutils version 2.14.90. There do not appear to be
any unresolved symbols, but I get the error:

Error: 0-bit reloc in dll

This DLL is a port of Solaris code and links in Sybase OpenClient Windows DLLs 
(and other DLLs) via import libraries that I make with strings and dlltool. 
The DLL also links with the X Windows libraries because the ported code 
references those libraries. Note the error report in the middle of 
the X windows import fixups (see link line below). 

I have no problem building a "toy" Python extension on Cygwin using similar rules. 

I also have no problem building, linking, and running tne entire extension 
on Solaris with Sun Workshop.

Other possibly relevant factors include the large size of the tt_wrap.o object 
and the need for repeating libraries on the link line thanks to interlibrary dependencies:

What causes this and what can I do about it? Thanks for any insight you can provide.

g++ -shared --enable-stdcall-fixups --enable-runtime-pseudo-reloc --noinhibit-ex
ec --split-by-reloc tt_wrap.o -Llib -L3sw/LSERV/lib/implib -lLSAPIW32 -L/lib/Pyt
hon2.3/config -lpython2.3 -lSM -lICE -L/usr/X11R6/lib  -lXm -lXt -lX11 /usr/loca
l/lib/libsybdb.a /usr/local/lib/libsrv.a /usr/local/lib/libamb.a -lstdc++ -lm -L
Aggregator -lAggregator -LAmbInterface -lAmbInterface -LApp -lApp -LAppWin -lApp
Win -LBrowser -lBrowser -LCallAccount -lCallAccount -LCharges -lCharges DB/libDB
.a -LContentious -lContentious -Ldlist -ldlist -LDsm -lDsm -LDTE -lDTE -LExInter
face -lExInterface -LExposure -lExposure -Lfinance -lfinance -LFmsInterface -lFm
sInterface -LFutureTrade -lFutureTrade -LFXCashTrade -lFXCashTrade -LFXOptionTra
de -lFXOptionTrade -LFXOptionTrade -lFXOptionTrade -LGLI -lGLI -LGui -lGui -Lins
tr -linstr -LInstrument -linstrument -LIROptTrade -lIROptTrade -LMc -lMc -Lmmcas
h -lmmcash -LMMCashTrade -lMMCashTrade mrm/libmrm.a -LObserver -lObserver -LOpen
Client -lOpenClient -LOpenServer -lOpenServer -LOrders  -lOrders -LParser -lPars
er -LProcess -lProcess -LRecord -lRecord -LRep -lRep -LRtf -lRtf -LRtfServer -lR
tfServer -Lrw -lrwtool -Lsettlements -lsettlements -LSocket -lSocket -LSocketCli
ent -lSocketClient -LSocketServer -lSocketServer -LSQLBuilder -lSQLBuilder -LSys
Param -lSysParam -LSystem -lSystem -LTBag -lTBag -LTFO -lTFO -LTFOTools -lTFOToo
ls -Ltpm -ltpm -LTradeAction -lTradeAction -LUAM -lUAM -LUserParam -lUserParam -
LUserTrade -lUserTrade -LView -lView -LView -lView -Lxpm -lxpm -Lzip -lzip -Llib
 -L3sw/LSERV/lib/implib -lLSAPIW32 -L/lib/Python2.3/config -lpython2.3 -lSM -lIC
E -L/usr/X11R6/lib  -lXm -lXt -lX11 /usr/local/lib/libsybdb.a /usr/local/lib/lib
srv.a /usr/local/lib/libamb.a -lstdc++ -lm -LAggregator -lAggregator -LAmbInterf
ace -lAmbInterface -LApp -lApp -LAppWin -lAppWin -LBrowser -lBrowser -LCallAccou
nt -lCallAccount -LCharges -lCharges DB/libDB.a -LContentious -lContentious -Ldl
ist -ldlist -LDsm -lDsm -LDTE -lDTE -LExInterface -lExInterface -LExposure -lExp
osure -Lfinance -lfinance -LFmsInterface -lFmsInterface -LFutureTrade -lFutureTr
ade -LFXCashTrade -lFXCashTrade -LFXOptionTrade -lFXOptionTrade -LFXOptionTrade
-lFXOptionTrade -LGLI -lGLI -LGui -lGui -Linstr -linstr -LInstrument -linstrumen
t -LIROptTrade -lIROptTrade -LMc -lMc -Lmmcash -lmmcash -LMMCashTrade -lMMCashTr
ade mrm/libmrm.a -LObserver -lObserver -LOpenClient -lOpenClient -LOpenServer -l
OpenServer -LOrders  -lOrders -LParser -lParser -LProcess -lProcess -LRecord -lR
ecord -LRep -lRep -LRtf -lRtf -LRtfServer -lRtfServer -Lrw -lrwtool -Lsettlement
s -lsettlements -LSocket -lSocket -LSocketClient -lSocketClient -LSocketServer -
lSocketServer -LSQLBuilder -lSQLBuilder -LSysParam -lSysParam -LSystem -lSystem
-LTBag -lTBag -LTFO -lTFO -LTFOTools -lTFOTools -Ltpm -ltpm -LTradeAction -lTrad
eAction -LUAM -lUAM -LUserParam -lUserParam -LUserTrade -lUserTrade -LView -lVie
w -LView -lView -Lxpm -lxpm -Lzip -lzip -Llib -L3sw/LSERV/lib/implib -lLSAPIW32
-L/lib/Python2.3/config -lpython2.3 -lSM -lICE -L/usr/X11R6/lib  -lXm -lXt -lX11
 /usr/local/lib/libsybdb.a /usr/local/lib/libsrv.a /usr/local/lib/libamb.a -lstd
c++ -lm -LAggregator -lAggregator -LAmbInterface -lAmbInterface -LApp -lApp -LAp
pWin -lAppWin -LBrowser -lBrowser -LCallAccount -lCallAccount -LCharges -lCharge
s DB/libDB.a -LContentious -lContentious -Ldlist -ldlist -LDsm -lDsm -LDTE -lDTE
 -LExInterface -lExInterface -LExposure -lExposure -Lfinance -lfinance -LFmsInte
rface -lFmsInterface -LFutureTrade -lFutureTrade -LFXCashTrade -lFXCashTrade -LF
XOptionTrade -lFXOptionTrade -LFXOptionTrade -lFXOptionTrade -LGLI -lGLI -LGui -
lGui -Linstr -linstr -LInstrument -linstrument -LIROptTrade -lIROptTrade -LMc -l
Mc -Lmmcash -lmmcash -LMMCashTrade -lMMCashTrade mrm/libmrm.a -LObserver -lObser
ver -LOpenClient -lOpenClient -LOpenServer -lOpenServer -LOrders  -lOrders -LPar
ser -lParser -LProcess -lProcess -LRecord -lRecord -LRep -lRep -LRtf -lRtf -LRtf
Server -lRtfServer -Lrw -lrwtool -Lsettlements -lsettlements -LSocket -lSocket -
LSocketClient -lSocketClient -LSocketServer -lSocketServer -LSQLBuilder -lSQLBui
lder -LSysParam -lSysParam -LSystem -lSystem -LTBag -lTBag -LTFO -lTFO -LTFOTool
s -lTFOTools -Ltpm -ltpm -LTradeAction -lTradeAction -LUAM -lUAM -LUserParam -lU
serParam -LUserTrade -lUserTrade -LView -lView -LView -lView -Lxpm -lxpm -Lzip -
lzip -o _tt.dll
Info: resolving __XmStrings by linking to __imp___XmStrings (auto-import)
Info: resolving _XtStrings by linking to __imp__XtStrings (auto-import)
Info: resolving _xmFormWidgetClass by linking to __imp__xmFormWidgetClass (auto-
import)
Info: resolving _xmLabelWidgetClass by linking to __imp__xmLabelWidgetClass (aut
o-import)
Info: resolving _xmPushButtonWidgetClass by linking to __imp__xmPushButtonWidget
Class (auto-import)
Info: resolving _XtShellStrings by linking to __imp__XtShellStrings (auto-import
)
Info: resolving _applicationShellWidgetClass by linking to __imp__applicationShe
llWidgetClass (auto-import)
Info: resolving _xmFrameWidgetClass by linking to __imp__xmFrameWidgetClass (aut
o-import)
Info: resolving _xmTextWidgetClass by linking to __imp__xmTextWidgetClass (auto-
import)
Info: resolving _xmTextFieldWidgetClass by linking to __imp__xmTextFieldWidgetCl
ass (auto-import)
Info: resolving _xmScaleWidgetClass by linking to __imp__xmScaleWidgetClass (aut
o-import)
Info: resolving _xmListWidgetClass by linkinError: 0-bit reloc in dll
g to __imp__xmListWidgetClass (auto-import)
Info: resolving _xmArrowButtonWidgetClass by linking to __imp__xmArrowButtonWidg
etClass (auto-import)
Info: resolving _xmRowColumnWidgetClass by linking to __imp__xmRowColumnWidgetCl
ass (auto-import)
Info: resolving _xmToggleButtonWidgetClass by linking to __imp__xmToggleButtonWi
dgetClass (auto-import)
collect2: ld returned 1 exit status
make: *** [_tt.dll] Error 1

Michael Gogins
Senior Software Engineer
Front Capital Systems 

SunGard Trading Systems 
560 Lexington Avenue
Telephone: 212 317 7455 
E-mail address Michael.Gogins@front.com 
www.front.com 

The information transmitted is intended only for the intended recipient and may contain confidential and/or privileged material. Any further transmission, dissemination or other use of, or taking of any action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please contact the sender and delete the material from any computer.

 

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/



More information about the Cygwin mailing list