Opened 16 years ago

Closed 16 years ago

Last modified 16 years ago

#945 closed defect (invalid)

compilation failure on freebsd 6.2 (broken Makefile)

Reported by: andrus@… Owned by: diego@…
Priority: unimportant Component: build system
Version: 1.0rc2 Severity: blocker
Keywords: Cc:
Blocked By: Blocking:
Reproduced by developer: no Analyzed by developer: no

Description

Mplayer/mencoder compilation fails on Freebsd 6.2

Configure options:
./configure --enable-xvid --disable-lircc --disable-lirc --enable-libamr_nb --enable-libamr_wb

FreeBSD:
make -> Error: "Error expanding embedded variable."

Configured mencoder installation: http://andrus.wask.org/MPlayer-1.0rc2-freebsd.tar.bz2

Freebsd release:
FreeBSD devel 6.2-RELEASE-p8 FreeBSD 6.2-RELEASE-p8 #10: Thu Nov 22 16:53:02 UTC 2007 root@devel:/usr/obj/usr/src/sys/DEV i386

Change History (12)

comment:2 by andrus@…, 16 years ago

Summary: compilation failure on freebsd (broken Makefile)compilation failure on freebsd 6.2 (broken Makefile)

comment:3 by diego@…, 16 years ago

Status: newassigned

Try using gmake.

comment:4 by andrus@…, 16 years ago

Resolution: wontfix
Status: assignedclosed

Gmake is not standard for Freebsd.

I installed it, now different error:

Makefile:23: * missing separator. Stop.

comment:5 by andrus@…, 16 years ago

Resolution: wontfix
Status: closedreopened

Gmake does not work (sorry for double entry, missed reopen)

comment:6 by andrus@…, 16 years ago

Resolution: fixed
Status: reopenedclosed

Solved, gmake worked, tried on clean source.

comment:7 by andrus@…, 16 years ago

All other software works fine with normal make on FreeBSD (including rc1).

Isn't movement to gmake negative for cross platform compatibility?

Linux is not the only *nix used (Makefile seems to be Linux optimized)

comment:8 by andrus@…, 16 years ago

Resolution: fixed
Status: closedreopened

Build on freebsd is very fragile, adding xvid and/or amr codecs breaks build.

Again, all versions prior to rc2 builds ok, rc2 needs gmake and also does not build correctly (even xvid and amr libs are installed ok and detected by ./configure)

gmake:

cc -o mplayer mplayer.o m_property.o mp_fifo.o mp_msg.o mixer.o parser-mpcmd.o subopt-helper.o command.o asxparser.o codec-cfg.o cpudetect.o edl.o find_sub.o get_path.o m_config.o m_option.o m_struct.o mpcommon.o parser-cfg.o playtree.o playtreeparser.o spudec.o sub_cc.o subreader.o vobsub.o unrarlib.o libvo/libvo.a libao2/libao2.a input/libinput.a vidix/libvidix.a libmpcodecs/libmpcodecs.a libaf/libaf.a libmpdemux/libmpdemux.a stream/stream.a libswscale/libswscale.a libvo/libosd.a libavformat/libavformat.a libavcodec/libavcodec.a libavutil/libavutil.a libpostproc/libpostproc.a loader/libloader.a mp3lib/libmp3.a liba52/liba52.a libmpeg2/libmpeg2.a libfaad2/libfaad2.a tremor/libvorbisidec.a dvdread/libdvdread.a libdvdcss/libdvdcss.a libass/libass.a osdep/libosdep.a -lXext -lX11 -lpthread -lx264 -lpthread -lmp3lame -Wl,-z,noexecstack -L/usr/local/lib -liconv -lncurses -lpng -lz -ljpeg -L/usr/local/lib -Wl,--rpath -Wl,/usr/local/lib -lfreetype -lz -lfontconfig -lz -lmpcdec -ldv -lpthread -rdynamic -lm
libmpcodecs/libmpcodecs.a(vd_xvid4.o)(.text+0x150): In function `init':
: undefined reference to `xvid_global'
libmpcodecs/libmpcodecs.a(vd_xvid4.o)(.text+0x1bd): In function `init':
: undefined reference to `xvid_global'
libmpcodecs/libmpcodecs.a(vd_xvid4.o)(.text+0x208): In function `init':
: undefined reference to `xvid_decore'
libmpcodecs/libmpcodecs.a(vd_xvid4.o)(.text+0x2c0): In function `init':
: undefined reference to `xvid_global'
libmpcodecs/libmpcodecs.a(vd_xvid4.o)(.text+0x38e): In function `uninit':
: undefined reference to `xvid_decore'
libmpcodecs/libmpcodecs.a(vd_xvid4.o)(.text+0x4ad): In function `decode':
: undefined reference to `xvid_decore'
libavcodec/libavcodec.a(libxvidff.o)(.text+0x2a): In function `ff_xvid_encode_close':
: undefined reference to `xvid_encore'
libavcodec/libavcodec.a(libxvidff.o)(.text+0x303): In function `ff_xvid_encode_frame':
: undefined reference to `xvid_encore'
libavcodec/libavcodec.a(libxvidff.o)(.text+0x7cd): In function `ff_xvid_encode_init':
: undefined reference to `xvid_global'
libavcodec/libavcodec.a(libxvidff.o)(.text+0x88c): In function `ff_xvid_encode_init':
: undefined reference to `xvid_plugin_single'
libavcodec/libavcodec.a(libxvidff.o)(.text+0x8ce): In function `ff_xvid_encode_init':
: undefined reference to `xvid_plugin_lumimasking'
libavcodec/libavcodec.a(libxvidff.o)(.text+0xaa5): In function `ff_xvid_encode_init':
: undefined reference to `xvid_encore'
libavcodec/libavcodec.a(libxvidff.o)(.text+0xb6c): In function `ff_xvid_encode_init':
: undefined reference to `xvid_plugin_2pass2'
libavcodec/libavcodec.a(libxvid_rc.o)(.text+0x233): In function `ff_xvid_rate_control_init':
: undefined reference to `xvid_plugin_2pass2'
libavcodec/libavcodec.a(libxvid_rc.o)(.text+0x3a4): In function `ff_xvid_rate_estimate_qscale':
: undefined reference to `xvid_plugin_2pass2'
libavcodec/libavcodec.a(libxvid_rc.o)(.text+0x3e6): In function `ff_xvid_rate_estimate_qscale':
: undefined reference to `xvid_plugin_2pass2'
libavcodec/libavcodec.a(libxvid_rc.o)(.text+0x4d8): In function `ff_xvid_rate_control_uninit':
: undefined reference to `xvid_plugin_2pass2'
gmake: * [mplayer] Error 1

