logo       

Re: Playing MPEG with 1_rc0a-0 badly broken on PPC (all pink video): msg#00097

video.xine.devel

Subject: Re: Playing MPEG with 1_rc0a-0 badly broken on PPC (all pink video)

On Sat, 9 Aug 2003, Bill Fink wrote:

> However, in comparing the working and non-working build directories,
> I happened to notice another change that could be significant, namely
> to the xine-lib/config.h file:
>
> 11c11
> < #define ATTRIBUTE_ALIGNED_MAX 64
> ---
> > /* #undef ATTRIBUTE_ALIGNED_MAX */
>
> The non-working build is the one with ATTRIBUTE_ALIGNED_MAX commented
> out.
>
> I then went into the non-working build directory, edited config.h
> to have:
>
> #define ATTRIBUTE_ALIGNED_MAX 64
>
> I then did a make clean, make, and make install into a clean install
> directory, and the resulting installed xine-lib worked fine. So this
> seems to be the underlying problem causing the bad video.
>
> I do not know why the multipass compile changes cause the definition
> of ATTRIBUTE_ALIGNED_MAX in config.h to be messed up.

Here's the relevant part of configure:

--------------------------------------------------------------------------------
echo "$as_me:$LINENO: checking __attribute__ ((aligned ())) support" >&5
echo $ECHO_N "checking __attribute__ ((aligned ())) support... $ECHO_C" >&6
if test "${ac_cv_c_attribute_aligned+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
ac_cv_c_attribute_aligned=0
for ac_cv_c_attr_align_try in 2 4 8 16 32 64; do
cat >conftest.$ac_ext <<_ACEOF
#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */

int
main ()
{
static char c __attribute__ ((aligned($ac_cv_c_attr_align_try))) = 0
; return c;
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -s conftest.$ac_objext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
ac_cv_c_attribute_aligned=$ac_cv_c_attr_align_try
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

fi
rm -f conftest.$ac_objext conftest.$ac_ext
done
fi
echo "$as_me:$LINENO: result: $ac_cv_c_attribute_aligned" >&5
echo "${ECHO_T}$ac_cv_c_attribute_aligned" >&6
if test x"$ac_cv_c_attribute_aligned" != x"0"; then

cat >>confdefs.h <<_ACEOF
#define ATTRIBUTE_ALIGNED_MAX $ac_cv_c_attribute_aligned
_ACEOF

fi
--------------------------------------------------------------------------------

And here's the matching segment of config.log from the broken build:

--------------------------------------------------------------------------------
configure:23145: checking __attribute__ ((aligned ())) support
configure:23170: gcc -c -Wchar-subscripts -Wmissing-declarations
-Wmissing-prototypes -Wnested-externs -Wcast-align -Wpointer-arith -Wall
-D_REENTRANT -D_FILE_OFFSET_BITS=64 -DXINE_COMPILE $(MULTIPASS_CFLAGS) -O3
-pipe -fomit-frame-pointer -fexpensive-optimizations -fschedule-insns2
-fno-strict-aliasing -ffast-math -funroll-loops -funroll-all-loops
-finline-functions -Wa,-m7400 -I/usr/include/kde/artsc conftest.c >&5
gcc: $(MULTIPASS_CFLAGS): No such file or directory
configure:23173: $? = 1
configure: failed program was:
| #line 23152 "configure"
| /* confdefs.h. */
|
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define XINE_MAJOR 1
| #define XINE_MINOR 0
| #define XINE_SUB 0
| #define PACKAGE "xine-lib"
| #define VERSION "1-cvs"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
...
| #define HAVE_UCONTEXT_H 1
| #define HAVE_SYS_MMAN_H 1
| #define FPM_PPC
| #define ARCH_PPC
| #define ENABLE_ALTIVEC
| /* end confdefs.h. */
|
| int
| main ()
| {
| static char c __attribute__ ((aligned(2))) = 0
| ; return c;
| ;
| return 0;
| }
--------------------------------------------------------------------------------

This is repeated "for ac_cv_c_attr_align_try in 2 4 8 16 32 64", all
failing with the error:

configure:23170: gcc -c -Wchar-subscripts -Wmissing-declarations
-Wmissing-prototypes -Wnested-externs -Wcast-align -Wpointer-arith -Wall
-D_REENTRANT -D_FILE_OFFSET_BITS=64 -DXINE_COMPILE $(MULTIPASS_CFLAGS) -O3
-pipe -fomit-frame-pointer -fexpensive-optimizations -fschedule-insns2
-fno-strict-aliasing -ffast-math -funroll-loops -funroll-all-loops
-finline-functions -Wa,-m7400 -I/usr/include/kde/artsc conftest.c >&5
gcc: $(MULTIPASS_CFLAGS): No such file or directory
configure:23173: $? = 1

So the multipass compilation stuff is indeed the culprit. I still
don't know the solution but hopefully some autoconf expert can fix
it now.

-Bill


-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01


<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise