[Users] Close, but not quite! Undefined symbols for architecture x86_64: "__gfortran_os_error_at

Murray Wolinsky mmwolinsky at gmail.com
Tue Apr 13 19:11:36 CDT 2021


Hi Roland,

It almost worked -- but not quite. The final link failed because, I
believe, of a single missing entry point: "__gfortran_os_error_at" .

The error message is:

Undefined symbols for architecture x86_64:
  "__gfortran_os_error_at", referenced from:
      _ahfinder_ in AHFinder.F.o
      _ahfinder_dis_ in AHFinder_dis.F.o
      _ahfinder_int_ in AHFinder_int.F.o
      _linmin_ in AHFinder_pow.F.o
      _ahfinder_initguess_ in AHFinder_initguess.F.o
      _ahfinder_gau_ in AHFinder_gau.F.o
      ___carpet_boxtypes_MOD_splitregionsrecursive in carpet_boxtypes.F90.o
      ...
ld: symbol(s) not found for architecture x86_64
collect2: error: ld returned 1 exit status
make[1]: *** [/Users/murray/Cactus/exe/cactus_sim] Error 1
make: *** [sim] Error 2

The compilations completed without errors, but with a fair number of
warnings.

I'm googling ("mac gfortran_os_error_at") to see what I can learn. I've
found some possibilities, but nothing that seems terribly promising. I brew
reinstalled gfortran and I re-downloaded the CactusTutorial.ipynb notebook
and I'm trying again.

The file OptionList I used before sets
FPP = cpp-10
F90 = gfortran

That file also specifies:
FPPFLAGS = -traditional
F90FLAGS = -g -fcray-pointer -ffixed-line-length-none
F90_OPTIMISE_FLAGS = -O2
F90_WARN_FLAGS = -Wall
LDFLAGS = -rdynamic
F90_OPENMP_FLAGS =
F90_PROFILE_FLAGS = -pg

I get
> *which gfortran*
/usr/local/bin/gfortran
❯ *gfortran --version*
GNU Fortran (Homebrew GCC 10.2.0_4) 10.2.0
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
> *which gfortran-10*
/usr/local/bin/gfortran-10
❯ *gfortran-10 --version*
GNU Fortran (Homebrew GCC 10.2.0_4) 10.2.0
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Possibly I should add a link library somewhere, but I don't know what,
where or how. (Is it possible I inadvertently deleted a link library
specification in the OptionList file or elsewhere? I thought I saved the
original file, but I overwrote it, which is part of the reason I'm trying
again from the start. The only difference I found from the OptionsList file
I used is that the correct file sets F90 = gfortran-10. But gfortran is
symlinked to gfortran-10, so I don't expect that'll make a difference.)

Any thoughts on fixing the missing reference?

Again, thanks!

Murray

__________________________________________________________________

The build process takes slightly over 3 hours on my Mac. The final output
of the sim build, clean, reconfig run is:

---------------------------------------------
Creating cactus_sim in /Users/murray/Cactus/exe from
EinsteinAnalysis/ADMAnalysis EinsteinBase/ADMBase EinsteinBase/ADMCoupling
Llama/ADMDerivatives EinsteinBase/ADMMacros EinsteinAnalysis/ADMMass
Numerical/AEILocalInterp EinsteinAnalysis/AHFinder
EinsteinAnalysis/AHFinderDirect ExternalLibraries/BLAS WVUThorns/Baikal
WVUThorns/BaikalVacuum CactusBase/Boundary CTThorns/CT_Analytic
CTThorns/CT_MultiLevel 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 WVUThorns/Convert_to_HydroBase CactusBase/CoordBase
EinsteinBase/CoordGauge Llama/Coordinates Llama/CoordinatesSymmetry
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 WVUThorns/FishboneMoncriefID
CactusExamples/FleshInfo CactusUtils/Formaline CactusBase/Fortran
EinsteinEvolve/GRHydro EinsteinEvolve/GRHydro_InitData
ExternalLibraries/GSL EinsteinExact/GaugeWave KrancNumericalTools/GenericFD
WVUThorns/GiRaFFE WVUThorns/GiRaFFE_to_HydroBase WVUThorns/GiRaFFEfood
Llama/GlobalDerivative ExternalLibraries/HDF5 CactusConnect/HTTPD
CactusConnect/HTTPDExtra CactusExamples/HelloWorld Carpet/HighOrderWaveTest
EinsteinBase/HydroBase EinsteinAnalysis/Hydro_Analysis
EinsteinInitialData/Hydro_InitExcision EinsteinInitialData/Hydro_RNSID
EinsteinInitialData/IDAnalyticBH EinsteinInitialData/IDAxiBrillBH
EinsteinInitialData/IDAxiOddBrillBH EinsteinInitialData/IDBrillData
EinsteinInitialData/IDConstraintViolate EinsteinInitialData/IDFileADM
EinsteinInitialData/IDLinearWaves CactusWave/IDScalarWave
CactusWave/IDScalarWaveC CactusWave/IDScalarWaveCXX
CactusWave/IDScalarWaveElliptic CactusExamples/IDWaveMoL
WVUThorns/ID_converter_GiRaFFE WVUThorns/ID_converter_ILGRMHD
CactusBase/IOASCII CactusBase/IOBasic CactusPUGHIO/IOHDF5
CactusPUGHIO/IOHDF5Util CactusIO/IOJpeg CactusBase/IOUtil
WVUThorns/IllinoisGRMHD CactusBase/InitBase CactusNumerical/InterpToArray
Llama/Interpolate2 EinsteinExact/KerrSchild ExternalLibraries/LAPACK
ExternalLibraries/LORENE Lean/LeanBSSNMoL Llama/LlamaWaveToy
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 Lean/NPScalars Proca/NPScalars_Proca
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 Carpet/PeriodicCarpet
CactusExamples/Poisson Proca/ProcaBase Proca/ProcaEvolve
Proca/Proca_simpleID EinsteinAnalysis/PunctureTracker
EinsteinAnalysis/QuasiLocalMeasures EinsteinInitialData/ReadInterpolate
Carpet/ReductionTest Carpet/ReductionTest2 Carpet/ReductionTest3
CactusNumerical/ReflectionSymmetry Carpet/RegridSyncTest
EinsteinInitialData/RotatingDBHIVP CactusNumerical/RotatingSymmetry180
CactusNumerical/RotatingSymmetry90 CactusExamples/SampleBoundary
CactusExamples/SampleIO WVUThorns/Seed_Magnetic_Fields
WVUThorns_Diagnostics/Seed_Magnetic_Fields_BNS
EinsteinUtils/SetMask_SphericalSurface EinsteinExact/ShiftedGaugeWave
WVUThorns/ShiftedKerrSchild CactusNumerical/Slab CactusNumerical/SlabTest
CactusConnect/Socket CactusNumerical/SpaceMask
PITTNullCode/SphericalHarmonicDecomp PITTNullCode/SphericalHarmonicRecon
PITTNullCode/SphericalHarmonicReconGen CactusNumerical/SphericalSurface
EinsteinBase/StaticConformal CactusNumerical/SummationByParts
CactusBase/SymBase CactusUtils/SystemStatistics CactusUtils/SystemTopology
CactusElliptic/TATelliptic EinsteinUtils/TGRtensor
EinsteinInitialData/TOVSolver CactusNumerical/TensorTypes
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/TestReadWrite CactusTest/TestReduce CactusTest/TestSchedule
CactusTest/TestStrings CactusTest/TestTable CactusTest/TestTimers
CactusTest/TestTypes CactusBase/Time CactusExamples/TimerInfo
CactusUtils/TimerReport Carpet/Timers EinsteinBase/TmunuBase
CactusUtils/Trigger EinsteinInitialData/TwoPunctures
Proca/TwoPunctures_KerrProca EinsteinExact/Vaidya2 CactusUtils/Vectors
WVUThorns_Diagnostics/VolumeIntegrals_GRMHD
WVUThorns_Diagnostics/VolumeIntegrals_vacuum CactusUtils/WatchDog
CactusWave/WaveBinarySource Llama/WaveExtractL CactusExamples/WaveMoL
CactusExamples/WaveToy1DF77 CactusExamples/WaveToy2DF77 CactusWave/WaveToyC
CactusWave/WaveToyCXX CactusWave/WaveToyExtra CactusWave/WaveToyF77
CactusWave/WaveToyF90 CactusWave/WaveToyFreeF90 EinsteinAnalysis/WeylScal4
ExternalLibraries/hwloc ExternalLibraries/libjpeg
WVUThorns_Diagnostics/particle_tracerET ExternalLibraries/pthreads
WVUThorns_Diagnostics/smallbPoynET ExternalLibraries/zlib
Undefined symbols for architecture x86_64:
  "__gfortran_os_error_at", referenced from:
      _ahfinder_ in AHFinder.F.o
      _ahfinder_dis_ in AHFinder_dis.F.o
      _ahfinder_int_ in AHFinder_int.F.o
      _linmin_ in AHFinder_pow.F.o
      _ahfinder_initguess_ in AHFinder_initguess.F.o
      _ahfinder_gau_ in AHFinder_gau.F.o
      ___carpet_boxtypes_MOD_splitregionsrecursive in carpet_boxtypes.F90.o
      ...
ld: symbol(s) not found for architecture x86_64
collect2: error: ld returned 1 exit status
make[1]: *** [/Users/murray/Cactus/exe/cactus_sim] Error 1
make: *** [sim] Error 2

