Port-powerpc archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: missing math functions on powerpc (macppc)?



On Thu, 17 Dec 2015, Greg Troxel wrote:

> Run ldd on libvpx.so.  It should have been linked with the math library
> itself.
> 
> on netbsd-6 i386, I get:
> 
> /usr/pkg/lib/libvpx.so:
> 	-lm.0 => /usr/lib/libm.so.0
> 	-lgcc_s.1 => /lib/libgcc_s.so.1
> 	-lc.12 => /usr/lib/libc.so.12
> 	-lrt.1 => /usr/lib/librt.so.1
> 	-lpthread.1 => /usr/lib/libpthread.so.1

Spot on.  On netbsd-7.99.24 macppc, I get:

/usr/pkg/lib/libvpx.so:
        -lgcc_s.1 => /usr/lib/libgcc_s.so.1
        -lpthread.1 => /usr/lib/libpthread.so.1
        -lc.12 => /usr/lib/libc.so.12

> Surely libm on macppc must have those symbols, but you could check that
> too.

Yes, it does.  I looked at that right away.

While the individual object components of libvpx are linked with libm,
the final link step creating the shared library (and the static library)
do not include libm in their link command:

libtool: link: rm -fr  .libs/libvpx.a .libs/libvpx.la .libs/libvpx.lai .libs/libvpx.lai.blsav .libs/libvpx.so .libs/libvpx.so.1 .libs/libvpx.so.1.0.5
libtool: link: gcc -shared  -fPIC -DPIC  vpx/src/.libs/vpx_decoder.c.o vpx/src/.libs/vpx_encoder.c.o vpx/src/.libs/vpx_codec.c.o vpx/src/.libs/vpx_image.c.o vpx/src/.libs/vpx_psnr.c.o vpx_mem/.libs/vpx_mem.c.o vpx_scale/generic/.libs/vpx_scale.c.o vpx_scale/generic/.libs/yv12config.c.o vpx_scale/generic/.libs/yv12extend.c.o vpx_scale/generic/.libs/gen_scalers.c.o vpx_scale/.libs/vpx_scale_rtcd.c.o vpx_dsp/.libs/prob.c.o vpx_dsp/.libs/bitwriter.c.o vpx_dsp/.libs/bitwriter_buffer.c.o vpx_dsp/.libs/bitreader.c.o vpx_dsp/.libs/bitreader_buffer.c.o vpx_dsp/.libs/intrapred.c.o vpx_dsp/.libs/vpx_convolve.c.o vpx_dsp/.libs/loopfilter.c.o vpx_dsp/.libs/fwd_txfm.c.o vpx_dsp/.libs/inv_txfm.c.o vpx_dsp/.libs/quantize.c.o vpx_dsp/.libs/sad.c.o vpx_dsp/.libs/subtract.c.o vpx_dsp/.libs/variance.c.o vpx_dsp/.libs/vpx_dsp_rtcd.c.o vpx_util/.libs/vpx_thread.c.o vp8/common/.libs/alloccommon.c.o vp8/common/.libs/blockd.c.o vp8/common/.libs/copy_c.c.o vp8/common/.libs/debugmodes.c.o vp8/common/.libs/dequantize.c.o vp8/common/.libs/entropy.c.o vp8/common/.libs/entropymode.c.o vp8/common/.libs/entropymv.c.o vp8/common/.libs/extend.c.o vp8/common/.libs/filter.c.o vp8/common/.libs/findnearmv.c.o vp8/common/generic/.libs/systemdependent.c.o vp8/common/.libs/idct_blk.c.o vp8/common/.libs/idctllm.c.o vp8/common/.libs/rtcd.c.o vp8/common/.libs/vp8_loopfilter.c.o vp8/common/.libs/loopfilter_filters.c.o vp8/common/.libs/mbpitch.c.o vp8/common/.libs/modecont.c.o vp8/common/.libs/quant_common.c.o vp8/common/.libs/reconinter.c.o vp8/common/.libs/reconintra.c.o vp8/common/.libs/reconintra4x4.c.o vp8/common/.libs/setupintrarecon.c.o vp8/common/.libs/swapyv12buffer.c.o vp8/common/.libs/treecoder.c.o vp8/.libs/vp8_cx_iface.c.o vp8/encoder/.libs/bitstream.c.o vp8/encoder/.libs/boolhuff.c.o vp8/encoder/.libs/dct.c.o vp8/encoder/.libs/encodeframe.c.o vp8/encoder/.libs/encodeintra.c.o vp8/encoder/.libs/encodemb.c.o vp8/encoder/.libs/encodemv.c.o vp8/encoder/.libs/ethreading.c.o vp8/encoder/.libs/firstpass.c.o vp8/encoder/.libs/denoising.c.o vp8/encoder/.libs/lookahead.c.o vp8/encoder/.libs/mcomp.c.o vp8/encoder/.libs/modecosts.c.o vp8/encoder/.libs/onyx_if.c.o vp8/encoder/.libs/pickinter.c.o vp8/encoder/.libs/picklpf.c.o vp8/encoder/.libs/vp8_quantize.c.o vp8/encoder/.libs/ratectrl.c.o vp8/encoder/.libs/rdopt.c.o vp8/encoder/.libs/segmentation.c.o vp8/encoder/.libs/tokenize.c.o vp8/encoder/.libs/treewriter.c.o vp8/encoder/.libs/temporal_filter.c.o vp8/.libs/vp8_dx_iface.c.o vp8/decoder/.libs/dboolhuff.c.o vp8/decoder/.libs/decodemv.c.o vp8/decoder/.libs/decodeframe.c.o vp8/decoder/.libs/detokenize.c.o vp8/decoder/.libs/onyxd_if.c.o vp8/decoder/.libs/threading.c.o vp9/common/.libs/vp9_alloccommon.c.o vp9/common/.libs/vp9_blockd.c.o vp9/common/.libs/vp9_debugmodes.c.o vp9/common/.libs/vp9_entropy.c.o vp9/common/.libs/vp9_entropymode.c.o vp9/common/.libs/vp9_entropymv.c.o vp9/common/.libs/vp9_frame_buffers.c.o vp9/common/.libs/vp9_idct.c.o vp9/common/.libs/vp9_filter.c.o vp9/common/.libs/vp9_pred_common.c.o vp9/common/.libs/vp9_rtcd.c.o vp9/common/.libs/vp9_scale.c.o vp9/common/.libs/vp9_seg_common.c.o vp9/common/.libs/vp9_tile_common.c.o vp9/common/.libs/vp9_loopfilter.c.o vp9/common/.libs/vp9_thread_common.c.o vp9/common/.libs/vp9_mvref_common.c.o vp9/common/.libs/vp9_quant_common.c.o vp9/common/.libs/vp9_reconinter.c.o vp9/common/.libs/vp9_reconintra.c.o vp9/common/.libs/vp9_common_data.c.o vp9/common/.libs/vp9_scan.c.o vp9/.libs/vp9_cx_iface.c.o vp9/encoder/.libs/vp9_avg.c.o vp9/encoder/.libs/vp9_bitstream.c.o vp9/encoder/.libs/vp9_context_tree.c.o vp9/encoder/.libs/vp9_cost.c.o vp9/encoder/.libs/vp9_dct.c.o vp9/encoder/.libs/vp9_encodeframe.c.o vp9/encoder/.libs/vp9_encodemb.c.o vp9/encoder/.libs/vp9_encodemv.c.o vp9/encoder/.libs/vp9_ethread.c.o vp9/encoder/.libs/vp9_extend.c.o vp9/encoder/.libs/vp9_firstpass.c.o vp9/encoder/.libs/vp9_lookahead.c.o vp9/encoder/.libs/vp9_mcomp.c.o vp9/encoder/.libs/vp9_encoder.c.o vp9/encoder/.libs/vp9_picklpf.c.o vp9/encoder/.libs/vp9_quantize.c.o vp9/encoder/.libs/vp9_ratectrl.c.o vp9/encoder/.libs/vp9_rd.c.o vp9/encoder/.libs/vp9_rdopt.c.o vp9/encoder/.libs/vp9_pickmode.c.o vp9/encoder/.libs/vp9_segmentation.c.o vp9/encoder/.libs/vp9_speed_features.c.o vp9/encoder/.libs/vp9_subexp.c.o vp9/encoder/.libs/vp9_svc_layercontext.c.o vp9/encoder/.libs/vp9_resize.c.o vp9/encoder/.libs/vp9_tokenize.c.o vp9/encoder/.libs/vp9_treewriter.c.o vp9/encoder/.libs/vp9_aq_variance.c.o vp9/encoder/.libs/vp9_aq_cyclicrefresh.c.o vp9/encoder/.libs/vp9_aq_complexity.c.o vp9/encoder/.libs/vp9_skin_detection.c.o vp9/encoder/.libs/vp9_temporal_filter.c.o vp9/encoder/.libs/vp9_mbgraph.c.o vp9/.libs/vp9_dx_iface.c.o vp9/decoder/.libs/vp9_decodemv.c.o vp9/decoder/.libs/vp9_decodeframe.c.o vp9/decoder/.libs/vp9_detokenize.c.o vp9/decoder/.libs/vp9_dthread.c.o vp9/decoder/.libs/vp9_decoder.c.o vp9/decoder/.libs/vp9_dsubexp.c.o .libs/vpx_config.c.o   -L/d0/build/pkgsrc/multimedia/libvpx/work/.buildlink/lib  -Wl,-R/usr/pkg/lib -Wl,-Bsymbolic -pthread   -pthread -Wl,-soname -Wl,libvpx.so.1 -o .libs/libvpx.so.1.0.5
libtool: link: (cd ".libs" && rm -f "libvpx.so.1" && ln -s "libvpx.so.1.0.5" "libvpx.so.1")
libtool: link: (cd ".libs" && rm -f "libvpx.so" && ln -s "libvpx.so.1.0.5" "libvpx.so")


-- 
|/"\ John D. Baker, KN5UKS               NetBSD     Darwin/MacOS X
|\ / jdbaker[snail]mylinuxisp[flyspeck]com    OpenBSD            FreeBSD
| X  No HTML/proprietary data in email.   BSD just sits there and works!
|/ \ GPGkeyID:  D703 4A7E 479F 63F8 D3F4  BD99 9572 8F23 E4AD 1645


Home | Main Index | Thread Index | Old Index