Skip to content
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

BLD: cmake additions #1604

Merged
merged 2 commits into from Feb 4, 2024
Merged

BLD: cmake additions #1604

merged 2 commits into from Feb 4, 2024

Conversation

HaoZeke
Copy link
Contributor

@HaoZeke HaoZeke commented Feb 4, 2024

Closes #1549. Also modifies the libatomic check as discussed in #1603 (comment).

@HaoZeke
Copy link
Contributor Author

HaoZeke commented Feb 4, 2024

@barracuda156 I think this should work alright?

Closes ERGO-Codegh-1549

Co-authored-by: ogmundur <ogmundur@users.noreply.github.com>
@barracuda156
Copy link
Contributor

@HaoZeke I can pull your branch and try now.

@jajhall jajhall merged commit 58a94d5 into ERGO-Code:latest Feb 4, 2024
44 checks passed
@HaoZeke HaoZeke deleted the cmakeAdditions branch February 4, 2024 14:29
@barracuda156
Copy link
Contributor

@HaoZeke It is interesting. Configure works fine:

--->  Configuring HiGHS
Executing:  cd "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_HiGHS/HiGHS/work/build" && /opt/local/bin/cmake -G "CodeBlocks - Unix Makefiles" -DCMAKE_BUILD_TYPE=MacPorts -DCMAKE_INSTALL_PREFIX="/opt/local" -DCMAKE_INSTALL_NAME_DIR="/opt/local/lib" -DCMAKE_SYSTEM_PREFIX_PATH="/opt/local;/usr" -DCMAKE_C_COMPILER="$CC" -DCMAKE_CXX_COMPILER="$CXX" -DCMAKE_OBJC_COMPILER="$CC" -DCMAKE_OBJCXX_COMPILER="$CXX" -DCMAKE_POLICY_DEFAULT_CMP0025=NEW -DCMAKE_POLICY_DEFAULT_CMP0060=NEW -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_COLOR_MAKEFILE=ON -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_MAKE_PROGRAM=/usr/bin/make -DCMAKE_MODULE_PATH="/opt/local/share/cmake/Modules" -DCMAKE_PREFIX_PATH="/opt/local/share/cmake/Modules" -DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=ON -DCMAKE_INSTALL_RPATH="/opt/local/lib" -Wno-dev -DBUILD_TESTING=ON -DFORTRAN=ON -DSHARED=ON -DCMAKE_OSX_ARCHITECTURES="ppc" -DCMAKE_OSX_DEPLOYMENT_TARGET="10.6" -DCMAKE_OSX_SYSROOT="/" /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_HiGHS/HiGHS/work/HiGHS-59c11dec6 
-- The CXX compiler identification is GNU 13.2.0
-- The C compiler identification is GNU 13.2.0
-- Checking whether CXX compiler has -isysroot
-- Checking whether CXX compiler has -isysroot - yes
-- Checking whether CXX compiler supports OSX deployment target flag
-- Checking whether CXX compiler supports OSX deployment target flag - yes
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /opt/local/bin/g++-mp-13 - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Checking whether C compiler has -isysroot
-- Checking whether C compiler has -isysroot - yes
-- Checking whether C compiler supports OSX deployment target flag
-- Checking whether C compiler supports OSX deployment target flag - yes
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /opt/local/bin/gcc-mp-13 - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- HIGHS version: 1.6.0
-- Build C++ library: ON
-- Build Python: OFF
-- Build Fortran: ON
-- Build CSharp: OFF
-- Looking for C++ include sys/types.h
-- Looking for C++ include sys/types.h - found
-- Looking for C++ include stdint.h
-- Looking for C++ include stdint.h - found
-- Looking for C++ include stddef.h
-- Looking for C++ include stddef.h - found
-- Check size of long
-- Check size of long - done
-- Found long size: 4
-- Check size of long long
-- Check size of long long - done
-- Found long long size: 8
-- Check size of int64_t
-- Check size of int64_t - done
-- Found int64_t size: 8
-- Check size of unsigned long
-- Check size of unsigned long - done
-- Found unsigned long size: 4
-- Check size of unsigned long long
-- Check size of unsigned long long - done
-- Found unsigned long long size: 8
-- Check size of uint64_t
-- Check size of uint64_t - done
-- Found uint64_t size: 8
-- Check size of int *
-- Check size of int * - done
-- Found int * size: 4
-- Performing Test HIGHS_HAVE_MM_PAUSE
-- Performing Test HIGHS_HAVE_MM_PAUSE - Failed
-- Performing Test HIGHS_HAVE_BUILTIN_CLZ
-- Performing Test HIGHS_HAVE_BUILTIN_CLZ - Success
FLAG_MPOPCNT_SUPPORTED is not available on this architecture
-- Looking for a Fortran compiler
-- Looking for a Fortran compiler - /opt/local/bin/gfortran-mp-13
-- The Fortran compiler identification is GNU 13.2.0
-- Checking whether Fortran compiler has -isysroot
-- Checking whether Fortran compiler has -isysroot - yes
-- Checking whether Fortran compiler supports OSX deployment target flag
-- Checking whether Fortran compiler supports OSX deployment target flag - yes
-- Detecting Fortran compiler ABI info
-- Detecting Fortran compiler ABI info - done
-- Check for working Fortran compiler: /opt/local/bin/gfortran-mp-13 - skipped
-- Performing Test NO_OMIT_FRAME_POINTER_FLAG_SUPPORTED
-- Performing Test NO_OMIT_FRAME_POINTER_FLAG_SUPPORTED - Success
-- Found ZLIB: /opt/local/lib/libz.dylib (found suitable version "1.3.1", minimum required is "1.2.3")  
-- Git hash: n/a
-- Compilation date: 2024-02-04
-- FAST_BUILD set to on.
-- Build type: MacPorts
-- Build examples: ON
-- Build C++: 
-- Build Python: OFF
-- Build CSharp: OFF
-- Build ZLIB: OFF
-- No CSharp support
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE  
-- Performing Test HAVE_CXX_ATOMICS_WITHOUT_LIB
-- Performing Test HAVE_CXX_ATOMICS_WITHOUT_LIB - Success
-- Performing Test HAVE_CXX_ATOMICS64_WITHOUT_LIB
-- Performing Test HAVE_CXX_ATOMICS64_WITHOUT_LIB - Failed
-- Looking for __atomic_load_8 in atomic
-- Looking for __atomic_load_8 in atomic - found
-- Performing Test HAVE_CXX_ATOMICS64_WITH_LIB
-- Performing Test HAVE_CXX_ATOMICS64_WITH_LIB - Success
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY - Success
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY - Success
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Success
-- Configuring test /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_HiGHS/HiGHS/work/HiGHS-59c11dec6/examples/call_highs_from_cpp.cpp: ...
-- Configuring test /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_HiGHS/HiGHS/work/HiGHS-59c11dec6/examples/call_highs_from_cpp.cpp: ...DONE
-- Configuring test /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_HiGHS/HiGHS/work/HiGHS-59c11dec6/examples/call_highs_from_c.c: ...
-- Configuring test /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_HiGHS/HiGHS/work/HiGHS-59c11dec6/examples/call_highs_from_c.c: ...DONE
-- Configuring done (27.7s)
-- Generating done (0.5s)
CMake Warning:
  Manually-specified variables were not used by the project:

    CMAKE_OBJCXX_COMPILER
    CMAKE_OBJC_COMPILER
    CMAKE_POLICY_DEFAULT_CMP0025
    CMAKE_POLICY_DEFAULT_CMP0060
    SHARED

But flag is not passed, and build fails:

