

















@chn Ah thanks, this has worked for me!
@releddev I mean modify PKGBUILD file with export CC=gcc-8 and so on at about line 41.
@chn im experiencing the same error like you even after setting the environment variables as you've suggested. Any idea why that could be? I've checked the variables were set with printenv before makepkg -i and after installing gcc8 and fortran8.
@chn it looks like a regression with gfortran>=10. Let's continue discussion in issue thread on GitHub. As for now building with GCC8 is recommended
@diviktor Thank you for your suggestion about MAKEFLAGS.
This is the error when running makepkg -si, which seems caused in make install
==> 正在进入 fakeroot 环境...
==> 正在开始 package()...
/usr/bin/install -c -d -m 0755 /home/chn/Desktop/libint2/pkg/libint2/usr/include/libint2
/usr/bin/install -c -d -m 0755 /home/chn/Desktop/libint2/pkg/libint2/usr/lib
/usr/bin/install -c -d -m 0755 /home/chn/Desktop/libint2/pkg/libint2/usr/lib/pkgconfig
/usr/bin/install -c -m 0644 /home/chn/Desktop/libint2/src/build/libint-2.6.0/./include/libint2.h /home/chn/Desktop/libint2/pkg/libint2/usr/include
/bin/sh ./libtool --quiet --mode=install --tag=CXX /usr/bin/install -c -m 0644 lib/libint2.la /home/chn/Desktop/libint2/pkg/libint2/usr/lib
/usr/bin/install -c -d -m 0755 /home/chn/Desktop/libint2/pkg/libint2/usr/lib/cmake/libint2
/usr/bin/install -c -m 0644 ./libint2.pc /home/chn/Desktop/libint2/pkg/libint2/usr/lib/pkgconfig
/usr/bin/install -c -m 0644 /home/chn/Desktop/libint2/src/build/libint-2.6.0/./include/libint2.hpp /home/chn/Desktop/libint2/pkg/libint2/usr/include
/usr/bin/install -c -m 0644 /home/chn/Desktop/libint2/src/build/libint-2.6.0/./FindLibint2.cmake /home/chn/Desktop/libint2/pkg/libint2/usr/lib/cmake/libint2
/usr/bin/install -c -d -m 0755 /home/chn/Desktop/libint2/pkg/libint2/usr/share/libint/2.6.0/basis
/usr/bin/install -c -m 0644 /home/chn/Desktop/libint2/src/build/libint-2.6.0/./include/libint2/*.h /home/chn/Desktop/libint2/pkg/libint2/usr/include/libint2
(cd fortran && make) || exit 1
/usr/bin/install -c -m 0644 /home/chn/Desktop/libint2/src/build/libint-2.6.0/./lib/basis/* /home/chn/Desktop/libint2/pkg/libint2/usr/share/libint/2.6.0/basis
make[1]: 警告: jobserver 不可用: 正使用 -j1。添加 “+” 到父 make 的规则。
make[1]: 进入目录“/home/chn/Desktop/libint2/src/build/libint-2.6.0/fortran”
g++ -E -DHAVE_CONFIG_H -D__COMPILING_LIBINT2=1 -D__COMPILING_LIBINT2=1 -I../include -I..//include -D_FORTIFY_SOURCE=2 -I/usr/include -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -mfma -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -mfma ../include/libint2.h > ../include/libint2.h.i
/usr/bin/install -c -m 0644 /home/chn/Desktop/libint2/src/build/libint-2.6.0/./include/libint2_*.h /home/chn/Desktop/libint2/pkg/libint2/usr/include/libint2
/usr/bin/install -c -m 0644 ./include/libint2/config.h /home/chn/Desktop/libint2/pkg/libint2/usr/include/libint2
/usr/bin/install -c -d -m 0755 /home/chn/Desktop/libint2/pkg/libint2/usr/include/libint2/chemistry
/usr/bin/install -c -m 0644 /home/chn/Desktop/libint2/src/build/libint-2.6.0/./include/libint2/chemistry/*.h /home/chn/Desktop/libint2/pkg/libint2/usr/include/libint2/chemistry
/usr/bin/install -c -d -m 0755 /home/chn/Desktop/libint2/pkg/libint2/usr/include/libint2/lcao
/usr/bin/install -c -m 0644 /home/chn/Desktop/libint2/src/build/libint-2.6.0/./include/libint2/lcao/*.h /home/chn/Desktop/libint2/pkg/libint2/usr/include/libint2/lcao
/usr/bin/install -c -d -m 0755 /home/chn/Desktop/libint2/pkg/libint2/usr/include/libint2/util
/usr/bin/install -c -m 0644 /home/chn/Desktop/libint2/src/build/libint-2.6.0/./include/libint2/util/*.h /home/chn/Desktop/libint2/pkg/libint2/usr/include/libint2/util
/usr/bin/install -c -d -m 0755 /home/chn/Desktop/libint2/pkg/libint2/usr/include/libint2/util/generated
/usr/bin/install -c -m 0644 /home/chn/Desktop/libint2/src/build/libint-2.6.0/./include/libint2/util/generated/*.h /home/chn/Desktop/libint2/pkg/libint2/usr/include/libint2/util/generated
if test "X1" = "X0"; then `gunzip -c /home/chn/Desktop/libint2/src/build/libint-2.6.0/./external/boost.tar.gz | tar -xf - -C /home/chn/Desktop/libint2/pkg/libint2/usr/include/libint2`; fi
python c_to_f.py ../include/libint2.h.i libint2_types_f.h Libint_t
grep '^#' ../include/libint2_types.h | grep -v '#include' > fortran_incldefs.h
FC libint_f.o
../include/libint2/util/generated/libint2_params.h:29:0:
29 | # if __has_include(<libint2_params.h>)
|
错误: missing '(' before "__has_include" operand
../include/libint2/util/generated/libint2_params.h:29:0: 错误: operator "__has_include" requires a header-name
make[1]: *** [../MakeSuffixRules:12:libint_f.o] 错误 1
make[1]: 离开目录“/home/chn/Desktop/libint2/src/build/libint-2.6.0/fortran”
make: *** [Makefile:38:fortran] 错误 1
make: *** 正在等待未完成的任务....
libtool: warning: remember to run 'libtool --finish /usr/lib'
==> 错误: 在 package() 中发生一个错误。
正在放弃...
("错误" in Chinese means "error".)
@chn could you please provide more info about error messages? Also you shouldn't set -jX flag manually - be sure that you have proper MAKEFLAGS set in /etc/makepkg.conf - makepkg honors them
Hi,
The package will build failed with the last gcc (version 10). After switch to gcc-8, it works fine.
export CC=gcc-8
export CXX=g++-8
export FC=gfortran-8
What is more, building could take much less time with -j $ncore. In the last lines of build():
ncore=$(cat /proc/cpuinfo| grep "processor"| wc -l)
make -j $ncore
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。
The code
cmake --build . checkin PKGBUILD doesn't work.cmake --build . --target checkworks well for me.