42 Commits

Author SHA1 Message Date
Nikhil R 233079a41c rocksdb: Add an option to set static library
Modify the CMakeLists.txt to add an Option for
STATIC target import, as available for shared library.

Link: https://github.com/facebook/rocksdb/pull/12890

Configure static library default to switched off
as shared libraries are sufficient in most cases.

Signed-off-by: Bhabu Bindu <bindu.bhabu@kpit.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-08-10 15:57:45 -07:00
Yi Zhao a73f3bd661 rocksdb: fix build error for multilib
Fix declaration scope of LE_LOAD32 in crc32c when building
lib32-rocksdb:
util/crc32c.cc: In function 'void rocksdb::crc32c::DefaultCRC32(uint64_t*, const uint8_t**)':
util/crc32c.cc:267:53: error: 'LE_LOAD32' was not declared in this scope
  267 |   *l = _mm_crc32_u32(static_cast<unsigned int>(*l), LE_LOAD32(*p));
      |                                                     ^~~~~~~~~

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-04-07 08:30:16 -07:00
Yi Zhao 11c7659ecc rocksdb: fix build error for DEBUG_BUILD
It fails to build rocksdb when '-Og' is set in CXXFLAGS (e.g.
DEBUG_BUILD = '1' in local.conf):

rocksdb/9.0.0/git/util/xxhash.h:4491:1: error: inlining failed in call
to 'always_inline' 'void XXH3_scrambleAcc_sse2(void*, const void*)':
function not considered for inlining
 4491 | XXH3_scrambleAcc_sse2(void* XXH_RESTRICT acc, const void* XXH_RESTRICT secret)
      | ^~~~~~~~~~~~~~~~~~~~~
rocksdb/9.0.0/git/util/xxhash.h:5139:19: note: called from here
 5139 |         f_scramble(acc, secret + secretSize - XXH_STRIPE_LEN);
      |         ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
rocksdb/9.0.0/git/util/xxhash.h:4177:1: error: inlining failed in call
to 'always_inline' 'void XXH3_accumulate_sse2(xxh_u64*, const xxh_u8*, const xxh_u8*, size_t)':
function not considered for inlining
 4177 | XXH3_accumulate_##name(xxh_u64* XXH_RESTRICT acc,           \
      | ^~~~~~~~~~~~~~~~

Check and disable inlining when "-Og" is present.

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-04-04 10:41:47 -07:00
Yi Zhao d200b61e24 rocksdb: upgrade 7.9.2 -> 9.0.0
ChangeLog:
https://github.com/facebook/rocksdb/releases/tag/v9.0.0

* Refresh patches.
* Drop backport patch.

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-03-21 08:46:06 -07:00
Martin Jansa be8c765c7c *.patch: add Upstream-Status to all patches
There is new patch-status QA check in oe-core:
https://git.openembedded.org/openembedded-core/commit/?id=76a685bfcf927593eac67157762a53259089ea8a

This is temporary work around just to hide _many_ warnings from
optional patch-status (if you add it to WARN_QA).

This just added
Upstream-Status: Pending
everywhere without actually investigating what's the proper status.

This is just to hide current QA warnings and to catch new .patch files being
added without Upstream-Status, but the number of Pending patches is now terrible:

5 (26%) 	meta-xfce
6 (50%) 	meta-perl
15 (42%)        meta-webserver
21 (36%)        meta-gnome
25 (57%)        meta-filesystems
26 (43%)        meta-initramfs
45 (45%)        meta-python
47 (55%)        meta-multimedia
312 (63%)       meta-networking
756 (61%)       meta-oe

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-06-21 09:15:20 -07:00
Khem Raj 91129b0c94 rocksdb: Fix build with clang compiler
Need to drop using -msse4.2 -mpclmul

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-01-26 13:10:37 -08:00
Khem Raj b5d0bba011 rocksdb: Upgrade to 7.9.2
Refresh patches

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-01-25 23:18:05 -08:00
Khem Raj ad2a76cf36 rocksdb: Fix build with gcc13
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-01-25 23:18:05 -08:00
Khem Raj 514610e78d rocksdb: Upgrade to 7.5.3 release
Drop upstreamed patches and forward port existing ones

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-09-11 20:42:05 -07:00
Khem Raj 8523e5f6eb rocksdb: Exclude on ppc/musl
Needs porting

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-03-26 18:15:11 -07:00
Khem Raj d755e117a6 rocksdb: Use new atomic builtins on powerpc as well
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-03-14 09:16:05 -07:00
Khem Raj 14c7d8a0d7 recipes: Update LICENSE variable to use SPDX license identifiers
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-03-04 17:41:45 -08:00
Richard Purdie b402a3076f recipes: Update SRC_URI branch and protocols
This patch updates SRC_URIs using git to include branch=master if no branch is set
and also to use protocol=https for github urls as generated by the conversion script
in OE-Core.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-11-03 06:57:49 -07:00
Martin Jansa c61dc077bb Convert to new override syntax
This is the result of automated script (0.9.1) conversion:

