When I go to emerge adesklets-0.4.8 after unmasking it in /etc/portage/package.keywords, it fails with an error message saying I don't have ncurses installed when I do. Reproducible: Always Steps to Reproduce: 1. echo "x11-misc/adesklets ~x86" >> /etc/portage/package.keywords 2. emerge adesklets Actual Results: [/home/john5788 :: 10:41 AM :: 1] [root@john5788.x5788.net] $ emerge adesklets Calculating dependencies ...done! >>> emerge (1 of 1) x11-misc/adesklets-0.4.8 to / >>> md5 files ;-) adesklets-0.4.8.ebuild >>> md5 files ;-) ChangeLog >>> md5 files ;-) metadata.xml >>> md5 files ;-) files/digest-adesklets-0.4.8 >>> md5 src_uri ;-) adesklets-0.4.8.tar.bz2 >>> Unpacking source... >>> Unpacking adesklets-0.4.8.tar.bz2 to /var/tmp/portage/adesklets-0.4.8/work >>> Source unpacked. ./configure --prefix=/usr --host=i686-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib configure: WARNING: If you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used. checking for a BSD-compatible install... /bin/install -c checking whether build environment is sane... yes checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for i686-pc-linux-gnu-strip... i686-pc-linux-gnu-strip checking for style of include used by make... GNU checking for i686-pc-linux-gnu-gcc... i686-pc-linux-gnu-gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether i686-pc-linux-gnu-gcc accepts -g... yes checking for i686-pc-linux-gnu-gcc option to accept ANSI C... none needed checking dependency style of i686-pc-linux-gnu-gcc... gcc3 checking how to run the C preprocessor... i686-pc-linux-gnu-gcc -E checking for i686-pc-linux-gnu-gcc... (cached) i686-pc-linux-gnu-gcc checking whether we are using the GNU C compiler... (cached) yes checking whether i686-pc-linux-gnu-gcc accepts -g... (cached) yes checking for i686-pc-linux-gnu-gcc option to accept ANSI C... (cached) none needed checking dependency style of i686-pc-linux-gnu-gcc... (cached) gcc3 checking for flex... flex checking for yywrap in -lfl... yes checking lex output file root... lex.yy checking whether yytext is a pointer... yes checking for bison... bison -y checking for a BSD-compatible install... /bin/install -c checking for a Python interpreter with version >= 2.3... python checking for python... /usr/bin/python checking for python version... 2.3 checking for python platform... linux2 checking for python script directory... ${prefix}/lib/python2.3/site-packages checking for python extension module directory... ${exec_prefix}/lib/python2.3/site-packages checking for Python include path... /usr/include/python2.3 checking for Python library path... /usr/lib/python2.3/config checking python extra libraries... checking for sigprocmask... yes checking for help2man... /usr/bin/help2man checking for tidy... no checking for doxygen... no checking for ISO C99 warnings generation... yes checking for egrep... grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking stdio.h usability... yes checking stdio.h presence... yes checking for stdio.h... yes checking stdarg.h usability... yes checking stdarg.h presence... yes checking for stdarg.h... yes checking errno.h usability... yes checking errno.h presence... yes checking for errno.h... yes checking fcntl.h usability... yes checking fcntl.h presence... yes checking for fcntl.h... yes checking signal.h usability... yes checking signal.h presence... yes checking for signal.h... yes checking time.h usability... yes checking time.h presence... yes checking for time.h... yes checking math.h usability... yes checking math.h presence... yes checking for math.h... yes checking sys/time.h usability... yes checking sys/time.h presence... yes checking for sys/time.h... yes checking for sys/types.h... (cached) yes checking for sys/stat.h... (cached) yes checking grp.h usability... yes checking grp.h presence... yes checking for grp.h... yes checking pwd.h usability... yes checking pwd.h presence... yes checking for pwd.h... yes checking libgen.h usability... yes checking libgen.h presence... yes checking for libgen.h... yes checking dirent.h usability... yes checking dirent.h presence... yes checking for dirent.h... yes checking iconv.h usability... yes checking iconv.h presence... yes checking for iconv.h... yes checking for debugging symbols generation... no checking for sigkill timeout... yes checking for polling frequency... checking for bc... yes checking for lock files directory setting... yes checking for date... (cached) yes checking for uname... (cached) yes checking for tputs in -lncurses... no checking for tputs in -ltermcap... no checking for tputs in -lcurses... no configure: error: Could not find terminal management library for readline (either ncurses, termcap or curses). !!! Please attach the config.log to your bug report: !!! /var/tmp/portage/adesklets-0.4.8/work/adesklets-0.4.8/config.log !!! ERROR: x11-misc/adesklets-0.4.8 failed. !!! Function econf, Line 485, Exitcode 0 !!! econf failed !!! If you need support, post the topmost build error, NOT this status message. Expected Results: Should have emerged instead of that error.
Created attachment 60103 [details] config.log
I have ncurses installed. [/home/john5788 :: 10:51 AM :: 1] [root@john5788.x5788.net] $ emerge -pv ncurses These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild R ] sys-libs/ncurses-5.4-r6 -bootstrap -build -debug -doc +gpm -minimal -nocxx -unicode 2,103 kB Total size of downloads: 2,103 kB
I found the problem, the configure script screws up my CFLAGs and replaces -freduce-all-givs with -freduce-allivs.
You certainly are using some esoteric CFLAGS here... so esoteric that the gcc folks are considering removing them from the compiler.
Most of the CFLAGS I have are part of -O2. I just choose to list out the ones I want starting with -O1
It is the -freduce-all-givs that I was complaining about. From man gcc: -freduce-all-givs Forces all general-induction variables in loops to be strength-reduced. Note: When compiling programs written in Fortran, -fmove-all-movables and -freduce-all-givs are enabled by default when you use the optimizer. These options may generate better or worse code; results are highly dependent on the structure of loops within the source code. These two options are intended to be removed someday, once they have helped determine the efficacy of various approaches to improving loop optimizations. Please contact <gcc@gcc.gnu.org>, and describe how use of these options affects the performance of your production code. Examples of code that runs slower when these options are enabled are very valuable. I suggest you drop this CFLAG, since it is giving you trouble...
This should be be fixed in the code repository: http://adesklets.bkbits.net:8080/main/cset@429b7f62u37Edk24JbS0WM3BvqR0Qg?nav=index.html|ChangeSet@-7d This will be included in adesklets 0.4.9.
Just added version 0.4.9 to Portage, but it does not fix the -freduce-all-givs issue. This is autoconf/automake problem, not adesklets'... Does the package install properly without this CFLAG?
Yes, it compiles fine without it.
Then it all boils down to a matter of an unsafe CFLAG... as I said above, I suggest you remove it from your make.conf.