pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

pkg/39751: ffmpeg fails to configure



>Number:         39751
>Category:       pkg
>Synopsis:       ffmpeg fails to configure
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Oct 16 22:10:01 +0000 2008
>Originator:     Rhialto
>Release:        NetBSD 4.0
>Organization:
        
>Environment:
        
        
System: NetBSD radl.falu.nl 4.0 NetBSD 4.0 
(Radl-s_Pervasion_of_the_Incorrect_Chord) #5: Fri May 16 23:41:31 CEST 2008 
root%radl.falu.nl@localhost:/usr/src/sys/arch/amd64/compile/RADL4.0 amd64
Architecture: x86_64
Machine: amd64
>Description:
        Try to build ffmpeg and see this:

===> do-bin-install [ffmpeg-20080727nb4, vlc-0.9.2nb1] ===> Binary install for 
ffmpeg>=20080727
=> Installing ffmpeg>=20080727 from /pkg_comp/packages/All;no/such/directory/All
pkg_add: could not process directory
pkg_add: no pkg found for 'ffmpeg>=20080727', sorry.
pkg_add: 1 package addition failed
=> No binary package found for ffmpeg>=20080727; installing from source.
=> Bootstrap dependency digest>=20010302: found digest-20080510
===> configure-message [ffmpeg-20080727nb4, vlc-0.9.2nb1] ===> Configuring for 
ffmpeg-20080727nb4
=> Replacing Perl interpreter in doc/texi2pod.pl.
=> Checking for portability problems in extracted files
Error, no memalign() but SSE enabled, disable it or use --enable-memalign-hack.
If you think configure made a mistake, make sure you are using the latest
version from SVN.  If the latest version fails, report the problem to the
ffmpeg-user%mplayerhq.hu@localhost mailing list or IRC #ffmpeg on 
irc.freenode.net.
Include the log file "config.err" produced by configure as this will help
solving the problem.
*** Error code 1

        This is not the whole config.err file but a fragment:


check_func memalign
check_ld
check_cc
begin /pkg_comp/obj/pkgsrc/multimedia/ffmpeg/default/ffmpeg-conf--19176-.c
    1   extern int memalign();
    2   int main(void){ memalign(); }
END /pkg_comp/obj/pkgsrc/multimedia/ffmpeg/default/ffmpeg-conf--19176-.c
cc -O2 -I/usr/pkg/include -I/usr/include -fomit-frame-pointer -c -o 
/pkg_comp/obj/pkgsrc/multimedia/ffmpeg/default/ffmpeg-conf--19176-.o 
/pkg_comp/obj/pkgsrc/multimedia/ffmpeg/default/ffmpeg-conf--19176-.c
cc -L/usr/pkg/lib -Wl,-R/usr/pkg/lib -L/usr/lib -Wl,-R/usr/lib -o 
/pkg_comp/obj/pkgsrc/multimedia/ffmpeg/default/ffmpeg-conf--19176- 
/pkg_comp/obj/pkgsrc/multimedia/ffmpeg/default/ffmpeg-conf--19176-.o
/pkg_comp/obj/pkgsrc/multimedia/ffmpeg/default/ffmpeg-conf--19176-.o: In 
function `main':
ffmpeg-conf--19176-.c:(.text+0x3): undefined reference to `memalign'
check_func posix_memalign
check_ld
check_cc
BEGIN /pkg_comp/obj/pkgsrc/multimedia/ffmpeg/default/ffmpeg-conf--19176-.c
    1   extern int posix_memalign();
    2   int main(void){ posix_memalign(); }
END /pkg_comp/obj/pkgsrc/multimedia/ffmpeg/default/ffmpeg-conf--19176-.c
cc -O2 -I/usr/pkg/include -I/usr/include -fomit-frame-pointer -c -o 
/pkg_comp/obj/pkgsrc/multimedia/ffmpeg/default/ffmpeg-conf--19176-.o 
/pkg_comp/obj/pkgsrc/multimedia/ffmpeg/default/ffmpeg-conf--19176-.c
cc -L/usr/pkg/lib -Wl,-R/usr/pkg/lib -L/usr/lib -Wl,-R/usr/lib -o 
/pkg_comp/obj/pkgsrc/multimedia/ffmpeg/default/ffmpeg-conf--19176- 
/pkg_comp/obj/pkgsrc/multimedia/ffmpeg/default/ffmpeg-conf--19176-.o
/pkg_comp/obj/pkgsrc/multimedia/ffmpeg/default/ffmpeg-conf--19176-.o: In 
function `main':
ffmpeg-conf--19176-.c:(.text+0x3): undefined reference to `posix_memalign'
>How-To-Repeat:
        see above
>Fix:
        Possibly CONFIGURE_ARGS += --enable-memalign-hack

        or possibly to extend this section from the makefile to x86_64:

# Doesn't work without memalign and memalign looks buggy.
.if !empty(MACHINE_ARCH:Mi386)
CONFIGURE_ARGS+=        --disable-mmx \
                        --disable-mmx2 \
                        --disable-ssse3
.endif

        I tried the latter, and it compiles, but I have not run it yet.

        Looking at the configure script, another possibility presents itself:
        add "disable need_memalign", like is done for freebsd and openbsd,
        and also remove the above CONFIGURE_ARGS additions:

    netbsd)
        oss_demuxer_extralibs="-lossaudio"
        oss_muxer_extralibs="-lossaudio"
        ;;
    openbsd)
        disable need_memalign
        LIBOBJFLAGS='$(PIC)'
        SHFLAGS='-shared'
        SLIBNAME='$(SLIBPREF)$(FULLNAME)$(SLIBSUF).$(LIBVERSION)'
        SLIBNAME_WITH_VERSION='$(SLIBNAME)'
        SLIBNAME_WITH_MAJOR='$(SLIBNAME)'
        oss_demuxer_extralibs="-lossaudio"
        oss_muxer_extralibs="-lossaudio"
        ;;
    freebsd)
        disable need_memalign
        ;;

    The memalign hack in libavutil/mem.c doesn't look buggy to me, but
    perhaps the formula could have written a bit clearer. It should
    use intptr_t instead of long, but since only the rightmost bits of
    the values are relevant, it doesn't matter much.

-Olaf.
-- 
___ Olaf 'Rhialto' Seibert    -- You author it, and I'll reader it.
\X/ rhialto/at/xs4all.nl      -- Cetero censeo "authored" delendum esse.

>Unformatted:
        
        


Home | Main Index | Thread Index | Old Index