Opened 13 years ago

Closed 9 years ago

Last modified 9 years ago

#28182 closed defect (wontfix)

gst-ffmpeg fails to build when using i386 arch and 10.5 target

Reported by: andres.colubri@… Owned by: rmstonecipher@…
Priority: Normal Milestone:
Component: ports Version: 1.9.2
Keywords: Cc: daitakahashi, jmroot (Joshua Root), cooljeanius (Eric Gallager)
Port: gst-ffmpeg

Description (last modified by ryandesign (Ryan Carsten Schmidt))

Hello, when trying to install the gst-ffmpeg package on Snow Leopard 64 bits, but using i386 as the build architecture and 10.5 as the deployment target, the build stage fails with this error:

:info:build CC	libavcodec/h264_cabac.o
:info:build libavcodec/cabac.h: In function 'get_cabac_noinline':
:info:build libavcodec/cabac.h:527: error: PIC register '%ebx' clobbered in 'asm'
...

(full error log is attached)

I should also note that in order to generate valid 32 bits binaries for 10.5 when compiling from OSX 10.6 64 bits, I changed the default LD flags in <prefix>/share/macports/Tcl/port1.0/portconfigure.tcl as:

default configure.ldflags   {"-L${prefix}/lib -Xlinker -headerpad_max_install_names -mmacosx-version-min=10.5 -no_compact_linkedit"}

I don't know if this influencing the occurrence of the error. Anyways, a solution I found to this problem was to add the the following post-configure step in the portfile of gst-ffmpeg:

post-configure {
    if { $build_arch == "i386" } {
        reinplace "s|HAVE_EBX_AVAILABLE 1|HAVE_EBX_AVAILABLE 0|g" \
            ${worksrcpath}/gst-libs/ext/ffmpeg/config.h        
    }
}

Attachments (1)

gst-ffmpeg-main.log (6.3 KB) - added by andres.colubri@… 13 years ago.

Download all attachments as: .zip

Change History (16)

Changed 13 years ago by andres.colubri@…

Attachment: gst-ffmpeg-main.log added

comment:1 Changed 13 years ago by andres.colubri@…

Cc: andres.colubri@… added

Cc Me!

comment:2 Changed 13 years ago by andres.colubri@…

sorry, I forgot to fill in the port field, which should be gst-ffmpeg, but I cannot edit it afterwards.

BTW, this port appears to have no maintainer. Last person making a commit to the portfile is rmsfisher@…

comment:3 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: andres.colubri@… removed
Description: modified (diff)
Port: gst-ffmpeg added

comment:4 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

Partly this is already discussed in #24636.

comment:5 Changed 13 years ago by jmroot (Joshua Root)

Please confirm that bugs are reproducible without your modifications to base in future before reporting. Your change is unnecessary in this case anyway; you should just set "macosx_deployment_target 10.5" in macports.conf.

comment:6 Changed 13 years ago by andres.colubri@…

I did some more tests, in all cases I set "macosx_deployment_target 10.5" and "build_arch i386" in macports.conf.

If I don't apply the post-configure step I mentioned originally, the build stage fails with the reported error.

I tried both with the "-mmacosx-version-min=10.5 -no_compact_linkedit" linker options, and without. This seems to have no effect.

In case it is of any use, I'm running OSX 10.6.5 with gcc 4.2.1, but I think because the deployment target is set to 10.5, macports uses gcc 4.0 instead.

comment:7 Changed 13 years ago by fungos@…

I had same problem. Same system and same solution.

comment:8 Changed 13 years ago by daitakahashi

Cc: dtakahashi42@… added

Cc Me!

comment:9 Changed 13 years ago by daitakahashi

Discussion on #28935 can be applied to this problem.

comment:10 Changed 13 years ago by jmroot (Joshua Root)

Owner: changed from macports-tickets@… to rmstonecipher@…

comment:11 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

Has duplicate #32394.

comment:12 Changed 12 years ago by jmroot (Joshua Root)

Cc: jmr@… added

#24636 may be fixed now; please check how much of this is resolved because of that.

comment:13 Changed 10 years ago by cooljeanius (Eric Gallager)

Cc: egall@… added

Cc Me!

comment:14 Changed 9 years ago by mf2k (Frank Schima)

Keywords: gstreamer ffmpeg build error asm removed
Resolution: wontfix
Status: newclosed

This port no longer exists.

comment:15 Changed 9 years ago by jmroot (Joshua Root)

gstreamer010-gst-ffmpeg replaces it - but compiling for a different OS version isn’t really supported anyway.

Note: See TracTickets for help on using tickets.