ERGO-Code / HiGHS

Linear optimization software
MIT License
913 stars 170 forks source link

On 32-bit platforms libatomic should be linked to #1294

Closed barracuda156 closed 7 months ago

barracuda156 commented 1 year ago
[ 77%] Linking CXX shared library ../lib/libhighs.dylib
cd /opt/local/var/macports/build/_opt_PPCRosettaPorts_math_HiGHS/HiGHS/work/build/src && /opt/local/bin/cmake -E cmake_link_script CMakeFiles/libhighs.dir/link.txt --verbose=ON
/opt/local/bin/g++-mp-12 -pipe -Os -DNDEBUG -I/opt/local/include -D_GLIBCXX_USE_CXX11_ABI=0 -Wall -Wextra -Wno-unused-parameter -Wno-format-truncation -pedantic -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.5.0 -current_version 1.5.1 -o ../lib/libhighs.1.5.1.dylib -install_name /opt/local/var/macports/build/_opt_PPCRosettaPorts_math_HiGHS/HiGHS/work/build/lib/libhighs.1.5.dylib CMakeFiles/libhighs.dir/__/extern/filereaderlp/reader.cpp.o CMakeFiles/libhighs.dir/io/Filereader.cpp.o CMakeFiles/libhighs.dir/io/FilereaderLp.cpp.o CMakeFiles/libhighs.dir/io/FilereaderEms.cpp.o CMakeFiles/libhighs.dir/io/FilereaderMps.cpp.o CMakeFiles/libhighs.dir/io/HighsIO.cpp.o CMakeFiles/libhighs.dir/io/HMPSIO.cpp.o CMakeFiles/libhighs.dir/io/HMpsFF.cpp.o CMakeFiles/libhighs.dir/io/LoadOptions.cpp.o CMakeFiles/libhighs.dir/lp_data/Highs.cpp.o CMakeFiles/libhighs.dir/lp_data/HighsDebug.cpp.o CMakeFiles/libhighs.dir/lp_data/HighsInfo.cpp.o CMakeFiles/libhighs.dir/lp_data/HighsInfoDebug.cpp.o CMakeFiles/libhighs.dir/lp_data/HighsDeprecated.cpp.o CMakeFiles/libhighs.dir/lp_data/HighsInterface.cpp.o CMakeFiles/libhighs.dir/lp_data/HighsLp.cpp.o CMakeFiles/libhighs.dir/lp_data/HighsLpUtils.cpp.o CMakeFiles/libhighs.dir/lp_data/HighsModelUtils.cpp.o CMakeFiles/libhighs.dir/lp_data/HighsRanging.cpp.o CMakeFiles/libhighs.dir/lp_data/HighsSolution.cpp.o CMakeFiles/libhighs.dir/lp_data/HighsSolutionDebug.cpp.o CMakeFiles/libhighs.dir/lp_data/HighsSolve.cpp.o CMakeFiles/libhighs.dir/lp_data/HighsStatus.cpp.o CMakeFiles/libhighs.dir/lp_data/HighsOptions.cpp.o CMakeFiles/libhighs.dir/mip/HighsMipSolver.cpp.o CMakeFiles/libhighs.dir/mip/HighsMipSolverData.cpp.o CMakeFiles/libhighs.dir/mip/HighsDomain.cpp.o CMakeFiles/libhighs.dir/mip/HighsDynamicRowMatrix.cpp.o CMakeFiles/libhighs.dir/mip/HighsLpRelaxation.cpp.o CMakeFiles/libhighs.dir/mip/HighsSeparation.cpp.o CMakeFiles/libhighs.dir/mip/HighsSeparator.cpp.o CMakeFiles/libhighs.dir/mip/HighsTableauSeparator.cpp.o CMakeFiles/libhighs.dir/mip/HighsModkSeparator.cpp.o CMakeFiles/libhighs.dir/mip/HighsPathSeparator.cpp.o CMakeFiles/libhighs.dir/mip/HighsCutGeneration.cpp.o CMakeFiles/libhighs.dir/mip/HighsSearch.cpp.o CMakeFiles/libhighs.dir/mip/HighsConflictPool.cpp.o CMakeFiles/libhighs.dir/mip/HighsCutPool.cpp.o CMakeFiles/libhighs.dir/mip/HighsCliqueTable.cpp.o CMakeFiles/libhighs.dir/mip/HighsGFkSolve.cpp.o CMakeFiles/libhighs.dir/mip/HighsTransformedLp.cpp.o CMakeFiles/libhighs.dir/mip/HighsLpAggregator.cpp.o CMakeFiles/libhighs.dir/mip/HighsDebugSol.cpp.o CMakeFiles/libhighs.dir/mip/HighsImplications.cpp.o CMakeFiles/libhighs.dir/mip/HighsPrimalHeuristics.cpp.o CMakeFiles/libhighs.dir/mip/HighsPseudocost.cpp.o CMakeFiles/libhighs.dir/mip/HighsRedcostFixing.cpp.o CMakeFiles/libhighs.dir/mip/HighsNodeQueue.cpp.o CMakeFiles/libhighs.dir/mip/HighsObjectiveFunction.cpp.o CMakeFiles/libhighs.dir/model/HighsHessian.cpp.o CMakeFiles/libhighs.dir/model/HighsHessianUtils.cpp.o CMakeFiles/libhighs.dir/model/HighsModel.cpp.o CMakeFiles/libhighs.dir/parallel/HighsTaskExecutor.cpp.o CMakeFiles/libhighs.dir/presolve/ICrash.cpp.o CMakeFiles/libhighs.dir/presolve/ICrashUtil.cpp.o CMakeFiles/libhighs.dir/presolve/ICrashX.cpp.o CMakeFiles/libhighs.dir/presolve/HighsPostsolveStack.cpp.o CMakeFiles/libhighs.dir/presolve/HighsSymmetry.cpp.o CMakeFiles/libhighs.dir/presolve/HPresolve.cpp.o CMakeFiles/libhighs.dir/presolve/HPresolveAnalysis.cpp.o CMakeFiles/libhighs.dir/presolve/PresolveComponent.cpp.o CMakeFiles/libhighs.dir/qpsolver/basis.cpp.o CMakeFiles/libhighs.dir/qpsolver/quass.cpp.o CMakeFiles/libhighs.dir/qpsolver/ratiotest.cpp.o CMakeFiles/libhighs.dir/qpsolver/scaling.cpp.o CMakeFiles/libhighs.dir/qpsolver/perturbation.cpp.o CMakeFiles/libhighs.dir/simplex/HEkk.cpp.o CMakeFiles/libhighs.dir/simplex/HEkkControl.cpp.o CMakeFiles/libhighs.dir/simplex/HEkkDebug.cpp.o CMakeFiles/libhighs.dir/simplex/HEkkPrimal.cpp.o CMakeFiles/libhighs.dir/simplex/HEkkDual.cpp.o CMakeFiles/libhighs.dir/simplex/HEkkDualRHS.cpp.o CMakeFiles/libhighs.dir/simplex/HEkkDualRow.cpp.o CMakeFiles/libhighs.dir/simplex/HEkkDualMulti.cpp.o CMakeFiles/libhighs.dir/simplex/HEkkInterface.cpp.o CMakeFiles/libhighs.dir/simplex/HighsSimplexAnalysis.cpp.o CMakeFiles/libhighs.dir/simplex/HSimplex.cpp.o CMakeFiles/libhighs.dir/simplex/HSimplexDebug.cpp.o CMakeFiles/libhighs.dir/simplex/HSimplexNla.cpp.o CMakeFiles/libhighs.dir/simplex/HSimplexNlaDebug.cpp.o CMakeFiles/libhighs.dir/simplex/HSimplexNlaFreeze.cpp.o CMakeFiles/libhighs.dir/simplex/HSimplexNlaProductForm.cpp.o CMakeFiles/libhighs.dir/simplex/HSimplexReport.cpp.o CMakeFiles/libhighs.dir/test/DevKkt.cpp.o CMakeFiles/libhighs.dir/test/KktCh2.cpp.o CMakeFiles/libhighs.dir/util/HFactor.cpp.o CMakeFiles/libhighs.dir/util/HFactorDebug.cpp.o CMakeFiles/libhighs.dir/util/HFactorExtend.cpp.o CMakeFiles/libhighs.dir/util/HFactorRefactor.cpp.o CMakeFiles/libhighs.dir/util/HFactorUtils.cpp.o CMakeFiles/libhighs.dir/util/HighsHash.cpp.o CMakeFiles/libhighs.dir/util/HighsLinearSumBounds.cpp.o CMakeFiles/libhighs.dir/util/HighsMatrixPic.cpp.o CMakeFiles/libhighs.dir/util/HighsMatrixUtils.cpp.o CMakeFiles/libhighs.dir/util/HighsSort.cpp.o CMakeFiles/libhighs.dir/util/HighsSparseMatrix.cpp.o CMakeFiles/libhighs.dir/util/HighsUtils.cpp.o CMakeFiles/libhighs.dir/util/HSet.cpp.o CMakeFiles/libhighs.dir/util/HVectorBase.cpp.o CMakeFiles/libhighs.dir/util/stringutil.cpp.o CMakeFiles/libhighs.dir/interfaces/highs_c_api.cpp.o CMakeFiles/libhighs.dir/ipm/IpxWrapper.cpp.o CMakeFiles/libhighs.dir/ipm/basiclu/basiclu_factorize.c.o CMakeFiles/libhighs.dir/ipm/basiclu/basiclu_solve_dense.c.o CMakeFiles/libhighs.dir/ipm/basiclu/lu_build_factors.c.o CMakeFiles/libhighs.dir/ipm/basiclu/lu_factorize_bump.c.o CMakeFiles/libhighs.dir/ipm/basiclu/lu_initialize.c.o CMakeFiles/libhighs.dir/ipm/basiclu/lu_markowitz.c.o CMakeFiles/libhighs.dir/ipm/basiclu/lu_setup_bump.c.o CMakeFiles/libhighs.dir/ipm/basiclu/lu_solve_sparse.c.o CMakeFiles/libhighs.dir/ipm/basiclu/basiclu_get_factors.c.o CMakeFiles/libhighs.dir/ipm/basiclu/basiclu_solve_for_update.c.o CMakeFiles/libhighs.dir/ipm/basiclu/lu_condest.c.o CMakeFiles/libhighs.dir/ipm/basiclu/lu_file.c.o CMakeFiles/libhighs.dir/ipm/basiclu/lu_internal.c.o CMakeFiles/libhighs.dir/ipm/basiclu/lu_matrix_norm.c.o CMakeFiles/libhighs.dir/ipm/basiclu/lu_singletons.c.o CMakeFiles/libhighs.dir/ipm/basiclu/lu_solve_symbolic.c.o CMakeFiles/libhighs.dir/ipm/basiclu/lu_update.c.o CMakeFiles/libhighs.dir/ipm/basiclu/basiclu_initialize.c.o CMakeFiles/libhighs.dir/ipm/basiclu/basiclu_solve_sparse.c.o CMakeFiles/libhighs.dir/ipm/basiclu/lu_pivot.c.o CMakeFiles/libhighs.dir/ipm/basiclu/lu_solve_dense.c.o CMakeFiles/libhighs.dir/ipm/basiclu/lu_solve_triangular.c.o CMakeFiles/libhighs.dir/ipm/basiclu/basiclu_object.c.o CMakeFiles/libhighs.dir/ipm/basiclu/basiclu_update.c.o CMakeFiles/libhighs.dir/ipm/basiclu/lu_dfs.c.o CMakeFiles/libhighs.dir/ipm/basiclu/lu_garbage_perm.c.o CMakeFiles/libhighs.dir/ipm/basiclu/lu_residual_test.c.o CMakeFiles/libhighs.dir/ipm/basiclu/lu_solve_for_update.c.o CMakeFiles/libhighs.dir/ipm/ipx/basiclu_kernel.cc.o CMakeFiles/libhighs.dir/ipm/ipx/basiclu_wrapper.cc.o CMakeFiles/libhighs.dir/ipm/ipx/basis.cc.o CMakeFiles/libhighs.dir/ipm/ipx/conjugate_residuals.cc.o CMakeFiles/libhighs.dir/ipm/ipx/control.cc.o CMakeFiles/libhighs.dir/ipm/ipx/crossover.cc.o CMakeFiles/libhighs.dir/ipm/ipx/diagonal_precond.cc.o CMakeFiles/libhighs.dir/ipm/ipx/forrest_tomlin.cc.o CMakeFiles/libhighs.dir/ipm/ipx/guess_basis.cc.o CMakeFiles/libhighs.dir/ipm/ipx/indexed_vector.cc.o CMakeFiles/libhighs.dir/ipm/ipx/info.cc.o CMakeFiles/libhighs.dir/ipm/ipx/ipm.cc.o CMakeFiles/libhighs.dir/ipm/ipx/ipx_c.cc.o CMakeFiles/libhighs.dir/ipm/ipx/iterate.cc.o CMakeFiles/libhighs.dir/ipm/ipx/kkt_solver.cc.o CMakeFiles/libhighs.dir/ipm/ipx/kkt_solver_basis.cc.o CMakeFiles/libhighs.dir/ipm/ipx/kkt_solver_diag.cc.o CMakeFiles/libhighs.dir/ipm/ipx/linear_operator.cc.o CMakeFiles/libhighs.dir/ipm/ipx/lp_solver.cc.o CMakeFiles/libhighs.dir/ipm/ipx/lu_factorization.cc.o CMakeFiles/libhighs.dir/ipm/ipx/lu_update.cc.o CMakeFiles/libhighs.dir/ipm/ipx/maxvolume.cc.o CMakeFiles/libhighs.dir/ipm/ipx/model.cc.o CMakeFiles/libhighs.dir/ipm/ipx/normal_matrix.cc.o CMakeFiles/libhighs.dir/ipm/ipx/sparse_matrix.cc.o CMakeFiles/libhighs.dir/ipm/ipx/sparse_utils.cc.o CMakeFiles/libhighs.dir/ipm/ipx/splitted_normal_matrix.cc.o CMakeFiles/libhighs.dir/ipm/ipx/starting_basis.cc.o CMakeFiles/libhighs.dir/ipm/ipx/symbolic_invert.cc.o CMakeFiles/libhighs.dir/ipm/ipx/timer.cc.o CMakeFiles/libhighs.dir/ipm/ipx/utils.cc.o  /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_eachIRZNK16HighsCliqueTable17queryNeighborhoodERSt6vectorIiSaIiEERxNS2_9CliqueVarEPS8_iEUliiE0_EEviiOT_i in HighsCliqueTable.cpp.o
      __ZNK16HighsCliqueTable17queryNeighborhoodERSt6vectorIiSaIiEERxNS_9CliqueVarEPS5_i in HighsCliqueTable.cpp.o
      __ZN15HighsSplitDeque12shrinkSharedEv in HighsCliqueTable.cpp.o
      __ZN15HighsSplitDeque10WorkerBunk11publishWorkEPS_ in HighsCliqueTable.cpp.o
      __ZN5highs8parallel8for_eachIRZN8HEkkDual17chooseColumnSliceEP11HVectorBaseIdEEUliiE0_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
  "__ZTHN17HighsTaskExecutor25threadLocalWorkerDequePtrE", referenced from:
      __ZN5highs8parallel11num_threadsEv in Highs.cpp.o
      __ZN17HighsTaskExecutor10run_workerEi in Highs.cpp.o
      __ZN17HighsTaskExecutorC4Ei in Highs.cpp.o
      __ZTHN17HighsTaskExecutor25threadLocalWorkerDequePtrE$non_lazy_ptr in Highs.cpp.o
      __ZN18HighsMipSolverData4initEv in HighsMipSolverData.cpp.o
      __ZN18HighsMipSolverData16evaluateRootNodeEv in HighsMipSolverData.cpp.o
      __ZTHN17HighsTaskExecutor25threadLocalWorkerDequePtrE$non_lazy_ptr in HighsMipSolverData.cpp.o
      __ZZNK16HighsCliqueTable17queryNeighborhoodERSt6vectorIiSaIiEERxNS_9CliqueVarEPS5_iENKUliiE0_clEii in HighsCliqueTable.cpp.o
      __ZNK16HighsCliqueTable17queryNeighborhoodERSt6vectorIiSaIiEERxNS_9CliqueVarEPS5_i in HighsCliqueTable.cpp.o
      __ZN5highs8parallel9TaskGroupC4Ev in HighsCliqueTable.cpp.o
      __ZTHN17HighsTaskExecutor25threadLocalWorkerDequePtrE$non_lazy_ptr in HighsCliqueTable.cpp.o
      __ZN22HighsSymmetryDetection3runER15HighsSymmetries in HighsSymmetry.cpp.o
      __ZTHN17HighsTaskExecutor25threadLocalWorkerDequePtrE$non_lazy_ptr in HighsSymmetry.cpp.o
      __ZN4HEkk28chooseSimplexStrategyThreadsERK12HighsOptionsR16HighsSimplexInfo in HEkk.cpp.o
      __ZTHN17HighsTaskExecutor25threadLocalWorkerDequePtrE$non_lazy_ptr in HEkk.cpp.o
      __ZN8HEkkDual17chooseColumnSliceEP11HVectorBaseIdE in HEkkDual.cpp.o
      __ZN8HEkkDual12iterateTasksEv in HEkkDual.cpp.o
      __ZN8HEkkDual12iterateTasksEv in HEkkDual.cpp.o
      __ZN5highs8parallel9TaskGroupC4Ev in HEkkDual.cpp.o
      __ZN5highs8parallel4syncEv in HEkkDual.cpp.o
      __ZTHN17HighsTaskExecutor25threadLocalWorkerDequePtrE$non_lazy_ptr in HEkkDual.cpp.o
      __ZN5highs8parallel9TaskGroupC4Ev in HEkkDualMulti.cpp.o
      __ZTHN17HighsTaskExecutor25threadLocalWorkerDequePtrE$non_lazy_ptr in HEkkDualMulti.cpp.o
      __ZN20HighsSimplexAnalysis32getThreadFactorTimerClockPointerEv in HighsSimplexAnalysis.cpp.o
      __ZN5highs8parallel11num_threadsEv in HighsSimplexAnalysis.cpp.o
      __ZTHN17HighsTaskExecutor25threadLocalWorkerDequePtrE$non_lazy_ptr in HighsSimplexAnalysis.cpp.o
      __ZN11HSimplexNla6invertEv in HSimplexNla.cpp.o
      __ZTHN17HighsTaskExecutor25threadLocalWorkerDequePtrE$non_lazy_ptr in HSimplexNla.cpp.o
      __ZNK3ipx7Control14InterruptCheckEv in control.cc.o
      __ZTHN17HighsTaskExecutor25threadLocalWorkerDequePtrE$non_lazy_ptr in control.cc.o
     (maybe you meant: __ZTHN17HighsTaskExecutor25threadLocalWorkerDequePtrE$non_lazy_ptr)
