Subject: pkg/5029: tk-8.0p2 pkg doesn't link on pmax, (alpha?): -ltk80 unresolved
To: None <gnats-bugs@gnats.netbsd.org>
From: Jonathan Stone <jonathan@Cuisinart.Stanford.EDU>
List: netbsd-bugs
Date: 02/20/1998 17:58:15
>Number:         5029
>Category:       pkg
>Synopsis:       tk-8.0p2 pkg doesn't link on pmax, (alpha?): -ltk80 unresolved
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    gnats-admin (GNATS administrator)
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Feb 20 18:05:00 1998
>Last-Modified:
>Originator:     Jonathan Stone
>Organization:
	
>Release:        NetBSD/pmax 1.3-release userland with pkg *.mk files,
>Environment:
	
System: NetBSD Cuisinart.Stanford.EDU 1.3D NetBSD 1.3D (R4000) #1: Thu Feb 19 20:07:57 PST 1998 jonathan@Cuisinart.Stanford.EDU:/cuisinart/compile/R4000 pmax


>Description:

tcl80 pkg doesn't link wish on a pmax because the reference to -ltk80
is not resolved. A libtk80.so is built in the current work directory,
but the links required by our ELF
	libtk80.so -> libtk80.so.0
	libtk80.so.0 -> libtk80.so.1
are not built.

Therefore, binutils 2.8.x ld doesn't find the library when linking wish.


>How-To-Repeat:

    cd /usr/pkgsrc/lang/tk
    make 		#snip failed build
    make >& remake.log	#redo to show error. Log below snipped from remake.log
    >> Checksum OK for tk8.0p2.tar.gz.
    ===>  Building for tk-8.0p2
    cc  tkAppInit.o -L/cuisinart/NetBSD/pkgsrc/x11/tk80/work/tk8.0/unix -ltk80 -L/usr/pkg/lib -ltcl80  -L/usr/X11R6/lib -lX11  -lm -lc   -o wish
    ld: cannot open -ltk80: No such file or directory
    *** Error code 1 (continuing)
    `all' not remade because of errors.
 	

    ls -l work/tk8.0/unix/libtk80.so.1.0 
    -rwxr-xr-x  1 root  staff  1104779 Feb 20 05:35 work/tk8.0/unix/libtk80.so.1.0

>Fix:

Building the symlinks required by netBSD's ELF implementation (either pmax
or alpha) by and and forcing a remake is a sufficient workaround:

    # pushd work/tk8.0/unix
    # ln -s libtk80.so.1.0 libtk80.so.1
    # ln -s libtk80.so.1 libtk80.so
    # popd
    # make		#  make now completes successfully

It would be very nice if the pkg system could patch around this,
unless/until tk knows how to build ELF libraries on NetBSD...
>Audit-Trail:
>Unformatted:

		pkgsrc, updated from NetBSD-current  at 1997-02-19