Opened 13 years ago

Closed 12 years ago

Last modified 12 years ago

#30093 closed defect (fixed)

ffmpeg: Undefined symbols for architecture x86_64: _MM_FIX_0_707106781 _MM_FIX_0_541196100

Reported by: conradwt (Conrad Taylor) Owned by: dbevans (David B. Evans)
Priority: Normal Milestone:
Component: ports Version: 1.9.2
Keywords: x86_64 Cc: faisal.moledina@…, ryandesign (Ryan Carsten Schmidt)
Port: ffmpeg

Description

The ffmpeg port failed to build when using the below named command:

sudo port -v install opencv +python27 +tbb

...

:notice:build --->  Building ffmpeg
:debug:build Executing org.macports.build (ffmpeg)
:debug:build Environment: CPATH='/opt/local/include' CC_PRINT_OPTIONS_FILE='/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_multimedia_ffmpeg/ffmpeg/work/.CC_PRINT_OPTIONS' LIBRARY_PATH='/opt/local/lib' CC_PRINT_OPTIONS='YES' MACOSX_DEPLOYMENT_TARGET='10.7' V='1'
:debug:build Assembled command: 'cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_multimedia_ffmpeg/ffmpeg/work/ffmpeg-0.7.1" && /opt/local/bin/gmake -j4 -w all'
:debug:build Executing command line:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_multimedia_ffmpeg/ffmpeg/work/ffmpeg-0.7.1" && /opt/local/bin/gmake -j4 -w all 
:info:build gmake: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_multimedia_ffmpeg/ffmpeg/work/ffmpeg-0.7.1'
:info:build /Developer/usr/bin/llvm-gcc-4.2 -dynamiclib -Wl,-single_module -Wl,-install_name,/opt/local/lib/libavfilter.dylib,-current_version,1.80.0,-compatibility_version,1 -Llibavcodec -Llibavdevice -Llibavfilter -Llibavformat -Llibavutil -Llibpostproc -Llibswscale -L/opt/local/lib -arch x86_64 -Wl,-dynamic,-search_paths_first -o libavfilter/libavfilter.1.dylib libavfilter/af_anull.o libavfilter/allfilters.o libavfilter/asink_anullsink.o libavfilter/asrc_anullsrc.o libavfilter/avcodec.o libavfilter/avfilter.o libavfilter/avfiltergraph.o libavfilter/defaults.o libavfilter/drawutils.o libavfilter/formats.o libavfilter/graphparser.o libavfilter/libmpcodecs/img_format.o libavfilter/libmpcodecs/mp_image.o libavfilter/libmpcodecs/pullup.o libavfilter/libmpcodecs/vf_2xsai.o libavfilter/libmpcodecs/vf_blackframe.o libavfilter/libmpcodecs/vf_boxblur.o libavfilter/libmpcodecs/vf_cropdetect.o libavfilter/libmpcodecs/vf_decimate.o libavfilter/libmpcodecs/vf_delogo.o libavfilter/libmpcodecs/vf_denoise3d.o libavfilter/libmpcodecs/vf_detc.o libavfilter/libmpcodecs/vf_dint.o libavfilter/libmpcodecs/vf_divtc.o libavfilter/libmpcodecs/vf_down3dright.o libavfilter/libmpcodecs/vf_dsize.o libavfilter/libmpcodecs/vf_eq.o libavfilter/libmpcodecs/vf_eq2.o libavfilter/libmpcodecs/vf_field.o libavfilter/libmpcodecs/vf_fil.o libavfilter/libmpcodecs/vf_fixpts.o libavfilter/libmpcodecs/vf_framestep.o libavfilter/libmpcodecs/vf_fspp.o libavfilter/libmpcodecs/vf_geq.o libavfilter/libmpcodecs/vf_gradfun.o libavfilter/libmpcodecs/vf_harddup.o libavfilter/libmpcodecs/vf_hqdn3d.o libavfilter/libmpcodecs/vf_hue.o libavfilter/libmpcodecs/vf_il.o libavfilter/libmpcodecs/vf_ilpack.o libavfilter/libmpcodecs/vf_ivtc.o libavfilter/libmpcodecs/vf_kerndeint.o libavfilter/libmpcodecs/vf_mcdeint.o libavfilter/libmpcodecs/vf_mirror.o libavfilter/libmpcodecs/vf_noise.o libavfilter/libmpcodecs/vf_ow.o libavfilter/libmpcodecs/vf_palette.o libavfilter/libmpcodecs/vf_perspective.o libavfilter/libmpcodecs/vf_phase.o libavfilter/libmpcodecs/vf_pp7.o libavfilter/libmpcodecs/vf_pullup.o libavfilter/libmpcodecs/vf_qp.o libavfilter/libmpcodecs/vf_rectangle.o libavfilter/libmpcodecs/vf_remove_logo.o libavfilter/libmpcodecs/vf_rgbtest.o libavfilter/libmpcodecs/vf_rotate.o libavfilter/libmpcodecs/vf_sab.o libavfilter/libmpcodecs/vf_screenshot.o libavfilter/libmpcodecs/vf_smartblur.o libavfilter/libmpcodecs/vf_softpulldown.o libavfilter/libmpcodecs/vf_softskip.o libavfilter/libmpcodecs/vf_spp.o libavfilter/libmpcodecs/vf_swapuv.o libavfilter/libmpcodecs/vf_telecine.o libavfilter/libmpcodecs/vf_test.o libavfilter/libmpcodecs/vf_tile.o libavfilter/libmpcodecs/vf_tinterlace.o libavfilter/libmpcodecs/vf_unsharp.o libavfilter/libmpcodecs/vf_uspp.o libavfilter/libmpcodecs/vf_yuvcsp.o libavfilter/libmpcodecs/vf_yvu9.o libavfilter/vf_aspect.o libavfilter/vf_blackframe.o libavfilter/vf_copy.o libavfilter/vf_crop.o libavfilter/vf_cropdetect.o libavfilter/vf_drawbox.o libavfilter/vf_fade.o libavfilter/vf_fieldorder.o libavfilter/vf_fifo.o libavfilter/vf_format.o libavfilter/vf_gradfun.o libavfilter/vf_hflip.o libavfilter/vf_hqdn3d.o libavfilter/vf_lut.o libavfilter/vf_mp.o libavfilter/vf_null.o libavfilter/vf_overlay.o libavfilter/vf_pad.o libavfilter/vf_pixdesctest.o libavfilter/vf_scale.o libavfilter/vf_select.o libavfilter/vf_setpts.o libavfilter/vf_settb.o libavfilter/vf_showinfo.o libavfilter/vf_slicify.o libavfilter/vf_split.o libavfilter/vf_transpose.o libavfilter/vf_unsharp.o libavfilter/vf_vflip.o libavfilter/vf_yadif.o libavfilter/vsink_buffer.o libavfilter/vsink_nullsink.o libavfilter/vsrc_buffer.o libavfilter/vsrc_color.o libavfilter/vsrc_movie.o libavfilter/vsrc_nullsrc.o libavfilter/x86/gradfun.o libavfilter/x86/yadif.o -lavformat -lavcodec -lswscale -lavcodec -lavutil -Wl,-framework,Cocoa -L/opt/local/lib -lSDLmain -lSDL -lxvidcore -lx264 -lvpx -lvpx -lvorbisenc -lvorbis -logg -ltheoraenc -ltheoradec -logg -lspeex -L/opt/local/lib -lschroedinger-1.0 -lmp3lame -lfaac -L/opt/local/lib -ldirac_encoder -ldirac_decoder -lstdc++ -lm -lbz2 -lz  
:info:build Undefined symbols for architecture x86_64:
:info:build   "_MM_FIX_0_707106781", referenced from:
:info:build       _filter in vf_fspp.o
:info:build   "_MM_FIX_0_541196100", referenced from:
:info:build       _filter in vf_fspp.o
:info:build ld: symbol(s) not found for architecture x86_64
:info:build collect2: ld returned 1 exit status
:info:build gmake: *** [libavfilter/libavfilter.1.dylib] Error 1
:info:build gmake: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_multimedia_ffmpeg/ffmpeg/work/ffmpeg-0.7.1'
:info:build shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_multimedia_ffmpeg/ffmpeg/work/ffmpeg-0.7.1" && /opt/local/bin/gmake -j4 -w all " returned error 2
:error:build Target org.macports.build returned: shell command failed (see log for details)
:debug:build Backtrace: shell command failed (see log for details)
    while executing
