I am trying to install Kamailio 3.1.0 on Solaris 10 that is a sparc machine (v120) and is running a 64bit OS. When I originally performed the compile utilizing the instructions from the website, I was getting warnings about using 32 bit headers. I was able to compile and install successfully, but when I started Kamailio, loading of modules were failing due to "not found" error. The warning messages:
"atomic/atomic_sparc.h:41:2: warning: #warning "sparc32 atomic operations support not tested""
I thought was because the target architecture specified sparc and not sparc64, so I tried specified the target architecture as listed below which got rid of the warning messages but then I got ELFCLASS32 error messages. What is the proper way to create a 64bit version of Kamailio on a sparc Solaris 10. It seems like the target architecure is not being configured properly and that may be causing other problems. I have included output from different commands about the environment and the commands that I entered to compile Kamailio.
# make FLAVOUR=kamailio cfg target architecture <sparc>, host architecture <sparc64>
# isainfo -n sparcv9 # uname -p sparc # uname -m sun4u # isainfo -v 64-bit sparcv9 applications vis 32-bit sparc applications vis v8plus div32 mul32 # isainfo -b 64
Here is what I entered to try and force the building of a 64 bit version and a sample error that I was getting.
make FLAVOUR=kamailio prefix=/usr/local/kamailio-3.1 CPU=ultrasparc ARCH=sparc64 cfg
LD (gcc) [M lcr.so] lcr.so ld: fatal: file /usr/local/lib/libpcre.so: wrong ELF class: ELFCLASS32 ld: fatal: File processing errors. No output written to lcr.so collect2: ld returned 1 exit status make[1]: *** [lcr.so] Error 1 make: *** [modules] Error 1
LD_LIBRARY_PATH=/lib/sparcv9:/usr/lib/sparcv9:/usr/sfw/lib/sparcv9:/usr/local/postgres/9.0-pgdg/lib/64 LD_RUN_PATH=/lib/sparcv9:/usr/lib/sparcv9:/usr/sfw/lib/sparcv9:/usr/local/postgres/9.0-pgdg/lib/64
PATH=/opt/csw/bin:/usr/sfw/bin:/usr/local/bin:/usr/local/postgres/9.0-pgdg/bin:/usr/sbin:/usr/bin:/usr/ccs/bin:
# find . -name libpcre.so -print ./usr/local/lib/libpcre.so
Thanks
Hello,
On 6/28/11 10:37 AM, Nathaniel L Keeling wrote:
I am trying to install Kamailio 3.1.0 on Solaris 10 that is a sparc machine (v120) and is running a 64bit OS. When I originally performed the compile utilizing the instructions from the website, I was getting warnings about using 32 bit headers. I was able to compile and install successfully, but when I started Kamailio, loading of modules were failing due to "not found" error. The warning messages:
"atomic/atomic_sparc.h:41:2: warning: #warning "sparc32 atomic operations support not tested""
this is to inform that the developer had no sparc32 machine to test the code, meaning the support was added based on manuals/documentation. if you can give it a try and report if it works, then it will be appreciated.
I thought was because the target architecture specified sparc and not sparc64, so I tried specified the target architecture as listed below which got rid of the warning messages but then I got ELFCLASS32 error messages.
From the logs below, seems that you have libpcre for 32b only, which is found by linker and tried to be linked against 64b application. That fails. You should install the 64b version of libpcre.
Cheers, Daniel
What is the proper way to create a 64bit version of Kamailio on a sparc Solaris 10. It seems like the target architecure is not being configured properly and that may be causing other problems. I have included output from different commands about the environment and the commands that I entered to compile Kamailio.
# make FLAVOUR=kamailio cfg target architecture <sparc>, host architecture <sparc64>
# isainfo -n sparcv9 # uname -p sparc # uname -m sun4u # isainfo -v 64-bit sparcv9 applications vis 32-bit sparc applications vis v8plus div32 mul32 # isainfo -b 64
Here is what I entered to try and force the building of a 64 bit version and a sample error that I was getting.
make FLAVOUR=kamailio prefix=/usr/local/kamailio-3.1 CPU=ultrasparc ARCH=sparc64 cfg
LD (gcc) [M lcr.so] lcr.so ld: fatal: file /usr/local/lib/libpcre.so: wrong ELF class: ELFCLASS32 ld: fatal: File processing errors. No output written to lcr.so collect2: ld returned 1 exit status make[1]: *** [lcr.so] Error 1 make: *** [modules] Error 1
LD_LIBRARY_PATH=/lib/sparcv9:/usr/lib/sparcv9:/usr/sfw/lib/sparcv9:/usr/local/postgres/9.0-pgdg/lib/64
LD_RUN_PATH=/lib/sparcv9:/usr/lib/sparcv9:/usr/sfw/lib/sparcv9:/usr/local/postgres/9.0-pgdg/lib/64
PATH=/opt/csw/bin:/usr/sfw/bin:/usr/local/bin:/usr/local/postgres/9.0-pgdg/bin:/usr/sbin:/usr/bin:/usr/ccs/bin:
# find . -name libpcre.so -print ./usr/local/lib/libpcre.so
Thanks
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users