bugFIM: Fbi IMproved - Bugs: bug #58399, GCC 10 compilation failure


bug #58399: GCC 10 compilation failure

Submitted by:  None
Submitted on:  Tue 19 May 2020 02:49:08 AM UTC
Category:  None Severity:  3 - Normal
Item Group:  None Status:  Confirmed
Privacy:  Public Assigned to:  None
Open/Closed:  Open
* Mandatory Fields

Add a New Comment (Rich Markup)

Comment Type & Canned Response:
       No canned response available


Sun 17 Oct 2021 09:58:08 PM UTC, comment #2: 

Thanks Rafael, I applied a subset of that patch in trunk and 0.5.

Dear anonymous -- fixing fully the problem you see (and I can confirm) in trunk will need a moment more.

Apologies to both for the very late response!

dezperado <dezperado>
Project Administrator
Mon 20 Jul 2020 02:05:36 PM UTC, comment #1: 

The patch attached below fixes the problem. It is being currently applied to the Debian package :


(file #49518)

Rafael Laboissière <rlaboiss>
Tue 19 May 2020 02:49:08 AM UTC, original submission:  

When compiling using GCC 10, the build process fails:

$ make
make  all-recursive
make[1]: Entering directory '/home/a/ws/fim'
Making all in src
make[2]: Entering directory '/home/a/ws/fim/src'
LC_ALL=C bison -y -v -d yacc.ypp -o yacc.tab.cpp
yacc.ypp: warning: 1 shift/reduce conflict [-Wconflicts-sr]
yacc.ypp: warning: 25 reduce/reduce conflicts [-Wconflicts-rr]
flex -+ --nounistd lex.lex
Applying a horrible hack to avoid the flex non-throwing isatty() redeclaration in 'extern C int isatty (int );'
/usr/bin/sed -i 's/^.*extern.*isatty.*int.*$//g' lex.yy.cc
/usr/bin/echo 'const fim_char_t * const FIM_DEFAULT_CONFIG_FILE_CONTENTS =' > conf.h
/usr/bin/sed  's/\\/\\\\/g;s/"/\\\"/g;s/^/"/g;s/$/\\n"/g;' fimrc | /usr/bin/grep -v '^.###' >> conf.h
/usr/bin/echo '"";' >> conf.h
make  all-recursive
make[3]: Entering directory '/home/a/ws/fim/src'
make[4]: Entering directory '/home/a/ws/fim/src'
g++ -DHAVE_CONFIG_H -I. -I..     -g -O2 -I/usr/include/libpng16 -I/usr/include -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -c -o lex.yy.o lex.yy.cc
In file included from fim.h:606,
                 from lex.lex:32:
Browser.h:60:2: warning: converting ‘fim::fle_t’ to a base class ‘fim::string’ will never use a type conversion operator [-Wclass-conversion]
   60 |  operator string (void)const;
      |  ^~~~~~~~
In file included from Cache.h:117,
                 from fim.h:603,
                 from lex.lex:32:
/usr/include/c++/10.1.0/thread: In instantiation of ‘std::thread::_State_impl<_Callable>::_State_impl(_Args&& ...) [with _Args = {fim::PACA&, const fim::string&}; _Callable = std::thread::_Invoker<std::tuple<fim::PACA, fim::string> >]’:
/usr/include/c++/10.1.0/thread:226:20:   required from ‘static std::thread::_State_ptr std::thread::_S_make_state(_Args&& ...) [with _Callable = std::thread::_Invoker<std::tuple<fim::PACA, fim::string> >; _Args = {fim::PACA&, const fim::string&}; std::thread::_State_ptr = std::unique_ptr<std::thread::_State>]’
/usr/include/c++/10.1.0/thread:149:46:   required from ‘std::thread::thread(_Callable&&, _Args&& ...) [with _Callable = fim::PACA&; _Args = {const fim::string&}; <template-parameter-1-3> = void]’
Cache.h:178:28:   required from here
/usr/include/c++/10.1.0/thread:211:46: error: could not convert ‘{std::forward<fim::PACA&>((* & __args#0)), std::forward<const fim::string&>((* & __args#1))}’ from ‘<brace-enclosed initializer list>’ to ‘std::tuple<fim::PACA, fim::string>’
  211 |    : _M_func{{std::forward<_Args>(__args)...}}
      |                                              ^
      |                                              |
      |                                              <brace-enclosed initializer list>
make[4]: *** [Makefile:665: lex.yy.o] Error 1
make[4]: Leaving directory '/home/a/ws/fim/src'
make[3]: *** [Makefile:899: all-recursive] Error 1
make[3]: Leaving directory '/home/a/ws/fim/src'
make[2]: *** [Makefile:534: all] Error 2
make[2]: Leaving directory '/home/a/ws/fim/src'
make[1]: *** [Makefile:531: all-recursive] Error 1
make[1]: Leaving directory '/home/a/ws/fim'
make: *** [Makefile:443: all] Error 2

This works with GCC 9.



(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:

Attached Files
file #49518:  compile-with-gcc-10.patch added by rlaboiss (2KiB - text/x-patch)


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -email is unavailable- added by dezperado (Posted a comment)
  • -email is unavailable- added by rlaboiss (Updated the item)

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.





    Follow 2 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2021-10-17 dezperado StatusNone => Confirmed
    2020-07-20 rlaboiss Attached File- => Added compile-with-gcc-10.patch, #49518

    Back to the top

    Powered by Savane 3.9