I have committed wip/fs-uae: finally we again have an Amiga emulator
that actually works! (emulators/uae and emulators/e-uae don't actually
work...)
I've done the stable release, but there is a development version that
has different prerequisites. In fact it has been split in 2, the
emulator itself, and the GUI frontend. And with the prerequisites for
the frontent (PySide: Qt4 bindings for Python) I have an issue.
PySide comes in several parts, including a code generator. For some
reason it forgets at some point that a pointer is const and g++ doesn't
like it. However on other platforms (Linux...) there is seemingly no
such problem.
My build proceeds this far:
[ 91%] Building CXX object
tests/samplebinding/CMakeFiles/sample.dir/sample/samplenamespace_someclass_someinnerclass_okthisisrecursiveenough_wrapper.cpp.o
[ 91%] Building CXX object
tests/samplebinding/CMakeFiles/sample.dir/sample/samplenamespace_someclass_someinnerclass_wrapper.cpp.o
[ 92%] Building CXX object
tests/samplebinding/CMakeFiles/sample.dir/sample/samplenamespace_someclass_someotherinnerclass_wrapper.cpp.o
[ 92%] Building CXX object
tests/samplebinding/CMakeFiles/sample.dir/sample/samplenamespace_someclass_wrapper.cpp.o
[ 92%] Building CXX object
tests/samplebinding/CMakeFiles/sample.dir/sample/samplenamespace_derivedfromnamespace_wrapper.cpp.o
[ 93%] Building CXX object
tests/samplebinding/CMakeFiles/sample.dir/sample/simplefile_wrapper.cpp.o
/home/tmp/wip/py-pyside-shiboken/work.x86_64/shiboken-1.2.1/build/tests/samplebinding/sample/simplefile_wrapper.cpp:
In function 'PyObject* Sbk_SimpleFileFunc_filename(PyObject*)':
/home/tmp/wip/py-pyside-shiboken/work.x86_64/shiboken-1.2.1/build/tests/samplebinding/sample/simplefile_wrapper.cpp:228:50:
error: invalid conversion from 'const char*' to 'char*'
gmake[2]: ***
[tests/samplebinding/CMakeFiles/sample.dir/sample/simplefile_wrapper.cpp.o]
Error 1
gmake[1]: *** [tests/samplebinding/CMakeFiles/sample.dir/all] Error 2
gmake: *** [all] Error 2
*** Error code 2
Stop.
make: stopped in /mnt/vol1/rhialto/cvs/pkgsrc/wip/py-pyside-shiboken
*** Error code 1
Stop.
make: stopped in /mnt/vol1/rhialto/cvs/pkgsrc/wip/py-pyside-shiboken
Looking at the code at that place, I see
if (!PyErr_Occurred()) {
// filename()
PyThreadState* _save = PyEval_SaveThread(); //
Py_BEGIN_ALLOW_THREADS
char * cppResult = cppSelf->filename();
PyEval_RestoreThread(_save); // Py_END_ALLOW_THREADS
pyResult =
Shiboken::Conversions::copyToPython(Shiboken::Conversions::PrimitiveTypeConverter<const
char*>(), cppResult);
}
where the compiler complains about the
char * cppResult = cppSelf->filename();
in the middle.
As far as I can see, g++ (gcc version 4.5.3 (NetBSD nb2 20110806) ) is correct.
The filename() method returns a const char *. That seems to match what?s in
?./tests/libsample/simplefile.h
It seems incorrect code generation that this is assigned to a plain char *.
Does anyone have an idea why I'd see this, and others apparently succeed
here?
I have started a forum thread at
http://qt-project.org/forums/viewthread/34477/ but so far there are no
reactions.
Here is my wip/py-pyside-shiboken/Makefile:
# $NetBSD$
VERSION= 1.2.1
DISTNAME= shiboken-${VERSION}
PKGNAME= ${PYPKGPREFIX}-shiboken-${VERSION}
MASTER_SITES= http://download.qt-project.org/official_releases/pyside/
EXTRACT_SUFX= .tar.bz2
CATEGORIES= devel
MAINTAINER= rhialto%falu.nl@localhost
HOMEPAGE= http://qt-project.org/wiki/Get-PySide
COMMENT= pyside (shiboken prerequisite)
LICENSE= gnu-gpl-v2
USE_TOOLS+= gmake cmake pkg-config
USE_LANGUAGES+= c c++
USE_CMAKE= yes
.include "../../x11/qt4-libs/buildlink3.mk"
.include "../../textproc/libxml2/buildlink3.mk"
.include "../../textproc/libxslt/buildlink3.mk"
.include "../../lang/python/extension.mk"
pre-configure:
cd ${WRKSRC} && ${MKDIR} build
do-configure:
cd ${WRKSRC}/build && ${SETENV} ${CONFIGURE_ENV} ${CMAKE} ..
do-build:
cd ${WRKSRC}/build && ${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM}
do-install:
cd ${WRKSRC}/build && ${SETENV} ${INSTALL_ENV} ${MAKE_PROGRAM}
${INSTALL_TARGET}
.include "../../mk/bsd.pkg.mk"
-Olaf.
--
___ Olaf 'Rhialto' Seibert -- The Doctor: No, 'eureka' is Greek for
\X/ rhialto/at/xs4all.nl -- 'this bath is too hot.'
Attachment:
pgpeSOSUYmq8F.pgp
Description: PGP signature
------------------------------------------------------------------------------ November Webinars for C, C++, Fortran Developers Accelerate application performance with scalable programming models. Explore techniques for threading, error checking, porting, and tuning. Get the most from the latest Intel processors and coprocessors. See abstracts and register http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk
_______________________________________________ pkgsrc-wip-discuss mailing list pkgsrc-wip-discuss%lists.sourceforge.net@localhost https://lists.sourceforge.net/lists/listinfo/pkgsrc-wip-discuss