Skip to content

Commit

Permalink
**4.11.2**
Browse files Browse the repository at this point in the history
23/10/2021
        resolve issue #116
        Library will not compile on CENTOS 7 (use of threads)
  • Loading branch information
jonjoliver committed Nov 22, 2021
1 parent d9969b1 commit 74efd09
Show file tree
Hide file tree
Showing 8 changed files with 29 additions and 17 deletions.
7 changes: 4 additions & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ project(TLSH)

set(VERSION_MAJOR 4)
set(VERSION_MINOR 11)
set(VERSION_PATCH 1)
set(VERSION_PATCH 2)

# TLSH uses only half the counting buckets.
# It can use all the buckets now.
Expand Down Expand Up @@ -139,8 +139,9 @@ endif()

# user can override CXX; make sure tests link and load properly regardless of LD_LIBRARY_PATH
if(CMAKE_COMPILER_IS_GNUCXX)
# previously used: set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc")
set(CMAKE_EXE_LINKER_FLAGS "-static-libstdc++")
# issue #116 Library will not compile on CENTOS 7
# set(CMAKE_EXE_LINKER_FLAGS "-static-libstdc++")
set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc")
endif()

# from https://stackoverflow.com/questions/5395309/how-do-i-force-cmake-to-include-pthread-option-during-compilation
Expand Down
7 changes: 7 additions & 0 deletions Change_History.md
Original file line number Diff line number Diff line change
Expand Up @@ -724,3 +724,10 @@ TIME ms= 21.00 per million iterations
resolve issue #115
CREATE_LINK does not work on CENTOS 7
</PRE>

**4.11.2**
<PRE>
23/10/2021
resolve issue #116
Library will not compile on CENTOS 7 (use of threads)
</PRE>
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -299,11 +299,11 @@ TLSH similarity is expressed as a difference score:

# Current Version

**4.11.1**
**4.11.2**
<PRE>
22/10/2021
resolve issue #115
CREATE_LINK does not work on CENTOS 7
23/10/2021
resolve issue #116
Library will not compile on CENTOS 7 (use of threads)
</PRE>

# Change History
Expand Down
2 changes: 1 addition & 1 deletion include/tlsh_win_version.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

#define VERSION_MAJOR 4
#define VERSION_MINOR 11
#define VERSION_PATCH 1
#define VERSION_PATCH 2
#define TLSH_HASH "compact hash"
#define TLSH_CHECKSUM "1 byte checksum"

Expand Down
4 changes: 2 additions & 2 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ endif()

set(TLSH_SRCS tlsh.cpp tlsh_impl.cpp tlsh_util.cpp input_desc.cpp shared_file_functions.cpp)
add_library(tlsh_static STATIC ${TLSH_SRCS})
target_link_libraries(tlsh_static PRIVATE Threads::Threads)
target_link_libraries(tlsh_static PRIVATE)
set_target_properties(tlsh_static PROPERTIES ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/lib)
set_target_properties(tlsh_static PROPERTIES OUTPUT_NAME tlsh${BUILD_POSTFIX})

Expand All @@ -72,7 +72,7 @@ endif()

if(TLSH_SHARED_LIBRARY EQUAL 1)
add_library(tlsh_shared SHARED ${TLSH_SRCS})
target_link_libraries(tlsh_shared PRIVATE Threads::Threads)
target_link_libraries(tlsh_shared PRIVATE)
set_target_properties(tlsh_shared PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/lib)
set_target_properties(tlsh_shared PROPERTIES OUTPUT_NAME tlsh${BUILD_POSTFIX})
set_target_properties(tlsh_shared PROPERTIES VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}"
Expand Down
4 changes: 4 additions & 0 deletions src/tlsh_impl.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -358,7 +358,9 @@ static void raw_fast_update5_private(
unsigned char *slide_window
);

#ifdef THREADING_IMPLEMENTED
#include <thread>
#endif

struct raw_args {
// inputs
Expand Down Expand Up @@ -386,6 +388,7 @@ void thread2()

void TlshImpl::fast_update5(const unsigned char* data, unsigned int len, int tlsh_option)
{
#ifdef THREADING_IMPLEMENTED
if ((len >= 10000) && (tlsh_option & TLSH_OPTION_THREADED)) {
unsigned len2A = len / 2;
unsigned len2B = len - len2A;
Expand Down Expand Up @@ -423,6 +426,7 @@ void TlshImpl::fast_update5(const unsigned char* data, unsigned int len, int tls
}
return;
}
#endif
if (tlsh_option & TLSH_OPTION_PRIVATE) {
raw_fast_update5_private(data, len, this->data_len, this->a_bucket, this->slide_window);
this->data_len += len;
Expand Down
12 changes: 6 additions & 6 deletions test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -53,41 +53,41 @@

add_executable(simple_unittest simple_unittest.cpp)
target_link_libraries(simple_unittest PRIVATE tlsh_static)
target_link_libraries(simple_unittest PRIVATE Threads::Threads)
target_link_libraries(simple_unittest PRIVATE)
set_target_properties(simple_unittest PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin)
set_target_properties(simple_unittest PROPERTIES OUTPUT_NAME simple_unittest${BUILD_POSTFIX})

add_executable(tlsh_unittest tlsh_unittest.cpp)
target_link_libraries(tlsh_unittest PRIVATE tlsh_static)
target_link_libraries(tlsh_unittest PRIVATE Threads::Threads)
target_link_libraries(tlsh_unittest PRIVATE)
set_target_properties(tlsh_unittest PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin)
set_target_properties(tlsh_unittest PROPERTIES OUTPUT_NAME tlsh_unittest${BUILD_POSTFIX})
set_target_properties(tlsh_unittest PROPERTIES SKIP_BUILD_RPATH TRUE)

add_executable(timing_unittest timing_unittest.cpp)
target_link_libraries(timing_unittest PRIVATE tlsh_static)
target_link_libraries(timing_unittest PRIVATE Threads::Threads)
target_link_libraries(timing_unittest PRIVATE)
set_target_properties(timing_unittest PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin)
set_target_properties(timing_unittest PROPERTIES OUTPUT_NAME timing_unittest${BUILD_POSTFIX})
set_target_properties(timing_unittest PROPERTIES SKIP_BUILD_RPATH TRUE)

add_executable(order_bug order_bug.cpp)
target_link_libraries(order_bug PRIVATE tlsh_static)
target_link_libraries(order_bug PRIVATE Threads::Threads)
target_link_libraries(order_bug PRIVATE)
set_target_properties(order_bug PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin)
set_target_properties(order_bug PROPERTIES OUTPUT_NAME order_bug${BUILD_POSTFIX})
set_target_properties(order_bug PROPERTIES SKIP_BUILD_RPATH TRUE)

add_executable(tlsh_pattern tlsh_pattern.cpp)
target_link_libraries(tlsh_pattern PRIVATE tlsh_static)
target_link_libraries(tlsh_pattern PRIVATE Threads::Threads)
target_link_libraries(tlsh_pattern PRIVATE)
set_target_properties(tlsh_pattern PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin)
set_target_properties(tlsh_pattern PROPERTIES OUTPUT_NAME tlsh_pattern${BUILD_POSTFIX})
set_target_properties(tlsh_pattern PROPERTIES SKIP_BUILD_RPATH TRUE)

add_executable(tlsh_parts tlsh_parts.cpp)
target_link_libraries(tlsh_parts PRIVATE tlsh_static)
target_link_libraries(tlsh_parts PRIVATE Threads::Threads)
target_link_libraries(tlsh_parts PRIVATE)
set_target_properties(tlsh_parts PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin)
set_target_properties(tlsh_parts PROPERTIES OUTPUT_NAME tlsh_parts${BUILD_POSTFIX})
set_target_properties(tlsh_parts PROPERTIES SKIP_BUILD_RPATH TRUE)
Expand Down
2 changes: 1 addition & 1 deletion utils/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@

add_executable(rand_tags rand_tags.cpp)
target_link_libraries(rand_tags PRIVATE tlsh_static)
target_link_libraries(rand_tags PRIVATE Threads::Threads)
target_link_libraries(rand_tags PRIVATE)
set_target_properties(rand_tags PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin)
set_target_properties(rand_tags PROPERTIES OUTPUT_NAME rand_tags${BUILD_POSTFIX})

1 comment on commit 74efd09

@mavaddat
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why delete tlsh_version.cpp outright? This deletion breaks the tlsh_version project. If the tlsh_version.cpp is removed, then the project tlsh_version should be purged also.

Please sign in to comment.