Re: question about CFLAGS modifiers to ./configure
On Thu, Mar 30, 2006 at 06:23:38PM +0200, Miriam Ruiz wrote:
> Hi,
>
> DebHelper uses by default (in the pre-made templates) "-Wl,-z,defs" in CFLAGS
> when running ./configure
>
> CFLAGS="-Wall -g -O2 -Wl,-z,defs" ./configure --host=$(DEB_HOST_GNU_TYPE) ...
>
> I'm packaging a program (with some libraries in it) that won't compile with
> them unless you explicitly modify Makefile.am files and add the libraries
> (already included in the package but not installed in time of compilation),
> which is not done by default. without those options it compiles and install
> cleanly without problem with upstream's building system.
Are you talking about the combination of CFLAGS foo above, and
libraries build and used by the package? man ld explains -z defs:
Disallows undefined symbols in object files. Undefined symbols
in shared libraries are still allowed.
Note that some ./configure scripts recommend to be called with CFLAGS
transposed, as in:
./configure --host=$(...) CFLAGS="$(CFLAGS)"
Note also that -O2 should be used only if DEB_BUILD_OPTIONS!~noopt.
What is the command, and error, when you try to use the libs, and
those options?
> Is it important to keep them? Could someone possibly explain to me
> what they mean?
You will probably have to use the examples from dh_shlibdeps to get
proper dependencies on the shared libraries in that package, used by
any binaries it creates.
Justin
Reply to: