添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
着急的黄瓜  ·  GDAL源码剖析 - GIS开发者·  8 月前    · 
小胡子的皮带  ·  SWIG and Python·  8 月前    · 
慷慨大方的斑马  ·  Freeling installation ...·  11 月前    · 
儒雅的火腿肠  ·  SWIG and Tcl·  1 年前    · 
悲伤的山羊  ·  南京市人民政府·  3 月前    · 
茫然的开心果  ·  JQuery ...·  6 月前    · 
宽容的水桶  ·  IBM Cloud Docs·  7 月前    · 

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement . We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The boost library in brew does not contain the with-icu4c anymore:

$ brew install boost --with-icu4c
Error: invalid option: --with-icu4c
$ make
Scanning dependencies of target dynet
[  1%] Building CXX object src/libdynet/dynet/CMakeFiles/dynet.dir/aligned-mem-pool.cc.o
[  1%] Building CXX object src/libdynet/dynet/CMakeFiles/dynet.dir/cfsm-builder.cc.o
[  1%] Building CXX object src/libdynet/dynet/CMakeFiles/dynet.dir/deep-lstm.cc.o
[  2%] Building CXX object src/libdynet/dynet/CMakeFiles/dynet.dir/devices.cc.o
[  2%] Building CXX object src/libdynet/dynet/CMakeFiles/dynet.dir/dict.cc.o
[  2%] Building CXX object src/libdynet/dynet/CMakeFiles/dynet.dir/dim.cc.o
[  3%] Building CXX object src/libdynet/dynet/CMakeFiles/dynet.dir/dynet.cc.o
[  3%] Building CXX object src/libdynet/dynet/CMakeFiles/dynet.dir/exec.cc.o
[  3%] Building CXX object src/libdynet/dynet/CMakeFiles/dynet.dir/expr.cc.o
[  3%] Building CXX object src/libdynet/dynet/CMakeFiles/dynet.dir/fast-lstm.cc.o
[  4%] Building CXX object src/libdynet/dynet/CMakeFiles/dynet.dir/globals.cc.o
[  4%] Building CXX object src/libdynet/dynet/CMakeFiles/dynet.dir/grad-check.cc.o
[  4%] Building CXX object src/libdynet/dynet/CMakeFiles/dynet.dir/graph.cc.o
[  5%] Building CXX object src/libdynet/dynet/CMakeFiles/dynet.dir/gru.cc.o
[  5%] Building CXX object src/libdynet/dynet/CMakeFiles/dynet.dir/hsm-builder.cc.o
[  5%] Building CXX object src/libdynet/dynet/CMakeFiles/dynet.dir/init.cc.o
[  6%] Building CXX object src/libdynet/dynet/CMakeFiles/dynet.dir/io.cc.o
/Users/ar/work/fl/freeling/src/libdynet/dynet/io.cc:7:10: fatal error: 'boost/iostreams/filtering_streambuf.hpp' file not found
#include <boost/iostreams/filtering_streambuf.hpp>
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
make[2]: *** [src/libdynet/dynet/CMakeFiles/dynet.dir/io.cc.o] Error 1
make[1]: *** [src/libdynet/dynet/CMakeFiles/dynet.dir/all] Error 2
make: *** [all] Error 2
          

Trying with the release 4.1 instead of using the MASTER branch I got another error:

[ 91%] Linking CXX shared library libfreeling.dylib
Undefined symbols for architecture x86_64:
  "boost::basic_regex<int, boost::icu_regex_traits>::do_assign(int const*, int const*, unsigned int)", referenced from:
      boost::basic_regex<int, boost::icu_regex_traits>::assign(int const*, int const*, unsigned int) in regexp.cc.o
  "boost::re_detail::get_mem_block()", referenced from:
      boost::re_detail::perl_matcher<std::__1::__wrap_iter<wchar_t const*>, std::__1::allocator<boost::sub_match<std::__1::__wrap_iter<wchar_t const*> > >, boost::icu_regex_traits>::extend_stack() in regexp.cc.o
      boost::re_detail::save_state_init::save_state_init(boost::re_detail::saved_state**, boost::re_detail::saved_state**) in regexp.cc.o
  "boost::re_detail::put_mem_block(void*)", referenced from:
      boost::re_detail::perl_matcher<std::__1::__wrap_iter<wchar_t const*>, std::__1::allocator<boost::sub_match<std::__1::__wrap_iter<wchar_t const*> > >, boost::icu_regex_traits>::unwind_extra_block(bool) in regexp.cc.o
      boost::re_detail::save_state_init::~save_state_init() in regexp.cc.o
  "boost::re_detail::verify_options(unsigned int, boost::regex_constants::_match_flags)", referenced from:
      boost::re_detail::perl_matcher<std::__1::__wrap_iter<wchar_t const*>, std::__1::allocator<boost::sub_match<std::__1::__wrap_iter<wchar_t const*> > >, boost::icu_regex_traits>::find_imp() in regexp.cc.o
      boost::re_detail::perl_matcher<std::__1::__wrap_iter<wchar_t const*>, std::__1::allocator<boost::sub_match<std::__1::__wrap_iter<wchar_t const*> > >, boost::icu_regex_traits>::match_imp() in regexp.cc.o
  "boost::re_detail::raise_runtime_error(std::runtime_error const&)", referenced from:
      void boost::re_detail::raise_error<boost::regex_traits_wrapper<boost::icu_regex_traits> >(boost::regex_traits_wrapper<boost::icu_regex_traits> const&, boost::regex_constants::error_type) in regexp.cc.o
  "boost::re_detail::get_default_error_string(boost::regex_constants::error_type)", referenced from:
      boost::icu_regex_traits::error_string(boost::regex_constants::error_type) const in regexp.cc.o
  "boost::re_detail::is_combining_implementation(unsigned short)", referenced from:
      bool boost::re_detail::is_combining<int>(int) in regexp.cc.o
  "boost::re_detail::icu_regex_traits_implementation::do_transform(int const*, int const*, icu_48::Collator const*) const", referenced from:
      boost::re_detail::icu_regex_traits_implementation::transform(int const*, int const*) const in regexp.cc.o
      boost::re_detail::icu_regex_traits_implementation::transform_primary(int const*, int const*) const in regexp.cc.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[2]: *** [src/libfreeling/libfreeling.dylib] Error 1
make[1]: *** [src/libfreeling/CMakeFiles/freeling.dir/all] Error 2
make: *** [all] Error 2

Any idea @lluisp ?

To prepare the system, I followed the procedure in https://freeling-user-manual.readthedocs.io/en/v4.1/installation/requirements-mac/

$ brew info boost
boost: stable 1.71.0 (bottled), HEAD
Collection of portable C++ source libraries
https://www.boost.org/
/usr/local/Cellar/boost/1.71.0 (14,377 files, 522.8MB) *
  Poured from bottle on 2019-09-22 at 12:51:14
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/boost.rb
==> Dependencies
Required: icu4c ✔
==> Options
--HEAD
	Install HEAD version
==> Analytics
install: 54,158 (30 days), 124,979 (90 days), 649,670 (365 days)
install_on_request: 18,509 (30 days), 44,008 (90 days), 207,561 (365 days)
build_error: 0 (30 days)

Looking more carefully in the docs, I found that I need extra paramenters in the cmake (https://freeling-user-manual.readthedocs.io/en/v4.1/installation/installation-mac/):

I tried:

$ cmake .. -DPYTHON3_API=ON -DICU_ROOT=/usr/local/opt/icu4c
$ make
[ 91%] Linking CXX shared library libfreeling.dylib
Undefined symbols for architecture x86_64:
  "icu_64::Collator::createInstance(icu_64::Locale const&, UErrorCode&)", referenced from:
      boost::re_detail_107100::icu_regex_traits_implementation::icu_regex_traits_implementation(icu_64::Locale const&) in regexp.cc.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[2]: *** [src/libfreeling/libfreeling.dylib] Error 1
make[1]: *** [src/libfreeling/CMakeFiles/freeling.dir/all] Error 2
make: *** [all] Error 2
          

Nice, make VERBOSE=1 worked. Below the step where the error occurs:

[ 29%] Linking CXX shared library libfreeling.dylib
cd /Users/ar/work/fl/FreeLing-4.1/build/src/libfreeling && /usr/local/Cellar/cmake/3.15.3/bin/cmake -E cmake_link_script CMakeFiles/freeling.dir/link.txt --verbose=1
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++  -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -mmacosx-version-min=10.14 -dynamiclib -Wl,-headerpad_max_install_names  -o libfreeling.dylib -install_name @rpath/libfreeling.dylib CMakeFiles/freeling.dir/RE_map.cc.o CMakeFiles/freeling.dir/accents/accents.cc.o CMakeFiles/freeling.dir/accents/accents_default.cc.o CMakeFiles/freeling.dir/accents/accents_es.cc.o CMakeFiles/freeling.dir/accents/accents_gl.cc.o CMakeFiles/freeling.dir/alternatives.cc.o CMakeFiles/freeling.dir/analyzer.cc.o CMakeFiles/freeling.dir/automat.cc.o CMakeFiles/freeling.dir/bioner.cc.o CMakeFiles/freeling.dir/chart_parser/chart.cc.o CMakeFiles/freeling.dir/chart_parser/chart_parser.cc.o CMakeFiles/freeling.dir/chart_parser/grammar.cc.o CMakeFiles/freeling.dir/compounds.cc.o CMakeFiles/freeling.dir/configfile.cc.o CMakeFiles/freeling.dir/coref/mention_detector.cc.o CMakeFiles/freeling.dir/coref/mention_detector_constit.cc.o CMakeFiles/freeling.dir/coref/mention_detector_dep.cc.o CMakeFiles/freeling.dir/coref/relaxcor/relaxcor.cc.o CMakeFiles/freeling.dir/coref/relaxcor/relaxcor_fex.cc.o CMakeFiles/freeling.dir/coref/relaxcor/relaxcor_fex_abs.cc.o CMakeFiles/freeling.dir/coref/relaxcor/relaxcor_fex_constit.cc.o CMakeFiles/freeling.dir/coref/relaxcor/relaxcor_fex_dep.cc.o CMakeFiles/freeling.dir/coref/relaxcor/relaxcor_model.cc.o CMakeFiles/freeling.dir/coref/relaxcor/relaxcor_modelDT.cc.o CMakeFiles/freeling.dir/corrector.cc.o CMakeFiles/freeling.dir/csr_kb.cc.o CMakeFiles/freeling.dir/database.cc.o CMakeFiles/freeling.dir/dates/dates.cc.o CMakeFiles/freeling.dir/dates/dates_ca.cc.o CMakeFiles/freeling.dir/dates/dates_de.cc.o CMakeFiles/freeling.dir/dates/dates_default.cc.o CMakeFiles/freeling.dir/dates/dates_en.cc.o CMakeFiles/freeling.dir/dates/dates_es.cc.o CMakeFiles/freeling.dir/dates/dates_fr.cc.o CMakeFiles/freeling.dir/dates/dates_gl.cc.o CMakeFiles/freeling.dir/dates/dates_pt.cc.o CMakeFiles/freeling.dir/dates/dates_ru.cc.o CMakeFiles/freeling.dir/dependency_parsing/dep_rules.cc.o CMakeFiles/freeling.dir/dependency_parsing/dep_treeler.cc.o CMakeFiles/freeling.dir/dependency_parsing/dep_txala.cc.o CMakeFiles/freeling.dir/dictionary.cc.o CMakeFiles/freeling.dir/embeddings.cc.o CMakeFiles/freeling.dir/fex/fex.cc.o CMakeFiles/freeling.dir/fex/fex_lexicon.cc.o CMakeFiles/freeling.dir/fex/fex_rule.cc.o CMakeFiles/freeling.dir/fex/nerc_features.cc.o CMakeFiles/freeling.dir/foma_FSM.cc.o CMakeFiles/freeling.dir/hmm_tagger.cc.o CMakeFiles/freeling.dir/lang_ident/idioma.cc.o CMakeFiles/freeling.dir/lang_ident/lang_ident.cc.o CMakeFiles/freeling.dir/language.cc.o CMakeFiles/freeling.dir/lexer.cc.o CMakeFiles/freeling.dir/locutions.cc.o CMakeFiles/freeling.dir/maco.cc.o CMakeFiles/freeling.dir/maco_options.cc.o CMakeFiles/freeling.dir/nec.cc.o CMakeFiles/freeling.dir/ner.cc.o CMakeFiles/freeling.dir/ner_module.cc.o CMakeFiles/freeling.dir/np.cc.o CMakeFiles/freeling.dir/numbers/numbers.cc.o CMakeFiles/freeling.dir/numbers/numbers_ca.cc.o CMakeFiles/freeling.dir/numbers/numbers_cs.cc.o CMakeFiles/freeling.dir/numbers/numbers_de.cc.o CMakeFiles/freeling.dir/numbers/numbers_default.cc.o CMakeFiles/freeling.dir/numbers/numbers_en.cc.o CMakeFiles/freeling.dir/numbers/numbers_es.cc.o CMakeFiles/freeling.dir/numbers/numbers_gl.cc.o CMakeFiles/freeling.dir/numbers/numbers_it.cc.o CMakeFiles/freeling.dir/numbers/numbers_pt.cc.o CMakeFiles/freeling.dir/numbers/numbers_ru.cc.o CMakeFiles/freeling.dir/omlet/adaboost.cc.o CMakeFiles/freeling.dir/omlet/classifier.cc.o CMakeFiles/freeling.dir/omlet/dataset.cc.o CMakeFiles/freeling.dir/omlet/example.cc.o CMakeFiles/freeling.dir/omlet/libsvm.cc.o CMakeFiles/freeling.dir/omlet/svm.cc.o CMakeFiles/freeling.dir/omlet/viterbi.cc.o CMakeFiles/freeling.dir/omlet/weakrule.cc.o CMakeFiles/freeling.dir/output/conll_handler.cc.o CMakeFiles/freeling.dir/output/input_conll.cc.o CMakeFiles/freeling.dir/output/input_freeling.cc.o CMakeFiles/freeling.dir/output/input_handler.cc.o CMakeFiles/freeling.dir/output/io_handler.cc.o CMakeFiles/freeling.dir/output/output.cc.o CMakeFiles/freeling.dir/output/output_conll.cc.o CMakeFiles/freeling.dir/output/output_freeling.cc.o CMakeFiles/freeling.dir/output/output_handler.cc.o CMakeFiles/freeling.dir/output/output_json.cc.o CMakeFiles/freeling.dir/output/output_naf.cc.o CMakeFiles/freeling.dir/output/output_train.cc.o CMakeFiles/freeling.dir/output/output_xml.cc.o CMakeFiles/freeling.dir/phonetics.cc.o CMakeFiles/freeling.dir/prefTree.cc.o CMakeFiles/freeling.dir/probabilities.cc.o CMakeFiles/freeling.dir/processor.cc.o CMakeFiles/freeling.dir/punts.cc.o CMakeFiles/freeling.dir/quantities/quantities.cc.o CMakeFiles/freeling.dir/quantities/quantities_ca.cc.o CMakeFiles/freeling.dir/quantities/quantities_default.cc.o CMakeFiles/freeling.dir/quantities/quantities_en.cc.o CMakeFiles/freeling.dir/quantities/quantities_es.cc.o CMakeFiles/freeling.dir/quantities/quantities_gl.cc.o CMakeFiles/freeling.dir/quantities/quantities_pt.cc.o CMakeFiles/freeling.dir/quantities/quantities_ru.cc.o CMakeFiles/freeling.dir/regexp.cc.o CMakeFiles/freeling.dir/relax_tagger/constraint_grammar.cc.o CMakeFiles/freeling.dir/relax_tagger/relax.cc.o CMakeFiles/freeling.dir/relax_tagger/relax_tagger.cc.o CMakeFiles/freeling.dir/semdb.cc.o CMakeFiles/freeling.dir/semgraph/ent_extract.cc.o CMakeFiles/freeling.dir/semgraph/rel_extract.cc.o CMakeFiles/freeling.dir/semgraph/rel_extract_SPR.cc.o CMakeFiles/freeling.dir/semgraph/rel_extract_SRL.cc.o CMakeFiles/freeling.dir/semgraph/semgraph.cc.o CMakeFiles/freeling.dir/semgraph/semgraph_extract.cc.o CMakeFiles/freeling.dir/senses.cc.o CMakeFiles/freeling.dir/splitter.cc.o CMakeFiles/freeling.dir/suffixes.cc.o CMakeFiles/freeling.dir/summarizer/lexical_chain.cc.o CMakeFiles/freeling.dir/summarizer/relation.cc.o CMakeFiles/freeling.dir/summarizer/summarizer.cc.o CMakeFiles/freeling.dir/tagger.cc.o CMakeFiles/freeling.dir/tagset.cc.o CMakeFiles/freeling.dir/tokenizer.cc.o CMakeFiles/freeling.dir/traces.cc.o CMakeFiles/freeling.dir/ukb.cc.o CMakeFiles/freeling.dir/util.cc.o CMakeFiles/freeling.dir/version.cc.o  -L/usr/local/lib -Wl,-rpath,/usr/local/lib -Wl,-rpath,/Users/ar/work/fl/FreeLing-4.1/build/src/libfoma -Wl,-rpath,/Users/ar/work/fl/FreeLing-4.1/build/src/libtreeler ../libfoma/libfoma.dylib ../libtreeler/libtreeler.dylib /usr/local/lib/libboost_regex.dylib /usr/local/lib/libboost_filesystem.dylib /usr/local/lib/libboost_thread-mt.dylib /usr/local/lib/libboost_program_options.dylib /usr/local/opt/icu4c/lib/libicuuc.dylib /usr/lib/libz.dylib
Undefined symbols for architecture x86_64:
  "icu_64::Collator::createInstance(icu_64::Locale const&, UErrorCode&)", referenced from:
      boost::re_detail_107100::icu_regex_traits_implementation::icu_regex_traits_implementation(icu_64::Locale const&) in regexp.cc.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[2]: *** [src/libfreeling/libfreeling.dylib] Error 1
make[1]: *** [src/libfreeling/CMakeFiles/freeling.dir/all] Error 2
make: *** [all] Error 2
          

That definitely looks like a boost/icu installation problem.
Can you check which libraries you have in /usr/local/opt/icu4c ?
You should have libicui18n among them. Maybe it has to be added to the compilation command

I updated my brew boost installation and I got:

$ brew upgrade boost
==> Upgrading 1 outdated package:
boost 1.66.0 -> 1.71.0
==> Upgrading boost 
==> Installing dependencies for boost: icu4c
==> Installing boost dependency: icu4c
==> Downloading https://homebrew.bintray.com/bottles/icu4c-64.2.high_sierra.bott
le.tar.gz
==> Downloading from https://akamai.bintray.com/02/02afdd6a472c31351e46a3b2a38c1
c77354f0cc9199c3dbd7e06bc171b
######################################################################## 100.0%
==> Pouring icu4c-64.2.high_sierra.bottle.tar.gz
==> Caveats
icu4c is keg-only, which means it was not symlinked into /usr/local,
because macOS provides libicucore.dylib (but nothing else).
If you need to have icu4c first in your PATH run:
  echo 'export PATH="/usr/local/opt/icu4c/bin:$PATH"' >> ~/.bash_profile
  echo 'export PATH="/usr/local/opt/icu4c/sbin:$PATH"' >> ~/.bash_profile
For compilers to find icu4c you may need to set:
  export LDFLAGS="-L/usr/local/opt/icu4c/lib"
  export CPPFLAGS="-I/usr/local/opt/icu4c/include"

So, you need to define those paths for the compiler to work.

It seems that the paths are not enough. It looks like newer icu versions in brew do not pull each other.
So, you need to add the libraries explicitly.
Edit file src/libfreeling/CMakeLists.txt
and change the line "target_link_libraries..."
to add "${ICU_I18N_LIBRARY)" to the list.

Then, run all the process from scratch (i.e. from "cmake" command on a clean build directory)

$ make

after editing the PATHs in the .profile . But it failed with the flag to the PYTHON3 API:

cmake .. -DPYTHON3_API=ON -DICU_ROOT=/usr/local/opt/icu4c

Above, just to properly document the issue, we must add in the list target_link_libraries the entry ${ICU_I18N_LIBRARY}.

The error with the make VERBOSE=1 is

[100%] Linking CXX shared library _pyfreeling.dylib
cd /Users/ar/work/fl/FreeLing-4.1/build/APIs/python3 && /usr/local/Cellar/cmake/3.15.3/bin/cmake -E cmake_link_script CMakeFiles/_pyfreeling.dir/link.txt --verbose=1
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++  -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -mmacosx-version-min=10.14 -dynamiclib -Wl,-headerpad_max_install_names -L/usr/local/opt/icu4c/lib -o _pyfreeling.dylib -install_name @rpath/_pyfreeling.dylib CMakeFiles/_pyfreeling.dir/CMakeFiles/_pyfreeling.dir/freeling_pythonAPIPYTHON_wrap.cxx.o  -L/usr/local/lib -Wl,-rpath,/usr/local/lib -Wl,-rpath,/Users/ar/work/fl/FreeLing-4.1/build/src/libfreeling -Wl,-rpath,/Users/ar/work/fl/FreeLing-4.1/build/src/libfoma -Wl,-rpath,/Users/ar/work/fl/FreeLing-4.1/build/src/libtreeler ../../src/libfreeling/libfreeling.dylib ../../src/libfoma/libfoma.dylib ../../src/libtreeler/libtreeler.dylib /usr/lib/libz.dylib /usr/local/lib/libboost_regex.dylib /usr/local/lib/libboost_filesystem.dylib /usr/local/lib/libboost_thread-mt.dylib /usr/local/lib/libboost_program_options.dylib /usr/local/opt/icu4c/lib/libicuuc.dylib /usr/local/opt/icu4c/lib/libicui18n.dylib
Undefined symbols for architecture x86_64:
  "_PyArg_UnpackTuple", referenced from:
      SwigPyObject_own(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyBool_FromLong", referenced from:
      SWIG_From_bool(bool) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SwigPyObject_richcompare(SwigPyObject*, SwigPyObject*, int) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SwigPyObject_own(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyBool_Type", referenced from:
      SWIG_AsVal_bool(_object*, bool*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyBytes_AsStringAndSize", referenced from:
      SWIG_Python_str_AsChar(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyCFunction_NewEx", referenced from:
      SWIG_PyInstanceMethod_New(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyCFunction_Type", referenced from:
      SWIG_PyInstanceMethod_New(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyCapsule_GetPointer", referenced from:
      SWIG_Python_TypeQuery(char const*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_DestroyModule(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyCapsule_Import", referenced from:
      SWIG_Python_GetModule(void*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyCapsule_New", referenced from:
      SWIG_Python_TypeQuery(char const*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_SetModule(swig_module_info*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyDict_GetItem", referenced from:
      SWIG_Python_TypeQuery(char const*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyDict_New", referenced from:
      SWIG_Python_TypeCache() in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_NewShadowInstance(SwigPyClientData*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyDict_SetItem", referenced from:
      SWIG_Python_TypeQuery(char const*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_SetSwigThis(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyDict_SetItemString", referenced from:
      _PyInit__pyfreeling in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_InstallConstants(_object*, swig_const_info*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_SetConstant(_object*, char const*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyErr_Clear", referenced from:
      _wrap_SwigPyIterator___eq__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_SwigPyIterator___ne__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_SwigPyIterator___add__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_TreePreorderIteratorNode___eq__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_TreePreorderIteratorNode___ne__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_TreePreorderIteratorNode___ref__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_TreeSiblingIteratorNode___ref__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyErr_Fetch", referenced from:
      SWIG_Python_RaiseOrModifyTypeError(char const*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_AddErrorMsg(char const*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SwigPyObject_dealloc(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyErr_Format", referenced from:
      SWIG_Python_UnpackTuple(_object*, char const*, long, long, _object**) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_AddErrorMsg(char const*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig_varlink_getattr(swig_varlinkobject*, char*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig_varlink_setattr(swig_varlinkobject*, char*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyErr_GivenExceptionMatches", referenced from:
      SWIG_Python_TypeErrorOccurred(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyErr_Occurred", referenced from:
      SWIG_Python_ConvertPtrAndOwn(_object*, void**, swig_type_info*, int, int*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_GetSwigThis(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_AsVal_unsigned_SS_long(_object*, unsigned long*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_TypeErrorOccurred(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_AsVal_long(_object*, long*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SwigPyClientData_New(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_GetModule(void*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyErr_Restore", referenced from:
      SWIG_Python_RaiseOrModifyTypeError(char const*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SwigPyObject_dealloc(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyErr_SetObject", referenced from:
      SWIG_Python_SetErrorObj(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyErr_SetString", referenced from:
      _PyInit__pyfreeling in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_SetErrorMsg(_object*, char const*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_UnpackTuple(_object*, char const*, long, long, _object**) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_RaiseOrModifyTypeError(char const*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_asptr_stdseq<std::__1::vector<freeling::word, std::__1::allocator<freeling::word> >, freeling::word>::asptr(_object*, std::__1::vector<freeling::word, std::__1::allocator<freeling::word> >**) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_AddErrorMsg(char const*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SwigPyObject_append(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyErr_WriteUnraisable", referenced from:
      SwigPyObject_dealloc(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyExc_AttributeError", referenced from:
      SWIG_Python_ErrorType(int) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig_varlink_getattr(swig_varlinkobject*, char*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig_varlink_setattr(swig_varlinkobject*, char*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyExc_IOError", referenced from:
      SWIG_Python_ErrorType(int) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyExc_IndexError", referenced from:
      SWIG_Python_ErrorType(int) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyExc_MemoryError", referenced from:
      SWIG_Python_ErrorType(int) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyExc_OverflowError", referenced from:
      SWIG_Python_ErrorType(int) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_from_stdseq<std::__1::list<int, std::__1::allocator<int> >, int>::from(std::__1::list<int, std::__1::allocator<int> > const&) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_from_stdseq<std::__1::list<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::allocator<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::from(std::__1::list<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::allocator<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > > const&) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_from_stdseq<std::__1::list<freeling::word, std::__1::allocator<freeling::word> >, freeling::word>::from(std::__1::list<freeling::word, std::__1::allocator<freeling::word> > const&) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_from_stdseq<std::__1::list<std::__1::pair<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, double>, std::__1::allocator<std::__1::pair<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, double> > >, std::__1::pair<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, double> >::from(std::__1::list<std::__1::pair<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, double>, std::__1::allocator<std::__1::pair<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, double> > > const&) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_from_stdseq<std::__1::list<freeling::alternative, std::__1::allocator<freeling::alternative> >, freeling::alternative>::from(std::__1::list<freeling::alternative, std::__1::allocator<freeling::alternative> > const&) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_from_stdseq<std::__1::list<freeling::analysis, std::__1::allocator<freeling::analysis> >, freeling::analysis>::from(std::__1::list<freeling::analysis, std::__1::allocator<freeling::analysis> > const&) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyExc_RuntimeError", referenced from:
      SWIG_Python_ErrorType(int) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_ExceptionType(swig_type_info*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_AddErrorMsg(char const*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyExc_StopIteration", referenced from:
      _wrap_SwigPyIterator_value(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_SwigPyIterator_next(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_SwigPyIterator___next__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_SwigPyIterator_previous(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_SwigPyIterator_advance(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_SwigPyIterator___iadd__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_SwigPyIterator___isub__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyExc_SyntaxError", referenced from:
      SWIG_Python_ErrorType(int) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyExc_SystemError", referenced from:
      SWIG_Python_ErrorType(int) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_UnpackTuple(_object*, char const*, long, long, _object**) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyExc_TypeError", referenced from:
      _PyInit__pyfreeling in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_ErrorType(int) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_UnpackTuple(_object*, char const*, long, long, _object**) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_RaiseOrModifyTypeError(char const*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_TypeErrorOccurred(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_asptr_stdseq<std::__1::vector<freeling::word, std::__1::allocator<freeling::word> >, freeling::word>::asptr(_object*, std::__1::vector<freeling::word, std::__1::allocator<freeling::word> >**) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SwigPyObject_append(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyExc_ValueError", referenced from:
      SWIG_Python_ErrorType(int) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyExc_ZeroDivisionError", referenced from:
      SWIG_Python_ErrorType(int) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyFloat_AsDouble", referenced from:
      SWIG_AsVal_double(_object*, double*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyFloat_FromDouble", referenced from:
      _wrap_PairDoubleString_first_get(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_PairStringDouble_second_get(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_analysis_get_prob(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_analysis_get_distance(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_config_options_MACO_ProbabilityThreshold_get(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_config_options_TAGGER_RelaxScaleFactor_get(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_config_options_TAGGER_RelaxEpsilon_get(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyFloat_Type", referenced from:
      SWIG_AsVal_double(_object*, double*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyImport_AddModule", referenced from:
      SWIG_Python_SetModule(swig_module_info*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyInstanceMethod_New", referenced from:
      SWIG_PyInstanceMethod_New(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyLong_AsDouble", referenced from:
      SWIG_AsVal_double(_object*, double*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyLong_AsLong", referenced from:
      SWIG_AsVal_long(_object*, long*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyLong_AsUnsignedLong", referenced from:
      SWIG_AsVal_unsigned_SS_long(_object*, unsigned long*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyLong_AsUnsignedLongLong", referenced from:
      SWIG_AsVal_unsigned_SS_long_SS_long(_object*, unsigned long long*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyLong_FromLong", referenced from:
      SWIG_From_int(int) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_From_ptrdiff_t(long) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_From_unsigned_SS_long(unsigned long) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_From_unsigned_SS_long_SS_long(unsigned long long) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyLong_FromSize_t", referenced from:
      SWIG_From_unsigned_SS_int(unsigned int) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyLong_FromUnsignedLong", referenced from:
      SWIG_From_unsigned_SS_long(unsigned long) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyLong_FromUnsignedLongLong", referenced from:
      SWIG_From_unsigned_SS_long_SS_long(unsigned long long) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyLong_FromVoidPtr", referenced from:
      SwigPyObject_long(SwigPyObject*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyModule_AddObject", referenced from:
      SWIG_Python_SetModule(swig_module_info*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyModule_Create2", referenced from:
      _PyInit__pyfreeling in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyModule_GetDict", referenced from:
      _PyInit__pyfreeling in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyObject_Call", referenced from:
      SWIG_Python_NewShadowInstance(SwigPyClientData*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyObject_CallFunctionObjArgs", referenced from:
      SWIG_Python_ConvertPtrAndOwn(_object*, void**, swig_type_info*, int, int*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SwigPyObject_dealloc(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyObject_Free", referenced from:
      SwigPyPacked_dealloc(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SwigPyObject_dealloc(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SwigPyPacked_New(void*, unsigned long, swig_type_info*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyObject_GenericGetAttr", referenced from:
      SwigPyPacked_TypeOnce()::tmp in freeling_pythonAPIPYTHON_wrap.cxx.o
      SwigPyObject_TypeOnce()::tmp in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyObject_GetAttr", referenced from:
      SWIG_Python_GetSwigThis(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyObject_GetAttrString", referenced from:
      SwigPyClientData_New(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_SetSwigThis(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyObject_Init", referenced from:
      SwigPyObject_New(void*, swig_type_info*, int) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SwigPyPacked_New(void*, unsigned long, swig_type_info*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_newvarlink() in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyObject_IsInstance", referenced from:
      SwigPyClientData_New(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyObject_IsTrue", referenced from:
      SWIG_AsVal_bool(_object*, bool*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SwigPyObject_own(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyObject_Malloc", referenced from:
      SwigPyObject_New(void*, swig_type_info*, int) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SwigPyPacked_New(void*, unsigned long, swig_type_info*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_newvarlink() in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyObject_SetAttr", referenced from:
      SWIG_Python_NewShadowInstance(SwigPyClientData*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::container_owner<swig::pointer_category>::back_reference(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyObject_Str", referenced from:
      SWIG_Python_AddErrorMsg(char const*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PySequence_Check", referenced from:
      swig::traits_asptr_stdseq<std::__1::vector<freeling::word, std::__1::allocator<freeling::word> >, freeling::word>::asptr(_object*, std::__1::vector<freeling::word, std::__1::allocator<freeling::word> >**) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::SwigPySequence_Cont<freeling::word>::SwigPySequence_Cont(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_asptr_stdseq<std::__1::list<freeling::word, std::__1::allocator<freeling::word> >, freeling::word>::asptr(_object*, std::__1::list<freeling::word, std::__1::allocator<freeling::word> >**) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_asptr_stdseq<std::__1::list<freeling::analysis, std::__1::allocator<freeling::analysis> >, freeling::analysis>::asptr(_object*, std::__1::list<freeling::analysis, std::__1::allocator<freeling::analysis> >**) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::SwigPySequence_Cont<freeling::analysis>::SwigPySequence_Cont(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_asptr_stdseq<std::__1::list<freeling::alternative, std::__1::allocator<freeling::alternative> >, freeling::alternative>::asptr(_object*, std::__1::list<freeling::alternative, std::__1::allocator<freeling::alternative> >**) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::SwigPySequence_Cont<freeling::alternative>::SwigPySequence_Cont(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PySequence_GetItem", referenced from:
      swig::SwigPySequence_Cont<freeling::word>::check() const in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::SwigPySequence_Ref<freeling::word>::operator freeling::word() const in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::SwigPySequence_Cont<freeling::analysis>::check() const in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::SwigPySequence_Ref<freeling::analysis>::operator freeling::analysis() const in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::SwigPySequence_Cont<freeling::alternative>::check() const in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::SwigPySequence_Ref<freeling::alternative>::operator freeling::alternative() const in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::SwigPySequence_Cont<freeling::sentence>::check() const in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PySequence_Size", referenced from:
      swig::SwigPySequence_Cont<freeling::word>::size() const in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::SwigPySequence_Cont<freeling::analysis>::size() const in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::SwigPySequence_Cont<freeling::alternative>::size() const in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::SwigPySequence_Cont<freeling::sentence>::size() const in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::SwigPySequence_Cont<freeling::paragraph>::size() const in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::SwigPySequence_Cont<freeling::argument>::size() const in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::SwigPySequence_Cont<freeling::predicate>::size() const in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PySlice_GetIndices", referenced from:
      std_vector_Sl_freeling_word_Sg____delitem____SWIG_1(std::__1::vector<freeling::word, std::__1::allocator<freeling::word> >*, PySliceObject*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      std_vector_Sl_freeling_word_Sg____getitem____SWIG_0(std::__1::vector<freeling::word, std::__1::allocator<freeling::word> >*, PySliceObject*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      std_vector_Sl_freeling_word_Sg____setitem____SWIG_1(std::__1::vector<freeling::word, std::__1::allocator<freeling::word> >*, PySliceObject*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      std_vector_Sl_freeling_word_Sg____setitem____SWIG_0(std::__1::vector<freeling::word, std::__1::allocator<freeling::word> >*, PySliceObject*, std::__1::vector<freeling::word, std::__1::allocator<freeling::word> > const&) in freeling_pythonAPIPYTHON_wrap.cxx.o
      std_list_Sl_freeling_word_Sg____delitem____SWIG_1(std::__1::list<freeling::word, std::__1::allocator<freeling::word> >*, PySliceObject*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      std_list_Sl_freeling_word_Sg____getitem____SWIG_0(std::__1::list<freeling::word, std::__1::allocator<freeling::word> >*, PySliceObject*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      std_list_Sl_freeling_word_Sg____setitem____SWIG_1(std::__1::list<freeling::word, std::__1::allocator<freeling::word> >*, PySliceObject*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PySlice_Type", referenced from:
      _wrap_VectorWord___delitem__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_VectorWord___getitem__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_VectorWord___setitem__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_ListWord___delitem__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_ListWord___getitem__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_ListWord___setitem__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_ListAnalysis___delitem__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyTuple_New", referenced from:
      _wrap_SetString_equal_range(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_SetString_insert(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_NewShadowInstance(SwigPyClientData*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SwigPyClientData_New(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_from_stdseq<std::__1::list<int, std::__1::allocator<int> >, int>::from(std::__1::list<int, std::__1::allocator<int> > const&) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_from_stdseq<std::__1::list<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::allocator<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::from(std::__1::list<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::allocator<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > > const&) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_from<std::__1::pair<double, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >::from(std::__1::pair<double, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > const&) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyTuple_SetItem", referenced from:
      _wrap_SetString_equal_range(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_SetString_insert(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SwigPyClientData_New(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_from_stdseq<std::__1::list<int, std::__1::allocator<int> >, int>::from(std::__1::list<int, std::__1::allocator<int> > const&) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_from_stdseq<std::__1::list<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::allocator<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::from(std::__1::list<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::allocator<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > > const&) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_from<std::__1::pair<double, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >::from(std::__1::pair<double, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > const&) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_from<std::__1::pair<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >::from(std::__1::pair<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > const&) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyType_IsSubtype", referenced from:
      SWIG_AsVal_double(_object*, double*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyType_Ready", referenced from:
      SwigPyPacked_TypeOnce() in freeling_pythonAPIPYTHON_wrap.cxx.o
      SwigPyObject_TypeOnce() in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig_varlink_type() in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyType_Type", referenced from:
      SwigPyClientData_New(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyUnicode_AsUTF8String", referenced from:
      SWIG_Python_str_AsChar(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyUnicode_AsWideChar", referenced from:
      SWIG_AsWCharPtrAndSize(_object*, wchar_t**, unsigned long*, int*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyUnicode_Concat", referenced from:
      SwigPyObject_repr(SwigPyObject*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig_varlink_str(swig_varlinkobject*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyUnicode_FromFormat", referenced from:
      SWIG_Python_RaiseOrModifyTypeError(char const*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SwigPyPacked_repr(SwigPyPacked*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SwigPyPacked_str(SwigPyPacked*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SwigPyObject_repr(SwigPyObject*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyUnicode_FromString", referenced from:
      SWIG_Python_str_FromChar(char const*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig_varlink_str(swig_varlinkobject*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyUnicode_FromWideChar", referenced from:
      SWIG_FromWCharPtrAndSize(wchar_t const*, unsigned long) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyUnicode_GetLength", referenced from:
      SWIG_AsWCharPtrAndSize(_object*, wchar_t**, unsigned long*, int*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyUnicode_InternFromString", referenced from:
      swig_varlink_repr(swig_varlinkobject*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig_varlink_str(swig_varlinkobject*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_Py_DecRef", referenced from:
      SwigPyObject_repr(SwigPyObject*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig_varlink_str(swig_varlinkobject*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "__PyObject_New", referenced from:
      SWIG_Python_NewPointerObj(_object*, void*, swig_type_info*, int) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "__Py_NoneStruct", referenced from:
      SWIG_Python_ConvertPtrAndOwn(_object*, void**, swig_type_info*, int, int*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Py_Void() in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_asptr_stdseq<std::__1::vector<freeling::word, std::__1::allocator<freeling::word> >, freeling::word>::asptr(_object*, std::__1::vector<freeling::word, std::__1::allocator<freeling::word> >**) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_asptr_stdseq<std::__1::list<freeling::word, std::__1::allocator<freeling::word> >, freeling::word>::asptr(_object*, std::__1::list<freeling::word, std::__1::allocator<freeling::word> >**) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_asptr_stdseq<std::__1::list<freeling::analysis, std::__1::allocator<freeling::analysis> >, freeling::analysis>::asptr(_object*, std::__1::list<freeling::analysis, std::__1::allocator<freeling::analysis> >**) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_asptr_stdseq<std::__1::list<freeling::alternative, std::__1::allocator<freeling::alternative> >, freeling::alternative>::asptr(_object*, std::__1::list<freeling::alternative, std::__1::allocator<freeling::alternative> >**) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_asptr_stdseq<std::__1::list<freeling::sentence, std::__1::allocator<freeling::sentence> >, freeling::sentence>::asptr(_object*, std::__1::list<freeling::sentence, std::__1::allocator<freeling::sentence> >**) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "__Py_NotImplementedStruct", referenced from:
      _wrap_SwigPyIterator___eq__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_SwigPyIterator___ne__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_SwigPyIterator___add__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_SwigPyIterator___sub__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_TreePreorderIteratorNode___eq__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_TreePreorderIteratorNode___ne__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_TreePreorderIteratorNode___ref__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.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[2]: *** [APIs/python3/_pyfreeling.dylib] Error 1
make[1]: *** [APIs/python3/CMakeFiles/_pyfreeling.dir/all] Error 2
make: *** [all] Error 2
          

Yes, the question is how to indicate the location of the heads! Reading this question I found the path in my system. Python3 was installed with brew:

/usr/local/Cellar/python/3.7.4_1/Frameworks/Python.framework/Versions/3.7/include/python3.7m

The documentation has only "Make sure you install also development headers" in https://freeling-user-manual.readthedocs.io/en/v4.1/installation/apis-mac/. But how to customize the location of the heads?

There is a FREELINGDIR in the FreeLing-4.1/APIs/python3/Makefile and a ${PYTHON_INCLUDE_DIRS} in the CMakeLists.txt file. The second one is a local environment variable that I can set? Do I need to change the first one?

I tried with a variable:

export PYTHON_INCLUDE_DIRS=/usr/local/Cellar/python/3.7.4_1/Frameworks/Python.framework/Versions/3.7/include/python3.7m

and with:

cmake .. -DPYTHON3_API=ON -DICU_ROOT=/usr/local/opt/icu4c -DPYTHON_INCLUDE_DIRS=/usr/local/Cellar/python/3.7.4_1/Frameworks/Python.framework/Versions/3.7/include/python3.7m

Both cases didn't work. The error looks the same, but in any case:

[100%] Linking CXX shared library _pyfreeling.dylib
Undefined symbols for architecture x86_64:
  "_PyArg_UnpackTuple", referenced from:
      SwigPyObject_own(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyBool_FromLong", referenced from:
      SWIG_From_bool(bool) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SwigPyObject_richcompare(SwigPyObject*, SwigPyObject*, int) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SwigPyObject_own(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyBool_Type", referenced from:
      SWIG_AsVal_bool(_object*, bool*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyBytes_AsStringAndSize", referenced from:
      SWIG_Python_str_AsChar(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyCFunction_NewEx", referenced from:
      SWIG_PyInstanceMethod_New(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyCFunction_Type", referenced from:
      SWIG_PyInstanceMethod_New(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyCapsule_GetPointer", referenced from:
      SWIG_Python_TypeQuery(char const*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_DestroyModule(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyCapsule_Import", referenced from:
      SWIG_Python_GetModule(void*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyCapsule_New", referenced from:
      SWIG_Python_TypeQuery(char const*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_SetModule(swig_module_info*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyDict_GetItem", referenced from:
      SWIG_Python_TypeQuery(char const*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyDict_New", referenced from:
      SWIG_Python_TypeCache() in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_NewShadowInstance(SwigPyClientData*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyDict_SetItem", referenced from:
      SWIG_Python_TypeQuery(char const*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_SetSwigThis(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyDict_SetItemString", referenced from:
      _PyInit__pyfreeling in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_InstallConstants(_object*, swig_const_info*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_SetConstant(_object*, char const*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyErr_Clear", referenced from:
      _wrap_SwigPyIterator___eq__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_SwigPyIterator___ne__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_SwigPyIterator___add__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_TreePreorderIteratorNode___eq__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_TreePreorderIteratorNode___ne__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_TreePreorderIteratorNode___ref__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_TreeSiblingIteratorNode___ref__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyErr_Fetch", referenced from:
      SWIG_Python_RaiseOrModifyTypeError(char const*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_AddErrorMsg(char const*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SwigPyObject_dealloc(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyErr_Format", referenced from:
      SWIG_Python_UnpackTuple(_object*, char const*, long, long, _object**) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_AddErrorMsg(char const*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig_varlink_getattr(swig_varlinkobject*, char*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig_varlink_setattr(swig_varlinkobject*, char*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyErr_GivenExceptionMatches", referenced from:
      SWIG_Python_TypeErrorOccurred(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyErr_Occurred", referenced from:
      SWIG_Python_ConvertPtrAndOwn(_object*, void**, swig_type_info*, int, int*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_GetSwigThis(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_AsVal_unsigned_SS_long(_object*, unsigned long*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_TypeErrorOccurred(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_AsVal_long(_object*, long*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SwigPyClientData_New(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_GetModule(void*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyErr_Restore", referenced from:
      SWIG_Python_RaiseOrModifyTypeError(char const*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SwigPyObject_dealloc(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyErr_SetObject", referenced from:
      SWIG_Python_SetErrorObj(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyErr_SetString", referenced from:
      _PyInit__pyfreeling in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_SetErrorMsg(_object*, char const*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_UnpackTuple(_object*, char const*, long, long, _object**) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_RaiseOrModifyTypeError(char const*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_asptr_stdseq<std::__1::vector<freeling::word, std::__1::allocator<freeling::word> >, freeling::word>::asptr(_object*, std::__1::vector<freeling::word, std::__1::allocator<freeling::word> >**) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_AddErrorMsg(char const*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SwigPyObject_append(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyErr_WriteUnraisable", referenced from:
      SwigPyObject_dealloc(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyExc_AttributeError", referenced from:
      SWIG_Python_ErrorType(int) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig_varlink_getattr(swig_varlinkobject*, char*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig_varlink_setattr(swig_varlinkobject*, char*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyExc_IOError", referenced from:
      SWIG_Python_ErrorType(int) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyExc_IndexError", referenced from:
      SWIG_Python_ErrorType(int) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyExc_MemoryError", referenced from:
      SWIG_Python_ErrorType(int) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyExc_OverflowError", referenced from:
      SWIG_Python_ErrorType(int) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_from_stdseq<std::__1::list<int, std::__1::allocator<int> >, int>::from(std::__1::list<int, std::__1::allocator<int> > const&) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_from_stdseq<std::__1::list<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::allocator<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::from(std::__1::list<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::allocator<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > > const&) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_from_stdseq<std::__1::list<freeling::word, std::__1::allocator<freeling::word> >, freeling::word>::from(std::__1::list<freeling::word, std::__1::allocator<freeling::word> > const&) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_from_stdseq<std::__1::list<std::__1::pair<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, double>, std::__1::allocator<std::__1::pair<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, double> > >, std::__1::pair<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, double> >::from(std::__1::list<std::__1::pair<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, double>, std::__1::allocator<std::__1::pair<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, double> > > const&) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_from_stdseq<std::__1::list<freeling::alternative, std::__1::allocator<freeling::alternative> >, freeling::alternative>::from(std::__1::list<freeling::alternative, std::__1::allocator<freeling::alternative> > const&) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_from_stdseq<std::__1::list<freeling::analysis, std::__1::allocator<freeling::analysis> >, freeling::analysis>::from(std::__1::list<freeling::analysis, std::__1::allocator<freeling::analysis> > const&) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyExc_RuntimeError", referenced from:
      SWIG_Python_ErrorType(int) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_ExceptionType(swig_type_info*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_AddErrorMsg(char const*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyExc_StopIteration", referenced from:
      _wrap_SwigPyIterator_value(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_SwigPyIterator_next(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_SwigPyIterator___next__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_SwigPyIterator_previous(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_SwigPyIterator_advance(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_SwigPyIterator___iadd__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_SwigPyIterator___isub__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyExc_SyntaxError", referenced from:
      SWIG_Python_ErrorType(int) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyExc_SystemError", referenced from:
      SWIG_Python_ErrorType(int) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_UnpackTuple(_object*, char const*, long, long, _object**) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyExc_TypeError", referenced from:
      _PyInit__pyfreeling in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_ErrorType(int) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_UnpackTuple(_object*, char const*, long, long, _object**) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_RaiseOrModifyTypeError(char const*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_TypeErrorOccurred(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_asptr_stdseq<std::__1::vector<freeling::word, std::__1::allocator<freeling::word> >, freeling::word>::asptr(_object*, std::__1::vector<freeling::word, std::__1::allocator<freeling::word> >**) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SwigPyObject_append(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyExc_ValueError", referenced from:
      SWIG_Python_ErrorType(int) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyExc_ZeroDivisionError", referenced from:
      SWIG_Python_ErrorType(int) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyFloat_AsDouble", referenced from:
      SWIG_AsVal_double(_object*, double*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyFloat_FromDouble", referenced from:
      _wrap_PairDoubleString_first_get(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_PairStringDouble_second_get(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_analysis_get_prob(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_analysis_get_distance(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_config_options_MACO_ProbabilityThreshold_get(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_config_options_TAGGER_RelaxScaleFactor_get(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_config_options_TAGGER_RelaxEpsilon_get(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyFloat_Type", referenced from:
      SWIG_AsVal_double(_object*, double*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyImport_AddModule", referenced from:
      SWIG_Python_SetModule(swig_module_info*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyInstanceMethod_New", referenced from:
      SWIG_PyInstanceMethod_New(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyLong_AsDouble", referenced from:
      SWIG_AsVal_double(_object*, double*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyLong_AsLong", referenced from:
      SWIG_AsVal_long(_object*, long*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyLong_AsUnsignedLong", referenced from:
      SWIG_AsVal_unsigned_SS_long(_object*, unsigned long*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyLong_AsUnsignedLongLong", referenced from:
      SWIG_AsVal_unsigned_SS_long_SS_long(_object*, unsigned long long*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyLong_FromLong", referenced from:
      SWIG_From_int(int) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_From_ptrdiff_t(long) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_From_unsigned_SS_long(unsigned long) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_From_unsigned_SS_long_SS_long(unsigned long long) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyLong_FromSize_t", referenced from:
      SWIG_From_unsigned_SS_int(unsigned int) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyLong_FromUnsignedLong", referenced from:
      SWIG_From_unsigned_SS_long(unsigned long) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyLong_FromUnsignedLongLong", referenced from:
      SWIG_From_unsigned_SS_long_SS_long(unsigned long long) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyLong_FromVoidPtr", referenced from:
      SwigPyObject_long(SwigPyObject*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyModule_AddObject", referenced from:
      SWIG_Python_SetModule(swig_module_info*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyModule_Create2", referenced from:
      _PyInit__pyfreeling in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyModule_GetDict", referenced from:
      _PyInit__pyfreeling in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyObject_Call", referenced from:
      SWIG_Python_NewShadowInstance(SwigPyClientData*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyObject_CallFunctionObjArgs", referenced from:
      SWIG_Python_ConvertPtrAndOwn(_object*, void**, swig_type_info*, int, int*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SwigPyObject_dealloc(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyObject_Free", referenced from:
      SwigPyPacked_dealloc(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SwigPyObject_dealloc(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SwigPyPacked_New(void*, unsigned long, swig_type_info*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyObject_GenericGetAttr", referenced from:
      SwigPyPacked_TypeOnce()::tmp in freeling_pythonAPIPYTHON_wrap.cxx.o
      SwigPyObject_TypeOnce()::tmp in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyObject_GetAttr", referenced from:
      SWIG_Python_GetSwigThis(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyObject_GetAttrString", referenced from:
      SwigPyClientData_New(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_SetSwigThis(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyObject_Init", referenced from:
      SwigPyObject_New(void*, swig_type_info*, int) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SwigPyPacked_New(void*, unsigned long, swig_type_info*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_newvarlink() in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyObject_IsInstance", referenced from:
      SwigPyClientData_New(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyObject_IsTrue", referenced from:
      SWIG_AsVal_bool(_object*, bool*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SwigPyObject_own(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyObject_Malloc", referenced from:
      SwigPyObject_New(void*, swig_type_info*, int) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SwigPyPacked_New(void*, unsigned long, swig_type_info*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_newvarlink() in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyObject_SetAttr", referenced from:
      SWIG_Python_NewShadowInstance(SwigPyClientData*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::container_owner<swig::pointer_category>::back_reference(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyObject_Str", referenced from:
      SWIG_Python_AddErrorMsg(char const*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PySequence_Check", referenced from:
      swig::traits_asptr_stdseq<std::__1::vector<freeling::word, std::__1::allocator<freeling::word> >, freeling::word>::asptr(_object*, std::__1::vector<freeling::word, std::__1::allocator<freeling::word> >**) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::SwigPySequence_Cont<freeling::word>::SwigPySequence_Cont(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_asptr_stdseq<std::__1::list<freeling::word, std::__1::allocator<freeling::word> >, freeling::word>::asptr(_object*, std::__1::list<freeling::word, std::__1::allocator<freeling::word> >**) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_asptr_stdseq<std::__1::list<freeling::analysis, std::__1::allocator<freeling::analysis> >, freeling::analysis>::asptr(_object*, std::__1::list<freeling::analysis, std::__1::allocator<freeling::analysis> >**) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::SwigPySequence_Cont<freeling::analysis>::SwigPySequence_Cont(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_asptr_stdseq<std::__1::list<freeling::alternative, std::__1::allocator<freeling::alternative> >, freeling::alternative>::asptr(_object*, std::__1::list<freeling::alternative, std::__1::allocator<freeling::alternative> >**) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::SwigPySequence_Cont<freeling::alternative>::SwigPySequence_Cont(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PySequence_GetItem", referenced from:
      swig::SwigPySequence_Cont<freeling::word>::check() const in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::SwigPySequence_Ref<freeling::word>::operator freeling::word() const in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::SwigPySequence_Cont<freeling::analysis>::check() const in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::SwigPySequence_Ref<freeling::analysis>::operator freeling::analysis() const in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::SwigPySequence_Cont<freeling::alternative>::check() const in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::SwigPySequence_Ref<freeling::alternative>::operator freeling::alternative() const in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::SwigPySequence_Cont<freeling::sentence>::check() const in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PySequence_Size", referenced from:
      swig::SwigPySequence_Cont<freeling::word>::size() const in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::SwigPySequence_Cont<freeling::analysis>::size() const in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::SwigPySequence_Cont<freeling::alternative>::size() const in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::SwigPySequence_Cont<freeling::sentence>::size() const in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::SwigPySequence_Cont<freeling::paragraph>::size() const in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::SwigPySequence_Cont<freeling::argument>::size() const in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::SwigPySequence_Cont<freeling::predicate>::size() const in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PySlice_GetIndices", referenced from:
      std_vector_Sl_freeling_word_Sg____delitem____SWIG_1(std::__1::vector<freeling::word, std::__1::allocator<freeling::word> >*, PySliceObject*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      std_vector_Sl_freeling_word_Sg____getitem____SWIG_0(std::__1::vector<freeling::word, std::__1::allocator<freeling::word> >*, PySliceObject*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      std_vector_Sl_freeling_word_Sg____setitem____SWIG_1(std::__1::vector<freeling::word, std::__1::allocator<freeling::word> >*, PySliceObject*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      std_vector_Sl_freeling_word_Sg____setitem____SWIG_0(std::__1::vector<freeling::word, std::__1::allocator<freeling::word> >*, PySliceObject*, std::__1::vector<freeling::word, std::__1::allocator<freeling::word> > const&) in freeling_pythonAPIPYTHON_wrap.cxx.o
      std_list_Sl_freeling_word_Sg____delitem____SWIG_1(std::__1::list<freeling::word, std::__1::allocator<freeling::word> >*, PySliceObject*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      std_list_Sl_freeling_word_Sg____getitem____SWIG_0(std::__1::list<freeling::word, std::__1::allocator<freeling::word> >*, PySliceObject*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      std_list_Sl_freeling_word_Sg____setitem____SWIG_1(std::__1::list<freeling::word, std::__1::allocator<freeling::word> >*, PySliceObject*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PySlice_Type", referenced from:
      _wrap_VectorWord___delitem__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_VectorWord___getitem__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_VectorWord___setitem__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_ListWord___delitem__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_ListWord___getitem__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_ListWord___setitem__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_ListAnalysis___delitem__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyTuple_New", referenced from:
      _wrap_SetString_equal_range(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_SetString_insert(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_NewShadowInstance(SwigPyClientData*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SwigPyClientData_New(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_from_stdseq<std::__1::list<int, std::__1::allocator<int> >, int>::from(std::__1::list<int, std::__1::allocator<int> > const&) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_from_stdseq<std::__1::list<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::allocator<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::from(std::__1::list<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::allocator<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > > const&) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_from<std::__1::pair<double, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >::from(std::__1::pair<double, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > const&) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyTuple_SetItem", referenced from:
      _wrap_SetString_equal_range(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_SetString_insert(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SwigPyClientData_New(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_from_stdseq<std::__1::list<int, std::__1::allocator<int> >, int>::from(std::__1::list<int, std::__1::allocator<int> > const&) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_from_stdseq<std::__1::list<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::allocator<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::from(std::__1::list<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::allocator<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > > const&) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_from<std::__1::pair<double, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >::from(std::__1::pair<double, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > const&) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_from<std::__1::pair<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >::from(std::__1::pair<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > const&) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyType_IsSubtype", referenced from:
      SWIG_AsVal_double(_object*, double*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyType_Ready", referenced from:
      SwigPyPacked_TypeOnce() in freeling_pythonAPIPYTHON_wrap.cxx.o
      SwigPyObject_TypeOnce() in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig_varlink_type() in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyType_Type", referenced from:
      SwigPyClientData_New(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyUnicode_AsUTF8String", referenced from:
      SWIG_Python_str_AsChar(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyUnicode_AsWideChar", referenced from:
      SWIG_AsWCharPtrAndSize(_object*, wchar_t**, unsigned long*, int*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyUnicode_Concat", referenced from:
      SwigPyObject_repr(SwigPyObject*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig_varlink_str(swig_varlinkobject*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyUnicode_FromFormat", referenced from:
      SWIG_Python_RaiseOrModifyTypeError(char const*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SwigPyPacked_repr(SwigPyPacked*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SwigPyPacked_str(SwigPyPacked*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SwigPyObject_repr(SwigPyObject*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyUnicode_FromString", referenced from:
      SWIG_Python_str_FromChar(char const*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig_varlink_str(swig_varlinkobject*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyUnicode_FromWideChar", referenced from:
      SWIG_FromWCharPtrAndSize(wchar_t const*, unsigned long) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyUnicode_GetLength", referenced from:
      SWIG_AsWCharPtrAndSize(_object*, wchar_t**, unsigned long*, int*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyUnicode_InternFromString", referenced from:
      swig_varlink_repr(swig_varlinkobject*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig_varlink_str(swig_varlinkobject*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_Py_DecRef", referenced from:
      SwigPyObject_repr(SwigPyObject*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig_varlink_str(swig_varlinkobject*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "__PyObject_New", referenced from:
      SWIG_Python_NewPointerObj(_object*, void*, swig_type_info*, int) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "__Py_NoneStruct", referenced from:
      SWIG_Python_ConvertPtrAndOwn(_object*, void**, swig_type_info*, int, int*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Py_Void() in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_asptr_stdseq<std::__1::vector<freeling::word, std::__1::allocator<freeling::word> >, freeling::word>::asptr(_object*, std::__1::vector<freeling::word, std::__1::allocator<freeling::word> >**) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_asptr_stdseq<std::__1::list<freeling::word, std::__1::allocator<freeling::word> >, freeling::word>::asptr(_object*, std::__1::list<freeling::word, std::__1::allocator<freeling::word> >**) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_asptr_stdseq<std::__1::list<freeling::analysis, std::__1::allocator<freeling::analysis> >, freeling::analysis>::asptr(_object*, std::__1::list<freeling::analysis, std::__1::allocator<freeling::analysis> >**) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_asptr_stdseq<std::__1::list<freeling::alternative, std::__1::allocator<freeling::alternative> >, freeling::alternative>::asptr(_object*, std::__1::list<freeling::alternative, std::__1::allocator<freeling::alternative> >**) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_asptr_stdseq<std::__1::list<freeling::sentence, std::__1::allocator<freeling::sentence> >, freeling::sentence>::asptr(_object*, std::__1::list<freeling::sentence, std::__1::allocator<freeling::sentence> >**) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "__Py_NotImplementedStruct", referenced from:
      _wrap_SwigPyIterator___eq__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_SwigPyIterator___ne__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_SwigPyIterator___add__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_SwigPyIterator___sub__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_TreePreorderIteratorNode___eq__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_TreePreorderIteratorNode___ne__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_TreePreorderIteratorNode___ref__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.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[2]: *** [APIs/python3/_pyfreeling.dylib] Error 1
make[1]: *** [APIs/python3/CMakeFiles/_pyfreeling.dir/all] Error 2
make: *** [all] Error 2
          

It seems Cmake has changed the detection of python in newer versions
In 3.10 it was detected with the command "FIND_PACKAGE(PythonLibs 3)" you'll find in APIs/python3/CMakeLists.txt

But since 3.12, it seems it is called FindPython3
https://cmake.org/cmake/help/v3.15/module/FindPython3.html#module:FindPython3

So if your cmake version is >=3.12, you need to change that line to "FIND_PACKAGE (Python3 COMPONENTS Interpreter Development)"
And also adjust the name of the variables ${PYTHON_LIBRARIES} and ${PYTHON_INCLUDE_DIRS} to ${Python4_LIBRARIES} and ${Python3_INCLUDE_DIRS} respectively

OK. I edited the APIs/python3/CMakeLists.txt that now has the following content:

FIND_PACKAGE (Python3 COMPONENTS Interpreter Development) INCLUDE_DIRECTORIES(${Python3_INCLUDE_DIRS}) SET_PROPERTY(SOURCE freeling_pythonAPI.i PROPERTY CPLUSPLUS ON) SET(CMAKE_SWIG_FLAGS "-py3") SWIG_ADD_LIBRARY(pyfreeling TYPE SHARED LANGUAGE python SOURCES freeling_pythonAPI.i) if(WIN32) SWIG_LINK_LIBRARIES(pyfreeling freeling ${Python3_LIBRARIES} ${Boost_LIBRARIES}) else() SWIG_LINK_LIBRARIES(pyfreeling freeling) endif() install(TARGETS _pyfreeling DESTINATION share/freeling/APIs/python3) install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/pyfreeling.py ${CMAKE_CURRENT_SOURCE_DIR}/sample.py DESTINATION share/freeling/APIs/python3)

Note that I used Python3_LIBRARIES instead of your Python4_LIBRARIES, I didn't see references to Python4_LIBRARIES! Am I right?

What should I do with the FREELINGDIR variable in the Makefile from this same directory? Because I still have error, something changed, but I still can't compile FL 4.1 in MacOS

[100%] Linking CXX shared library _pyfreeling.dylib
cd /Users/ar/work/fl/FreeLing-4.1/build/APIs/python3 && /usr/local/Cellar/cmake/3.15.3/bin/cmake -E cmake_link_script CMakeFiles/_pyfreeling.dir/link.txt --verbose=1
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++  -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -mmacosx-version-min=10.14 -dynamiclib -Wl,-headerpad_max_install_names -L/usr/local/opt/icu4c/lib -o _pyfreeling.dylib -install_name @rpath/_pyfreeling.dylib CMakeFiles/_pyfreeling.dir/CMakeFiles/_pyfreeling.dir/freeling_pythonAPIPYTHON_wrap.cxx.o  -L/usr/local/lib -Wl,-rpath,/usr/local/lib -Wl,-rpath,/Users/ar/work/fl/FreeLing-4.1/build/src/libfreeling -Wl,-rpath,/Users/ar/work/fl/FreeLing-4.1/build/src/libfoma -Wl,-rpath,/Users/ar/work/fl/FreeLing-4.1/build/src/libtreeler ../../src/libfreeling/libfreeling.dylib ../../src/libfoma/libfoma.dylib ../../src/libtreeler/libtreeler.dylib /usr/lib/libz.dylib /usr/local/lib/libboost_regex.dylib /usr/local/lib/libboost_filesystem.dylib /usr/local/lib/libboost_thread-mt.dylib /usr/local/lib/libboost_program_options.dylib /usr/local/opt/icu4c/lib/libicuuc.dylib /usr/local/opt/icu4c/lib/libicui18n.dylib
Undefined symbols for architecture x86_64:
  "_PyArg_UnpackTuple", referenced from:
      SwigPyObject_own(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyBool_FromLong", referenced from:
      SWIG_From_bool(bool) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SwigPyObject_richcompare(SwigPyObject*, SwigPyObject*, int) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SwigPyObject_own(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyBool_Type", referenced from:
      SWIG_AsVal_bool(_object*, bool*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyBytes_AsStringAndSize", referenced from:
      SWIG_Python_str_AsChar(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyCFunction_NewEx", referenced from:
      SWIG_PyInstanceMethod_New(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyCFunction_Type", referenced from:
      SWIG_PyInstanceMethod_New(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyCapsule_GetPointer", referenced from:
      SWIG_Python_TypeQuery(char const*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_DestroyModule(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyCapsule_Import", referenced from:
      SWIG_Python_GetModule(void*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyCapsule_New", referenced from:
      SWIG_Python_TypeQuery(char const*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_SetModule(swig_module_info*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyDict_GetItem", referenced from:
      SWIG_Python_TypeQuery(char const*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyDict_New", referenced from:
      SWIG_Python_TypeCache() in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_NewShadowInstance(SwigPyClientData*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyDict_SetItem", referenced from:
      SWIG_Python_TypeQuery(char const*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_SetSwigThis(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyDict_SetItemString", referenced from:
      _PyInit__pyfreeling in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_InstallConstants(_object*, swig_const_info*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_SetConstant(_object*, char const*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyErr_Clear", referenced from:
      _wrap_SwigPyIterator___eq__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_SwigPyIterator___ne__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_SwigPyIterator___add__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_TreePreorderIteratorNode___eq__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_TreePreorderIteratorNode___ne__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_TreePreorderIteratorNode___ref__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_TreeSiblingIteratorNode___ref__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyErr_Fetch", referenced from:
      SWIG_Python_RaiseOrModifyTypeError(char const*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_AddErrorMsg(char const*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SwigPyObject_dealloc(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyErr_Format", referenced from:
      SWIG_Python_UnpackTuple(_object*, char const*, long, long, _object**) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_AddErrorMsg(char const*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig_varlink_getattr(swig_varlinkobject*, char*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig_varlink_setattr(swig_varlinkobject*, char*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyErr_GivenExceptionMatches", referenced from:
      SWIG_Python_TypeErrorOccurred(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyErr_Occurred", referenced from:
      SWIG_Python_ConvertPtrAndOwn(_object*, void**, swig_type_info*, int, int*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_GetSwigThis(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_AsVal_unsigned_SS_long(_object*, unsigned long*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_TypeErrorOccurred(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_AsVal_long(_object*, long*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SwigPyClientData_New(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_GetModule(void*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyErr_Restore", referenced from:
      SWIG_Python_RaiseOrModifyTypeError(char const*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SwigPyObject_dealloc(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyErr_SetObject", referenced from:
      SWIG_Python_SetErrorObj(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyErr_SetString", referenced from:
      _PyInit__pyfreeling in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_SetErrorMsg(_object*, char const*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_UnpackTuple(_object*, char const*, long, long, _object**) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_RaiseOrModifyTypeError(char const*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_asptr_stdseq<std::__1::vector<freeling::word, std::__1::allocator<freeling::word> >, freeling::word>::asptr(_object*, std::__1::vector<freeling::word, std::__1::allocator<freeling::word> >**) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_AddErrorMsg(char const*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SwigPyObject_append(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyErr_WriteUnraisable", referenced from:
      SwigPyObject_dealloc(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyExc_AttributeError", referenced from:
      SWIG_Python_ErrorType(int) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig_varlink_getattr(swig_varlinkobject*, char*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig_varlink_setattr(swig_varlinkobject*, char*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyExc_IOError", referenced from:
      SWIG_Python_ErrorType(int) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyExc_IndexError", referenced from:
      SWIG_Python_ErrorType(int) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyExc_MemoryError", referenced from:
      SWIG_Python_ErrorType(int) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyExc_OverflowError", referenced from:
      SWIG_Python_ErrorType(int) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_from_stdseq<std::__1::list<int, std::__1::allocator<int> >, int>::from(std::__1::list<int, std::__1::allocator<int> > const&) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_from_stdseq<std::__1::list<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::allocator<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::from(std::__1::list<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::allocator<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > > const&) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_from_stdseq<std::__1::list<freeling::word, std::__1::allocator<freeling::word> >, freeling::word>::from(std::__1::list<freeling::word, std::__1::allocator<freeling::word> > const&) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_from_stdseq<std::__1::list<std::__1::pair<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, double>, std::__1::allocator<std::__1::pair<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, double> > >, std::__1::pair<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, double> >::from(std::__1::list<std::__1::pair<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, double>, std::__1::allocator<std::__1::pair<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, double> > > const&) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_from_stdseq<std::__1::list<freeling::alternative, std::__1::allocator<freeling::alternative> >, freeling::alternative>::from(std::__1::list<freeling::alternative, std::__1::allocator<freeling::alternative> > const&) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_from_stdseq<std::__1::list<freeling::analysis, std::__1::allocator<freeling::analysis> >, freeling::analysis>::from(std::__1::list<freeling::analysis, std::__1::allocator<freeling::analysis> > const&) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyExc_RuntimeError", referenced from:
      SWIG_Python_ErrorType(int) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_ExceptionType(swig_type_info*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_AddErrorMsg(char const*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyExc_StopIteration", referenced from:
      _wrap_SwigPyIterator_value(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_SwigPyIterator_next(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_SwigPyIterator___next__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_SwigPyIterator_previous(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_SwigPyIterator_advance(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_SwigPyIterator___iadd__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_SwigPyIterator___isub__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyExc_SyntaxError", referenced from:
      SWIG_Python_ErrorType(int) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyExc_SystemError", referenced from:
      SWIG_Python_ErrorType(int) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_UnpackTuple(_object*, char const*, long, long, _object**) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyExc_TypeError", referenced from:
      _PyInit__pyfreeling in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_ErrorType(int) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_UnpackTuple(_object*, char const*, long, long, _object**) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_RaiseOrModifyTypeError(char const*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_TypeErrorOccurred(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_asptr_stdseq<std::__1::vector<freeling::word, std::__1::allocator<freeling::word> >, freeling::word>::asptr(_object*, std::__1::vector<freeling::word, std::__1::allocator<freeling::word> >**) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SwigPyObject_append(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyExc_ValueError", referenced from:
      SWIG_Python_ErrorType(int) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyExc_ZeroDivisionError", referenced from:
      SWIG_Python_ErrorType(int) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyFloat_AsDouble", referenced from:
      SWIG_AsVal_double(_object*, double*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyFloat_FromDouble", referenced from:
      _wrap_PairDoubleString_first_get(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_PairStringDouble_second_get(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_analysis_get_prob(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_analysis_get_distance(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_config_options_MACO_ProbabilityThreshold_get(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_config_options_TAGGER_RelaxScaleFactor_get(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_config_options_TAGGER_RelaxEpsilon_get(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyFloat_Type", referenced from:
      SWIG_AsVal_double(_object*, double*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyImport_AddModule", referenced from:
      SWIG_Python_SetModule(swig_module_info*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyInstanceMethod_New", referenced from:
      SWIG_PyInstanceMethod_New(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyLong_AsDouble", referenced from:
      SWIG_AsVal_double(_object*, double*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyLong_AsLong", referenced from:
      SWIG_AsVal_long(_object*, long*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyLong_AsUnsignedLong", referenced from:
      SWIG_AsVal_unsigned_SS_long(_object*, unsigned long*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyLong_AsUnsignedLongLong", referenced from:
      SWIG_AsVal_unsigned_SS_long_SS_long(_object*, unsigned long long*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyLong_FromLong", referenced from:
      SWIG_From_int(int) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_From_ptrdiff_t(long) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_From_unsigned_SS_long(unsigned long) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_From_unsigned_SS_long_SS_long(unsigned long long) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyLong_FromSize_t", referenced from:
      SWIG_From_unsigned_SS_int(unsigned int) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyLong_FromUnsignedLong", referenced from:
      SWIG_From_unsigned_SS_long(unsigned long) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyLong_FromUnsignedLongLong", referenced from:
      SWIG_From_unsigned_SS_long_SS_long(unsigned long long) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyLong_FromVoidPtr", referenced from:
      SwigPyObject_long(SwigPyObject*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyModule_AddObject", referenced from:
      SWIG_Python_SetModule(swig_module_info*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyModule_Create2", referenced from:
      _PyInit__pyfreeling in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyModule_GetDict", referenced from:
      _PyInit__pyfreeling in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyObject_Call", referenced from:
      SWIG_Python_NewShadowInstance(SwigPyClientData*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyObject_CallFunctionObjArgs", referenced from:
      SWIG_Python_ConvertPtrAndOwn(_object*, void**, swig_type_info*, int, int*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SwigPyObject_dealloc(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyObject_Free", referenced from:
      SwigPyPacked_dealloc(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SwigPyObject_dealloc(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SwigPyPacked_New(void*, unsigned long, swig_type_info*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyObject_GenericGetAttr", referenced from:
      SwigPyPacked_TypeOnce()::tmp in freeling_pythonAPIPYTHON_wrap.cxx.o
      SwigPyObject_TypeOnce()::tmp in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyObject_GetAttr", referenced from:
      SWIG_Python_GetSwigThis(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyObject_GetAttrString", referenced from:
      SwigPyClientData_New(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_SetSwigThis(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyObject_Init", referenced from:
      SwigPyObject_New(void*, swig_type_info*, int) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SwigPyPacked_New(void*, unsigned long, swig_type_info*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_newvarlink() in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyObject_IsInstance", referenced from:
      SwigPyClientData_New(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyObject_IsTrue", referenced from:
      SWIG_AsVal_bool(_object*, bool*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SwigPyObject_own(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyObject_Malloc", referenced from:
      SwigPyObject_New(void*, swig_type_info*, int) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SwigPyPacked_New(void*, unsigned long, swig_type_info*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_newvarlink() in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyObject_SetAttr", referenced from:
      SWIG_Python_NewShadowInstance(SwigPyClientData*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::container_owner<swig::pointer_category>::back_reference(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyObject_Str", referenced from:
      SWIG_Python_AddErrorMsg(char const*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PySequence_Check", referenced from:
      swig::traits_asptr_stdseq<std::__1::vector<freeling::word, std::__1::allocator<freeling::word> >, freeling::word>::asptr(_object*, std::__1::vector<freeling::word, std::__1::allocator<freeling::word> >**) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::SwigPySequence_Cont<freeling::word>::SwigPySequence_Cont(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_asptr_stdseq<std::__1::list<freeling::word, std::__1::allocator<freeling::word> >, freeling::word>::asptr(_object*, std::__1::list<freeling::word, std::__1::allocator<freeling::word> >**) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_asptr_stdseq<std::__1::list<freeling::analysis, std::__1::allocator<freeling::analysis> >, freeling::analysis>::asptr(_object*, std::__1::list<freeling::analysis, std::__1::allocator<freeling::analysis> >**) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::SwigPySequence_Cont<freeling::analysis>::SwigPySequence_Cont(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_asptr_stdseq<std::__1::list<freeling::alternative, std::__1::allocator<freeling::alternative> >, freeling::alternative>::asptr(_object*, std::__1::list<freeling::alternative, std::__1::allocator<freeling::alternative> >**) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::SwigPySequence_Cont<freeling::alternative>::SwigPySequence_Cont(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PySequence_GetItem", referenced from:
      swig::SwigPySequence_Cont<freeling::word>::check() const in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::SwigPySequence_Ref<freeling::word>::operator freeling::word() const in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::SwigPySequence_Cont<freeling::analysis>::check() const in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::SwigPySequence_Ref<freeling::analysis>::operator freeling::analysis() const in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::SwigPySequence_Cont<freeling::alternative>::check() const in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::SwigPySequence_Ref<freeling::alternative>::operator freeling::alternative() const in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::SwigPySequence_Cont<freeling::sentence>::check() const in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PySequence_Size", referenced from:
      swig::SwigPySequence_Cont<freeling::word>::size() const in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::SwigPySequence_Cont<freeling::analysis>::size() const in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::SwigPySequence_Cont<freeling::alternative>::size() const in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::SwigPySequence_Cont<freeling::sentence>::size() const in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::SwigPySequence_Cont<freeling::paragraph>::size() const in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::SwigPySequence_Cont<freeling::argument>::size() const in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::SwigPySequence_Cont<freeling::predicate>::size() const in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PySlice_GetIndices", referenced from:
      std_vector_Sl_freeling_word_Sg____delitem____SWIG_1(std::__1::vector<freeling::word, std::__1::allocator<freeling::word> >*, PySliceObject*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      std_vector_Sl_freeling_word_Sg____getitem____SWIG_0(std::__1::vector<freeling::word, std::__1::allocator<freeling::word> >*, PySliceObject*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      std_vector_Sl_freeling_word_Sg____setitem____SWIG_1(std::__1::vector<freeling::word, std::__1::allocator<freeling::word> >*, PySliceObject*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      std_vector_Sl_freeling_word_Sg____setitem____SWIG_0(std::__1::vector<freeling::word, std::__1::allocator<freeling::word> >*, PySliceObject*, std::__1::vector<freeling::word, std::__1::allocator<freeling::word> > const&) in freeling_pythonAPIPYTHON_wrap.cxx.o
      std_list_Sl_freeling_word_Sg____delitem____SWIG_1(std::__1::list<freeling::word, std::__1::allocator<freeling::word> >*, PySliceObject*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      std_list_Sl_freeling_word_Sg____getitem____SWIG_0(std::__1::list<freeling::word, std::__1::allocator<freeling::word> >*, PySliceObject*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      std_list_Sl_freeling_word_Sg____setitem____SWIG_1(std::__1::list<freeling::word, std::__1::allocator<freeling::word> >*, PySliceObject*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PySlice_Type", referenced from:
      _wrap_VectorWord___delitem__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_VectorWord___getitem__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_VectorWord___setitem__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_ListWord___delitem__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_ListWord___getitem__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_ListWord___setitem__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_ListAnalysis___delitem__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyTuple_New", referenced from:
      _wrap_SetString_equal_range(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_SetString_insert(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Python_NewShadowInstance(SwigPyClientData*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SwigPyClientData_New(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_from_stdseq<std::__1::list<int, std::__1::allocator<int> >, int>::from(std::__1::list<int, std::__1::allocator<int> > const&) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_from_stdseq<std::__1::list<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::allocator<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::from(std::__1::list<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::allocator<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > > const&) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_from<std::__1::pair<double, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >::from(std::__1::pair<double, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > const&) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyTuple_SetItem", referenced from:
      _wrap_SetString_equal_range(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_SetString_insert(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SwigPyClientData_New(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_from_stdseq<std::__1::list<int, std::__1::allocator<int> >, int>::from(std::__1::list<int, std::__1::allocator<int> > const&) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_from_stdseq<std::__1::list<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::allocator<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::from(std::__1::list<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::allocator<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > > const&) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_from<std::__1::pair<double, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >::from(std::__1::pair<double, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > const&) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_from<std::__1::pair<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >::from(std::__1::pair<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > const&) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyType_IsSubtype", referenced from:
      SWIG_AsVal_double(_object*, double*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyType_Ready", referenced from:
      SwigPyPacked_TypeOnce() in freeling_pythonAPIPYTHON_wrap.cxx.o
      SwigPyObject_TypeOnce() in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig_varlink_type() in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyType_Type", referenced from:
      SwigPyClientData_New(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyUnicode_AsUTF8String", referenced from:
      SWIG_Python_str_AsChar(_object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyUnicode_AsWideChar", referenced from:
      SWIG_AsWCharPtrAndSize(_object*, wchar_t**, unsigned long*, int*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyUnicode_Concat", referenced from:
      SwigPyObject_repr(SwigPyObject*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig_varlink_str(swig_varlinkobject*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyUnicode_FromFormat", referenced from:
      SWIG_Python_RaiseOrModifyTypeError(char const*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SwigPyPacked_repr(SwigPyPacked*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SwigPyPacked_str(SwigPyPacked*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SwigPyObject_repr(SwigPyObject*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyUnicode_FromString", referenced from:
      SWIG_Python_str_FromChar(char const*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig_varlink_str(swig_varlinkobject*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyUnicode_FromWideChar", referenced from:
      SWIG_FromWCharPtrAndSize(wchar_t const*, unsigned long) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyUnicode_GetLength", referenced from:
      SWIG_AsWCharPtrAndSize(_object*, wchar_t**, unsigned long*, int*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_PyUnicode_InternFromString", referenced from:
      swig_varlink_repr(swig_varlinkobject*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig_varlink_str(swig_varlinkobject*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "_Py_DecRef", referenced from:
      SwigPyObject_repr(SwigPyObject*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig_varlink_str(swig_varlinkobject*) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "__PyObject_New", referenced from:
      SWIG_Python_NewPointerObj(_object*, void*, swig_type_info*, int) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "__Py_NoneStruct", referenced from:
      SWIG_Python_ConvertPtrAndOwn(_object*, void**, swig_type_info*, int, int*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      SWIG_Py_Void() in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_asptr_stdseq<std::__1::vector<freeling::word, std::__1::allocator<freeling::word> >, freeling::word>::asptr(_object*, std::__1::vector<freeling::word, std::__1::allocator<freeling::word> >**) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_asptr_stdseq<std::__1::list<freeling::word, std::__1::allocator<freeling::word> >, freeling::word>::asptr(_object*, std::__1::list<freeling::word, std::__1::allocator<freeling::word> >**) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_asptr_stdseq<std::__1::list<freeling::analysis, std::__1::allocator<freeling::analysis> >, freeling::analysis>::asptr(_object*, std::__1::list<freeling::analysis, std::__1::allocator<freeling::analysis> >**) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_asptr_stdseq<std::__1::list<freeling::alternative, std::__1::allocator<freeling::alternative> >, freeling::alternative>::asptr(_object*, std::__1::list<freeling::alternative, std::__1::allocator<freeling::alternative> >**) in freeling_pythonAPIPYTHON_wrap.cxx.o
      swig::traits_asptr_stdseq<std::__1::list<freeling::sentence, std::__1::allocator<freeling::sentence> >, freeling::sentence>::asptr(_object*, std::__1::list<freeling::sentence, std::__1::allocator<freeling::sentence> >**) in freeling_pythonAPIPYTHON_wrap.cxx.o
  "__Py_NotImplementedStruct", referenced from:
      _wrap_SwigPyIterator___eq__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_SwigPyIterator___ne__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_SwigPyIterator___add__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_SwigPyIterator___sub__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_TreePreorderIteratorNode___eq__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_TreePreorderIteratorNode___ne__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.o
      _wrap_TreePreorderIteratorNode___ref__(_object*, _object*) in freeling_pythonAPIPYTHON_wrap.cxx.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[2]: *** [APIs/python3/_pyfreeling.dylib] Error 1
make[1]: *** [APIs/python3/CMakeFiles/_pyfreeling.dir/all] Error 2
make: *** [all] Error 2
          

"python4" was a typo, it should be "python3"

Using 'cmake -DPYTHON3_API=ON' is the recommended way of building the API

Alternatively, you can run cmake without option -DPYTHON3_API=ON, and manually create the API with the Makefile:
That is, you install FreeLing without API using cmake, make, and make install.
Then you run the Makefile setting FREELINGDIR to the directroy where you installed FreeLing (/usr/local by default)

However, this is a plan B using outdated code. The best way is to use cmake to locate python and generate the API with -DPYTHON3_API=ON

Note that when you modify any CMakeLists.txt file, you have to clean your build directory (rm -rf *), and run cmake again, so it searches for dependencies again, and re-generates the makefiles.
Then, you run make, which will use the newly generated makefiles.

If cmake has some problem finding python, it should report an error (in that case, there is no point in running make)

Yes, I prefer plan A. Yes, I have cleaned up the build directory before all my commands above. This is the output of cmake:

$ rm -rf *
$ cmake .. -DPYTHON3_API=ON -DICU_ROOT=/usr/local/opt/icu4c
-- The C compiler identification is AppleClang 11.0.0.11000033
-- The CXX compiler identification is AppleClang 11.0.0.11000033
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found ZLIB: /usr/lib/libz.dylib (found version "1.2.11")
CMake Warning at /usr/local/lib/cmake/boost_regex-1.71.0/libboost_regex-variant-shared.cmake:59 (message):
  Target Boost::regex already has an imported location
  '/usr/local/lib/libboost_regex-mt.dylib', which will be overwritten with
  '/usr/local/lib/libboost_regex.dylib'
Call Stack (most recent call first):
  /usr/local/lib/cmake/boost_regex-1.71.0/boost_regex-config.cmake:43 (include)
  /usr/local/lib/cmake/Boost-1.71.0/BoostConfig.cmake:117 (find_package)
  /usr/local/lib/cmake/Boost-1.71.0/BoostConfig.cmake:182 (boost_find_component)
  /usr/local/Cellar/cmake/3.15.3/share/cmake/Modules/FindBoost.cmake:443 (find_package)
  CMakeLists.txt:43 (find_package)
CMake Warning at /usr/local/lib/cmake/boost_filesystem-1.71.0/libboost_filesystem-variant-shared.cmake:59 (message):
  Target Boost::filesystem already has an imported location
  '/usr/local/lib/libboost_filesystem-mt.dylib', which will be overwritten
  with '/usr/local/lib/libboost_filesystem.dylib'
Call Stack (most recent call first):
  /usr/local/lib/cmake/boost_filesystem-1.71.0/boost_filesystem-config.cmake:43 (include)
  /usr/local/lib/cmake/Boost-1.71.0/BoostConfig.cmake:117 (find_package)
  /usr/local/lib/cmake/Boost-1.71.0/BoostConfig.cmake:182 (boost_find_component)
  /usr/local/Cellar/cmake/3.15.3/share/cmake/Modules/FindBoost.cmake:443 (find_package)
  CMakeLists.txt:43 (find_package)
CMake Warning at /usr/local/lib/cmake/boost_program_options-1.71.0/libboost_program_options-variant-shared.cmake:59 (message):
  Target Boost::program_options already has an imported location
  '/usr/local/lib/libboost_program_options-mt.dylib', which will be
  overwritten with '/usr/local/lib/libboost_program_options.dylib'
Call Stack (most recent call first):
  /usr/local/lib/cmake/boost_program_options-1.71.0/boost_program_options-config.cmake:43 (include)
  /usr/local/lib/cmake/Boost-1.71.0/BoostConfig.cmake:117 (find_package)
  /usr/local/lib/cmake/Boost-1.71.0/BoostConfig.cmake:182 (boost_find_component)
  /usr/local/Cellar/cmake/3.15.3/share/cmake/Modules/FindBoost.cmake:443 (find_package)
  CMakeLists.txt:43 (find_package)
-- Found Boost: /usr/local/lib/cmake/Boost-1.71.0/BoostConfig.cmake (found version "1.71.0") found components:  regex filesystem thread program_options
CMake Warning (dev) at CMakeLists.txt:51 (find_package):
  Policy CMP0074 is not set: find_package uses <PackageName>_ROOT variables.
  Run "cmake --help-policy CMP0074" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.
  CMake variable ICU_ROOT is set to:
    /usr/local/opt/icu4c
  For compatibility, CMake is ignoring the variable.
This warning is for project developers.  Use -Wno-dev to suppress it.
-- Found the following ICU libraries:
--   data (required)
--   i18n (required)
--   uc (required)
-- Found ICU: /usr/local/opt/icu4c/include (found version "64.2")
-- Found Threads: TRUE
-- Found SWIG: /usr/local/bin/swig (found version "4.0.1")
-- Found Python3: /usr/local/Frameworks/Python.framework/Versions/3.7/bin/python3.7 (found version "3.7.4") found components:  Interpreter Development
CMake Warning (dev) at /usr/local/Cellar/cmake/3.15.3/share/cmake/Modules/UseSWIG.cmake:607 (message):
  Policy CMP0078 is not set: UseSWIG generates standard target names.  Run
  "cmake --help-policy CMP0078" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.
Call Stack (most recent call first):
  APIs/python3/CMakeLists.txt:9 (SWIG_ADD_LIBRARY)
This warning is for project developers.  Use -Wno-dev to suppress it.
CMake Warning (dev) at /usr/local/Cellar/cmake/3.15.3/share/cmake/Modules/UseSWIG.cmake:460 (message):
  Policy CMP0086 is not set: UseSWIG honors SWIG_MODULE_NAME via -module
  flag.  Run "cmake --help-policy CMP0086" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.
Call Stack (most recent call first):
  /usr/local/Cellar/cmake/3.15.3/share/cmake/Modules/UseSWIG.cmake:702 (SWIG_ADD_SOURCE_TO_MODULE)
  APIs/python3/CMakeLists.txt:9 (SWIG_ADD_LIBRARY)
This warning is for project developers.  Use -Wno-dev to suppress it.
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/ar/work/fl/FreeLing-4.1/build

But I am still getting the error reported in the last comment.

All these warnings in cmake make me think that the problem is in how newer cmake locates libraries.
So, cmake configuration files should be adapted to work on newer versions, which may be quite a struggle

Try adding the line

cmake_policy(VERSION 3.10)

at the beggining of CMakeLists.txt in the main directory (and after --or maybe instead of-- cmake_minimum_required command)

Another thing you can try (instead of, or in addition to the previous one) is replacing in APIs/python3/CMakeLists.txt, the lines

if(WIN32)
  SWIG_LINK_LIBRARIES(pyfreeling freeling ${PYTHON_LIBRARIES} ${Boost_LIBRARIES})
else()
  SWIG_LINK_LIBRARIES(pyfreeling freeling)
endif()

with simply

SWIG_LINK_LIBRARIES(pyfreeling freeling ${PYTHON_LIBRARIES} ${Boost_LIBRARIES})

If that does not work, maybe downgrading to a cmake version previous to 3.12 would...

You won't be able to downgrade cmake if you have the latest macos, an alternative would be to install freeling using brew (which will install with no problems) and then compiling the apis by hand, but I don't know how to do that.

I'm having a similar problem:

[ 6%] Building CXX object src/libdynet/dynet/CMakeFiles/dynet.dir/io.cc.o cd /Users/ndr235/FreeLing/build/src/libdynet/dynet && /Library/Developer/CommandLineTools/usr/bin/c++ -DBOOST_ALL_DYN_LINK -DBOOST_ALL_NO_LIB -DPACKAGE_STRING="\"FreeLing 4.1\"" -DVERSION=4.1 -Ddynet_EXPORTS -I/Users/ndr235/FreeLing/src/include -I/Users/ndr235/FreeLing/src/libdynet -I/Users/ndr235/FreeLing/src/libdynet/external/easyloggingpp/src -I/Users/ndr235/FreeLing/src/eigen3 -I/Users/ndr235/FreeLing/build/src/libdynet -DEIGEN_FAST_MATH -fPIC -fno-finite-math-only -Wall -Wno-missing-braces -std=c++11 -g -funroll-loops -Ofast -march=native -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk -fPIC -std=gnu++11 -o CMakeFiles/dynet.dir/io.cc.o -c /Users/ndr235/FreeLing/src/libdynet/dynet/io.cc /Users/ndr235/FreeLing/src/libdynet/dynet/io.cc:7:10: fatal error: 'boost/iostreams/filtering_streambuf.hpp' file not found #include <boost/iostreams/filtering_streambuf.hpp> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 error generated. make[2]: *** [src/libdynet/dynet/CMakeFiles/dynet.dir/io.cc.o] Error 1 make[1]: *** [src/libdynet/dynet/CMakeFiles/dynet.dir/all] Error 2 make: *** [all] Error 2

So, I was able to install freeling using homebrew, but when compiling the python API (using my anaconda base env) I get the following error:

Battlecruiser:python3 nd235$ make g++ -dynamiclib -o _freeling.so freeling_pythonAPI.cxx -lboost_system -lpython3.6 -lfreeling -I/usr/local/Cellar/freeling/4.1_3/include -L/usr/local/Cellar/freeling/4.1_3/lib -I/Users/ndr235/anaconda3/include/python3.6m -I/usr/local/opt/icu4c/include -L/usr/local/opt/icu4c/lib -fPIC -std=c++0x In file included from freeling_pythonAPI.cxx:2944: In file included from /usr/local/Cellar/freeling/4.1_3/include/freeling.h:50: In file included from /usr/local/Cellar/freeling/4.1_3/include/freeling/morfo/dep_treeler.h:49: In file included from /usr/local/Cellar/freeling/4.1_3/include/treeler/dep/dependency_parser.h:42: In file included from /usr/local/Cellar/freeling/4.1_3/include/treeler/control/models.h:50: In file included from /usr/local/Cellar/freeling/4.1_3/include/treeler/tag/tag.h:43: In file included from /usr/local/Cellar/freeling/4.1_3/include/treeler/tag/fgen-tag.h:9: In file included from /usr/local/Cellar/freeling/4.1_3/include/treeler/base/feature-vector.h:42: In file included from /usr/local/Cellar/freeling/4.1_3/include/treeler/base/fidx.h:41: /usr/local/Cellar/freeling/4.1_3/include/treeler/base/feature-idx-v0.h:71:7: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register] register uint32_t a = (uint32_t)(t & 0xffffffff); ^~~~~~~~~ /usr/local/Cellar/freeling/4.1_3/include/treeler/base/feature-idx-v0.h:73:7: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register] register uint32_t b = (uint32_t)((t >> 32) & 0xffffffff); ^~~~~~~~~ /usr/local/Cellar/freeling/4.1_3/include/treeler/base/feature-idx-v0.h:75:7: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register] register uint32_t c = 0; ^~~~~~~~~ freeling_pythonAPI.cxx:7642:22: error: no member named 'analyzer_config' in namespace 'freeling' typedef freeling::analyzer_config::config_options config_options; ~~~~~~~~~~^ freeling_pythonAPI.cxx:7643:22: error: no member named 'analyzer_config' in namespace 'freeling' typedef freeling::analyzer_config::invoke_options invoke_options; ~~~~~~~~~~^ freeling_pythonAPI.cxx:7644:22: error: no member named 'analyzer_config' in namespace 'freeling' typedef freeling::analyzer_config::status status; ~~~~~~~~~~^ freeling_pythonAPI.cxx:76253:19: error: member reference base type 'freeling::config_options' (aka 'int') is not a structure or union if (arg1) (arg1)->Lang = *arg2; ~~~~~~^ ~~~~ freeling_pythonAPI.cxx:76278:38: error: member reference base type 'freeling::config_options' (aka 'int') is not a structure or union result = (std::wstring *) & ((arg1)->Lang); ~~~~~~^ ~~~~ freeling_pythonAPI.cxx:76312:19: error: member reference base type 'freeling::config_options' (aka 'int') is not a structure or union if (arg1) (arg1)->TOK_TokenizerFile = *arg2; ~~~~~~^ ~~~~~~~~~~~~~~~~~ freeling_pythonAPI.cxx:76337:38: error: member reference base type 'freeling::config_options' (aka 'int') is not a structure or union result = (std::wstring *) & ((arg1)->TOK_TokenizerFile); ~~~~~~^ ~~~~~~~~~~~~~~~~~ freeling_pythonAPI.cxx:76371:19: error: member reference base type 'freeling::config_options' (aka 'int') is not a structure or union if (arg1) (arg1)->SPLIT_SplitterFile = *arg2; ~~~~~~^ ~~~~~~~~~~~~~~~~~~ freeling_pythonAPI.cxx:76396:38: error: member reference base type 'freeling::config_options' (aka 'int') is not a structure or union result = (std::wstring *) & ((arg1)->SPLIT_SplitterFile); ~~~~~~^ ~~~~~~~~~~~~~~~~~~ freeling_pythonAPI.cxx:76430:19: error: member reference base type 'freeling::config_options' (aka 'int') is not a structure or union if (arg1) (arg1)->MACO_Decimal = *arg2; ~~~~~~^ ~~~~~~~~~~~~ freeling_pythonAPI.cxx:76455:38: error: member reference base type 'freeling::config_options' (aka 'int') is not a structure or union result = (std::wstring *) & ((arg1)->MACO_Decimal); ~~~~~~^ ~~~~~~~~~~~~ freeling_pythonAPI.cxx:76489:19: error: member reference base type 'freeling::config_options' (aka 'int') is not a structure or union if (arg1) (arg1)->MACO_Thousand = *arg2; ~~~~~~^ ~~~~~~~~~~~~~ freeling_pythonAPI.cxx:76514:38: error: member reference base type 'freeling::config_options' (aka 'int') is not a structure or union result = (std::wstring *) & ((arg1)->MACO_Thousand); ~~~~~~^ ~~~~~~~~~~~~~ freeling_pythonAPI.cxx:76548:19: error: member reference base type 'freeling::config_options' (aka 'int') is not a structure or union if (arg1) (arg1)->MACO_UserMapFile = *arg2; ~~~~~~^ ~~~~~~~~~~~~~~~~ freeling_pythonAPI.cxx:76573:38: error: member reference base type 'freeling::config_options' (aka 'int') is not a structure or union result = (std::wstring *) & ((arg1)->MACO_UserMapFile); ~~~~~~^ ~~~~~~~~~~~~~~~~ freeling_pythonAPI.cxx:76607:19: error: member reference base type 'freeling::config_options' (aka 'int') is not a structure or union if (arg1) (arg1)->MACO_LocutionsFile = *arg2; ~~~~~~^ ~~~~~~~~~~~~~~~~~~ freeling_pythonAPI.cxx:76632:38: error: member reference base type 'freeling::config_options' (aka 'int') is not a structure or union result = (std::wstring *) & ((arg1)->MACO_LocutionsFile); ~~~~~~^ ~~~~~~~~~~~~~~~~~~ freeling_pythonAPI.cxx:76666:19: error: member reference base type 'freeling::config_options' (aka 'int') is not a structure or union if (arg1) (arg1)->MACO_QuantitiesFile = *arg2; ~~~~~~^ ~~~~~~~~~~~~~~~~~~~ freeling_pythonAPI.cxx:76691:38: error: member reference base type 'freeling::config_options' (aka 'int') is not a structure or union result = (std::wstring *) & ((arg1)->MACO_QuantitiesFile); ~~~~~~^ ~~~~~~~~~~~~~~~~~~~ fatal error: too many errors emitted, stopping now [-ferror-limit=] 3 warnings and 20 errors generated. make: *** [_pyfreeling.so] Error 1

You are trying to compile the API in the latest development version, but APIs are only guaranteed to be updated on released stable versions. In development versions they usually lag behind changes in the code (since FreeLing is a C++ project, develepment efforts are focused on C++ functionalities. APIs are updated once in a while, and when a stable release is produced).

You should use code from 4.1 branch or package

Back at square one, I can't install because I get the same error:

Scanning dependencies of target dynet
[ 1%] Building CXX object src/libdynet/dynet/CMakeFiles/dynet.dir/aligned-mem-pool.cc.o
[ 1%] Building CXX object src/libdynet/dynet/CMakeFiles/dynet.dir/cfsm-builder.cc.o
[ 1%] Building CXX object src/libdynet/dynet/CMakeFiles/dynet.dir/deep-lstm.cc.o
[ 2%] Building CXX object src/libdynet/dynet/CMakeFiles/dynet.dir/devices.cc.o
[ 2%] Building CXX object src/libdynet/dynet/CMakeFiles/dynet.dir/dict.cc.o
[ 2%] Building CXX object src/libdynet/dynet/CMakeFiles/dynet.dir/dim.cc.o
[ 3%] Building CXX object src/libdynet/dynet/CMakeFiles/dynet.dir/dynet.cc.o
[ 3%] Building CXX object src/libdynet/dynet/CMakeFiles/dynet.dir/exec.cc.o
[ 3%] Building CXX object src/libdynet/dynet/CMakeFiles/dynet.dir/expr.cc.o
[ 3%] Building CXX object src/libdynet/dynet/CMakeFiles/dynet.dir/fast-lstm.cc.o
[ 4%] Building CXX object src/libdynet/dynet/CMakeFiles/dynet.dir/globals.cc.o
[ 4%] Building CXX object src/libdynet/dynet/CMakeFiles/dynet.dir/grad-check.cc.o
[ 4%] Building CXX object src/libdynet/dynet/CMakeFiles/dynet.dir/graph.cc.o
[ 5%] Building CXX object src/libdynet/dynet/CMakeFiles/dynet.dir/gru.cc.o
[ 5%] Building CXX object src/libdynet/dynet/CMakeFiles/dynet.dir/hsm-builder.cc.o
[ 5%] Building CXX object src/libdynet/dynet/CMakeFiles/dynet.dir/init.cc.o
[ 6%] Building CXX object src/libdynet/dynet/CMakeFiles/dynet.dir/io.cc.o
/Users/ndr235/FreeLing/src/libdynet/dynet/io.cc:7:10: fatal error: 'boost/iostreams/filtering_streambuf.hpp' file not found
#include <boost/iostreams/filtering_streambuf.hpp>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
make[2]: *** [src/libdynet/dynet/CMakeFiles/dynet.dir/io.cc.o] Error 1
make[1]: *** [src/libdynet/dynet/CMakeFiles/dynet.dir/all] Error 2
make: *** [all] Error 2

But I've checked my boost installation and it seems to be fine:

/usr/local/Cellar/boost/1.71.0/include/boost/iostreams

drwxr-xr-x 46 nd235 staff 1472 14 ago 14:29 detail
drwxr-xr-x 8 nd235 staff 256 14 ago 14:29 device
drwxr-xr-x 16 nd235 staff 512 14 ago 14:29 filter
-rw-r--r-- 1 nd235 staff 6970 14 ago 14:29 filtering_stream.hpp
-rw-r--r-- 1 nd235 staff 3081 14 ago 14:29 filtering_streambuf.hpp <-- this guy here
-rw-r--r-- 1 nd235 staff 3205 14 ago 14:29 flush.hpp
-rw-r--r-- 1 nd235 staff 545 14 ago 14:29 get.hpp

Otherwise, the cmake process works ok

if the file is there and the compiler does not find it, that means the compiler is missing some include path.

run "make VERBOSE=1" and you'll see which compilation command is being used, and which include paths are set.

Also, when you run cmake on a clean build directory, check whether it is finding boost, and where (you may have more than one boost version installed, and maybe it is finding the wrong one)

Yes it seems that there's a problem with boost installations

$ rm -rf *
$ cmake .. -DPYTHON3_API=ON -DICU_ROOT=/usr/local/opt/icu4c
-- The C compiler identification is AppleClang 11.0.0.11000020
-- The CXX compiler identification is AppleClang 11.0.0.11000020
-- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc
-- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++
-- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found ZLIB: /usr/lib/libz.dylib (found version "1.2.11")
CMake Warning at /usr/local/lib/cmake/boost_regex-1.71.0/libboost_regex-variant-shared.cmake:59 (message):
Target Boost::regex already has an imported location
'/usr/local/lib/libboost_regex-mt.dylib', which will be overwritten with
'/usr/local/lib/libboost_regex.dylib'
Call Stack (most recent call first):
/usr/local/lib/cmake/boost_regex-1.71.0/boost_regex-config.cmake:43 (include)
/usr/local/lib/cmake/Boost-1.71.0/BoostConfig.cmake:117 (find_package)
/usr/local/lib/cmake/Boost-1.71.0/BoostConfig.cmake:182 (boost_find_component)
/usr/local/Cellar/cmake/3.15.4/share/cmake/Modules/FindBoost.cmake:443 (find_package)
CMakeLists.txt:43 (find_package)

CMake Warning at /usr/local/lib/cmake/boost_filesystem-1.71.0/libboost_filesystem-variant-shared.cmake:59 (message):
Target Boost::filesystem already has an imported location
'/usr/local/lib/libboost_filesystem-mt.dylib', which will be overwritten
with '/usr/local/lib/libboost_filesystem.dylib'
Call Stack (most recent call first):
/usr/local/lib/cmake/boost_filesystem-1.71.0/boost_filesystem-config.cmake:43 (include)
/usr/local/lib/cmake/Boost-1.71.0/BoostConfig.cmake:117 (find_package)
/usr/local/lib/cmake/Boost-1.71.0/BoostConfig.cmake:182 (boost_find_component)
/usr/local/Cellar/cmake/3.15.4/share/cmake/Modules/FindBoost.cmake:443 (find_package)
CMakeLists.txt:43 (find_package)

CMake Warning at /usr/local/lib/cmake/boost_program_options-1.71.0/libboost_program_options-variant-shared.cmake:59 (message):
Target Boost::program_options already has an imported location
'/usr/local/lib/libboost_program_options-mt.dylib', which will be
overwritten with '/usr/local/lib/libboost_program_options.dylib'
Call Stack (most recent call first):
/usr/local/lib/cmake/boost_program_options-1.71.0/boost_program_options-config.cmake:43 (include)
/usr/local/lib/cmake/Boost-1.71.0/BoostConfig.cmake:117 (find_package)
/usr/local/lib/cmake/Boost-1.71.0/BoostConfig.cmake:182 (boost_find_component)
/usr/local/Cellar/cmake/3.15.4/share/cmake/Modules/FindBoost.cmake:443 (find_package)
CMakeLists.txt:43 (find_package)

CMake Warning at /usr/local/lib/cmake/boost_iostreams-1.71.0/libboost_iostreams-variant-shared.cmake:59 (message):
Target Boost::iostreams already has an imported location
'/usr/local/lib/libboost_iostreams-mt.dylib', which will be overwritten
with '/usr/local/lib/libboost_iostreams.dylib'
Call Stack (most recent call first):
/usr/local/lib/cmake/boost_iostreams-1.71.0/boost_iostreams-config.cmake:43 (include)
/usr/local/lib/cmake/Boost-1.71.0/BoostConfig.cmake:117 (find_package)
/usr/local/lib/cmake/Boost-1.71.0/BoostConfig.cmake:182 (boost_find_component)
/usr/local/Cellar/cmake/3.15.4/share/cmake/Modules/FindBoost.cmake:443 (find_package)
CMakeLists.txt:43 (find_package)

-- Found Boost: /usr/local/lib/cmake/Boost-1.71.0/BoostConfig.cmake (found version "1.71.0") found components: regex filesystem thread program_options iostreams
CMake Warning (dev) at CMakeLists.txt:51 (find_package):
Policy CMP0074 is not set: find_package uses _ROOT variables.
Run "cmake --help-policy CMP0074" for policy details. Use the cmake_policy
command to set the policy and suppress this warning.

CMake variable ICU_ROOT is set to:

/usr/local/opt/icu4c

For compatibility, CMake is ignoring the variable.
This warning is for project developers. Use -Wno-dev to suppress it.

-- Found the following ICU libraries:
-- data (required)
-- i18n (required)
-- uc (required)
-- Found ICU: /usr/local/opt/icu4c/include (found version "64.2")
-- Found Threads: TRUE
-- BACKEND not specified, defaulting to eigen.
-- Eigen dir is /Users/ndr235/FreeLing/src/eigen3
-- Found SWIG: /usr/local/bin/swig (found version "4.0.1")
-- Could NOT find PythonLibs (missing: PYTHON_LIBRARIES PYTHON_INCLUDE_DIRS) (Required is at least version "3")
CMake Warning (dev) at /usr/local/Cellar/cmake/3.15.4/share/cmake/Modules/UseSWIG.cmake:607 (message):
Policy CMP0078 is not set: UseSWIG generates standard target names. Run
"cmake --help-policy CMP0078" for policy details. Use the cmake_policy
command to set the policy and suppress this warning.

Call Stack (most recent call first):
APIs/python3/CMakeLists.txt:9 (SWIG_ADD_LIBRARY)
This warning is for project developers. Use -Wno-dev to suppress it.

CMake Warning (dev) at /usr/local/Cellar/cmake/3.15.4/share/cmake/Modules/UseSWIG.cmake:460 (message):
Policy CMP0086 is not set: UseSWIG honors SWIG_MODULE_NAME via -module
flag. Run "cmake --help-policy CMP0086" for policy details. Use the
cmake_policy command to set the policy and suppress this warning.

Call Stack (most recent call first):
/usr/local/Cellar/cmake/3.15.4/share/cmake/Modules/UseSWIG.cmake:702 (SWIG_ADD_SOURCE_TO_MODULE)
APIs/python3/CMakeLists.txt:9 (SWIG_ADD_LIBRARY)
This warning is for project developers. Use -Wno-dev to suppress it.

-- Configuring done
-- Generating done
-- Build files have been written to: /Users/ndr235/FreeLing/build

Good, now you know where the problem is. Check how to properly install boost (did you install from source?) and make sure you have only one version.

the purpose of CMake is making sure everything is all right before building FreeLing.
If CMake fails or produces errors, there is no point in going on.

For instance, it complains about missing python libraries. No wonder building the python API fails.

I don't know the current status of this issue. But I tried again with the branch 4.1 (HEAD of the branch) and

% cmake .. -DPYTHON3_API=ON -DICU_ROOT=/usr/local/opt/icu4c
% make
[ 91%] Linking CXX shared library libfreeling.dylib
Undefined symbols for architecture x86_64:
  "icu_64::Collator::createInstance(icu_64::Locale const&, UErrorCode&)", referenced from:
      boost::re_detail_107200::icu_regex_traits_implementation::icu_regex_traits_implementation(icu_64::Locale const&) in regexp.cc.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[2]: *** [src/libfreeling/libfreeling.dylib] Error 1
make[1]: *** [src/libfreeling/CMakeFiles/freeling.dir/all] Error 2
make: *** [all] Error 2

I have Python3 and according to https://stackoverflow.com/questions/32578106/how-to-install-python-devel-in-mac-os, this is enough. Is it right? For boost:

% brew info boost
boost: stable 1.72.0 (bottled), HEAD
Collection of portable C++ source libraries
https://www.boost.org/
/usr/local/Cellar/boost/1.72.0 (14,466 files, 648.6MB) *
  Poured from bottle on 2019-12-30 at 23:16:39
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/boost.rb
==> Dependencies
Required: icu4c ✔
==> Options
--HEAD
	Install HEAD version
==> Analytics
install: 40,018 (30 days), 122,402 (90 days), 566,617 (365 days)
install-on-request: 14,261 (30 days), 43,085 (90 days), 195,352 (365 days)
build-error: 0 (30 days)
          

Hi! I've been playing a bit with this library and I'm able to compile it using Macos 10.15.3 (clang 11), with boost-1.72.0 and different versions of ICU (64.2, 65.1 and 66.1). Using dynamic linking for freeling libraries (static fails for me #96). With other versions of boost it should work too.

I'm compiling ICU and Boost from sources using Conan, and I'm preparing a recipe for Freeling 4.1 too. It will take some time to arrive in ConanCenter, I need another PR to be accepted first (adding ICU to Boost). @arademaker, you can follow these steps to get ICU and boost (using Conan and eventually my fork of conan-center-index):

  • Install Conan
  • While this one is not merged ([boost] Optionally use ICU conan-io/conan-center-index#1274)
  • Clone my fork: git clone https://github.com/jgsogo/conan-center-index && cd conan-center-index
  • Checkout feat/boost-icu branch
  • conan create recipes/boost/all/conanfile.py boost/1.72.0@ -o boost:icu=True -s compiler.cppstd=11 --build missing
  • Now you can use the binaries from boost and icu from the Conan cache
  • Easiest way to use Conan generated binaries with Freeling:

  • Clone Freeling repo and chdir into it
  • mkdir _build && cd _build
  • Write a conanfile.txt:
    [requires]
    boost/1.72.0
    icu/64.2
    [generators]
    cmake_find_package
    [options]
    boost:icu=True
  • Run conan install conanfile.txt -s compiler.cppstd=11. It will create some FindXXXX.cmake files you can use to build Freeling
  • cmake .. -DCMAKE_MODULE_PATH=$(pwd)
  • cmake --build . [-jXX]
  • (I wrote the previous steps from the top of my head, if they fail let me know and I'll go step by step to reproduce the process)

    I'm working on a Conan recipe to install Freeling, it works so far (it is the branch freeling in my fork of ConanCenter), but don't have yet recipes available for Swig and Python so I cannot build the APIs using Conan dependencies... I hope in the near future we'll manage to provide it.

    @lluisp if you think I can help with the build system and the dependencies (I see there are some embedded into this repo) let me know. The best for me would be to help here while I work on the Conan recipe, I'd try to get rid of embedded third-parties (eigen, foma, dynet, CRFsuite) to make them external dependencies... But I don't know if you have any idea in mind, I can't see any issue about it.

    I'd prefer to have dependencies included, since:

  • Many FreeLing users are not programmers. External dependencies will cause more trouble installing FreeLing (not all dependencies are packaged in most Linux distros. Also, it may happen that some new versions of the dependencies break compatibility)
  • In the case of dynet, the code has some modification that allows the library to load .gzipped models. I pushed it mainstream, but it was not included because it depends on some boost library that dynet authors do not want to add to their dependency list.
  • About conan, it sounds nice, but again, I prefer to keep it simple for non-expert users.
    My ideal scenario would be that you could fix CMakefile.txt files to work well in MacOS. In this way, I can create binary files for Mac, or any Mac user can compile it natively.

    thanks!

    Ok, let's go step by step. I'll start with easy PRs improving the CMake files so everything works smoothly. We can talk about dependency management in the future 😉 Do you want me to open an issue first or with the PR is enough?

    Sorry for the noise in this thread not related to the initial topic