tokudb differences when merging with MariaDB
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Percona Server moved to https://jira.percona.com/projects/PS |
Fix Released
|
Medium
|
Tomislav Plavcic | ||
5.5 |
Invalid
|
Undecided
|
Unassigned | ||
5.6 |
Fix Released
|
Medium
|
Tomislav Plavcic |
Bug Description
I'll just put everything in one bug report :)
1. storage/
I've changed
- find_package_
+ find_package_
with the comment "correct the package name in FindValgrind.cmake (for find_package(... REQUIRED) to work)"
2. storage/
I've commented out
- LIST(REMOVE_
+ #LIST(REMOVE_
with the comment
Libraries must be specified in the specific order,
REMOVE_DUPLICATES cannot be used, because it destroys this order.
(when OSLIBS contains "-lpthread -ljemalloc -lpthread", REMOVE_DUPLICATES
makes it "-lpthread -ljemalloc". But a thread library *must* be *after* jemalloc)
3. storage/
execute_
COMMAND which ${filename}
RESULT_
+ ERROR_QUIET
OUTPUT_
OUTPUT_
with the comment "'which' might print errors to stderr, they are not important, shut them up"
execute_process(
COMMAND hostname
OUTPUT_VARIABLE fullhostname
OUTPUT_
- string(REGEX REPLACE "\\.tokutek\\.com$" "" ${out} ${fullhostname})
+ string(REGEX REPLACE "\\.tokutek\\.com$" "" ${out} "${fullhostname}")
"MDEV-5124 cmake failure when fullhostname is not resolved
expand fullhostname inside the string, to have an empty string, not nothing,
when fullhostname is not defined"
- configure_
+ configure_
"don't configure_file into itself (with input=output)"
also CTestCustom.cmake must be renamed to CTestCustom.
4. storage/
- if (NOT DEFINED LIBJEMALLOC)
+ if (CMAKE_PROJECT_NAME STREQUAL TokuDB)
this code (forcing libjemalloc) should only be used when PerconaFT is compiled as an independent project. When it's inside the Percona Server, the top-level CMakeLists.txt makes these server-wide decisions, not individual engine.
- list(APPEND xz_configure_opts CC=${CMAKE_
+ list(APPEND xz_configure_opts "CC=${CMAKE_
"Fixed tokudb with ccache build failure."
ExternalProject
PREFIX xz
DOWNLOAD_
cp -a "${XZ_ALL_FILES}" "<SOURCE_DIR>/"
CONFIGURE_
+ "--libdir=
BUILD_COMMAND
INSTALL_COMMAND
)
That was needed on SuSE where libtool put the library in <...>/xz/lib64 and the code below (in the same cmake file) was not able to find it.
5. storage/
another one of
- add_executable(
+ add_executable(
6. storage/
- add_executable(
+ add_executable(
7. storage/
- add_executable(
+ add_executable(
8. storage/
- target_
+ target_
tokudb should respect server-global zlib settings and link with bundled zlib, if user has selected that configuration
9. storage/
- add_executable(
+ add_executable(
and
- add_executable(
+ add_executable(
10. storage/
- add_executable(
+ add_executable(
and
- install(TARGETS tokuftdump DESTINATION bin COMPONENT tokukv_tools)
- install(TARGETS tokuft_logprint DESTINATION bin COMPONENT tokukv_tools)
+ install(TARGETS tokuftdump DESTINATION ${INSTALL_BINDIR} COMPONENT Server)
+ install(TARGETS tokuft_logprint DESTINATION ${INSTALL_BINDIR} COMPONENT Server)
The DESTINATION should follow server-wide settings from install_
11. storage/
- add_executable(
+ add_executable(
12. storage/
cmake_
this command automatically does cmake_policy(
As a fix this line can be either removed or wrapped in "if (CMAKE_PROJECT_NAME STREQUAL TokuDB)"
===
that's all
tags: | added: tokudb |
description: | updated |
description: | updated |
description: | updated |
description: | updated |
description: | updated |
Thank you Sergei for contribution!
We'll check your proposed changes (this and in other open tickets) and merge them if ok.