Configure part for xvid:
##########################################

============ Checking for XviD ============
Result is: yes
##########################################

============ Checking for XviD two pass plugin ============

#include <xvid.h>
int main(void) { xvid_plugin_2pass2_t s; s.vbv_size=0; return 0; }

cc -Wall -Wno-switch -Wpointer-arith -Wredundant-decls -O4 -march=pentium-m -mtune=pentium-m -pipe -ffast-math -fomit-frame-pointer -I/usr/local/include -I/u
sr/X11R6/include -I/usr/local/include/freetype2 -I/usr/local/include -L/usr/local/lib -liconv -lncurses -lpng -lz -ljpeg -L/usr/local/lib -Wl,--rpath -Wl,/
usr/local/lib -lfreetype -lz -lfontconfig -lz -lmpcdec -ldv -lXext -lX11 -lpthread -o /tmp/mplayer-conf--24756 /tmp/mplayer-conf--24756.c

Result is: yes
##########################################

Libraries/headers:
-rw-r--r-- 1 root wheel 837916 Nov 21 00:12 /usr/local/lib/libxvidcore.a
-rw-r--r-- 1 root wheel 763305 Nov 21 00:12 /usr/local/lib/libxvidcore.so.4.1

-rw-r--r-- 1 root wheel 32471 Nov 21 00:12 /usr/local/include/xvid.h

gmake works with plain mplayer but fails with xvid/amr or any other added lib.

Makefile seems to be broken still.

comment:9 by diego@…, 16 years ago

Priority: very importantunimportant
Resolution: invalid
Status: reopenedclosed

We require GNU Make. This is not a problem, GNU Make is available on all relevant platforms, including FreeBSD. And this has nothing to do with being Linux-specific, GNU Make does not in any way depend on Linux.

You are forcing on Xvid and AMR, this is the problem. Let configure autodetect them and then try to find out what the problem is. In any case, this is not a problem in the build system, but in your environment.

comment:10 by andrus@…, 16 years ago

Ok thanks for everything, my mistake (it worked now).

What about FLAC exploits? rc2 seems to have old flac source still

http://www.heise-security.co.uk/news/99108

comment:11 by diego@…, 16 years ago

It seems you have neither read that article, nor looked at MPlayer source code.

comment:12 by andrus@…, 16 years ago

(In reply to comment #10)

It seems you have neither read that article, nor looked at MPlayer source code.

[UPDATE] part was not there when i saw it. Thanks

Note: See TracTickets for help on using tickets.