Opened 12 years ago

Closed 12 years ago

Last modified 12 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: Analyzed by developer:

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 Changed 12 years ago by andrus@…

  • Summary changed from compilation failure on freebsd (broken Makefile) to compilation failure on freebsd 6.2 (broken Makefile)

comment:3 Changed 12 years ago by diego@…

  • Status changed from new to assigned

Try using gmake.

comment:4 Changed 12 years ago by andrus@…

  • Resolution set to wontfix
  • Status changed from assigned to closed

Gmake is not standard for Freebsd.

I installed it, now different error:

Makefile:23: * missing separator. Stop.

comment:5 Changed 12 years ago by andrus@…

  • Resolution wontfix deleted
  • Status changed from closed to reopened

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

comment:6 Changed 12 years ago by andrus@…

  • Resolution set to fixed
  • Status changed from reopened to closed

Solved, gmake worked, tried on clean source.

comment:7 Changed 12 years ago by andrus@…

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 Changed 12 years ago by andrus@…

  • Resolution fixed deleted
  • Status changed from closed to reopened

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 Changed 12 years ago by diego@…

  • Priority changed from very important to unimportant
  • Resolution set to invalid
  • Status changed from reopened to closed

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 Changed 12 years ago by andrus@…

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 Changed 12 years ago by diego@…

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

comment:12 Changed 12 years ago by andrus@…

(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.