Subject: pkg/29215: lang/tcl build fails on MacOS X 10.[12].x after mk/wrapper changes
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: None <jdbaker@netbsd.org>
List: pkgsrc-bugs
Date: 02/03/2005 18:33:00
>Number:         29215
>Category:       pkg
>Synopsis:       lang/tcl build fails on MacOS X 10.[12].x after mk/wrapper changes
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Feb 03 18:33:00 +0000 2005
>Originator:     John D. Baker
>Release:        MacOS X 10.2.8
>Organization:
>Environment:
Darwin pm8500.technoskunk.fur 6.8 Darwin Kernel Version 6.8: Wed Sep 10 15:20:55 PDT 2003; root:xnu/xnu-344.49.obj~2/RELEASE_PPC  Power Macintosh powerpc

>Description:
Linking lang/tcl broke in MacOS X immediately following
an update to mk/wrapper as described in pkgsrc-changes here:

    http://mail-index.netbsd.org/pkgsrc-changes/2005/01/18/0042.html

Subject: CVS commit: pkgsrc/mk/wrapper
To: None <pkgsrc-changes@NetBSD.org>
From: Johnny C. Lam <jlam@netbsd.org>
List: pkgsrc-changes
Date: 01/18/2005 17:25:13

Module Name:	pkgsrc
Committed By:	jlam
Date:		Tue Jan 18 17:25:13 UTC 2005

Modified Files:
	pkgsrc/mk/wrapper: NOTES bsd.wrapper.mk logic wrapper.sh
Added Files:
	pkgsrc/mk/wrapper: arg-pp-darwin-gcc arg-pp-main arg-pp-mipspro-cc

Log Message:
Split out the argument pre-processing logic into its own script
arg-pp-main, and allow for wrapper-specific hooks to extend the
pre-processing through _WRAP_ARG_PP.<wrappee>.  Move the Darwin
GCC-related preprocessing into arg-pp-darwin-gcc, and create a
arg-pp-mipspro-cc that understands -LANG:<feature> and -LIST:<feature>
so that they're not confused with the usual -Ldir options.


I originally had problems with nmap-3.78, but it builds OK now.

Building lang/tcl fails as follows:

gcc -pipe -dynamiclib ${wl}-flat_namespace ${wl}-undefined ${wl}suppress -o .libs/libtcl84.1.0.0.dylib  .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/tclResolv
 e.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/tclUnixNotfy.o .libs/tclLoadDyld.o .libs/tclMacOSXBundle.o  -L/Volumes/NetBSD/tmp/pkgsrc/lang/tcl/work/.buildlink/lib -ltcl84  -install_name  /usr/pkg/lib/libtcl84.1.dylib -Wl,-compatibility_version -Wl,2 -Wl,-current_version -Wl,2.0
/usr/bin/libtool: can't locate file for: -ltcl84
/usr/bin/libtool: file: -ltcl84 is not an object file (not allowed in a library)
*** Error code 1

Stop.
bmake: stopped in /Volumes/NetBSD/tmp/pkgsrc/lang/tcl/work/tcl8.4.9/unix

>How-To-Repeat:
checkout/update to a pkgsrc no later than 18 Jan 2005 17:24 UTC and
bootstrap it on MacOS X 10.2.8.
update to pkgsrc-current

cd .../pkgsrc/lang/tcl
bmake

>Fix:
Workaround:

Back off mk/wrapper to before the change listed above.

update -D "18 Jan 2005 17:24 UTC" -Pd pkgsrc/mk/wrapper

build lang/tcl (and x11/tk ?)

update back to -current

update -APd pkgsrc/mk/wrapper