NETGEAR is aware of a growing number of phone and online scams. To learn how to stay safe click here.

Forum Discussion

a4ex's avatar
a4ex
Aspirant
Dec 24, 2017
Solved

unable to install build-essential in 6.9.1

Hello,

 

I'm trying to install build-essential but without any luck.

I the prepivious version of the firmware i had done it. Now in 6.9.1 its impossible.

 

my sources are:

 

 

# cat sources.list
deb http://apt.readynas.com/packages/readynasos 6.9.1 updates apps main

deb http://mirrors.kernel.org/debian jessie main
deb http://security.debian.org/ jessie/updates main
deb http://ftp.uk.debian.org/debian jessie main non-free
deb http://archive.debian.org/debian etch main

and i execute the following:

 

 

 

# apt-get install build-essential
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 build-essential : Depends: libc6-dev but it is not going to be installed or
                            libc-dev
                   Depends: g++ (>= 4:4.9.1) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

then I try to install libc6-dev:

 

# apt-get install libc6-dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libc6-dev : Depends: libc6 (= 2.19-18+deb8u10)
E: Unable to correct problems, you have held broken packages.

and obviously i will try to install libc6, but this is what i get.

 

# apt-get install libc6
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libc6 is already the newest version (2.19-18+deb8u10.netgear1).
0 upgraded, 0 newly installed, 0 to remove and 84 not upgraded.

do you have any ideas why is that?

 

 

  • This issue was caused from the `20defaultrelease` file configured to use Debian Jessie.

    /etc/apt/apt.conf.d/20defaultrelease 

    It is not recommended to configure other debian repos to have higher primary. Please be careful when following websites that provide debian guides and may provide conflicts with os libraries, and make sure to keep the readynas repo with higher priority.

     

    Here were some findings for other that might accedently run into this:

     

     

    To help find a sample package to look at:

    # dpkg -l | grep libc 
    ii  libc-bin                       2.19-18+deb8u10.netgear1      armel        GNU C Library: Binaries
    ii  libc-dev-bin                   2.19-18+deb8u10               armel        GNU C Library: Development binaries
    ii  libc6:armel                    2.19-18+deb8u10.netgear1      armel        GNU C Library: Shared libraries
    ...

    That is the list of packages that you have and the libc-dev-bin is a good example to use for the priority checking and seeing why we are not able to install the parent packaging.

    Output from the lab unit:

    # dpkg -l | grep libc
    ii  libc-bin                       2.19-18+deb8u10.netgear1   armel        GNU C Library: Binaries
    ii  libc-dev-bin                   2.19-18+deb8u10.netgear1   armel        GNU C Library: Development binaries
    ii  libc6:armel                    2.19-18+deb8u10.netgear1   armel        GNU C Library: Shared libraries
    ii  libc6-dev:armel                2.19-18+deb8u10.netgear1   armel        GNU C Library: Development Libraries and Header Files
    ...

    The version is showing a newer version that is posted in the readynas repo.

     

    Policy where the issue would start surfacing:

    # apt-cache policy  libc-dev-bin
    libc-dev-bin:
      Installed: 2.19-18+deb8u10
      Candidate: 2.19-18+deb8u10
      Version table:
         2.19-18+deb8u10.netgear1 900
            900 http://apt.readynas.com/packages/readynasos 6.9.2/main armel Packages
     *** 2.19-18+deb8u10 990
            990 http://mirrors.kernel.org/debian jessie/main armel Packages
            990 http://security.debian.org jessie/updates/main armel Packages
            990 http://http.us.debian.org/debian jessie/main armel Packages
            100 /var/lib/dpkg/status

    It shows that it installed the older version that is not coming from the readynas repo. It also highlights the preferred repo to update from.

     

    Policy from the lab unit:

    # apt-cache policy libc-dev-bin
    libc-dev-bin:
      Installed: 2.19-18+deb8u10.netgear1
      Candidate: 2.19-18+deb8u10.netgear1
      Version table:
     *** 2.19-18+deb8u10.netgear1 900
            900 http://apt.readynas.com/packages/readynasos 6.9.2/main armel Packages
            100 /var/lib/dpkg/status
         2.19-18+deb8u10 500
            500 http://mirrors.kernel.org/debian jessie/main armel Packages
            500 http://security.debian.org jessie/updates/main armel Packages

    It shows that it prefers and installs the readynas repo version.

     

     

    In this case, I remove the `20defaultrelease` config, and ran the following commands to check:

    # apt clean
    # apt update
    # apt install build-essential Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: g++ g++-4.9 libc-dev-bin libc6-dev libstdc++-4.9-dev Suggested packages: gcc-4.9-doc libstdc++6-4.9-dbg glibc-doc manpages-dev libstdc++-4.9-doc Recommended packages: manpages-dev The following NEW packages will be installed: build-essential g++ g++-4.9 libc6-dev libstdc++-4.9-dev The following packages will be upgraded: libc-dev-bin 1 upgraded, 5 newly installed, 0 to remove and 61 not upgraded. Need to get 11.7 MB of archives. After this operation, 39.4 MB of additional disk space will be used. Do you want to continue? [Y/n]

     

13 Replies

  • OOM-9's avatar
    OOM-9
    NETGEAR Expert

    There are a couple parts that you may want to update.

     

    1) The `/etc/apt/sources.list` does get updated/overwritten on firmware updates, so you may want to have seperate debian apt configuration files in the `sources.list.d` directory.

     

    2) Leads to the debian apt configurations:

    For the ReadyNAS development packages, you can find them in the "dev" repo:

    echo 'deb http://apt.readynas.com/packages/readynasos 6.9.1 dev' > /etc/apt/sources.list.d/readynas-dev.list

    (It looks like this version of the `build-essential` is specific to netgear's version, so you would need the readynasos repo update.)

     

    For the other debian packages that you have listed:

     

    bash -c 'cat > /etc/apt/sources.list.d/debian-other.list' << EOF
    deb http://ftp.uk.debian.org/debian jessie main non-free
    deb http://archive.debian.org/debian etch main
    EOF

      

     

    What packages were you looking at in the etch version? (Its a little bit on the older side these days.)

     

    • a4ex's avatar
      a4ex
      Aspirant

      Hi,

      I'm trying to install SABYenc but with no luck. I manage to install sometime ago an older version, but after ReadyNAS update, I'm unable to install new versions.

       

      The problem I get is the same as I had the first time i did it.

      pip install sabyenc==3.3.2
      ...
      compilation terminated.

      error: command 'arm-linux-gnueabi-gcc' failed with exit status

      To over come this problem I installed build-essential.

       

      Now i cant install build-essential, since it fails in dependencies.

      • mdgm-ntgr's avatar
        mdgm-ntgr
        NETGEAR Employee Retired

        What output do you get when trying to install build-essential?

  • kohdee's avatar
    kohdee
    NETGEAR Expert

    Do you absolutely need 6.9.1, or can you try 6.9.2 or the 6.9.3 beta?

    root@rn524x:~# apt-get install build-essential
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    The following additional packages will be installed:
      binutils bzip2 cpp cpp-4.9 dpkg-dev g++ g++-4.9 gcc gcc-4.9 libasan1 libatomic1 libcilkrts5 libcloog-isl4
      libdpkg-perl libgcc-4.9-dev libgomp1 libisl10 libitm1 liblsan0 libmpc3 libmpfr4 libquadmath0 libstdc++-4.9-dev
      libtimedate-perl libtsan0 libubsan0 make patch
    Suggested packages:
      binutils-doc bzip2-doc cpp-doc gcc-4.9-locales debian-keyring g++-multilib g++-4.9-multilib gcc-4.9-doc
      libstdc++6-4.9-dbg gcc-multilib manpages-dev autoconf automake libtool flex bison gdb gcc-doc gcc-4.9-multilib
      libgcc1-dbg libgomp1-dbg libitm1-dbg libatomic1-dbg libasan1-dbg liblsan0-dbg libtsan0-dbg libubsan0-dbg
      libcilkrts5-dbg libquadmath0-dbg libstdc++-4.9-doc make-doc ed diffutils-doc
    Recommended packages:
      fakeroot libalgorithm-merge-perl libfile-fcntllock-perl
    The following NEW packages will be installed:
      binutils build-essential bzip2 cpp cpp-4.9 dpkg-dev g++ g++-4.9 gcc gcc-4.9 libasan1 libatomic1 libcilkrts5
      libcloog-isl4 libdpkg-perl libgcc-4.9-dev libgomp1 libisl10 libitm1 liblsan0 libmpc3 libmpfr4 libquadmath0
      libstdc++-4.9-dev libtimedate-perl libtsan0 libubsan0 make patch
    0 upgraded, 29 newly installed, 0 to remove and 18 not upgraded.
    Need to get 43.7 MB of archives.
    After this operation, 124 MB of additional disk space will be used.
    Do you want to continue? [Y/n] n
    root@rn524x:~# apt-get install libc-dev
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    Note, selecting 'libc6-dev' instead of 'libc-dev'
    libc6-dev is already the newest version (2.19-18+deb8u10.netgear1).
    root@rn524x:~# apt-get install libc6
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    libc6 is already the newest version (2.19-18+deb8u10.netgear1).

     

    • a4ex's avatar
      a4ex
      Aspirant
      I'm already in 6.9.2 and the problem is the same. From your output I can see that I should have the libc6-dev pkg from Netgear, which I don't.
      Does this pkg is installed by default?
      Would 6.9.3 make any difference?
      • OOM-9's avatar
        OOM-9
        NETGEAR Expert

        This issue was caused from the `20defaultrelease` file configured to use Debian Jessie.

        /etc/apt/apt.conf.d/20defaultrelease 

        It is not recommended to configure other debian repos to have higher primary. Please be careful when following websites that provide debian guides and may provide conflicts with os libraries, and make sure to keep the readynas repo with higher priority.

         

        Here were some findings for other that might accedently run into this:

         

         

        To help find a sample package to look at:

        # dpkg -l | grep libc 
        ii  libc-bin                       2.19-18+deb8u10.netgear1      armel        GNU C Library: Binaries
        ii  libc-dev-bin                   2.19-18+deb8u10               armel        GNU C Library: Development binaries
        ii  libc6:armel                    2.19-18+deb8u10.netgear1      armel        GNU C Library: Shared libraries
        ...

        That is the list of packages that you have and the libc-dev-bin is a good example to use for the priority checking and seeing why we are not able to install the parent packaging.

        Output from the lab unit:

        # dpkg -l | grep libc
        ii  libc-bin                       2.19-18+deb8u10.netgear1   armel        GNU C Library: Binaries
        ii  libc-dev-bin                   2.19-18+deb8u10.netgear1   armel        GNU C Library: Development binaries
        ii  libc6:armel                    2.19-18+deb8u10.netgear1   armel        GNU C Library: Shared libraries
        ii  libc6-dev:armel                2.19-18+deb8u10.netgear1   armel        GNU C Library: Development Libraries and Header Files
        ...

        The version is showing a newer version that is posted in the readynas repo.

         

        Policy where the issue would start surfacing:

        # apt-cache policy  libc-dev-bin
        libc-dev-bin:
          Installed: 2.19-18+deb8u10
          Candidate: 2.19-18+deb8u10
          Version table:
             2.19-18+deb8u10.netgear1 900
                900 http://apt.readynas.com/packages/readynasos 6.9.2/main armel Packages
         *** 2.19-18+deb8u10 990
                990 http://mirrors.kernel.org/debian jessie/main armel Packages
                990 http://security.debian.org jessie/updates/main armel Packages
                990 http://http.us.debian.org/debian jessie/main armel Packages
                100 /var/lib/dpkg/status

        It shows that it installed the older version that is not coming from the readynas repo. It also highlights the preferred repo to update from.

         

        Policy from the lab unit:

        # apt-cache policy libc-dev-bin
        libc-dev-bin:
          Installed: 2.19-18+deb8u10.netgear1
          Candidate: 2.19-18+deb8u10.netgear1
          Version table:
         *** 2.19-18+deb8u10.netgear1 900
                900 http://apt.readynas.com/packages/readynasos 6.9.2/main armel Packages
                100 /var/lib/dpkg/status
             2.19-18+deb8u10 500
                500 http://mirrors.kernel.org/debian jessie/main armel Packages
                500 http://security.debian.org jessie/updates/main armel Packages

        It shows that it prefers and installs the readynas repo version.

         

         

        In this case, I remove the `20defaultrelease` config, and ran the following commands to check:

        # apt clean
        # apt update
        # apt install build-essential Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: g++ g++-4.9 libc-dev-bin libc6-dev libstdc++-4.9-dev Suggested packages: gcc-4.9-doc libstdc++6-4.9-dbg glibc-doc manpages-dev libstdc++-4.9-doc Recommended packages: manpages-dev The following NEW packages will be installed: build-essential g++ g++-4.9 libc6-dev libstdc++-4.9-dev The following packages will be upgraded: libc-dev-bin 1 upgraded, 5 newly installed, 0 to remove and 61 not upgraded. Need to get 11.7 MB of archives. After this operation, 39.4 MB of additional disk space will be used. Do you want to continue? [Y/n]

         

NETGEAR Academy

Boost your skills with the Netgear Academy - Get trained, certified and stay ahead with the latest Netgear technology! 

Join Us!

ProSupport for Business

Comprehensive support plans for maximum network uptime and business peace of mind.

 

Learn More