Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 649248 - dev-util/codeblocks-16.01 - In file included from SquirrelVM.cpp:7:0: ../../../../src/include/scripting/sqplus/sqplus.h:150:12: error: there are no arguments to '_strcmp' that depend on a template parameter, so a declaration of '_strcmp' must be available
Summary: dev-util/codeblocks-16.01 - In file included from SquirrelVM.cpp:7:0: ../../....
Status: RESOLVED DUPLICATE of bug 637126
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Gentoo wxWidgets project
URL:
Whiteboard:
Keywords: PATCH
Depends on:
Blocks: gcc-7
  Show dependency tree
 
Reported: 2018-03-01 17:23 UTC by aion1223
Modified: 2018-04-14 16:12 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge --info (info,6.72 KB, text/plain)
2018-03-01 17:23 UTC, aion1223
Details
suggested patch (codeblocks-16.01.diff,1.29 KB, patch)
2018-03-02 03:28 UTC, aion1223
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description aion1223 2018-03-01 17:23:56 UTC
Created attachment 521728 [details]
emerge --info

emerge --info has been attached. 

Building codeblocks failed with gcc-7.

libtool: compile:  x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I../../../../src/include -I../../../../src/include/scripting/include -I../../../../src/include/scripting/sqplus -ansi -DTIXML_USE_STL -Wno-unused-local-typedefs -O2 -ffast-math -DCB_AUTOCONF -O2 -pipe -march=znver1 -mtune=znver1 -fno-delete-null-pointer-checks -fPIC -DPIC -fexceptions -c SqPlus.cpp  -fPIC -DPIC -o .libs/SqPlus.o
In file included from SquirrelVM.cpp:7:0:
../../../../src/include/scripting/sqplus/sqplus.h: In member function 'bool SqPlus::ScriptStringVar<MAXLENGTH>::operator==(const SqPlus::ScriptStringVar<MAXLENGTH>&)':
../../../../src/include/scripting/sqplus/sqplus.h:150:12: error: there are no arguments to '_strcmp' that depend on a template parameter, so a declaration of '_strcmp' must be available [-fpermissive]
     return _strcmp(s,_s.s) == 0;
            ^~~~~~~
../../../../src/include/scripting/sqplus/sqplus.h:150:12: note: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated)
../../../../src/include/scripting/sqplus/sqplus.h: In member function 'bool SqPlus::ScriptStringVar<MAXLENGTH>::compareCaseInsensitive(const SqPlus::ScriptStringVar<MAXLENGTH>&)':
../../../../src/include/scripting/sqplus/sqplus.h:153:12: error: there are no arguments to '_stricmp' that depend on a template parameter, so a declaration of '_stricmp' must be available [-fpermissive]
     return _stricmp(s,_s.s) == 0;
            ^~~~~~~~
In file included from SquirrelBindingsUtils.cpp:1:0:
../../../../src/include/scripting/sqplus/sqplus.h: In member function 'bool SqPlus::ScriptStringVar<MAXLENGTH>::operator==(const SqPlus::ScriptStringVar<MAXLENGTH>&)':
../../../../src/include/scripting/sqplus/sqplus.h:150:12: error: there are no arguments to '_strcmp' that depend on a template parameter, so a declaration of '_strcmp' must be available [-fpermissive]
     return _strcmp(s,_s.s) == 0;
            ^~~~~~~
../../../../src/include/scripting/sqplus/sqplus.h:150:12: note: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated)
../../../../src/include/scripting/sqplus/sqplus.h: In member function 'bool SqPlus::ScriptStringVar<MAXLENGTH>::compareCaseInsensitive(const SqPlus::ScriptStringVar<MAXLENGTH>&)':
../../../../src/include/scripting/sqplus/sqplus.h:153:12: error: there are no arguments to '_stricmp' that depend on a template parameter, so a declaration of '_stricmp' must be available [-fpermissive]
     return _stricmp(s,_s.s) == 0;
            ^~~~~~~~
In file included from SqPlus.cpp:1:0:
../../../../src/include/scripting/sqplus/sqplus.h: In member function 'bool SqPlus::ScriptStringVar<MAXLENGTH>::operator==(const SqPlus::ScriptStringVar<MAXLENGTH>&)':
../../../../src/include/scripting/sqplus/sqplus.h:150:12: error: there are no arguments to '_strcmp' that depend on a template parameter, so a declaration of '_strcmp' must be available [-fpermissive]
     return _strcmp(s,_s.s) == 0;
            ^~~~~~~
