On Jun 29 21:35:25, Jan Stary wrote: > http://stare.cz/~hans/.tmp/opencore-amr-0.1.2.tar.gz > > This is a port of opencore-amr, which is an implementation > of the Adaptive Multi Rate speech codec that seems to be > used by many modern mobile devices (such as my android). > (This is my first new port - please be gentle.) > > The main motivation is to have AMR support in SoX > (which will be the next step if this goes in). > Neither libsndfile nor libaudiofile support AMR. > > Tested on amd64 and i386. > > Issues: > > (1) > It comes with the Apache License 2.0; I am not sure > what that means for the PERMIT_* variables; I asked > upstream, but someone here surely knows.
Upstream confirms that all our PERMIT* variables can be set to 'Yes' (as they are now). > (2) > With USE_LIBTOOL=Yes, the build fails in a strange way (see below). > Without USE_LIBTOOL, everything goes fine. But I don't know enough > about libtool to spot the exact problem (see my guess below, though). > > Comments? > > Jan > > > # make > ===> Configuring for opencore-amr-0.1.2 > configure: WARNING: unrecognized options: --disable-silent-rules > configure: loading site script /usr/ports/infrastructure/db/config.site > checking for a BSD-compatible install... /usr/bin/install -c -o root -g bin > [configures fine] > > ===> Building for opencore-amr-0.1.2 > Making all in amrnb > [builds fine, until] > > c++ -shared -fPIC -DPIC -o .libs/libopencore-amrnb.so.0.2 -I../oscl > -I../opencore/codecs_v2/audio/gsm_amr/amr_nb/dec/src > -I../opencore/codecs_v2/audio/gsm_amr/amr_nb/common/include > -I../opencore/codecs_v2/audio/gsm_amr/amr_nb/dec/include > -I../opencore/codecs_v2/audio/gsm_amr/common/dec/include > -I../opencore/codecs_v2/audio/gsm_amr/amr_nb/enc/src -x c -std=c99 -O2 -pipe > .libs/wrapper.o .libs/agc.o .libs/amrdecode.o .libs/a_refl.o .libs/b_cn_cod.o > .libs/bgnscd.o .libs/c_g_aver.o .libs/d1035pf.o .libs/d2_11pf.o > .libs/d2_9pf.o .libs/d3_14pf.o .libs/d4_17pf.o .libs/d8_31pf.o > .libs/dec_amr.o .libs/dec_gain.o .libs/dec_input_format_tab.o > .libs/dec_lag3.o .libs/dec_lag6.o .libs/d_gain_c.o .libs/d_gain_p.o > .libs/d_plsf_3.o .libs/d_plsf_5.o .libs/d_plsf.o .libs/dtx_dec.o > .libs/ec_gains.o .libs/ex_ctrl.o .libs/if2_to_ets.o .libs/int_lsf.o > .libs/lsp_avg.o .libs/ph_disp.o .libs/post_pro.o .libs/preemph.o > .libs/pstfilt.o .libs/qgain475_tab.o .libs/sp_dec.o .libs/wmf_to_ets.o > .libs/amrencode.o .libs/autocorr.o .libs/c1035pf.o .libs/c2_11pf.o > .libs/c2_9pf.o .libs/c3_14pf.o .libs/c4_17pf.o .libs/c8_31pf.o > .libs/calc_cor.o .libs/calc_en.o .libs/cbsearch.o .libs/cl_ltp.o > .libs/cod_amr.o .libs/convolve.o .libs/cor_h.o .libs/cor_h_x2.o > .libs/cor_h_x.o .libs/corrwght_tab.o .libs/div_32.o .libs/dtx_enc.o > .libs/enc_lag3.o .libs/enc_lag6.o .libs/enc_output_format_tab.o > .libs/ets_to_if2.o .libs/ets_to_wmf.o .libs/g_adapt.o .libs/gain_q.o > .libs/g_code.o .libs/g_pitch.o .libs/hp_max.o .libs/inter_36.o > .libs/inter_36_tab.o .libs/l_abs.o .libs/lag_wind.o .libs/lag_wind_tab.o > .libs/l_comp.o .libs/levinson.o .libs/l_extract.o .libs/lflg_upd.o > .libs/l_negate.o .libs/lpc.o .libs/ol_ltp.o .libs/pitch_fr.o .libs/pitch_ol.o > .libs/p_ol_wgh.o .libs/pre_big.o .libs/pre_proc.o .libs/prm2bits.o > .libs/qgain475.o .libs/qgain795.o .libs/q_gain_c.o .libs/q_gain_p.o > .libs/qua_gain.o .libs/s10_8pf.o .libs/set_sign.o .libs/sid_sync.o > .libs/sp_enc.o .libs/spreproc.o .libs/spstproc.o .libs/ton_stab.o > .libs/vad1.o .libs/add.o .libs/az_lsp.o .libs/bitno_tab.o > .libs/bitreorder_tab.o .libs/bytesused.o .libs/c2_9pf_tab.o .libs/div_s.o > .libs/extract_h.o .libs/extract_l.o .libs/gains_tbl.o .libs/gc_pred.o > .libs/get_const_tbls.o .libs/gmed_n.o .libs/gray_tbl.o .libs/grid_tbl.o > .libs/int_lpc.o .libs/inv_sqrt.o .libs/inv_sqrt_tbl.o .libs/l_deposit_h.o > .libs/l_deposit_l.o .libs/log2.o .libs/log2_norm.o .libs/log2_tbl.o > .libs/lsfwt.o .libs/l_shr_r.o .libs/lsp_az.o .libs/lsp.o .libs/lsp_lsf.o > .libs/lsp_lsf_tbl.o .libs/lsp_tab.o .libs/mult_r.o .libs/negate.o > .libs/norm_l.o .libs/norm_s.o .libs/overflow_tbl.o .libs/ph_disp_tab.o > .libs/pow2.o .libs/pow2_tbl.o .libs/pred_lt.o .libs/q_plsf_3.o > .libs/q_plsf_3_tbl.o .libs/q_plsf_5.o .libs/q_plsf_5_tbl.o .libs/q_plsf.o > .libs/qua_gain_tbl.o .libs/reorder.o .libs/residu.o .libs/round.o > .libs/set_zero.o .libs/shr.o .libs/shr_r.o .libs/sqrt_l.o .libs/sqrt_l_tbl.o > .libs/sub.o .libs/syn_filt.o .libs/weight_a.o .libs/window_tab.o -L.libs -lm > .libs/wrapper.o:1: error: stray '\177' in program > .libs/wrapper.o:1: error: stray '\2' in program > .libs/wrapper.o:1: error: stray '\1' in program > .libs/wrapper.o:1: error: stray '\1' in program > > - and similarly for every *.o file entioned in the above line; > there seems to be an error message for almost every char on > almost evry 'line' of these files. > > .libs/agc.o:1: error: stray '\177' in program > .libs/agc.o:1: error: stray '\2' in program > .libs/agc.o:1: error: stray '\1' in program > .libs/agc.o:1: error: stray '\1' in program > > ... etc ... > > .libs/window_tab.o:54: error: stray '\340' in program > .libs/window_tab.o:54: error: stray '\1' in program > .libs/window_tab.o:54:1326: warning: null character(s) ignored > .libs/window_tab.o:54:1347: warning: null character(s) ignored > .libs/window_tab.o:54:1361: warning: null character(s) ignored > .libs/window_tab.o:54:1375: warning: null character(s) ignored > .libs/window_tab.o:54:1388: warning: null character(s) ignored > .libs/window_tab.o:54:1389: warning: no newline at end of file > > Without USE_LIBTOOL, it builds fine; the line above then becomes > > libtool: link: c++ -shared -fPIC -DPIC .libs/wrapper.o .libs/agc.o > .libs/amrdecode.o .libs/a_refl.o .libs/b_cn_cod.o .libs/bgnscd.o > .libs/c_g_aver.o .libs/d1035pf.o .libs/d2_11pf.o .libs/d2_9pf.o > .libs/d3_14pf.o .libs/d4_17pf.o .libs/d8_31pf.o .libs/dec_amr.o > .libs/dec_gain.o .libs/dec_input_format_tab.o .libs/dec_lag3.o > .libs/dec_lag6.o .libs/d_gain_c.o .libs/d_gain_p.o .libs/d_plsf_3.o > .libs/d_plsf_5.o .libs/d_plsf.o .libs/dtx_dec.o .libs/ec_gains.o > .libs/ex_ctrl.o .libs/if2_to_ets.o .libs/int_lsf.o .libs/lsp_avg.o > .libs/ph_disp.o .libs/post_pro.o .libs/preemph.o .libs/pstfilt.o > .libs/qgain475_tab.o .libs/sp_dec.o .libs/wmf_to_ets.o .libs/amrencode.o > .libs/autocorr.o .libs/c1035pf.o .libs/c2_11pf.o .libs/c2_9pf.o > .libs/c3_14pf.o .libs/c4_17pf.o .libs/c8_31pf.o .libs/calc_cor.o > .libs/calc_en.o .libs/cbsearch.o .libs/cl_ltp.o .libs/cod_amr.o > .libs/convolve.o .libs/cor_h.o .libs/cor_h_x2.o .libs/cor_h_x.o > .libs/corrwght_tab.o .libs/div_32.o .libs/dtx_enc.o .libs/enc_lag3.o > .libs/enc_lag6.o .libs/enc_output_format_tab.o .libs/ets_to_if2.o > .libs/ets_to_wmf.o .libs/g_adapt.o .libs/gain_q.o .libs/g_code.o > .libs/g_pitch.o .libs/hp_max.o .libs/inter_36.o .libs/inter_36_tab.o > .libs/l_abs.o .libs/lag_wind.o .libs/lag_wind_tab.o .libs/l_comp.o > .libs/levinson.o .libs/l_extract.o .libs/lflg_upd.o .libs/l_negate.o > .libs/lpc.o .libs/ol_ltp.o .libs/pitch_fr.o .libs/pitch_ol.o .libs/p_ol_wgh.o > .libs/pre_big.o .libs/pre_proc.o .libs/prm2bits.o .libs/qgain475.o > .libs/qgain795.o .libs/q_gain_c.o .libs/q_gain_p.o .libs/qua_gain.o > .libs/s10_8pf.o .libs/set_sign.o .libs/sid_sync.o .libs/sp_enc.o > .libs/spreproc.o .libs/spstproc.o .libs/ton_stab.o .libs/vad1.o .libs/add.o > .libs/az_lsp.o .libs/bitno_tab.o .libs/bitreorder_tab.o .libs/bytesused.o > .libs/c2_9pf_tab.o .libs/div_s.o .libs/extract_h.o .libs/extract_l.o > .libs/gains_tbl.o .libs/gc_pred.o .libs/get_const_tbls.o .libs/gmed_n.o > .libs/gray_tbl.o .libs/grid_tbl.o .libs/int_lpc.o .libs/inv_sqrt.o > .libs/inv_sqrt_tbl.o .libs/l_deposit_h.o .libs/l_deposit_l.o .libs/log2.o > .libs/log2_norm.o .libs/log2_tbl.o .libs/lsfwt.o .libs/l_shr_r.o > .libs/lsp_az.o .libs/lsp.o .libs/lsp_lsf.o .libs/lsp_lsf_tbl.o > .libs/lsp_tab.o .libs/mult_r.o .libs/negate.o .libs/norm_l.o .libs/norm_s.o > .libs/overflow_tbl.o .libs/ph_disp_tab.o .libs/pow2.o .libs/pow2_tbl.o > .libs/pred_lt.o .libs/q_plsf_3.o .libs/q_plsf_3_tbl.o .libs/q_plsf_5.o > .libs/q_plsf_5_tbl.o .libs/q_plsf.o .libs/qua_gain_tbl.o .libs/reorder.o > .libs/residu.o .libs/round.o .libs/set_zero.o .libs/shr.o .libs/shr_r.o > .libs/sqrt_l.o .libs/sqrt_l_tbl.o .libs/sub.o .libs/syn_filt.o > .libs/weight_a.o .libs/window_tab.o -lm -o > .libs/libopencore-amrnb.so.0.2 > > The difference seems to be this: > > It starts with 'libtool: link: ..." (this is *without* USE_LIBTOOL) > '-o .libs/libopencore-amrnb.so.0.2' comes last > It drops all the -I's and -L./libs > It drops '-O2 -pipe' > It drops '-x c -std=c99' - which I think was the problem, > given the error messages above: the *.o files are indeed > not C files, they are simply ELF object files produced by the previous > runs of 'cc -c'. Why does USE_LIBTOOL put the '-x c' there?