oe-core/scripts/contrib/convert-overrides.py .

converting the metadata to use ":" as the override character instead of "_".

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2021-08-03 10:21:25 -07:00
Khem Raj d41030ba08 rocksdb: Fix build with gcc on rv32 and mips
__sync_fetch_and_add (64bit) are not impelemented in gcc and clang
smartly converts them to __atomic_fetch_add() APIs, so do that
manually when using gcc for compiler

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-06-18 17:03:39 -07:00
Khem Raj 5cb17dac6c rocksdb: Implement timer for armv6+
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-06-18 08:42:25 -07:00
Khem Raj 4f5b55896b rocksdb: Implement timer for mips
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-06-18 08:42:25 -07:00
Khem Raj a15ef36f6d rocksdb: Fix build with ppc64/musl
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-06-18 08:33:08 -07:00
Khem Raj 66a248346c rocksdb: Implement toku_time_now function for rv32/rv64
Fixes build
utilities/transactions/lock/range/range_tree/lib/locktree/../portability/toku_time.h:137:2: error: #error No timer implementation for this platform
  137 | #error No timer implementation for this platform
      |  ^~~~~

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-06-18 08:33:07 -07:00
Khem Raj 912be5179c rocksdb: Upgrade to 6.20.3
Refresh patches
Add a fix to build with clang on musl

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-06-18 08:33:07 -07:00
Oleksandr Kravchuk 1536d2b431 rocksdb: update to 6.15.5
Signed-off-by: Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-02-21 23:37:54 -08:00
Khem Raj 87583fd09f rocksdb: Update to 6.12.7
Add a patch to fix build on riscv32

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-11-15 15:09:20 -08:00
Pascal Bach 173137b08e rocksdb: 6.6.4 -> 6.11.4
- Thread patch was fixed upstream
- CMake atomic patch is still pending but was refreshed
- Additional patch for proper bz2 support in CMake added.

