#1764: Error with compilation of HWLOC ------------------------------------+--------------------------------------- Reporter: maxim.barkov@… | Owner: eschnett Type: defect | Status: assigned Priority: blocker | Milestone: ET_2015_05 Component: EinsteinToolkit thorn | Version: development version Resolution: | Keywords: HWLOC ------------------------------------+---------------------------------------
Comment (by rhaas):
Cactus (ET trunk) now fails to build (once again) on a freshly installed Ubuntu 15.04 with libnuma-dev installed (even when using HWLOC_DIR=BUILD and the very newest ubuntu.cfg) due to hwloc's configure script finding libnuma but Cactus not linking against it.
The only real solution to this seems to me to move the call to "configure" from build.sh into detect.sh so that one can inspect the results of configure afterwards.
Just blindly adding numa to HWLOC_LIBS will not work since the required library libnuma.a (for static linking as we now require this) is only present (in Ubunut at least) if libnuma-dev is installed.
As far as I am concerned we need to be able to build on typical user Desktop machines (and laptops) out of the box. Typical, in my opinion, being the current version of OSX, Ubuntu, RedHat and possibly Debian and Fedora. Obviously we also need to be able to build on the public clusters so we cannot revert to dynamic linking again since it breaks all Crays.
The error I get is: {{{ Creating cactus_sim in /home/rhaas/Cactus/exe from EinsteinAnalysis/ADMAnalysis EinsteinBase/ADMBase EinsteinBase/ADMCoupling EinsteinBase/ADMMacros AEIThorns/ADMMass AEIThorns/AEILocalInterp EinsteinAnalysis/AHFinder EinsteinAnalysis/AHFinderDirect ExternalLibraries/BLAS CactusBase/Boundary EinsteinAnalysis/CalcK Carpet/Carpet Carpet/CarpetEvolutionMask Carpet/CarpetIOASCII Carpet/CarpetIOBasic Carpet/CarpetIOHDF5 Carpet/CarpetIOScalar Carpet/CarpetIntegrateTest Carpet/CarpetInterp Carpet/CarpetInterp2 Carpet/CarpetLib Carpet/CarpetMask Carpet/CarpetProlongateTest Carpet/CarpetReduce Carpet/CarpetRegrid Carpet/CarpetRegrid2 Carpet/CarpetRegridTest Carpet/CarpetSlab Carpet/CarpetTracker CactusBase/CartGrid3D CactusNumerical/Cartoon2D EinsteinBase/Constants CactusBase/CoordBase EinsteinBase/CoordGauge Carpet/CycleClock CactusExamples/DemoInterp CactusNumerical/Dissipation EinsteinInitialData/DistortedBHIVP EinsteinAnalysis/EHFinder EinsteinBase/EOS_Base EinsteinEOS/EOS_Hybrid EinsteinEOS/EOS_IdealFluid EinsteinEOS/EOS_Omni EinsteinEOS/EOS_Polytrope EinsteinExact/EinsteinExact_Test CactusElliptic/EllBase CactusElliptic/EllSOR EinsteinInitialData/Exact EinsteinAnalysis/Extract ExternalLibraries/FFTW3 CactusExamples/FleshInfo CactusUtils/Formaline CactusBase/Fortran EinsteinEvolve/GRHydro EinsteinEvolve/GRHydro_InitData ExternalLibraries/GSL EinsteinExact/GaugeWave KrancNumericalTools/GenericFD ExternalLibraries/HDF5 CactusConnect/HTTPD CactusConnect/HTTPDExtra CactusExamples/HelloWorld Carpet/HighOrderWaveTest EinsteinBase/HydroBase EinsteinAnalysis/Hydro_Analysis EinsteinInitialData/Hydro_InitExcision EinsteinInitialData/IDAnalyticBH EinsteinInitialData/IDAxiBrillBH EinsteinInitialData/IDAxiOddBrillBH EinsteinInitialData/IDBrillData EinsteinInitialData/IDConstraintViolate EinsteinInitialData/IDFileADM EinsteinInitialData/IDLinearWaves CactusWave/IDScalarWave CactusWave/IDScalarWaveC CactusWave/IDScalarWaveCXX CactusWave/IDScalarWaveElliptic CactusExamples/IDWaveMoL CactusBase/IOASCII CactusBase/IOBasic CactusPUGHIO/IOHDF5 CactusPUGHIO/IOHDF5Util CactusIO/IOJpeg CactusBase/IOUtil CactusBase/InitBase CactusNumerical/InterpToArray EinsteinExact/KerrSchild ExternalLibraries/LAPACK ExternalLibraries/LORENE CactusNumerical/LocalInterp CactusNumerical/LocalInterp2 CactusNumerical/LocalReduce Carpet/LoopControl McLachlan/ML_ADMConstraints McLachlan/ML_ADMQuantities McLachlan/ML_BSSN McLachlan/ML_BSSN_Helper McLachlan/ML_BSSN_Test McLachlan/ML_CCZ4 McLachlan/ML_CCZ4_Helper McLachlan/ML_CCZ4_Test McLachlan/ML_WaveToy McLachlan/ML_WaveToy_Test ExternalLibraries/MPI CactusUtils/MemSpeed EinsteinInitialData/Meudon_Bin_BH EinsteinInitialData/Meudon_Bin_NS EinsteinInitialData/Meudon_Mag_NS EinsteinExact/Minkowski CactusNumerical/MoL EinsteinExact/ModifiedSchwarzschildBL EinsteinAnalysis/Multipole CactusUtils/NaNCatcher CactusUtils/NaNChecker EinsteinEvolve/NewRad CactusUtils/Nice EinsteinInitialData/NoExcision CactusUtils/NoMPI CactusNumerical/Noise CactusNumerical/Norms PITTNullCode/NullConstr PITTNullCode/NullDecomp PITTNullCode/NullEvolve PITTNullCode/NullExact PITTNullCode/NullGrid PITTNullCode/NullInterp PITTNullCode/NullNews PITTNullCode/NullPsiInt PITTNullCode/NullSHRExtract PITTNullCode/NullVars ExternalLibraries/OpenSSL EinsteinAnalysis/Outflow ExternalLibraries/PAPI CactusPUGH/PUGH CactusPUGH/PUGHInterp CactusPUGH/PUGHReduce CactusPUGH/PUGHSlab CactusNumerical/Periodic LSUThorns/PeriodicCarpet CactusExamples/Poisson AEIThorns/PunctureTracker LSUThorns/QuasiLocalMeasures Carpet/ReductionTest Carpet/ReductionTest2 Carpet/ReductionTest3 CactusNumerical/ReflectionSymmetry Carpet/RegridSyncTest EinsteinInitialData/RotatingDBHIVP CactusNumerical/RotatingSymmetry180 CactusNumerical/RotatingSymmetry90 CactusExamples/SampleBoundary CactusExamples/SampleIO EinsteinUtils/SetMask_SphericalSurface EinsteinExact/ShiftedGaugeWave CactusNumerical/Slab CactusNumerical/SlabTest CactusConnect/Socket CactusNumerical/SpaceMask PITTNullCode/SphericalHarmonicDecomp PITTNullCode/SphericalHarmonicRecon CactusNumerical/SphericalSurface EinsteinBase/StaticConformal LSUThorns/SummationByParts CactusBase/SymBase AEIThorns/SystemStatistics CactusUtils/SystemTopology CactusElliptic/TATelliptic EinsteinUtils/TGRtensor EinsteinInitialData/TOVSolver CactusUtils/TerminationTrigger CactusTest/TestArrays Carpet/TestCarpetGridInfo CactusTest/TestComplex CactusTest/TestCoordinates CactusTest/TestFortranCrayPointers CactusTest/TestFortranDependencies1 CactusTest/TestFortranDependencies2 CactusTest/TestFpointerNULL CactusTest/TestFreeF90 CactusTest/TestGlobalReduce CactusTest/TestInclude1 CactusTest/TestInclude2 CactusNumerical/TestLocalInterp2 CactusNumerical/TestLocalReduce CactusTest/TestLoop Carpet/TestLoopControl CactusTest/TestMath CactusTest/TestMoL CactusTest/TestPar CactusTest/TestReduce CactusTest/TestSchedule CactusTest/TestStrings CactusTest/TestTable CactusTest/TestTimers CactusTest/TestTypes CactusBase/Time CactusExamples/TimerInfo CactusUtils/TimerReport Carpet/Timers EinsteinBase/TmunuBase AEIThorns/Trigger EinsteinInitialData/TwoPunctures EinsteinExact/Vaidya2 LSUThorns/Vectors CactusWave/WaveBinarySource CactusExamples/WaveMoL CactusExamples/WaveToy1DF77 CactusExamples/WaveToy2DF77 CactusWave/WaveToyC CactusWave/WaveToyCXX CactusWave/WaveToyExtra CactusWave/WaveToyF77 CactusWave/WaveToyF90 CactusWave/WaveToyFreeF90 EinsteinAnalysis/WeylScal4 ExternalLibraries/hwloc ExternalLibraries/libjpeg ExternalLibraries/zlib Formaline: Creating git local repository... Formaline: Pushing source tree to master git repository... Formaline: Pushing to local repository /home/rhaas/Cactus/../CactusSourceJar.git... Formaline: Optimising git repository (slow only the first time)... Formaline: Done. Formaline: (Formaline has finished updating the git repositories. Formaline: If the build process seems to hang, some other command Formaline: is still running, e.g. the final link stage.) /home/rhaas/Cactus/configs/sim/scratch/external/hwloc/lib/libhwloc.a (topology-linux.o): In function `hwloc_linux_set_thisthread_membind': /home/rhaas/Cactus/configs/sim/scratch/build/hwloc/hwloc-1.10.1/src /topology-linux.c:1302: undefined reference to `migrate_pages' /home/rhaas/Cactus/configs/sim/scratch/build/hwloc/hwloc-1.10.1/src /topology-linux.c:1314: undefined reference to `set_mempolicy' /home/rhaas/Cactus/configs/sim/scratch/build/hwloc/hwloc-1.10.1/src /topology-linux.c:1291: undefined reference to `set_mempolicy' /home/rhaas/Cactus/configs/sim/scratch/external/hwloc/lib/libhwloc.a (topology-linux.o): In function `hwloc_linux_set_area_membind': /home/rhaas/Cactus/configs/sim/scratch/build/hwloc/hwloc-1.10.1/src /topology-linux.c:1243: undefined reference to `mbind' /home/rhaas/Cactus/configs/sim/scratch/build/hwloc/hwloc-1.10.1/src /topology-linux.c:1224: undefined reference to `mbind' /home/rhaas/Cactus/configs/sim/scratch/external/hwloc/lib/libhwloc.a (topology-linux.o): In function `hwloc_linux_find_kernel_max_numnodes': /home/rhaas/Cactus/configs/sim/scratch/build/hwloc/hwloc-1.10.1/src /topology-linux.c:1347: undefined reference to `get_mempolicy' /home/rhaas/Cactus/configs/sim/scratch/external/hwloc/lib/libhwloc.a (topology-linux.o): In function `hwloc_linux_get_area_membind': /home/rhaas/Cactus/configs/sim/scratch/build/hwloc/hwloc-1.10.1/src /topology-linux.c:1445: undefined reference to `get_mempolicy' /home/rhaas/Cactus/configs/sim/scratch/external/hwloc/lib/libhwloc.a (topology-linux.o): In function `hwloc_linux_get_thisthread_membind': /home/rhaas/Cactus/configs/sim/scratch/build/hwloc/hwloc-1.10.1/src /topology-linux.c:1392: undefined reference to `get_mempolicy' collect2: error: ld returned 1 exit status /home/rhaas/Cactus/lib/make/make.configuration:149: recipe for target '/home/rhaas/Cactus/exe/cactus_sim' failed make[1]: *** [/home/rhaas/Cactus/exe/cactus_sim] Error 1 Makefile:254: recipe for target 'sim' failed make: *** [sim] Error 2 }}}