Link errors on Tru64 V5.1

Иванов Михаил ivans@isle.spb.ru
Sun Sep 28 09:35:00 GMT 2008


Hallo! I have built and installed gcc 4.3.2 on Tru64 v5.1 on alpha and
now trying to build qt4 library. At some point the following errors occur
when linking shared library:

.obj/release-shared/qtcpsocket.o: non-virtual thunk to QAbstractSocketPrivate::exceptionNotification(): multiply defined
.obj/release-shared/qtcpsocket.o: non-virtual thunk to QAbstractSocketPrivate::proxyAuthenticationRequired(QNetworkProxy const&, QAuthenticator*): multiply defined
.obj/release-shared/qtcpsocket.o: non-virtual thunk to QAbstractSocketPrivate::writeNotification(): multiply defined
.obj/release-shared/qtcpsocket.o: non-virtual thunk to QAbstractSocketPrivate::readNotification(): multiply defined
.obj/release-shared/qudpsocket.o: non-virtual thunk to QAbstractSocketPrivate::exceptionNotification(): multiply defined
.obj/release-shared/qudpsocket.o: non-virtual thunk to QAbstractSocketPrivate::proxyAuthenticationRequired(QNetworkProxy const&, QAuthenticator*): multiply defined
.obj/release-shared/qudpsocket.o: non-virtual thunk to QAbstractSocketPrivate::writeNotification(): multiply defined

These methods are declared as abstract in base class and then explicitly
defined in derived class directly in class declaration (as inline).
If I leave only declarations in derived class and define the actual
method bodies in .cc file, then errors dissappear.

I suspect the problem is related to tru64 linker. Did anybody here have
similar problem? Maybe some patch should be applied to tru64? Or some
option can be given to g++?

Regrettably just fixing these two files is not enough, it seems to occur
for all virtual methods defined directly in class definitions :-(

Best regards,
-- 
 \   / | Michael Ivanov.
 (OvO) |
 (^^^) |
  \^/  |
  ^ ^  |



More information about the Gcc-help mailing list