Thank you.> On Jul 3, 2019, at 4:04 AM, Justin Clift <justin at postgresql.org> wrote: > > On 2019-07-01 00:22, Marty Itzkowitz via llvm-dev wrote: >> I also tried spack install llvm at develop on a POWER9 (ppc641e) >> machine, but I can not find a compiler that >> will compile it. gcc 4.8.5 is reported as too old, and gcc 7.3.0 and >> 8.1.0 both fail in the same place: >> >> 9069 /home/msi3/hpct/spack/var/spack/stage/llvm-develop-iu3myet5ceoz4q7 >> k5twmk4dlths3aemz/spack-src/projects/libcxx/include/chrono:876:59: >> error: '(9.223372036854775807e+18 / 1.0e+9)' is not a constant ex >> pression >> Can anyone tell me what compiler to use, or how to get past this error?I gave up on llvm at develop, and tried llvm, which tried to give me 8.0.0. It did not report gcc 4.8.5 as being too old, but it did give the same error as above. Why does the source use (9.223372036854775807e+18 / 1.0e+9) rather than (9.223372036854775807e+9) ? The latter is really a constant and not an expression, so it would not give the same error. I am also curious as to what a constant with 19 significant figures would be used for. Is there some compiler that would work? Thanks again, Marty Itzkowitz
On 2019-07-04 01:29, Marty Itzkowitz wrote: <snip>>> On 2019-07-01 00:22, Marty Itzkowitz via llvm-dev wrote: >>> I also tried spack install llvm at develop on a POWER9 (ppc641e) >>> machine, but I can not find a compiler that >>> will compile it. gcc 4.8.5 is reported as too old, and gcc 7.3.0 and >>> 8.1.0 both fail in the same place: >>> >> 9069 /home/msi3/hpct/spack/var/spack/stage/llvm-develop-iu3myet5ceoz4q7 >>> >>> k5twmk4dlths3aemz/spack-src/projects/libcxx/include/chrono:876:59: >>> error: '(9.223372036854775807e+18 / 1.0e+9)' is not a >>> constant ex >>> pression >>> Can anyone tell me what compiler to use, or how to get past this >>> error? > > I gave up on llvm at develop, and tried llvm, which tried to give me > 8.0.0. It did not report gcc 4.8.5 > as being too old, but it did give the same error as above. > > Why does the source use (9.223372036854775807e+18 / 1.0e+9) rather than > (9.223372036854775807e+9) ? The latter is really a constant and not > an expression, > so it would not give the same error. > > I am also curious as to what a constant with 19 significant figures > would be used for.Not sure personally, as I've not touched the libcxx source before. Looking at line 876 for libcxx/include/chrono, gives this: https://github.com/llvm/llvm-project/blob/d2298e74235598f15594fe2c99bbac870a507c59/libcxx/include/chrono#L876 Nothing is obviously weird there though. Not sure where the complained about constant is coming from, but if you can figure out it's source location you should be able to use "git blame" to determine the commit which added it. And (in theory) that should have info in it explaining the where/why of it. ;)> Is there some compiler that would work?I used gcc 4.8.5 to compile LLVM ~8.0.1-rc2 on CentOS 7 AMD64 not long ago, which worked ok. That was using cmake, with these specific options (in case that's useful): $ mkdir $HOME/local/source $ cd $HOME/local/source $ git clone -b release/8.x https://github.com/llvm/llvm-project $ mkdir build $ cd build $ cmake \ -G Ninja \ -DCMAKE_INSTALL_PREFIX=/opt/llvm8 \ -DCMAKE_BUILD_TYPE=Release \ -DLIBCLANG_BUILD_STATIC=ON \ -DLLVM_CCACHE_BUILD=ON \ -DLLVM_CCACHE_DIR=$HOME/local/source/ccache \ -DLLVM_ENABLE_ASSERTIONS=OFF \ -DLLVM_ENABLE_LIBCXX=ON \ -DLLVM_ENABLE_PROJECTS='clang;lld' \ -DLLVM_OPTIMIZED_TABLEGEN=ON \ -DLLVM_TARGETS_TO_BUILD='X86;ARM;AArch64;WebAssembly' \ $HOME/local/source/llvm-project/llvm $ ninja-build Maybe give that a shot, and if it builds ok, it should be enough of the compiler to be useful, or for then building the libcxx stuff you're after. Hopefully. :) Regards and best wishes, Justin Clift
Thanks. More below.> On Jul 3, 2019, at 12:06 PM, Justin Clift <justin at postgresql.org> wrote: > > Not sure personally, as I've not touched the libcxx source before. Looking > at line 876 for libcxx/include/chrono, gives this: > > https://github.com/llvm/llvm-project/blob/d2298e74235598f15594fe2c99bbac870a507c59/libcxx/include/chrono#L876 <https://github.com/llvm/llvm-project/blob/d2298e74235598f15594fe2c99bbac870a507c59/libcxx/include/chrono#L876> > > Nothing is obviously weird there though. Not sure where the complained about > constant is coming from, but if you can figure out it's source location you > should be able to use "git blame" to determine the commit which added it. > > And (in theory) that should have info in it explaining the where/why of it. ;) > > >> Is there some compiler that would work? > > I used gcc 4.8.5 to compile LLVM ~8.0.1-rc2 on CentOS 7 AMD64 not long ago, > which worked ok. That was using cmake, with these specific options (in case > that's useful):I’ve installed it successfully on both x86 and ARM. It’s only on POWER9 (ppc641e) that it fails. That one is not in your TARGETS_TO_BUILD list, alas. Thanks, Marty> > $ mkdir $HOME/local/source > $ cd $HOME/local/source > $ git clone -b release/8.x https://github.com/llvm/llvm-project <https://github.com/llvm/llvm-project> > $ mkdir build > $ cd build > > $ cmake \ > -G Ninja \ > -DCMAKE_INSTALL_PREFIX=/opt/llvm8 \ > -DCMAKE_BUILD_TYPE=Release \ > -DLIBCLANG_BUILD_STATIC=ON \ > -DLLVM_CCACHE_BUILD=ON \ > -DLLVM_CCACHE_DIR=$HOME/local/source/ccache \ > -DLLVM_ENABLE_ASSERTIONS=OFF \ > -DLLVM_ENABLE_LIBCXX=ON \ > -DLLVM_ENABLE_PROJECTS='clang;lld' \ > -DLLVM_OPTIMIZED_TABLEGEN=ON \ > -DLLVM_TARGETS_TO_BUILD='X86;ARM;AArch64;WebAssembly' \ > $HOME/local/source/llvm-project/llvm > > $ ninja-build > > Maybe give that a shot, and if it builds ok, it should be enough of the > compiler to be useful, or for then building the libcxx stuff you're after.-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190703/112f6ad3/attachment-0001.html>