ld: symbol(s) not found
collect2: error: ld returned 1 exit status

Not yet sure about remaining errors, possibly gcc12 bug (at least that non_lazy_ptr thing).

jajhall commented 1 year ago

Please would you let us know what you were trying to do rather than just sending us a dump of output

barracuda156 commented 1 year ago

Please would you let us know what you were trying to do rather than just sending us a dump of output

@jajhall Thank you for responding. I was building HiGHS; as you can see, atomics does not link, because 32-bit hardware does not support 8-byte atomics. GCC can emulate those, however it should be linked against libatomic.

Ideally configure stage should implement a test for hardware support for 8-byte atomics, if it fails without libatomic, then it should be added, and -latomic flag passed to the linker during the build.

As an example, see: https://github.com/facebook/rocksdb/blob/5fc57eec2b44337289f25c1b5687beb54ad709a2/CMakeLists.txt#L296-L312

jajhall commented 1 year ago

I'll see what we can do, but support for 32-bit architectures is very low priority

barracuda156 commented 1 year ago

I'll see what we can do, but support for 32-bit architectures is very low priority

Thank you. I am not asking to dedicate time to specifically support 32-bit platforms, but libatomic linking is trivial to add, and that will be a definite improvement.

barracuda156 commented 1 year ago

P. S. I can actually take care of that, let me first ensure everything builds and tests pass.

