-
Notifications
You must be signed in to change notification settings - Fork 0
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
orc 2.0.1 #11
orc 2.0.1 #11
Changes from 150 commits
666ea78
8c60f9a
20de081
f1ddf6d
35b37ae
a47a781
f39da99
778ec77
4b9a6d6
7ca43e4
2fdf03e
4e23002
1dca7ea
ddf0635
ae87f49
3484e24
2940831
c021172
09dbeaa
6776a9e
bb9bc86
bdf38c6
4e43f0a
4af4e40
ff04326
a63dab0
094c833
ec3ce58
234eefb
5d2f4a0
823ec3e
55c4bc2
e41d3de
96acfa8
db177f5
9d441fd
f24f704
a91cd95
45d619b
d0f185a
c138688
e8a438b
d20afc9
475125e
e7a188f
114b77a
ad7669d
39700ef
fe954e4
a77fa87
d2b4efd
df4591a
801168b
4aabccc
3d7512d
6071c6d
0ea0baf
34f7e38
bf3a624
eb9f94d
3ecfba2
ea979c1
ed9f412
624d6cc
03ced48
c50b8ee
2255448
5046065
96da2fd
c4dbc08
fcea238
8becc96
0d3bec1
b9644c9
464dbe6
eee73d5
69a4218
75c4923
c66772b
3c86c65
0ebc3c9
e568a70
9fc0226
a3916ef
8e795d6
3e58030
5bd63e1
e75b414
5eb675d
10b0b31
4f31f94
ecab0ab
fb8e7bb
a353588
e701edc
103718c
916616a
119b83d
1eab71f
abf274c
ebb6c2d
0d0cbe1
7356c03
6a4f756
87a910c
82fc75a
7729c86
ba9dcd4
0b88729
0d7fde2
e962c65
5bd2672
11a1f71
0db60be
0105866
414a0df
b49b83a
15400ef
8b5c0cd
7b3dcd6
c5875a1
0cdddf8
3cb3fd8
67e0f9a
db5b1a5
60e9728
9e4e5e2
479c29b
0adf82d
71adb1b
7182c34
8a46186
ee5bfee
a5b4949
ae644b3
6f2a997
db6ca98
8586762
0cfab48
6913e03
9d0d71c
f6b9f11
abe8eeb
60c5d03
5d215ac
441ba22
0b3187d
5df93ef
dcfc0c7
17b21b6
bd0e747
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
This file was deleted.
This file was deleted.
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -16,9 +16,9 @@ if [[ ${HOST} =~ .*darwin.* ]]; then | |
_CMAKE_EXTRA_CONFIG+=(-DCMAKE_AR=${AR}) | ||
_CMAKE_EXTRA_CONFIG+=(-DCMAKE_RANLIB=${RANLIB}) | ||
_CMAKE_EXTRA_CONFIG+=(-DCMAKE_LINKER=${LD}) | ||
CXXFLAGS="${CXXFLAGS} -DPROTOBUF_USE_DLLS -D_LIBCPP_DISABLE_AVAILABILITY" | ||
fi | ||
if [[ ${HOST} =~ .*linux.* ]]; then | ||
CXXFLAGS="${CXXFLAGS//-std=c++17/-std=c++11}" | ||
# I hate you so much CMake. | ||
LIBPTHREAD=$(find ${PREFIX} -name "libpthread.so") | ||
_CMAKE_EXTRA_CONFIG+=(-DPTHREAD_LIBRARY=${LIBPTHREAD}) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
|
||
|
@@ -29,6 +29,7 @@ CPPFLAGS="${CPPFLAGS} -Wl,-rpath,$PREFIX/lib" | |
cmake ${CMAKE_ARGS} \ | ||
-DCMAKE_PREFIX_PATH=$PREFIX \ | ||
-DCMAKE_BUILD_TYPE=Release \ | ||
-DCMAKE_CXX_STANDARD=17 \ | ||
-DBUILD_SHARED_LIBS=ON \ | ||
-DORC_PREFER_STATIC_PROTOBUF=OFF \ | ||
-DORC_PREFER_STATIC_SNAPPY=OFF \ | ||
|
@@ -47,6 +48,7 @@ cmake ${CMAKE_ARGS} \ | |
-DSNAPPY_HOME=$PREFIX \ | ||
-DBUILD_LIBHDFSPP=NO \ | ||
-DBUILD_CPP_TESTS=OFF \ | ||
-DINSTALL_VENDORED_LIBS=OFF \ | ||
-DCMAKE_INSTALL_PREFIX=$PREFIX \ | ||
-DCMAKE_C_COMPILER=$(type -p ${CC}) \ | ||
-DCMAKE_CXX_COMPILER=$(type -p ${CXX}) \ | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,13 @@ | ||
# This needs to be removed after the pinning of libprotobuf has been adjusted. | ||
libprotobuf: | ||
- 3.20 | ||
cxx_compiler: # [win] | ||
- 'vs2019' # [win] | ||
c_compiler: # [win] | ||
- 'vs2019' # [win] | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This can be removed as vs2019 is already a default compiler in a generic cbc.yaml on win64 |
||
|
||
# abseil (use through protobuf includes) now only support MacOS >=10.15, see | ||
# https://github.com/abseil/abseil-cpp#support | ||
MACOSX_SDK_VERSION: # [osx and x86_64] | ||
- "10.15" # [osx and x86_64] | ||
MACOSX_DEPLOYMENT_TARGET: # [osx and x86_64] | ||
- "10.15" # [osx and x86_64] | ||
CONDA_BUILD_SYSROOT: # [osx and x86_64] | ||
- /opt/MacOSX10.15.sdk # [osx and x86_64] |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,51 +1,71 @@ | ||
{% set version = "1.7.4" %} | ||
{% set version = "2.0.1" %} | ||
|
||
package: | ||
name: orc | ||
version: {{ version }} | ||
|
||
source: | ||
url: https://archive.apache.org/dist/orc/orc-{{ version }}/orc-{{ version }}.tar.gz | ||
sha256: 0a70c5e877b1ff268e768c94392574a084092f8aa7f97796c13de276103d8272 | ||
sha256: 1ffac0228aa83f04a1b1cf2788a3af5953e82587ae3a77c41900e99f2557132d | ||
patches: | ||
# ORC builds by default with -Werror but some dependencies omit warnings. | ||
# This deactivates -Werror | ||
- 0001-Deactivate-aggressive-failures-on-warnings.patch | ||
- 0003-Don-t-force-orc-to-be-a-static-library-let-end-user-.patch | ||
# The build system looks for lz4.lib and protobuf.lib, but our libs are | ||
# called liblz4.lib and libprotobuf.lib. | ||
- 0004-find-libs-on-windows.patch # [win] | ||
- 0005-fix_cmake_zlib_linking.patch | ||
- patches/0001-Deactivate-aggressive-failures-on-warnings.patch | ||
- patches/0002-Don-t-force-orc-to-be-a-static-library-let-end-user-.patch | ||
- patches/0003-CMake-Add-more-hints-for-libraries-on-Windows.patch | ||
- patches/0004-don-t-force-lib-destination.patch | ||
- patches/0005-Check-for-protobuf-config-based-module.patch | ||
|
||
build: | ||
number: 1 | ||
number: 0 | ||
run_exports: | ||
- {{ pin_subpackage("orc", max_pin="x.x.x") }} | ||
- {{ pin_subpackage("orc", max_pin="x.x.x") }} | ||
missing_dso_whitelist: # [s390x] | ||
- '$RPATH/ld64.so.1' # [s390x] | ||
|
||
requirements: | ||
build: | ||
- {{ compiler('c') }} | ||
- {{ compiler('cxx') }} | ||
- m2-base # [win] | ||
- m2-patch # [win] | ||
- patch # [not win] | ||
- ninja # [unix] | ||
- ninja-base # [unix] | ||
# `protoc` is also used for building | ||
- libprotobuf | ||
- libprotobuf 4.25.3 | ||
- cmake | ||
host: | ||
- zlib 1.2.13 | ||
- snappy 1.1.9 | ||
- libprotobuf | ||
- zlib {{ zlib }} | ||
- snappy 1.1.10 | ||
- libprotobuf 4.25.3 | ||
- libabseil 20240116.2 # [win] linked with orc.dll through libprotobuf dep. | ||
- lz4-c 1.9.4 | ||
- zstd {{ zstd }} | ||
run: | ||
# through run exports | ||
- zlib | ||
- snappy | ||
- libprotobuf | ||
- libabseil # [win] | ||
- lz4-c | ||
- zstd | ||
- __osx >={{ MACOSX_DEPLOYMENT_TARGET }} # [osx and x86_64] | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. can this be done through There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. All our feedstock use MACOSX_DEPLOYMENT_TARGET to set this constraint. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. yeah I see, it's a common pattern. out of interest, does |
||
# orc >=2.0.1 will prefer $CONDA_PREFIX/share/zoneinfo for tzdb | ||
- tzdata | ||
|
||
test: | ||
commands: | ||
- test -f $PREFIX/lib/liborc${SHLIB_EXT} # [unix] | ||
- test -f $PREFIX/include/orc/Common.hh # [unix] | ||
- if not exist %PREFIX%\\Library\\bin\\orc.dll exit 1 # [win] | ||
- if not exist %PREFIX%\\Library\\lib\\orc.lib exit 1 # [win] | ||
# shared libraries | ||
- test -f $PREFIX/lib/liborc${SHLIB_EXT} # [unix] | ||
- if not exist %LIBRARY_BIN%\orc.dll exit 1 # [win] | ||
# import library for the DLL | ||
- if not exist %LIBRARY_LIB%\orc.lib exit 1 # [win] | ||
|
||
# absence of static libraries | ||
- test ! -f $PREFIX/lib/liborc.a # [not win] | ||
|
||
# headers | ||
- test -f $PREFIX/include/orc/Common.hh # [unix] | ||
- if not exist %LIBRARY_INC%\orc\Common.hh exit 1 # [win] | ||
|
||
about: | ||
home: https://orc.apache.org/ | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,25 +1,22 @@ | ||
From 557f87232046e8e6135e553444a736ff341bef8e Mon Sep 17 00:00:00 2001 | ||
From 651672c8034c07c410aebf0e7667a6a77a31a8d7 Mon Sep 17 00:00:00 2001 | ||
From: "Korn, Uwe" <[email protected]> | ||
Date: Tue, 19 Mar 2019 11:16:02 +0100 | ||
Subject: [PATCH] Deactivate aggressive failures on warnings | ||
Subject: [PATCH 1/5] Deactivate aggressive failures on warnings | ||
|
||
--- | ||
CMakeLists.txt | 2 ++ | ||
1 file changed, 2 insertions(+) | ||
|
||
diff --git a/CMakeLists.txt b/CMakeLists.txt | ||
index 4484e373..e17405bb 100644 | ||
index 47a6d66..47832b5 100644 | ||
--- a/CMakeLists.txt | ||
+++ b/CMakeLists.txt | ||
@@ -98,6 +98,8 @@ elseif (MSVC) | ||
set (WARN_FLAGS "${WARN_FLAGS} -wd4146") # unary minus operator applied to unsigned type, result still unsigned | ||
@@ -160,6 +160,8 @@ else () | ||
add_compile_definitions(ENABLE_METRICS=0) | ||
endif () | ||
|
||
+set(WARN_FLAGS "") | ||
+ | ||
enable_testing() | ||
|
||
INCLUDE(CheckSourceCompiles) | ||
-- | ||
2.20.1 | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,26 +1,23 @@ | ||
From 92ff660fd3d1e82d1981ae4d02f73d74142f0f87 Mon Sep 17 00:00:00 2001 | ||
From 43d34904ff88211396be6a3572718c3d3bef6cb9 Mon Sep 17 00:00:00 2001 | ||
From: Nehal J Wani <[email protected]> | ||
Date: Fri, 25 Sep 2020 14:49:59 -0400 | ||
Subject: [PATCH 3/3] Don't force orc to be a static library, let end user | ||
Subject: [PATCH 2/5] Don't force orc to be a static library, let end user | ||
control it | ||
|
||
--- | ||
c++/src/CMakeLists.txt | 2 +- | ||
1 file changed, 1 insertion(+), 1 deletion(-) | ||
|
||
diff --git a/c++/src/CMakeLists.txt b/c++/src/CMakeLists.txt | ||
index 772f4c66..cdade462 100644 | ||
index 33ad584..f5a806a 100644 | ||
--- a/c++/src/CMakeLists.txt | ||
+++ b/c++/src/CMakeLists.txt | ||
@@ -228,7 +228,7 @@ if(BUILD_LIBHDFSPP) | ||
add_definitions(-DBUILD_LIBHDFSPP) | ||
endif(BUILD_LIBHDFSPP) | ||
@@ -206,7 +206,7 @@ if(BUILD_ENABLE_AVX512) | ||
BpackingAvx512.cc) | ||
endif(BUILD_ENABLE_AVX512) | ||
|
||
-add_library (orc STATIC ${SOURCE_FILES}) | ||
+add_library (orc ${SOURCE_FILES}) | ||
|
||
target_link_libraries (orc | ||
orc::protobuf | ||
-- | ||
2.26.2 | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
From d65b2bc5a72aa975acb84cafca4ecff9e859fdc4 Mon Sep 17 00:00:00 2001 | ||
From: Nehal J Wani <[email protected]> | ||
Date: Sat, 4 Feb 2023 20:50:40 +0000 | ||
Subject: [PATCH 3/5] CMake: Add more hints for libraries on Windows | ||
|
||
--- | ||
cmake_modules/FindLZ4.cmake | 2 +- | ||
cmake_modules/FindProtobuf.cmake | 4 ++-- | ||
2 files changed, 3 insertions(+), 3 deletions(-) | ||
|
||
diff --git a/cmake_modules/FindLZ4.cmake b/cmake_modules/FindLZ4.cmake | ||
index b1557f4..8061dda 100644 | ||
--- a/cmake_modules/FindLZ4.cmake | ||
+++ b/cmake_modules/FindLZ4.cmake | ||
@@ -33,7 +33,7 @@ find_path (LZ4_INCLUDE_DIR lz4.h HINTS | ||
NO_DEFAULT_PATH | ||
PATH_SUFFIXES "include") | ||
|
||
-find_library (LZ4_LIBRARY NAMES lz4 HINTS | ||
+find_library (LZ4_LIBRARY NAMES lz4 liblz4 HINTS | ||
${_lz4_path} | ||
PATH_SUFFIXES "lib" "lib64") | ||
|
||
diff --git a/cmake_modules/FindProtobuf.cmake b/cmake_modules/FindProtobuf.cmake | ||
index cca7c8b..5a1a9d0 100644 | ||
--- a/cmake_modules/FindProtobuf.cmake | ||
+++ b/cmake_modules/FindProtobuf.cmake | ||
@@ -63,7 +63,7 @@ else() | ||
NO_DEFAULT_PATH | ||
PATH_SUFFIXES "include") | ||
|
||
- find_library (PROTOBUF_LIBRARY NAMES protobuf HINTS | ||
+ find_library (PROTOBUF_LIBRARY NAMES protobuf libprotobuf HINTS | ||
${_protobuf_path} | ||
PATH_SUFFIXES "lib") | ||
|
||
@@ -71,7 +71,7 @@ else() | ||
${_protobuf_path} | ||
PATH_SUFFIXES "lib") | ||
|
||
- find_library (PROTOC_LIBRARY NAMES protoc HINTS | ||
+ find_library (PROTOC_LIBRARY NAMES protoc libprotoc HINTS | ||
${_protobuf_path} | ||
PATH_SUFFIXES "lib") | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
From 699586d51ca326ce8d265dfd986439f70989bea3 Mon Sep 17 00:00:00 2001 | ||
From: "H. Vetinari" <[email protected]> | ||
Date: Sun, 5 Feb 2023 15:32:08 +1100 | ||
Subject: [PATCH 4/5] don't force lib destination | ||
|
||
--- | ||
c++/src/CMakeLists.txt | 2 +- | ||
1 file changed, 1 insertion(+), 1 deletion(-) | ||
|
||
diff --git a/c++/src/CMakeLists.txt b/c++/src/CMakeLists.txt | ||
index f5a806a..d6dcca0 100644 | ||
--- a/c++/src/CMakeLists.txt | ||
+++ b/c++/src/CMakeLists.txt | ||
@@ -219,4 +219,4 @@ target_link_libraries (orc | ||
|
||
add_dependencies(orc orc-format_ep) | ||
|
||
-install(TARGETS orc DESTINATION lib) | ||
+install(TARGETS orc) |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
From e6284a57dff236e8617f5df8bfc7d2ccba951551 Mon Sep 17 00:00:00 2001 | ||
From: Nehal J Wani <[email protected]> | ||
Date: Sun, 4 Jun 2023 10:35:32 +0100 | ||
Subject: [PATCH 5/5] Check for protobuf config based module | ||
|
||
--- | ||
cmake_modules/FindProtobuf.cmake | 18 ++++++++++++++++++ | ||
1 file changed, 18 insertions(+) | ||
|
||
diff --git a/cmake_modules/FindProtobuf.cmake b/cmake_modules/FindProtobuf.cmake | ||
index 5a1a9d0..9fdc98c 100644 | ||
--- a/cmake_modules/FindProtobuf.cmake | ||
+++ b/cmake_modules/FindProtobuf.cmake | ||
@@ -26,6 +26,24 @@ | ||
# PROTOBUF_EXECUTABLE: location of protoc | ||
|
||
|
||
+find_package(Protobuf CONFIG) | ||
+if(Protobuf_FOUND) | ||
+ set(PROTOBUF_LIBRARY protobuf::libprotobuf) | ||
+ set(PROTOBUF_STATIC_LIB PROTOBUF_STATIC_LIB-NOTFOUND) | ||
+ set(PROTOC_LIBRARY protobuf::libprotoc) | ||
+ set(PROTOC_STATIC_LIB PROTOC_STATIC_LIB-NOTFOUND) | ||
+ get_target_property(target_type protobuf::libprotobuf TYPE) | ||
+ if(target_type STREQUAL "STATIC_LIBRARY") | ||
+ set(PROTOBUF_STATIC_LIB protobuf::libprotobuf) | ||
+ endif() | ||
+ get_target_property(target_type protobuf::libprotoc TYPE) | ||
+ if(target_type STREQUAL "STATIC_LIBRARY") | ||
+ set(PROTOC_STATIC_LIB protobuf::libprotoc) | ||
+ endif() | ||
+ get_target_property(PROTOBUF_INCLUDE_DIR protobuf::libprotoc INTERFACE_INCLUDE_DIRECTORIES) | ||
+ return() | ||
+endif() | ||
+ | ||
if( NOT "${PROTOBUF_HOME}" STREQUAL "") | ||
file (TO_CMAKE_PATH "${PROTOBUF_HOME}" _protobuf_path) | ||
endif() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
-DPROTOBUF_USE_DLLS
sounds like a windows flag, not a macos one