Vcpkg: arrow[core]:x64-linux fails with "file RENAME failed to rename"

Created on 23 Nov 2018  路  8Comments  路  Source: microsoft/vcpkg

Installing parquet fails on Ubuntu 18.04.1 LTS for:

Package: arrow:x64-linux
Vcpkg version: 2018.10.20-unknownhash

$ vcpkg install parquet
 ...
Building package arrow[core]:x64-linux... 
 ...
CMake Error at ports/arrow/portfile.cmake:48 (file):
  file RENAME failed to rename
    /usr/local/vcpkg/packages/arrow_x64-linux/lib/arrow_static.lib
  to
    /usr/local/vcpkg/packages/arrow_x64-linux/lib/arrow.lib
  because: No such file or directory
Call Stack (most recent call first):
  scripts/ports.cmake:71 (include)
Error: Building package arrow:x64-linux failed with: BUILD_FAILED

The arrow_static.lib file indeed doesn't exist on linux, but as expected libarrow.a is there.

port-bug

All 8 comments

CMake Error at ports/arrow/portfile.cmake:48 (file) || 48 str

https://github.com/Microsoft/vcpkg/blob/master/ports/arrow/portfile.cmake

file(RENAME ${CURRENT_PACKAGES_DIR}/lib/arrow_static.lib ${CURRENT_PACKAGES_DIR}/lib/arrow.lib)

*.lib = windows

if(NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux")
...
endif(NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux")

I'm assuming darwin will have the same issue then

Hi, I'm working on a fix for this and an update to Arrow 0.11.1. I should have a PR ready in the next few days.

It's probably wrong that it's looking for the static library as well, as it is my understanding that vcpkg on Linux does not support the "static" triplet option and therefore all the vcpkg Linux ports should be dynamic libraries,.

@philjdf @GPSnoopy

The arrow_static.lib file indeed doesn't exist on linux, but as expected libarrow.a is there.

linux libarrow.a

error

failed to rename arrow_static.lib

It's probably wrong that it's looking for the static library as well, as it is my understanding that vcpkg on Linux does not support the "static" triplet option and therefore all the vcpkg Linux ports should be dynamic libraries,.

The funny thing is message(STATUS "${VCPKG_LIBRARY_LINKAGE}") inserted into Arrow's portfile.cmake when running with vcpkg install arrow:x64-linux gives "static".

Edit: https://blogs.msdn.microsoft.com/vcblog/2018/04/24/announcing-a-single-c-library-manager-for-linux-macos-and-windows-vcpkg/ "x64 static is the default and only option available on Linux".

@philjdf my bad.

Hi @Apo-, this issue has been fixed due to arrow upgrade to v0.13.0. Please update vcpkg and rebuild arrow.
Thanks.

Was this page helpful?
0 / 5 - 0 ratings