2016-05-16 54 views
1

Travis Ubuntu-precise apt whitelist有包裝的libC++ - 開發上市,這是我嘗試通過如何在Ubuntu 12.04(精確)在Travis上安裝libC++?

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

在特拉維斯工作的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. 

所以你可以看到,在安裝命令行之後,libC++ - dev不再被提及。什麼情況是,下面的包說:

  • 的libc-DEV-斌
  • 的libc6-dev的
  • 的libc6 - 阿梅爾交叉
  • 的libc6-armhf交叉
  • 中的libgcc1,armel-交叉
  • 的libgcc1-armhf交叉
  • libpurelibc1

所以我猜想有一些正則表達式的魔法正在進行(libC++ - dev是否匹配libc6-dev?)。

那麼,如何在Travis上安裝libC++ - dev?

+0

你有沒有嘗試*先使用*它?軟件包管理器與軟件包管理器一樣,可能也適用 –

+0

我試圖使用libC++,但它不可用 –

+0

好吧,現在它變得有趣了。你通過bugtracker看了?如果不存在,請在此處打開問題。 –

回答

1

根本原因是sources下列出的軟件庫沒有提供libC++ - dev,因此您無法安裝軟件包(至少不能從這些軟件庫中安裝軟件包)。

當一個包不存在時,apt-get和apt(不是aptitude)會退回到將該名稱解釋爲與包含正則表達式的所有包相匹配的正則表達式。如果你不喜歡這個,你可以用正則表達式來形成包名:^libc\+\+-dev$