[ 95%] Linking CXX shared library ../lib/libhighs.dylib
cd /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_HiGHS/HiGHS/work/build/src && /opt/local/bin/cmake -E cmake_link_script CMakeFiles/highs.dir/link.txt --verbose=ON
/opt/local/bin/g++-mp-13 -pipe -Os -DNDEBUG -I/opt/local/include -D_GLIBCXX_USE_CXX11_ABI=0 -arch ppc -mmacosx-version-min=10.6 -dynamiclib -Wl,-headerpad_max_install_names -L/opt/local/lib -Wl,-headerpad_max_install_names -Wl,-rpath,/opt/local/lib/libgcc -compatibility_version 1.6.0 -current_version 1.6.0 -o ../lib/libhighs.1.6.0.dylib -install_name @rpath/libhighs.1.6.dylib CMakeFiles/highs.dir/__/extern/filereaderlp/reader.cpp.o CMakeFiles/highs.dir/io/Filereader.cpp.o CMakeFiles/highs.dir/io/FilereaderLp.cpp.o CMakeFiles/highs.dir/io/FilereaderEms.cpp.o CMakeFiles/highs.dir/io/FilereaderMps.cpp.o CMakeFiles/highs.dir/io/HighsIO.cpp.o CMakeFiles/highs.dir/io/HMPSIO.cpp.o CMakeFiles/highs.dir/io/HMpsFF.cpp.o CMakeFiles/highs.dir/io/LoadOptions.cpp.o CMakeFiles/highs.dir/lp_data/Highs.cpp.o CMakeFiles/highs.dir/lp_data/HighsCallback.cpp.o CMakeFiles/highs.dir/lp_data/HighsDebug.cpp.o CMakeFiles/highs.dir/lp_data/HighsDeprecated.cpp.o CMakeFiles/highs.dir/lp_data/HighsInfo.cpp.o CMakeFiles/highs.dir/lp_data/HighsInfoDebug.cpp.o CMakeFiles/highs.dir/lp_data/HighsInterface.cpp.o CMakeFiles/highs.dir/lp_data/HighsLp.cpp.o CMakeFiles/highs.dir/lp_data/HighsLpUtils.cpp.o CMakeFiles/highs.dir/lp_data/HighsModelUtils.cpp.o CMakeFiles/highs.dir/lp_data/HighsRanging.cpp.o CMakeFiles/highs.dir/lp_data/HighsSolution.cpp.o CMakeFiles/highs.dir/lp_data/HighsSolutionDebug.cpp.o CMakeFiles/highs.dir/lp_data/HighsSolve.cpp.o CMakeFiles/highs.dir/lp_data/HighsStatus.cpp.o CMakeFiles/highs.dir/lp_data/HighsOptions.cpp.o CMakeFiles/highs.dir/presolve/ICrash.cpp.o CMakeFiles/highs.dir/presolve/ICrashUtil.cpp.o CMakeFiles/highs.dir/presolve/ICrashX.cpp.o CMakeFiles/highs.dir/mip/HighsMipSolver.cpp.o CMakeFiles/highs.dir/mip/HighsMipSolverData.cpp.o CMakeFiles/highs.dir/mip/HighsDomain.cpp.o CMakeFiles/highs.dir/mip/HighsDynamicRowMatrix.cpp.o CMakeFiles/highs.dir/mip/HighsLpRelaxation.cpp.o CMakeFiles/highs.dir/mip/HighsSeparation.cpp.o CMakeFiles/highs.dir/mip/HighsSeparator.cpp.o CMakeFiles/highs.dir/mip/HighsTableauSeparator.cpp.o CMakeFiles/highs.dir/mip/HighsModkSeparator.cpp.o CMakeFiles/highs.dir/mip/HighsPathSeparator.cpp.o CMakeFiles/highs.dir/mip/HighsCutGeneration.cpp.o CMakeFiles/highs.dir/mip/HighsSearch.cpp.o CMakeFiles/highs.dir/mip/HighsConflictPool.cpp.o CMakeFiles/highs.dir/mip/HighsCutPool.cpp.o CMakeFiles/highs.dir/mip/HighsCliqueTable.cpp.o CMakeFiles/highs.dir/mip/HighsGFkSolve.cpp.o CMakeFiles/highs.dir/mip/HighsTransformedLp.cpp.o CMakeFiles/highs.dir/mip/HighsLpAggregator.cpp.o CMakeFiles/highs.dir/mip/HighsDebugSol.cpp.o CMakeFiles/highs.dir/mip/HighsImplications.cpp.o CMakeFiles/highs.dir/mip/HighsPrimalHeuristics.cpp.o CMakeFiles/highs.dir/mip/HighsPseudocost.cpp.o CMakeFiles/highs.dir/mip/HighsNodeQueue.cpp.o CMakeFiles/highs.dir/mip/HighsObjectiveFunction.cpp.o CMakeFiles/highs.dir/mip/HighsRedcostFixing.cpp.o CMakeFiles/highs.dir/model/HighsHessian.cpp.o CMakeFiles/highs.dir/model/HighsHessianUtils.cpp.o CMakeFiles/highs.dir/model/HighsModel.cpp.o CMakeFiles/highs.dir/parallel/HighsTaskExecutor.cpp.o CMakeFiles/highs.dir/presolve/HighsPostsolveStack.cpp.o CMakeFiles/highs.dir/presolve/HighsSymmetry.cpp.o CMakeFiles/highs.dir/presolve/HPresolve.cpp.o CMakeFiles/highs.dir/presolve/HPresolveAnalysis.cpp.o CMakeFiles/highs.dir/presolve/PresolveComponent.cpp.o CMakeFiles/highs.dir/qpsolver/a_asm.cpp.o CMakeFiles/highs.dir/qpsolver/a_quass.cpp.o CMakeFiles/highs.dir/qpsolver/basis.cpp.o CMakeFiles/highs.dir/qpsolver/quass.cpp.o CMakeFiles/highs.dir/qpsolver/ratiotest.cpp.o CMakeFiles/highs.dir/qpsolver/scaling.cpp.o CMakeFiles/highs.dir/qpsolver/perturbation.cpp.o CMakeFiles/highs.dir/simplex/HEkk.cpp.o CMakeFiles/highs.dir/simplex/HEkkControl.cpp.o CMakeFiles/highs.dir/simplex/HEkkDebug.cpp.o CMakeFiles/highs.dir/simplex/HEkkPrimal.cpp.o CMakeFiles/highs.dir/simplex/HEkkDual.cpp.o CMakeFiles/highs.dir/simplex/HEkkDualRHS.cpp.o CMakeFiles/highs.dir/simplex/HEkkDualRow.cpp.o CMakeFiles/highs.dir/simplex/HEkkDualMulti.cpp.o CMakeFiles/highs.dir/simplex/HEkkInterface.cpp.o CMakeFiles/highs.dir/simplex/HighsSimplexAnalysis.cpp.o CMakeFiles/highs.dir/simplex/HSimplex.cpp.o CMakeFiles/highs.dir/simplex/HSimplexDebug.cpp.o CMakeFiles/highs.dir/simplex/HSimplexNla.cpp.o CMakeFiles/highs.dir/simplex/HSimplexNlaDebug.cpp.o CMakeFiles/highs.dir/simplex/HSimplexNlaFreeze.cpp.o CMakeFiles/highs.dir/simplex/HSimplexNlaProductForm.cpp.o CMakeFiles/highs.dir/simplex/HSimplexReport.cpp.o CMakeFiles/highs.dir/test/KktCh2.cpp.o CMakeFiles/highs.dir/test/DevKkt.cpp.o CMakeFiles/highs.dir/util/HFactor.cpp.o CMakeFiles/highs.dir/util/HFactorDebug.cpp.o CMakeFiles/highs.dir/util/HFactorExtend.cpp.o CMakeFiles/highs.dir/util/HFactorRefactor.cpp.o CMakeFiles/highs.dir/util/HFactorUtils.cpp.o CMakeFiles/highs.dir/util/HighsHash.cpp.o CMakeFiles/highs.dir/util/HighsLinearSumBounds.cpp.o CMakeFiles/highs.dir/util/HighsMatrixPic.cpp.o CMakeFiles/highs.dir/util/HighsMatrixUtils.cpp.o CMakeFiles/highs.dir/util/HighsSort.cpp.o CMakeFiles/highs.dir/util/HighsSparseMatrix.cpp.o CMakeFiles/highs.dir/util/HighsUtils.cpp.o CMakeFiles/highs.dir/util/HSet.cpp.o CMakeFiles/highs.dir/util/HVectorBase.cpp.o CMakeFiles/highs.dir/util/stringutil.cpp.o CMakeFiles/highs.dir/interfaces/highs_c_api.cpp.o CMakeFiles/highs.dir/ipm/basiclu/basiclu_factorize.c.o CMakeFiles/highs.dir/ipm/basiclu/basiclu_solve_dense.c.o CMakeFiles/highs.dir/ipm/basiclu/lu_build_factors.c.o CMakeFiles/highs.dir/ipm/basiclu/lu_factorize_bump.c.o CMakeFiles/highs.dir/ipm/basiclu/lu_initialize.c.o CMakeFiles/highs.dir/ipm/basiclu/lu_markowitz.c.o CMakeFiles/highs.dir/ipm/basiclu/lu_setup_bump.c.o CMakeFiles/highs.dir/ipm/basiclu/lu_solve_sparse.c.o CMakeFiles/highs.dir/ipm/basiclu/basiclu_get_factors.c.o CMakeFiles/highs.dir/ipm/basiclu/basiclu_solve_for_update.c.o CMakeFiles/highs.dir/ipm/basiclu/lu_condest.c.o CMakeFiles/highs.dir/ipm/basiclu/lu_file.c.o CMakeFiles/highs.dir/ipm/basiclu/lu_internal.c.o CMakeFiles/highs.dir/ipm/basiclu/lu_matrix_norm.c.o CMakeFiles/highs.dir/ipm/basiclu/lu_singletons.c.o CMakeFiles/highs.dir/ipm/basiclu/lu_solve_symbolic.c.o CMakeFiles/highs.dir/ipm/basiclu/lu_update.c.o CMakeFiles/highs.dir/ipm/basiclu/basiclu_initialize.c.o CMakeFiles/highs.dir/ipm/basiclu/basiclu_solve_sparse.c.o CMakeFiles/highs.dir/ipm/basiclu/lu_pivot.c.o CMakeFiles/highs.dir/ipm/basiclu/lu_solve_dense.c.o CMakeFiles/highs.dir/ipm/basiclu/lu_solve_triangular.c.o CMakeFiles/highs.dir/ipm/basiclu/basiclu_object.c.o CMakeFiles/highs.dir/ipm/basiclu/basiclu_update.c.o CMakeFiles/highs.dir/ipm/basiclu/lu_dfs.c.o CMakeFiles/highs.dir/ipm/basiclu/lu_garbage_perm.c.o CMakeFiles/highs.dir/ipm/basiclu/lu_residual_test.c.o CMakeFiles/highs.dir/ipm/basiclu/lu_solve_for_update.c.o CMakeFiles/highs.dir/ipm/ipx/basiclu_kernel.cc.o CMakeFiles/highs.dir/ipm/ipx/basiclu_wrapper.cc.o CMakeFiles/highs.dir/ipm/ipx/basis.cc.o CMakeFiles/highs.dir/ipm/ipx/conjugate_residuals.cc.o CMakeFiles/highs.dir/ipm/ipx/control.cc.o CMakeFiles/highs.dir/ipm/ipx/crossover.cc.o CMakeFiles/highs.dir/ipm/ipx/diagonal_precond.cc.o CMakeFiles/highs.dir/ipm/ipx/forrest_tomlin.cc.o CMakeFiles/highs.dir/ipm/ipx/guess_basis.cc.o CMakeFiles/highs.dir/ipm/ipx/indexed_vector.cc.o CMakeFiles/highs.dir/ipm/ipx/info.cc.o CMakeFiles/highs.dir/ipm/ipx/ipm.cc.o CMakeFiles/highs.dir/ipm/ipx/ipx_c.cc.o CMakeFiles/highs.dir/ipm/ipx/iterate.cc.o CMakeFiles/highs.dir/ipm/ipx/kkt_solver.cc.o CMakeFiles/highs.dir/ipm/ipx/kkt_solver_basis.cc.o CMakeFiles/highs.dir/ipm/ipx/kkt_solver_diag.cc.o CMakeFiles/highs.dir/ipm/ipx/linear_operator.cc.o CMakeFiles/highs.dir/ipm/ipx/lp_solver.cc.o CMakeFiles/highs.dir/ipm/ipx/lu_factorization.cc.o CMakeFiles/highs.dir/ipm/ipx/lu_update.cc.o CMakeFiles/highs.dir/ipm/ipx/maxvolume.cc.o CMakeFiles/highs.dir/ipm/ipx/model.cc.o CMakeFiles/highs.dir/ipm/ipx/normal_matrix.cc.o CMakeFiles/highs.dir/ipm/ipx/sparse_matrix.cc.o CMakeFiles/highs.dir/ipm/ipx/sparse_utils.cc.o CMakeFiles/highs.dir/ipm/ipx/splitted_normal_matrix.cc.o CMakeFiles/highs.dir/ipm/ipx/starting_basis.cc.o CMakeFiles/highs.dir/ipm/ipx/symbolic_invert.cc.o CMakeFiles/highs.dir/ipm/ipx/timer.cc.o CMakeFiles/highs.dir/ipm/ipx/utils.cc.o CMakeFiles/highs.dir/ipm/IpxWrapper.cpp.o  -Wl,-rpath,/opt/local/lib /opt/local/lib/libz.dylib -lemutls_w 
Undefined symbols:
  "___atomic_fetch_add_8", referenced from:
      __ZN15HighsSplitDeque12shrinkSharedEv in Highs.cpp.o
      __ZN15HighsSplitDeque10WorkerBunk11publishWorkEPS_ in Highs.cpp.o
      __ZN15HighsSplitDeque12shrinkSharedEv in HighsMipSolverData.cpp.o
      __ZN15HighsSplitDeque10WorkerBunk11publishWorkEPS_ in HighsMipSolverData.cpp.o
      __ZN15HighsSplitDeque12shrinkSharedEv in HighsCliqueTable.cpp.o
      __ZN15HighsSplitDeque10WorkerBunk11publishWorkEPS_ in HighsCliqueTable.cpp.o
      __ZN15HighsSplitDeque12shrinkSharedEv in HEkkDual.cpp.o
      __ZN15HighsSplitDeque10WorkerBunk11publishWorkEPS_ in HEkkDual.cpp.o
      __ZN15HighsSplitDeque12shrinkSharedEv in HEkkDualMulti.cpp.o
      __ZN15HighsSplitDeque10WorkerBunk11publishWorkEPS_ in HEkkDualMulti.cpp.o
  "___atomic_compare_exchange_8", referenced from:
      __ZN15HighsSplitDeque10WorkerBunk11pushSleeperEPS_ in Highs.cpp.o
      __ZN15HighsSplitDeque10WorkerBunk10popSleeperEPS_ in Highs.cpp.o
      __ZN15HighsSplitDeque5stealEv in Highs.cpp.o
      __ZN15HighsSplitDeque10WorkerBunk11pushSleeperEPS_ in HighsMipSolverData.cpp.o
      __ZN15HighsSplitDeque10WorkerBunk10popSleeperEPS_ in HighsMipSolverData.cpp.o
      __ZN15HighsSplitDeque5stealEv in HighsMipSolverData.cpp.o
      __ZN15HighsSplitDeque18stealWithRetryLoopEv in HighsMipSolverData.cpp.o
      __ZN15HighsSplitDeque10WorkerBunk11pushSleeperEPS_ in HighsCliqueTable.cpp.o
      __ZN15HighsSplitDeque10WorkerBunk10popSleeperEPS_ in HighsCliqueTable.cpp.o
      __ZN15HighsSplitDeque5stealEv in HighsCliqueTable.cpp.o
      __ZN15HighsSplitDeque18stealWithRetryLoopEv in HighsCliqueTable.cpp.o
      __ZN15HighsSplitDeque10WorkerBunk11pushSleeperEPS_ in HEkkDual.cpp.o
      __ZN15HighsSplitDeque10WorkerBunk10popSleeperEPS_ in HEkkDual.cpp.o
      __ZN15HighsSplitDeque5stealEv in HEkkDual.cpp.o
      __ZN15HighsSplitDeque18stealWithRetryLoopEv in HEkkDual.cpp.o
      __ZN15HighsSplitDeque10WorkerBunk11pushSleeperEPS_ in HEkkDualMulti.cpp.o
      __ZN15HighsSplitDeque10WorkerBunk10popSleeperEPS_ in HEkkDualMulti.cpp.o
      __ZN15HighsSplitDeque5stealEv in HEkkDualMulti.cpp.o
      __ZN15HighsSplitDeque18stealWithRetryLoopEv in HEkkDualMulti.cpp.o
  "___atomic_store_8", referenced from:
      __ZN15HighsSplitDeque12shrinkSharedEv in Highs.cpp.o
      __ZN15HighsSplitDeque10WorkerBunk11publishWorkEPS_ in Highs.cpp.o
      __ZN18HighsMipSolverData22startSymmetryDetectionERKN5highs8parallel9TaskGroupERSt10unique_ptrINS_21SymmetryDetectionDataESt14default_deleteIS6_EE in HighsMipSolverData.cpp.o
      __ZN18HighsMipSolverData30startAnalyticCenterComputationERKN5highs8parallel9TaskGroupE in HighsMipSolverData.cpp.o
      __ZN15HighsSplitDeque12shrinkSharedEv in HighsMipSolverData.cpp.o
      __ZN15HighsSplitDeque10WorkerBunk11publishWorkEPS_ in HighsMipSolverData.cpp.o
      __ZN5highs8parallel8for_eachIRZNK16HighsCliqueTable18queryNeighbourhoodERSt6vectorIiSaIiEERxNS2_9CliqueVarEPS8_iEUliiE_EEviiOT_i in HighsCliqueTable.cpp.o
      __ZNK16HighsCliqueTable18queryNeighbourhoodERSt6vectorIiSaIiEERxNS_9CliqueVarEPS5_i in HighsCliqueTable.cpp.o
      __ZN15HighsSplitDeque12shrinkSharedEv in HighsCliqueTable.cpp.o
      __ZN15HighsSplitDeque10WorkerBunk11publishWorkEPS_ in HighsCliqueTable.cpp.o
      __ZN5highs8parallel8for_eachIRZN8HEkkDual17chooseColumnSliceEP11HVectorBaseIdEEUliiE_EEviiOT_i in HEkkDual.cpp.o
      __ZN8HEkkDual17chooseColumnSliceEP11HVectorBaseIdE in HEkkDual.cpp.o
      __ZN8HEkkDual17chooseColumnSliceEP11HVectorBaseIdE in HEkkDual.cpp.o
      __ZN8HEkkDual12iterateTasksEv in HEkkDual.cpp.o
      __ZN8HEkkDual12iterateTasksEv in HEkkDual.cpp.o
      __ZN15HighsSplitDeque12shrinkSharedEv in HEkkDual.cpp.o
      __ZN15HighsSplitDeque10WorkerBunk11publishWorkEPS_ in HEkkDual.cpp.o
      __ZN5highs8parallel8for_eachIRZN8HEkkDual19majorChooseRowBtranEvEUliiE_EEviiOT_i in HEkkDualMulti.cpp.o
      __ZN5highs8parallel8for_eachIRZN8HEkkDual15minorUpdateRowsEvEUliiE_EEviiOT_i in HEkkDualMulti.cpp.o
      __ZN5highs8parallel8for_eachIRZN8HEkkDual24majorUpdateFtranParallelEvEUliiE_EEviiOT_i in HEkkDualMulti.cpp.o
      __ZN5highs8parallel8for_eachIRZN8HEkkDual21majorUpdateFtranFinalEvEUliiE_EEviiOT_i in HEkkDualMulti.cpp.o
      __ZN5highs8parallel8for_eachIRZN8HEkkDual21majorUpdateFtranFinalEvEUliiE0_EEviiOT_i in HEkkDualMulti.cpp.o
      __ZN5highs8parallel8for_eachIRZN8HEkkDual17majorUpdatePrimalEvEUliiE_EEviiOT_i in HEkkDualMulti.cpp.o
      __ZN5highs8parallel8for_eachIRZN8HEkkDual17majorUpdatePrimalEvEUliiE0_EEviiOT_i in HEkkDualMulti.cpp.o
      __ZN8HEkkDual19majorChooseRowBtranEv in HEkkDualMulti.cpp.o
      __ZN8HEkkDual15minorUpdateRowsEv in HEkkDualMulti.cpp.o
      __ZN8HEkkDual24majorUpdateFtranParallelEv in HEkkDualMulti.cpp.o
      __ZN8HEkkDual21majorUpdateFtranFinalEv in HEkkDualMulti.cpp.o
      __ZN8HEkkDual21majorUpdateFtranFinalEv in HEkkDualMulti.cpp.o
      __ZN8HEkkDual17majorUpdatePrimalEv in HEkkDualMulti.cpp.o
      __ZN8HEkkDual17majorUpdatePrimalEv in HEkkDualMulti.cpp.o
      __ZN15HighsSplitDeque12shrinkSharedEv in HEkkDualMulti.cpp.o
      __ZN15HighsSplitDeque10WorkerBunk11publishWorkEPS_ in HEkkDualMulti.cpp.o
  "___atomic_load_8", referenced from:
      __ZN15HighsSplitDeque10WorkerBunk11pushSleeperEPS_ in Highs.cpp.o
      __ZN15HighsSplitDeque10WorkerBunk10popSleeperEPS_ in Highs.cpp.o
      __ZN15HighsSplitDeque12shrinkSharedEv in Highs.cpp.o
      __ZN15HighsSplitDeque5stealEv in Highs.cpp.o
      __ZN15HighsSplitDeque10WorkerBunk11pushSleeperEPS_ in HighsMipSolverData.cpp.o
      __ZN15HighsSplitDeque10WorkerBunk10popSleeperEPS_ in HighsMipSolverData.cpp.o
      __ZN15HighsSplitDeque12shrinkSharedEv in HighsMipSolverData.cpp.o
      __ZN15HighsSplitDeque5stealEv in HighsMipSolverData.cpp.o
      __ZN15HighsSplitDeque18stealWithRetryLoopEv in HighsMipSolverData.cpp.o
      __ZN15HighsSplitDeque10WorkerBunk11pushSleeperEPS_ in HighsCliqueTable.cpp.o
      __ZN15HighsSplitDeque10WorkerBunk10popSleeperEPS_ in HighsCliqueTable.cpp.o
      __ZN15HighsSplitDeque12shrinkSharedEv in HighsCliqueTable.cpp.o
      __ZN15HighsSplitDeque5stealEv in HighsCliqueTable.cpp.o
      __ZN15HighsSplitDeque18stealWithRetryLoopEv in HighsCliqueTable.cpp.o
      __ZN15HighsSplitDeque10WorkerBunk11pushSleeperEPS_ in HEkkDual.cpp.o
      __ZN15HighsSplitDeque10WorkerBunk10popSleeperEPS_ in HEkkDual.cpp.o
      __ZN15HighsSplitDeque12shrinkSharedEv in HEkkDual.cpp.o
      __ZN15HighsSplitDeque5stealEv in HEkkDual.cpp.o
      __ZN15HighsSplitDeque18stealWithRetryLoopEv in HEkkDual.cpp.o
      __ZN15HighsSplitDeque10WorkerBunk11pushSleeperEPS_ in HEkkDualMulti.cpp.o
      __ZN15HighsSplitDeque10WorkerBunk10popSleeperEPS_ in HEkkDualMulti.cpp.o
      __ZN15HighsSplitDeque12shrinkSharedEv in HEkkDualMulti.cpp.o
      __ZN15HighsSplitDeque5stealEv in HEkkDualMulti.cpp.o
      __ZN15HighsSplitDeque18stealWithRetryLoopEv in HEkkDualMulti.cpp.o
  "___atomic_fetch_xor_8", referenced from:
      __ZN15HighsSplitDeque13runStolenTaskEP9HighsTask in Highs.cpp.o
      __ZN15HighsSplitDeque10growSharedEv in HighsMipSolverData.cpp.o
      __ZN15HighsSplitDeque10growSharedEv in HighsCliqueTable.cpp.o
      __ZN15HighsSplitDeque10growSharedEv in HEkkDual.cpp.o
      __ZN15HighsSplitDeque10growSharedEv in HEkkDualMulti.cpp.o
