After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 559467 - gst-ffmpeg fails to build on macos intel
gst-ffmpeg fails to build on macos intel
Status: RESOLVED NOTABUG
Product: GStreamer
Classification: Platform
Component: gst-libav
git master
Other Linux
: Normal blocker
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2008-11-05 16:59 UTC by Andy Wingo
Modified: 2008-11-23 07:54 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Andy Wingo 2008-11-05 16:59:03 UTC
ld: absolute addressing (perhaps -mdynamic-no-pic) used in _rgb24tobgr24_MMX from libswscale/rgb2rgb.o not allowed in slidable image
collect2: ld returned 1 exit status
make[5]: *** [libswscale/libswscale.0.dylib] Error 1


This is because libswscale (nominally a separate project) does not respect the ENABLE_MMX defines, although it does have them available. I don't know what the right solution is, but this works:

wingo@wingomac:~/src/yobuild/gst-ffmpeg/gst-libs/ext/ffmpeg/libswscale$ svn diff
Index: rgb2rgb.c
===================================================================
--- rgb2rgb.c	(revision 27852)
+++ rgb2rgb.c	(working copy)
@@ -161,7 +161,7 @@
 #define RENAME(a) a ## _C
 #include "rgb2rgb_template.c"
 
-#if defined(ARCH_X86) && defined(CONFIG_GPL)
+#if defined(ARCH_X86) && defined(CONFIG_GPL) && (ENABLE_MMX || ENABLE_MMX2)
 
 //MMX versions
 #undef RENAME
@@ -200,7 +200,7 @@
 */
 
 void sws_rgb2rgb_init(int flags){
-#if (defined(HAVE_MMX2) || defined(HAVE_3DNOW) || defined(HAVE_MMX))  && defined(CONFIG_GPL)
+#if (defined(HAVE_MMX2) || defined(HAVE_3DNOW) || defined(HAVE_MMX))  && defined(CONFIG_GPL) && (ENABLE_MMX || ENABLE_MMX2)
     if (flags & SWS_CPU_CAPS_MMX2)
         rgb2rgb_init_MMX2();
     else if (flags & SWS_CPU_CAPS_3DNOW)
Comment 1 Andy Wingo 2008-11-19 14:02:48 UTC
Marking as blocker, given that we're in pre-release mode.
Comment 2 Edward Hervey 2008-11-19 15:38:30 UTC
Bug filed upstream

https://roundup.mplayerhq.hu/roundup/ffmpeg/issue724
Comment 3 David Conrad 2008-11-21 00:37:53 UTC
The right way to fix this is to use the -mdynamic-no-pic linker flag.
Comment 4 Edward Hervey 2008-11-21 16:59:19 UTC
So we have to thank our friends at Cupertino for releasing a BORKED gcc with XCode3.0

Everything compiles fine with a more recent/older version of XCode.
Comment 5 Andy Wingo 2008-11-22 20:46:14 UTC
How do you mean, "compiles fine"? Is --disable-mmx no longer necessary or something?
Comment 6 Edward Hervey 2008-11-23 07:54:03 UTC
the current HEAD of gst-ffmpeg compiles fine. I didn't modify anything, just updated the compiler which was broken.

Solving the esoteric options we have to pass to ffmpeg to properly build is anothe r issue which is not a blocker.