"command_exec build"
    (procedure "portbuild::build_main" line 8)
    invoked from within
"$procedure $targetname"
:info:build Warning: the following items did not execute (for ffmpeg): org.macports.activate org.macports.build org.macports.destroot org.macports.install
:error:build Failed to install ffmpeg
:notice:build Log for ffmpeg is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_multimedia_ffmpeg/ffmpeg/main.log

Attachments (2)

ffmpeg-devel-lionGM-main.log (891.0 KB) - added by faisal.moledina@… 13 years ago.
main.log of ffmpeg-devel port install failure
ffmpeg-devel-lion-prerelease.log (7.5 KB) - added by conradwt (Conrad Taylor) 13 years ago.
ffmpeg using prerelease of Mac OS Lion (Build 11A511)

Download all attachments as: .zip

Change History (15)

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

Cc: devans@… openmaintainer@… removed
Owner: changed from macports-tickets@… to devans@…
Summary: Undefined symbols for architecture x86_64ffmpeg: Undefined symbols for architecture x86_64: _MM_FIX_0_707106781 _MM_FIX_0_541196100

To be clear, this is on a pre-release version of Lion, which is an important detail to mention explicitly. Please attach the complete main.log; perhaps it is relevant.

Changed 13 years ago by faisal.moledina@…

main.log of ffmpeg-devel port install failure

comment:2 Changed 13 years ago by faisal.moledina@…

I get the same error when installing the ffmpeg-devel port using the command sudo port install ffmpeg-devel. This is with a fresh install of OS X 10.7 GM, XCode 4.1 DP5, and MacPorts from SVN.

comment:3 Changed 13 years ago by faisal.moledina@…

