[FFmpeg-trac] #3649(avutil:new): Solaris Intel static libraries required AMD 3D NOW even though the CPU doesn't support

FFmpeg trac at avcodec.org
Mon Jun 2 01:26:44 CEST 2014


#3649: Solaris Intel static libraries required AMD 3D NOW even though the CPU
doesn't support
---------------------------------------+----------------------------------
             Reporter:  bmitchel       |                    Owner:
                 Type:  defect         |                   Status:  new
             Priority:  minor          |                Component:  avutil
              Version:  2.2.1          |               Resolution:
             Keywords:  solaris intel  |               Blocked By:
             Blocking:                 |  Reproduced by developer:  0
Analyzed by developer:  0              |
---------------------------------------+----------------------------------

Comment (by bmitchel):

 Replying to [comment:4 cehoyos]:
 > Replying to [comment:3 bmitchel]:
 > > I tried compiling 2.2.2 on Solaris Intel and I'm failing to link
 ffmpeg.
 >
 > Please test current FFmpeg git head.

 I will try this on a later build, but would prefer to use a stable build.
 To date I have been working with FFMPEG 2.0

 >
 > > LD      ffmpeg_g
 > > Undefined                       first referenced
 > > symbol                             in file
 > > ff_synth_filter_inner_sse2
 libavcodec/libavcodec.a(dcadsp_init.o)
 > > ld: fatal: symbol referencing errors. No output written to ffmpeg_g
 > > gmake: *** [ffmpeg_g] Error 2
 >
 > I am unable to reproduce this problem with FFmpeg 2.2.2.
 >
 > > bash ./configure --extra-cflags="-fPIC" --disable-mmx --disable-
 protocol=udp --disable-encoder=nellymoser --cc=cc --cxx=CC --disable-doc
 >
 > Why are you using {{{--disable-mmx}}}? This seems like a very bad
 option, don't you agree?

 I would agree yes, however I cannot get to compile/get to the linking
 stage without this.  Possibly an Oracle Compiler issue, I am unsure but
 the original article I used to help do an initial compile has stuck:

 http://chrismiles.livejournal.com/25439.html

 If i exclude --disable-mmx, I get the compilation issue:

 CC      libavfilter/vf_mergeplanes.o
 CC      libavfilter/vf_noise.o
 "vf_noise.c", [line_noise_avg_mmx]:ube: error: Cannot allocate register
 for argument '%5' in GASM Inlining
 cc: ube failed for libavfilter/vf_noise.c
 gmake: *** [libavfilter/vf_noise.o] Error 2

 > Are {{{--cc}}} and {{{-cxx}}} necessary? Why?

 So it doesn't pick up gcc to build with.  We don't build with gcc, we
 build with the Oracle Compiler.

 >
 > Is your original problem only that the output of {{{file}}} is not
 satisfying or do you have actual problems with your linked executable?

 Original problem is that building a C++ program using the static libs puts
 a dependency on the CPU requiring the AMD 3d Now instruction set, which is
 unsupported.  Linking with the dynamic libs instead of the static libs
 does not result in the dependency or seem to have any issues, so it could
 and is very likely it is a problem with the CC compiler, or I am missing
 some sort of flag on the compiler to exclude instructions that are not
 supported by the CPU, if such a flag exists.

--
Ticket URL: <https://trac.ffmpeg.org/ticket/3649#comment:5>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list