[Ffmpeg-devel] mingw (--enable-shared) build broken
Diego Biurrun
diego
Tue Aug 1 00:49:30 CEST 2006
On Mon, Jul 31, 2006 at 04:50:41PM -0300, Ramiro Polla wrote:
> Diego Biurrun wrote:
> >On Mon, Jul 31, 2006 at 07:37:59PM 0300, Andrew Voznytsa wrote:
> >
> >>mingw (--enable-shared) build broken - export libraries are not
> >>generated. Revision 5867.
> >
> >Can you try to be more specific? What exactly is broken? Which
> >revision introduced the problem? r5867 was a TODO list update, so the
> >problem must have been introduced earlier.
> >
> I'll just point out what the current problem with msys mingw is. I will
> not attempt to provide a solution as to avoid being flamed. Then the
> maintainers can search for the solution they like best, that is if they
> wish to stop receiving bug reports about mingw and shared linking, which
> appear to start coming in daily.
Yes, reports are coming in by the dozen. And yes, i'm interested in
fixing the issues, if only to make the flood stop ;)
> Everything compiles fine. The change of SLIBNAME_WITH_MAJOR to
> '$(SLIBPREF)$(NAME)-$(LIBMAJOR)$(SLIBSUF)' was a very good step. Thank
> you very much for that.
OK, so we're making progress, excellent.
> When ffmpeg.exe is run, it expects to find "SLIBNAME_WITH_MAJOR".
> ffmpeg.exe was linked with "SLIBNAME", which is just a copy of
> "SLIBNAME_WITH_MAJOR", so all the internal references really point to
> "SLIBNAME_WITH_MAJOR". But in fact, who gets installed in common.mak is
> "SLIBNAME". So when Windows looks for the .dll with major, it doesn't
> find it.
> I know I said I wouldn't attempt to provide a solution, but I changed my
> mind in those last few lines... The most plausible solution (for me)
> would be to install SLIBNAME_WITH_MAJOR instead of SLIBNAME (common.mak,
> line 65). That way, version information would go along with the
> binaries, and there would be no dll hell. Besides the fact that it would
> not clobber the makefiles, and not make a mingw-specific build. The
> mingw-specific install is already there, so it wouldn't be adding
> anything bad.
OK, please try the attached patch, I don't expect it to work right away,
but we should be able to pummel it into obedience...
Diego
-------------- next part --------------
Index: common.mak
===================================================================
--- common.mak (revision 5875)
+++ common.mak (working copy)
@@ -61,16 +61,12 @@
install-lib-shared: $(SLIBNAME)
install -d "$(shlibdir)"
-ifeq ($(CONFIG_MINGW),yes)
- install $(INSTALLSTRIP) -m 755 $(SLIBNAME) "$(prefix)"
-else
install $(INSTALLSTRIP) -m 755 $(SLIBNAME) \
$(shlibdir)/$(SLIBNAME_WITH_VERSION)
ln -sf $(SLIBNAME_WITH_VERSION) \
$(shlibdir)/$(SLIBNAME_WITH_MAJOR)
ln -sf $(SLIBNAME_WITH_VERSION) \
$(shlibdir)/$(SLIBNAME)
-endif
install-lib-static: $(LIB)
install -d "$(libdir)"
@@ -85,13 +81,9 @@
uninstall: uninstall-libs uninstall-headers
uninstall-libs:
-ifeq ($(CONFIG_MINGW),yes)
- -rm -f $(prefix)/$(SLIBNAME)
-else
-rm -f $(libdir)/$(SLIBNAME_WITH_MAJOR) \
$(libdir)/$(SLIBNAME) \
$(libdir)/$(SLIBNAME_WITH_VERSION)
-endif
-rm -f $(libdir)/$(LIB)
uninstall-headers:
More information about the ffmpeg-devel
mailing list