diff --git a/CMakeLists.txt b/CMakeLists.txt index 41b42141c6d2..0a886a7498b5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1034,26 +1034,29 @@ if(STATIC_EXECUTABLES) if(ARCH_AMD64) set(LAPACK_LIBRARIES "/usr/lib/x86_64-linux-gnu/lapack/liblapack.a" CACHE PATH "LAPACK static library path") set(BLAS_LIBRARIES "/usr/lib/x86_64-linux-gnu/libblas.a" CACHE PATH "BLAS static library path") + set(OpenMP_gomp_LIBRARY "/usr/lib/gcc/x86_64-linux-gnu/13/libgomp.a") else() set(LAPACK_LIBRARIES "/usr/lib/aarch64-linux-gnu/lapack/liblapack.a" CACHE PATH "LAPACK static library path") set(BLAS_LIBRARIES "/usr/lib/aarch64-linux-gnu/libblas.a" CACHE PATH "BLAS static library path") + set(OpenMP_gomp_LIBRARY "/usr/lib/gcc/aarch64-linux-gnu/13/libgomp.a") endif() message("LAPACK: ${LAPACK_LIBRARIES} and BLAS: to ${BLAS_LIBRARIES}") - find_library(LIBOMP omp PATHS /opt/omp NO_DEFAULT_PATH) - - if(LIBOMP) - message(STATUS "Using hardcoded paths '-fopenmp=libomp -L/opt/omp -llapack -lgfortran'") - else() - message(FATAL_ERROR "libomp.a not found in /opt/omp") - endif() + # Setting this is necessary because we want to bind to gcc static library + # since the LLVM OpenMP implementation fails in our CI + # This is related to this issue (https://github.com/llvm/llvm-project/issues/137136) + set(OpenMP_C_FLAGS "-fopenmp=libgomp") + set(OpenMP_CXX_FLAGS "-fopenmp=libgomp") + set(OpenMP_C_LIB_NAMES "gomp;pthread") + set(OpenMP_CXX_LIB_NAMES "gomp;pthread") + set(OpenMP_pthread_LIBRARY "pthread") # TODO avoid hard coded paths - set(FAISS_EXE_LINKER_FLAGS "-fopenmp=libomp -L/opt/omp -llapack -lgfortran") + set(FAISS_EXE_LINKER_FLAGS "-fopenmp=libgomp -L/opt/omp -llapack -lgfortran") else() set(BLA_STATIC Off) set(BLA_VENDOR OpenBLAS) - find_package(OpenMP) + find_package(OpenMP REQUIRED) find_package(LAPACK) find_package(BLAS) diff --git a/js/client/modules/@arangodb/testutils/client-tools.js b/js/client/modules/@arangodb/testutils/client-tools.js index 19268670a2d5..9297e0af9acf 100644 --- a/js/client/modules/@arangodb/testutils/client-tools.js +++ b/js/client/modules/@arangodb/testutils/client-tools.js @@ -551,15 +551,6 @@ function rtaMakedata(options, instanceManager, writeReadClean, msg, logFile, mor if (addArgs !== undefined) { args = Object.assign(args, addArgs); } - // TODO: vector index broken on circleci-ARM - if (versionHas("arm")) { - let skipOffset = moreargv.findIndex(i => {return i === '--skip';}); - if (skipOffset >= 0) { - moreargv[skipOffset + 1] += ',107'; - } else { - moreargv = ['--skip', '107_']; - } - } let argv = toArgv(args); argv = argv.concat(['--', options.makedataDB], diff --git a/lib/ApplicationFeatures/ProcessEnvironmentFeature.cpp b/lib/ApplicationFeatures/ProcessEnvironmentFeature.cpp index 4af6f39b9d25..8fd4218b8819 100644 --- a/lib/ApplicationFeatures/ProcessEnvironmentFeature.cpp +++ b/lib/ApplicationFeatures/ProcessEnvironmentFeature.cpp @@ -22,18 +22,11 @@ //////////////////////////////////////////////////////////////////////////////// #include "ApplicationFeatures/ProcessEnvironmentFeature.h" -#include "Basics/ArangoGlobalContext.h" -#include "CrashHandler/CrashHandler.h" -#include "Basics/FileUtils.h" -#include "Basics/StringUtils.h" -#include "Basics/Thread.h" -#include "Basics/files.h" #include "Logger/LogMacros.h" #include "Logger/Logger.h" #include "Logger/LoggerStream.h" #include "ProgramOptions/Parameters.h" #include "ProgramOptions/ProgramOptions.h" -#include "ProgramOptions/Section.h" using namespace arangodb::options; extern char** environ; @@ -51,7 +44,6 @@ void ProcessEnvironmentFeature::collectOptions( void ProcessEnvironmentFeature::prepare() { if (_dumpEnv) { - // Maybe Replace with TRI_ASSERT, I leave that to you if (environ == nullptr) { return; } diff --git a/lib/ApplicationFeatures/ProcessEnvironmentFeature.h b/lib/ApplicationFeatures/ProcessEnvironmentFeature.h index f4d0bd9d8b18..9cb291551c17 100644 --- a/lib/ApplicationFeatures/ProcessEnvironmentFeature.h +++ b/lib/ApplicationFeatures/ProcessEnvironmentFeature.h @@ -47,7 +47,7 @@ class ProcessEnvironmentFeature final void prepare() override final; private: - bool _dumpEnv; + bool _dumpEnv{false}; }; #endif } // namespace arangodb diff --git a/tests/js/client/aql/vector/aql-vector-agency-wrong-definition-cluster.js b/tests/js/client/aql/vector/aql-vector-agency-wrong-definition-cluster.js index 6f8aa3637eea..aec804742bcc 100644 --- a/tests/js/client/aql/vector/aql-vector-agency-wrong-definition-cluster.js +++ b/tests/js/client/aql/vector/aql-vector-agency-wrong-definition-cluster.js @@ -263,8 +263,7 @@ function VectorIndexInvalidDefinitionInAgencyTest() { }; } -if (!versionHas("arm")) { - jsunity.run(VectorIndexCorrectDefinitionInAgencyTest); - jsunity.run(VectorIndexInvalidDefinitionInAgencyTest); -} +jsunity.run(VectorIndexCorrectDefinitionInAgencyTest); +jsunity.run(VectorIndexInvalidDefinitionInAgencyTest); + return jsunity.done(); diff --git a/tests/js/client/aql/vector/aql-vector-create-and-remove.js b/tests/js/client/aql/vector/aql-vector-create-and-remove.js index 89191c96f367..430b64dcdca9 100644 --- a/tests/js/client/aql/vector/aql-vector-create-and-remove.js +++ b/tests/js/client/aql/vector/aql-vector-create-and-remove.js @@ -321,8 +321,7 @@ function VectorIndexTestCreationWithVectors() { } -if (!versionHas("arm")) { - jsunity.run(VectorIndexCreateAndRemoveTestSuite); - jsunity.run(VectorIndexTestCreationWithVectors); -} +jsunity.run(VectorIndexCreateAndRemoveTestSuite); +jsunity.run(VectorIndexTestCreationWithVectors); + return jsunity.done(); diff --git a/tests/js/client/aql/vector/aql-vector-full-count.js b/tests/js/client/aql/vector/aql-vector-full-count.js index 779e366c6743..3285fb8c3884 100644 --- a/tests/js/client/aql/vector/aql-vector-full-count.js +++ b/tests/js/client/aql/vector/aql-vector-full-count.js @@ -417,9 +417,8 @@ function VectorIndexFullCountCollectionWithSmallAmountOfDocs() { }; } -if (!versionHas("arm")) { - jsunity.run(VectorIndexFullCountTestSuite); - jsunity.run(VectorIndexFullCountWithNotEnoughNListsTestSuite); - jsunity.run(VectorIndexFullCountCollectionWithSmallAmountOfDocs); -} +jsunity.run(VectorIndexFullCountTestSuite); +jsunity.run(VectorIndexFullCountWithNotEnoughNListsTestSuite); +jsunity.run(VectorIndexFullCountCollectionWithSmallAmountOfDocs); + return jsunity.done(); diff --git a/tests/js/client/aql/vector/aql-vector-nprobe.js b/tests/js/client/aql/vector/aql-vector-nprobe.js index ffb6c5827669..77e5a77a621d 100644 --- a/tests/js/client/aql/vector/aql-vector-nprobe.js +++ b/tests/js/client/aql/vector/aql-vector-nprobe.js @@ -163,7 +163,6 @@ function VectorIndexL2NprobeTestSuite() { }; } -if (!versionHas("arm")) { - jsunity.run(VectorIndexL2NprobeTestSuite); -} +jsunity.run(VectorIndexL2NprobeTestSuite); + return jsunity.done(); diff --git a/tests/js/client/aql/vector/aql-vector.js b/tests/js/client/aql/vector/aql-vector.js index ccd7852d35a3..bec8470fcf2c 100644 --- a/tests/js/client/aql/vector/aql-vector.js +++ b/tests/js/client/aql/vector/aql-vector.js @@ -884,10 +884,9 @@ function MultipleVectorIndexesOnField() { }; } -if (!versionHas("arm")) { - jsunity.run(VectorIndexL2TestSuite); - jsunity.run(VectorIndexCosineTestSuite); - jsunity.run(MultipleVectorIndexesOnField); -} +jsunity.run(VectorIndexL2TestSuite); +jsunity.run(VectorIndexCosineTestSuite); +jsunity.run(MultipleVectorIndexesOnField); + return jsunity.done();