chaseadam / openwrt-zipit-packages

OpenWrt package feed for Zipit Z2
0 stars 0 forks source link

mplayer fails to build with ld error on libasound #1

Open chaseadam opened 3 years ago

chaseadam commented 3 years ago
/root/openwrt-zipit/staging_dir/toolchain-arm_xscale_gcc-5.3.0_musl-1.1.14_eabi/lib/gcc/arm-openwrt-linux-muslgnueabi/5.3.0/../../../../arm-openwrt-linux-muslgnueabi/bin/ld: copy reloc against protected `__stack_chk_guard' is dangerous
libao2/ao_alsa.o: In function `init':
ao_alsa.c:(.text+0xc20): undefined reference to `_snd_set_nonblock'
libao2/ao_alsa.o: In function `control':
ao_alsa.c:(.text+0x134c): undefined reference to `_snd_selem_update_volume'
ao_alsa.c:(.text+0x13b4): undefined reference to `_snd_selem_update_volume'
collect2: error: ld returned 1 exit status
Makefile:857: recipe for target 'mplayer' failed
chaseadam commented 3 years ago

these are defined and should be available with -lasound?

./build_dir/target-arm_xscale_musl-1.1.14_eabi/alsa-lib-1.1.0/src/global.h:int _snd_set_nonblock(int fd, int nonblock);

