Opened 6 months ago

Closed 6 months ago

#68649 closed defect (fixed)

Error: Failed to build fxscintilla

Reported by: raydebug Owned by: ryandesign (Ryan Carsten Schmidt)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc:
Port: fxscintilla

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

when run sudo port install rb-fxruby

:info:build clang: error: linker command failed with exit code 1 (use -v to see invocation)
:info:build make[1]: *** [libfxscintilla.la] Error 1
:info:build make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_x11_fxscintilla/fxscintilla/work/fxscintilla-1.78.0/src'
:info:build make: *** [all-recursive] Error 1
:info:build make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_x11_fxscintilla/fxscintilla/work/fxscintilla-1.78.0'
:info:build Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_x11_fxscintilla/fxscintilla/work/fxscintilla-1.78.0" && /usr/bin/make -j8 -w all 
:info:build Exit code: 2
:error:build Failed to build fxscintilla: command execution failed
:debug:build Error code: CHILDSTATUS 62747 2
:debug:build Backtrace: command execution failed

Change History (3)

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

Description: modified (diff)
Keywords: fxscintilla removed
Port: fxscintilla added

Please attach the main.log file.

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

We see build failure on the Big Sur and later buildbot workers as well, so in the absence of a log from you that could confirm it, let's assume you're seeing the same thing. On our macOS 13 arm64 worker the failure begins with these lines:

Undefined symbols for architecture arm64:
  "FX::FXDCWindow::FXDCWindow(FX::FXDrawable*)", referenced from:
      SurfaceImpl::dc() in libfxscintilla_la-PlatFOX.o
  "FX::FXMenuPane::FXMenuPane(FX::FXWindow*, unsigned int)", referenced from:
      Menu::CreatePopUp() in libfxscintilla_la-PlatFOX.o
  "FX::fxdllClose(void*)", referenced from:
      DynamicLibraryImpl::~DynamicLibraryImpl() in libfxscintilla_la-PlatFOX.o
      DynamicLibraryImpl::~DynamicLibraryImpl() in libfxscintilla_la-PlatFOX.o
  "FX::FXComposite::onKeyPress(FX::FXObject*, unsigned int, void*)", referenced from:
      FXScintilla::onKeyPress(FX::FXObject*, unsigned int, void*) in libfxscintilla_la-ScintillaFOX.o
  "FX::FXComposite::create()", referenced from:
      FXScintilla::create() in libfxscintilla_la-ScintillaFOX.o
  "FX::FXComposite::detach()", referenced from:
      vtable for PopupListBox in libfxscintilla_la-PlatFOX.o
      vtable for FXScintilla in libfxscintilla_la-ScintillaFOX.o

I've omitted many more symbol names that follow. Noting that this software uses libtool, and that I do not see the -undefined flag being used, this is probably the well-known macOS 11+ libtool undefined symbol bug which is easy enough to patch.

fxscintilla 1.78.0 was released in 2009 so I'm not surprised it's having trouble building today since this particular problem only affects macOS 11 and later and macOS 11 was released in 2020. Newer versions 2.1.0 (from 2009), 2.2.0, 2.11.0, and 2.22.0 (from 2010), and 2.28.0 (from 2011) are available on Non-GNU Savannah. Tags (but no distfiles) for versions up to 3.5.2 (from 2014) are on GitHub. 3.5.3 (from 2015) is available in the repository but was not tagged. There have been no commits since 2015, the web site hasn't been updated since 2011, and there have been no mailing list posts since 2010. No issues or pull requests have ever been filed in the GitHub repository. Scintilla development has continued and is currently on version 5.3.8 released a week ago, but fxscintilla hasn't kept pace with scintilla development and appears to be a dead project. Still, someone could try updating the port to a newer version.

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

Owner: set to ryandesign
Resolution: fixed
Status: newclosed

In c3c7017d6203eda0ed4bc02ab1fdb72fa9b8d905/macports-ports (master):

fxscintilla: Fix macOS 11+ libtool bug

Closes: #68649

Also add modeline, modernize checksums, and remove redundant "platforms
darwin" and "configure.pre_args --prefix=${prefix}" lines.

Note: See TracTickets for help on using tickets.