Closed parsipal closed 5 years ago
Thanks for reporting, We'll take a look.
@marcosvanella , @rmcdermo Did you receive any sort of this warnings when you run it on your platforms?
No warnings.
not a satisfying answer but the best I can give. fds was built on sierra. apparently fds uses clock_gettime (or a timing routine that uses this function) . According to my googling, clock_gettime is available in sierra but not el capitain, an older OS. I suggest you update your OS to sierra.
I'm not a mac user. But give this a try:
xcode-select --install
Thx a lot Mr. Forney. @sbenkorichi: I will try.
the missing symbol, _clock_gettime, is not available in the el capitain version of xcode which is the problem -
see "Apple has (finally) introduced the clock_gettime posix API in Sierra. Our configure script detects this and enable usage of it. Since the binary isn't executed on Sierra, but instead on El Capitain where this functionality doesn't exist," at https://bugs.erlang.org/browse/ERL-256 for example
On Fri, Nov 3, 2017 at 1:42 PM, Salah Benkorichi notifications@github.com wrote:
I'm not a mac user. But give this a try: xcode-select --install
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/firemodels/fds/issues/5674#issuecomment-341776544, or mute the thread https://github.com/notifications/unsubscribe-auth/AL1BRljcsENwvbwT6P7YNgJKd4H-l_6kks5sy1BzgaJpZM4QRY4A .
-- Glenn Forney
Glenn, Let's see if my suggestion would help or not.
try fds here. It was built using a makefile option that claims to build software compatible with 10.11 (el capitain). It may still not work, I have not yet built the OpenMPI library with the same option . (If this test doesn't work I will try this)
https://drive.google.com/drive/folders/0B-W-dkXwdHWNV1ZObGtBUTgxSjg?usp=sharing
Don't think it is a good idea to be asking people to be installing Xcode. We need to either be able to build fds compatible with X.Y.Z version of an OS or tell people which version of the OS we support.
@gforney : i tried to download the file "fds_mpi_intel_osx_64.dms"
Here the output: ./fds_mpi_intel_osx_64.dms dyld: lazy symbol binding failed: Symbol not found: _clock_gettime Referenced from: /Users/giovanni/Downloads/./fds_mpi_intel_osx_64.dms Expected in: flat namespace
dyld: Symbol not found: _clock_gettime Referenced from: /Users/giovanni/Downloads/./fds_mpi_intel_osx_64.dms Expected in: flat namespace
Trace/BPT trap: 5
Glenn, The only reason I suggested because I saw it was provided as a fix for people having same bug when trying to install ruby, here is an example: https://github.com/rvm/rvm/issues/3744 But, as you said if it's better to provide a code with compatibility to this particular platform, that would do it.
Doesn't work. Same errors.
@parsipal ok, thanks. I will try rebuild openmpi using the same option ( option claiming to be compatible with older OSs). Your other options are to try sbenkorichi's solution from rvm/rvm#3744 or to update your OS.
try installing fds using bundle located here. fds and the underlying openmpi library were both built using options which in theory make them compatible with El capitan (OS 10.11 ).
https://drive.google.com/file/d/0B-W-dkXwdHWNRm5MNHRhX2FOSEk/view?usp=sharing
@gforney : I downloaded new file from https://drive.google.com/file/d/0B-W-dkXwdHWNRm5MNHRhX2FOSEk/view?usp=sharing
But I got same errors
1) INSTALLATION NEW FILES (as admin) ./FDS_*.sh
Installing FDS 6.6.0 and Smokeview 6.6.0 for OSX
Options:
1) Press
FDS install options Press 1 to install in /Applications/FDS/FDS6 [default] Press 2 to install in /Users/main/FDS/FDS6 Enter a directory path to install elsewhere 1
Installation directory: /Applications/FDS/FDS6 OpenMPI directory: /Applications/FDS/FDS6/bin/openmpi_64 Proceed? (yes/no) yes
Installation beginning Creating directory /Applications/FDS/FDS6 The installation directory, /Applications/FDS/FDS6, has been created.
Copying FDS installation files to /Applications/FDS/FDS6 unpacking OpenMPI distribution to /Applications/FDS/FDS6/bin Copy complete. Creating directory /Applications/FDS/FDS6/bin/modules The installation directory, /Applications/FDS/FDS6/bin/modules, has been created.
*** To complete the installation add the following lines to your startup file (usually /Users/main/.bashrc).
export PATH=/Applications/FDS/FDS6/bin:$PATH export PATH=/Applications/FDS/FDS6/bin:$PATH export PATH=/Applications/FDS/FDS6/bin/openmpi_64/bin:$PATH export OPAL_PREFIX=/Applications/FDS/FDS6/bin/openmpi_64
export OMP_NUM_THREADS=4
or if you are using modules, add:
export MODULEPATH=/Applications/FDS/FDS6/bin/modules:$MODULEPATH module load FDS6
*** Log out and log back in so the changes will take effect.
*** To uninstall fds, erase the directory: /Applications/FDS/FDS6 and remove any changes made to your startup file.
*** Installation complete.
5) RUN fds dyld: lazy symbol binding failed: Symbol not found: _clock_gettime Referenced from: /Applications/FDS/FDS6/bin/fds Expected in: flat namespace
dyld: Symbol not found: _clock_gettime Referenced from: /Applications/FDS/FDS6/bin/fds Expected in: flat namespace
Trace/BPT trap: 5
Have you tried with xcode?
I tried to update my Xcode ver 8.2.1, but the new version (9.1) isn't compatible OS X El Capitan.
I have two suggestions:
@parsipal
Any luck with this?
Have you tried any of the two options?
I tried to reinstall Xcode 8, but nothing changed and computer can't be updated to Sierra. Now i found it the way to download Xcode 7.3.1. I'll let you know my progress Q: Why Xcode 7? Xcode8 isn't retro-compatible?
I asked to use Xcode 7 , because someone also had this issue when trying with another program that has this dependency, and with xcode8 couldn't function, since asking for clock gettime has started with xcode8. Then, his option was either to update or to use Xcode 7. He used xcode 7 and helped him to get through this issue. Try it and see if it helps in your case as well.
@sbenkorichi: Removed Xcode 8 and installed Xcode 7.3.1, but nothing changed. Same errors.
Ok
I've the same problem with OSX 10.11.6 and XCode 8.2.1.
Other developers have the same problem. I found this solution:
//Xcode 8 fix due to ::clock_gettime issue
# if (defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__))
# include <mach/mach_time.h> // mach_absolute_time, mach_timebase_info_data_t
# define BOOST_INTERPROCESS_MATCH_ABSOLUTE_TIME
# elif defined(CLOCK_MONOTONIC_PRECISE) //BSD
# define BOOST_INTERPROCESS_CLOCK_MONOTONIC CLOCK_MONOTONIC_PRECISE
# elif defined(CLOCK_MONOTONIC_RAW) //Linux
# define BOOST_INTERPROCESS_CLOCK_MONOTONIC CLOCK_MONOTONIC_RAW
# elif defined(CLOCK_HIGHRES) //Solaris
# define BOOST_INTERPROCESS_CLOCK_MONOTONIC CLOCK_HIGHRES
# elif defined(CLOCK_MONOTONIC) //POSIX (AIX, BSD, Linux, Solaris)
# define BOOST_INTERPROCESS_CLOCK_MONOTONIC CLOCK_MONOTONIC
Would this help us (OSX 10.11.X-User)?
Glenn and Marcos are working on this. Hopefully, they can get a fix for this soon.
What's new?
Glenn, What are the options for dealing with this issue?
the only option that I see is to not use El Capitan, but to use the version of the OS that fds was built with - Sierra. I realize this doesn't help the OP but don't know of another solution besides Apple fixing their bug or the OpenMPI folks working around it.
perhaps the ideas in the patch in previous comment can be applied to the OpenMPI source but this would something for the OpenMPI developers to do - (wouldn't work in FDS since FDS is written in Fortran and the patch is to a C library). I will try to report this in their issue tracker.
Good day, after installation and checks (eb: which fds), I tried to launch fds. Here the output:
*** Running Input File: A001.fds dyld: lazy symbol binding failed: Symbol not found: _clock_gettime Referenced from: /Applications/FDS/FDS6/bin/fds Expected in: flat namespace
dyld: Symbol not found: _clock_gettime Referenced from: /Applications/FDS/FDS6/bin/fds Expected in: flat namespace
Any suggestions for solving the problem? thanks in adv. John I.