LEDE on Centos7 / Debian - Compiler breaks broken

I have re-installed everything as far as I know yet keep seeing this problem. Looking on search engines, there are some solutions but they don't relate to my setup which is Centos7. Note that the compiler works just fine when using image generator with the chaos calmer openwrt on the same machine so???
What is going on and how can I get past this as it is only happening when trying to compile openwrt for LEDE.

Checking 'working-make'... ok.
Checking 'case-sensitive-fs'... ok.
Checking 'proper-umask'... ok.
Checking 'gcc'... ok.
Checking 'working-gcc'... failed.
Checking 'g++'... ok.
Checking 'working-g++'... failed.
Checking 'ncurses'... failed.
Checking 'zlib'... failed.
Checking 'perl-thread-queue'... ok.
Checking 'tar'... ok.
Checking 'find'... ok.
Checking 'bash'... ok.
Checking 'patch'... ok.
Checking 'diff'... ok.
Checking 'cp'... ok.
Checking 'seq'... ok.
Checking 'awk'... ok.
Checking 'grep'... ok.
Checking 'getopt'... ok.
Checking 'stat'... ok.
Checking 'unzip'... ok.
Checking 'bzip2'... ok.
Checking 'wget'... ok.
Checking 'perl'... ok.
Checking 'python'... ok.
Checking 'git'... ok.
Checking 'file'... ok.
Checking 'ldconfig-stub'... ok.

Build dependency: Please reinstall the GNU C Compiler - it appears to be broken
Build dependency: Please reinstall the GNU C++ Compiler - it appears to be broken
Build dependency: Please install ncurses. (Missing libncurses.so or ncurses.h)
Build dependency: Please install a static zlib. (Missing libz.a or zlib.h)

Open in new window

I have now moved on to debian since there is only one error on that OS so less likely to break the OS. I can use either.

# make image
bash: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14' not found (required by bash)
bash: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.15' not found (required by bash)
make: *** [image] Error 1
Mark LewisAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Install ncurses, zlib

rpm -qa | egrep -I '(zlib|gcc|ncurses)'

Yum install  ncurses zlib
Mark LewisAuthor Commented:
Everything is already installed but I'll go through it just to show you. As mentioned, old openwrt compiles fine, the errors come up when trying to compile lede.

# rpm -qa | egrep -I '(zlib|gcc|ncurses)'

# yum install  ncurses zlib
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.usf.edu
 * epel: mirrors.develooper.com
 * extras: mirror.steadfast.net
 * remi-safe: repo1.ash.innoscale.net
 * rpmforge: mirror.lstn.net
 * updates: mirrors.unifiedlayer.com
Package ncurses-5.9-14.20130511.el7_4.x86_64 already installed and latest version
Package zlib-1.2.7-17.el7.x86_64 already installed and latest version
Nothing to do
Usually, the packages should include a readme, install that detail the dependencies including versions.

The config.log or config.status should include the explanation of the failure.

There are newer zlib, ncurses and gcc.

Whenever installing software from source, the information on requirements are commonly included.
10 Tips to Protect Your Business from Ransomware

Did you know that ransomware is the most widespread, destructive malware in the world today? It accounts for 39% of all security breaches, with ransomware gangsters projected to make $11.5B in profits from online extortion by 2019.

Mark LewisAuthor Commented:
There is no log, it never gets to the point of compiling. It only checks for dependencies and fails. As shown above.
Besides, why does compiling work with the openwrt version and not the lede version. There must be something/s that lede is wrongly looking for.
the process you run, ./configure or the link always writes a log so that the generic check zlib and ncurses could be understood.

Since you have ncurses and zlib installed, either they can not be located ldconf, or the more likely the version you have are not higher than the version LEDE is looking for,

