Hi guys!
I just tried to compile dk-milter (DomainKeys Milter) on a Fedora 13 x64 system and got this error:
Code:
make[2]: Leaving directory `/home/popicait/dk-milter-1.0.2/obj.Linux.2.6.34.7-61.fc13.x86_64.x86_64/libsm'
cc -O2 -I. -I../../include -D_REENTRANT -DXP_MT -c -o dk.o dk.c
cc -O2 -I. -I../../include -D_REENTRANT -DXP_MT -c -o rfc2822.o rfc2822.c
cc -O2 -I. -I../../include -D_REENTRANT -DXP_MT -c -o util.o util.c
ar crv libdk.a dk.o rfc2822.o util.o
a - dk.o
a - rfc2822.o
a - util.o
ranlib libdk.a
make[1]: Leaving directory `/home/popicait/dk-milter-1.0.2/obj.Linux.2.6.34.7-61.fc13.x86_64.x86_64/libdk'
Making all in:
/home/popicait/dk-milter-1.0.2/dk-filter
Configuration: pfx=, os=Linux, rel=2.6.34.7-61.fc13.x86_64, rbase=2, rroot=2.6.34.7-61.fc13, arch=x86_64, sfx=, variant=optimized
Using M4=/usr/bin/m4
Creating /home/popicait/dk-milter-1.0.2/obj.Linux.2.6.34.7-61.fc13.x86_64.x86_64/dk-filter using /home/popicait/dk-milter-1.0.2/devtools/OS/Linux
Including /home/popicait/dk-milter-1.0.2/devtools/Site/site.config.m4
Making dependencies in /home/popicait/dk-milter-1.0.2/obj.Linux.2.6.34.7-61.fc13.x86_64.x86_64/dk-filter
make[1]: Entering directory `/home/popicait/dk-milter-1.0.2/obj.Linux.2.6.34.7-61.fc13.x86_64.x86_64/dk-filter'
rm -f sm_os.h
ln -f -s ../../include/sm/os/sm_os_linux.h sm_os.h
cc -M -I. -I../../include -I../libdk/ -D_REENTRANT dk-filter.c dk-crypto.c util.c >> Makefile
make[1]: Leaving directory `/home/popicait/dk-milter-1.0.2/obj.Linux.2.6.34.7-61.fc13.x86_64.x86_64/dk-filter'
Making in /home/popicait/dk-milter-1.0.2/obj.Linux.2.6.34.7-61.fc13.x86_64.x86_64/dk-filter
make[1]: Entering directory `/home/popicait/dk-milter-1.0.2/obj.Linux.2.6.34.7-61.fc13.x86_64.x86_64/dk-filter'
cc -O2 -I. -I../../include -I../libdk/ -D_REENTRANT -DXP_MT -c -o dk-filter.o dk-filter.c
cc -O2 -I. -I../../include -I../libdk/ -D_REENTRANT -DXP_MT -c -o dk-crypto.o dk-crypto.c
cc -O2 -I. -I../../include -I../libdk/ -D_REENTRANT -DXP_MT -c -o util.o util.c
cc -o dk-filter -lpthread dk-filter.o dk-crypto.o util.o -lmilter /home/popicait/dk-milter-1.0.2/obj.Linux.2.6.34.7-61.fc13.x86_64.x86_64/libsm/libsm.a /home/popicait/dk-milter-1.0.2/obj.Linux.2.6.34.7-61.fc13.x86_64.x86_64/libdk/libdk.a -ldl -lssl -lcrypto
/usr/bin/ld: /home/popicait/dk-milter-1.0.2/obj.Linux.2.6.34.7-61.fc13.x86_64.x86_64/libdk/libdk.a(dk.o): undefined reference to symbol '__dn_skipname@@GLIBC_2.2.5'
/usr/bin/ld: note: '__dn_skipname@@GLIBC_2.2.5' is defined in DSO /lib64/libresolv.so.2 so try adding it to the linker command line
/lib64/libresolv.so.2: could not read symbols: Invalid operation
collect2: ld returned 1 exit status
make[1]: *** [dk-filter] Error 1
make[1]: Leaving directory `/home/popicait/dk-milter-1.0.2/obj.Linux.2.6.34.7-61.fc13.x86_64.x86_64/dk-filter'
make: *** [all] Error 2
The funny thing is that I also compiled it on a Fedora 13 x86 and a Fedora 10 x64 and it works perfectly. So the problem only seems to appear on Fedora 13 x64.
Is there some way I can fix it? Thanks!
After some reading, it seems to be related to the DSO Link Change:
http://fedoraproject.org/wiki/Unders...gDSOLinkChange
But I can't for the life of me figure out what must be changed in order to compile it.
This is the source I'm trying to compile (just tried it on Fedora 14 x64, and I get the same error):
http://downloads.sourceforge.net/pro..._mirror=freefr
Any help would be greatly appreciated ! Thanks!