ld: symbol(s) not found
collect2: error: ld returned 1 exit status
make[2]: *** [lib/libhighs.1.6.0.dylib] Error 1
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_HiGHS/HiGHS/work/build'
make[1]: *** [src/CMakeFiles/highs.dir/all] Error 2
make[1]: Leaving directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_HiGHS/HiGHS/work/build'
make: *** [all] Error 2

@barracuda156
Copy link
Contributor

Relevant part of configure log:

    kind: "try_compile-v1"
    backtrace:
      - "/opt/local/share/cmake-3.28/Modules/Internal/CheckSourceCompiles.cmake:101 (try_compile)"
      - "/opt/local/share/cmake-3.28/Modules/CheckCXXSourceCompiles.cmake:52 (cmake_check_source_compiles)"
      - "cmake/CheckAtomic.cmake:8 (CHECK_CXX_SOURCE_COMPILES)"
      - "cmake/CheckAtomic.cmake:42 (check_working_cxx_atomics)"
      - "src/CMakeLists.txt:815 (include)"
    checks:
      - "Performing Test HAVE_CXX_ATOMICS_WITHOUT_LIB"
    directories:
      source: "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_HiGHS/HiGHS/work/build/CMakeFiles/CMakeScratch/TryCompile-QHD5pr"
      binary: "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_HiGHS/HiGHS/work/build/CMakeFiles/CMakeScratch/TryCompile-QHD5pr"
    cmakeVariables:
      CMAKE_CXX_FLAGS: "-pipe -Os -DNDEBUG -I/opt/local/include -D_GLIBCXX_USE_CXX11_ABI=0"
      CMAKE_CXX_FLAGS_DEBUG: "-g -fno-omit-frame-pointer"
      CMAKE_EXE_LINKER_FLAGS: "-L/opt/local/lib -Wl,-headerpad_max_install_names -Wl,-rpath,/opt/local/lib/libgcc"
      CMAKE_MODULE_PATH: "/opt/local/share/cmake/Modules;/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_HiGHS/HiGHS/work/HiGHS-59c11dec6/cmake"
      CMAKE_OSX_ARCHITECTURES: "ppc"
      CMAKE_OSX_DEPLOYMENT_TARGET: "10.6"
      CMAKE_OSX_SYSROOT: "/"
      CMAKE_WARN_DEPRECATED: "FALSE"
    buildResult:
      variable: "HAVE_CXX_ATOMICS_WITHOUT_LIB"
      cached: true
      stdout: |
        Change Dir: '/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_HiGHS/HiGHS/work/build/CMakeFiles/CMakeScratch/TryCompile-QHD5pr'
        
        Run Build Command(s): /opt/local/bin/cmake -E env VERBOSE=1 /usr/bin/make -f Makefile cmTC_1274d/fast
        /usr/bin/make  -f CMakeFiles/cmTC_1274d.dir/build.make CMakeFiles/cmTC_1274d.dir/build
        Building CXX object CMakeFiles/cmTC_1274d.dir/src.cxx.o
        /opt/local/bin/g++-mp-13 -DHAVE_CXX_ATOMICS_WITHOUT_LIB  -pipe -Os -DNDEBUG -I/opt/local/include -D_GLIBCXX_USE_CXX11_ABI=0  -std=c++11 -std=c++11 -arch ppc -mmacosx-version-min=10.6 -o CMakeFiles/cmTC_1274d.dir/src.cxx.o -c /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_HiGHS/HiGHS/work/build/CMakeFiles/CMakeScratch/TryCompile-QHD5pr/src.cxx
        Linking CXX executable cmTC_1274d
        /opt/local/bin/cmake -E cmake_link_script CMakeFiles/cmTC_1274d.dir/link.txt --verbose=1
        /opt/local/bin/g++-mp-13 -pipe -Os -DNDEBUG -I/opt/local/include -D_GLIBCXX_USE_CXX11_ABI=0  -std=c++11 -arch ppc -mmacosx-version-min=10.6 -Wl,-search_paths_first -Wl,-headerpad_max_install_names -L/opt/local/lib -Wl,-headerpad_max_install_names -Wl,-rpath,/opt/local/lib/libgcc  CMakeFiles/cmTC_1274d.dir/src.cxx.o -o cmTC_1274d 
        
      exitCode: 0
  -
    kind: "try_compile-v1"
    backtrace:
      - "/opt/local/share/cmake-3.28/Modules/Internal/CheckSourceCompiles.cmake:101 (try_compile)"
      - "/opt/local/share/cmake-3.28/Modules/CheckCXXSourceCompiles.cmake:52 (cmake_check_source_compiles)"
      - "cmake/CheckAtomic.cmake:25 (CHECK_CXX_SOURCE_COMPILES)"
      - "cmake/CheckAtomic.cmake:61 (check_working_cxx_atomics64)"
      - "src/CMakeLists.txt:815 (include)"
    checks:
      - "Performing Test HAVE_CXX_ATOMICS64_WITHOUT_LIB"
    directories:
      source: "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_HiGHS/HiGHS/work/build/CMakeFiles/CMakeScratch/TryCompile-BMjIRX"
      binary: "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_HiGHS/HiGHS/work/build/CMakeFiles/CMakeScratch/TryCompile-BMjIRX"
    cmakeVariables:
      CMAKE_CXX_FLAGS: "-pipe -Os -DNDEBUG -I/opt/local/include -D_GLIBCXX_USE_CXX11_ABI=0"
      CMAKE_CXX_FLAGS_DEBUG: "-g -fno-omit-frame-pointer"
      CMAKE_EXE_LINKER_FLAGS: "-L/opt/local/lib -Wl,-headerpad_max_install_names -Wl,-rpath,/opt/local/lib/libgcc"
      CMAKE_MODULE_PATH: "/opt/local/share/cmake/Modules;/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_HiGHS/HiGHS/work/HiGHS-59c11dec6/cmake"
      CMAKE_OSX_ARCHITECTURES: "ppc"
      CMAKE_OSX_DEPLOYMENT_TARGET: "10.6"
      CMAKE_OSX_SYSROOT: "/"
      CMAKE_WARN_DEPRECATED: "FALSE"
    buildResult:
      variable: "HAVE_CXX_ATOMICS64_WITHOUT_LIB"
      cached: true
      stdout: |
        Change Dir: '/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_HiGHS/HiGHS/work/build/CMakeFiles/CMakeScratch/TryCompile-BMjIRX'
        
        Run Build Command(s): /opt/local/bin/cmake -E env VERBOSE=1 /usr/bin/make -f Makefile cmTC_a2961/fast
        /usr/bin/make  -f CMakeFiles/cmTC_a2961.dir/build.make CMakeFiles/cmTC_a2961.dir/build
        Building CXX object CMakeFiles/cmTC_a2961.dir/src.cxx.o
        /opt/local/bin/g++-mp-13 -DHAVE_CXX_ATOMICS64_WITHOUT_LIB  -pipe -Os -DNDEBUG -I/opt/local/include -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++11 -std=c++11 -arch ppc -mmacosx-version-min=10.6 -o CMakeFiles/cmTC_a2961.dir/src.cxx.o -c /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_HiGHS/HiGHS/work/build/CMakeFiles/CMakeScratch/TryCompile-BMjIRX/src.cxx
        Linking CXX executable cmTC_a2961
        /opt/local/bin/cmake -E cmake_link_script CMakeFiles/cmTC_a2961.dir/link.txt --verbose=1
        /opt/local/bin/g++-mp-13 -pipe -Os -DNDEBUG -I/opt/local/include -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++11 -arch ppc -mmacosx-version-min=10.6 -Wl,-search_paths_first -Wl,-headerpad_max_install_names -L/opt/local/lib -Wl,-headerpad_max_install_names -Wl,-rpath,/opt/local/lib/libgcc  CMakeFiles/cmTC_a2961.dir/src.cxx.o -o cmTC_a2961 
        Undefined symbols:
          "___atomic_load_8", referenced from:
              _main in src.cxx.o
        ld: symbol(s) not found
        collect2: error: ld returned 1 exit status
        make[1]: *** [cmTC_a2961] Error 1
        make: *** [cmTC_a2961/fast] Error 2
        
      exitCode: 2
  -
    kind: "try_compile-v1"
    backtrace:
      - "/opt/local/share/cmake-3.28/Modules/CheckLibraryExists.cmake:69 (try_compile)"
      - "cmake/CheckAtomic.cmake:63 (check_library_exists)"
      - "src/CMakeLists.txt:815 (include)"
    checks:
      - "Looking for __atomic_load_8 in atomic"
    directories:
      source: "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_HiGHS/HiGHS/work/build/CMakeFiles/CMakeScratch/TryCompile-jdw1Kv"
      binary: "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_HiGHS/HiGHS/work/build/CMakeFiles/CMakeScratch/TryCompile-jdw1Kv"
    cmakeVariables:
      CMAKE_C_FLAGS: "-pipe -Os -DNDEBUG -I/opt/local/include"
      CMAKE_C_FLAGS_DEBUG: "-g -fno-omit-frame-pointer"
      CMAKE_EXE_LINKER_FLAGS: "-L/opt/local/lib -Wl,-headerpad_max_install_names -Wl,-rpath,/opt/local/lib/libgcc"
      CMAKE_MODULE_PATH: "/opt/local/share/cmake/Modules;/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_HiGHS/HiGHS/work/HiGHS-59c11dec6/cmake"
      CMAKE_OSX_ARCHITECTURES: "ppc"
      CMAKE_OSX_DEPLOYMENT_TARGET: "10.6"
      CMAKE_OSX_SYSROOT: "/"
      CMAKE_WARN_DEPRECATED: "FALSE"
    buildResult:
      variable: "HAVE_CXX_LIBATOMICS64"
      cached: true
      stdout: |
        Change Dir: '/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_HiGHS/HiGHS/work/build/CMakeFiles/CMakeScratch/TryCompile-jdw1Kv'
        
        Run Build Command(s): /opt/local/bin/cmake -E env VERBOSE=1 /usr/bin/make -f Makefile cmTC_889ca/fast
        /usr/bin/make  -f CMakeFiles/cmTC_889ca.dir/build.make CMakeFiles/cmTC_889ca.dir/build
        Building C object CMakeFiles/cmTC_889ca.dir/CheckFunctionExists.c.o
        /opt/local/bin/gcc-mp-13   -pipe -Os -DNDEBUG -I/opt/local/include -DCHECK_FUNCTION_EXISTS=__atomic_load_8 -arch ppc -mmacosx-version-min=10.6 -o CMakeFiles/cmTC_889ca.dir/CheckFunctionExists.c.o -c /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_HiGHS/HiGHS/work/build/CMakeFiles/CMakeScratch/TryCompile-jdw1Kv/CheckFunctionExists.c
        <command-line>: warning: conflicting types for built-in function '__atomic_load_8'; expected 'long long unsigned int(const volatile void *, int)' [-Wbuiltin-declaration-mismatch]
        /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_HiGHS/HiGHS/work/build/CMakeFiles/CMakeScratch/TryCompile-jdw1Kv/CheckFunctionExists.c:7:3: note: in expansion of macro 'CHECK_FUNCTION_EXISTS'
            7 |   CHECK_FUNCTION_EXISTS(void);
              |   ^~~~~~~~~~~~~~~~~~~~~
        Linking C executable cmTC_889ca
        /opt/local/bin/cmake -E cmake_link_script CMakeFiles/cmTC_889ca.dir/link.txt --verbose=1
        /opt/local/bin/gcc-mp-13 -pipe -Os -DNDEBUG -I/opt/local/include -DCHECK_FUNCTION_EXISTS=__atomic_load_8 -arch ppc -mmacosx-version-min=10.6 -Wl,-search_paths_first -Wl,-headerpad_max_install_names -L/opt/local/lib -Wl,-headerpad_max_install_names -Wl,-rpath,/opt/local/lib/libgcc  CMakeFiles/cmTC_889ca.dir/CheckFunctionExists.c.o -o cmTC_889ca  -latomic 
        
      exitCode: 0
  -
    kind: "try_compile-v1"
    backtrace:
      - "/opt/local/share/cmake-3.28/Modules/Internal/CheckSourceCompiles.cmake:101 (try_compile)"
      - "/opt/local/share/cmake-3.28/Modules/CheckCXXSourceCompiles.cmake:52 (cmake_check_source_compiles)"
      - "cmake/CheckAtomic.cmake:25 (CHECK_CXX_SOURCE_COMPILES)"
      - "cmake/CheckAtomic.cmake:66 (check_working_cxx_atomics64)"
      - "src/CMakeLists.txt:815 (include)"
    checks:
      - "Performing Test HAVE_CXX_ATOMICS64_WITH_LIB"
    directories:
      source: "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_HiGHS/HiGHS/work/build/CMakeFiles/CMakeScratch/TryCompile-04UsGi"
      binary: "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_HiGHS/HiGHS/work/build/CMakeFiles/CMakeScratch/TryCompile-04UsGi"
    cmakeVariables:
      CMAKE_CXX_FLAGS: "-pipe -Os -DNDEBUG -I/opt/local/include -D_GLIBCXX_USE_CXX11_ABI=0"
      CMAKE_CXX_FLAGS_DEBUG: "-g -fno-omit-frame-pointer"
      CMAKE_EXE_LINKER_FLAGS: "-L/opt/local/lib -Wl,-headerpad_max_install_names -Wl,-rpath,/opt/local/lib/libgcc"
      CMAKE_MODULE_PATH: "/opt/local/share/cmake/Modules;/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_HiGHS/HiGHS/work/HiGHS-59c11dec6/cmake"
      CMAKE_OSX_ARCHITECTURES: "ppc"
      CMAKE_OSX_DEPLOYMENT_TARGET: "10.6"
      CMAKE_OSX_SYSROOT: "/"
      CMAKE_WARN_DEPRECATED: "FALSE"
    buildResult:
      variable: "HAVE_CXX_ATOMICS64_WITH_LIB"
      cached: true
      stdout: |
        Change Dir: '/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_HiGHS/HiGHS/work/build/CMakeFiles/CMakeScratch/TryCompile-04UsGi'
        
        Run Build Command(s): /opt/local/bin/cmake -E env VERBOSE=1 /usr/bin/make -f Makefile cmTC_b5f0d/fast
        /usr/bin/make  -f CMakeFiles/cmTC_b5f0d.dir/build.make CMakeFiles/cmTC_b5f0d.dir/build
        Building CXX object CMakeFiles/cmTC_b5f0d.dir/src.cxx.o
        /opt/local/bin/g++-mp-13 -DHAVE_CXX_ATOMICS64_WITH_LIB  -pipe -Os -DNDEBUG -I/opt/local/include -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++11 -std=c++11 -arch ppc -mmacosx-version-min=10.6 -o CMakeFiles/cmTC_b5f0d.dir/src.cxx.o -c /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_HiGHS/HiGHS/work/build/CMakeFiles/CMakeScratch/TryCompile-04UsGi/src.cxx
        Linking CXX executable cmTC_b5f0d
        /opt/local/bin/cmake -E cmake_link_script CMakeFiles/cmTC_b5f0d.dir/link.txt --verbose=1
        /opt/local/bin/g++-mp-13 -pipe -Os -DNDEBUG -I/opt/local/include -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++11 -arch ppc -mmacosx-version-min=10.6 -Wl,-search_paths_first -Wl,-headerpad_max_install_names -L/opt/local/lib -Wl,-headerpad_max_install_names -Wl,-rpath,/opt/local/lib/libgcc  CMakeFiles/cmTC_b5f0d.dir/src.cxx.o -o cmTC_b5f0d  -latomic 
        
      exitCode: 0
  -
    kind: "try_compile-v1"
    backtrace:
      - "/opt/local/share/cmake-3.28/Modules/Internal/CheckSourceCompiles.cmake:101 (try_compile)"
      - "/opt/local/share/cmake-3.28/Modules/Internal/CheckCompilerFlag.cmake:18 (cmake_check_source_compiles)"
      - "/opt/local/share/cmake-3.28/Modules/CheckCompilerFlag.cmake:52 (cmake_check_compiler_flag)"
      - "/opt/local/share/cmake-3.28/Modules/GenerateExportHeader.cmake:238 (check_compiler_flag)"
      - "/opt/local/share/cmake-3.28/Modules/GenerateExportHeader.cmake:419 (_test_compiler_hidden_visibility)"
      - "cmake/cpp-highs.cmake:30 (GENERATE_EXPORT_HEADER)"
      - "CMakeLists.txt:566 (include)"
    checks:
      - "Performing Test COMPILER_HAS_HIDDEN_VISIBILITY"
    directories:
      source: "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_HiGHS/HiGHS/work/build/CMakeFiles/CMakeScratch/TryCompile-n7HcFy"
      binary: "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_HiGHS/HiGHS/work/build/CMakeFiles/CMakeScratch/TryCompile-n7HcFy"
    cmakeVariables:
      CMAKE_CXX_FLAGS: "-pipe -Os -DNDEBUG -I/opt/local/include -D_GLIBCXX_USE_CXX11_ABI=0"
      CMAKE_CXX_FLAGS_DEBUG: "-g -fno-omit-frame-pointer"
      CMAKE_EXE_LINKER_FLAGS: "-L/opt/local/lib -Wl,-headerpad_max_install_names -Wl,-rpath,/opt/local/lib/libgcc"
      CMAKE_MODULE_PATH: "/opt/local/share/cmake/Modules;/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_HiGHS/HiGHS/work/HiGHS-59c11dec6/cmake"
      CMAKE_OSX_ARCHITECTURES: "ppc"
      CMAKE_OSX_DEPLOYMENT_TARGET: "10.6"
      CMAKE_OSX_SYSROOT: "/"
      CMAKE_WARN_DEPRECATED: "FALSE"
    buildResult:
      variable: "COMPILER_HAS_HIDDEN_VISIBILITY"
      cached: true
      stdout: |
        Change Dir: '/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_HiGHS/HiGHS/work/build/CMakeFiles/CMakeScratch/TryCompile-n7HcFy'
        
        Run Build Command(s): /opt/local/bin/cmake -E env VERBOSE=1 /usr/bin/make -f Makefile cmTC_88047/fast
        /usr/bin/make  -f CMakeFiles/cmTC_88047.dir/build.make CMakeFiles/cmTC_88047.dir/build
        Building CXX object CMakeFiles/cmTC_88047.dir/src.cxx.o
        /opt/local/bin/g++-mp-13 -DCOMPILER_HAS_HIDDEN_VISIBILITY  -pipe -Os -DNDEBUG -I/opt/local/include -D_GLIBCXX_USE_CXX11_ABI=0  -std=c++11 -arch ppc -mmacosx-version-min=10.6   -fvisibility=hidden -o CMakeFiles/cmTC_88047.dir/src.cxx.o -c /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_HiGHS/HiGHS/work/build/CMakeFiles/CMakeScratch/TryCompile-n7HcFy/src.cxx
        Linking CXX executable cmTC_88047
        /opt/local/bin/cmake -E cmake_link_script CMakeFiles/cmTC_88047.dir/link.txt --verbose=1
        /opt/local/bin/g++-mp-13 -pipe -Os -DNDEBUG -I/opt/local/include -D_GLIBCXX_USE_CXX11_ABI=0  -arch ppc -mmacosx-version-min=10.6 -Wl,-search_paths_first -Wl,-headerpad_max_install_names -L/opt/local/lib -Wl,-headerpad_max_install_names -Wl,-rpath,/opt/local/lib/libgcc  CMakeFiles/cmTC_88047.dir/src.cxx.o -o cmTC_88047 
        
      exitCode: 0

@HaoZeke
Copy link
Contributor Author

HaoZeke commented Feb 4, 2024

@barracuda156 could you try applying this patch?

diff --git i/src/CMakeLists.txt w/src/CMakeLists.txt
index e197c117b..3a898b16c 100644
--- i/src/CMakeLists.txt
+++ w/src/CMakeLists.txt
@@ -817,6 +817,13 @@ find_package(Threads)
 
 if(Threads_FOUND)
   include(CheckAtomic)
+if(HAVE_CXX_ATOMICS64_WITH_LIB)
+  if(FAST_BUILD)
+    target_link_libraries(highs PUBLIC atomic)
+  else()
+    target_link_libraries(libhighs PUBLIC atomic)
+  endif()
+endif()
 endif()

Using git apply atomic.diff (assuming the diff is saved to atomic.diff).

@barracuda156
Copy link
Contributor

@HaoZeke @jajhall And CMakeCache has:

//Test HAVE_CXX_ATOMICS64_WITHOUT_LIB
HAVE_CXX_ATOMICS64_WITHOUT_LIB:INTERNAL=
//Test HAVE_CXX_ATOMICS64_WITH_LIB
HAVE_CXX_ATOMICS64_WITH_LIB:INTERNAL=1
//Test HAVE_CXX_ATOMICS_WITHOUT_LIB
HAVE_CXX_ATOMICS_WITHOUT_LIB:INTERNAL=1
//Have library atomic
HAVE_CXX_LIBATOMICS64:INTERNAL=1

