1.4.6: Build problem with doc/yat2m

Moritz Barsnick moritz at barsnick.net
Mon Jan 22 08:03:12 CET 2007


Hi Marcus,

On Wed, Jan 17, 2007 at 20:28:26 +0100, Marcus Brinkmann wrote:

> > doc/yat2m now uses the new $(CC_FOR_BUILD) [*]. This is generally okay,
> > but it totally ignores if I explicitly set LDFLAGS which are _required_
> > for building.
> 
> As it should, as LDFLAGS is only relevant to the host environment.

I guess in a cross environment, LDFLAGS et.al. is ambiguous, and
autoconf provides ways of providing differing flags for host and
target.

But I'm in a non-cross environment. My LDFLAGS are valid for host and
target.

> > (icc). This compiler creates binaries which depend on a certain dynamic
> > lib (libimf.so) if not explicitly told to link that lib statically
> > (with the -i-static LDFLAG).
> 
> What's the problem in having that dependency for yat2m?  Note that it
> is not an installed program (see below).

Well, the RPATH or LD_LIBRARY_PATH don't need to be set, for one. And I
do not want this dependency for my target.

> The drawback is that it is wrong, and can break down in cross
> compilation settings (the only ones where CC_FOR_BUILD makes sense
> anyway).  If this is really needed (please explain why), you have the
> option to define CC_FOR_BUILD as above, which will only generate a few
> warnings because it's not used often, or we can add an
> LDFLAGS_FOR_BUILD which you would have to define in addition.

Which means that, in a non-cross environment, I need to set specific cross
flags. This complicates things. I don't care much, I'm a hacker at
heart. But non-cross builds of autoconf'd tools usually "just work
(TM)", but not in this case.

IM ever so HO, non-cross builds should work easily, and cross builds
need to evaluate all the special host vs. target stuff. But basically
not in my case, I would have thought.

I'll just hack around with my build environment's LD_LIBRARY_PATH, and
make a note to assume any program _could_ require this sooner or
later... *shrug*

> > [*] What for?
> 
> yat2m is a program which should be compiled for the build environment,
> because it is run in the build environment during the build.  It is
> not installed and never run in the host environment.

Fair enough.

Regards,
Moritz



More information about the Gnupg-devel mailing list