get the two versions compile them with the --prefix=/usr/local as to not overwrite the one you have already installed
add it into the /etc/ld.so.conf.d/LEDE.conf
have not installed LEDE specifically, but all prior compilation had a README file and an INSTALL file.
those included what to look out for and what option dependencies...
Mark LewisAuthor Commented:
There is no ./configure with lede.
There is no README file with the image generator.
There is no such file in /etc/ld.so.conf unless you are saying I should add this. However, there is nothing in /usr/local/lib either.
For testing, I simply run 'make image' to see if everything is ready which is how I found these problems.
Look at e Makefile and see what it does when ncurses and zlib are kicked.
CC! CFLAG, LDFLAGS could be used to provide where make should be looking for libraries and includes.
Are you using/setting target and build?
Mark LewisAuthor Commented:
These is no mention of either ncurses or zlib in the Makefile. The only 'FLAG' entries are two, both called MAKEFLAGS.
Not being a dev myself, I'm not sure what else to look at.

Yes, I've tried setting a target to build but as I said, even just 'make image' should run if everything was seen by the compiler but it's not.

I've read where some people are messing with symlinks and other things so eventually breaking their system completely.

Grepping around;

packageinfo:Depends: +libc +SSP_SUPPORT:libssp +USE_GLIBC:librt +USE_GLIBC:libpthread +!USE_MUSL:libthread-db +PACKAGE_zlib:zlib @!arc +libreadline +libncurses +zlib

packageinfo:Source-Makefile: package/libs/ncurses/Makefile
packageinfo:Build-Depends: ncurses/host
packageinfo:Title: Terminal Info Database (ncurses)
packageinfo:Source: ncurses-6.0.tar.gz
packageinfo:Description: Terminal Info Database (ncurses)
packageinfo:Package: libncurses
packageinfo:Provides: libncursesw
packageinfo:Build-Depends: ncurses/host
packageinfo:Source: ncurses-6.0.tar.gz
packageinfo:Depends: +libc +SSP_SUPPORT:libssp +USE_GLIBC:librt +USE_GLIBC:libpthread +libreadline                    

ncurses installed;

Installed Packages
Name        : ncurses
Arch        : x86_64
Version     : 5.9

I don't see a 6.x version for Centos 7.3.
Mark LewisAuthor Commented:
Your suggestion of installing the diff version from source could lead down a wormhole that may not be needed. Remember that there are several packages which are involved.

Checking 'working-gcc'... failed.
Checking 'working-g++'... failed.
Checking 'ncurses'... failed.
Checking 'zlib'... failed.
The g++ and gcc failure could relate on options used to invoke the compilation of a test
Gcc -lzlib -lm4 sonecode,c
If it fails, it reports that you gave a gcc error with m4 and zlib if both....

Looking through the Makefile where this test, report to determine the test and then why it failed.

I.e. In Makefile the ncurses line runs sone........... You could test it your self by using -I and -L I fpotentially CFLAGS, LDFLAGS, CC, TO DETERMINE WHY AND which options when added fix the issue.

Please provide exactly what you downloaded and from where.
Mark LewisAuthor Commented:
You simply need to run 'make image' to see the problem.

This is the package.

I tested on Debian and the same problem exists only with less packages. I thought I had posted that but seems I never saved it.

On Debian, same thing. Everything compiles fine with openwrt but I get the following error with lede.

bash: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14' not found (required by bash)
bash: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.15' not found (required by bash)

Oddly, the above shows both 2.14 and 2.15.

Doesn't matter to me which OS I use, but it seems the least disruptive fix would be the Debian one. I can use either one.
Mark LewisAuthor Commented:
On Debian

# apt-get install libc6
Reading package lists... Done
Building dependency tree
Reading state information... Done
libc6 is already the newest version.
Will have to download and check on what it is trying to do.
Mark LewisAuthor Commented:
The fix was to download a newer version and now everything works as it should. No idea what the diff is but the solution had nothing to do with compilers and other packages.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Mark LewisAuthor Commented:
Spent a week messing with this and found that the solution was a simple as downloading the newest version.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.