Signed-off-by: Pascal Bach <pascal.bach@siemens.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-10-13 10:37:48 -07:00
Khem Raj e8214f1113 rocksdb: Link with pthreads on riscv
Fixes
 librocksdb.so.6.6.4: undefined reference to `__atomic_compare_exchange_1'
collect2: error: ld returned 1 exit status

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-04-21 22:52:58 -07:00
Khem Raj 42676e9501 rocksdb: Fix build on platforms not having all atomic intrinsics
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-03-18 15:33:49 -07:00
Wang Mingyu 6adacfcdbb rocksdb: upgrade 6.5.2 -> 6.6.4
0001-Fix-build-breakage-from-lock_guard-error-6161.patch
removed since it is included in 6.6.4

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-03-17 19:46:35 -07:00
Khem Raj b21b5d3c6f rocksdb: Disable Werror
Using newer compilers e.g. gcc10/clang10 it spews new warnings so its
better to disable warning as errors for now

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-01-11 08:39:34 -08:00
Robert Yang f88060d8a6 rocksdb: Fix compile error for DEBUG_BUILD
Fixed do_compile error when DEBUG_BUILD = "1":
db/write_thread.cc:183:14: error: 'state' may be used uninitialized in this function [-Werror=maybe-uninitialized]

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-01-09 14:05:37 -08:00
Khem Raj 8b80ce4fdd rocksdb: Upgrade to 6.5.2
Backport an upstream patch to fix build
Delete patches which are either upstreamed or not required

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-12-29 10:32:10 -08:00
Pascal Bach caa50b113e rocksdb: 5.18.3 -> 6.0.2
Also add support for gflags as these are enabled by default
and recipes are available in meta-oe. They can still be disabled via
PACKAGECONFIG.

zstd is also added as an PACKAGECONFIG but currently the zstd recipe is not in
meta-oe so it stays disabled for the moment.

This also includes a patch that fixes GCC9 compatibility, it's currently submitted
upstream but not yet accepted due to style issues.

Signed-off-by: Pascal Bach <pascal.bach@siemens.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-06-15 16:45:33 -07:00
Adrian Bunk 52b384f783 rocksdb: Upgrade 5.18.2 -> 5.18.3
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-05-10 09:19:21 -07:00
He Zhe 4ce1fb5356 utilities: Fix build failure with -Werror=maybe-uninitialized
Initialize magic_number to zero to avoid such failure.
utilities/blob_db/blob_log_format.cc:91:3: error: 'magic_number' may be used
uninitialized in this function [-Werror=maybe-uninitialized]
   if (magic_number != kMagicNumber) {
   ^~

Signed-off-by: He Zhe <zhe.he@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-03-19 20:59:40 -07:00
Khem Raj c06db080f2 rocksdb: Fix build with clang
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-02-13 09:27:22 -08:00
Khem Raj 984526c4b8 rocksdb: Update to 5.18 branch ( 5.18.2 )
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-02-05 16:43:12 -08:00
Pascal Bach d417b693a5 rocksdb: make resulting cmake config relocatable
RocksDB is still using CMake 2.8 and thus does not make use of importet targets.
This leads to hardcoded paths to the build directory in the resulting packaged files.

The workaround for the issue is to bypass CMakes detection and let the linker deal with finding the right library.

This is necessary until RocksDB moves to a more modern CMake.
It's also applied in the Poco recipe right now.

Signed-off-by: Pascal Bach <pascal.bach@siemens.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-01-19 10:06:20 -08:00
Kai Kang 8243374c0e rocksdb: fix qa warning of buildpaths
rocksdb fails qa check buildpaths:

| WARNING: rocksdb-5.17.2-r0 do_package_qa: QA Issue: File
| /work/core2-64-poky-linux/rocksdb/5.17.2-r0/packages-split/rocksdb-dev/usr/lib64/cmake/rocksdb/RocksDBTargets.cmake
| in package contained reference to tmpdir [buildpaths]

Removing buildpath info from the cmake file.

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-01-19 10:06:20 -08:00
Khem Raj e052ea1b74 rocksdb: Upgrade to 5.17.2
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-12-18 22:15:59 -08:00
Trevor Woerner d4f3f48462 rocksdb: rely on cmake.bbclass to put cmake package files in dev package
The cmake.bbclass in oe-core now ensures that ${libdir}/cmake and
${datadir}/cmake end up in the dev package, so recipes no longer need to
provide custom packaging rules to handles these files.

	http://git.openembedded.org/openembedded-core/commit/?id=d91dc4666683a96e9d03cbbd21b8a546f9069c93

Originally-conceived-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-05-29 09:13:35 -07:00
Pascal Bach f860a7daa4 rocksdb: update to 5.13.1
The GCC 8 patch is still needed as the changes are not yet included in 5.13.x

Signed-off-by: Pascal Bach <pascal.bach@siemens.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-05-26 21:10:55 -07:00
Khem Raj 1d41179dd0 rocksdb: Fix build with gcc8
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
2018-05-17 08:28:20 -07:00
Pascal Bach fa63bf37da rocksdb: update to 5.12.2
Also remove the +gitSRCPV suffix from the version.
This is an official release and the version should be enough,
it adds only clutter.

Signed-off-by: Pascal Bach <pascal.bach@siemens.com>
2018-05-01 18:12:49 -07:00
Armin Kuster dbdacc9e20 rocksdb: move to recipe-dbs
Signed-off-by: Armin Kuster <akuster808@gmail.com>
2018-03-29 16:52:16 -07:00