barracuda156 commented 1 year ago

@jajhall Sorry, been a bit busy. I have built HiGHS for ppc32, no extra patching (just libatomic linkage to unbreak the build), and 100% of tests pass. I reckon, no reason not to support 32-bit platforms, as of now. It works.

[100%] Built target unit_tests
make[1]: Leaving directory `/opt/local/var/macports/build/_opt_PPCRosettaPorts_math_HiGHS/HiGHS/work/build'
/opt/local/bin/cmake -E cmake_progress_start /opt/local/var/macports/build/_opt_PPCRosettaPorts_math_HiGHS/HiGHS/work/build/CMakeFiles 0
make: Leaving directory `/opt/local/var/macports/build/_opt_PPCRosettaPorts_math_HiGHS/HiGHS/work/build'
--->  Testing HiGHS
Executing:  cd "/opt/local/var/macports/build/_opt_PPCRosettaPorts_math_HiGHS/HiGHS/work/build" && /usr/bin/make test 
Running tests...
/opt/local/bin/ctest --force-new-ctest-process 
Test project /opt/local/var/macports/build/_opt_PPCRosettaPorts_math_HiGHS/HiGHS/work/build
        Start   1: capi_unit_tests
  1/148 Test   #1: capi_unit_tests ..................   Passed    0.26 sec
        Start   2: unit-test-build
  2/148 Test   #2: unit-test-build ..................   Passed    3.32 sec
        Start   3: unit_tests_all
  3/148 Test   #3: unit_tests_all ...................   Passed   50.27 sec
        Start   4: 25fv47--presolve=off
  4/148 Test   #4: 25fv47--presolve=off .............   Passed    1.23 sec
        Start   5: 25fv47--presolve=on
  5/148 Test   #5: 25fv47--presolve=on ..............   Passed    1.07 sec
        Start   6: 25fv47--random_seed=1
  6/148 Test   #6: 25fv47--random_seed=1 ............   Passed    1.12 sec
        Start   7: 25fv47--random_seed=2
  7/148 Test   #7: 25fv47--random_seed=2 ............   Passed    1.10 sec
        Start   8: 25fv47--random_seed=3
  8/148 Test   #8: 25fv47--random_seed=3 ............   Passed    1.34 sec
        Start   9: 80bau3b--presolve=off
  9/148 Test   #9: 80bau3b--presolve=off ............   Passed    1.67 sec
        Start  10: 80bau3b--presolve=on
 10/148 Test  #10: 80bau3b--presolve=on .............   Passed    1.33 sec
        Start  11: 80bau3b--random_seed=1
 11/148 Test  #11: 80bau3b--random_seed=1 ...........   Passed    1.39 sec
        Start  12: 80bau3b--random_seed=2
 12/148 Test  #12: 80bau3b--random_seed=2 ...........   Passed    1.30 sec
        Start  13: 80bau3b--random_seed=3
 13/148 Test  #13: 80bau3b--random_seed=3 ...........   Passed    1.33 sec
        Start  14: adlittle--presolve=off
 14/148 Test  #14: adlittle--presolve=off ...........   Passed    0.14 sec
        Start  15: adlittle--presolve=on
 15/148 Test  #15: adlittle--presolve=on ............   Passed    0.16 sec
        Start  16: adlittle--random_seed=1
 16/148 Test  #16: adlittle--random_seed=1 ..........   Passed    0.16 sec
        Start  17: adlittle--random_seed=2
 17/148 Test  #17: adlittle--random_seed=2 ..........   Passed    0.15 sec
        Start  18: adlittle--random_seed=3
 18/148 Test  #18: adlittle--random_seed=3 ..........   Passed    0.15 sec
        Start  19: afiro--presolve=off
 19/148 Test  #19: afiro--presolve=off ..............   Passed    0.12 sec
        Start  20: afiro--presolve=on
 20/148 Test  #20: afiro--presolve=on ...............   Passed    0.12 sec
        Start  21: afiro--random_seed=1
 21/148 Test  #21: afiro--random_seed=1 .............   Passed    0.12 sec
        Start  22: afiro--random_seed=2
 22/148 Test  #22: afiro--random_seed=2 .............   Passed    0.12 sec
        Start  23: afiro--random_seed=3
 23/148 Test  #23: afiro--random_seed=3 .............   Passed    0.12 sec
        Start  24: etamacro--presolve=off
 24/148 Test  #24: etamacro--presolve=off ...........   Passed    0.24 sec
        Start  25: etamacro--presolve=on
 25/148 Test  #25: etamacro--presolve=on ............   Passed    0.28 sec
        Start  26: etamacro--random_seed=1
 26/148 Test  #26: etamacro--random_seed=1 ..........   Passed    0.28 sec
        Start  27: etamacro--random_seed=2
 27/148 Test  #27: etamacro--random_seed=2 ..........   Passed    0.29 sec
        Start  28: etamacro--random_seed=3
 28/148 Test  #28: etamacro--random_seed=3 ..........   Passed    0.28 sec
        Start  29: greenbea--presolve=off
 29/148 Test  #29: greenbea--presolve=off ...........   Passed    3.93 sec
        Start  30: greenbea--presolve=on
 30/148 Test  #30: greenbea--presolve=on ............   Passed    1.82 sec
        Start  31: greenbea--random_seed=1
 31/148 Test  #31: greenbea--random_seed=1 ..........   Passed    1.81 sec
        Start  32: greenbea--random_seed=2
 32/148 Test  #32: greenbea--random_seed=2 ..........   Passed    1.90 sec
        Start  33: greenbea--random_seed=3
 33/148 Test  #33: greenbea--random_seed=3 ..........   Passed    1.68 sec
        Start  34: shell--presolve=off
 34/148 Test  #34: shell--presolve=off ..............   Passed    0.23 sec
        Start  35: shell--presolve=on
 35/148 Test  #35: shell--presolve=on ...............   Passed    0.30 sec
        Start  36: shell--random_seed=1
 36/148 Test  #36: shell--random_seed=1 .............   Passed    0.29 sec
        Start  37: shell--random_seed=2
 37/148 Test  #37: shell--random_seed=2 .............   Passed    0.30 sec
        Start  38: shell--random_seed=3
 38/148 Test  #38: shell--random_seed=3 .............   Passed    0.29 sec
        Start  39: stair--presolve=off
 39/148 Test  #39: stair--presolve=off ..............   Passed    0.28 sec
        Start  40: stair--presolve=on
 40/148 Test  #40: stair--presolve=on ...............   Passed    0.28 sec
        Start  41: stair--random_seed=1
 41/148 Test  #41: stair--random_seed=1 .............   Passed    0.28 sec
        Start  42: stair--random_seed=2
 42/148 Test  #42: stair--random_seed=2 .............   Passed    0.28 sec
        Start  43: stair--random_seed=3
 43/148 Test  #43: stair--random_seed=3 .............   Passed    0.27 sec
        Start  44: standata--presolve=off
 44/148 Test  #44: standata--presolve=off ...........   Passed    0.20 sec
        Start  45: standata--presolve=on
 45/148 Test  #45: standata--presolve=on ............   Passed    0.21 sec
        Start  46: standata--random_seed=1
 46/148 Test  #46: standata--random_seed=1 ..........   Passed    0.21 sec
        Start  47: standata--random_seed=2
 47/148 Test  #47: standata--random_seed=2 ..........   Passed    0.22 sec
        Start  48: standata--random_seed=3
 48/148 Test  #48: standata--random_seed=3 ..........   Passed    0.21 sec
        Start  49: standgub--presolve=off
 49/148 Test  #49: standgub--presolve=off ...........   Passed    0.19 sec
        Start  50: standgub--presolve=on
 50/148 Test  #50: standgub--presolve=on ............   Passed    0.21 sec
        Start  51: standgub--random_seed=1
 51/148 Test  #51: standgub--random_seed=1 ..........   Passed    0.21 sec
        Start  52: standgub--random_seed=2
 52/148 Test  #52: standgub--random_seed=2 ..........   Passed    0.22 sec
        Start  53: standgub--random_seed=3
 53/148 Test  #53: standgub--random_seed=3 ..........   Passed    0.25 sec
        Start  54: standmps--presolve=off
 54/148 Test  #54: standmps--presolve=off ...........   Passed    0.22 sec
        Start  55: standmps--presolve=on
 55/148 Test  #55: standmps--presolve=on ............   Passed    0.27 sec
        Start  56: standmps--random_seed=1
 56/148 Test  #56: standmps--random_seed=1 ..........   Passed    0.28 sec
        Start  57: standmps--random_seed=2
 57/148 Test  #57: standmps--random_seed=2 ..........   Passed    0.26 sec
        Start  58: standmps--random_seed=3
 58/148 Test  #58: standmps--random_seed=3 ..........   Passed    0.25 sec
        Start  59: bgetam--presolve=off
 59/148 Test  #59: bgetam--presolve=off .............   Passed    0.16 sec
        Start  60: bgetam--presolve=on
 60/148 Test  #60: bgetam--presolve=on ..............   Passed    0.19 sec
        Start  61: bgetam--random_seed=1
 61/148 Test  #61: bgetam--random_seed=1 ............   Passed    0.19 sec
        Start  62: bgetam--random_seed=2
 62/148 Test  #62: bgetam--random_seed=2 ............   Passed    0.21 sec
        Start  63: bgetam--random_seed=3
 63/148 Test  #63: bgetam--random_seed=3 ............   Passed    0.19 sec
        Start  64: box1--presolve=off
 64/148 Test  #64: box1--presolve=off ...............   Passed    0.13 sec
        Start  65: box1--presolve=on
 65/148 Test  #65: box1--presolve=on ................   Passed    0.15 sec
        Start  66: box1--random_seed=1
 66/148 Test  #66: box1--random_seed=1 ..............   Passed    0.15 sec
        Start  67: box1--random_seed=2
 67/148 Test  #67: box1--random_seed=2 ..............   Passed    0.14 sec
        Start  68: box1--random_seed=3
 68/148 Test  #68: box1--random_seed=3 ..............   Passed    0.15 sec
        Start  69: ex72a--presolve=off
 69/148 Test  #69: ex72a--presolve=off ..............   Passed    0.15 sec
        Start  70: ex72a--presolve=on
 70/148 Test  #70: ex72a--presolve=on ...............   Passed    0.15 sec
        Start  71: ex72a--random_seed=1
 71/148 Test  #71: ex72a--random_seed=1 .............   Passed    0.15 sec
        Start  72: ex72a--random_seed=2
 72/148 Test  #72: ex72a--random_seed=2 .............   Passed    0.15 sec
        Start  73: ex72a--random_seed=3
 73/148 Test  #73: ex72a--random_seed=3 .............   Passed    0.14 sec
        Start  74: forest6--presolve=off
 74/148 Test  #74: forest6--presolve=off ............   Passed    0.14 sec
        Start  75: forest6--presolve=on
 75/148 Test  #75: forest6--presolve=on .............   Passed    0.18 sec
        Start  76: forest6--random_seed=1
 76/148 Test  #76: forest6--random_seed=1 ...........   Passed    0.25 sec
        Start  77: forest6--random_seed=2
 77/148 Test  #77: forest6--random_seed=2 ...........   Passed    0.15 sec
        Start  78: forest6--random_seed=3
 78/148 Test  #78: forest6--random_seed=3 ...........   Passed    0.15 sec
        Start  79: galenet--presolve=off
 79/148 Test  #79: galenet--presolve=off ............   Passed    0.10 sec
        Start  80: galenet--presolve=on
 80/148 Test  #80: galenet--presolve=on .............   Passed    0.08 sec
        Start  81: galenet--random_seed=1
 81/148 Test  #81: galenet--random_seed=1 ...........   Passed    0.09 sec
        Start  82: galenet--random_seed=2
 82/148 Test  #82: galenet--random_seed=2 ...........   Passed    0.09 sec
        Start  83: galenet--random_seed=3
 83/148 Test  #83: galenet--random_seed=3 ...........   Passed    0.09 sec
        Start  84: gams10am--presolve=off
 84/148 Test  #84: gams10am--presolve=off ...........   Passed    0.13 sec
        Start  85: gams10am--presolve=on
 85/148 Test  #85: gams10am--presolve=on ............   Passed    0.11 sec
        Start  86: gams10am--random_seed=1
 86/148 Test  #86: gams10am--random_seed=1 ..........   Passed    0.12 sec
        Start  87: gams10am--random_seed=2
 87/148 Test  #87: gams10am--random_seed=2 ..........   Passed    0.12 sec
        Start  88: gams10am--random_seed=3
 88/148 Test  #88: gams10am--random_seed=3 ..........   Passed    0.12 sec
        Start  89: refinery--presolve=off
 89/148 Test  #89: refinery--presolve=off ...........   Passed    0.22 sec
        Start  90: refinery--presolve=on
 90/148 Test  #90: refinery--presolve=on ............   Passed    0.24 sec
        Start  91: refinery--random_seed=1
 91/148 Test  #91: refinery--random_seed=1 ..........   Passed    0.24 sec
        Start  92: refinery--random_seed=2
 92/148 Test  #92: refinery--random_seed=2 ..........   Passed    0.23 sec
        Start  93: refinery--random_seed=3
 93/148 Test  #93: refinery--random_seed=3 ..........   Passed    0.24 sec
        Start  94: woodinfe--presolve=off
 94/148 Test  #94: woodinfe--presolve=off ...........   Passed    0.13 sec
        Start  95: woodinfe--presolve=on
 95/148 Test  #95: woodinfe--presolve=on ............   Passed    0.11 sec
        Start  96: woodinfe--random_seed=1
 96/148 Test  #96: woodinfe--random_seed=1 ..........   Passed    0.11 sec
        Start  97: woodinfe--random_seed=2
 97/148 Test  #97: woodinfe--random_seed=2 ..........   Passed    0.11 sec
        Start  98: woodinfe--random_seed=3
 98/148 Test  #98: woodinfe--random_seed=3 ..........   Passed    0.10 sec
        Start  99: small_mip--presolve=off
 99/148 Test  #99: small_mip--presolve=off ..........   Passed    0.16 sec
        Start 100: small_mip--presolve=on
