On Saturday 29 March 2008 09:25, you wrote: > On Friday 28 March 2008 19:50:04 Jim Bublitz wrote: > > On Friday 21 March 2008 11:24, Danny Pansters wrote: > > > I've been trying to get this to build on FreeBSD, but the build fails > > > with both gcc34 and gcc42: > > > > Sorry for the slow response - my email to Phil got delayed by a screwup > > in my mail system. > > > > Phil noticed that the methods in the error output all involved mode_t and > > time_t. PyKDE4 typedefs those as uint and long respectively in > > sip/kdecore/typedefs.sip. If FreeBSD is 2038-safe, then time_t is > > probably 64 bit. > > > > Would you be able to find the correct types for FreeBSD, fix > > typedefs.sip, and try a rebuild/recompile (you'll need to rebuild kdecore > > and kio at a minimum)? > > > > Let me know if that works. If it does, I'll figure out a permanent fix. > > > > Jim > > Alright, this works: > > --- typedefs.sip.orig 2008-03-29 15:03:08.000000000 +0100 > +++ typedefs.sip.new 2008-03-29 17:12:08.000000000 +0100 > @@ -20,11 +20,11 @@ > // You should have received a copy of the GNU General Public License > // along with this program. If not, see <http://www.gnu.org/licenses/>. > > -typedef uint mode_t; > +typedef ushort mode_t; > > -typedef long time_t; > +typedef int time_t; > > -typedef ulong size_t; > +typedef uint size_t; > > typedef int ssize_t; > > @@ -36,7 +36,7 @@ > > typedef uint WFlags; > > -typedef long off_t; > +typedef qlonglong off_t; > > typedef uint uid_t; > > > For completeness: > > FreeBSD typedefs [qglobal.h] [on i386] > > unsigned int size_t [uint] [uint32_t] > int time_t [int] [int32_t] > int ssize_t [int] [int32_t] > int pid_t [int] [int32_t] > unsigned short mode_t [ushort] [int16_t] > long long off_t [qlonglong] [int64_t] > unsigned int uid_t [uint] [uint32_t] > unsigned int gid_t [uint] [uint32_t] > > Why are you not getting these from qplatformdefs.h but instead redefine > them?
Because sip, when generating code, doesn't have access to any h files, so typedefs need to be provided in a .sip file. But thanks for the pointer to the h file - I wasn't aware of it. > > I get exactly one warning during compile, should this be worrying (dont > think so): > > c++ -c -Wno-deprecated-declarations -pipe -fPIC -O2 -fno-strict-aliasing > -pipe -Wall -W -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_GUI_LIB -I. > -I../extra/kde402 -I/usr/local/kde4/include -I/usr/local/include/QtCore > -I/usr/local/include/QtGui -I/usr/local/include/QtXml > -I/usr/local/include/QtSvg -I/usr/local/kde4/include/solid > -I/usr/local/kde4/include/kio -I/usr/local/kde4/include/kfile > -I/usr/local/kde4/include/kssl -I/usr/local/include/python2.5 > -I/usr/local/share/qt4/mkspecs/freebsd-g++ -I/usr/local/include > -o sipkioKIOJobUiDelegate.o sipkioKIOJobUiDelegate.cpp > sipkioKIOJobUiDelegate.cpp: In function `PyObject* > meth_KIO_JobUiDelegate_askFileRename(PyObject*, PyObject*)': > sipkioKIOJobUiDelegate.cpp:747: warning: converting of negative value > `-0x00000000000000001' to `long long unsigned int' > sipkioKIOJobUiDelegate.cpp:748: warning: converting of negative value > `-0x00000000000000001' to `long long unsigned int' That happens because KDE programmers assign default argument values = -1 for unsigned types, and I've never been consistent in correcting that in the sip files. I should probably add a fix during my code generation from the h files, but it becomes a problem because unsigned long long, for example, can be written half a dozen different ways, and KDE uses all of them, plus typedefs.. > Anyway, thanks for the hint. If it's tedious to fix it on your end, it's no > problem for me to just patch typedefs.sip in the freebsd port. What does uname report for FreeBSD? I can check for that and swap in the correct typedefs.sip. I have some other fixes, so it'll be a few days before I release a tarball. If you want to go ahead and substitute a FreeBSD typedefs.sip for now, that's fine. Jim _______________________________________________ PyQt mailing list [email protected] http://www.riverbankcomputing.com/mailman/listinfo/pyqt
