View Ticket
Ticket Hash: 5a97ada5372a8135eaca7381bd60eb4195cf4634
Title: .a file order in kitsh build is critical
Status: Open Type: Code Defect
Severity: Critical Priority: Immediate
Subsystem: Tcl Resolution: Open
Last Modified: 2012-11-15 01:19:11
Version Found In: all
Description:
kitsh compilation/linkage step is critically dependent upon the order of .a files - specifically, libtclstub86.a *must* appear after libtcldde14.a else the symbols aren't found.<div><br /></div><div>The fix is buildsrc/kitsh-0.0/Makefile.tclkit.in L7-8:</div><div><span class="Apple-tab-span" style="white-space:pre">	</span>kit: $(OBJS) $(EXTRA_OBJS) $(EXTRA_KIT_DEPS) $(EXTRA_VFS_OBJS) $(ARCHS)</div><div><span class="Apple-tab-span" style="white-space:pre">		</span>$(CC) $(CPPFLAGS) $(CFLAGS) -o kit -Wl,--start-group $(OBJS) $(EXTRA_OBJS) $(EXTRA_VFS_OBJS) $(ARCHS) -Wl,--end-group $(LDFLAGS) $(LIBS) $(LDFLAGS_ADD)</div><div><br /></div><div>Adding those -Wl lines will ensure that the .a files are exhaustively searched to resolve all symbols.</div><div><br /></div>

<hr /><i>anonymous added on 2012-11-15 01:19:11 UTC:</i><br />
The ddl .a perhaps should not be present in this step at all, which might obviate this problem.