100/148 Test #100: small_mip--presolve=on ...........   Passed    0.10 sec
        Start 101: small_mip--random_seed=1
101/148 Test #101: small_mip--random_seed=1 .........   Passed    0.11 sec
        Start 102: small_mip--random_seed=2
102/148 Test #102: small_mip--random_seed=2 .........   Passed    0.11 sec
        Start 103: small_mip--random_seed=3
103/148 Test #103: small_mip--random_seed=3 .........   Passed    0.11 sec
        Start 104: flugpl--presolve=off
104/148 Test #104: flugpl--presolve=off .............   Passed    0.85 sec
        Start 105: flugpl--presolve=on
105/148 Test #105: flugpl--presolve=on ..............   Passed    1.07 sec
        Start 106: flugpl--random_seed=1
106/148 Test #106: flugpl--random_seed=1 ............   Passed    1.05 sec
        Start 107: flugpl--random_seed=2
107/148 Test #107: flugpl--random_seed=2 ............   Passed    1.12 sec
        Start 108: flugpl--random_seed=3
108/148 Test #108: flugpl--random_seed=3 ............   Passed    1.06 sec
        Start 109: lseu--presolve=off
109/148 Test #109: lseu--presolve=off ...............   Passed    2.24 sec
        Start 110: lseu--presolve=on