Seems like the Fink project is having the same issue, but on OS X 10.6.8. http://paste.lisp.org/display/123055

Changed 13 years ago by conradwt (Conrad Taylor)

ffmpeg using prerelease of Mac OS Lion (Build 11A511)

comment:4 Changed 13 years ago by faisal.moledina@…

Cc: faisal.moledina@… added

Cc Me!

comment:5 Changed 13 years ago by mail@…

hey guys, I ran into the same issue and created a ticket on ffmpeg's issue tracker. you can follow it here https://avcodec.org/trac/ffmpeg/ticket/353. also happens on 10.6.8.

comment:6 Changed 13 years ago by faisal.moledina@…

I now have no issues building this port using a fresh install of Xcode 4.1 final and MacPorts 2.0.0-rc1.

comment:7 Changed 13 years ago by mdgriffin@…

Initial build failure, matching reports in this ticket (#30093):

"ffmpeg: Undefined symbols for architecture x86_64: _MM_FIX_0_707106781 _MM_FIX_0_541196100"

Subsequent successful build, with no component change other than the use of the more recent v.2.0.0 release, changelog ID #80934, 2011-07-21 20:32:35Z jmr@….' The non-working SVN checkout was Changelog ID# 79600, created 2011-06-19.


UNCHANGED BUILD COMPONENTS:

Port file: ffmpeg-devel @20110628

Platform: Mid-2010 MacBook Pro Intel Core i7

Operating system: Mac OS X 10.7, build 11A511 [Golden Master, created June 29, 2011]; OS darwin/11.0.0

Developer Tools: Xcode 4.1, build version 18 [specific to Mac OS X 10.7 GM], created July 2, 2011

At the time of both of the attempted builds, no existing ffmpeg versions were present,

comment:8 in reply to:  7 Changed 13 years ago by mdgriffin@…

Replying to mdgriffin@…:

Hideously embarrassing and misleading error in my post above:

For "successful," read: "unsuccessful."

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

Cc: ryandesign@… added

Please see if the latest changes to the ffmpeg port (#28935) have helped.

comment:10 Changed 13 years ago by dbevans (David B. Evans)

Status: newassigned

I believe this is the problem that results from compiling ffmpeg using llvm-gcc-4.2 on x86_64 and is not Lion specific.

Fix which forces compilation using gcc-4.2 instead committed in r83625 for ffmpeg, r83670 for ffmpeg-devel.

ffmpeg updated to version 0.7.4 in r83674.

Please resync your ports tree and rebuild to verify.

comment:11 Changed 12 years ago by dbevans (David B. Evans)

Keywords: lion removed
Resolution: fixed
Status: assignedclosed

Assuming fixed.

comment:12 Changed 12 years ago by maythe4thbewithu@…

I didn't use MacPorts but I solve this and other similar problem, at least on my Mac OS Lion 10.7.4 + FFmpeg0.11 + OpenCV2.4.0 I install FFmpeg(with other 3rd libraries) and OpenCV from sources downloaded from official sites

It seems "SOME" of the libraries used by ffmpeg such as faac and faad are configure with --build=i386-XXX or --build=i686-XXX by a wrong guess

watch the dump message carefully after you ./configure especially the "build system type" and "host system type"

"checking build system type ... i386-apple-XXXX" "checking build system type ...i686-apple-XXXX"

Both are need to fix. Only x86_64 or x86_64-XXX-XXX are OK

You should let the ./configure guess first. If it guess incorrectly, then fix.

After rebuild all libraries with ./configure --build=x86_64 or something similar There is no error "Undefined symbols for architecture x86_64" while compiling OpenCV

ALL libraries such as FFmpeg (--arch=x86_64) or the libraries used by FFmpeg SHOULD be checked and reinstall Libraries (other than FFmpeg) used by OpenCV also need to check. Set the architecture of OpenCV in CMake to be x86_64 is recommended but not necessary.

comment:13 Changed 12 years ago by maythe4thbewithu@…

Sorry for the bad typesetting.

I didn't use MacPorts

but I solve this and other similar problem, at least on my Mac OS Lion 10.7.4 + FFmpeg0.11 + OpenCV2.4.0

I install FFmpeg(with other 3rd libraries) and OpenCV from sources downloaded from official sites

It seems

"SOME" of the libraries used by ffmpeg such as faac and faad are configure with --build=i386-XXX or --build=i686-XXX by a wrong guess

watch the dump message carefully after you ./configure
especially the "build system type" and "host system type"

"checking build system type ... i386-apple-XXXX"

"checking build system type ...i686-apple-XXXX"

Both are need to fix. Only x86_64 or x86_64-XXX-XXX are OK

You should let the ./configure guess first. If it guess incorrectly, then fix.

After rebuild all libraries with ./configure --build=x86_64 or something similar
There is no error "Undefined symbols for architecture x86_64" while compiling OpenCV

ALL libraries such as FFmpeg (--arch=x86_64) or the libraries used by FFmpeg SHOULD be checked and reinstall

Libraries (other than FFmpeg) used by OpenCV also need to check.

Set the architecture of OpenCV in CMake to be x86_64 is recommended but not necessary.

Note: See TracTickets for help on using tickets.