| Summary: | Upgrade multimedia/transcode from 0.6.12 to 0.6.14 | ||
|---|---|---|---|
| Product: | Ports & Packages | Reporter: | frank |
| Component: | Individual Port(s) | Assignee: | Michael Johnson <ahze> |
| Status: | Closed FIXED | ||
| Severity: | Affects Only Me | CC: | hendrik |
| Priority: | Normal | ||
| Version: | Latest | ||
| Hardware: | Any | ||
| OS: | Any | ||
|
Description
frank
2004-11-22 05:30:27 UTC
Responsible Changed From-To: freebsd-ports-bugs->ahze Grab I have been experimenting with this patch and bumped into a problem
with the compilation on 4.10 - several libraries contain libtool
driver files instead of the actual object files. The problem seems to
be some code in {aclib,bbmpeg}/Makefile.in that remames .lo files to
.o files and creates fake .lo files for libtool. The only problem is
that these faked .lo files wind up being included in the actual
libraries (I don't understand why). Applying the patch below allows
transcode to build, install and run.
I did notice when trying to build a package that the man pages are
incorrectly shown as uncompressed and there are some .so's missing
(see after the patch).
--- aclib/Makefile.in~ Sat Dec 4 21:07:55 2004
+++ aclib/Makefile.in Sat Dec 4 21:09:22 2004
@@ -682,19 +682,6 @@
# but libtool doesn't know that, so we fake it.
.s.lo:
$(ASM) $(ASMFLAGS) -o $@ `test -f '$<' || echo '$(scrdir)/'`$<
- @new_name=".libs/`echo $@ | sed -e 's,\.lo$$,\.o,'`" && \
- mv $@ $$new_name && \
- echo "# $@ - a libtool object file" >> $@ && \
- echo "# Generated by ltmain.sh - GNU libtool 1.5 (1.1220 2003/04/05 19:32:58)" >> $@ && \
- echo "#" >> $@ && \
- echo "# Please DO NOT delete this file!" >> $@ && \
- echo "# It is necessary for linking the library." >> $@ && \
- echo "" >> $@ && \
- echo "# Name of the PIC object." >> $@ && \
- echo "pic_object='$$new_name'" >> $@ && \
- echo "" >> $@ && \
- echo "# Name of the non-PIC object." >> $@ && \
- echo "non_pic_object=none" >> $@
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
--- bbmpeg/Makefile.in~ Sat Dec 4 21:07:55 2004
+++ bbmpeg/Makefile.in Sat Dec 4 21:09:22 2004
@@ -884,19 +884,6 @@
# but libtool doesn't know that, so we fake it.
.s.lo:
$(ASM) $(ASMFLAGS) -o $@ `test -f '$<' || echo '$(scrdir)/'`$<
- @new_name=".libs/`echo $@ | sed -e 's,\.lo$$,\.o,'`" && \
- mv $@ $$new_name && \
- echo "# $@ - a libtool object file" >> $@ && \
- echo "# Generated by ltmain.sh - GNU libtool 1.5 (1.1220 2003/04/05 19:32:58)" >> $@ && \
- echo "#" >> $@ && \
- echo "# Please DO NOT delete this file!" >> $@ && \
- echo "# It is necessary for linking the library." >> $@ && \
- echo "" >> $@ && \
- echo "# Name of the PIC object." >> $@ && \
- echo "pic_object='$$new_name'" >> $@ && \
- echo "" >> $@ && \
- echo "# Name of the non-PIC object." >> $@ && \
- echo "non_pic_object=none" >> $@
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
pkg_create -b errors:
tar: lib/transcode/export_mov.so: Cannot stat: No such file or directory
tar: lib/transcode/export_net.so: Cannot stat: No such file or directory
tar: lib/transcode/import_mov.so: Cannot stat: No such file or directory
tar: lib/transcode/import_net.so: Cannot stat: No such file or directory
tar: man/man1/avifix.1: Cannot stat: No such file or directory
tar: man/man1/aviindex.1: Cannot stat: No such file or directory
tar: man/man1/avimerge.1: Cannot stat: No such file or directory
tar: man/man1/avisplit.1: Cannot stat: No such file or directory
tar: man/man1/avisync.1: Cannot stat: No such file or directory
tar: man/man1/tccat.1: Cannot stat: No such file or directory
tar: man/man1/tcdecode.1: Cannot stat: No such file or directory
tar: man/man1/tcdemux.1: Cannot stat: No such file or directory
tar: man/man1/tcextract.1: Cannot stat: No such file or directory
tar: man/man1/tcmodinfo.1: Cannot stat: No such file or directory
tar: man/man1/tcprobe.1: Cannot stat: No such file or directory
tar: man/man1/tcpvmexportd.1: Cannot stat: No such file or directory
tar: man/man1/tcscan.1: Cannot stat: No such file or directory
tar: man/man1/tcxmlcheck.1: Cannot stat: No such file or directory
tar: man/man1/transcode.1: Cannot stat: No such file or directory
tar: Error exit delayed from previous errors
pkg_create: make_dist: tar command failed with code 512
--
Peter Jeremy
Hi! Looks good but needs some further testing. Please do not commit yet as it depends on the upgraded ffmpeg port (ports/74225) which has problems. Instead I'll first fix the !i386 pkg-plist issue but my Netra is rather slow so it's gonna take some time. Thanks, Hendrik Hi!
Now that ffmpeg has been updated I had a closer look and discovered some
problems related to NASM.
Did you have nasm installed when building transcode?
Building with nasm and MMX didn't work for me (multiple errors - some of
them already discussed on the mailing list) and compiling without
results in a problem in libvo (see third patch).
What I've done to get it compiling was disabling nasm, mmx and 3dnow
(--disable-nasm --disable-mmx and --disable-3dnow via CONFIGURE_ARGS in
Makefile).
This disables all nice speed ups transcode provides and I won't upgrade
the port until we have nasm/mmx back in place.
Here are the three patches that I used. The second one I've already send
upstream.
I'm investigating further and on the way to check out a cvs snapshot
that hopefully has some patches in there.
Hendrik
patch-aclib:tcmemcpy.c
--- aclib/tcmemcpy.c.orig Wed Dec 8 20:45:35 2004
+++ aclib/tcmemcpy.c Wed Dec 8 20:45:48 2004
@@ -10,6 +10,7 @@
const char * method = "libc";
/* these functions are nasm assembly */
+#undef HAVE_ASM_NASM
#ifdef HAVE_ASM_NASM
if((accel & MM_MMXEXT) || (accel & MM_SSE))
{
patch-avilib:os.h
--- avilib/os.h.orig Wed Dec 8 16:33:07 2004
+++ avilib/os.h Wed Dec 8 16:34:46 2004
@@ -19,7 +19,9 @@
# define COMP_GCC
# define SYS_UNIX
# if defined(__bsdi__) || defined(__FreeBSD__)
-# define SYS_BSD
+# if !defined(SYS_BSD)
+# define SYS_BSD
+# endif
# else
# define SYS_LINUX
# endif
patch-libvo:yuv2rgb_mmx.c
--- libvo/yuv2rgb_mmx.c.orig Wed Dec 8 20:59:04 2004
+++ libvo/yuv2rgb_mmx.c Wed Dec 8 20:59:15 2004
@@ -24,6 +24,7 @@
#include "config.h"
+#define HAVE_MMX
#ifdef HAVE_MMX
#include <stdio.h>
--
Hendrik Scholz - <hscholz@raisdorf.net> - http://www.wormulon.net/
drag me, drop me - treat me like an object
I apologize for not having responded before, I didn't realize that you had asked me a question. Yes, I did have nasm installed when I built transcode, on both 4-stable and 5-stable. I'm rebuilding it now and I'll see if I can reproduce (or avoid) your problem. -- Frank Mayhar <frank@exit.com> Exit Consulting State Changed From-To: open->closed Superseded by ports/77860 |