Hello, Fedora 17 is about to be released, so I'm trying to build the stable 3.5.13 version of TDE. Fedora 17 ships with GCC 4.7. I keep an eye on the ML and bugtracker to check the compiler-specific issues.
Alas, I still have a FTBFS:
In file included from /opt/trinity/include/dcoptypes.h:25:0, from /home/albator/rpmbuild/BUILD/BUILD.fc17.x86_64/kdebase/tqt3integration/libqtkde/qtkde.cpp:25: /opt/trinity/include/dcopref.h: In instantiation of 'DCOPArg::DCOPArg(const T&) [with T = long unsigned int]': /opt/trinity/include/dcopref.h:459:2: required from 'DCOPReply DCOPRef::call(const QCString&, const T1&) [with T1 = long unsigned int]' /home/albator/rpmbuild/BUILD/BUILD.fc17.x86_64/kdebase/build/tqt3integration/utils/tqtkde_functions.cpp:30:95: required from here /opt/trinity/include/dcopref.h:145:27: error: 'dcopTypeName' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] In file included from /home/albator/rpmbuild/BUILD/BUILD.fc17.x86_64/kdebase/tqt3integration/libqtkde/qtkde.cpp:25:0: /opt/trinity/include/dcoptypes.h:74:39: note: 'template<class T> const char* dcopTypeName(const T&)' declared here, later in the translation unit cd /home/albator/rpmbuild/BUILD/BUILD.fc17.x86_64/kdebase/build/kate/app && /usr/lib64/ccache/c++ -DHAVE_CONFIG_H -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -DQT_NO_ASCII_CAST -DQT_CLEAN_NAMESPACE -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -DQT_THREAD_SUPPORT -D_REENTRANT -include tqt.h -I/home/albator/rpmbuild/BUILD/BUILD.fc17.x86_64/kdebase/build/kate/app -I/home/albator/rpmbuild/BUILD/BUILD.fc17.x86_64/kdebase/build -I/opt/trinity/include -I/usr/lib64/qt-3.3/include -I/opt/trinity/include/tqt -include tqt.h -o CMakeFiles/kwrite.dir/kwrite_kdeinit_executable.cpp.o -c /home/albator/rpmbuild/BUILD/BUILD.fc17.x86_64/kdebase/build/kate/app/kwrite_kdeinit_executable.cpp make[2]: *** [tqt3integration/libqtkde/CMakeFiles/qtkde-shared.dir/qtkde.cpp.o] Error 1 make[2]: Leaving directory `/home/albator/rpmbuild/BUILD/BUILD.fc17.x86_64/kdebase/build' make[1]: *** [tqt3integration/libqtkde/CMakeFiles/qtkde-shared.dir/all] Error 2
Do you have any clue ? (I repeat: this is on 3.5.13, not latest GIT)
Thanks Francois
On 04/24/2012 01:45 PM, Francois Andriot wrote:
/opt/trinity/include/dcopref.h:145:27: error: 'dcopTypeName' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
<snip>
Do you have any clue ? (I repeat: this is on 3.5.13, not latest GIT)
Yes,
As a work-around, just try doing what the compiler is telling you to do. Add the -fpermissive flag to your build:
./configure \ CXXFLAGS="${CXXFLAGS} -fpermissive" \ what_ever_other_options_you_use
The cause of the problem will eventually have to be fixed, but you can tell the compiler to just allow what gcc4.6 would allow with this flag....
Le 24/04/2012 20:54, David C. Rankin a écrit :
On 04/24/2012 01:45 PM, Francois Andriot wrote:
/opt/trinity/include/dcopref.h:145:27: error: 'dcopTypeName' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
<snip> > Do you have any clue ? > (I repeat: this is on 3.5.13, not latest GIT)
Yes,
As a work-around, just try doing what the compiler is telling you to do. Add the -fpermissive flag to your build:
./configure \ CXXFLAGS="${CXXFLAGS} -fpermissive" \ what_ever_other_options_you_use
The cause of the problem will eventually have to be fixed, but you can tell the compiler to just allow what gcc4.6 would allow with this flag....
No thanks, I do not want to use the "-fpermissive". Instead, here is a patch for tdelibs that will change the "dcoptypes.h" file. Now tdebase builds correctly.
Francois
Le 24/04/2012 20:54, David C. Rankin a écrit :
On 04/24/2012 01:45 PM, Francois Andriot wrote:
/opt/trinity/include/dcopref.h:145:27: error: 'dcopTypeName' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
<snip> > Do you have any clue ? > (I repeat: this is on 3.5.13, not latest GIT)
Yes,
As a work-around, just try doing what the compiler is telling you to do. Add the -fpermissive flag to your build:
./configure \ CXXFLAGS="${CXXFLAGS} -fpermissive" \ what_ever_other_options_you_use
The cause of the problem will eventually have to be fixed, but you can tell the compiler to just allow what gcc4.6 would allow with this flag....
No thanks, I do not want to use the "-fpermissive". Instead, here is a patch for tdelibs that will change the "dcoptypes.h" file. Now tdebase builds correctly.
Francois
Some patches are already in GIT for various gcc 4.7 build failures. Have you already backported those patches to your local build of 3.5.13?
Tim
Le 24/04/2012 23:20, Darrell Anderson a écrit :
Some patches are already in GIT for various gcc 4.7 build failures. Have you already backported those patches to your local build of 3.5.13?
This patch isn't. I just looked. Hence my previous "wow." :)
Darrell
Yes, I'm looking for available patches on GIT, bugtracker, etc ... to avoid duplicate effort.
Darell, after applying this patch I still manage to compile kdelibs and kdebase with gcc 4.6 and gcc 4.1 . So I think it's safe.
Le 24/04/2012 23:20, Darrell Anderson a écrit :
Some patches are already in GIT for various gcc 4.7 build failures. Have you already backported those patches to your local build of 3.5.13?
This patch isn't. I just looked. Hence my previous "wow." :)
Darrell
Yes, I'm looking for available patches on GIT, bugtracker, etc ... to avoid duplicate effort.
Darell, after applying this patch I still manage to compile kdelibs and kdebase with gcc 4.6 and gcc 4.1 . So I think it's safe.
No thanks, I do not want to use the "-fpermissive". Instead, here is a patch for tdelibs that will change the "dcoptypes.h" file. Now tdebase builds correctly.
Wow. All that was needed was to move those lines?
Is this patch backwards compatible with <gcc 4.7? If yes then I'll push to GIT.
Darrell