Hi Aleksy, 

Thanks a lot for your answer !

I am not using NSS (./configure --with-nss=no). Also, I was able to make an 
application that used only openssl and it compile without the need of libdl. 
The problem is when I use xmlsec. 

So, I erased all the "-ldl" from configure.in of libxmlsec (also from 
xmlsec1Conf.sh and libxmlsec1-openssl.la) and compiled xmlsec to uclinux. This 
worked. 

When I try to compile the application I have (vbsign1) to uclinux, somehow it 
still asks for -ldl. 

I erased (manually) all the "-ldl" of the following instruction, but then I get 
the following error: 

sh-3.1$ m68k-elf-gcc -m5307 -DCONFIG_COLDFIRE -Os -g -fomit-frame-pointer 
-m5307 -DCONFIG_COLDFIRE -Dlinux -D__linux__ -Dunix -D__uClinux__ -DEMBED 
-DXMLSEC_CRYPTO_OPENSSL -I/home/usuarios/hargrave/uClinux-vb/include 
-I/home/usuarios/hargrave/uClinux-vb/include/include 
-I/home/usuarios/hargrave/uClinux-vb/include/openssl 
-I/home/usuarios/hargrave/uClinux-vb/lib/libssl 
-I/home/usuarios/hargrave/uClinux-vb/lib/libssl/ssl 
-I/home/usuarios/hargrave/uClinux-vb/lib/libssl/crypto 
-I/home/usuarios/hargrave/uClinux-vb/uClibc 
-I/home/usuarios/hargrave/uClinux-vb/uClibc/include 
-I/home/usuarios/hargrave/uclib6/include 
-I/home/usuarios/hargrave/uclib6/include/libxml2 
-I/home/usuarios/hargrave/uclib6/include/libxslt 
-I/home/usuarios/hargrave/uclib6/include/libexslt 
-I/home/usuarios/hargrave/uclib6/include/xmlsec1 -Wall -fno-common -fno-builtin 
-nostdinc -DUSE_SYSLOG -Wl,-elf2flt -Wl,-move-rodata -nostartfiles 
/home/usuarios/hargrave/uClinux-vb/lib/crt0.o -o vbsign1 vbsign1.o  -L/home/usua
 rios/hargrave/uClinux-vb/lib -L/home/usuarios/hargrave/uClinux-vb/lib/libssl 
-L/home/usuarios/hargrave/uclib6/lib -lcrypto -lssl 
/home/usuarios/hargrave/uclib6/lib/libxmlsec1-openssl.a 
/home/usuarios/hargrave/uclib6/lib/libxmlsec1.a 
/home/usuarios/hargrave/uclib6/lib/libxslt.a 
/home/usuarios/hargrave/uclib6/lib/libxml2.a -lpthread -lm -lc
warning: .rodata section contains relocations
vbsign1.elf2flt: In function `xmlSecOpenSSLAppInit':
/home/usuarios/hargrave/tmp/xml/uC6/xmlsec1-1.2.9/src/openssl/app.c:51: 
undefined reference to `ERR_load_crypto_strings'
/home/usuarios/hargrave/tmp/xml/uC6/xmlsec1-1.2.9/src/openssl/app.c:52: 
undefined reference to `OPENSSL_add_all_algorithms_noconf'
/home/usuarios/hargrave/tmp/xml/uC6/xmlsec1-1.2.9/src/openssl/app.c:54: 
undefined reference to `RAND_status'
vbsign1.elf2flt: In function `xmlSecOpenSSLAppShutdown':
/home/usuarios/hargrave/tmp/xml/uC6/xmlsec1-1.2.9/src/openssl/app.c:87: 
undefined reference to `RAND_cleanup'
/home/usuarios/hargrave/tmp/xml/uC6/xmlsec1-1.2.9/src/openssl/app.c:88: 
undefined reference to `EVP_cleanup'
/home/usuarios/hargrave/tmp/xml/uC6/xmlsec1-1.2.9/src/openssl/app.c:95: 
undefined reference to `CRYPTO_cleanup_all_ex_data'
/home/usuarios/hargrave/tmp/xml/uC6/xmlsec1-1.2.9/src/openssl/app.c:99: 
undefined reference to `ERR_remove_state'
/home/usuarios/hargrave/tmp/xml/uC6/xmlsec1-1.2.9/src/openssl/app.c:100: 
undefined reference to `ERR_free_strings'
vbsign1.elf2flt: In function `xmlSecOpenSSLAppKeyLoad':
/home/usuarios/hargrave/tmp/xml/uC6/xmlsec1-1.2.9/src/openssl/app.c:127: 
undefined reference to `BIO_new_file'
/home/usuarios/hargrave/tmp/xml/uC6/xmlsec1-1.2.9/src/openssl/app.c:148: 
undefined reference to `BIO_free'
/home/usuarios/hargrave/tmp/xml/uC6/xmlsec1-1.2.9/src/openssl/app.c:152: 
undefined reference to `BIO_free'
vbsign1.elf2flt: In function `xmlSecOpenSSLAppKeyLoadMemory':
....

Does that mean, that xmlsec does not work without libdl (-ldl), or is there a 
way of making xmlsec work without libdl (-ldl) ? 

Thanks a lot, 
Beatriz. 





On Thu, 20 Apr 2006 13:43:13 -0700, Aleksey Sanin <[EMAIL PROTECTED]> escreveu:

> De: Aleksey Sanin <[EMAIL PROTECTED]>
> Data: Thu, 20 Apr 2006 13:43:13 -0700
> Para: Beatriz Hargrave <[EMAIL PROTECTED]>
> Assunto: Re: [xmlsec] how to compile an application using xmlsec without libdl
> 
> I believe OpenSSL and NSS require -ldl (at least on my system):
> 
> $ pkg-config --libs openssl
> -L/usr/kerberos/lib -lssl -lcrypto -lgssapi_krb5 -lkrb5 -lcom_err 
> -lk5crypto -lresolv -ldl -lz
> 
> $ pkg-config --libs mozilla-nss
> -L/usr/lib/mozilla-1.7.12 -lnss3 -lsmime3 -lssl3 -lsoftokn3 -lplds4 
> -lplc4 -lnspr4 -lpthread -ldl
> 
> You might need to hack xmlsec/configure.in file and remove
> all references to "-ldl" if it is not the case for you.
> 
> Aleksey
> 
> 
> 
> Beatriz Hargrave wrote:
> > Hello, 
> > 
> > I have ported xmlsec to uclinux (Coldfire). However I am not able to 
> > compile a simple application because of the following error: 
> > 
> > /usr/local/m68k-elf/bin/ld.real: cannot find -ldl
> > collect2: ld returned 1 exit status
> > make[2]: *** [vbsign1] Error 1
> > make[2]: Leaving directory `/tmp/vbsign1/src'
> > make[1]: *** [all-recursive] Error 1
> > make[1]: Leaving directory `/tmp/vbsign1'
> > make: *** [all] Error 2
> > 
> > 
> > I have found that uclinux does not really have libdl: "I don't think we 
> > have ever supported the dl_ functions in libraries that work on uClinux 
> > platforms. General shared libs work, but they don't use the dl_ functions".
> > 
> > Is there a way of having an application, using xmlsec and not needing libdl 
> > ? 
> > 
> > Thank you very much, 
> > Beatriz. 
> > 
> > 
> > _______________________________________________
> > xmlsec mailing list
> > [email protected]
> > http://www.aleksey.com/mailman/listinfo/xmlsec
> 
> 
> 
_______________________________________________
xmlsec mailing list
[email protected]
http://www.aleksey.com/mailman/listinfo/xmlsec

Reply via email to