110/148 Test #110: lseu--presolve=on ................   Passed    3.34 sec
        Start 111: lseu--random_seed=1
111/148 Test #111: lseu--random_seed=1 ..............   Passed    3.30 sec
        Start 112: lseu--random_seed=2
112/148 Test #112: lseu--random_seed=2 ..............   Passed    5.72 sec
        Start 113: lseu--random_seed=3
113/148 Test #113: lseu--random_seed=3 ..............   Passed    3.03 sec
        Start 114: egout--presolve=off
114/148 Test #114: egout--presolve=off ..............   Passed    0.55 sec
        Start 115: egout--presolve=on
115/148 Test #115: egout--presolve=on ...............   Passed    0.46 sec
        Start 116: egout--random_seed=1
116/148 Test #116: egout--random_seed=1 .............   Passed    0.48 sec
        Start 117: egout--random_seed=2
117/148 Test #117: egout--random_seed=2 .............   Passed    0.51 sec
        Start 118: egout--random_seed=3
118/148 Test #118: egout--random_seed=3 .............   Passed    0.46 sec
        Start 119: gt2--presolve=off
119/148 Test #119: gt2--presolve=off ................   Passed    0.70 sec
        Start 120: gt2--presolve=on
120/148 Test #120: gt2--presolve=on .................   Passed    1.21 sec
        Start 121: gt2--random_seed=1
