[Ffmpeg-devel] [MacIntel] ranlib issue

Diego Biurrun diego
Tue Aug 15 21:30:12 CEST 2006


On Mon, Aug 14, 2006 at 09:23:48PM +0200, Ulrich von Zadow wrote:
> Diego Biurrun wrote:
> >On Sun, Aug 13, 2006 at 11:27:04AM +0200, Ulrich von Zadow wrote:
> >>Diego Biurrun wrote:
> >>>On Sat, Aug 12, 2006 at 08:29:34PM +0200, Ulrich von Zadow wrote:
> >>>>
> >>>>It is still nessesary to run ranlib on the static libraries after make 
> >>>>install, though, so make install is missing a step.
> >>>Hmmm?  ranlib is run on the static libraries, look at the rule in the
> >>>Makefile that creates them:
> >>>
> >>>$(LIB): $(STATIC_OBJS)
> >>>       rm -f $@
> >>>       $(AR) rc $@ $^ $(EXTRAOBJS)
> >>>       $(RANLIB) $@
> >>The error is '../lib/libavformat.a is out of date; rerun ranlib(1) 
> >>(can't load from it)'. Running ranlib after install solves the issue. 
> >>This is Mac-specific.
> >
> >Please try the attached patch, if you can test it on PPC as well as
> >Intel that would be a plus.
> 
> No change: ranlib needs to be executed for static libraries, not dynamic 
> ones, and it also needs parameters.
> 
> Anyway, the patch gave me enough pointers to work on the issue myself 
> :-). Attached is a patch based on yours that fixes it. Since I have no 
> idea whatsoever if this fits into the overall structure or breaks other 
> plattforms, you'll probably want to change things.

Oh, silly me, I put the declaration along with the shared library stuff
where it might not be enabled for static builds...

> --- common.mak	(revision 5990)
> +++ common.mak	(working copy)
> @@ -69,6 +69,7 @@
>  install-lib-static: $(LIB)
>  	install -d "$(libdir)"
>  	install -m 644 $(LIB) "$(libdir)"
> +	$(LIB_INSTALL_EXTRA_CMD) "$(libdir)"/$(LIB)

This is not correct, if $(LIB_INSTALL_EXTRA_CMD) is not set it will
attempt to run "$(libdir)"/$(LIB), which will result in an error...

Anyway, I think I've fixed it portably and properly.  Report back if I
didn't.

Diego




More information about the ffmpeg-devel mailing list