compute_activation_c never implemented
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 3.3k
- Forks
- 808
- PR merge metrics
- No merged PRs in 30d
Description
There is https://github.com/xiph/opus/blob/3da9f7a6db1c05c3996cb363a9d1931a978bf1be/dnn/nnet.h#L133 in the header, but I can't seem to find the implementation of it anywhere.
compilation without SSE/AVX/NEON also fails for me at linking this function.
> com.android.ide.common.process.ProcessException: ninja: Entering directory `/home/user/src/freerdp/client/Android/Studio/freeRDPCore/.cxx/Debug/38e5t665/armeabi-v7a'
[1/34] Completed 'openssl'
[2/34] Performing update step for 'openh264'
-- Already at requested tag: v2.6.0
[3/34] Performing patch step for 'openh264'
Applied patch to 'build/platform-android.mk' cleanly.
Applied patch to 'Makefile' cleanly.
[4/34] Performing build step for 'opus'
FAILED: opus-prefix/src/opus-stamp/opus-build /home/user/src/freerdp/client/Android/Studio/freeRDPCore/.cxx/Debug/38e5t665/armeabi-v7a/opus-prefix/src/opus-stamp/opus-build
cd /home/user/src/freerdp/client/Android/Studio/freeRDPCore/.cxx/Debug/38e5t665/armeabi-v7a/opus-prefix/src/opus-build && /opt/Android/Sdk/cmake/4.1.2/bin/cmake --build . && /opt/Android/Sdk/cmake/4.1.2/bin/cmake -E touch /home/user/src/freerdp/client/Android/Studio/freeRDPCore/.cxx/Debug/38e5t665/armeabi-v7a/opus-prefix/src/opus-stamp/opus-build
[1/1] Linking C shared library libopus.so
FAILED: libopus.so
: && /opt/Android/Sdk/ndk/29.0.13113456/toolchains/llvm/prebuilt/linux-x86_64/bin/clang --target=armv7-none-linux-androideabi29 --sysroot=/opt/Android/Sdk/ndk/29.0.13113456/toolchains/llvm/prebuilt/linux-x86_64/sysroot -fPIC -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -march=armv7-a -mthumb -Wformat -Werror=format-security -fno-limit-debug-info -shared -Wl,--build-id=sha1 -Wl,--no-rosegment -Wl,--no-undefined-version -Wl,--fatal-warnings -Wl,--no-undefined -Qunused-arguments -Xlinker --dependency-file=CMakeFiles/opus.dir/link.d -Wl,-soname,libopus.so -o libopus.so CMakeFiles/opus.dir/src/opus.c.o CMakeFiles/opus.dir/src/opus_decoder.c.o CMakeFiles/opus.dir/src/opus_encoder.c.o CMakeFiles/opus.dir/src/extensions.c.o CMakeFiles/opus.dir/src/opus_multistream.c.o CMakeFiles/opus.dir/src/opus_multistream_encoder.c.o CMakeFiles/opus.dir/src/opus_multistream_decoder.c.o CMakeFiles/opus.dir/src/repacketizer.c.o CMakeFiles/opus.dir/src/opus_projection_encoder.c.o CMakeFiles/opus.dir/src/opus_projection_decoder.c.o CMakeFiles/opus.dir/src/mapping_matrix.c.o CMakeFiles/opus.dir/src/analysis.c.o CMakeFiles/opus.dir/src/mlp.c.o CMakeFiles/opus.dir/src/mlp_data.c.o CMakeFiles/opus.dir/silk/CNG.c.o CMakeFiles/opus.dir/silk/code_signs.c.o CMakeFiles/opus.dir/silk/init_decoder.c.o CMakeFiles/opus.dir/silk/decode_core.c.o CMakeFiles/opus.dir/silk/decode_frame.c.o CMakeFiles/opus.dir/silk/decode_parameters.c.o CMakeFiles/opus.dir/silk/decode_indices.c.o CMakeFiles/opus.dir/silk/decode_pulses.c.o CMakeFiles/opus.dir/silk/decoder_set_fs.c.o CMakeFiles/opus.dir/silk/dec_API.c.o CMakeFiles/opus.dir/silk/enc_API.c.o CMakeFiles/opus.dir/silk/encode_indices.c.o CMakeFiles/opus.dir/silk/encode_pulses.c.o CMakeFiles/opus.dir/silk/gain_quant.c.o CMakeFiles/opus.dir/silk/interpolate.c.o CMakeFiles/opus.dir/silk/LP_variable_cutoff.c.o CMakeFiles/opus.dir/silk/NLSF_decode.c.o CMakeFiles/opus.dir/silk/NSQ.c.o CMakeFiles/opus.dir/silk/NSQ_del_dec.c.o CMakeFiles/opus.dir/silk/PLC.c.o CMakeFiles/opus.dir/silk/shell_coder.c.o CMakeFiles/opus.dir/silk/tables_gain.c.o CMakeFiles/opus.dir/silk/tables_LTP.c.o CMakeFiles/opus.dir/silk/tables_NLSF_CB_NB_MB.c.o CMakeFiles/opus.dir/silk/tables_NLSF_CB_WB.c.o CMakeFiles/opus.dir/silk/tables_other.c.o CMakeFiles/opus.dir/silk/tables_pitch_lag.c.o CMakeFiles/opus.dir/silk/tables_pulses_per_block.c.o CMakeFiles/opus.dir/silk/VAD.c.o CMakeFiles/opus.dir/silk/control_audio_bandwidth.c.o CMakeFiles/opus.dir/silk/quant_LTP_gains.c.o CMakeFiles/opus.dir/silk/VQ_WMat_EC.c.o CMakeFiles/opus.dir/silk/HP_variable_cutoff.c.o CMakeFiles/opus.dir/silk/NLSF_encode.c.o CMakeFiles/opus.dir/silk/NLSF_VQ.c.o CMakeFiles/opus.dir/silk/NLSF_unpack.c.o CMakeFiles/opus.dir/silk/NLSF_del_dec_quant.c.o CMakeFiles/opus.dir/silk/process_NLSFs.c.o CMakeFiles/opus.dir/silk/stereo_LR_to_MS.c.o CMakeFiles/opus.dir/silk/stereo_MS_to_LR.c.o CMakeFiles/opus.dir/silk/check_control_input.c.o CMakeFiles/opus.dir/silk/control_SNR.c.o CMakeFiles/opus.dir/silk/init_encoder.c.o CMakeFiles/opus.dir/silk/control_codec.c.o CMakeFiles/opus.dir/silk/A2NLSF.c.o CMakeFiles/opus.dir/silk/ana_filt_bank_1.c.o CMakeFiles/opus.dir/silk/biquad_alt.c.o CMakeFiles/opus.dir/silk/bwexpander_32.c.o CMakeFiles/opus.dir/silk/bwexpander.c.o CMakeFiles/opus.dir/silk/debug.c.o CMakeFiles/opus.dir/silk/decode_pitch.c.o CMakeFiles/opus.dir/silk/inner_prod_aligned.c.o CMakeFiles/opus.dir/silk/lin2log.c.o CMakeFiles/opus.dir/silk/log2lin.c.o CMakeFiles/opus.dir/silk/LPC_analysis_filter.c.o CMakeFiles/opus.dir/silk/LPC_inv_pred_gain.c.o CMakeFiles/opus.dir/silk/table_LSF_cos.c.o CMakeFiles/opus.dir/silk/NLSF2A.c.o CMakeFiles/opus.dir/silk/NLSF_stabilize.c.o CMakeFiles/opus.dir/silk/NLSF_VQ_weights_laroia.c.o CMakeFiles/opus.dir/silk/pitch_est_tables.c.o CMakeFiles/opus.dir/silk/resampler.c.o CMakeFiles/opus.dir/silk/resampler_down2_3.c.o CMakeFiles/opus.dir/silk/resampler_down2.c.o CMakeFiles/opus.dir/silk/resampler_private_AR2.c.o CMakeFiles/opus.dir/silk/resampler_private_down_FIR.c.o CMakeFiles/opus.dir/silk/resampler_private_IIR_FIR.c.o CMakeFiles/opus.dir/silk/resampler_private_up2_HQ.c.o CMakeFiles/opus.dir/silk/resampler_rom.c.o CMakeFiles/opus.dir/silk/sigm_Q15.c.o CMakeFiles/opus.dir/silk/sort.c.o CMakeFiles/opus.dir/silk/sum_sqr_shift.c.o CMakeFiles/opus.dir/silk/stereo_decode_pred.c.o CMakeFiles/opus.dir/silk/stereo_encode_pred.c.o CMakeFiles/opus.dir/silk/stereo_find_predictor.c.o CMakeFiles/opus.dir/silk/stereo_quant_pred.c.o CMakeFiles/opus.dir/silk/LPC_fit.c.o CMakeFiles/opus.dir/celt/bands.c.o CMakeFiles/opus.dir/celt/celt.c.o CMakeFiles/opus.dir/celt/celt_encoder.c.o CMakeFiles/opus.dir/celt/celt_decoder.c.o CMakeFiles/opus.dir/celt/cwrs.c.o CMakeFiles/opus.dir/celt/entcode.c.o CMakeFiles/opus.dir/celt/entdec.c.o CMakeFiles/opus.dir/celt/entenc.c.o CMakeFiles/opus.dir/celt/kiss_fft.c.o CMakeFiles/opus.dir/celt/laplace.c.o CMakeFiles/opus.dir/celt/mathops.c.o CMakeFiles/opus.dir/celt/mdct.c.o CMakeFiles/opus.dir/celt/modes.c.o CMakeFiles/opus.dir/celt/pitch.c.o CMakeFiles/opus.dir/celt/celt_lpc.c.o CMakeFiles/opus.dir/celt/quant_bands.c.o CMakeFiles/opus.dir/celt/rate.c.o CMakeFiles/opus.dir/celt/vq.c.o CMakeFiles/opus.dir/silk/float/apply_sine_window_FLP.c.o CMakeFiles/opus.dir/silk/float/corrMatrix_FLP.c.o CMakeFiles/opus.dir/silk/float/encode_frame_FLP.c.o CMakeFiles/opus.dir/silk/float/find_LPC_FLP.c.o CMakeFiles/opus.dir/silk/float/find_LTP_FLP.c.o CMakeFiles/opus.dir/silk/float/find_pitch_lags_FLP.c.o CMakeFiles/opus.dir/silk/float/find_pred_coefs_FLP.c.o CMakeFiles/opus.dir/silk/float/LPC_analysis_filter_FLP.c.o CMakeFiles/opus.dir/silk/float/LTP_analysis_filter_FLP.c.o CMakeFiles/opus.dir/silk/float/LTP_scale_ctrl_FLP.c.o CMakeFiles/opus.dir/silk/float/noise_shape_analysis_FLP.c.o CMakeFiles/opus.dir/silk/float/process_gains_FLP.c.o CMakeFiles/opus.dir/silk/float/regularize_correlations_FLP.c.o CMakeFiles/opus.dir/silk/float/residual_energy_FLP.c.o CMakeFiles/opus.dir/silk/float/warped_autocorrelation_FLP.c.o CMakeFiles/opus.dir/silk/float/wrappers_FLP.c.o CMakeFiles/opus.dir/silk/float/autocorrelation_FLP.c.o CMakeFiles/opus.dir/silk/float/burg_modified_FLP.c.o CMakeFiles/opus.dir/silk/float/bwexpander_FLP.c.o CMakeFiles/opus.dir/silk/float/energy_FLP.c.o CMakeFiles/opus.dir/silk/float/inner_product_FLP.c.o CMakeFiles/opus.dir/silk/float/k2a_FLP.c.o CMakeFiles/opus.dir/silk/float/LPC_inv_pred_gain_FLP.c.o CMakeFiles/opus.dir/silk/float/pitch_analysis_core_FLP.c.o CMakeFiles/opus.dir/silk/float/scale_copy_vector_FLP.c.o CMakeFiles/opus.dir/silk/float/scale_vector_FLP.c.o CMakeFiles/opus.dir/silk/float/schur_FLP.c.o CMakeFiles/opus.dir/silk/float/sort_FLP.c.o CMakeFiles/opus.dir/celt/arm/armcpu.c.o CMakeFiles/opus.dir/celt/arm/arm_celt_map.c.o CMakeFiles/opus.dir/silk/arm/arm_silk_map.c.o CMakeFiles/opus.dir/dnn/arm/arm_dnn_map.c.o CMakeFiles/opus.dir/celt/arm/celt_neon_intr.c.o CMakeFiles/opus.dir/celt/arm/pitch_neon_intr.c.o CMakeFiles/opus.dir/silk/arm/biquad_alt_neon_intr.c.o CMakeFiles/opus.dir/silk/arm/LPC_inv_pred_gain_neon_intr.c.o CMakeFiles/opus.dir/silk/arm/NSQ_del_dec_neon_intr.c.o CMakeFiles/opus.dir/silk/arm/NSQ_neon.c.o -lm -latomic -lm && :
ld.lld: error: undefined symbol: compute_activation_c
>>> referenced by arm_dnn_map.c:55 (/home/user/src/freerdp/client/Android/Studio/freeRDPCore/src/main/cpp/external/opus/dnn/arm/arm_dnn_map.c:55)
>>> CMakeFiles/opus.dir/dnn/arm/arm_dnn_map.c.o:(DNN_COMPUTE_ACTIVATION_IMPL)
>>> referenced by arm_dnn_map.c:55 (/home/user/src/freerdp/client/Android/Studio/freeRDPCore/src/main/cpp/external/opus/dnn/arm/arm_dnn_map.c:55)
>>> CMakeFiles/opus.dir/dnn/arm/arm_dnn_map.c.o:(DNN_COMPUTE_ACTIVATION_IMPL)
>>> referenced by arm_dnn_map.c:55 (/home/user/src/freerdp/client/Android/Studio/freeRDPCore/src/main/cpp/external/opus/dnn/arm/arm_dnn_map.c:55)
>>> CMakeFiles/opus.dir/dnn/arm/arm_dnn_map.c.o:(DNN_COMPUTE_ACTIVATION_IMPL)
ld.lld: error: undefined symbol: compute_activation_neon
>>> referenced by arm_dnn_map.c:55 (/home/user/src/freerdp/client/Android/Studio/freeRDPCore/src/main/cpp/external/opus/dnn/arm/arm_dnn_map.c:55)
>>> CMakeFiles/opus.dir/dnn/arm/arm_dnn_map.c.o:(DNN_COMPUTE_ACTIVATION_IMPL)
>>> referenced by arm_dnn_map.c:55 (/home/user/src/freerdp/client/Android/Studio/freeRDPCore/src/main/cpp/external/opus/dnn/arm/arm_dnn_map.c:55)
>>> CMakeFiles/opus.dir/dnn/arm/arm_dnn_map.c.o:(DNN_COMPUTE_ACTIVATION_IMPL)
ld.lld: error: undefined symbol: compute_conv2d_c
>>> referenced by arm_dnn_map.c:68 (/home/user/src/freerdp/client/Android/Studio/freeRDPCore/src/main/cpp/external/opus/dnn/arm/arm_dnn_map.c:68)
>>> CMakeFiles/opus.dir/dnn/arm/arm_dnn_map.c.o:(DNN_COMPUTE_CONV2D_IMPL)
>>> referenced by arm_dnn_map.c:68 (/home/user/src/freerdp/client/Android/Studio/freeRDPCore/src/main/cpp/external/opus/dnn/arm/arm_dnn_map.c:68)
>>> CMakeFiles/opus.dir/dnn/arm/arm_dnn_map.c.o:(DNN_COMPUTE_CONV2D_IMPL)
>>> referenced by arm_dnn_map.c:68 (/home/user/src/freerdp/client/Android/Studio/freeRDPCore/src/main/cpp/external/opus/dnn/arm/arm_dnn_map.c:68)
>>> CMakeFiles/opus.dir/dnn/arm/arm_dnn_map.c.o:(DNN_COMPUTE_CONV2D_IMPL)
ld.lld: error: undefined symbol: compute_conv2d_neon
>>> referenced by arm_dnn_map.c:68 (/home/user/src/freerdp/client/Android/Studio/freeRDPCore/src/main/cpp/external/opus/dnn/arm/arm_dnn_map.c:68)
>>> CMakeFiles/opus.dir/dnn/arm/arm_dnn_map.c.o:(DNN_COMPUTE_CONV2D_IMPL)
>>> referenced by arm_dnn_map.c:68 (/home/user/src/freerdp/client/Android/Studio/freeRDPCore/src/main/cpp/external/opus/dnn/arm/arm_dnn_map.c:68)
>>> CMakeFiles/opus.dir/dnn/arm/arm_dnn_map.c.o:(DNN_COMPUTE_CONV2D_IMPL)
clang: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.
[5/34] Performing configure step for 'openh264'
ninja: build stopped: subcommand failed.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the compute_activation_c declaration in dnn/nnet.h and the dispatch references in dnn/arm/arm_dnn_map.c. Reproduce a build without SSE, AVX, and NEON, then trace which implementations are included in that configuration. Done means the affected configuration links successfully without undefined DNN symbols.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- audio-video-rtc
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100