121/148 Test #121: gt2--random_seed=1 ...............   Passed    0.68 sec
        Start 122: gt2--random_seed=2
122/148 Test #122: gt2--random_seed=2 ...............   Passed    1.49 sec
        Start 123: gt2--random_seed=3
123/148 Test #123: gt2--random_seed=3 ...............   Passed    1.30 sec
        Start 124: rgn--presolve=off
124/148 Test #124: rgn--presolve=off ................   Passed    3.38 sec
        Start 125: rgn--presolve=on
125/148 Test #125: rgn--presolve=on .................   Passed    2.67 sec
        Start 126: rgn--random_seed=1
126/148 Test #126: rgn--random_seed=1 ...............   Passed    4.38 sec
        Start 127: rgn--random_seed=2
127/148 Test #127: rgn--random_seed=2 ...............   Passed    2.16 sec
        Start 128: rgn--random_seed=3
128/148 Test #128: rgn--random_seed=3 ...............   Passed    2.36 sec
        Start 129: bell5--presolve=off
129/148 Test #129: bell5--presolve=off ..............   Passed    6.21 sec
        Start 130: bell5--presolve=on
130/148 Test #130: bell5--presolve=on ...............   Passed    8.47 sec
        Start 131: bell5--random_seed=1
131/148 Test #131: bell5--random_seed=1 .............   Passed   15.27 sec
        Start 132: bell5--random_seed=2
