如何在Travis中的Ubuntu 12.04(精确)上安装libc++



在Travis Ubuntu精确的apt白名单中列出了libc++-dev包,我试图通过安装它

# .travis.yml
addons:
  apt:
    sources:
    - ubuntu-toolchain-r-test
    - kubuntu-backports
    - llvm-toolchain-precise
    packages:
    - g++-4.8
    - cmake
    - libc++-dev

Travis工作中APT步骤中发生的是

$ sudo -E apt-get -yq --no-install-suggests --no-install-recommends --force-yes install g++-4.8 cmake libc++-dev
Reading package lists...
Building dependency tree...
Reading state information...
libc-dev-bin is already the newest version.
libc-dev-bin set to manually installed.
libc6-dev is already the newest version.
libc6-dev set to manually installed.
The following package was automatically installed and is no longer required:
  libxmlrpc-core-c3
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
  cmake-data cpp-4.8 emacsen-common gcc-4.8 gcc-4.8-base gcc-6-base libasan0
  libatomic1 libc6-armel-cross libc6-armhf-cross libcloog-isl4 libgcc-4.8-dev
  libgcc1 libgcc1-armel-cross libgcc1-armhf-cross libgomp1 libisl10 libitm1
  libpurelibc1 libquadmath0 libstdc++-4.8-dev libstdc++6 libtsan0
Suggested packages:
  codeblocks eclipse gcc-4.8-locales dietlibc-doc g++-4.8-multilib gcc-4.8-doc
  libstdc++6-4.8-dbg gcc-4.8-multilib libmudflap0-4.8-dev libgcc1-dbg
  libgomp1-dbg libitm1-dbg libatomic1-dbg libasan0-dbg libtsan0-dbg
  libbacktrace1-dbg libquadmath0-dbg libmudflap0-dbg binutils-gold
  libstdc++-4.8-doc
The following NEW packages will be installed:
  cpp-4.8 dietlibc-dev g++-4.8 gcc-4.8 gcc-4.8-base gcc-6-base libasan0
  libatomic1 libc6-armel-cross libc6-armhf-cross libc6-dev-armel-cross
  libc6-dev-armhf-cross libcloog-isl4 libgcc-4.8-dev libgcc1-armel-cross
  libgcc1-armhf-cross libisl10 libitm1 libklibc-dev libowfat-dietlibc-dev
  libpurelibc-dev libpurelibc1 libstdc++-4.8-dev libtsan0
  linux-libc-dev-armel-cross linux-libc-dev-armhf-cross
The following packages will be upgraded:
  cmake cmake-data emacsen-common libgcc1 libgomp1 libquadmath0 libstdc++6
  linux-libc-dev
8 upgraded, 26 newly installed, 0 to remove and 242 not upgraded.
Need to get 43.6 MB of archives.
After this operation, 77.1 MB of additional disk space will be used.

因此,您可以看到在install命令行之后不再提及libc++-dev。结果是添加了以下包:

  • libc-dev-bin
  • libc6开发
  • libc6 armel十字架
  • libc6 armhf十字架
  • libgcc1 armel十字架
  • libgcc1 armhf十字架
  • libpurelibc1

所以我想有一些正则表达式魔术正在发生(libc++-dev与libc6-dev匹配吗?)。

那么,我该如何在Travis上安装libc++-dev呢?

根本原因是sources下列出的存储库不提供libc++-dev,因此您无法安装包(至少不能从这些存储库安装)。

当一个包不存在时,apt-get和apt(而不是aptitude)会将名称解释为一个正则表达式,该表达式匹配所有包含正则表达式的包。如果您不喜欢这样,可以将包名称公式化为正则表达式:^libc++-dev$

最新更新