[sr-dev] RPM Packaging Issues

Martin Hoffmann martin.hoffmann at telio.ch
Mon Jan 31 17:36:59 CET 2011


Heisann,

the last couple of days, I had the pleasure of building Kamailio 3.1.1
RPMs. Now that the trauma is slowly wearing off, I have two things worth
discussing here (or so I believe).

One is that I was building for x86_64. In this system, libraries should
go into lib64 but module and library directory seem to be hardcoded to
lib/$(MAIN_NAME)/ in Makefile.defs. Did I miss the place to switch this
or should one be reconsidered?

Simply moving the whole /usr/lib/kamailio tree to /usr/lib64/kamailio
didn't quite do the trick since the path seems to be embedded in the
modules that require some of the shared libraries.

Second, there was some fun little breakage with the MySQL module.
Because of the way the module's Makefile adds -L directories to the LIBS
variable, the linker happily linked against libmysqlclient16.a but
somehow forgot to add the libraries that libmysqlclient in turn depends
on. I am not quite sure on the mechanics, but presumably libtool takes
care of this in the GNU toolchain?[0]

In any case, I didn't really want a statically linked MySQL client to
begin with. Dropping all the -Ls did that trick. That may or may not be
the proper way to do this. 

I have limited the build to the modules I need or that don't depend on
anything funny (this is RHES/Centos, so all you get is Gnome and Firefox
and other things very important for servers). Given the time invested so
far, I am willing to test my newfound knowledge and give building a full
set of packages a try, unless there is dependencies particularly hard to
satisfy.

I believe Ovidiu has done the RPMs for Centos so far. Maybe we can
coordinate work on this?

Best regards,
Mar"don't you dare saying Debian"tin


[0] If the .la files are used also if you don't use the whole
    automagick, then the reason possibly is that the libmysqlclient16.la
    that comes with MySQL's own community RPMs is broken since it
    doesn't list any dependencies. Maybe everything is fine with the MySQL
    client packages that come with Centos 5. Unfortunately, they date
    from the late Cambrian or so I have been given to understand.



More information about the sr-dev mailing list