Ubuntu 14 Warning

Home » Asterisk Users » Ubuntu 14 Warning
Asterisk Users 2 Comments

This morning, 2 of us noticed that running contrib/scripts/install_prereq on a fresh Ubuntu 14 system actually removed critical packages like network-manager, openssh-server, perl, git, and a bunch of others. It appears that the culprit is the libsnmp-dev package. It’s default conflict resolution solution is to uninstall conflicting packages and the alternate solution is to correctly upgrade the conflicting packages. Since install_prereq doesn’t give you the opportunity to choose the solution, it does the uninstall and you’re left with an unusable system.

Why this is happening now is unclear. To work around this, you can either run “apt-get update” and “apt-get upgrade” manually, or run “apt-get install libsnmp-dev” manually and say “no” to the first solution and “yes”
to the second. Then run install_prereq.

2 thoughts on - Ubuntu 14 Warning

  • Can you please remove any ‘-y’s from the apt-get / aptitude command-lines and try reproducing it? Also maybe use aptitude instead of apt-get.

    Could you please provide a more complete log?

    See /var/log/apt/history.log or term.log in the same directory.

  • Running it manually is how I narrowed it down to libsnmp-dev. From a fresh install of ubuntu-14.04.4-server-amd64.iso…

    ‘aptitude install libsnmp-dev’ (which is what install_prereq does) will produce the following…

    ==========root@ubuntu14-64:~# aptitude install libsnmp-dev The following NEW packages will be installed:
    binutils{a} cpp{a} cpp-4.8{a} gcc{a} gcc-4.8{a} libasan0{a} libatomic1{a}
    libc-dev-bin{a} libc6-dev{a}
    libcloog-isl4{a} libgcc-4.8-dev{a} libgmp10{a} libgomp1{a} libisl10{a}
    libitm1{a} libmpc3{a}
    libmpfr4{a} libperl5.18{a} libquadmath0{a} libsensors4{a}
    libsensors4-dev{a} libsnmp-base{a}
    libsnmp-dev libsnmp30{a} libssl-dev{a} libssl-doc{a} libtsan0{a}
    libwrap0-dev{a} linux-libc-dev{a}
    manpages-dev{a} zlib1g-dev{a}
    The following packages will be upgraded:
    libssl1.0.0 perl-base
    2 packages upgraded, 31 newly installed, 0 to remove and 45 not upgraded. Need to get 25.6 MB of archives. After unpacking 91.7 MB will be used. The following packages have unmet dependencies:
    perl : Depends: perl-base (= 5.18.2-2ubuntu1) but 5.18.2-2ubuntu1.1 is to be installed. The following actions will resolve these dependencies:

    Remove the following packages:
    1) at
    2) init-system-helpers
    3) libarchive-extract-perl
    4) libclass-accessor-perl
    5) libio-string-perl
    6) liblog-message-simple-perl
    7) libmodule-pluggable-perl
    8) libparse-debianchangelog-perl
    9) libpod-latex-perl
    10) libsub-name-perl
    11) libterm-ui-perl
    12) libtext-soundex-perl
    13) libtimedate-perl
    14) openssh-server
    15) perl
    16) perl-modules
    17) rsyslog
    18) ubuntu-minimal

    Leave the following dependencies unresolved:
    19) aptitude recommends libparse-debianchangelog-perl
    20) perl-modules recommends libarchive-extract-perl
    21) perl-modules recommends libmodule-pluggable-perl
    22) perl-modules recommends libpod-latex-perl
    23) perl-modules recommends libterm-ui-perl
    24) perl-modules recommends libtext-soundex-perl
    25) ssh-import-id recommends openssh-server
    26) openssh-sftp-server recommends openssh-server | ssh-server

    Accept this solution? [Y/n/q/?] n The following actions will resolve these dependencies:

    Upgrade the following packages:

    1) perl [5.18.2-2ubuntu1 (now, trusty) -> 5.18.2-2ubuntu1.1
    (trusty-security, trusty-updates)]
    2) perl-modules [5.18.2-2ubuntu1 (now, trusty) -> 5.18.2-2ubuntu1.1
    (trusty-security, trusty-updates)]

    Accept this solution? [Y/n/q/?] q Abandoning all efforts to resolve these dependencies. Abort.

    ==========
    ‘apt-get install libsnmp-dev’ will complete successfully.

    ==========
    root@ubuntu14-64:~# apt-get install libsnmp-dev Reading package lists… Done Building dependency tree Reading state information… Done The following extra packages will be installed:
    binutils cpp cpp-4.8 gcc gcc-4.8 libasan0 libatomic1 libc-dev-bin libc6-dev
    libcloog-isl4 libgcc-4.8-dev libgmp10 libgomp1 libisl10 libitm1 libmpc3
    libmpfr4 libperl5.18 libquadmath0 libsensors4 libsensors4-dev libsnmp-base
    libsnmp30 libssl-dev libssl-doc libssl1.0.0 libtsan0 libwrap0-dev
    linux-libc-dev manpages-dev perl perl-base perl-modules zlib1g-dev Suggested packages:
    binutils-doc cpp-doc gcc-4.8-locales gcc-multilib make autoconf automake1.9
    libtool flex bison gdb gcc-doc gcc-4.8-multilib gcc-4.8-doc libgcc1-dbg
    libgomp1-dbg libitm1-dbg libatomic1-dbg libasan0-dbg libtsan0-dbg
    libquadmath0-dbg glibc-doc lm-sensors snmp-mibs-downloader perl-doc
    libterm-readline-gnu-perl libterm-readline-perl-perl libb-lint-perl
    libcpanplus-dist-build-perl libcpanplus-perl libfile-checktree-perl
    liblog-message-perl libobject-accessor-perl The following NEW packages will be installed:
    binutils cpp cpp-4.8 gcc gcc-4.8 libasan0 libatomic1 libc-dev-bin libc6-dev
    libcloog-isl4 libgcc-4.8-dev libgmp10 libgomp1 libisl10 libitm1 libmpc3
    libmpfr4 libperl5.18 libquadmath0 libsensors4 libsensors4-dev libsnmp-base
    libsnmp-dev libsnmp30 libssl-dev libssl-doc libtsan0 libwrap0-dev
    linux-libc-dev manpages-dev zlib1g-dev The following packages will be upgraded:
    libssl1.0.0 perl perl-base perl-modules
    4 upgraded, 31 newly installed, 0 to remove and 43 not upgraded. Need to get 30.9 MB of archives. After this operation, 91.7 MB of additional disk space will be used. Do you want to continue? [Y/n] Y

    ==========
    I’m actually not sure why install_prereq uses aptitude instead of apt-get.

    Here are the logs from the failed aptitude install:
    history.log: https://pastebin.com/q3qVSuPn term.log: https://pastebin.com/aGpzf5hU

    After a reset of the VM,

    Here are the logs from the successful apt-get install:
    history.log: https://pastebin.com/yr1cPh1J
    term.log: https://pastebin.com/L1d7Pa60