[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