[MacPorts] #67062: tk @8.6.13_0+quartz build fails when tk +x11 is installed (was: tk @8.6.13_0+quartz build fails)

MacPorts noreply at macports.org
Tue Mar 14 08:57:07 UTC 2023


#67062: tk @8.6.13_0+quartz build fails when tk +x11 is installed
----------------------+---------------------------------
  Reporter:  murrayE  |      Owner:  MarcusCalhoun-Lopez
      Type:  defect   |     Status:  assigned
  Priority:  Normal   |  Milestone:
 Component:  ports    |    Version:  2.8.1
Resolution:           |   Keywords:
      Port:  tk       |
----------------------+---------------------------------
Changes (by ryandesign):

 * keywords:  arm64 =>


Old description:

> Executing "sudo port 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)
> }}}

New description:

 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)
 }}}

--

Comment:

 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
 }}}

-- 
Ticket URL: <https://trac.macports.org/ticket/67062#comment:2>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list