Opened 19 months ago

Last modified 16 months ago

#67062 closed defect

tk @8.6.13_0+quartz build fails when tk +x11 is installed — at Version 2

Reported by: murrayE Owned by: MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Priority: Normal Milestone:
Component: ports Version: 2.8.1
Keywords: Cc:
Port: tk

Description (last modified by ryandesign (Ryan Carsten Schmidt))

Executing sudo port install tk +quartz gives build error. From log:

:info:build /usr/bin/clang -dynamiclib -O2 -pipe -Os -arch arm64 -pipe  -isystem/opt/local/include -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk   -L/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_x11_tk/tk/work/tk8.6.13 -L/opt/local/lib -Wl,-syslibroot,/Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk -arch arm64 -headerpad_max_install_names -Wl,-search_paths_first  -Wl,-single_module -o libtk8.6.dylib tk3d.o tkArgv.o tkAtom.o tkBind.o tkBitmap.o tkBusy.o tkClipboard.o tkCmds.o tkColor.o tkConfig.o tkConsole.o tkCursor.o tkError.o tkEvent.o tkFocus.o tkFont.o tkGet.o tkGC.o tkGeometry.o tkGrab.o tkGrid.o tkMain.o tkObj.o tkOldConfig.o tkOption.o tkPack.o tkPlace.o tkSelect.o tkStyle.o tkUndo.o tkUtil.o tkVisual.o tkWindow.o tkButton.o tkEntry.o tkFrame.o tkListbox.o tkMenu.o tkMenubutton.o tkMenuDraw.o tkMessage.o tkPanedWindow.o tkScale.o tkScrollbar.o tkCanvas.o tkCanvArc.o tkCanvBmap.o tkCanvImg.o tkCanvLine.o tkCanvPoly.o tkCanvPs.o tkCanvText.o tkCanvUtil.o tkCanvWind.o tkRectOval.o tkTrig.o tkImage.o tkImgBmap.o tkImgGIF.o tkImgPNG.o tkImgPPM.o tkImgPhoto.o tkImgPhInstance.o tkText.o tkTextBTree.o tkTextDisp.o tkTextImage.o tkTextIndex.o tkTextMark.o tkTextTag.o tkTextWind.o tkStubInit.o ttkBlink.o ttkButton.o ttkCache.o ttkClamTheme.o ttkClassicTheme.o ttkDefaultTheme.o ttkElements.o ttkEntry.o ttkFrame.o ttkImage.o ttkInit.o ttkLabel.o ttkLayout.o ttkManager.o ttkNotebook.o ttkPanedwindow.o ttkProgress.o ttkScale.o ttkScrollbar.o ttkScroll.o ttkSeparator.o ttkSquare.o ttkState.o ttkTagSet.o ttkTheme.o ttkTrace.o ttkTrack.o ttkTreeview.o ttkWidget.o ttkStubInit.o tkMacOSXBitmap.o tkMacOSXButton.o tkMacOSXClipboard.o tkMacOSXColor.o tkMacOSXConfig.o tkMacOSXCursor.o tkMacOSXDebug.o tkMacOSXDialog.o tkMacOSXDraw.o tkMacOSXEmbed.o tkMacOSXEntry.o tkMacOSXEvent.o tkMacOSXFileTypes.o tkMacOSXFont.o tkMacOSXHLEvents.o tkMacOSXImage.o tkMacOSXInit.o tkMacOSXKeyboard.o tkMacOSXKeyEvent.o tkMacOSXMenu.o tkMacOSXMenubutton.o tkMacOSXMenus.o tkMacOSXMouseEvent.o tkMacOSXNotify.o tkMacOSXRegion.o tkMacOSXScrlbr.o tkMacOSXSend.o tkMacOSXServices.o tkMacOSXSubwindows.o tkMacOSXWindowEvent.o tkMacOSXWm.o tkMacOSXXStubs.o tkFileFilter.o tkMacWinMenu.o tkPointer.o tkUnix3d.o tkUnixScale.o xcolors.o xdraw.o xgc.o ximage.o xutil.o ttkMacOSXTheme.o   -L/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_x11_tk/tk/work/tk8.6.13 -L/opt/local/lib -Wl,-syslibroot,/Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk -arch arm64 -headerpad_max_install_names -Wl,-search_paths_first  -lpthread -framework CoreFoundation -framework Cocoa -framework Carbon -framework IOKit -framework QuartzCore -framework UniformTypeIdentifiers    -lz  -lpthread -framework CoreFoundation  -L/opt/local/lib -ltclstub8.6  -compatibility_version 8.6 -current_version 8.6.13 -install_name "/opt/local/lib/libtk8.6.dylib" -unexported_symbols_list $(f=libtk8.6.dylib.E && nm -gp tkMacOSX*.o 2>/dev/null | awk "/^[0-9a-f]+ . \.objc/ {print \$3}" > $f && nm -gjp "/opt/local/lib"/libtclstub8.6.a | grep ^_[^_] >> $f && echo $f) -sectcreate __TEXT __info_plist Tk-Info.plist 
:info:build /usr/bin/clang -O2 -pipe -Os -arch arm64 -pipe  -isystem/opt/local/include -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk   -L/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_x11_tk/tk/work/tk8.6.13 -L/opt/local/lib -Wl,-syslibroot,/Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk -arch arm64 -headerpad_max_install_names -Wl,-search_paths_first  tkAppInit.o -L/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_x11_tk/tk/work/tk8.6.13/unix -ltk8.6 \
:info:build 		-L/opt/local/lib -ltcl8.6  -lpthread -framework CoreFoundation -framework Cocoa -framework Carbon -framework IOKit -framework QuartzCore -framework UniformTypeIdentifiers    -lz  -lpthread -framework CoreFoundation  -sectcreate __TEXT __info_plist Wish-Info.plist -sectcreate __TEXT __credits_html Credits.html  -o wish
:info:build Undefined symbols for architecture arm64:
:info:build   "_TkpExitProc", referenced from:
:info:build       _Tcl_AppInit in tkAppInit.o
:info:build   "_TkpWantsExitProc", referenced from:
:info:build       _Tcl_AppInit in tkAppInit.o
:info:build ld: symbol(s) not found for architecture arm64
:info:build clang: error: linker command failed with exit code 1 (use -v to see invocation)