../../../../src/include/scripting/sqplus/sqplus.h:150:12: note: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated)
../../../../src/include/scripting/sqplus/sqplus.h: In member function 'bool SqPlus::ScriptStringVar<MAXLENGTH>::compareCaseInsensitive(const SqPlus::ScriptStringVar<MAXLENGTH>&)':
../../../../src/include/scripting/sqplus/sqplus.h:153:12: error: there are no arguments to '_stricmp' that depend on a template parameter, so a declaration of '_stricmp' must be available [-fpermissive]
     return _stricmp(s,_s.s) == 0;
            ^~~~~~~~
In file included from SquirrelObject.cpp:1:0:
../../../../src/include/scripting/sqplus/sqplus.h: In member function 'bool SqPlus::ScriptStringVar<MAXLENGTH>::operator==(const SqPlus::ScriptStringVar<MAXLENGTH>&)':
../../../../src/include/scripting/sqplus/sqplus.h:150:12: error: there are no arguments to '_strcmp' that depend on a template parameter, so a declaration of '_strcmp' must be available [-fpermissive]
     return _strcmp(s,_s.s) == 0;
            ^~~~~~~
../../../../src/include/scripting/sqplus/sqplus.h:150:12: note: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated)
../../../../src/include/scripting/sqplus/sqplus.h: In member function 'bool SqPlus::ScriptStringVar<MAXLENGTH>::compareCaseInsensitive(const SqPlus::ScriptStringVar<MAXLENGTH>&)':
../../../../src/include/scripting/sqplus/sqplus.h:153:12: error: there are no arguments to '_stricmp' that depend on a template parameter, so a declaration of '_stricmp' must be available [-fpermissive]
     return _stricmp(s,_s.s) == 0;
            ^~~~~~~~
make[4]: *** [Makefile:487: SquirrelVM.lo] Error 1

It seems to me that the fix has to change the problematic calls to:
  scstrcmp, or so defined in ./src/include/scripting/include/squirrel.h
   
The SQChar could be wchar_t, char, etc. In each case, sc* functions are defined accordingly.
Comment 1 aion1223 2018-03-02 03:28:01 UTC
Created attachment 521810 [details, diff]
suggested patch

This might be a patch.
Comment 2 aion1223 2018-03-06 10:57:18 UTC
Sorry. Line 145 after suggested-patch'ing seems now:
 return towupper(*w0) - towupper(*w1);

It should have been:
 return towupper(*w0++) - towupper(*w1++);
Comment 3 lekto 2018-03-22 22:09:00 UTC
Duplicate of https://bugs.gentoo.org/637126
Comment 4 Pacho Ramos gentoo-dev 2018-04-03 10:22:31 UTC

*** This bug has been marked as a duplicate of bug 637126 ***
Comment 5 Larry the Git Cow gentoo-dev 2018-04-14 16:10:57 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1ffb32396837505f577b5b18e0cb9e6d74bbc4b1

commit 1ffb32396837505f577b5b18e0cb9e6d74bbc4b1
Author:     Peter Levine <plevine457@gmail.com>
AuthorDate: 2018-03-24 22:04:04 +0000
Commit:     Pacho Ramos <pacho@gentoo.org>
CommitDate: 2018-04-14 16:08:03 +0000

    dev-util/codeblocks: Fix building with GCC-7
    
    Bug: https://bugs.gentoo.org/649248
    Package-Manager: Portage-2.3.16, Repoman-2.3.6
    Closes: https://bugs.gentoo.org/649248
    Closes: https://bugs.gentoo.org/637126
    Closes: https://github.com/gentoo/gentoo/pull/7600

 dev-util/codeblocks/codeblocks-16.01.ebuild        |  4 ++-
 .../codeblocks/files/codeblocks-16.01-gcc7.patch   | 30 ++++++++++++++++++++++
 2 files changed, 33 insertions(+), 1 deletion(-)

Additionally, it has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1ffb32396837505f577b5b18e0cb9e6d74bbc4b1

commit 1ffb32396837505f577b5b18e0cb9e6d74bbc4b1
Author:     Peter Levine <plevine457@gmail.com>
AuthorDate: 2018-03-24 22:04:04 +0000
Commit:     Pacho Ramos <pacho@gentoo.org>
CommitDate: 2018-04-14 16:08:03 +0000

    dev-util/codeblocks: Fix building with GCC-7
    
    Bug: https://bugs.gentoo.org/649248
    Package-Manager: Portage-2.3.16, Repoman-2.3.6
    Closes: https://bugs.gentoo.org/649248
    Closes: https://bugs.gentoo.org/637126
    Closes: https://github.com/gentoo/gentoo/pull/7600

 dev-util/codeblocks/codeblocks-16.01.ebuild        |  4 ++-
 .../codeblocks/files/codeblocks-16.01-gcc7.patch   | 30 ++++++++++++++++++++++
 2 files changed, 33 insertions(+), 1 deletion(-)}
Comment 6 Pacho Ramos gentoo-dev 2018-04-14 16:12:02 UTC

*** This bug has been marked as a duplicate of bug 637126 ***