xmake-repo
xmake-repo copied to clipboard
Installing arrow with parquet config fails
Xmake Version
v2.6.4+202203220749
Operating System Version and Architecture
Ubuntu 20.04
Describe Bug
Installing arrow succeeds, however, running
xrepo install -f"parquet=true" arrow
results in the following errors.
fatal: not a git repository (or any of the parent directories): .git
Using ld linker
Configured for RELEASE build (set with cmake -DCMAKE_BUILD_TYPE={release,debug,...})
CMake Error at /home/test/.xmake/packages/b/boost/1.78.0/edc6c426909a427395ddd1d79622c780/lib/cmake/Boost-1.78.0/BoostConfig.cmake:141 (find_package):
Could not find a package configuration file provided by "boost_system"
(requested version 1.78.0) with any of the following names:
boost_systemConfig.cmake
boost_system-config.cmake
Add the installation prefix of "boost_system" to CMAKE_PREFIX_PATH or set
"boost_system_DIR" to a directory containing one of the above files. If
"boost_system" provides a separate development package or SDK, be sure it
has been installed.
Call Stack (most recent call first):
/home/test/.xmake/packages/b/boost/1.78.0/edc6c426909a427395ddd1d79622c780/lib/cmake/Boost-1.78.0/BoostConfig.cmake:262 (boost_find_component)
/usr/share/cmake-3.16/Modules/FindBoost.cmake:443 (find_package)
cmake_modules/FindBoostAlt.cmake:48 (find_package)
cmake_modules/ThirdpartyToolchain.cmake:241 (find_package)
if you want to get more verbose errors, please see:
-> /home/test/.xmake/cache/packages/2203/a/arrow/7.0.0/installdir.failed/logs/install.txt
error: install failed!
error: execv(xmake require -j 108 --extra={system=false,configs={parquet=true}} arrow) failed(255)
Expected Behavior
The installation succeeds.
Project Configuration
No response
Additional Information and Error Logs
No response
please add -vD
and let me see the verbose output.
Hi ,the verbose output is attached. log.txt
See also "/home/test/.xmake/cache/packages/2203/a/arrow/7.0.0/source/arrow-apache-arrow-7.0.0/cpp/build_f186ec2b/CMakeFiles/CMakeOutput.log". See also "/home/test/.xmake/cache/packages/2203/a/arrow/7.0.0/source/arrow-apache-arrow-7.0.0/cpp/build_f186ec2b/CMakeFiles/CMakeError.log".
can you let me see these files
CMakeError.log CMakeOutput.log Sorry for the late response! The files are now attached.
When parquet is enabled, arrow depends on thrift. It turns out that thrift depends on boost with boost_system enabled. However, the default option for boost_system is off for xmake.
We could override this in the project xmake.lua. Something as follows would do the trick.
add_requireconfs("arrow.boost", {override = true, version = "1.81.0", system = false, configs = {all = true}})
add_requireconfs("arrow.thrift.boost", {override = true, version = "1.81.0", system = false, configs = {all = true}})
@waruqi How could I fix this upstream?
you can enable boost_system in arrow/boost dep.
on_load(function(package))
if package:config("parquet") then
package:add("deps", "boost", {configs = {system = true}})
end
end)