So I guess something goes wrong with the logic of when the flag is added and when not. Configure check results look correct, but flag is not added.

@barracuda156
Copy link
Contributor

@HaoZeke CMake refuses to accept this patch:

-- Performing Test HAVE_CXX_ATOMICS_WITHOUT_LIB
-- Performing Test HAVE_CXX_ATOMICS_WITHOUT_LIB - Success
-- Performing Test HAVE_CXX_ATOMICS64_WITHOUT_LIB
-- Performing Test HAVE_CXX_ATOMICS64_WITHOUT_LIB - Failed
-- Looking for __atomic_load_8 in atomic
-- Looking for __atomic_load_8 in atomic - found
-- Performing Test HAVE_CXX_ATOMICS64_WITH_LIB
-- Performing Test HAVE_CXX_ATOMICS64_WITH_LIB - Success
CMake Error at src/CMakeLists.txt:818 (target_link_libraries):
  The plain signature for target_link_libraries has already been used with
  the target "highs".  All uses of target_link_libraries with a target must
  be either all-keyword or all-plain.

  The uses of the plain signature are here:

   * src/CMakeLists.txt:575 (target_link_libraries)



CMake Error at src/CMakeLists.txt:826 (target_link_libraries):
  The keyword signature for target_link_libraries has already been used with
  the target "highs".  All uses of target_link_libraries with a target must
  be either all-keyword or all-plain.

  The uses of the keyword signature are here:

   * src/CMakeLists.txt:818 (target_link_libraries)

