yhirose / cpp-peglib

A single file C++ header-only PEG (Parsing Expression Grammars) library
MIT License
879 stars 112 forks source link

Build is broken with clang on macOS 10.7–10.12: Undefined symbols for architecture x86_64: "typeinfo for std::bad_any_cast" #274

Closed barracuda156 closed 1 year ago

barracuda156 commented 1 year ago
cd /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_cpp-peglib/cpp-peglib/work/build/example && /opt/local/bin/cmake -E cmake_link_script CMakeFiles/calc2.dir/link.txt --verbose=ON
/opt/local/bin/clang++-mp-16 -pipe -Os -DNDEBUG -I/opt/local/include -stdlib=libc++ -Wall -Wextra -arch x86_64 -mmacosx-version-min=10.11 -Wl,-search_paths_first -Wl,-headerpad_max_install_names -L/opt/local/lib -Wl,-headerpad_max_install_names CMakeFiles/calc2.dir/calc2.cc.o -o calc2  -Wl,-rpath,/opt/local/lib 
Undefined symbols for architecture x86_64:
  "typeinfo for std::bad_any_cast", referenced from:
      __ZNSt3__120__throw_bad_any_castB7v160003Ev in calc2.cc.o
  "vtable for std::bad_any_cast", referenced from:
      std::bad_any_cast::bad_any_cast() in calc2.cc.o
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
ld: symbol(s) not found for architecture x86_64

Examples of logs: https://build.macports.org/builders/ports-10.12_x86_64-builder/builds/230109/steps/install-port/logs/stdio https://build.macports.org/builders/ports-10.8_x86_64-builder/builds/133385/steps/install-port/logs/stdio

yhirose commented 1 year ago

Same as #262

barracuda156 commented 1 year ago

Same as #262

@yhirose Sorry, forgot about it -_-