132/148 Test #132: bell5--random_seed=2 .............   Passed    5.52 sec
        Start 133: bell5--random_seed=3
133/148 Test #133: bell5--random_seed=3 .............   Passed    8.13 sec
        Start 134: sp150x300d--presolve=off
134/148 Test #134: sp150x300d--presolve=off .........   Passed    1.93 sec
        Start 135: sp150x300d--presolve=on
135/148 Test #135: sp150x300d--presolve=on ..........   Passed    0.88 sec
        Start 136: sp150x300d--random_seed=1
136/148 Test #136: sp150x300d--random_seed=1 ........   Passed    1.08 sec
        Start 137: sp150x300d--random_seed=2
137/148 Test #137: sp150x300d--random_seed=2 ........   Passed    1.03 sec
        Start 138: sp150x300d--random_seed=3
138/148 Test #138: sp150x300d--random_seed=3 ........   Passed    1.44 sec
        Start 139: p0548--presolve=off
139/148 Test #139: p0548--presolve=off ..............   Passed    2.12 sec
        Start 140: p0548--presolve=on
140/148 Test #140: p0548--presolve=on ...............   Passed    1.93 sec
        Start 141: p0548--random_seed=1
141/148 Test #141: p0548--random_seed=1 .............   Passed    1.83 sec
        Start 142: p0548--random_seed=2