@HaoZeke
Copy link
Contributor Author

HaoZeke commented Feb 4, 2024

@HaoZeke CMake refuses to accept this patch:

-- Performing Test HAVE_CXX_ATOMICS_WITHOUT_LIB
-- Performing Test HAVE_CXX_ATOMICS_WITHOUT_LIB - Success
-- Performing Test HAVE_CXX_ATOMICS64_WITHOUT_LIB
-- Performing Test HAVE_CXX_ATOMICS64_WITHOUT_LIB - Failed
-- Looking for __atomic_load_8 in atomic
-- Looking for __atomic_load_8 in atomic - found
-- Performing Test HAVE_CXX_ATOMICS64_WITH_LIB
-- Performing Test HAVE_CXX_ATOMICS64_WITH_LIB - Success
CMake Error at src/CMakeLists.txt:818 (target_link_libraries):
  The plain signature for target_link_libraries has already been used with
  the target "highs".  All uses of target_link_libraries with a target must
  be either all-keyword or all-plain.

  The uses of the plain signature are here:

   * src/CMakeLists.txt:575 (target_link_libraries)



CMake Error at src/CMakeLists.txt:826 (target_link_libraries):
  The keyword signature for target_link_libraries has already been used with
  the target "highs".  All uses of target_link_libraries with a target must
  be either all-keyword or all-plain.

  The uses of the keyword signature are here:

   * src/CMakeLists.txt:818 (target_link_libraries)

