[Kde-bindings] Fwd: Qyoto/Kimono: A 64 bit unsafe function, build trouble on Debian unstable
Richard Dale
Richard_Dale at tipitina.demon.co.uk
Tue May 22 15:57:30 UTC 2007
Hi Kaare
Thanks for the bug report - I'll forward it to the kde-bindings at kde.org
mailing list. I'm not sure what the problem with the forum on the qyoto site
is about, but once we've done a release it will be nice to use the forum to
discuss programming issues.
-- Richard
---------- Forwarded Message ----------
Subject: Qyoto/Kimono: A 64 bit unsafe function, build trouble on Debian
unstable
Date: Tuesday 22 May 2007
From: Kaare Olsen <kaare at nightcall.dk>
To: Richard_Dale at tipitina.demon.co.uk
Hi Richard
This mail is regarding the Qyoto/Kimono Project.
First I wanted to post in the forums on http://cougarpc.net/qyoto, but got an
error about not having a referencing post. Instead I used the contact form,
but the mail bounced:
=====
The original message was received at Mon, 21 May 2007 17:13:09 -0400
from c-67-164-196-42.hsd1.ut.comcast.net [67.164.196.42]
----- The following addresses had permanent fatal errors -----
<email at email.com>
(reason: 550 <email at email.com>: No thank you rejected: Account
Unavailable: Possible Forgery)
----- Transcript of session follows -----
... while talking to email-com.mr.outblaze.com.:
>>> DATA
<<< 550 <email at email.com>: No thank you rejected: Account Unavailable:
Possible Forgery
550 5.1.1 <email at email.com>... User unknown
<<< 554 Error: no valid recipients
=====
Finally I found your e-mail address on lists.kde.org. I hope it works. :-)
Now to my reason for writing: I tried compiling Qyoto (checked out from svn
on 21 May) on my EM64T based Debian unstable system, and ran into the
following problem when running make (after running "cmake ."):
[ 2%] Building CXX object CMakeFiles/qyoto.dir/src/qyoto.o
/home/kaare/source/qyoto/src/qyoto.cpp: In function 'long int
QyotoHash(void*)':
/home/kaare/source/qyoto/src/qyoto.cpp:1706: error: cast from 'void*' to 'int'
loses precision
make[2]: *** [CMakeFiles/qyoto.dir/src/qyoto.o] Error 1
make[1]: *** [CMakeFiles/qyoto.dir/all] Error 2
make: *** [all] Error 2
To solve the above problem, I changed the two instances of "return (int)"
to "return (long)" in the QyotoHash() function. However, I haven't examined
whether this change is correct, as I have next to no C++ experience.
Also, in Debian the Smoke library is named "smokeqt4", so I had to change
CMakeLists.txt in the Qyoto root folder accordingly.
On to the next problem.
I ran make again, a got the following error:
[ 4%] Built target qyoto
[ 4%] Building qt-dotnet.dll
/bin/sh: debug: command not found
[ 6%] Built target qt-dotnet
A snippet from the offending file ( CMakeFiles/qt.dotnet.dir/build.make ):
CMakeFiles/qt-dotnet:
$(CMAKE_COMMAND) -E
cmake_progress_report /home/kaare/source/qyoto/CMakeFiles $(CMAKE_PROGRESS_1)
@$(CMAKE_COMMAND) -E
cmake_echo_color --switch=$(COLOR) --blue --bold "Building qt-dotnet.dll"
-debug -define:DEBUG -unsafe -warn:0 -out:qt-dotnet.dll -target:library /home/kaare/source/qyoto/src/SmokeInvocation.cs /home/kaare/source/qyoto/src/SmokeMarshallers.cs /home/kaare/source/qyoto/src/Qyoto.cs /home/kaare/source/qyoto/src/QyotoMetaData.cs /home/kaare/source/qyoto/core/*.cs /home/kaare/source/qyoto/gui/*.cs /home/kaare/source/qyoto/network/*.cs /home/kaare/source/qyoto/sql/*.cs /home/kaare/source/qyoto/xml/*.cs /home/kaare/source/qyoto/svg/*.cs /home/kaare/source/qyoto/opengl/*.cs /home/kaare/source/qyoto/qdbus/*.cs
I guess the "-debug[...]" line should have been on the previous line. A
smiliar problem occurs when compiling most of the examples, etc.:
[ 40%] Building collidingmice.exe
/bin/sh: -unsafe: command not found
make[2]: ***
[examples/graphicsview/collidingmice/CMakeFiles/collidingmice.exe] Error 127
make[1]: ***
[examples/graphicsview/collidingmice/CMakeFiles/collidingmice.exe.dir/all]
Error 2
make: *** [all] Error 2
From the offending file (
examples/graphicsview/colldingmice/CMakeFiles/collidingmice.exe.dir/build.make ):
examples/graphicsview/collidingmice/CMakeFiles/collidingmice.exe:
$(CMAKE_COMMAND) -E
cmake_progress_report /home/kaare/source/qyoto/CMakeFiles $(CMAKE_PROGRESS_1)
@$(CMAKE_COMMAND) -E
cmake_echo_color --switch=$(COLOR) --blue --bold "Building collidingmice.exe"
cd /home/kaare/source/qyoto/examples/graphicsview/collidingmice
&& -unsafe -warn:0 -out:collidingmice.exe -r:../../../qt-dotnet.dll /home/kaare/source/qyoto/examples/graphicsview/collidingmice/main.cs /home/kaare/source/qyoto/examples/graphicsview/collidingmice/mouse.cs /home/kaare/source/qyoto/examples/graphicsview/collidingmice/qrc_mouse.cs
Notice the line beginning with "cd /home/kaare/source/qyoto[...]"; this seems
to be a mix of a cd command and arguments for gmcs.
Apparently, CMake version 2.4-patch 5 in Debian unstable created the files
incorrectly or is working differently from the version of CMake you're using.
When "collecting" the assumed improperly split lines and removing the "cd
<path> &&" bit from the build.make files, the build finishes successfully,
but only creating libqyoto.so, not the qt-dotnet.dll. My fixes to the
build.make files may be inadequate; I really have no idea what the files are
supposed to look like when having been generated properly.
If you can point me to a better place to post about these problems, or if you
need my assistance in testing any changes, please let me know.
--
Regards, Kaare
-------------------------------------------------------
More information about the Kde-bindings
mailing list