./build_dir/target-arm_xscale_musl-1.1.14_eabi/alsa-lib-1.1.0/src/mixer_macros.h:extern int _snd_selem_update_volume(snd_selem_vol_item_t *str, int channel,
chaseadam commented 3 years ago

I am able to reproduce with the following. The LDFLAGS indicate the offending references should be available in via -L/root/openwrt-zipit/staging_dir/target-arm_xscale_musl-1.1.14_eabi/usr/lib

export PATH=$PATH:/root/openwrt-zipit/staging_dir/toolchain-arm_xscale_gcc-5.3.0_musl-1.1.14_eabi/bin

cd /root/openwrt-zipit/build_dir/target-arm_xscale_musl-1.1.14_eabi/mplayer-r32726

STAGING_DIR="/root/openwrt-zipit/staging_dir/target-arm_xscale_musl-1.1.14_eabi" CFLAGS="-Os -pipe -march=armv5te -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -mfloat-abi=soft -iremap /root/openwrt-zipit/build_dir/target-arm_xscale_musl-1.1.14_eabi/mplayer-r32726:mplayer-r32726 -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro -I/root/openwrt-zipit/staging_dir/target-arm_xscale_musl-1.1.14_eabi/usr/lib/libiconv-full/include -I/root/openwrt-zipit/staging_dir/target-arm_xscale_musl-1.1.14_eabi/usr/lib/libintl-full/include  -I/root/openwrt-zipit/staging_dir/target-arm_xscale_musl-1.1.14_eabi/usr/include -I/root/openwrt-zipit/staging_dir/target-arm_xscale_musl-1.1.14_eabi/include -I/root/openwrt-zipit/staging_dir/toolchain-arm_xscale_gcc-5.3.0_musl-1.1.14_eabi/usr/include -I/root/openwrt-zipit/staging_dir/toolchain-arm_xscale_gcc-5.3.0_musl-1.1.14_eabi/include/fortify -I/root/openwrt-zipit/staging_dir/toolchain-arm_xscale_gcc-5.3.0_musl-1.1.14_eabi/include -I/root/openwrt-zipit/staging_dir/target-arm_xscale_musl-1.1.14_eabi/usr/lib/libiconv-full/include -I/root/openwrt-zipit/staging_dir/target-arm_xscale_musl-1.1.14_eabi/usr/lib/libintl-full/include " CXXFLAGS="-Os -pipe -march=armv5te -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -mfloat-abi=soft -iremap /root/openwrt-zipit/build_dir/target-arm_xscale_musl-1.1.14_eabi/mplayer-r32726:mplayer-r32726 -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro -I/root/openwrt-zipit/staging_dir/target-arm_xscale_musl-1.1.14_eabi/usr/lib/libiconv-full/include -I/root/openwrt-zipit/staging_dir/target-arm_xscale_musl-1.1.14_eabi/usr/lib/libintl-full/include  -I/root/openwrt-zipit/staging_dir/target-arm_xscale_musl-1.1.14_eabi/usr/include -I/root/openwrt-zipit/staging_dir/target-arm_xscale_musl-1.1.14_eabi/include -I/root/openwrt-zipit/staging_dir/toolchain-arm_xscale_gcc-5.3.0_musl-1.1.14_eabi/usr/include -I/root/openwrt-zipit/staging_dir/toolchain-arm_xscale_gcc-5.3.0_musl-1.1.14_eabi/include/fortify -I/root/openwrt-zipit/staging_dir/toolchain-arm_xscale_gcc-5.3.0_musl-1.1.14_eabi/include -I/root/openwrt-zipit/staging_dir/target-arm_xscale_musl-1.1.14_eabi/usr/lib/libiconv-full/include -I/root/openwrt-zipit/staging_dir/target-arm_xscale_musl-1.1.14_eabi/usr/lib/libintl-full/include " LDFLAGS="-L/root/openwrt-zipit/staging_dir/target-arm_xscale_musl-1.1.14_eabi/usr/lib -L/root/openwrt-zipit/staging_dir/target-arm_xscale_musl-1.1.14_eabi/lib -L/root/openwrt-zipit/staging_dir/toolchain-arm_xscale_gcc-5.3.0_musl-1.1.14_eabi/usr/lib -L/root/openwrt-zipit/staging_dir/toolchain-arm_xscale_gcc-5.3.0_musl-1.1.14_eabi/lib -znow -zrelro -L/root/openwrt-zipit/staging_dir/target-arm_xscale_musl-1.1.14_eabi/usr/lib/libiconv-full/lib -Wl,-rpath-link=/root/openwrt-zipit/staging_dir/target-arm_xscale_musl-1.1.14_eabi/usr/lib/libiconv-full/lib -L/root/openwrt-zipit/staging_dir/target-arm_xscale_musl-1.1.14_eabi/usr/lib/libintl-full/lib -Wl,-rpath-link=/root/openwrt-zipit/staging_dir/target-arm_xscale_musl-1.1.14_eabi/usr/lib/libintl-full/lib " make -C /root/openwrt-zipit/build_dir/target-arm_xscale_musl-1.1.14_eabi/mplayer-r32726/. ;
chaseadam commented 3 years ago

notable that the mplayer in https://mozzwald.com/zipit/index.php?dir=openwrt%2Fbleeding_edge%2Fpackages%2Fzipit_packages%2F is https://mozzwald.com/zipit/openwrt/bleeding_edge/packages/zipit_packages/mplayer_1.0rc4-1_pxa.ipk which is a different version than what we are attempting to build mplayer-r32726

chaseadam commented 3 years ago

modified Makefile to build 1.0rc4 and had same linker issue.

chaseadam commented 3 years ago

I believe the error is the undefined references and not the copy reloc against protected (which appears to be safe to ignore and is related to the binutils version in the toolchain)

chaseadam commented 3 years ago

actual command run by mplayer to reproduce failure

STAGING_DIR="/root/openwrt-zipit/staging_dir/target-arm_xscale_musl-1.1.14_eabi" \
CFLAGS="-Os -pipe -march=armv5te -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -mfloat-abi=soft -iremap /root/openwrt-zipit/build_dir/target-arm_xscale_musl-1.1.14_eabi/mplayer-r32726:mplayer-r32726 -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro -I/root/openwrt-zipit/staging_dir/target-arm_xscale_musl-1.1.14_eabi/usr/lib/libiconv-full/include -I/root/openwrt-zipit/staging_dir/target-arm_xscale_musl-1.1.14_eabi/usr/lib/libintl-full/include  -I/root/openwrt-zipit/staging_dir/target-arm_xscale_musl-1.1.14_eabi/usr/include -I/root/openwrt-zipit/staging_dir/target-arm_xscale_musl-1.1.14_eabi/include -I/root/openwrt-zipit/staging_dir/toolchain-arm_xscale_gcc-5.3.0_musl-1.1.14_eabi/usr/include -I/root/openwrt-zipit/staging_dir/toolchain-arm_xscale_gcc-5.3.0_musl-1.1.14_eabi/include/fortify -I/root/openwrt-zipit/staging_dir/toolchain-arm_xscale_gcc-5.3.0_musl-1.1.14_eabi/include -I/root/openwrt-zipit/staging_dir/target-arm_xscale_musl-1.1.14_eabi/usr/lib/libiconv-full/include -I/root/openwrt-zipit/staging_dir/target-arm_xscale_musl-1.1.14_eabi/usr/lib/libintl-full/include " \
CXXFLAGS="-Os -pipe -march=armv5te -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -mfloat-abi=soft -iremap /root/openwrt-zipit/build_dir/target-arm_xscale_musl-1.1.14_eabi/mplayer-r32726:mplayer-r32726 -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro -I/root/openwrt-zipit/staging_dir/target-arm_xscale_musl-1.1.14_eabi/usr/lib/libiconv-full/include -I/root/openwrt-zipit/staging_dir/target-arm_xscale_musl-1.1.14_eabi/usr/lib/libintl-full/include  -I/root/openwrt-zipit/staging_dir/target-arm_xscale_musl-1.1.14_eabi/usr/include -I/root/openwrt-zipit/staging_dir/target-arm_xscale_musl-1.1.14_eabi/include -I/root/openwrt-zipit/staging_dir/toolchain-arm_xscale_gcc-5.3.0_musl-1.1.14_eabi/usr/include -I/root/openwrt-zipit/staging_dir/toolchain-arm_xscale_gcc-5.3.0_musl-1.1.14_eabi/include/fortify -I/root/openwrt-zipit/staging_dir/toolchain-arm_xscale_gcc-5.3.0_musl-1.1.14_eabi/include -I/root/openwrt-zipit/staging_dir/target-arm_xscale_musl-1.1.14_eabi/usr/lib/libiconv-full/include -I/root/openwrt-zipit/staging_dir/target-arm_xscale_musl-1.1.14_eabi/usr/lib/libintl-full/include " \
LDFLAGS="-L/root/openwrt-zipit/staging_dir/target-arm_xscale_musl-1.1.14_eabi/usr/lib -L/root/openwrt-zipit/staging_dir/target-arm_xscale_musl-1.1.14_eabi/lib -L/root/openwrt-zipit/staging_dir/toolchain-arm_xscale_gcc-5.3.0_musl-1.1.14_eabi/usr/lib -L/root/openwrt-zipit/staging_dir/toolchain-arm_xscale_gcc-5.3.0_musl-1.1.14_eabi/lib -znow -zrelro -L/root/openwrt-zipit/staging_dir/target-arm_xscale_musl-1.1.14_eabi/usr/lib/libiconv-full/lib -Wl,-rpath-link=/root/openwrt-zipit/staging_dir/target-arm_xscale_musl-1.1.14_eabi/usr/lib/libiconv-full/lib -L/root/openwrt-zipit/staging_dir/target-arm_xscale_musl-1.1.14_eabi/usr/lib/libintl-full/lib -Wl,-rpath-link=/root/openwrt-zipit/staging_dir/target-arm_xscale_musl-1.1.14_eabi/usr/lib/libintl-full/lib " \
arm-openwrt-linux-muslgnueabi-gcc -o mplayer \
command.o \
m_property.o \
mixer.o \
mp_fifo.o \
mplayer.o \
parser-mpcmd.o \
pnm_loader.o \
input/input.o \
libao2/ao_mpegpes.o \
libao2/ao_null.o \
libao2/ao_pcm.o \
libao2/audio_out.o \
libvo/aspect.o \
libvo/geometry.o \
libvo/video_out.o \
libvo/vo_mpegpes.o \
libvo/vo_null.o \
sub/spuenc.o \
libao2/ao_alsa.o \
libvo/vo_fbdev.o \
libvo/vo_fbdev2.o \
libvo/vo_pxa.o \
libvo/vo_png.o \
libvo/vo_ggi.o \
libvo/vo_jpeg.o \
libvo/vo_md5sum.o \
udp_sync.o \
libao2/ao_oss.o \
libvo/vo_pnm.o \
libvo/vo_tga.o \
libvo/vo_v4l2.o \
libao2/ao_v4l2.o \
libvo/vo_yuv4mpeg.o \
asxparser.o \
bstr.o \
codec-cfg.o \
cpudetect.o \
edl.o \
fmt-conversion.o \
m_config.o \
m_option.o \
m_struct.o \
mp_msg.o \
mpcommon.o \
parser-cfg.o \
path.o \
playtree.o \
playtreeparser.o \
subopt-helper.o \
libaf/af.o \
libaf/af_center.o \
libaf/af_channels.o \
libaf/af_comp.o \
libaf/af_delay.o \
libaf/af_dummy.o \
libaf/af_equalizer.o \
libaf/af_extrastereo.o \
libaf/af_format.o \
libaf/af_gate.o \
libaf/af_hrtf.o \
libaf/af_karaoke.o \
libaf/af_pan.o \
libaf/af_resample.o \
libaf/af_scaletempo.o \
libaf/af_sinesuppress.o \
libaf/af_stats.o \
libaf/af_sub.o \
libaf/af_surround.o \
libaf/af_sweep.o \
libaf/af_tools.o \
libaf/af_volnorm.o \
libaf/af_volume.o \
libaf/filter.o \
libaf/format.o \
libaf/reorder_ch.o \
libaf/window.o \
libmpcodecs/ad.o \
libmpcodecs/ad_alaw.o \
libmpcodecs/ad_dk3adpcm.o \
libmpcodecs/ad_dvdpcm.o \
libmpcodecs/ad_hwac3.o \
libmpcodecs/ad_hwmpa.o \
libmpcodecs/ad_imaadpcm.o \
libmpcodecs/ad_msadpcm.o \
libmpcodecs/ad_pcm.o \
libmpcodecs/dec_audio.o \
libmpcodecs/dec_teletext.o \
libmpcodecs/dec_video.o \
libmpcodecs/img_format.o \
libmpcodecs/mp_image.o \
libmpcodecs/pullup.o \
libmpcodecs/vd.o \
libmpcodecs/vd_hmblck.o \
libmpcodecs/vd_lzo.o \
libmpcodecs/vd_mpegpes.o \
libmpcodecs/vd_mtga.o \
libmpcodecs/vd_null.o \
libmpcodecs/vd_raw.o \
libmpcodecs/vd_sgi.o \
libmpcodecs/vf.o \
libmpcodecs/vf_1bpp.o \
libmpcodecs/vf_2xsai.o \
libmpcodecs/vf_blackframe.o \
libmpcodecs/vf_boxblur.o \
libmpcodecs/vf_crop.o \
libmpcodecs/vf_cropdetect.o \
libmpcodecs/vf_decimate.o \
libmpcodecs/vf_delogo.o \
libmpcodecs/vf_denoise3d.o \
libmpcodecs/vf_detc.o \
libmpcodecs/vf_dint.o \
libmpcodecs/vf_divtc.o \
libmpcodecs/vf_down3dright.o \
libmpcodecs/vf_dsize.o \
libmpcodecs/vf_dvbscale.o \
libmpcodecs/vf_eq.o \
libmpcodecs/vf_eq2.o \
libmpcodecs/vf_expand.o \
libmpcodecs/vf_field.o \
libmpcodecs/vf_fil.o \
libmpcodecs/vf_filmdint.o \
libmpcodecs/vf_fixpts.o \
libmpcodecs/vf_flip.o \
libmpcodecs/vf_format.o \
libmpcodecs/vf_framestep.o \
libmpcodecs/vf_gradfun.o \
libmpcodecs/vf_halfpack.o \
libmpcodecs/vf_harddup.o \
libmpcodecs/vf_hqdn3d.o \
libmpcodecs/vf_hue.o \
libmpcodecs/vf_il.o \
libmpcodecs/vf_ilpack.o \
libmpcodecs/vf_ivtc.o \
libmpcodecs/vf_kerndeint.o \
libmpcodecs/vf_mirror.o \
libmpcodecs/vf_noformat.o \
libmpcodecs/vf_noise.o \
libmpcodecs/vf_ow.o \
libmpcodecs/vf_palette.o \
libmpcodecs/vf_perspective.o \
libmpcodecs/vf_phase.o \
libmpcodecs/vf_pp7.o \
libmpcodecs/vf_pullup.o \
libmpcodecs/vf_rectangle.o \
libmpcodecs/vf_remove_logo.o \
libmpcodecs/vf_rgbtest.o \
libmpcodecs/vf_rotate.o \
libmpcodecs/vf_sab.o \
libmpcodecs/vf_scale.o \
libmpcodecs/vf_smartblur.o \
libmpcodecs/vf_softpulldown.o \
libmpcodecs/vf_stereo3d.o \
libmpcodecs/vf_softskip.o \
libmpcodecs/vf_swapuv.o \
libmpcodecs/vf_telecine.o \
libmpcodecs/vf_test.o \
libmpcodecs/vf_tfields.o \
libmpcodecs/vf_tile.o \
libmpcodecs/vf_tinterlace.o \
libmpcodecs/vf_unsharp.o \
libmpcodecs/vf_vo.o \
libmpcodecs/vf_yadif.o \
libmpcodecs/vf_yuvcsp.o \
libmpcodecs/vf_yvu9.o \
libmpdemux/aac_hdr.o \
libmpdemux/asfheader.o \
libmpdemux/aviheader.o \
libmpdemux/aviprint.o \
libmpdemux/demuxer.o \
libmpdemux/demux_aac.o \
libmpdemux/demux_asf.o \
libmpdemux/demux_audio.o \
libmpdemux/demux_avi.o \
libmpdemux/demux_demuxers.o \
libmpdemux/demux_film.o \
libmpdemux/demux_fli.o \
libmpdemux/demux_lmlm4.o \
libmpdemux/demux_mf.o \
libmpdemux/demux_mkv.o \
libmpdemux/demux_mov.o \
libmpdemux/demux_mpg.o \
libmpdemux/demux_nsv.o \
libmpdemux/demux_pva.o \
libmpdemux/demux_rawaudio.o \
libmpdemux/demux_rawvideo.o \
libmpdemux/demux_realaud.o \
libmpdemux/demux_real.o \
libmpdemux/demux_roq.o \
libmpdemux/demux_smjpeg.o \
libmpdemux/demux_ts.o \
libmpdemux/demux_ty.o \
libmpdemux/demux_ty_osd.o \
libmpdemux/demux_viv.o \
libmpdemux/demux_vqf.o \
libmpdemux/demux_y4m.o \
libmpdemux/ebml.o \
libmpdemux/extension.o \
libmpdemux/mf.o \
libmpdemux/mp3_hdr.o \
libmpdemux/mp_taglists.o \
libmpdemux/mpeg_hdr.o \
libmpdemux/mpeg_packetizer.o \
libmpdemux/parse_es.o \
libmpdemux/parse_mp4.o \
libmpdemux/video.o \
libmpdemux/yuv4mpeg.o \
libmpdemux/yuv4mpeg_ratio.o \
osdep/getch2.o \
osdep/timer-linux.o \
stream/open.o \
stream/stream.o \
stream/stream_bd.o \
stream/stream_cue.o \
stream/stream_file.o \
stream/stream_mf.o \
stream/stream_null.o \
stream/url.o \
sub/eosd.o \
sub/find_sub.o \
sub/osd.o \
sub/spudec.o \
sub/sub.o \
sub/sub_cc.o \
sub/subreader.o \
sub/vobsub.o \
sub/font_load.o \
stream/dvb_tune.o \
stream/stream_dvb.o \
libmpcodecs/ad_faad.o \
libvo/aclib.o \
av_opts.o \
libaf/af_lavcresample.o \
libmpcodecs/ad_ffmpeg.o \
libmpcodecs/vd_ffmpeg.o \
libmpcodecs/vf_lavc.o \
libmpcodecs/vf_lavcdeint.o \
libmpcodecs/vf_pp.o \
libmpcodecs/vf_screenshot.o \
libmpdemux/demux_lavf.o \
stream/stream_ffmpeg.o \
sub/av_sub.o \
libaf/af_lavcac3enc.o \
libmpcodecs/vf_fspp.o \
libmpcodecs/vf_geq.o \
libmpcodecs/vf_mcdeint.o \
libmpcodecs/vf_qp.o \
libmpcodecs/vf_spp.o \
libmpcodecs/vf_uspp.o \
sub/font_load_ft.o \
stream/stream_ftp.o \
libmpcodecs/vf_bmovl.o \
libaf/af_export.o \
osdep/mmap_anon.o \
libmpcodecs/vd_ijpg.o \
libmpcodecs/vf_ass.o \
sub/ass_mp.o \
sub/subassconvert.o \
libass/ass.o \
libass/ass_bitmap.o \
libass/ass_cache.o \
libass/ass_drawing.o \
libass/ass_font.o \
libass/ass_fontconfig.o \
libass/ass_library.o \
libass/ass_parse.o \
libass/ass_render.o \
libass/ass_render_api.o \
libass/ass_strtod.o \
libass/ass_utils.o \
libmpcodecs/ad_libmad.o \
libmpcodecs/vd_libmpeg2.o \
libmpeg2/alloc.o \
libmpeg2/cpu_accel.o \
libmpeg2/cpu_state.o \
libmpeg2/decode.o \
libmpeg2/header.o \
libmpeg2/idct.o \
libmpeg2/motion_comp.o \
libmpeg2/slice.o \
libmpeg2/motion_comp_arm.o \
libmpeg2/motion_comp_arm_s.o \
libmpcodecs/vd_theora.o \
libmpcodecs/ad_mpg123.o \
libmpcodecs/ad_mpc.o \
libmpdemux/demux_mpc.o \
stream/stream_rtsp.o \
stream/freesdp/common.o \
stream/freesdp/errorlist.o \
stream/freesdp/parser.o \
stream/librtsp/rtsp.o \
stream/librtsp/rtsp_rtp.o \
stream/librtsp/rtsp_session.o \
osdep/shmem.o \
osdep/vsscanf.o \
stream/stream_netstream.o \
stream/asf_mmst_streaming.o \
stream/asf_streaming.o \
stream/cookies.o \
stream/http.o \
stream/network.o \
stream/pnm.o \
stream/rtp.o \
stream/udp.o \
stream/tcp.o \
stream/stream_rtp.o \
stream/stream_udp.o \
stream/realrtsp/asmrp.o \
stream/realrtsp/real.o \
stream/realrtsp/rmff.o \
stream/realrtsp/sdpplin.o \
stream/realrtsp/xbuffer.o \
libmpcodecs/vd_mpng.o \
libmpcodecs/ad_speex.o \
stream/cache2.o \
tremor/bitwise.o \
tremor/block.o \
tremor/codebook.o \
tremor/floor0.o \
tremor/floor1.o \
tremor/framing.o \
tremor/info.o \
tremor/mapping0.o \
tremor/mdct.o \
tremor/registry.o \
tremor/res012.o \
tremor/sharedbook.o \
tremor/synthesis.o \
tremor/window.o \
stream/stream_tv.o \
stream/tv.o \
stream/frequencies.o \
stream/tvi_dummy.o \
sub/unrar_exec.o \
libmpcodecs/ad_libvorbis.o \
libmpdemux/demux_ogg.o \
libmpcodecs/vd_xanim.o \
ffmpeg/libavformat/libavformat.a \
ffmpeg/libavcodec/libavcodec.a \
ffmpeg/libavcore/libavcore.a \
ffmpeg/libavutil/libavutil.a \
ffmpeg/libpostproc/libpostproc.a \
ffmpeg/libswscale/libswscale.a \
-Wl,-z,noexecstack \
-L /root/openwrt-zipit/staging_dir/target-arm_xscale_musl-1.1.14_eabi/usr/lib \
-L /root/openwrt-zipit/staging_dir/target-arm_xscale_musl-1.1.14_eabi/lib \
-L /root/openwrt-zipit/staging_dir/toolchain-arm_xscale_gcc-5.3.0_musl-1.1.14_eabi/usr/lib \
-L /root/openwrt-zipit/staging_dir/toolchain-arm_xscale_gcc-5.3.0_musl-1.1.14_eabi/lib -znow -zrel.o \
-L /root/openwrt-zipit/staging_dir/target-arm_xscale_musl-1.1.14_eabi/usr/lib/libiconv-full/lib \
-L /root/openwrt-zipit/staging_dir/target-arm_xscale_musl-1.1.14_eabi/usr/lib/libintl-full/lib \
-Wl,-rpath-link=/root/openwrt-zipit/staging_dir/target-arm_xscale_musl-1.1.14_eabi/usr/lib/libintl-full/lib \
-Wl,-rpath-link=/root/openwrt-zipit/staging_dir/target-arm_xscale_musl-1.1.14_eabi/usr/lib/libiconv-full/lib \
-liconv -lncurses -lpng -lz -ljpeg -lopenjpeg -lasound \
-lfreetype -lfontconfig  -lz -lbz2 -llzo2 -lmad -lspeex \
-ltheora -logg -lmpg123 -lmpcdec -lfaad   -rdynamic  -lm  -lggi
chaseadam commented 3 years ago

The missing linked library was libsalsa (-lsalsa) which provides the required references in addition to libasound (which is included). Possibly some conflict inside of the linker? Only supports one library which provides reference (and libasound didn't "win")?

Curious because both files are provided by alsa-lib package (source github.com/tiwai/salsa-lib.git) compiled with --enable-libasound

Binary file /root/openwrt-zipit/staging_dir/target-arm_xscale_musl-1.1.14_eabi/usr/lib/libasound.so matches
Binary file /root/openwrt-zipit/staging_dir/target-arm_xscale_musl-1.1.14_eabi/usr/lib/libasound.so.2 matches
Binary file /root/openwrt-zipit/staging_dir/target-arm_xscale_musl-1.1.14_eabi/usr/lib/libasound.so.2.0.0 matches
Binary file /root/openwrt-zipit/staging_dir/target-arm_xscale_musl-1.1.14_eabi/usr/lib/libsalsa.so matches
Binary file /root/openwrt-zipit/staging_dir/target-arm_xscale_musl-1.1.14_eabi/usr/lib/libsalsa.so.0 matches
Binary file /root/openwrt-zipit/staging_dir/target-arm_xscale_musl-1.1.14_eabi/usr/lib/libsalsa.so.0.0.1 matches
chaseadam commented 3 years ago

running into a similar alsa linking issue with another package (fluidsynth) which makes me think there is something wrong with build environment (i.e. linker) or alsa-lib package.

chaseadam commented 3 years ago

Possibly that libasound doesn't contain the .dynsym entry? https://blogs.oracle.com/solaris/post/inside-elf-symbol-tables

bash-4.3# readelf  --dynamic --symbols --wide ./staging_dir/target-arm_xscale_musl-1.1.14_eabi/usr/lib/libsalsa.so | grep '_snd_set_nonblock\|Symbol'
Symbol table '.dynsym' contains 230 entries:
   163: 00005040   108 FUNC    GLOBAL DEFAULT   10 _snd_set_nonblock
Symbol table '.symtab' contains 642 entries:
   575: 00005040   108 FUNC    GLOBAL DEFAULT   10 _snd_set_nonblock
bash-4.3# readelf  --dynamic --symbols --wide ./staging_dir/target-arm_xscale_musl-1.1.14_eabi/usr/lib/libasound.so | grep '_snd_set_nonblock\|Symbol'
Symbol table '.dynsym' contains 1058 entries:
Symbol table '.symtab' contains 1707 entries:
   620: 00013e58   108 FUNC    LOCAL  DEFAULT   11 _snd_set_nonblock