Further to my last email on this issue,
Can anyone tell me what version of gcc we should be using for the install? I notice that the Mac Homebrew installation refers to gcc46 - but there seems to be a problem running that on a Mac (it seemed to install OK under home-brew but I get segmentation fault 11- doing gcc-46 —version) :googling this, clang (Apple's LLVM-based C compiler) is intended to be a compatible replacement for gcc? I also tried gcc49 but that gives a problem with linking. If I use the clang compiler, I get a problem with the unknown type name ‘CCTK_COMPLEX16’ etc.
Regards,
Guy
On 12 Dec. 2016, at 5:01 pm, Guy Pitman Guy.pitman@bigpond.com wrote:
Hi,
I am a new user trying to install the simplified demo on a Mac running OSX10.12 (Sierra)
I followed the instructions on https://docs.einsteintoolkit.org/et-docs/Simplified_Tutorial_for_New_Users https://docs.einsteintoolkit.org/et-docs/Simplified_Tutorial_for_New_Users and followed the instructions,
but when I run the command
./simfactory/bin/sim build --mdbkey make 'make -j4' --thornlist=manifest/einsteintoolkit.th http://einsteintoolkit.th/
I at first get CST error 1: -> Configuration script for thorn PTHREADS returned exit code 1 Error message: 'Did not find PTHREADS’
I am not sure where to set the PTHREADS_DIR or what to set it to- I also tried editing einsteintoolkit.th http://einsteintoolkit.th/ and disabling pthreads and Watchdog but then I get a error
unknown type name 'CCTK_REAL8'
Can anyone help?
Many thanks
Guy
On 19/12/16 07:57, Guy Pitman wrote:
Further to my last email on this issue,
Can anyone tell me what version of gcc we should be using for the install? I notice that the Mac Homebrew installation refers to gcc46 - but there seems to be a problem running that on a Mac (it seemed to install OK under home-brew but I get segmentation fault 11- doing gcc-46 —version) :googling this, clang (Apple's LLVM-based C compiler) is intended to be a compatible replacement for gcc? I also tried gcc49 but that gives a problem with linking. If I use the clang compiler, I get a problem with the *unknown type*
name ‘CCTK_COMPLEX16’ etc.*
Hi Guy!
There is an open ticket about compiling Cactus with clang:
https://trac.einsteintoolkit.org/ticket/1933
so I assume this road will not work.
I suggest using what is specified in the optionlist, which for homebrew and the latest ET release is gcc-6. If you experience linking problems, it's probably a completely different issue: in that case, post again to the list with the exact error message and we can try and solve that too.
Best, Eloisa
On 19 Dec 2016, at 12:48, Eloisa Bentivegna eloisa.bentivegna@ct.infn.it wrote:
On 19/12/16 07:57, Guy Pitman wrote:
Further to my last email on this issue,
Can anyone tell me what version of gcc we should be using for the install? I notice that the Mac Homebrew installation refers to gcc46 - but there seems to be a problem running that on a Mac (it seemed to install OK under home-brew but I get segmentation fault 11- doing gcc-46 —version) :googling this, clang (Apple's LLVM-based C compiler) is intended to be a compatible replacement for gcc? I also tried gcc49 but that gives a problem with linking. If I use the clang compiler, I get a problem with the *unknown type*
name ‘CCTK_COMPLEX16’ etc.*Hi Guy!
There is an open ticket about compiling Cactus with clang:
https://trac.einsteintoolkit.org/ticket/1933
so I assume this road will not work.
You will also need a fortran compiler, and many other libraries, so using macports or homebrew is probably the easiest solution.
I suggest using what is specified in the optionlist, which for homebrew and the latest ET release is gcc-6. If you experience linking problems, it's probably a completely different issue: in that case, post again to the list with the exact error message and we can try and solve that too.
It can be quite tricky to get all the different parts of the optionlist correct for compiling the ET.
Guy, have you followed the exact instructions in either the homebrew or macports optionlists? I imagine it's quite annoying if you already have different compilers etc installed using macports or homebrew. I don't know a good solution to this. I also see that the instructions at https://docs.einsteintoolkit.org/et-docs/Simplified_Tutorial_for_New_Users don't say "Read the top of the optionlist and install the required packages", which they probably should.
On 19/12/16 14:10, Ian Hinder wrote:
I also see that the instructions at https://docs.einsteintoolkit.org/et-docs/Simplified_Tutorial_for_New_Users don't say "Read the top of the optionlist and install the required packages", which they probably should.
Well, there is a Prerequisite section which instructs to pre-install a number of packages, but of course this text can easily become inconsistent with what is contained at the top of the optionlist. Much better to just add a sentence like the one you suggest. Should I change the page?
Eloisa
On 19 Dec 2016, at 18:23, Eloisa Bentivegna eloisa.bentivegna@ct.infn.it wrote:
On 19/12/16 14:10, Ian Hinder wrote:
I also see that the instructions at https://docs.einsteintoolkit.org/et-docs/Simplified_Tutorial_for_New_Users don't say "Read the top of the optionlist and install the required packages", which they probably should.
Well, there is a Prerequisite section which instructs to pre-install a number of packages, but of course this text can easily become inconsistent with what is contained at the top of the optionlist. Much better to just add a sentence like the one you suggest. Should I change the page?
Sure, please go ahead!
On 19/12/16 19:31, Ian Hinder wrote:
On 19 Dec 2016, at 18:23, Eloisa Bentivegna <eloisa.bentivegna@ct.infn.it mailto:eloisa.bentivegna@ct.infn.it> wrote:
On 19/12/16 14:10, Ian Hinder wrote:
I also see that the instructions at https://docs.einsteintoolkit.org/et-docs/Simplified_Tutorial_for_New_Users don't say "Read the top of the optionlist and install the required packages", which they probably should.
Well, there is a Prerequisite section which instructs to pre-install a number of packages, but of course this text can easily become inconsistent with what is contained at the top of the optionlist. Much better to just add a sentence like the one you suggest. Should I change the page?
Sure, please go ahead!
Done:
https://docs.einsteintoolkit.org/et-docs/Simplified_Tutorial_for_New_Users#P...
Feel free to tweak.
Best, Eloisa
Hi Eloisa
I installed gcc6 and changed the option list to point to that
(CPP = cpp-6 FPP = cpp-6 CC = gcc-6 CXX = g++-6 F90 = gfortran-6
CPPFLAGS = FPPFLAGS = -traditional CFLAGS = -g -std=c11 CXXFLAGS = -g -std=c++14 F90FLAGS = -g -m128bit-long-double -fcray-pointer -ffixed-line-length-none
LDFLAGS = -lgfortran)
But when I run build, I get the error message
Configuration script for thorn FORTRAN returned exit code 1 Error message: 'Fortran thorn requires that a Fortran compiler is defined, but F77 = 'none' and F90 = 'none'. Aborting.’
I have searched for these expressions and found something in
./lib/make/configure, but am not sure how/whether to change it.
Do you have any ideas?
Regards
Guy
On 20 Dec. 2016, at 7:31 am, Eloisa Bentivegna eloisa.bentivegna@ct.infn.it wrote:
On 19/12/16 19:31, Ian Hinder wrote:
On 19 Dec 2016, at 18:23, Eloisa Bentivegna <eloisa.bentivegna@ct.infn.it mailto:eloisa.bentivegna@ct.infn.it> wrote:
On 19/12/16 14:10, Ian Hinder wrote:
I also see that the instructions at https://docs.einsteintoolkit.org/et-docs/Simplified_Tutorial_for_New_Users don't say "Read the top of the optionlist and install the required packages", which they probably should.
Well, there is a Prerequisite section which instructs to pre-install a number of packages, but of course this text can easily become inconsistent with what is contained at the top of the optionlist. Much better to just add a sentence like the one you suggest. Should I change the page?
Sure, please go ahead!
Done:
https://docs.einsteintoolkit.org/et-docs/Simplified_Tutorial_for_New_Users#P...
Feel free to tweak.
Best, Eloisa _______________________________________________ Users mailing list Users@einsteintoolkit.org http://lists.einsteintoolkit.org/mailman/listinfo/users
On 20/12/16 03:12, Guy wrote:
Hi Eloisa
I installed gcc6 and changed the option list to point to that
(CPP = cpp-6 FPP = cpp-6 CC = gcc-6 CXX = g++-6 F90 = gfortran-6
CPPFLAGS = FPPFLAGS = -traditional CFLAGS = -g -std=c11 CXXFLAGS = -g -std=c++14 F90FLAGS = -g -m128bit-long-double -fcray-pointer -ffixed-line-length-none
LDFLAGS = -lgfortran)
But when I run build, I get the error message
Configuration script for thorn FORTRAN returned exit code 1 Error message: 'Fortran thorn requires that a Fortran compiler is defined, but F77 = 'none' and F90 = 'none'. Aborting.’
I have searched for these expressions and found something in
./lib/make/configure, but am not sure how/whether to change it.
Do you have any ideas?
Hi!
There's inconsistency here: the options you give above have 'F90 = gfortran-6', but the CST complains that you have both F77 = 'none' and F90 = 'none'.
I suggest restarting from scratch, and making sure (this will be apparent from the first lines of output) that your chosen optionlist is sourced and the various flags look as intended.
Eloisa
On 20 Dec 2016, at 03:12, Guy guy.pitman@bigpond.com wrote:
Hi Eloisa
I installed gcc6 and changed the option list to point to that
(CPP = cpp-6 FPP = cpp-6 CC = gcc-6 CXX = g++-6 F90 = gfortran-6
CPPFLAGS = FPPFLAGS = -traditional CFLAGS = -g -std=c11 CXXFLAGS = -g -std=c++14 F90FLAGS = -g -m128bit-long-double -fcray-pointer -ffixed-line-length-none
LDFLAGS = -lgfortran)
But when I run build, I get the error message
Configuration script for thorn FORTRAN returned exit code 1 Error message: 'Fortran thorn requires that a Fortran compiler is defined, but F77 = 'none' and F90 = 'none'. Aborting.’
I have searched for these expressions and found something in
./lib/make/configure, but am not sure how/whether to change it.
Do you have any ideas?
Hi,
The first thing to try when you get some sort of unexplained error and have been trying different build options, is to remove the configuration and do a fresh build.
rm -rf configs/sim
This will give you a clean slate, and it shouldn't matter what you have done before with the build. The sim setup command has also written some files outside the configs directory; it writes simfactory/etc/defs.local.ini and simfactory/mdb/machines/<machinename>.ini.
I suspect that what happened above is that you edited the optionlist but simfactory didn't know to use the new version. If you edit the optionlist in simfactory/mdb/optionlists/osx-homebrew.cfg, you need to add
--optionlist osx-homebrew.cfg
to the "sim build" command that you use to build. A fresh build will always use the new optionlist, of course.
Please can you wipe the sim configuration as above, and try to rerun the build command. If it doesn't work, please can you post the following:
- The full output from the terminal after wiping the configuration, up to and including the build output and error message - The optionlist you are using (simfactory/mdb/optionlists/osx-homebrew.cfg?) - Your defs.local.ini (this is written by "sim setup", to simfactory/etc/defs.local.ini) - The machine definition file (this is in simfactory/mdb/machines/XXX.ini) where XXX is your machine name, which you can find from "simfactory/bin/sim whoami"
Roland, when you uploaded the osx-sierra results, did you use homebrew or macports?
Hello Ian, all,
Roland, when you uploaded the osx-sierra results, did you use homebrew or macports?
The results in the testsuite page http://einsteintoolkit.org/release-info/parse_testsuite_results.php are for OSX Sierra Homebrew (should have added that to the name as well).
Note: I don't know if gcc 4.6 will actually be sufficient. We need some c++11 features and 4.6 is so very old that I am not sure if they are supported.
Yours, Roland
Hi Ian,
I deleted the Cactus directory and re- downloaded using Homebrew. After running ./simfactory/bin/sim setup --optionlist=osx-homebrew.cfg --runscript generic-mpi.run I checked the simfactory/mdb/optionlists/osx-homebrew.cfg which had the following lines
CPP = cpp-6 FPP = cpp-6 CC = gcc-6 CXX = g++-6 F90 = gfortran-6
CPPFLAGS = FPPFLAGS = -traditional CFLAGS = -g -std=c11 CXXFLAGS = -g -std=c++14 F90FLAGS = -g -m128bit-long-double -fcray-pointer -ffixed-line-length-none
LDFLAGS = -lgfortran
(see attached)
I did not edit anything
I ran ./simfactory/bin/sim build --mdbkey make 'make -j2' --thornlist=manifest/einsteintoolkit.th
and got the following output
Thanks and Regards
Guy
On 21 Dec. 2016, at 4:47 am, Ian Hinder ian.hinder@aei.mpg.de wrote:
On 20 Dec 2016, at 03:12, Guy guy.pitman@bigpond.com wrote:
Hi Eloisa
I installed gcc6 and changed the option list to point to that
(CPP = cpp-6 FPP = cpp-6 CC = gcc-6 CXX = g++-6 F90 = gfortran-6
CPPFLAGS = FPPFLAGS = -traditional CFLAGS = -g -std=c11 CXXFLAGS = -g -std=c++14 F90FLAGS = -g -m128bit-long-double -fcray-pointer -ffixed-line-length-none
LDFLAGS = -lgfortran)
But when I run build, I get the error message
Configuration script for thorn FORTRAN returned exit code 1 Error message: 'Fortran thorn requires that a Fortran compiler is defined, but F77 = 'none' and F90 = 'none'. Aborting.’
I have searched for these expressions and found something in
./lib/make/configure, but am not sure how/whether to change it.
Do you have any ideas?
Hi,
The first thing to try when you get some sort of unexplained error and have been trying different build options, is to remove the configuration and do a fresh build.
rm -rf configs/sim
This will give you a clean slate, and it shouldn't matter what you have done before with the build. The sim setup command has also written some files outside the configs directory; it writes simfactory/etc/defs.local.ini and simfactory/mdb/machines/<machinename>.ini.
I suspect that what happened above is that you edited the optionlist but simfactory didn't know to use the new version. If you edit the optionlist in simfactory/mdb/optionlists/osx-homebrew.cfg, you need to add
--optionlist osx-homebrew.cfg
to the "sim build" command that you use to build. A fresh build will always use the new optionlist, of course.
Please can you wipe the sim configuration as above, and try to rerun the build command. If it doesn't work, please can you post the following:
- The full output from the terminal after wiping the configuration, up to and including the build output and error message
- The optionlist you are using (simfactory/mdb/optionlists/osx-homebrew.cfg?)
- Your defs.local.ini (this is written by "sim setup", to)
- The machine definition file (this is in simfactory/mdb/machines/XXX.ini) where XXX is your machine name, which you can find from "simfactory/bin/sim whoami"
Roland, when you uploaded the osx-sierra results, did you use homebrew or macports?
-- Ian Hinder http://members.aei.mpg.de/ianhin
On 20 Dec 2016, at 23:56, Guy guy.pitman@bigpond.com wrote:
Hi Ian,
I deleted the Cactus directory and re- downloaded using Homebrew. After running ./simfactory/bin/sim setup --optionlist=osx-homebrew.cfg --runscript generic-mpi.run I checked the simfactory/mdb/optionlists/osx-homebrew.cfg which had the following lines
CPP = cpp-6 FPP = cpp-6 CC = gcc-6 CXX = g++-6 F90 = gfortran-6
CPPFLAGS = FPPFLAGS = -traditional CFLAGS = -g -std=c11 CXXFLAGS = -g -std=c++14 F90FLAGS = -g -m128bit-long-double -fcray-pointer -ffixed-line-length-none
LDFLAGS = -lgfortran
(see attached)
I did not edit anything
I ran ./simfactory/bin/sim build --mdbkey make 'make -j2' --thornlist=manifest/einsteintoolkit.th
and got the following output
<Einsteintoolkit_build.rtf> <osx-homebrew.cfg> <Guy-Pitman.local.ini> <defs.local.ini>
Thanks and Regards
Dear Guy,
This is extremely helpful, thanks very much! The first error that you are getting is
/var/folders/1z/c34gnlxn24s77twgl7kwjvbw0000gq/T//cccA3AqQ.s:27:suffix or operands invalid for `movq'
while compiling fortran code. After a bit of googling, I came across this:
https://github.com/Homebrew/legacy-homebrew/issues/45258
This seems to be related to the version of the assembler "as" that is being used. Can you post the output of
as -v
as well as
which as
so we can see which assembler is being used?
This person in that bug report found that there was some conflict related to also having MacPorts installed. Maybe gfortran or one of its libraries is being picked up from the wrong place, or an incompatible assembler is being found? Do you have anything from macports installed, e.g. in /opt/local? If so, then you could temporarily remove it by moving /opt/local to /opt/local-tmp and trying the ET build again. You don't need to check out the code or run sim setup again, you can just rm -rf configs/sim and rerun the build command.
I'm not very familiar with homebrew, but apparently there is a "brew doctor" command which can diagnose potential problems with the homebrew installation. Can you try running that?
Since you have checked out the ET fresh, and are using the standard files without any changes, we need to work out what is different between your system and Roland's, where he tested it. It is likely a difference with other installed software which is being picked up accidentally (e.g. other homebrew packages, other software in /usr/local, or something from macports in /opt/local). Unfortunately, with so many different options for installing software, and different versions available, it is really hard to provide something which works out of the box for every possible system configuration.
Hi Ian,
Good news!
I followed your instructions- ran brew doctor and cleaned up macports etc and then re-built, and now it is running.
Many thanks for your help.
Regards
Guy
On 21 Dec. 2016, at 9:03 pm, Ian Hinder ian.hinder@aei.mpg.de wrote:
On 20 Dec 2016, at 23:56, Guy guy.pitman@bigpond.com wrote:
Hi Ian,
I deleted the Cactus directory and re- downloaded using Homebrew. After running ./simfactory/bin/sim setup --optionlist=osx-homebrew.cfg --runscript generic-mpi.run I checked the simfactory/mdb/optionlists/osx-homebrew.cfg which had the following lines
CPP = cpp-6 FPP = cpp-6 CC = gcc-6 CXX = g++-6 F90 = gfortran-6
CPPFLAGS = FPPFLAGS = -traditional CFLAGS = -g -std=c11 CXXFLAGS = -g -std=c++14 F90FLAGS = -g -m128bit-long-double -fcray-pointer -ffixed-line-length-none
LDFLAGS = -lgfortran
(see attached)
I did not edit anything
I ran ./simfactory/bin/sim build --mdbkey make 'make -j2' --thornlist=manifest/einsteintoolkit.th
and got the following output
<Einsteintoolkit_build.rtf> <osx-homebrew.cfg> <Guy-Pitman.local.ini> <defs.local.ini>
Thanks and Regards
Dear Guy,
This is extremely helpful, thanks very much! The first error that you are getting is
/var/folders/1z/c34gnlxn24s77twgl7kwjvbw0000gq/T//cccA3AqQ.s:27:suffix or operands invalid for `movq'
while compiling fortran code. After a bit of googling, I came across this:
https://github.com/Homebrew/legacy-homebrew/issues/45258
This seems to be related to the version of the assembler "as" that is being used. Can you post the output of
as -v
as well as
which as
so we can see which assembler is being used?
This person in that bug report found that there was some conflict related to also having MacPorts installed. Maybe gfortran or one of its libraries is being picked up from the wrong place, or an incompatible assembler is being found? Do you have anything from macports installed, e.g. in /opt/local? If so, then you could temporarily remove it by moving /opt/local to /opt/local-tmp and trying the ET build again. You don't need to check out the code or run sim setup again, you can just rm -rf configs/sim and rerun the build command.
I'm not very familiar with homebrew, but apparently there is a "brew doctor" command which can diagnose potential problems with the homebrew installation. Can you try running that?
Since you have checked out the ET fresh, and are using the standard files without any changes, we need to work out what is different between your system and Roland's, where he tested it. It is likely a difference with other installed software which is being picked up accidentally (e.g. other homebrew packages, other software in /usr/local, or something from macports in /opt/local). Unfortunately, with so many different options for installing software, and different versions available, it is really hard to provide something which works out of the box for every possible system configuration.
-- Ian Hinder http://members.aei.mpg.de/ianhin
On 22 Dec 2016, at 06:41, Guy guy.pitman@bigpond.com wrote:
Hi Ian,
Good news!
I followed your instructions- ran brew doctor and cleaned up macports etc and then re-built, and now it is running.
Many thanks for your help.
Excellent! Let us know if you have any more problems.
Happy to help!
users@lists.einsteintoolkit.org