Tim, All,
This is the last of the 'used-to-build-but-fails-now' list. kima built fine on 6/5, but not won't build. It looks like some c++ namespace semantic that needs fixing in the kima header for gcc 4.7.1. The error is:
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I../src/cpufreqd -I../src/sources -I/opt/trinity/include -I/opt/tqt3/include -I. -include tqt.h -DQT_THREAD_SUPPORT -D_REENTRANT -DDBUS_API_SUBJECT_TO_CHANGE -I/usr/include/hal -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -fno-builtin -g3 -fno-inline -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -fpermissive -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -I/usr/include/tqt -MT kima.moc.lo -MD -MP -MF .deps/kima.moc.Tpo -c kima.moc.cpp -fPIC -DPIC -o .libs/kima.moc.o In file included from kima.moc.cpp:9:0: ./kima.h:177:24: error: 'list' in namespace 'std' does not name a type ./kima.h:177:29: warning: ISO C++ forbids declaration of 'parameter' with no type [-fpermissive] ./kima.h:177:33: error: expected ',' or '...' before '<' token
Any of you gurus know what needs fixing at line 177. I'll do the patch, I just need to know how to fix it :)
This is the last of the 'used-to-build-but-fails-now' list. kima built fine on 6/5, but not won't build. It looks like some c++ namespace semantic that needs fixing in the kima header for gcc 4.7.1. The error is:
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I../src/cpufreqd -I../src/sources -I/opt/trinity/include -I/opt/tqt3/include -I. -include tqt.h -DQT_THREAD_SUPPORT -D_REENTRANT -DDBUS_API_SUBJECT_TO_CHANGE -I/usr/include/hal -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -fno-builtin -g3 -fno-inline -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -fpermissive -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -I/usr/include/tqt -MT kima.moc.lo -MD -MP -MF .deps/kima.moc.Tpo -c kima.moc.cpp -fPIC -DPIC -o .libs/kima.moc.o In file included from kima.moc.cpp:9:0: ./kima.h:177:24: error: 'list' in namespace 'std' does not name a type ./kima.h:177:29: warning: ISO C++ forbids declaration of 'parameter' with no type [-fpermissive] ./kima.h:177:33: error: expected ',' or '...' before '<' token
Any of you gurus know what needs fixing at line 177. I'll do the patch, I just need to know how to fix it :)
I don't know how to fix. :-(
On the other hand, I ran a Slackware 14 32-bit build set during last night. kima built without error.
Regarding other list messages: kdmtheme, kchmviewer, krusader also built without error. I don't bother building kstreamripper because that app is in bad shape all around and needs intensive care. Refer to bug report 946 and add your build failures to the report.
There have been massive updates of late to Slackware 14, which means Arch and Slackware 14 probably are very close now to package content. Slackware 14 includes gcc 4.7.1, glibc 2.15, glib2 2.32.3, X11 7.4, and xorg-server 1.12.3.
I am not using any build tricks, such as using fpermissive. I'm building everything against TQt3.
I plan to run a full Slackware 14 64-bit build set tonight.
By the way, Slackware 14 will not include libpng 1.5. Pat V. considers the version unstable.
Darrell
Any of you gurus know what needs fixing at line 177. I'll do the patch, I just need to know how to fix it :)
maybe this could help:
On 07/16/2012 11:04 AM, Mag. Dr. Nikolaus Klepp wrote:
Any of you gurus know what needs fixing at line 177. I'll do the patch, I just need to know how to fix it :)
maybe this could help:
^^^^^^^^
At least the article is the right scope for the audience :)
I'll give it a go. I just kicked of a new build on Arch after the usrlib move and glibc-2.16-2 update. So far it is doing what it is supposed to. I'll work on the kima namespace issue once the i686 packages are done. So far we are here (see <===== below):
# array for Archlinux specific dependencies (remote sources) declare -a archdeps archdeps=('hal-info' 'hal' 'libutempter' 'xmedcon' 'libnjb' 'libkarma' 'mt-daapd' 'apetag')
## array of TDE modules to build (source from local GIT tree tarballs) declare -a tbo tbo=("dependencies/$useqt" #TQt3 'dependencies/tqtinterface' 'dependencies/arts' 'dependencies/dbus-tqt' 'dependencies/dbus-1-tqt' 'dependencies/tqca-tls' 'dependencies/libart-lgpl' 'dependencies/avahi-tqt' 'dependencies/libcaldav' 'dependencies/libcarddav' 'dependencies/sip4-tqt' 'dependencies/python-tqt' 'dependencies/tqscintilla' 'dependencies/tqscintilla-plugin' 'tdelibs' <===== 'tdebase' 'libraries/libksquirrel' 'libraries/libkdcraw' 'libraries/libkexiv2' 'libraries/libkipi' 'libraries/kipi-plugins' 'libraries/mlt' 'libraries/mlt++' 'tdebindings' 'tdeaccessibility' 'tdeutils' 'tdemultimedia' 'tdenetwork' 'tdeadmin' 'tdeartwork' 'tdegames' 'tdetoys' 'tdeedu' 'tdegraphics' 'tdevelop' 'tdeaddons' 'tdepim' 'tdewebdev' 'applications/abakus' 'applications/amarok' 'applications/dolphin' 'applications/gtk-qt-engine' 'applications/katapult' 'applications/kgtk-qt3' 'applications/kio-locate' 'applications/rosegarden' 'applications/tde-style-qtcurve' 'applications/tdesvn' 'applications/kpowersave' 'applications/wlassistant' 'applications/twin-style-crystal' 'applications/basket' 'applications/k3b' 'applications/yakuake' 'applications/soundkonverter' 'applications/ksplash-engine-moodin' 'applications/krename' 'applications/knemo' 'applications/gwenview' 'applications/kmplayer' 'applications/k9copy' 'applications/kchmviewer' 'applications/kdiff3' 'applications/kdirstat' 'applications/kdmtheme' 'applications/kbarcode' 'applications/kbfx' 'applications/kbookreader' 'applications/kima' 'applications/knetstats' 'applications/knetload' 'applications/knutclient' 'applications/kstreamripper' 'applications/filelight' 'applications/kaffeine' 'applications/krusader' 'applications/konversation' 'applications/kmplayer' 'applications/digikam' 'tdesdk' 'applications/koffice' )
So we are almost through:
# array of mandatory package where build failure stop build (exit vs. continue) declare -a mandatory mandatory=('hal-info' 'hal' 'libutempter' "dependencies/$useqt" 'dependencies/tqtinterface' 'dependencies/arts' 'dependencies/dbus-tqt' 'dependencies/dbus-1-tqt' 'dependencies/tqca-tls' 'dependencies/libart-lgpl' 'tdelibs' 'tdebase')
It's official -- if this build completes, I'm moving this box from 3.5.12 -> 14.0.0, then I'll really find out how bad the break with backwards compatibility really is :)
On 07/16/2012 04:48 PM, David C. Rankin wrote:
On 07/16/2012 11:04 AM, Mag. Dr. Nikolaus Klepp wrote:
> Any of you gurus know what needs fixing at line 177. > I'll do the patch, I just need to know how to fix it :)
maybe this could help:
^^^^^^^^
At least the article is the right scope for the audience :)
Reading the example, I came up with the following patch:
--- kima/src/kima.h +++ kima/src/kima.h 2012-07-17 00:44:44.835910307 -0500 @@ -35,6 +35,9 @@ #include <tqptrlist.h> #include <tqlabel.h>
+// Namespace +using namespace std; + // Forward Declarations class FlowLayout; class KAboutApplication;
The build still failed at exactly the same point:
In file included from kima.moc.cpp:9:0: ./kima.h:180:24: error: 'list' in namespace 'std' does not name a type ./kima.h:180:29: warning: ISO C++ forbids declaration of 'parameter' with no type [-fpermissive] ./kima.h:180:33: error: expected ',' or '...' before '<' token
The code in kima.h generating the error is:
private: /** * Adds the entries of given the STL to mSources */ 177 void addSources(const std::list<Source*>& inList);
Since this is a private: member of class Kima : public KPanelApplet, TQToolTip {, I don't know if the using namespace std; hint was the issue here. What say the experts?
On 07/17/2012 01:01 AM, David C. Rankin wrote:
private: /** * Adds the entries of given the STL to mSources */ 177 void addSources(const std::list<Source*>& inList);
Since this is a private: member of class Kima : public KPanelApplet, TQToolTip {, I don't know if the using namespace std; hint was the issue here. What say the experts?
One more note on this for the project. If we see areas where we can completely get away from the STL for doing things, I'm all for recoding to eliminate STL where doable. In all the major gcc transitions, I always end up fighting STL stuff. Just seems that custom standard compliant code always come through these type of changes much better than the STL implementations. Just my uneducated $.02.
On 17 Jul 2012, David C. Rankin verbalised:
On 07/17/2012 01:01 AM, David C. Rankin wrote:
private: /** * Adds the entries of given the STL to mSources */ 177 void addSources(const std::list<Source*>& inList);
Since this is a private: member of class Kima : public KPanelApplet, TQToolTip {, I don't know if the using namespace std; hint was the issue here. What say the experts?
One more note on this for the project. If we see areas where we can completely get away from the STL for doing things, I'm all for recoding to eliminate STL where doable. In all the major gcc transitions, I always end up fighting STL stuff. Just seems that custom standard compliant code always come through these type of changes much better than the STL implementations. Just my uneducated $.02.
The advantage of the STL stuff is that it is very very heavily tested, heavily optimized and someone else fixes bugs in it :)
On 17 Jul 2012, David C. Rankin outgrape:
--- kima/src/kima.h +++ kima/src/kima.h 2012-07-17 00:44:44.835910307 -0500 @@ -35,6 +35,9 @@ #include <tqptrlist.h> #include <tqlabel.h>
+// Namespace +using namespace std;
That's not going to help: the list below on line 177 is already namespace-qualified with std::.
On 07/17/2012 01:25 PM, Nix wrote:
On 17 Jul 2012, David C. Rankin outgrape:
--- kima/src/kima.h +++ kima/src/kima.h 2012-07-17 00:44:44.835910307 -0500 @@ -35,6 +35,9 @@ #include <tqptrlist.h> #include <tqlabel.h>
+// Namespace +using namespace std;
That's not going to help: the list below on line 177 is already namespace-qualified with std::.
What is wrong with private declaration:
'void addSources(const std::list<Source*>& inList);'
(line 177 kima.h) see: http://www.3111skyline.com/dl/dt/tde/err/kima/kima.h.txt
That is the line causing the error:
In file included from kima.moc.cpp:9:0: ./kima.h:179:24: error: 'list' in namespace 'std' does not name a type ./kima.h:179:29: warning: ISO C++ forbids declaration of 'parameter' with no type [-fpermissive] ./kima.h:179:33: error: expected ',' or '...' before '<' token
This has nothing to do with the information turned up from searching: "error: 'list' in namespace 'std' does not name a type" e.g.: http://www.cplusplus.com/forum/beginner/51696/ or any of the others turned up. It's like a round-peg error looking for a square-hole to fit in.
It seems like this is just generated out of thin air. The namespace is correct, the declaration is std:: qualified, I can't find any standard it violates. It is like this is some implicit declaration problem that just shouldn't exist, or like gcc no longer knows what a STL list is.
c++ gurus -- what is your take -- it still won't build :(
On 07/19/2012 11:12 PM, David C. Rankin wrote:
On 07/17/2012 01:25 PM, Nix wrote:
On 17 Jul 2012, David C. Rankin outgrape:
--- kima/src/kima.h +++ kima/src/kima.h 2012-07-17 00:44:44.835910307 -0500 @@ -35,6 +35,9 @@ #include <tqptrlist.h> #include <tqlabel.h>
+// Namespace +using namespace std;
That's not going to help: the list below on line 177 is already namespace-qualified with std::.
What is wrong with private declaration:
'void addSources(const std::list<Source*>& inList);'
(line 177 kima.h) see: http://www.3111skyline.com/dl/dt/tde/err/kima/kima.h.txt
That is the line causing the error:
In file included from kima.moc.cpp:9:0: ./kima.h:179:24: error: 'list' in namespace 'std' does not name a type ./kima.h:179:29: warning: ISO C++ forbids declaration of 'parameter' with no type [-fpermissive] ./kima.h:179:33: error: expected ',' or '...' before '<' token
This has nothing to do with the information turned up from searching: "error: 'list' in namespace 'std' does not name a type" e.g.: http://www.cplusplus.com/forum/beginner/51696/ or any of the others turned up. It's like a round-peg error looking for a square-hole to fit in.
It seems like this is just generated out of thin air. The namespace is correct, the declaration is std:: qualified, I can't find any standard it violates. It is like this is some implicit declaration problem that just shouldn't exist, or like gcc no longer knows what a STL list is.
c++ gurus -- what is your take -- it still won't build :(
OK,
I took the error literally and did:
void addSources(const std::list...<Source*>& inList);
The error then changed quite a bit. Does this shed any more light on the problem (other than the monkey behind the keyboard)?
In file included from kima.cpp:51:0: kima.h:177:24: error: invalid use of template-name 'std::list' without an argument list kima.h:177:33: error: ISO C++ forbids declaration of 'parameter' with no type [-fpermissive] kima.h:177:36: error: expected ')' before '<' token kima.h:177:33: error: expected ';' at end of member declaration kima.h:177:36: error: expected unqualified-id before '<' token kima.cpp: In constructor 'Kima::Kima(const TQString&, KPanelApplet::Type, int, TQWidget*, const char*)': kima.cpp:108:52: error: no matching function for call to 'Kima::addSources(std::list<Source*>)' kima.cpp:108:52: note: candidate is: In file included from kima.cpp:51:0: kima.h:177:7: note: void Kima::addSources(int, ...) kima.h:177:7: note: no known conversion for argument 1 from 'std::list<Source*>' to 'int' kima.cpp:109:53: error: no matching function for call to 'Kima::addSources(std::list<Source*>)' kima.cpp:109:53: note: candidate is: In file included from kima.cpp:51:0: kima.h:177:7: note: void Kima::addSources(int, ...) kima.h:177:7: note: no known conversion for argument 1 from 'std::list<Source*>' to 'int' kima.cpp:110:53: error: no matching function for call to 'Kima::addSources(std::list<Source*>)' kima.cpp:110:53: note: candidate is: In file included from kima.cpp:51:0: kima.h:177:7: note: void Kima::addSources(int, ...) kima.h:177:7: note: no known conversion for argument 1 from 'std::list<Source*>' to 'int' kima.cpp:111:49: error: no matching function for call to 'Kima::addSources(std::list<Source*>)' kima.cpp:111:49: note: candidate is: In file included from kima.cpp:51:0: kima.h:177:7: note: void Kima::addSources(int, ...) kima.h:177:7: note: no known conversion for argument 1 from 'std::list<Source*>' to 'int' kima.cpp:112:47: error: no matching function for call to 'Kima::addSources(std::list<Source*>)' kima.cpp:112:47: note: candidate is: In file included from kima.cpp:51:0: kima.h:177:7: note: void Kima::addSources(int, ...) kima.h:177:7: note: no known conversion for argument 1 from 'std::list<Source*>' to 'int' kima.cpp:113:54: error: no matching function for call to 'Kima::addSources(std::list<Source*>)' kima.cpp:113:54: note: candidate is: In file included from kima.cpp:51:0: kima.h:177:7: note: void Kima::addSources(int, ...) kima.h:177:7: note: no known conversion for argument 1 from 'std::list<Source*>' to 'int' kima.cpp:114:53: error: no matching function for call to 'Kima::addSources(std::list<Source*>)' kima.cpp:114:53: note: candidate is: In file included from kima.cpp:51:0: kima.h:177:7: note: void Kima::addSources(int, ...) kima.h:177:7: note: no known conversion for argument 1 from 'std::list<Source*>' to 'int' kima.cpp:115:51: error: no matching function for call to 'Kima::addSources(std::list<Source*>)' kima.cpp:115:51: note: candidate is: In file included from kima.cpp:51:0: kima.h:177:7: note: void Kima::addSources(int, ...) kima.h:177:7: note: no known conversion for argument 1 from 'std::list<Source*>' to 'int' kima.cpp:116:46: error: no matching function for call to 'Kima::addSources(std::list<Source*>)' kima.cpp:116:46: note: candidate is: In file included from kima.cpp:51:0: kima.h:177:7: note: void Kima::addSources(int, ...) kima.h:177:7: note: no known conversion for argument 1 from 'std::list<Source*>' to 'int' kima.cpp:117:50: error: no matching function for call to 'Kima::addSources(std::list<Source*>)' kima.cpp:117:50: note: candidate is: In file included from kima.cpp:51:0: kima.h:177:7: note: void Kima::addSources(int, ...) kima.h:177:7: note: no known conversion for argument 1 from 'std::list<Source*>' to 'int' kima.cpp:118:42: error: no matching function for call to 'Kima::addSources(std::list<Source*>)' kima.cpp:118:42: note: candidate is: In file included from kima.cpp:51:0: kima.h:177:7: note: void Kima::addSources(int, ...) kima.h:177:7: note: no known conversion for argument 1 from 'std::list<Source*>' to 'int' kima.cpp:119:46: error: no matching function for call to 'Kima::addSources(std::list<Source*>)' kima.cpp:119:46: note: candidate is: In file included from kima.cpp:51:0: kima.h:177:7: note: void Kima::addSources(int, ...) kima.h:177:7: note: no known conversion for argument 1 from 'std::list<Source*>' to 'int' kima.cpp:120:47: error: no matching function for call to 'Kima::addSources(std::list<Source*>)' kima.cpp:120:47: note: candidate is: In file included from kima.cpp:51:0: kima.h:177:7: note: void Kima::addSources(int, ...) kima.h:177:7: note: no known conversion for argument 1 from 'std::list<Source*>' to 'int' kima.cpp:121:45: error: no matching function for call to 'Kima::addSources(std::list<Source*>)' kima.cpp:121:45: note: candidate is: In file included from kima.cpp:51:0: kima.h:177:7: note: void Kima::addSources(int, ...) kima.h:177:7: note: no known conversion for argument 1 from 'std::list<Source*>' to 'int' kima.cpp:122:46: error: no matching function for call to 'Kima::addSources(std::list<Source*>)' kima.cpp:122:46: note: candidate is: In file included from kima.cpp:51:0: kima.h:177:7: note: void Kima::addSources(int, ...) kima.h:177:7: note: no known conversion for argument 1 from 'std::list<Source*>' to 'int' kima.cpp: At global scope: kima.cpp:159:6: error: prototype for 'void Kima::addSources(const std::list<Source*>&)' does not match any in class 'Kima' In file included from kima.cpp:51:0: kima.h:177:7: error: candidate is: void Kima::addSources(int, ...) kima.cpp:346:6: warning: unused parameter 'inEvent' [-Wunused-parameter]
On 07/19/2012 11:37 PM, David C. Rankin wrote:
On 07/19/2012 11:12 PM, David C. Rankin wrote:
OK,
I took the error literally and did:
void addSources(const std::list...<Source*>& inList);
The error then changed quite a bit. Does this shed any more light on the problem (other than the monkey behind the keyboard)?
In file included from kima.cpp:51:0: kima.h:177:24: error: invalid use of template-name 'std::list' without an argument list kima.h:177:33: error: ISO C++ forbids declaration of 'parameter' with no type [-fpermissive]
So then what else could it be that causes it not to recognize list as a list? A header? So I included
#include <list>
Walah!
Finished making: tde-kima 14.0.0_dev-3 (Fri Jul 20 04:43:58 UTC 2012)
patch:
--- kima/src/kima.h +++ /home/david/bld/david/build/src/kima/src/kima.h 2012-07-19 23:42:28.282241352 -0500 @@ -28,6 +28,8 @@ #include "sources/source.h" #include "cpufreqd/cpufreqd.h"
+#include <list> + // TQt #include <tqtooltip.h> #include <tqfont.h>
On 07/19/2012 11:37 PM, David C. Rankin wrote:
On 07/19/2012 11:12 PM, David C. Rankin wrote:
OK,
I took the error literally and did:
void addSources(const std::list...<Source*>& inList);
The error then changed quite a bit. Does this shed any more light on the problem (other than the monkey behind the keyboard)?
In file included from kima.cpp:51:0: kima.h:177:24: error: invalid use of template-name 'std::list' without an argument list kima.h:177:33: error: ISO C++ forbids declaration of 'parameter' with no type [-fpermissive]
So then what else could it be that causes it not to recognize list as a list? A header? So I included
#include <list>
Walah!
Finished making: tde-kima 14.0.0_dev-3 (Fri Jul 20 04:43:58 UTC 2012)
patch:
--- kima/src/kima.h +++ /home/david/bld/david/build/src/kima/src/kima.h 2012-07-19 23:42:28.282241352 -0500 @@ -28,6 +28,8 @@ #include "sources/source.h" #include "cpufreqd/cpufreqd.h"
+#include <list>
// TQt #include <tqtooltip.h> #include <tqfont.h>
-- David C. Rankin, J.D.,P.E.
Thanks for the effort in debugging that! I have had my hands full with Real Life for the past few weeks, so I have been largely unable to help.
Committed to GIT in hash 0e4d830.
Tim