============================================================
On Tue, Apr 13, 2021 at 11:50 AM Roland Haas <rhaas at illinois.edu> wrote:

> Hello Murray,
>
> ok. Good to hear that.
>
> My initial email was a send a bit off the cuff since I had not quite
> realized that you were already using the notebook.
>
> OSX is a bit tricky for the ET to support for the reasons that you
> outlined.
>
> When you run "./simfactory/bin/sim setup-silent" simulation factory will
> find the gcc-10 compiler and creates a set of of make options for your
> laptop (there's explicit code in simfactory to recongnize OSX). So
> running this command is essential.
>
> You should not have to adjust anything (though given that the last test
> with Catalina rather than BigSur was about a year ago that may not be
> true anymore if HomeBrew changed too much).
>
> This set of options is tied to your laptop's hostname as reported by
> "hostname -f". Unfortunately this hostname is not "stable" in the
> sense that it may change with time since it can be derived from your
> laptop's IP address obtained from the wireless network. Eg on my test
> laptop it currently reads:
>
> wirelessprvnat-172-16-210-128.near.illinois.edu
>
> So you may have to check that
>
> "./simfactory/bin/sim whoami"
>
> returns the expected machine name and run "./simfactory/bin/sim
> setup-silent" again if it reports an unknown machine.
>
> You can also create a file $HOME/.hostname and add a name that you
> would like simfactory to use for your laptop eg:
>
> echo >$HOME/.hostname "murrays-laptop"
>
> (no spaces allowed).
>
> Yours,
> Roland
>
> > Hi Roland,
> >
> > Thanks so much for your response! I've been struggling with the -fopenmp
> > issue for a couple of days now. I'll try your suggestions and let you
> know
> > if it works. It's encouraging to know that the ET works with Catalina:
> that
> > gives me hope I'll get it to work eventually.
> >
> > I'm using the notebook CactusTutorial.ipynb, and I certainly don't want
> to
> > use clang. But the Mac makes using gcc instead of clang tricky. On my
> > machine, gcc gets clang; you need to enter gcc-10 to get gcc.
> >
> > I verified that gcc (gcc-10) accepts the -fopenmp flag properly. So both
> > gcc and OpenMP seem to work properly on my machine. My problem is
> > convincing ET to use gcc instead of clang! BTW, I'm using brew. It's
> > possible that MacPorts would work better, but I think brew and MacPorts
> are
> > incompatible.
> >
> > Again, thank you and I'll let you know my progress later today.
> >
> > Yours,
> >
> > Murray
> >
> > On Tue, Apr 13, 2021 at 9:55 AM Roland Haas <rhaas at illinois.edu> wrote:
> >
> > > Hello Murray,
> > >
> > > thinking about this a bit more.
> > >
> > > The notebook currently (as of last week) lets me compile and run the ET
> > > using Homebrew (and worked on Catalina in the past).
> > >
> > > One thing to keep in mind is that the various CC/CXX and other
> > > exported env variables are only used the *first* time you attempt to
> > > build and not afterwards.
> > >
> > > You may have more luck having the options be respected by using:
> > >
> > > ./simfactory/bin/sim build --clean --reconfig
> > >
> > > which will recompile from scratch and re-run the configuration stage or
> > > even by manually removing the "configs/sim" directory completely.
> > >
> > > Did you run "simfactory/bin/sim setup-silent" before trying to compile?
> > >
> > > Yours,
> > > Roland
> > >
> > > > Hello Murray,
> > > >
> > > > clang (in particular Apple's version delivered in OSX) is not fully
> > > > supported by the ET (due to, at least historically, no OpenMP
> support,
> > > > no paired Fortran compiler).
> > > >
> > > > Please see the initial section of:
> > > >
> > > >
> https://urldefense.com/v3/__https://github.com/nds-org/jupyter-et/blob/master/CactusTutorial.ipynb__;!!DZ3fjg!vBkInm5NFkd2yeuitJ1Bdg6aPGIDCDXMQZsV-k7fG50QV1uy1SqxbWDXQTfC3_p7$
> > > >
> > > > for how to use the ET on OSX using homebrew or macports.
> > > >
> > > > If you have a Fortran compiler installed you can try disabling openmp
> > > > by setting OPENMP=no in your option list. I strongly advise
> consulting
> > > > the link I provided above and following the (tested and
> > > > verified) instructions there in particular if this is your first time
> > > > using the toolkit.
> > > >
> > > > Yours,
> > > > Roland
> > > >
> > > > > Hi All,
> > > > >
> > > > > Thanks so much for making the Einstein Toolkit software available!
> > > > >
> > > > > I'm using the CactusTutorial.ipynb that I got from your site. I'm
> > > trying to
> > > > > build ET on my 2015 Macbook Pro running OS 10.15.7.
> > > > >
> > > > > I'm stuck at the cell (after) *Building the Einstein Toolkit* .
> > > > > I modified that cell to get past issues with zlib . The cell now
> looks
> > > like:
> > > > >
> > > > > %%bash
> > > > > export ZLIB_DIR=/usr/local/opt/zlib/lib
> > > > > export LDFLAGS="-L/usr/local/opt/zlib/lib"
> > > > > export CPPFLAGS="-I/usr/local/opt/zlib/include"
> > > > > export PKG_CONFIG_PATH="/usr/local/opt/zlib/lib/pkgconfig"
> > > > > ./simfactory/bin/sim build -j2 --thornlist ../einsteintoolkit.th
> > > > >
> > > > > Running that cell eventually stops with the errors
> > > > >
> > > > > COMPILING CactusBase/CoordBase/src/Domain.c
> > > > > COMPILING
> configs/sim/bindings/build/ADMCoupling/cctk_ThornBindings.c
> > > > > clang: error: unsupported option '-fopenmp'
> > > > > make[3]: *** [Domain.c.o] Error 1
> > > > > make[2]: *** [make.checked] Error 2
> > > > > make[1]: ***
> > > [/Users/murray/Cactus/configs/sim/lib/libthorn_CoordBase.a] Error 2
> > > > > make[1]: *** Waiting for unfinished jobs....
> > > > > clang: error: unsupported option '-fopenmp'
> > > > > make[3]: *** [cctk_ThornBindings.c.o] Error 1
> > > > > make[2]: *** [cctk_Bindings/make.checked] Error 2
> > > > > make[1]: ***
> > > [/Users/murray/Cactus/configs/sim/lib/libthorn_ADMCoupling.a]
> > > > > Error 2
> > > > > make: *** [sim] Error 2
> > > > >
> > > > >
> > > > > Can you help? I'm confused by the error message coming from
> clang,
> > > since
> > > > > the ET seems to use gcc, but my attempt to force gcc, by including
> the
> > > > > exports below, made no difference:
> > > > >
> > > > > export CC=gcc-10
> > > > > export CXX=gcc-10
> > > > >
> > > > > I really appreciate any help you are able to provide!
> > > > >
> > > > > Thank you.
> > > > >
> > > > > Murray (Wolinsky)
> > > > > ______________________________________________________
> > > > >
> > > > > Additional (likely irrelevant) notes:
> > > > >
> > > > > I used brew to install the prerequisites. It seemed to have gone
> > > > > more-or-less ok.
> > > > >
> > > > > Brew did issue a somewhat concerning message regarding hdf5:
> > > > >
> > > > > ==> Pouring hdf5-1.12.0_1.catalina.bottle.1.tar.gz
> > > > >
> > > > > Warning: hdf5 dependency gcc was built with a different C++
> standard
> > > > >
> > > > > library (libstdc++ from clang). This may cause problems at runtime.
> > > > >
> > > > >
> > > > > But it didn't provide any guidance into fixing the potential
> problem.
> > > Itried
> > > > >
> > > > >
> > > > > brew reinstall hdf5
> > > > >
> > > > >
> > > > > and brew no longer complains.
> > > > >
> > > > >
> > > > > I also had some issues with the subversion installation. But I
> don't
> > > think
> > > > > they're responsible for my current problem.
> > > > >
> > > > >
> > > > > Also, when I did the step *Configuring SimFactory for your
> machine*, I
> > > got
> > > > > the output:
> > > > >
> > > > > Here we will define some necessary Simulation Factory defaults.
> > > > >
> > > > > Determining local machine name: mw-3.local
> > > > >
> > > > > --------------------SUMMARY--------------------:
> > > > >
> > > > >
> > > > > [default]
> > > > > user            = murray
> > > > > email           = murray
> > > > > allocation      = NO_ALLOCATION
> > > > >
> > > > > ------------------END SUMMARY------------------:
> > > > >
> > > > > Contents successfully written to
> > > > > /Users/murray/Cactus/repos/simfactory2/etc/defs.local.ini
> > > > >
> > > > >
> > > > > which looks OK, but the NO_ALLOCATION message seems like it might
> be
> > > of concern?
> > > >
> > > >
> > >
> > >
> > > --
> > > My email is as private as my paper mail. I therefore support encrypting
> > > and signing email messages. Get my PGP key from
> https://urldefense.com/v3/__http://pgp.mit.edu__;!!DZ3fjg!vBkInm5NFkd2yeuitJ1Bdg6aPGIDCDXMQZsV-k7fG50QV1uy1SqxbWDXQUQagYP8$
> .
> > >
>
>
> --
> My email is as private as my paper mail. I therefore support encrypting
> and signing email messages. Get my PGP key from http://pgp.mit.edu .
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.einsteintoolkit.org/pipermail/users/attachments/20210413/54c0ff91/attachment-0001.html 


More information about the Users mailing list