pkgsrc-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
x11/qt4-libs fails to build on NetBSD sparc64
Hi, I need help from C++ experts. I'm using NetBSD sparc64 (64-bit kernel +
userland) on Ultra 10. I'm trying to build kde4 from pkgsrc wip.
The first problem I have is building x11/qt4-libs, it fails to build with the
following error message:
/opt/pkg.obj/x11/qt4-libs/work.ultra10/qt-x11-opensource-src-4.3.3/bin/rcc
-name
qstyle styles/qstyle.qrc -o .rcc/release-shared/qrc_qstyle.cpp
gmake[1]: *** [.rcc/release-shared/qrc_qstyle.cpp] Bus error (core dumped)
gmake[1]: Leaving directory
`/opt/pkg.obj/x11/qt4-libs/work.ultra10/qt-x11-opensource-src-4.3.3/src/gui'
gmake: *** [sub-gui-sub_src_target_ordered] Error 2
*** Error code 2
Stop.
make: stopped in /opt/pkgsrc/x11/qt4-libs
*** Error code 1
So, looking above, it runs rcc binary on a .cpp file, the binary causes 'Bus
error' and dumps core. This looks like a 64-bit issue, i.e. accessing
misaligned memory address.
Running gdb on the core file gives:
Core was generated by `rcc'.
Program terminated with signal 10, Bus error.
#0 0x000000000019db08 in QVector<QXmlSimpleReaderPrivate::XmlRef>::operator=
(
this=0x41032828, v=<value optimized out>)
at ../../../include/QtCore/../../src/corelib/tools/qvector.h:355
355 if (!d->sharable)
Looking at src/corelib/tools/qvector.h line 355 there is the following
template:
template <typename T>
QVector<T> &QVector<T>::operator=(const QVector<T> &v)
{
typename QVector::Data *x = v.d;
x->ref.ref();
x = qAtomicSetPtr(&d, x);
if (!x->ref.deref())
free(x);
if (!d->sharable)
detach_helper();
return *this;
}
I'm not sure how the line 'if (!d->sharable)' can cause 'Bus error'. Any
ideas? Where does symbol 'd' come from? It's not declared as variable or
anything?
Home |
Main Index |
Thread Index |
Old Index