Bug 20815 - liboil 0.3.16 fails to build under Mac OS X 10.6 PowerPC
Summary: liboil 0.3.16 fails to build under Mac OS X 10.6 PowerPC
Status: RESOLVED FIXED
Alias: None
Product: liboil
Classification: Unclassified
Component: unknown (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: David Schleef
QA Contact: David Schleef
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-03-23 10:08 UTC by Matthias Scheler
Modified: 2010-02-04 12:11 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Matthias Scheler 2009-03-23 10:08:24 UTC
The PowerPC assembler support breaks the build under Mac OS X Leopard:

Making all in powerpc
Making all in motovec
/bin/sh ../libtool --tag=CC --mode=link gcc  -pipe -O2   -L/usr/pkg/lib -o liboiltmp1.la -rpath /usr/pkg/lib -no-undefined  -export-symbols-regex 'oil_' liboiltmp.lo liboilfunctions.la    
rm -fr  .libs/liboiltmp1.exp .libs/liboiltmp1.lax
generating symbol list for `liboiltmp1.la'
nm  .libs/liboiltmp.o  ./.libs/liboilfunctions.a | sed -n -e 's/^.*[ 	]\([BCDEGRST][BCDEGRST]*\)[ 	][ 	]*_\([_A-Za-z][_A-Za-z0-9]*\)$/\1 _\2 \2/p' | /usr/bin/sed 's/.* //' | sort | uniq > .libs/liboiltmp1.exp
nm: no name list
nm: no name list
nm: no name list
nm: no name list
nm: no name list
nm: no name list
nm: no name list
nm: no name list
nm: no name list
/usr/bin/egrep -e "oil_" ".libs/liboiltmp1.exp" > ".libs/liboiltmp1.expT"
mv -f ".libs/liboiltmp1.expT" ".libs/liboiltmp1.exp"
rm -fr .libs/liboiltmp1.lax
mkdir .libs/liboiltmp1.lax
rm -fr .libs/liboiltmp1.lax/liboilfunctions.a
mkdir .libs/liboiltmp1.lax/liboilfunctions.a
Extracting /Users/tron/obj/devel/liboil/work.excalibur/liboil-0.3.16/liboil/./.libs/liboilfunctions.a
(cd .libs/liboiltmp1.lax/liboilfunctions.a && ar x /Users/tron/obj/devel/liboil/work.excalibur/liboil-0.3.16/liboil/./.libs/liboilfunctions.a)
sed 's,^,_,' < .libs/liboiltmp1.exp > .libs/liboiltmp1-symbols.expsym
gcc -dynamiclib  -o .libs/liboiltmp1.0.0.0.dylib  .libs/liboiltmp.o  .libs/liboiltmp1.lax/liboilfunctions.a/lib_c_la-ag_clamp.o .libs/liboiltmp1.lax/liboilfunctions.a/lib_c_la-composite.o .libs/liboiltmp1.lax/liboilfunctions.a/lib_c_la-copy.o .libs/liboiltmp1.lax/liboilfunctions.a/lib_c_la-swab.o .libs/liboiltmp1.lax/liboilfunctions.a/lib_c_la-wavelet.o .libs/liboiltmp1.lax/liboilfunctions.a/libcolorspace_la-composite.o .libs/liboiltmp1.lax/liboilfunctions.a/libconv_la-conv_bitstuff.o .libs/liboiltmp1.lax/liboilfunctions.a/libconv_la-conv_c.o .libs/liboiltmp1.lax/liboilfunctions.a/libconv_la-conv_misc.o .libs/liboiltmp1.lax/liboilfunctions.a/libcopy_la-copy.o .libs/liboiltmp1.lax/liboilfunctions.a/libcopy_la-copy8x8.o .libs/liboiltmp1.lax/liboilfunctions.a/libcopy_la-splat_ref.o .libs/liboiltmp1.lax/liboilfunctions.a/libcopy_la-trans8x8_c.o .libs/liboiltmp1.lax/liboilfunctions.a/libdct_la-dct12_f32.o .libs/liboiltmp1.lax/liboilfunctions.a/libdct_la-dct36_f32.o .libs/liboiltmp1.lax/liboilfunctions.a/libdct_la-fdct8_f64.o .libs/liboiltmp1.lax/liboilfunctions.a/libdct_la-fdct8x8_f64.o .libs/liboiltmp1.lax/liboilfunctions.a/libdct_la-fdct8x8s_s16.o .libs/liboiltmp1.lax/liboilfunctions.a/libdct_la-fdct8x8theora.o .libs/liboiltmp1.lax/liboilfunctions.a/libdct_la-idct8_f64.o .libs/liboiltmp1.lax/liboilfunctions.a/libdct_la-idct8x8_c.o .libs/liboiltmp1.lax/liboilfunctions.a/libdct_la-idct8x8theora_ref.o .libs/liboiltmp1.lax/liboilfunctions.a/libdct_la-imdct32_f32.o .libs/liboiltmp1.lax/liboilfunctions.a/libdeprecated_la-abs.o .libs/liboiltmp1.lax/liboilfunctions.a/libdeprecated_la-average2_u8.o .libs/liboiltmp1.lax/liboilfunctions.a/libdeprecated_la-clip_ref.o .libs/liboiltmp1.lax/liboilfunctions.a/libdeprecated_la-conv.o .libs/liboiltmp1.lax/liboilfunctions.a/libdeprecated_la-permute.o .libs/liboiltmp1.lax/liboilfunctions.a/libdeprecated_la-scalaradd.o .libs/liboiltmp1.lax/liboilfunctions.a/libdeprecated_la-scalarmult.o .libs/liboiltmp1.lax/liboilfunctions.a/libdeprecated_la-tablelookup.o .libs/liboiltmp1.lax/liboilfunctions.a/libdeprecated_la-vectoradd_f64.o .libs/liboiltmp1.lax/liboilfunctions.a/libdeprecated_la-vectoradd_s.o .libs/liboiltmp1.lax/liboilfunctions.a/libjpeg_la-convert8x8_c.o .libs/liboiltmp1.lax/liboilfunctions.a/libjpeg_la-jpeg_rgb_decoder.o .libs/liboiltmp1.lax/liboilfunctions.a/libjpeg_la-quantize8x8_c.o .libs/liboiltmp1.lax/liboilfunctions.a/libjpeg_la-yuv2rgb_c.o .libs/liboiltmp1.lax/liboilfunctions.a/libjpeg_la-zigzag8x8_c.o .libs/liboiltmp1.lax/liboilfunctions.a/libmath_la-ag_math.o .libs/liboiltmp1.lax/liboilfunctions.a/libmath_la-math.o .libs/liboiltmp1.lax/liboilfunctions.a/libmd5_la-md5.o .libs/liboiltmp1.lax/liboilfunctions.a/libmotovec_la-motovec.o .libs/liboiltmp1.lax/liboilfunctions.a/libmotovec_la-vec_memcpy.o .libs/liboiltmp1.lax/liboilfunctions.a/libmotovec_la-vec_memset.o .libs/liboiltmp1.lax/liboilfunctions.a/liboilfunctions_la-null.o .libs/liboiltmp1.lax/liboilfunctions.a/libpowerpc_la-abs.o .libs/liboiltmp1.lax/liboilfunctions.a/libpowerpc_la-clip.o .libs/liboiltmp1.lax/liboilfunctions.a/libpowerpc_la-conv.o .libs/liboiltmp1.lax/liboilfunctions.a/libpowerpc_la-copy.o .libs/liboiltmp1.lax/liboilfunctions.a/libpowerpc_la-md5.o .libs/liboiltmp1.lax/liboilfunctions.a/libpowerpc_la-mix.o .libs/liboiltmp1.lax/liboilfunctions.a/libpowerpc_la-multsum.o .libs/liboiltmp1.lax/liboilfunctions.a/libpowerpc_la-resample.o .libs/liboiltmp1.lax/liboilfunctions.a/libpowerpc_la-rgb2bgr.o .libs/liboiltmp1.lax/liboilfunctions.a/libpowerpc_la-rgb2rgba.o .libs/liboiltmp1.lax/liboilfunctions.a/libpowerpc_la-sad8x8.o .libs/liboiltmp1.lax/liboilfunctions.a/libpowerpc_la-splat.o .libs/liboiltmp1.lax/liboilfunctions.a/libpowerpc_la-zigzag8x8.o .libs/liboiltmp1.lax/liboilfunctions.a/libref_la-addc.o .libs/liboiltmp1.lax/liboilfunctions.a/libref_la-argb_paint.o .libs/liboiltmp1.lax/liboilfunctions.a/libref_la-ayuv2argb.o .libs/liboiltmp1.lax/liboilfunctions.a/libref_la-clamp.o .libs/liboiltmp1.lax/liboilfunctions.a/libref_la-composite.o .libs/liboiltmp1.lax/liboilfunctions.a/libref_la-convert.o .libs/liboiltmp1.lax/liboilfunctions.a/libref_la-copy.o .libs/liboiltmp1.lax/liboilfunctions.a/libref_la-copy8x8.o .libs/liboiltmp1.lax/liboilfunctions.a/libref_la-diff8x8.o .libs/liboiltmp1.lax/liboilfunctions.a/libref_la-diffsquaresum_f32.o .libs/liboiltmp1.lax/liboilfunctions.a/libref_la-diffsquaresum_f64.o .libs/liboiltmp1.lax/liboilfunctions.a/libref_la-error8x8.o .libs/liboiltmp1.lax/liboilfunctions.a/libref_la-mas.o .libs/liboiltmp1.lax/liboilfunctions.a/libref_la-math.o .libs/liboiltmp1.lax/liboilfunctions.a/libref_la-mix_u8.o .libs/liboiltmp1.lax/liboilfunctions.a/libref_la-mt19937ar.o .libs/liboiltmp1.lax/liboilfunctions.a/libref_la-mult8x8_s16.o .libs/liboiltmp1.lax/liboilfunctions.a/libref_la-multsum.o .libs/liboiltmp1.lax/liboilfunctions.a/libref_la-recon8x8.o .libs/liboiltmp1.lax/liboilfunctions.a/libref_la-resample.o .libs/liboiltmp1.lax/liboilfunctions.a/libref_la-rgb.o .libs/liboiltmp1.lax/liboilfunctions.a/libref_la-rowcolsad8x8.o .libs/liboiltmp1.lax/liboilfunctions.a/libref_la-sad8x8.o .libs/liboiltmp1.lax/liboilfunctions.a/libref_la-sad8x8_broken.o .libs/liboiltmp1.lax/liboilfunctions.a/libref_la-sad8x8avg.o .libs/liboiltmp1.lax/liboilfunctions.a/libref_la-sincos_f64.o .libs/liboiltmp1.lax/liboilfunctions.a/libref_la-splat.o .libs/liboiltmp1.lax/liboilfunctions.a/libref_la-squaresum_f32.o .libs/liboiltmp1.lax/liboilfunctions.a/libref_la-squaresum_f64.o .libs/liboiltmp1.lax/liboilfunctions.a/libref_la-sum.o .libs/liboiltmp1.lax/liboilfunctions.a/libref_la-sum_f64.o .libs/liboiltmp1.lax/liboilfunctions.a/libref_la-swab.o .libs/liboiltmp1.lax/liboilfunctions.a/libref_la-trans8x8.o .libs/liboiltmp1.lax/liboilfunctions.a/libref_la-wavelet.o .libs/liboiltmp1.lax/liboilfunctions.a/libref_la-yuv.o .libs/liboiltmp1.lax/liboilfunctions.a/libsimdpack_la-abs_misc.o .libs/liboiltmp1.lax/liboilfunctions.a/libsimdpack_la-average2_u8.o .libs/liboiltmp1.lax/liboilfunctions.a/libsimdpack_la-clip_fast.o .libs/liboiltmp1.lax/liboilfunctions.a/libsimdpack_la-diffsquaresum_f64.o .libs/liboiltmp1.lax/liboilfunctions.a/libsimdpack_la-mix_u8.o .libs/liboiltmp1.lax/liboilfunctions.a/libsimdpack_la-multsum.o .libs/liboiltmp1.lax/liboilfunctions.a/libsimdpack_la-scalaradd.o .libs/liboiltmp1.lax/liboilfunctions.a/libsimdpack_la-scalarmult.o .libs/liboiltmp1.lax/liboilfunctions.a/libsimdpack_la-sincos_f64.o .libs/liboiltmp1.lax/liboilfunctions.a/libsimdpack_la-squaresum_f64.o .libs/liboiltmp1.lax/liboilfunctions.a/libsimdpack_la-sum_f64.o .libs/liboiltmp1.lax/liboilfunctions.a/libutf8_la-utf8.o .libs/liboiltmp1.lax/liboilfunctions.a/libutf8_la-utf8_fast.o   -L/Users/tron/obj/devel/liboil/work.excalibur/.buildlink/lib  -install_name  /usr/pkg/lib/liboiltmp1.0.dylib -compatibility_version 1 -current_version 1.0 -Wl,-single_module -Wl,-exported_symbols_list,.libs/liboiltmp1-symbols.expsym
Undefined symbols:
  "__vec_memcpy", referenced from:
      _copy_u8_motovec in libmotovec_la-motovec.o
  "__vec_memset", referenced from:
      _splat_u8_ns_motovec in libmotovec_la-motovec.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
*** Error code 1

If I patch configure so that the test for GCC inline assembler support fails the package builds without problems.
Comment 1 David Schleef 2010-02-04 12:11:11 UTC
commit c81b93577ea5bc962217e64d21c4356524df8cf9
Author: David Schleef <ds@schleef.org>
Date:   Thu Feb 4 12:10:16 2010 -0800

    Disable motovec
    
    Fixes #20815



Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.