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

build.log (47.4 KB) - added by zzanderr 12 months ago.
ucblogo build.log

Download all attachments as: .zip

Change History (7)

Changed 12 months ago by zzanderr

Attachment: build.log added

ucblogo build.log

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.

Last edited 12 months ago by zzanderr (previous) (diff)

comment:6 Changed 12 months ago by ryandesign (Ryan Carsten Schmidt)

Owner: set to ryandesign
Resolution: fixed
Status: newclosed

In 62b3ca96c760048638eadef335d47992657ee594/macports-ports (master):

ucblogo: Update to 6.2.4; disable wxWidgets

Closes: #68673

Note: See TracTickets for help on using tickets.