Guys,
I am trying to understand build failures in tdeaddons, tdegames and tdetoys
(and probably all other autoconf sources). Each of the packages fails during
make of the very first file that requires a .moc file:
tdeaddons:
make[4]: Entering directory
`/build/src/tdeaddons/kaddressbook-plugins/xxports/kworldclock'
<snip>
geo_xxport.cpp:114:26: fatal error: geo_xxport.moc: No such file or directory
compilation terminated.
tdegames:
make[3]: Entering directory `/build/src/tdegames/libtdegames/highscore'
<snip>
kconfigrawbackend.cpp:21:33: fatal error: kconfigrawbackend.moc: No such file
or directory compilation terminated.
tdetoys:
make[3]: Entering directory `/build/src/tdetoys/amor'
<snip>
amordialog.cpp:35:26: fatal error: amordialog.moc: No such file or directory
compilation terminated.
In all 3 cases, the first time the build looks for a .moc file, it is not
there. I am completely lost on this one. I have re-read HowToBuild, I have
search for "moc files not generated" and all I find is a reference to a cmake
QT_AUTOMOC flag that isn't relevant to autoconf.
How are the moc files generated? Is there some flag I can set or add that
would show what is going on? Need help here...
--
David C. Rankin, J.D.,P.E.
All,
Do we really want a double-click mouse by default? I've never seen this as the
default it kde -> took me a while to find it.
Any thoughts?
--
David C. Rankin, J.D.,P.E.
Confirmed,
Libtool version mismatch resulting in undeclared 'to_tool_file_cmd' is common
to all tde modules requiring autoconf. With tdeaddons, after issuing:
autoreconf --force --install
to get past the initial libtool version mismatch, the build again failed with:
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../../.. -I/opt/trinity/include
-I/opt/tqt3/include -I. -include tqt.h -I/opt/trinity/include/tde
-DQT_THREAD_SUPPORT -D_REENTRANT -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
-Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor
-fno-exceptions -fno-check-new -fno-common -I/usr/include/tqt
-DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT
-DQT_NO_TRANSLATION -MT geo_xxport.lo -MD -MP -MF .deps/geo_xxport.Tpo -c ""
-fPIC -DPIC -o .libs/geo_xxport.o
g++: error: : No such file or directory
g++: fatal error: no input files
Note the empty filename:
.deps/geo_xxport.Tpo -c "" -fPIC -DPIC -o .libs/geo_xxport.o
^^^^^^
So here is our third point in the line. I've updated
http://bugs.pearsoncomputing.net/show_bug.cgi?id=924 with the new information.
Additionally, I have additional work to do on tdeaddons. After sorting the
libtool issue, I ran into:
geo_xxport.cpp:114:26: fatal error: geo_xxport.moc: No such file or directory
compilation terminated.
So there is something going on there I don't quite understand...
--
David C. Rankin, J.D.,P.E.
I have the Trinity composition manager enabled. I'm not seeing any eye candy effects. I have just about everything checked/enabled.
Is there something else I need to do to see these effects?
I do not have any special compiz package installed.
This is on a physical machine using the proprietary Nvidia drivers and not a virtual machine.
Darrell
Tim, Darrell, All,
I finally got tdeutils to build on Arch. The old version of libtool in the GIT
tree does not correctly create the designation for 'to_tool_file_cmd' in the
'libtool' file that is created by running ./configure. The solution was to hack
the libtool file produced by configure and set:
to_tool_file_cmd=func_convert_file_noop
I just used sed to add it to the top of the libtool file after #! /bin/sh.
That is the default value according to:
http://www.gnu.org/software/libtool/manual/html_node/libtool-script-content…
— Variable: to_tool_file_cmd
If the toolchain is not native to the build platform (e.g. if you are using
some Unix to drive the scripting together with a Windows toolchain running in
Wine) this variable describes how to convert file names from the format used by
the build platform to the format used by the toolchain. Normally set to
‘func_convert_file_noop’.
I do not understand why the GIT libtool version does not correctly do this
when run against the stable 2.4.2 version of libtool. This is a bug that will
need to be fixed. But:
==> Finished making: tde-tdeutils 3513_tqt-1 (Wed Mar 21 16:25:37 UTC 2012)
--
David C. Rankin, J.D.,P.E.
Darrell, All,
I ran into a build error with tqscintilla that looks like I'm missing
something or I have stumbled onto a gcc issue. The build proceeds normally for a
good while, then:
g++ -c -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector
--param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -I/usr/include/tqt
-I/opt/trinity/include -I/opt/tqt3/include -I/usr/include/tqt
-I/opt/trinity/include -I/opt/tqt3/include -I/usr/share/qt/mkspecs/linux-g++-64
-I. -I/usr/include/QtCore -I/usr/include/QtGui -I/usr/include -I. -I../include
-I../src -I/usr/include/tqt -I. -o ExternalLexer.o ../src/ExternalLexer.cpp
In file included from ../src/ExternalLexer.cpp:22:0:
../src/ExternalLexer.h:25:30: error: expected ')' before '*' token
../src/ExternalLexer.h:27:30: error: expected ')' before '*' token
../src/ExternalLexer.h:29:31: error: expected ')' before '*' token
../src/ExternalLexer.h:29:31: error: expected initializer before '*' token
../src/ExternalLexer.h:30:29: error: expected ')' before '*' token
../src/ExternalLexer.h:31:30: error: expected ')' before '*' token
../src/ExternalLexer.h:38:2: error: 'ExtLexerFunction' does not name a type
../src/ExternalLexer.h:39:2: error: 'ExtFoldFunction' does not name a type
../src/ExternalLexer.h:52:27: error: 'ExtLexerFunction' has not been declared
../src/ExternalLexer.h:52:52: error: 'ExtFoldFunction' has not been declared
../src/ExternalLexer.cpp: In member function 'virtual void
ExternalLexerModule::Lex(unsigned int, int, int, WordList**, Accessor&) const':
../src/ExternalLexer.cpp:63:7: error: 'fneLexer' was not declared in this scope
../src/ExternalLexer.cpp:74:74: error: 'fneLexer' was not declared in this scope
../src/ExternalLexer.cpp: In member function 'virtual void
ExternalLexerModule::Fold(unsigned int, int, int, WordList**, Accessor&) const':
../src/ExternalLexer.cpp:82:7: error: 'fneFolder' was not declared in this scope
../src/ExternalLexer.cpp:93:75: error: 'fneFolder' was not declared in this scope
../src/ExternalLexer.cpp: At global scope:
../src/ExternalLexer.cpp:99:39: error: variable or field 'SetExternal' declared void
../src/ExternalLexer.cpp:99:39: error: 'ExtLexerFunction' was not declared in
this scope
../src/ExternalLexer.cpp:99:64: error: 'ExtFoldFunction' was not declared in
this scope
../src/ExternalLexer.cpp:99:89: error: expected primary-expression before 'int'
../src/ExternalLexer.cpp: In constructor 'LexerLibrary::LexerLibrary(const char*)':
../src/ExternalLexer.cpp:121:3: error: 'GetLexerCountFn' was not declared in
this scope
../src/ExternalLexer.cpp:121:19: error: expected ';' before 'GetLexerCount'
../src/ExternalLexer.cpp:123:7: error: 'GetLexerCount' was not declared in this
scope
../src/ExternalLexer.cpp:128:4: error: 'GetLexerNameFn' was not declared in this
scope
../src/ExternalLexer.cpp:128:19: error: expected ';' before 'GetLexerName'
../src/ExternalLexer.cpp:129:4: error: 'ExtLexerFunction' was not declared in
this scope
../src/ExternalLexer.cpp:129:21: error: expected ';' before 'Lexer'
../src/ExternalLexer.cpp:130:4: error: 'ExtFoldFunction' was not declared in
this scope
../src/ExternalLexer.cpp:130:20: error: expected ';' before 'Folder'
../src/ExternalLexer.cpp:139:33: error: 'GetLexerName' was not declared in this
scope
../src/ExternalLexer.cpp:156:22: error: 'Lexer' was not declared in this scope
../src/ExternalLexer.cpp:156:29: error: 'Folder' was not declared in this scope
The code complained about in ExternalLexer.h begins with:
// External Lexer function definitions...
typedef void (EXT_LEXER_DECL *ExtLexerFunction)(unsigned int lexer, unsigned int
startPos, int length, int initStyle,
char *words[], WindowID window, char *props);
typedef void (EXT_LEXER_DECL *ExtFoldFunction)(unsigned int lexer, unsigned int
startPos, int length, int initStyle,
char *words[], WindowID window, char *props);
typedef void* (EXT_LEXER_DECL *GetLexerFunction)(unsigned int Index);
typedef int (EXT_LEXER_DECL *GetLexerCountFn)();
typedef void (EXT_LEXER_DECL *GetLexerNameFn)(unsigned int Index, char *name,
int buflength);
Is there some new directive required to have it use the 'EXT_LEXER_DECL *'
typedef?
--
David C. Rankin, J.D.,P.E.
I submitted a small patch to resolve one of the biggest irritants on my hit list, bug report 392 (http://bugs.pearsoncomputing.net/show_bug.cgi?id=392), Desktop Device Icon Placement.
The patch is small and restores a snippet of code that was deleted long ago.
I found the solution by persistent trial-and-error and not any elegant C++ sleuthing. Thus, I ask for a signoff review to inspect the restored code.
I am using the patch here but I'd like to push to GIT.
Thanks!
Darrell
I am typing this message from a Trinity session built from GIT.
Trinity is noticeably snappier than my KDE3 setup. Even Firefox responds faster, both in page rendering speed and interface response. Except for the startup speed Firefox almost feels native.
I feel as though I have new hardware, the difference is that noticeable.
After we eliminate some build issues and resolve some usability bugs I think R14 will be nice indeed. Very nice.
Much faster.
Thanks everybody!
Darrell