嗨,我尝试在Travis上构建一个项目,并且我想对master分支使用地址清理器。现在,我从sudo
钩子中使用before-script:
调用以下脚本。
#!/bin/bash
if $SANITIZER; then
## try to get rid of locales that slow down travis
cat /etc/locale.gen | grep '^#' > /etc/locale.gen.new
echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen.new
mv /etc/locale.gen.new /etc/locale.gen
dpkg-divert --divert /usr/share/i18n/SUPPORTED.dpkg --rename /usr/share/i18n/SUPPORTED
echo 'en_US.UTF-8 UTF-8' > /usr/share/i18n/SUPPORTED
# install gcc from disco - the linker will have '--push-state--no-as-needed'
echo "deb http://de.archive.ubuntu.com/ubuntu disco main restricted universe multiverse" \
>> /etc/apt/sources.list
apt-get update
apt-get install binutils $CXX
fi
虽然它确实有效,但我绕过'--push-state--no-as-needed'
,但我并非100%满意。我想知道一个PPA所需的安装量更少,但仍提供了可用的gcc-8或在安装g ++ 8和binutils时确实会抑制语言环境配置的技巧。我已经从bionic
开始移植binutils了,但是事实证明,这工作太多了,因为我没有创建Debian软件包的经验。
帖子中描述的 jonathonf PPA ld: unrecognized option '--push-state--no-as-needed'不能很好地概述潜在问题。