Change History (3)

Changed 19 months ago by murrayE

Attachment: main.log added

main.log

comment:1 Changed 19 months ago by jmroot (Joshua Root)

Keywords: arm64 added; tk removed
Owner: set to MarcusCalhoun-Lopez
Status: newassigned
Summary: Build tk +quartz failstk @8.6.13_0+quartz build fails

comment:2 Changed 19 months ago by ryandesign (Ryan Carsten Schmidt)

Description: modified (diff)
Keywords: arm64 removed
Summary: tk @8.6.13_0+quartz build failstk @8.6.13_0+quartz build fails when tk +x11 is installed

I see this as well on Monterey on x86_64 if I already have tk installed with the +x11 variant and I do not use trace mode. The solution would be to use trace mode:

sudo port -t install tk +quartz

I guess the problem is that -L flags are in the wrong order: -L/opt/local/lib precedes -L/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_x11_tk/tk/work/tk8.6.13/unix on the link line, thus -ltk8.6 refers to the existing installed copy of libtk8.6.dylib, not the one that was just built.

/usr/bin/clang -O2 -pipe -Os -arch arm64 -pipe  -isystem/opt/local/include -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk   -L/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_x11_tk/tk/work/tk8.6.13 -L/opt/local/lib -Wl,-syslibroot,/Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk -arch arm64 -headerpad_max_install_names -Wl,-search_paths_first  tkAppInit.o -L/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_x11_tk/tk/work/tk8.6.13/unix -ltk8.6 \
            -L/opt/local/lib -ltcl8.6  -lpthread -framework CoreFoundation -framework Cocoa -framework Carbon -framework IOKit -framework QuartzCore -framework UniformTypeIdentifiers    -lz  -lpthread -framework CoreFoundation  -sectcreate __TEXT __info_plist Wish-Info.plist -sectcreate __TEXT __credits_html Credits.html  -o wish
Note: See TracTickets for help on using tickets.