142/148 Test #142: p0548--random_seed=2 .............   Passed    1.49 sec
        Start 143: p0548--random_seed=3
143/148 Test #143: p0548--random_seed=3 .............   Passed    1.49 sec
        Start 144: dcmulti--presolve=off
144/148 Test #144: dcmulti--presolve=off ............   Passed   18.08 sec
        Start 145: dcmulti--presolve=on
145/148 Test #145: dcmulti--presolve=on .............   Passed   12.61 sec
        Start 146: dcmulti--random_seed=1
146/148 Test #146: dcmulti--random_seed=1 ...........   Passed    7.30 sec
        Start 147: dcmulti--random_seed=2
147/148 Test #147: dcmulti--random_seed=2 ...........   Passed   15.59 sec
        Start 148: dcmulti--random_seed=3
148/148 Test #148: dcmulti--random_seed=3 ...........   Passed   11.59 sec

100% tests passed, 0 tests failed out of 148

Total Test time (real) = 265.90 sec
jajhall commented 1 year ago

@galabovaa Can the CMake patch in the link be incorporated?

galabovaa commented 1 year ago

Yes, the patch just needs to be modified to not require C++ 17 and we can add it to CMake. I will do that

barracuda156 commented 1 year ago

@galabovaa Has this been done, as of 1.5.3?

HaoZeke commented 10 months ago

@galabovaa Has this been done, as of 1.5.3?

https://github.com/ERGO-Code/HiGHS/pull/1405/commits/df73034f710b95f2914e257c6d6d28fa06fa604d adds a conditional libatomic dependency to the meson.build.

barracuda156 commented 10 months ago

@HaoZeke Thank you, I will test it.

HaoZeke commented 10 months ago

@HaoZeke Thank you, I will test it.

Actually for 32-bit systems and the meson build, it is better to use #1460 and build with -Dhighsint64=False (otherwise it will segfault at runtime). This combination (the PR+build option) is tested on SciPy's CI (Linux 32-bit). Please report back if it doesn't work.

barracuda156 commented 10 months ago

@HaoZeke We built it with CMake: https://ports.macports.org/port/HiGHS/details

Do we need some special config options in that case? (I would rather not switch to meson, it is not mature enough build system IMO.)

P. S. Sorry, did not check it right-away when replied above.

HaoZeke commented 10 months ago

@HaoZeke We built it with CMake: https://ports.macports.org/port/HiGHS/details

Do we need some special config options in that case? (I would rather not switch to meson, it is not mature enough build system IMO.)

P. S. Sorry, did not check it right-away when replied above.

That's alright, I from a quick look, it seems like HIGHSINT64 is off by default in CMake so it should be fine without any special considerations (this might change in the future so it might be best to explicitly set it in the cmake invocation).

jajhall commented 10 months ago

'HIGHSINT64' will always be off by default

jajhall commented 10 months ago

Is this fixed?

HaoZeke commented 7 months ago

Is this fixed?

Should be closed by #1603.

jajhall commented 7 months ago

Closed by #1603