Oh damn, it should be:

if(Threads_FOUND)
  include(CheckAtomic)
if(HAVE_CXX_ATOMICS64_WITH_LIB)
  if(FAST_BUILD)
    target_link_libraries(highs atomic)
  else()
    target_link_libraries(libhighs atomic)
  endif()
endif()
endif()

(removing the PUBLIC keyword since it wasn't used for ZLIB)

@barracuda156
Copy link
Contributor

Yes, now it works:

[ 96%] Building Fortran object src/CMakeFiles/FortranHighs.dir/interfaces/highs_fortran_api.f90.o
cd /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_HiGHS/HiGHS/work/build/src && /opt/local/bin/gfortran-mp-13 -DFortranHighs_EXPORTS -DLIBHIGHS_STATIC_DEFINE -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_HiGHS/HiGHS/work/HiGHS-59c11dec6/src -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_HiGHS/HiGHS/work/build -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_HiGHS/HiGHS/work/HiGHS-59c11dec6 -I/opt/local/include -pipe -Os -m32 -mmacosx-version-min=10.6 -J../modules -fPIC -c /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_HiGHS/HiGHS/work/HiGHS-59c11dec6/src/interfaces/highs_fortran_api.f90 -o CMakeFiles/FortranHighs.dir/interfaces/highs_fortran_api.f90.o
/opt/local/bin/cmake -E cmake_copy_f90_mod modules/highs_fortran_api.mod src/CMakeFiles/FortranHighs.dir/highs_fortran_api.mod.stamp GNU
/opt/local/bin/cmake -E touch src/CMakeFiles/FortranHighs.dir/interfaces/highs_fortran_api.f90.o.provides.build
[ 97%] Linking Fortran shared library ../lib/libFortranHighs.dylib
cd /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_HiGHS/HiGHS/work/build/src && /opt/local/bin/cmake -E cmake_link_script CMakeFiles/FortranHighs.dir/link.txt --verbose=ON
[ 98%] Linking C executable ../bin/call_highs_from_c
cd /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_HiGHS/HiGHS/work/build/examples && /opt/local/bin/cmake -E cmake_link_script CMakeFiles/call_highs_from_c.dir/link.txt --verbose=ON
/opt/local/bin/gfortran-mp-13 -pipe -Os -m32 -mmacosx-version-min=10.6 -dynamiclib -Wl,-headerpad_max_install_names -L/opt/local/lib -Wl,-headerpad_max_install_names -Wl,-rpath,/opt/local/lib/libgcc -o ../lib/libFortranHighs.dylib -install_name @rpath/libFortranHighs.dylib CMakeFiles/FortranHighs.dir/interfaces/highs_fortran_api.f90.o  -Wl,-rpath,/opt/local/lib ../lib/libhighs.1.6.0.dylib /opt/local/lib/libz.dylib -latomic 
/opt/local/bin/gcc-mp-13 -pipe -Os -DNDEBUG -I/opt/local/include -arch ppc -mmacosx-version-min=10.6 -Wl,-search_paths_first -Wl,-headerpad_max_install_names -L/opt/local/lib -Wl,-headerpad_max_install_names -Wl,-rpath,/opt/local/lib/libgcc CMakeFiles/call_highs_from_c.dir/call_highs_from_c.c.o -o ../bin/call_highs_from_c  -Wl,-rpath,/opt/local/lib ../lib/libhighs.1.6.0.dylib /opt/local/lib/libz.dylib -latomic 
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_HiGHS/HiGHS/work/build'
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_HiGHS/HiGHS/work/build'
[ 98%] Built target FortranHighs
[ 98%] Built target call_highs_from_c
[ 99%] Linking CXX executable ../bin/call_highs_from_cpp
cd /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_HiGHS/HiGHS/work/build/examples && /opt/local/bin/cmake -E cmake_link_script CMakeFiles/call_highs_from_cpp.dir/link.txt --verbose=ON
/opt/local/bin/g++-mp-13 -pipe -Os -DNDEBUG -I/opt/local/include -D_GLIBCXX_USE_CXX11_ABI=0 -arch ppc -mmacosx-version-min=10.6 -Wl,-search_paths_first -Wl,-headerpad_max_install_names -L/opt/local/lib -Wl,-headerpad_max_install_names -Wl,-rpath,/opt/local/lib/libgcc CMakeFiles/call_highs_from_cpp.dir/call_highs_from_cpp.cpp.o -o ../bin/call_highs_from_cpp  -Wl,-rpath,@loader_path/../lib -Wl,-rpath,@loader_path ../lib/libhighs.1.6.0.dylib /opt/local/lib/libz.dylib -latomic 
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_HiGHS/HiGHS/work/build'
[ 99%] Built target call_highs_from_cpp
[100%] Linking CXX executable ../bin/highs
cd /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_HiGHS/HiGHS/work/build/app && /opt/local/bin/cmake -E cmake_link_script CMakeFiles/highs-bin.dir/link.txt --verbose=ON
/opt/local/bin/g++-mp-13 -pipe -Os -DNDEBUG -I/opt/local/include -D_GLIBCXX_USE_CXX11_ABI=0 -arch ppc -mmacosx-version-min=10.6 -Wl,-search_paths_first -Wl,-headerpad_max_install_names -L/opt/local/lib -Wl,-headerpad_max_install_names -Wl,-rpath,/opt/local/lib/libgcc "CMakeFiles/highs-bin.dir/RunHighs.cpp.o" -o ../bin/highs  -Wl,-rpath,/opt/local/lib ../lib/libhighs.1.6.0.dylib /opt/local/lib/libz.dylib -latomic 
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_HiGHS/HiGHS/work/build'
[100%] Built target highs-bin

@HaoZeke
Copy link
Contributor Author

HaoZeke commented Feb 4, 2024

Yes, now it works:

[ 96%] Building Fortran object src/CMakeFiles/FortranHighs.dir/interfaces/highs_fortran_api.f90.o
cd /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_HiGHS/HiGHS/work/build/src && /opt/local/bin/gfortran-mp-13 -DFortranHighs_EXPORTS -DLIBHIGHS_STATIC_DEFINE -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_HiGHS/HiGHS/work/HiGHS-59c11dec6/src -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_HiGHS/HiGHS/work/build -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_HiGHS/HiGHS/work/HiGHS-59c11dec6 -I/opt/local/include -pipe -Os -m32 -mmacosx-version-min=10.6 -J../modules -fPIC -c /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_HiGHS/HiGHS/work/HiGHS-59c11dec6/src/interfaces/highs_fortran_api.f90 -o CMakeFiles/FortranHighs.dir/interfaces/highs_fortran_api.f90.o
/opt/local/bin/cmake -E cmake_copy_f90_mod modules/highs_fortran_api.mod src/CMakeFiles/FortranHighs.dir/highs_fortran_api.mod.stamp GNU
/opt/local/bin/cmake -E touch src/CMakeFiles/FortranHighs.dir/interfaces/highs_fortran_api.f90.o.provides.build
[ 97%] Linking Fortran shared library ../lib/libFortranHighs.dylib
cd /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_HiGHS/HiGHS/work/build/src && /opt/local/bin/cmake -E cmake_link_script CMakeFiles/FortranHighs.dir/link.txt --verbose=ON
[ 98%] Linking C executable ../bin/call_highs_from_c
cd /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_HiGHS/HiGHS/work/build/examples && /opt/local/bin/cmake -E cmake_link_script CMakeFiles/call_highs_from_c.dir/link.txt --verbose=ON
/opt/local/bin/gfortran-mp-13 -pipe -Os -m32 -mmacosx-version-min=10.6 -dynamiclib -Wl,-headerpad_max_install_names -L/opt/local/lib -Wl,-headerpad_max_install_names -Wl,-rpath,/opt/local/lib/libgcc -o ../lib/libFortranHighs.dylib -install_name @rpath/libFortranHighs.dylib CMakeFiles/FortranHighs.dir/interfaces/highs_fortran_api.f90.o  -Wl,-rpath,/opt/local/lib ../lib/libhighs.1.6.0.dylib /opt/local/lib/libz.dylib -latomic 
/opt/local/bin/gcc-mp-13 -pipe -Os -DNDEBUG -I/opt/local/include -arch ppc -mmacosx-version-min=10.6 -Wl,-search_paths_first -Wl,-headerpad_max_install_names -L/opt/local/lib -Wl,-headerpad_max_install_names -Wl,-rpath,/opt/local/lib/libgcc CMakeFiles/call_highs_from_c.dir/call_highs_from_c.c.o -o ../bin/call_highs_from_c  -Wl,-rpath,/opt/local/lib ../lib/libhighs.1.6.0.dylib /opt/local/lib/libz.dylib -latomic 
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_HiGHS/HiGHS/work/build'
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_HiGHS/HiGHS/work/build'
[ 98%] Built target FortranHighs
[ 98%] Built target call_highs_from_c
[ 99%] Linking CXX executable ../bin/call_highs_from_cpp
cd /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_HiGHS/HiGHS/work/build/examples && /opt/local/bin/cmake -E cmake_link_script CMakeFiles/call_highs_from_cpp.dir/link.txt --verbose=ON
/opt/local/bin/g++-mp-13 -pipe -Os -DNDEBUG -I/opt/local/include -D_GLIBCXX_USE_CXX11_ABI=0 -arch ppc -mmacosx-version-min=10.6 -Wl,-search_paths_first -Wl,-headerpad_max_install_names -L/opt/local/lib -Wl,-headerpad_max_install_names -Wl,-rpath,/opt/local/lib/libgcc CMakeFiles/call_highs_from_cpp.dir/call_highs_from_cpp.cpp.o -o ../bin/call_highs_from_cpp  -Wl,-rpath,@loader_path/../lib -Wl,-rpath,@loader_path ../lib/libhighs.1.6.0.dylib /opt/local/lib/libz.dylib -latomic 
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_HiGHS/HiGHS/work/build'
[ 99%] Built target call_highs_from_cpp
[100%] Linking CXX executable ../bin/highs
cd /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_HiGHS/HiGHS/work/build/app && /opt/local/bin/cmake -E cmake_link_script CMakeFiles/highs-bin.dir/link.txt --verbose=ON
/opt/local/bin/g++-mp-13 -pipe -Os -DNDEBUG -I/opt/local/include -D_GLIBCXX_USE_CXX11_ABI=0 -arch ppc -mmacosx-version-min=10.6 -Wl,-search_paths_first -Wl,-headerpad_max_install_names -L/opt/local/lib -Wl,-headerpad_max_install_names -Wl,-rpath,/opt/local/lib/libgcc "CMakeFiles/highs-bin.dir/RunHighs.cpp.o" -o ../bin/highs  -Wl,-rpath,/opt/local/lib ../lib/libhighs.1.6.0.dylib /opt/local/lib/libz.dylib -latomic 
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_HiGHS/HiGHS/work/build'
[100%] Built target highs-bin

Awesome, thanks for confirming. Opened #1605 to finally close this out.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants