rhaberkorn / sciteco

Advanced TECO dialect and interactive screen editor based on Scintilla
https://rhaberkorn.github.io/sciteco/
GNU General Public License v3.0
47 stars 6 forks source link

Can't build on macOS 11 #8

Closed dertuxmalwieder closed 1 year ago

dertuxmalwieder commented 3 years ago

Everything goes well - until the make step:

/bin/sh ../libtool  --tag=CXX   --mode=link g++ -std=c++17  -g -O2 -I/opt/pkg/include/glib-2.0 -I/opt/pkg/lib/glib-2.0/include -I/opt/pkg/include -D_DARWIN_C_SOURCE -I/opt/pkg/include/ncurses -I/opt/pkg/include    -o sciteco-minimal  libsciteco-base.la /Users/tux0r/github/sciteco/contrib/scintilla/bin/scintilla.a /Users/tux0r/github/sciteco/contrib/lexilla/bin/liblexilla.a -L/opt/pkg/lib -lglib-2.0 -lintl -L/opt/pkg/lib -Wl,-search_paths_first -lncurses
libtool: link: g++ -std=c++17 -g -O2 -I/opt/pkg/include/glib-2.0 -I/opt/pkg/lib/glib-2.0/include -I/opt/pkg/include -D_DARWIN_C_SOURCE -I/opt/pkg/include/ncurses -I/opt/pkg/include -o sciteco-minimal -Wl,-search_paths_first -Wl,-bind_at_load  ./.libs/libsciteco-base.a -L/opt/pkg/lib -L../lib /Users/tux0r/github/sciteco/contrib/scintilla/bin/scintilla.a /Users/tux0r/github/sciteco/contrib/lexilla/bin/liblexilla.a -lglib-2.0 /opt/pkg/lib/libintl.dylib /opt/pkg/lib/libiconv.dylib /opt/pkg/lib/libncurses.dylib
Undefined symbols for architecture x86_64:
  "operator delete[](void*)", referenced from:
      ListBoxImpl::SetList(char const*, char, char) in scintilla.a(ScintillaCurses.o)
      Scintilla::Internal::Action::~Action() in scintilla.a(CellBuffer.o)
      Scintilla::Internal::Action::~Action() in scintilla.a(CellBuffer.o)
      Scintilla::Internal::Action::Create(Scintilla::Internal::ActionType, long, char const*, long, bool) in scintilla.a(CellBuffer.o)
      Scintilla::Internal::Action::Clear() in scintilla.a(CellBuffer.o)
      Scintilla::Internal::UndoHistory::UndoHistory() in scintilla.a(CellBuffer.o)
      std::__1::vector<Scintilla::Internal::Action, std::__1::allocator<Scintilla::Internal::Action> >::resize(unsigned long) in scintilla.a(CellBuffer.o)
      ...
  "operator delete(void*)", referenced from:
      Scintilla::Internal::Window::~Window() in scintilla.a(ScintillaCurses.o)
      Scintilla::Internal::ListBox::Allocate() in scintilla.a(ScintillaCurses.o)
      _scintilla_new in scintilla.a(ScintillaCurses.o)
      ScintillaCurses::ScintillaCurses(void (*)(void*, int, SCNotification*, void*), void*) in scintilla.a(ScintillaCurses.o)
      Scintilla::Internal::SelectionText::~SelectionText() in scintilla.a(ScintillaCurses.o)
      ScintillaCurses::~ScintillaCurses() in scintilla.a(ScintillaCurses.o)
      ScintillaCurses::KeyDefault(Scintilla::Keys, Scintilla::KeyMod) in scintilla.a(ScintillaCurses.o)
      ...
  "operator delete(void*, std::align_val_t)", referenced from:
      void std::__1::_DeallocateCaller::__do_call<std::align_val_t>(void*, std::align_val_t) in liblexilla.a(Lexilla.o)
      void std::__1::_DeallocateCaller::__do_call<std::align_val_t>(void*, std::align_val_t) in liblexilla.a(LexAsm.o)
      void std::__1::_DeallocateCaller::__do_call<std::align_val_t>(void*, std::align_val_t) in liblexilla.a(LexBaan.o)
      void std::__1::_DeallocateCaller::__do_call<std::align_val_t>(void*, std::align_val_t) in liblexilla.a(LexBash.o)
      void std::__1::_DeallocateCaller::__do_call<std::align_val_t>(void*, std::align_val_t) in liblexilla.a(LexBasic.o)
      void std::__1::_DeallocateCaller::__do_call<std::align_val_t>(void*, std::align_val_t) in liblexilla.a(LexCIL.o)
      void std::__1::_DeallocateCaller::__do_call<std::align_val_t>(void*, std::align_val_t) in liblexilla.a(LexCPP.o)
      ...
  "operator new[](unsigned long)", referenced from:
      ScintillaCurses::GetClipboard(int*) in scintilla.a(ScintillaCurses.o)
      ListBoxImpl::SetList(char const*, char, char) in scintilla.a(ScintillaCurses.o)
      Scintilla::Internal::Action::Create(Scintilla::Internal::ActionType, long, char const*, long, bool) in scintilla.a(CellBuffer.o)
      Scintilla::Internal::LineLayout::Resize(int) in scintilla.a(PositionCache.o)
      Scintilla::Internal::LineLayout::SetLineStart(int, int) in scintilla.a(PositionCache.o)
      Scintilla::Internal::PositionCacheEntry::PositionCacheEntry(Scintilla::Internal::PositionCacheEntry const&) in scintilla.a(PositionCache.o)
      Scintilla::Internal::PositionCacheEntry::Set(unsigned int, std::__1::basic_string_view<char, std::__1::char_traits<char> >, double const*, unsigned short) in scintilla.a(PositionCache.o)
      ...
  "operator new(unsigned long)", referenced from:
      Scintilla::Internal::Font::Allocate(Scintilla::Internal::FontParameters const&) in scintilla.a(ScintillaCurses.o)
      Scintilla::Internal::Surface::Allocate(Scintilla::Technology) in scintilla.a(ScintillaCurses.o)
      Scintilla::Internal::ListBox::Allocate() in scintilla.a(ScintillaCurses.o)
      _scintilla_new in scintilla.a(ScintillaCurses.o)
      ScintillaCurses::ScintillaCurses(void (*)(void*, int, SCNotification*, void*), void*) in scintilla.a(ScintillaCurses.o)
      ScintillaCurses::KeyDefault(Scintilla::Keys, Scintilla::KeyMod) in scintilla.a(ScintillaCurses.o)
      ScintillaCurses::UTF8FromEncoded(std::__1::basic_string_view<char, std::__1::char_traits<char> >) const in scintilla.a(ScintillaCurses.o)
      ...
  "operator new(unsigned long, std::align_val_t)", referenced from:
      std::__1::__libcpp_allocate(unsigned long, unsigned long) in liblexilla.a(Lexilla.o)
      std::__1::__libcpp_allocate(unsigned long, unsigned long) in liblexilla.a(LexAsm.o)
      std::__1::__libcpp_allocate(unsigned long, unsigned long) in liblexilla.a(LexBaan.o)
      std::__1::__libcpp_allocate(unsigned long, unsigned long) in liblexilla.a(LexBash.o)
      std::__1::__libcpp_allocate(unsigned long, unsigned long) in liblexilla.a(LexBasic.o)
      std::__1::__libcpp_allocate(unsigned long, unsigned long) in liblexilla.a(LexCIL.o)
      std::__1::__libcpp_allocate(unsigned long, unsigned long) in liblexilla.a(LexCPP.o)
      ...
  "___cxa_allocate_exception", referenced from:
      std::__1::__throw_length_error(char const*) in scintilla.a(ScintillaCurses.o)
      std::__1::__throw_length_error(char const*) in liblexilla.a(Lexilla.o)
      Scintilla::Internal::UTF16FromUTF8(std::__1::basic_string_view<char, std::__1::char_traits<char> >, wchar_t*, unsigned long) in scintilla.a(UniConversion.o)
      Scintilla::Internal::UTF32FromUTF8(std::__1::basic_string_view<char, std::__1::char_traits<char> >, unsigned int*, unsigned long) in scintilla.a(UniConversion.o)
      std::__1::__throw_length_error(char const*) in scintilla.a(Editor.o)
      std::__1::__throw_out_of_range(char const*) in scintilla.a(CallTip.o)
      std::__1::__throw_length_error(char const*) in scintilla.a(CallTip.o)
      ...
  "___cxa_begin_catch", referenced from:
      ___clang_call_terminate in scintilla.a(ScintillaCurses.o)
      ScintillaCurses::WndProc(Scintilla::Message, unsigned long, long) in scintilla.a(ScintillaCurses.o)
      ___clang_call_terminate in liblexilla.a(Lexilla.o)
      ___clang_call_terminate in scintilla.a(ScintillaBase.o)
      ___clang_call_terminate in scintilla.a(UniConversion.o)
      Scintilla::Internal::Editor::FindText(unsigned long, long) in scintilla.a(Editor.o)
      Scintilla::Internal::Editor::SearchText(Scintilla::Message, unsigned long, long) in scintilla.a(Editor.o)
      ...
  "___cxa_end_catch", referenced from:
      ScintillaCurses::WndProc(Scintilla::Message, unsigned long, long) in scintilla.a(ScintillaCurses.o)
      Scintilla::Internal::Editor::FindText(unsigned long, long) in scintilla.a(Editor.o)
      Scintilla::Internal::Editor::SearchText(Scintilla::Message, unsigned long, long) in scintilla.a(Editor.o)
      Scintilla::Internal::Editor::SearchInTarget(char const*, long) in scintilla.a(Editor.o)
      std::__1::vector<long, std::__1::allocator<long> >::shrink_to_fit() in scintilla.a(CellBuffer.o)
      std::__1::vector<int, std::__1::allocator<int> >::shrink_to_fit() in scintilla.a(CellBuffer.o)
      std::__1::vector<char, std::__1::allocator<char> >::shrink_to_fit() in scintilla.a(CellBuffer.o)
      ...
  "___cxa_free_exception", referenced from:
      std::__1::__throw_length_error(char const*) in scintilla.a(ScintillaCurses.o)
      std::__1::__throw_length_error(char const*) in liblexilla.a(Lexilla.o)
      Scintilla::Internal::UTF16FromUTF8(std::__1::basic_string_view<char, std::__1::char_traits<char> >, wchar_t*, unsigned long) in scintilla.a(UniConversion.o)
      Scintilla::Internal::UTF32FromUTF8(std::__1::basic_string_view<char, std::__1::char_traits<char> >, unsigned int*, unsigned long) in scintilla.a(UniConversion.o)
      std::__1::__throw_length_error(char const*) in scintilla.a(Editor.o)
      std::__1::__throw_out_of_range(char const*) in scintilla.a(CallTip.o)
      std::__1::__throw_length_error(char const*) in scintilla.a(CallTip.o)
      ...
  "___cxa_throw", referenced from:
      std::__1::__throw_length_error(char const*) in scintilla.a(ScintillaCurses.o)
      std::__1::__throw_length_error(char const*) in liblexilla.a(Lexilla.o)
      Scintilla::Internal::UTF16FromUTF8(std::__1::basic_string_view<char, std::__1::char_traits<char> >, wchar_t*, unsigned long) in scintilla.a(UniConversion.o)
      Scintilla::Internal::UTF32FromUTF8(std::__1::basic_string_view<char, std::__1::char_traits<char> >, unsigned int*, unsigned long) in scintilla.a(UniConversion.o)
      std::__1::__throw_length_error(char const*) in scintilla.a(Editor.o)
      std::__1::__throw_out_of_range(char const*) in scintilla.a(CallTip.o)
      std::__1::__throw_length_error(char const*) in scintilla.a(CallTip.o)
      ...
  "___gxx_personality_v0", referenced from:
      Scintilla::Internal::Window::Destroy() in scintilla.a(ScintillaCurses.o)
      Scintilla::Internal::ListBox::Allocate() in scintilla.a(ScintillaCurses.o)
      Scintilla::Internal::Platform::Assert(char const*, char const*, int) in scintilla.a(ScintillaCurses.o)
      _scintilla_new in scintilla.a(ScintillaCurses.o)
      ScintillaCurses::ScintillaCurses(void (*)(void*, int, SCNotification*, void*), void*) in scintilla.a(ScintillaCurses.o)
      ScintillaCurses::KeyDefault(Scintilla::Keys, Scintilla::KeyMod) in scintilla.a(ScintillaCurses.o)
      ScintillaCurses::WndProc(Scintilla::Message, unsigned long, long) in scintilla.a(ScintillaCurses.o)
      ...
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[3]: *** [sciteco-minimal] Error 1
make[2]: *** [install-recursive] Error 1
make[1]: *** [install] Error 2
make: *** [install-recursive] Error 1

Why?

rhaberkorn commented 1 year ago

Bah ... GNUisms ... ;-) anyway:

You don't understand. Autotools are so quirky with its M4 macros and all that. I cannot not use it. It fits too well into the ensemble of Troff and TECO scripts. Switching to CMake or Meson just wouldn't feel right. And plain Make... I actually do use the configure-checks a bit and a few things like out of tree builds are not easy to do manually. Also I'm using Autotest.

rhaberkorn commented 1 year ago

@dertuxmalwieder See the new ticket #12. I updated Scintilla and Scinterm. This could have fixed the issue coincidentally. Try this build: https://github.com/rhaberkorn/sciteco/releases/download/nightly/sciteco-curses_nightly_macos_x86_64.pkg