Subject: pkg/37570: x11/qt4-libs error: invalid conversion from 'int*' to '__socklen_t*'
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: None <jfranz@bsdprojects.net>
List: pkgsrc-bugs
Date: 12/19/2007 22:40:00
>Number:         37570
>Category:       pkg
>Synopsis:       x11/qt4-libs error: invalid conversion from 'int*' to '__socklen_t*'
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Dec 19 22:40:00 +0000 2007
>Originator:     Johann Franz
>Release:        4.0
>Organization:
unorganized
>Environment:
NetBSD marvin 4.0 NetBSD 4.0 (MARVIN) #10: Sun Dec 16 22:58:01 CET 2007  jfranz@marvin:/usr/obj/sys/arch/i386/compile/MARVIN i386
>Description:
Many projects are switching to QT4 now.
I've tried both mkspecs/freebsd-g++ and netbsd-g++ with QT 4.3.2 and 4.3.3 getting the same error.
I've patched mkspecs/netbsd-g++/qplatformdefs.h with
-#define QT_SOCKLEN_T           socklen_t
+#define QT_SOCKLEN_T           int
However, same error occured:

libtool --silent --mode=compile c++ -ggdb -c -O2 -g -march=i686 -mfpmath=sse -msse -I/usr/pkg/include -I/usr/include -DGLX_GLXEXT_LEGACY -I/usr/pkg/include/freetype2 -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/freetype2 -fno-exceptions -g -D_REENTRANT -DQT_SHARED -DQT_BUILD_NETWORK_LIB -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_44_API_QSQLQUERY_FINISH -DQT3_SUPPORT -DQT_MOC_COMPAT -DQT_CORE_LIB -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I../../mkspecs/netbsd-g++ -I. -I../../include/QtCore -I../../include/QtCore -I../../include -I../../include/QtNetwork -I/usr/include -I.moc/debug-shared -I.uic/debug-shared -I/usr/pkg/include -o .obj/debug-shared/qnativesocketengine_unix.lo qnativesocketengine_unix.cpp
qnativesocketengine_unix.cpp: In function 'int qt_socket_accept(int, sockaddr*, int*)':
qnativesocketengine_unix.cpp:101: error: invalid conversion from 'int*' to '__socklen_t*'
qnativesocketengine_unix.cpp:101: error:   initializing argument 3 of 'int accept(int, sockaddr*, __socklen_t*)'
qnativesocketengine_unix.cpp: In member function 'int QNativeSocketEnginePrivate::option(QAbstractSocketEngine::SocketOption) const':
qnativesocketengine_unix.cpp:249: error: invalid conversion from 'int*' to '__socklen_t*'
qnativesocketengine_unix.cpp:249: error:   initializing argument 5 of 'int getsockopt(int, int, int, void*, __socklen_t*)'
qnativesocketengine_unix.cpp: In member function 'bool QNativeSocketEnginePrivate::nativeHasPendingDatagrams() const':
qnativesocketengine_unix.cpp:577: error: invalid conversion from 'int*' to '__socklen_t*'
qnativesocketengine_unix.cpp:577: error:   initializing argument 6 of 'ssize_t recvfrom(int, void*, size_t, int, sockaddr*, __socklen_t*)'
qnativesocketengine_unix.cpp: In member function 'qint64 QNativeSocketEnginePrivate::nativeReceiveDatagram(char*, qint64, QHostAddress*, quint16*)':
qnativesocketengine_unix.cpp:633: error: invalid conversion from 'int*' to '__socklen_t*'
qnativesocketengine_unix.cpp:633: error:   initializing argument 6 of 'ssize_t recvfrom(int, void*, size_t, int, sockaddr*, __socklen_t*)'
qnativesocketengine_unix.cpp: In member function 'bool QNativeSocketEnginePrivate::fetchConnectionParameters()':
qnativesocketengine_unix.cpp:729: error: invalid conversion from 'int*' to '__socklen_t*'
qnativesocketengine_unix.cpp:729: error:   initializing argument 3 of 'int getsockname(int, sockaddr*, __socklen_t*)'
qnativesocketengine_unix.cpp:753: error: invalid conversion from 'int*' to '__socklen_t*'
qnativesocketengine_unix.cpp:753: error:   initializing argument 3 of 'int getpeername(int, sockaddr*, __socklen_t*)'
qnativesocketengine_unix.cpp:759: error: invalid conversion from 'int*' to '__socklen_t*'
qnativesocketengine_unix.cpp:759: error:   initializing argument 5 of 'int getsockopt(int, int, int, void*, __socklen_t*)'
gmake[1]: *** [.obj/debug-shared/qnativesocketengine_unix.lo] Error 1
gmake[1]: Leaving directory `/usr/pkgsrc/x11/qt4-libs/work/qt-x11-opensource-src-4.3.3/src/network'
gmake: *** [sub-network-sub_src_target_ordered] Error 2
*** Error code 2

Stop.
make: stopped in /usr/pkgsrc/x11/qt4-libs
*** Error code 1

Stop.
make: stopped in /usr/pkgsrc/x11/qt4-libs

>How-To-Repeat:
cd x11/qt4-libs
make install
>Fix: