Subject: Re: security/qca-tls broken on DragonFly
To: Jonathan Fosburgh <jonathan@fosburgh.org>
From: Jaromir Dolecek <jdolecek@NetBSD.org>
List: tech-pkg
Date: 11/04/2005 22:00:04
On Fri, Nov 04, 2005 at 11:18:41AM -0600, Jonathan Fosburgh wrote:
> When trying to build security/qca-tls on DragonFly 1.3.7-DEVELOPMENT I receive 
> the following errors:
> 
> Configuring qca-tls ...
> Verifying Qt 3.x Multithreaded (MT) build environment ... ok
> Checking for OpenSSL ... yes
> 
> Good, your configure finished. Now run 'make'.

Can you check what prototype is function d2i_RSA_PUBKEY()
on DragonFly? You should find it in /usr/include/openssl/x509.h.

On NetBSD it's:

RSA *           d2i_RSA_PUBKEY(RSA **a,unsigned char **pp,
                        long length);

I guess it's been constified on DF, which leads to this problem.

Jaromir
 
> cd /usr/pkgsrc/security/qca-tls/work/qca-tls-1.0 && ( /usr/bin/env 
> FREETYPE_CONFIG="/usr/pkg/bin/freetype-config" PTHREAD_CFLAGS=\ -pthread\  
> PTHREAD_LDFLAGS=\ -pthread PTHREAD_LIBS=-lpthread PTHREADBASE=/usr 
> MOC="/usr/pkg/qt3/bin/moc" QTDIR="/usr/pkg/qt3" MOC="/usr/pkg/qt3/bin/moc" 
> QTDIR="/usr/pkg/qt3" UIC="/usr/pkg/qt3/bin/uic" 
> QMAKE="/usr/pkg/qt3/bin/qmake" QMAKESPEC=/usr/pkg/qt3/mkspecs/netbsd-g++ 
> LIBTOOL="libtool " CC=cc CFLAGS=-O2\ -I/usr/pkg/include\ -I/usr/include\ 
> -I/usr/pkg/qt3/include\ -DGLX_GLXEXT_LEGACY\ -I/usr/pkg/xorg/include\ 
> -I/usr/pkg/include/freetype2 CPPFLAGS=-I/usr/pkg/include\ -I/usr/include\ 
> -I/usr/pkg/qt3/include\ -DGLX_GLXEXT_LEGACY\ -I/usr/pkg/xorg/include\ 
> -I/usr/pkg/include/freetype2 CXX=c++ CXXFLAGS=-O2\ -I/usr/pkg/include\ 
> -I/usr/include\ -I/usr/pkg/qt3/include\ -DGLX_GLXEXT_LEGACY\ 
> -I/usr/pkg/xorg/include\ -I/usr/pkg/include/freetype2 
> COMPILER_RPATH_FLAG=-Wl,-R F77=f77 FC=f77 FFLAGS=-O LANG=C LC_COLLATE=C 
> LC_CTYPE=C LC_MESSAGES=C LC_MONETARY=C LC_NUMERIC=C LC_TIME=C 
> LDFLAGS=-L/usr/pkg/lib\ -Wl,-R/usr/pkg/lib\ -L/usr/lib\ -Wl,-R/usr/lib\ 
> -L/usr/pkg/qt3/lib\ -Wl,-R/usr/pkg/qt3/lib\ -L/usr/pkg/xorg/lib\ 
> -Wl,-R/usr/pkg/xorg/lib LINKER_RPATH_FLAG=-R 
> PATH=/usr/pkgsrc/security/qca-tls/work/.wrapper/bin:/usr/pkgsrc/security/qca-tls/work/.buildlink/bin:/usr/pkgsrc/security/qca-tls/work/.gcc/bin:/usr/pkgsrc/security/qca-tls/work/.tools/bin:/usr/pkg/bin:/usr/pkg/xorg/bin:/usr/pkg/bin:/usr/pkg/sbin:/usr/pkg/xorg/bin:/sbin:/usr/bin:/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/X11R6/bin:/usr/pkg/bin:/usr/pkg/xorg/bin 
> PREFIX=/usr/pkg PKG_SYSCONFDIR=/usr/pkg/etc 
> INSTALL_INFO=/usr/pkgsrc/security/qca-tls/work/.tools/bin/install-info 
> MAKEINFO=/usr/pkgsrc/security/qca-tls/work/.tools/bin/makeinfo PKG_CONFIG= 
> PKG_CONFIG_LIBDIR=/usr/pkgsrc/security/qca-tls/work/.buildlink/lib/pkgconfig 
> PKG_CONFIG_LOG=/usr/pkgsrc/security/qca-tls/work/.pkg-config.log MAKE=make 
> WRAPPER_DEBUG="yes" 
> WRAPPER_UPDATE_CACHE="yes"                       /usr/pkg/qt3/bin/qmake 
> qca-tls.pro -o Makefile.orig;    /usr/bin/sed -e 
> "s,-rpath .*,-rpath /usr/pkg/qt3/lib," Makefile.orig > Makefile;        )
> ===> Building for qca-tls-1.0
> libtool --mode=compile c++ -c -O2 -I/usr/pkg/include -I/usr/include 
> -I/usr/pkg/qt3/include -DGLX_GLXEXT_LEGACY -I/usr/pkg/xorg/include 
> -I/usr/pkg/include/freetype2 -DQ_TRAILING_DIR_SEP -D_REENTRANT  -DQCA_PLUGIN 
> -DOSSL_097 -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_PLUGIN 
> -I/usr/pkg/qt3/mkspecs/netbsd-g++ -I. -I../../../../../include 
> -I../../../../../pkg/include -I/usr/pkg/qt3/include -o qca-tls.o qca-tls.cpp
> mkdir .libs
>  c++ -c -O2 -I/usr/pkgsrc/security/qca-tls/work/.buildlink/include 
> -I/usr/pkg/qt3/include -DGLX_GLXEXT_LEGACY 
> -I/usr/pkgsrc/security/qca-tls/work/.x11-buildlink/include 
> -I/usr/pkgsrc/security/qca-tls/work/.buildlink/include/freetype2 
> -DQ_TRAILING_DIR_SEP -D_REENTRANT -DQCA_PLUGIN -DOSSL_097 -DQT_NO_DEBUG 
> -DQT_THREAD_SUPPORT -DQT_PLUGIN -I/usr/pkg/qt3/mkspecs/netbsd-g++ -I. 
> -I../../../../../include -I../../../../../pkg/include qca-tls.cpp  -fPIC 
> -DPIC -o .libs/qca-tls.o
> qca-tls.cpp: In member function `virtual bool 
> RSAKeyContext::createFromDER(const char*, unsigned int)':
> qca-tls.cpp:457: error: invalid conversion from `unsigned char**' to `const 
> unsigned char**'
> qca-tls.cpp:457: error:   initializing argument 2 of `RSA* 
> d2i_RSA_PUBKEY(RSA**, const unsigned char**, long int)'
> qca-tls.cpp: In member function `virtual bool CertContext::createFromDER(const 
> char*, unsigned int)':
> qca-tls.cpp:802: error: invalid conversion from `unsigned char**' to `const 
> unsigned char**'
> qca-tls.cpp:802: error:   initializing argument 2 of `X509* d2i_X509(X509**, 
> const unsigned char**, long int)'
> gmake: *** [qca-tls.o] Error 1
> *** Error code 2
> 
> Stop.
> 
> So far this one has me stumped, it is beyond my knowledge to find any kind of 
> workaround.  This port is necessary for kopete (KDE instant messenger) to 
> provide protocol encryption on Jabber.

-- 
Jaromir Dolecek <jdolecek@NetBSD.org>            http://www.NetBSD.cz/
-=- We can walk our road together if our goals are all the same;     -=-
-=- We can run alone and free if we pursue a different aim.          -=-