Создание библиотеки avrocpp на Mac Big Sur (mac osx 10.11) для arm64

#macos #boost #avro #zlib #macos-big-sur

#macos #повышение #avro #zlib #macos-big-sur

Вопрос:

Я пытаюсь создать avrocpp на Mac Big Sur (Mac OS 10.11) для ARM64. После установки boost и загрузки avro-cpp, когда я запускаю сборку.sh из каталога avro для сборки, получение следующей ошибки (и многих других) при DataFile.cpp выполняется компиляция avro:

 **Undefined symbols for architecture arm64:
  "boost::iostreams::zlib_error::check(int)", referenced from:
      long boost::iostreams::symmetric_filter<boost::iostreams::detail::zlib_compressor_impl<std::__1::allocator<char> >, std::__1::allocator<char> >::write<boost::iostreams::detail::linked_streambuf<char, std::__1::char_traits<char> > >(boost::iostreams::detail::linked_streambuf<char, std::__1::char_traits<char> >amp;, char const*, long) in DataFile.o**
  

Все ошибки находятся в boost::iostream -> zlib compressor или decompressor

На данный момент, поскольку Homebrew не поддерживает Mac Big sur для boost (boost: исправить сборку arm64 https://github.com/Homebrew/homebrew-core/pull/59257 ) и это выдает ошибки при сборке boost zlib и avrocpp, я пытаюсь создать исходный код, но получаю ошибку, и вот что я пробовал до сих пор:

  1. boost 1.74 построен с использованием architecture = arm, а также проверено, что созданные библиотеки являются arm64 (lipo -archs)

  2. В каталоге avro была изменена сборка.sh изменил ‘xcode-test’ и добавил архитектуру. Вот измененная команда

    xcode-тест) mkdir -p build.xcode (cd build.xcode
    amp;amp; cmake -G Xcode ..
    amp;amp; xcodebuild -подробные АРКИ = «arm64» ONLY_ACTIVE_ARCH = ДА -выпуск конфигурации) ;;

  3. Также обновите CMakeLists.txt чтобы указать на мой каталог boost. Добавлены строки:

    проект (Avro-cpp) установил (Boost_NO_SYSTEM_PATHS TRUE), если (Boost_NO_SYSTEM_PATHS) установил (BOOST_ROOT «/Users/a/Downloads/boost_1_74_0») установил(Boost_DIR «/Users/a/Downloads/boost_1_74_0») установил(BOOST_INCLUDE_DIRS «${BOOST_ROOT} /boost») установить (BOOST_LIBRARY_DIRS «${BOOST_ROOT}/stage_mac32_64/lib») установить(Boost_LIBRARY_DIR_RELEASE «${BOOST_ROOT}/stage_mac32_64/lib») конечный код (Boost_NO_SYSTEM_PATHS)

  4. Выполнил команду : ./build.sh xcode-test вернул ту же ошибку в boost::iostream -> zlib

  5. Скачал исходный код zlib, и я попытался создать boost::iostream, указав исходный код zlib, та же ошибка. Команда:

./b2 —toolset=clang —with-iostreams —layout=versioned —build-type= complete threading= multi runtime-link= статическая архитектура= arm address-model=64 —stagedir=stage_mac32_64 этап —debug-configuration -s ZLIB_SOURCE=»/Пользователи/ a/Загрузки/zlib-1.2.11″

Если кто-нибудь пытался создать avrocpp на Mac big sur для arm64, пожалуйста, помогите.