When compiling xca I get a strange error (see below)
Does anyone know how to fix this?
Thanks in advance
Thomas
PS: I'm using g++ (GCC) 4.2.3 20071014 (prerelease) (Debian 4.2.2-3)
-----------------------------
$ make
./configure
Configuring XCA 0.6.4
----------------------------
Found: Qt/qobject.h at /usr/include/qt4
Found: qobject.h at /usr/include/qt4/Qt
Found: libQtGui.so at /usr/lib
Found: openssl/opensslv.h at /usr/include
Found: libcrypto.so at /usr/lib
The Versions of the used libraries are:
OpenSSL 0.9.8g 19 Oct 2007
QT: 4.3.2
GNU Make 3.81
A usable 'make' executable was found in /usr/bin/make
If I install the QT development files the error messages above there are the following new problem:
xca-0.6.4# make
make -C ui headers
make[1]: Entering directory `/opt/xca-0.6.4/ui'
make[1]: Nothing to be done for `headers'.
make[1]: Leaving directory `/opt/xca-0.6.4/ui'
make DEP=yes -C lib target.obj
make[1]: Entering directory `/opt/xca-0.6.4/lib'
gcc -I. -I.. -I/opt/xca-0.6.4/ui -I/usr/include/qt4 -I/usr/include/qt4/Qt -Wall -ggdb -O2 -c db_x509.cpp -o db_x509.o
db_x509.cpp:590:2: warning: #warning templates
/opt/xca-0.6.4/ui/ui_PassWrite.h: In member function 'void Ui_PassWrite::setupUi(QDialog*)':
/opt/xca-0.6.4/ui/ui_PassWrite.h:53: error: 'class QVBoxLayout' has no member named 'setLeftMargin'
/opt/xca-0.6.4/ui/ui_PassWrite.h:54: error: 'class QVBoxLayout' has no member named 'setTopMargin'
/opt/xca-0.6.4/ui/ui_PassWrite.h:55: error: 'class QVBoxLayout' has no member named 'setRightMargin'
/opt/xca-0.6.4/ui/ui_PassWrite.h:56: error: 'class QVBoxLayout' has no member named 'setBottomMargin'
/opt/xca-0.6.4/ui/ui_PassWrite.h:60: error: 'class QHBoxLayout' has no member named 'setLeftMargin'
/opt/xca-0.6.4/ui/ui_PassWrite.h:61: error: 'class QHBoxLayout' has no member named 'setTopMargin'
/opt/xca-0.6.4/ui/ui_PassWrite.h:62: error: 'class QHBoxLayout' has no member named 'setRightMargin'
/opt/xca-0.6.4/ui/ui_PassWrite.h:63: error: 'class QHBoxLayout' has no member named 'setBottomMargin'
/opt/xca-0.6.4/ui/ui_PassWrite.h:104: error: 'class QGridLayout' has no member named 'setLeftMargin'
/opt/xca-0.6.4/ui/ui_PassWrite.h:105: error: 'class QGridLayout' has no member named 'setTopMargin'
/opt/xca-0.6.4/ui/ui_PassWrite.h:106: error: 'class QGridLayout' has no member named 'setRightMargin'
/opt/xca-0.6.4/ui/ui_PassWrite.h:107: error: 'class QGridLayout' has no member named 'setBottomMargin'
/opt/xca-0.6.4/ui/ui_PassWrite.h:108: error: 'class QGridLayout' has no member named 'setHorizontalSpacing'
/opt/xca-0.6.4/ui/ui_PassWrite.h:109: error: 'class QGridLayout' has no member named 'setVerticalSpacing'
/opt/xca-0.6.4/ui/ui_PassWrite.h:138: error: 'class QHBoxLayout' has no member named 'setLeftMargin'
/opt/xca-0.6.4/ui/ui_PassWrite.h:139: error: 'class QHBoxLayout' has no member named 'setTopMargin'
/opt/xca-0.6.4/ui/ui_PassWrite.h:140: error: 'class QHBoxLayout' has no member named 'setRightMargin'
/opt/xca-0.6.4/ui/ui_PassWrite.h:141: error: 'class QHBoxLayout' has no member named 'setBottomMargin'
make[1]: *** [db_x509.o] Error 1
make[1]: Leaving directory `/opt/xca-0.6.4/lib'
make: *** [lib/target.obj] Error 2
Additional to the linux version I tried the win32 version. But I could't found something to generate CRLs.
Has somebody any idea to solve that problem?
cu
swahn
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi,
When compiling xca I get a strange error (see below)
Does anyone know how to fix this?
Thanks in advance
Thomas
PS: I'm using g++ (GCC) 4.2.3 20071014 (prerelease) (Debian 4.2.2-3)
-----------------------------
$ make
./configure
Configuring XCA 0.6.4
----------------------------
Found: Qt/qobject.h at /usr/include/qt4
Found: qobject.h at /usr/include/qt4/Qt
Found: libQtGui.so at /usr/lib
Found: openssl/opensslv.h at /usr/include
Found: libcrypto.so at /usr/lib
The Versions of the used libraries are:
OpenSSL 0.9.8g 19 Oct 2007
QT: 4.3.2
GNU Make 3.81
A usable 'make' executable was found in /usr/bin/make
make -C ui headers
make[1]: Entering directory `/tmp/xca-0.6.4/ui'
/usr/bin/uic-qt4 -o ui_About.h About.ui
/usr/bin/uic-qt4 -o ui_CaProperties.h CaProperties.ui
/usr/bin/uic-qt4 -o ui_CertDetail.h CertDetail.ui
/usr/bin/uic-qt4 -o ui_CertExtend.h CertExtend.ui
/usr/bin/uic-qt4 -o ui_CrlDetail.h CrlDetail.ui
/usr/bin/uic-qt4 -o ui_ExportCert.h ExportCert.ui
/usr/bin/uic-qt4 -o ui_ExportDer.h ExportDer.ui
/usr/bin/uic-qt4 -o ui_ExportKey.h ExportKey.ui
/usr/bin/uic-qt4 -o ui_Help.h Help.ui
/usr/bin/uic-qt4 -o ui_ImportMulti.h ImportMulti.ui
/usr/bin/uic-qt4 -o ui_KeyDetail.h KeyDetail.ui
/usr/bin/uic-qt4 -o ui_MainWindow.h MainWindow.ui
/usr/bin/uic-qt4 -o ui_NewCrl.h NewCrl.ui
/usr/bin/uic-qt4 -o ui_NewKey.h NewKey.ui
/usr/bin/uic-qt4 -o ui_NewX509.h NewX509.ui
/usr/bin/uic-qt4 -o ui_Options.h Options.ui
/usr/bin/uic-qt4 -o ui_PassRead.h PassRead.ui
/usr/bin/uic-qt4 -o ui_PassWrite.h PassWrite.ui
/usr/bin/uic-qt4 -o ui_ReqDetail.h ReqDetail.ui
/usr/bin/uic-qt4 -o ui_TrustState.h TrustState.ui
/usr/bin/uic-qt4 -o ui_v3ext.h v3ext.ui
make[1]: Leaving directory `/tmp/xca-0.6.4/ui'
make DEP=yes -C lib target.obj
make[1]: Entering directory `/tmp/xca-0.6.4/lib'
/usr/bin/moc-qt4 db_crl.h -o moc_db_crl.cpp
/usr/bin/moc-qt4 db_key.h -o moc_db_key.cpp
/usr/bin/moc-qt4 db_temp.h -o moc_db_temp.cpp
/usr/bin/moc-qt4 db_x509.h -o moc_db_x509.cpp
/usr/bin/moc-qt4 db_x509req.h -o moc_db_x509req.cpp
/usr/bin/moc-qt4 db_x509super.h -o moc_db_x509super.cpp
/usr/bin/moc-qt4 pki_base.h -o moc_pki_base.cpp
/usr/bin/moc-qt4 db_base.h -o moc_db_base.cpp
gcc -MM -I. -I.. -I/tmp/xca-0.6.4/ui -I/usr/include/qt4 -I/usr/include/qt4/Qt -Wall -ggdb -O2 db_crl.cpp db_key.cpp db_temp.cpp db_x509.cpp db_x509req.cpp db_x509super.cpp pki_base.cpp db_base.cpp asn1int.cpp oid.cpp pki_pkcs7.cpp x509rev.cpp asn1time.cpp pass_info.cpp pki_temp.cpp x509v3ext.cpp pki_x509.cpp func.cpp pki_crl.cpp pki_x509req.cpp load_obj.cpp pki_key.cpp pki_x509super.cpp main.cpp pki_pkcs12.cpp x509name.cpp db.cpp import.cpp moc_db_crl.cpp moc_db_key.cpp moc_db_temp.cpp moc_db_x509.cpp moc_db_x509req.cpp moc_db_x509super.cpp moc_pki_base.cpp moc_db_base.cpp > .depend
make[1]: Leaving directory `/tmp/xca-0.6.4/lib'
make[1]: Entering directory `/tmp/xca-0.6.4/lib'
gcc -I. -I.. -I/tmp/xca-0.6.4/ui -I/usr/include/qt4 -I/usr/include/qt4/Qt -Wall -ggdb -O2 -c db_crl.cpp -o db_crl.o
gcc -I. -I.. -I/tmp/xca-0.6.4/ui -I/usr/include/qt4 -I/usr/include/qt4/Qt -Wall -ggdb -O2 -c db_key.cpp -o db_key.o
gcc -I. -I.. -I/tmp/xca-0.6.4/ui -I/usr/include/qt4 -I/usr/include/qt4/Qt -Wall -ggdb -O2 -c db_temp.cpp -o db_temp.o
gcc -I. -I.. -I/tmp/xca-0.6.4/ui -I/usr/include/qt4 -I/usr/include/qt4/Qt -Wall -ggdb -O2 -c db_x509.cpp -o db_x509.o
db_x509.cpp:590:2: warning: #warning templates
gcc -I. -I.. -I/tmp/xca-0.6.4/ui -I/usr/include/qt4 -I/usr/include/qt4/Qt -Wall -ggdb -O2 -c db_x509req.cpp -o db_x509req.o
gcc -I. -I.. -I/tmp/xca-0.6.4/ui -I/usr/include/qt4 -I/usr/include/qt4/Qt -Wall -ggdb -O2 -c db_x509super.cpp -o db_x509super.o
gcc -I. -I.. -I/tmp/xca-0.6.4/ui -I/usr/include/qt4 -I/usr/include/qt4/Qt -Wall -ggdb -O2 -c pki_base.cpp -o pki_base.o
gcc -I. -I.. -I/tmp/xca-0.6.4/ui -I/usr/include/qt4 -I/usr/include/qt4/Qt -Wall -ggdb -O2 -c db_base.cpp -o db_base.o
gcc -I. -I.. -I/tmp/xca-0.6.4/ui -I/usr/include/qt4 -I/usr/include/qt4/Qt -Wall -ggdb -O2 -c asn1int.cpp -o asn1int.o
gcc -I. -I.. -I/tmp/xca-0.6.4/ui -I/usr/include/qt4 -I/usr/include/qt4/Qt -Wall -ggdb -O2 -c oid.cpp -o oid.o
gcc -I. -I.. -I/tmp/xca-0.6.4/ui -I/usr/include/qt4 -I/usr/include/qt4/Qt -Wall -ggdb -O2 -c pki_pkcs7.cpp -o pki_pkcs7.o
gcc -I. -I.. -I/tmp/xca-0.6.4/ui -I/usr/include/qt4 -I/usr/include/qt4/Qt -Wall -ggdb -O2 -c x509rev.cpp -o x509rev.o
x509rev.cpp: In constructor 'x509rev::x509rev(const X509_REVOKED*)':
x509rev.cpp:28: error: invalid conversion from 'void*' to 'char*'
x509rev.cpp:28: error: initializing argument 3 of 'void* ASN1_dup(int (*)(void*, unsigned char**), void* (*)(void**, const unsigned char**, long int), char*)'
x509rev.cpp: In member function 'x509rev& x509rev::set(const X509_REVOKED*)':
x509rev.cpp:46: error: invalid conversion from 'void*' to 'char*'
x509rev.cpp:46: error: initializing argument 3 of 'void* ASN1_dup(int (*)(void*, unsigned char**), void* (*)(void**, const unsigned char**, long int), char*)'
x509rev.cpp: In member function 'X509_REVOKED* x509rev::get() const':
x509rev.cpp:90: error: invalid conversion from 'void*' to 'char*'
x509rev.cpp:90: error: initializing argument 3 of 'void* ASN1_dup(int (*)(void*, unsigned char**), void* (*)(void**, const unsigned char**, long int), char*)'
make[1]: *** [x509rev.o] Fehler 1
make[1]: Leaving directory `/tmp/xca-0.6.4/lib'
make: *** [lib/target.obj] Fehler 2
I have exactly the same problem
Me too.
(Linux version 2.6.18-6-486 (Debian 2.6.18.dfsg.1-18etch1) (waldi@debian.org) (gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)))
If I install the QT development files the error messages above there are the following new problem:
xca-0.6.4# make
make -C ui headers
make[1]: Entering directory `/opt/xca-0.6.4/ui'
make[1]: Nothing to be done for `headers'.
make[1]: Leaving directory `/opt/xca-0.6.4/ui'
make DEP=yes -C lib target.obj
make[1]: Entering directory `/opt/xca-0.6.4/lib'
gcc -I. -I.. -I/opt/xca-0.6.4/ui -I/usr/include/qt4 -I/usr/include/qt4/Qt -Wall -ggdb -O2 -c db_x509.cpp -o db_x509.o
db_x509.cpp:590:2: warning: #warning templates
/opt/xca-0.6.4/ui/ui_PassWrite.h: In member function 'void Ui_PassWrite::setupUi(QDialog*)':
/opt/xca-0.6.4/ui/ui_PassWrite.h:53: error: 'class QVBoxLayout' has no member named 'setLeftMargin'
/opt/xca-0.6.4/ui/ui_PassWrite.h:54: error: 'class QVBoxLayout' has no member named 'setTopMargin'
/opt/xca-0.6.4/ui/ui_PassWrite.h:55: error: 'class QVBoxLayout' has no member named 'setRightMargin'
/opt/xca-0.6.4/ui/ui_PassWrite.h:56: error: 'class QVBoxLayout' has no member named 'setBottomMargin'
/opt/xca-0.6.4/ui/ui_PassWrite.h:60: error: 'class QHBoxLayout' has no member named 'setLeftMargin'
/opt/xca-0.6.4/ui/ui_PassWrite.h:61: error: 'class QHBoxLayout' has no member named 'setTopMargin'
/opt/xca-0.6.4/ui/ui_PassWrite.h:62: error: 'class QHBoxLayout' has no member named 'setRightMargin'
/opt/xca-0.6.4/ui/ui_PassWrite.h:63: error: 'class QHBoxLayout' has no member named 'setBottomMargin'
/opt/xca-0.6.4/ui/ui_PassWrite.h:104: error: 'class QGridLayout' has no member named 'setLeftMargin'
/opt/xca-0.6.4/ui/ui_PassWrite.h:105: error: 'class QGridLayout' has no member named 'setTopMargin'
/opt/xca-0.6.4/ui/ui_PassWrite.h:106: error: 'class QGridLayout' has no member named 'setRightMargin'
/opt/xca-0.6.4/ui/ui_PassWrite.h:107: error: 'class QGridLayout' has no member named 'setBottomMargin'
/opt/xca-0.6.4/ui/ui_PassWrite.h:108: error: 'class QGridLayout' has no member named 'setHorizontalSpacing'
/opt/xca-0.6.4/ui/ui_PassWrite.h:109: error: 'class QGridLayout' has no member named 'setVerticalSpacing'
/opt/xca-0.6.4/ui/ui_PassWrite.h:138: error: 'class QHBoxLayout' has no member named 'setLeftMargin'
/opt/xca-0.6.4/ui/ui_PassWrite.h:139: error: 'class QHBoxLayout' has no member named 'setTopMargin'
/opt/xca-0.6.4/ui/ui_PassWrite.h:140: error: 'class QHBoxLayout' has no member named 'setRightMargin'
/opt/xca-0.6.4/ui/ui_PassWrite.h:141: error: 'class QHBoxLayout' has no member named 'setBottomMargin'
make[1]: *** [db_x509.o] Error 1
make[1]: Leaving directory `/opt/xca-0.6.4/lib'
make: *** [lib/target.obj] Error 2
Additional to the linux version I tried the win32 version. But I could't found something to generate CRLs.
Has somebody any idea to solve that problem?
cu
swahn
Me too.
OS x 10.5 w. gcc4.3
Try using QT 4.3 instead of 4.2
thanks for your reply! I actually tried against qt-4.4...Will try against 4.3 now.
I'm getting this too. I'm running Ubuntu Hardy, with QT 4.3.4, openssl 0.9.8g, gcc 4.2.3.
It looks as though it's all about ASN1_dup() function, and tighter rules in gcc 4.2. See:
http://archive.netbsd.se/?ml=openssl-dev&a=2007-06&t=4482976
So, something needs to change in the way ASN1_dup() is called, in order to compile in newer gcc versions.
I've made this patch to make it compile... I don't know if that part of the code works anymore, but at least compiles :P
--- xca-0.6.4/lib/x509rev.cpp 2007-08-13 20:55:50.000000000 +0200
+++ xca-0.6.4_z/lib/x509rev.cpp 2007-10-22 14:53:01.191085603 +0200
@@ -25,7 +25,7 @@
x509rev::x509rev(const X509_REVOKED *n)
{
- rev = X509_REVOKED_dup((X509_REVOKED *)n);
+ rev = (X509_REVOKED*) ASN1_dup(CHECKED_I2D_OF(X509_REVOKED, i2d_X509_REVOKED),CHECKED_D2I_OF(X509_REVOKED, d2i_X509_REVOKED),(char*)n);
}
x509rev::x509rev(const x509rev &n)
@@ -43,7 +43,7 @@
{
if (rev != NULL)
X509_REVOKED_free(rev);
- rev = X509_REVOKED_dup((X509_REVOKED *)n);
+ rev = (X509_REVOKED*) ASN1_dup(CHECKED_I2D_OF(X509_REVOKED, i2d_X509_REVOKED),CHECKED_D2I_OF(X509_REVOKED, d2i_X509_REVOKED),(char*)n);
return *this;
}
@@ -87,7 +87,7 @@
X509_REVOKED *x509rev::get() const
{
- return X509_REVOKED_dup(rev);
+ return (X509_REVOKED*) ASN1_dup(CHECKED_I2D_OF(X509_REVOKED, i2d_X509_REVOKED),CHECKED_D2I_OF(X509_REVOKED, d2i_X509_REVOKED),(char*)rev);
}
#undef X509_REVOKED