On Mon, 2011-09-26 at 16:42 -0400, John A. Sullivan III wrote: > On Mon, 2011-09-26 at 14:25 -0400, Rafaël Carré wrote:
> > Remove LDFLAGS="-Wl,-z,defs" from your debian/rules and you'll be all > > set. > > > That worked. However, what have I done and why were they there in the > first place? Thanks very much - John LDFLAGS is a set of flags given to gcc when linking. So LDFLAGS="-Wl,-z,defs" will add "-Wl,-z,defs" to gcc (or g++) command line. The -Wl option for gcc will pass through the arguments to the linker (ld), so: gcc -Wl,-z,defs .... will call ld -z defs ..... http://www.computerhope.com/unix/uld.htm -z defs Force a fatal error if any undefined symbols remain at the end of the link. This is the default when an executable is built. It is also useful when building a shared object to assure that the object is self-contained, that is, that all its symbolic references are resolved internally. ... so when the build tried to link the codecs as shared objects, it failed because the symbol was not found in the libraries. In effect, we (incorrectly) did not link libccrtp. Running sflphone was no problem because sflphoned linked to libccrtp, and when sflphone later loaded the codecs, the symbol was present in memory. I will commit a fix so build with LDFLAGS="-Wl,-z,defs" works again. In the meantime you can remove it from the debian build, it will not have any side effect for you. -z defs is only a tool for developers to detect errors early in the build (forgot to link to needed libraries) Hope that helps! _______________________________________________ SFLphone mailing list [email protected] http://lists.savoirfairelinux.net/mailman/listinfo/sflphone
