Opened 12 months ago
Closed 12 months ago
#68673 closed defect (fixed)
ucblogo @6.2.2_1: opportunistic use of wxWidgets
Reported by: | zzanderr | Owned by: | ryandesign (Ryan Carsten Schmidt) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.8.1 |
Keywords: | Cc: | ||
Port: | ucblogo |
Description
Build fails on MacBook Pro Max M2, Sonoma 14.1.1, Xcode 15.1 Beta
ucblogo @6.2.2_1 _did_ build earlier on same computer running Ventura and a late version of Xcode 14
Attachments (1)
Change History (7)
Changed 12 months ago by zzanderr
comment:1 Changed 12 months ago by ryandesign (Ryan Carsten Schmidt)
Keywords: | sonoma added; Sonoma removed |
---|---|
Summary: | ucblogo @6.2.2_1: error: no matching function for call to 'strncpy' → ucblogo @6.2.2_1: opportunistic use of wxWidgets |
It builds fine on the buildbot workers Lion and up including Sonoma x86_64.
The log says the problem is:
wxMain.cpp:225:3: error: no matching function for call to 'strncpy' strncpy(path, executable_dir, maxlen); ^~~~~~~ /Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk/usr/include/string.h:85:7: note: candidate function not viable: no known conversion from 'wxString' to 'const char *' for 2nd argument char *strncpy(char *__dst, const char *__src, size_t __n); ^ 1 error generated.
It's talking about wxWidgets things, but wxWidgets is not listed as a dependency. You must just happen to have had it installed and ucblogo is picking it up unintentionally:
checking for wx-config... /opt/local/bin/wx-config checking for wxWidgets version >= 3.0.0... yes (version 3.0.5) checking for wxWidgets static library... no configure: using wx library
You should be able to work around it by cleaning ucblogo, deactivating whichever port provides /opt/local/bin/wx-config, then installing ucblogo, then reactivating the port that provides wx-config if desired.
The port should be fixed to not use wxWidgets even if it is installed.
comment:2 Changed 12 months ago by ryandesign (Ryan Carsten Schmidt)
Keywords: | sonoma arm64 removed |
---|
I guess no port provides /opt/local/bin/wx-config; it's provided by running sudo port select wxwidgets
. So the workaround would be to run sudo port select wxwidgets none
, then clean and build ucblogo, then re-select your desired wxwidgets.
comment:3 Changed 12 months ago by ryandesign (Ryan Carsten Schmidt)
The build succeeded, even with wxWidgets-3.0 selected, on my Monterey x86_64 machine. The failure you saw on Sonoma arm64 was also reported at https://github.com/jrincayc/ucblogo-code/issues/160 by someone running Linux.
comment:4 Changed 12 months ago by zzanderr
Ryan, ucblogo builds if I set wxWidgets to none.
Thanks for your help!
comment:5 Changed 12 months ago by zzanderr
[00:39 ~ 2507]$ sudo port select --set wxWidgets none [00:40 ~ 2508]$ port clean --all ucblogo ---> Cleaning ucblogo [00:40 ~ 2509]$ sudo port install ucblogo ---> Computing dependencies for ucblogo ---> Fetching distfiles for ucblogo ---> Attempting to fetch ucblogo-6.2.2.tar.gz from https://distfiles.macports.org/ucblogo/6.2.2_1 ---> Verifying checksums for ucblogo ---> Extracting ucblogo ---> Configuring ucblogo ---> Building ucblogo ---> Staging ucblogo into destroot ---> Installing ucblogo @6.2.2_1 ---> Activating ucblogo @6.2.2_1 ---> Cleaning ucblogo ---> Scanning binaries for linking errors ---> No broken files found. ---> No broken ports found.
comment:6 Changed 12 months ago by ryandesign (Ryan Carsten Schmidt)
Owner: | set to ryandesign |
---|---|
Resolution: | → fixed |
Status: | new → closed |
ucblogo build.log