Subject: collect2: ld returned 1 exit status
To: None <pkgsrc-users@netbsd.org>
From: Brian Martinez <brm@beta.mail.msu.edu>
List: pkgsrc-users
Date: 12/14/2006 13:42:13
Folks,

I'm using pkgsrc on an OpenBSD 4.0 system and trying to build TCL and 
getting this "collect2: ld returned 1 exit status" error message.  I'm 
not even certain that is why my main problem is, but when hitting up the 
search engines for answers I am at a loss.  I have yet to see an exact 
answer to this problem (which is what makes me wonder if that really is 
what is the issue here).  Some people have said "Oh I just defined 
whatever in CONFIG_ARGS+="  Others have said "I was running out of 
space."  Still others have posted this question and simply received no 
answer at all.

I have seen this error on several other pkgs I've tried to build out of 
pkgsrc both on OpenBSD and on Solaris 10.  Not just for TCL, but for 
other pkgs as I've said.  I worked around it one time.  One time!  And 
of course I did not document what I did to fix it, nor can I remember no 
matter how hard I rack my brain.  I couldn't tell you for certain what 
other pkgs it was I was building either.  It was a number of months ago, 
and aside from fixing it on one, I just flat out gave up on other pkg 
builds.

Below I'm pasting what I see.  One line that stands out to me is, 
".libs/regerror.o(.text+0xaa): In function `TclReError':"
But I don't know what this means.  Perhaps you can tell me there is 
something that I'm simply overlooking.  I would greatly appreciate any 
insight into this.  Thanks!

----[begin paste]----
root@irc:/usr/pkgsrc/lang/tcl# bmake
=> Required installed package digest>=20010302: digest-20060826 found
===> Checking for vulnerabilities in tcl-8.4.14
=> Checksum SHA1 OK for tcl8.4.14-src.tar.gz
=> Checksum RMD160 OK for tcl8.4.14-src.tar.gz
===> Building for tcl-8.4.14
rm -f libtcl84.so.1.0
libtool  --mode=link cc -pipe -rpath /usr/pkg/lib -o libtcl84.so.1.0 
regcomp.lo regexec.lo regfree.lo regerror.lo tclAlloc.lo tclAsync.lo 
tclBasic.lo tclBinary.lo tclCkalloc.lo tclClock.lo tclCmdAH.lo 
tclCmdIL.lo tclCmdMZ.lo tclCompCmds.lo tclCompExpr.lo tclCompile.lo 
tclDate.lo tclEncoding.lo tclEnv.lo tclEvent.lo tclExecute.lo tclFCmd.lo 
tclFileName.lo tclGet.lo tclHash.lo tclHistory.lo tclIndexObj.lo 
tclInterp.lo tclIO.lo tclIOCmd.lo tclIOGT.lo tclIOSock.lo tclIOUtil.lo 
tclLink.lo tclListObj.lo tclLiteral.lo tclLoad.lo tclMain.lo 
tclNamesp.lo tclNotify.lo tclObj.lo tclPanic.lo tclParse.lo 
tclParseExpr.lo tclPipe.lo tclPkg.lo tclPosixStr.lo tclPreserve.lo 
tclProc.lo tclRegexp.lo tclResolve.lo tclResult.lo tclScan.lo 
tclStringObj.lo tclThread.lo tclThreadAlloc.lo tclThreadJoin.lo 
tclStubInit.lo tclStubLib.lo tclTimer.lo tclUtf.lo tclUtil.lo tclVar.lo 
tclUnixChan.lo tclUnixEvent.lo tclUnixFCmd.lo tclUnixFile.lo 
tclUnixPipe.lo tclUnixSock.lo tclUnixTime.lo tclUnixInit.lo 
tclUnixThrd.lo tclUnixCompat.lo tclUnixNotfy.lo tclLoadDl.lo -lm   
-Wl,-rpath,/usr/pkg/lib -version-info 1:0
libtool: link: warning: `-version-info' is ignored for programs
cc -pipe -o libtcl84.so.1.0 .libs/regcomp.o .libs/regexec.o 
.libs/regfree.o .libs/regerror.o .libs/tclAlloc.o .libs/tclAsync.o 
.libs/tclBasic.o .libs/tclBinary.o .libs/tclCkalloc.o .libs/tclClock.o 
.libs/tclCmdAH.o .libs/tclCmdIL.o .libs/tclCmdMZ.o .libs/tclCompCmds.o 
.libs/tclCompExpr.o .libs/tclCompile.o .libs/tclDate.o 
.libs/tclEncoding.o .libs/tclEnv.o .libs/tclEvent.o .libs/tclExecute.o 
.libs/tclFCmd.o .libs/tclFileName.o .libs/tclGet.o .libs/tclHash.o 
.libs/tclHistory.o .libs/tclIndexObj.o .libs/tclInterp.o .libs/tclIO.o 
.libs/tclIOCmd.o .libs/tclIOGT.o .libs/tclIOSock.o .libs/tclIOUtil.o 
.libs/tclLink.o .libs/tclListObj.o .libs/tclLiteral.o .libs/tclLoad.o 
.libs/tclMain.o .libs/tclNamesp.o .libs/tclNotify.o .libs/tclObj.o 
.libs/tclPanic.o .libs/tclParse.o .libs/tclParseExpr.o .libs/tclPipe.o 
.libs/tclPkg.o .libs/tclPosixStr.o .libs/tclPreserve.o .libs/tclProc.o 
.libs/tclRegexp.o .libs/tclResolve.o .libs/tclResult.o .libs/tclScan.o 
.libs/tclStringObj.o .libs/tclThread.o .libs/tclThreadAlloc.o 
.libs/tclThreadJoin.o .libs/tclStubInit.o .libs/tclStubLib.o 
.libs/tclTimer.o .libs/tclUtf.o .libs/tclUtil.o .libs/tclVar.o 
.libs/tclUnixChan.o .libs/tclUnixEvent.o .libs/tclUnixFCmd.o 
.libs/tclUnixFile.o .libs/tclUnixPipe.o .libs/tclUnixSock.o 
.libs/tclUnixTime.o .libs/tclUnixInit.o .libs/tclUnixThrd.o 
.libs/tclUnixCompat.o .libs/tclUnixNotfy.o .libs/tclLoadDl.o -Wl,-rpath 
-Wl,/usr/pkg/lib  -lm -L/usr/pkgsrc/lang/tcl/work/.buildlink/lib  
-Wl,-rpath,/usr/pkg/lib
.libs/regerror.o(.text+0xaa): In function `TclReError':
: warning: strcpy() is almost always misused, please use strlcpy()
.libs/regcomp.o(.text+0x3517): In function `stid':
: warning: sprintf() is often misused, please use snprintf()
.libs/tclUnixPipe.o(.text+0x152): In function `TclpCreateTempFile':
: warning: strcat() is almost always misused, please use strlcat()
/usr/lib/crt0.o(.text+0xa4): In function `___start':
: undefined reference to `main'
collect2: ld returned 1 exit status
*** Error code 1

Stop.
bmake: stopped in /usr/pkgsrc/lang/tcl/work/tcl8.4.14/unix
*** Error code 1

Stop.
bmake: stopped in /usr/pkgsrc/lang/tcl
*** Error code 1

Stop.
bmake: stopped in /usr/pkgsrc/lang/tcl
----[end paste]----
./brm