Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

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

boost: update to 1.87.0 #22806

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Conversation

MehdiChinoune
Copy link
Collaborator

@hmartinez82 @jeremyd2019 could one of you test whether It builds on clangarm64.

package-grokker shows nothing to be rebuilt.

@hmartinez82
Copy link
Contributor

:(

==> Starting build()...
-- The CXX compiler identification is Clang 19.1.4
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/msys64/clangarm64/bin/clang++.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Boost: using tagged layout: include, bin, lib, lib/cmake
-- Boost: Release build, static libraries, MPI OFF, Python ON, testing OFF
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Check if compiler accepts -pthread
-- Check if compiler accepts -pthread - yes
-- Found Threads: TRUE
-- Performing Test BOOST_ATOMIC_TARGET_X86
-- Performing Test BOOST_ATOMIC_TARGET_X86 - Failed
-- Performing Test BOOST_ATOMIC_HAS_SYNCHRONIZATION_LIB
-- Performing Test BOOST_ATOMIC_HAS_SYNCHRONIZATION_LIB - Success
-- Performing Test BOOST_CHARCONV_QUADMATH_FOUND
-- Performing Test BOOST_CHARCONV_QUADMATH_FOUND - Failed
-- Boost.Charconv: quadmath support OFF
-- The C compiler identification is Clang 19.1.4
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/msys64/clangarm64/bin/clang.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Boost.Context: architecture arm64, binary format pe, ABI aapcs, assembler armclang, suffix .asm, implementation fcontext
-- The ASM_MASM compiler identification is unknown
-- Found assembler: ml
-- Boost.Fiber: NUMA target OS is windows
CMake Deprecation Warning at libs/filesystem/CMakeLists.txt:10 (cmake_minimum_required):
  Compatibility with CMake < 3.10 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value.  Or, use the <min>...<max> syntax
  to tell CMake that the project requires at least <min> but has been updated
  to work with policies introduced by <max> or earlier.


-- Performing Test BOOST_FILESYSTEM_HAS_INIT_PRIORITY
-- Performing Test BOOST_FILESYSTEM_HAS_INIT_PRIORITY - Success
-- Performing Test BOOST_FILESYSTEM_HAS_CXX20_ATOMIC_REF
-- Performing Test BOOST_FILESYSTEM_HAS_CXX20_ATOMIC_REF - Failed
-- Performing Test BOOST_FILESYSTEM_HAS_STAT_ST_BLKSIZE
-- Performing Test BOOST_FILESYSTEM_HAS_STAT_ST_BLKSIZE - Failed
-- Performing Test BOOST_FILESYSTEM_HAS_STAT_ST_MTIM
-- Performing Test BOOST_FILESYSTEM_HAS_STAT_ST_MTIM - Failed
-- Performing Test BOOST_FILESYSTEM_HAS_STAT_ST_MTIMENSEC
-- Performing Test BOOST_FILESYSTEM_HAS_STAT_ST_MTIMENSEC - Failed
-- Performing Test BOOST_FILESYSTEM_HAS_STAT_ST_MTIMESPEC
-- Performing Test BOOST_FILESYSTEM_HAS_STAT_ST_MTIMESPEC - Failed
-- Performing Test BOOST_FILESYSTEM_HAS_STAT_ST_BIRTHTIMENSEC
-- Performing Test BOOST_FILESYSTEM_HAS_STAT_ST_BIRTHTIMENSEC - Failed
-- Performing Test BOOST_FILESYSTEM_HAS_STAT_ST_BIRTHTIMESPEC
-- Performing Test BOOST_FILESYSTEM_HAS_STAT_ST_BIRTHTIMESPEC - Failed
-- Performing Test BOOST_FILESYSTEM_HAS_STATX
-- Performing Test BOOST_FILESYSTEM_HAS_STATX - Failed
-- Performing Test BOOST_FILESYSTEM_HAS_STATX_SYSCALL
-- Performing Test BOOST_FILESYSTEM_HAS_STATX_SYSCALL - Failed
-- Performing Test BOOST_FILESYSTEM_HAS_FDOPENDIR_NOFOLLOW
-- Performing Test BOOST_FILESYSTEM_HAS_FDOPENDIR_NOFOLLOW - Failed
-- Performing Test BOOST_FILESYSTEM_HAS_DIRENT_D_TYPE
-- Performing Test BOOST_FILESYSTEM_HAS_DIRENT_D_TYPE - Failed
-- Performing Test BOOST_FILESYSTEM_HAS_POSIX_AT_APIS
-- Performing Test BOOST_FILESYSTEM_HAS_POSIX_AT_APIS - Failed
-- Performing Test BOOST_FILESYSTEM_HAS_FALLOCATE
-- Performing Test BOOST_FILESYSTEM_HAS_FALLOCATE - Failed
-- Performing Test BOOST_FILESYSTEM_HAS_BCRYPT
-- Performing Test BOOST_FILESYSTEM_HAS_BCRYPT - Success
-- Found ZLIB: C:/msys64/clangarm64/lib/libz.dll.a (found version "1.3.1")
-- Found BZip2: C:/msys64/clangarm64/lib/libbz2.dll.a (found version "1.0.8")
-- Found LibLZMA: C:/msys64/clangarm64/lib/liblzma.dll.a (found version "5.6.3")
-- Performing Test BOOST_IOSTREAMS_HAS_LZMA_CPUTHREADS
-- Performing Test BOOST_IOSTREAMS_HAS_LZMA_CPUTHREADS - Success
-- Boost.Iostreams: ZLIB ON, BZip2 ON, LZMA ON (multithreaded), Zstd ON
-- Found Iconv: C:/msys64/clangarm64/lib/libiconv.dll.a (found version "1.17")
-- Found ICU: C:/msys64/clangarm64/include (found version "75.1") found components: data i18n uc
-- Boost.Locale: iconv ON, ICU ON, POSIX OFF, std ON, winapi ON
CMake Deprecation Warning at libs/log/CMakeLists.txt:6 (cmake_minimum_required):
  Compatibility with CMake < 3.10 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value.  Or, use the <min>...<max> syntax
  to tell CMake that the project requires at least <min> but has been updated
  to work with policies introduced by <max> or earlier.


-- Performing Test BOOST_LOG_TARGET_X86
-- Performing Test BOOST_LOG_TARGET_X86 - Failed
-- Performing Test BOOST_LOG_HAS_LOCK_FREE_ATOMIC_INT32
-- Performing Test BOOST_LOG_HAS_LOCK_FREE_ATOMIC_INT32 - Success
-- Performing Test BOOST_LOG_HAS_NATIVE_SYSLOG
-- Performing Test BOOST_LOG_HAS_NATIVE_SYSLOG - Failed
-- Boost.Log: Message compiler mc.exe not found, event log support will be disabled.
-- Boost.Math: standalone mode OFF
-- Boost.Multiprecision: standalone mode OFF
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found OpenSSL: C:/msys64/clangarm64/lib/libcrypto.dll.a (found version "3.4.0")
CMake Deprecation Warning at libs/nowide/CMakeLists.txt:16 (cmake_minimum_required):
  Compatibility with CMake < 3.10 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value.  Or, use the <min>...<max> syntax
  to tell CMake that the project requires at least <min> but has been updated
  to work with policies introduced by <max> or earlier.


-- Performing Test BOOST_NOWIDE_HAS_LFS
-- Performing Test BOOST_NOWIDE_HAS_LFS - Success
-- Performing Test BOOST_NOWIDE_HAS_INIT_PRIORITY
-- Performing Test BOOST_NOWIDE_HAS_INIT_PRIORITY - Success
-- Found Python: C:/msys64/clangarm64/lib/libpython3.12.dll.a (found version "3.12.7") found components: Development NumPy Interpreter Development.Module Development.Embed
-- Boost.Python: using Python 3.12.7 with NumPy at C:/msys64/clangarm64/lib/python3.12/site-packages/numpy/_core/include
-- Performing Test BOOST_STACKTRACE_HAS_BACKTRACE
-- Performing Test BOOST_STACKTRACE_HAS_BACKTRACE - Failed
-- Performing Test BOOST_STACKTRACE_HAS_WINDBG
-- Performing Test BOOST_STACKTRACE_HAS_WINDBG - Success
-- Performing Test BOOST_STACKTRACE_HAS_WINDBG_CACHED
-- Performing Test BOOST_STACKTRACE_HAS_WINDBG_CACHED - Success
-- Boost.Stacktrace: noop ON, backtrace OFF, addr2line OFF, basic ON, windbg ON, windbg_cached ON, from_exception OFF
-- Boost.Thread: threading API is win32
CMake Deprecation Warning at libs/url/CMakeLists.txt:17 (cmake_minimum_required):
  Compatibility with CMake < 3.10 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value.  Or, use the <min>...<max> syntax
  to tell CMake that the project requires at least <min> but has been updated
  to work with policies introduced by <max> or earlier.


-- Configuring done (14.8s)
CMake Error at libs/context/CMakeLists.txt:197 (add_library):
  Cannot find source file:

    src/asm/make_arm64_aapcs_pe_armclang.asm

  Tried extensions .c .C .c++ .cc .cpp .cxx .cu .mpp .m .M .mm .ixx .cppm
  .ccm .cxxm .c++m .h .hh .h++ .hm .hpp .hxx .in .txx .f .F .for .f77 .f90
  .f95 .f03 .hip .ispc


CMake Error at libs/context/CMakeLists.txt:197 (add_library):
  No SOURCES given to target: boost_context


CMake Generate step failed.  Build files cannot be regenerated correctly.
==> ERROR: A failure occurred in build().
    Aborting...

@MehdiChinoune
Copy link
Collaborator Author

@hmartinez82 could you try again now. (I have added -DBOOST_CONTEXT_ASM_SUFFIX='.S'

@hmartinez82
Copy link
Contributor

It got further, but then :(

-- Configuring done (17.0s)
-- Generating done (0.9s)
-- Build files have been written to: C:/Dev/Github/MINGW-packages/mingw-w64-boost/src/build-CLANGARM64
[0/2] Re-checking globbed directories...
[67/439] Linking CXX shared library stage\bin\libboost_context-mt.dll
FAILED: stage/bin/libboost_context-mt.dll stage/lib/libboost_context-mt.dll.a
C:\Windows\system32\cmd.exe /C "cd . && C:\msys64\clangarm64\bin\clang++.exe -O2 -pipe -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong -Wp,-D__USE_MINGW_ANSI_STDIO=1 -O3 -DNDEBUG   -shared -o stage\bin\libboost_context-mt.dll -Wl,--out-implib,stage\lib\libboost_context-mt.dll.a -Wl,--major-image-version,1,--minor-image-version,87 libs/context/CMakeFiles/boost_context.dir/src/fcontext.cpp.obj libs/context/CMakeFiles/boost_context.dir/src/windows/stack_traits.cpp.obj  -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 && cd ."
ld.lld: error: undefined symbol: jump_fcontext
>>> referenced by libs/context/CMakeFiles/boost_context.dir/src/fcontext.cpp.obj:(boost::context::detail::jump_fcontext(void*, void*))

ld.lld: error: undefined symbol: make_fcontext
>>> referenced by libs/context/CMakeFiles/boost_context.dir/src/fcontext.cpp.obj:(boost::context::detail::make_fcontext(void*, unsigned long long, void (*)(boost::context::detail::transfer_t)))

ld.lld: error: undefined symbol: ontop_fcontext
>>> referenced by libs/context/CMakeFiles/boost_context.dir/src/fcontext.cpp.obj:(boost::context::detail::ontop_fcontext(void*, void*, boost::context::detail::transfer_t (*)(boost::context::detail::transfer_t)))
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
[80/439] Building CXX object libs/graph/CMakeFiles/boost_graph.dir/src/read_graphviz_new.cpp.obj
ninja: build stopped: subcommand failed.
==> ERROR: A failure occurred in build().
    Aborting...

@MehdiChinoune
Copy link
Collaborator Author

@hmartinez82 again with the new patch, if It doesn't work try adding -DBOOST_CONTEXT_IMPLEMENTATION=winfib, It doesn't work then try -DBOOST_CONTEXT_IMPLEMENTATION=ucontext.

@hmartinez82
Copy link
Contributor

hmartinez82 commented Dec 14, 2024

It will be several hours until I'm back home can test this again, but in the past, even with msvc, I was only able to build Boost Context with wibfib

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants