LMMS / lmms

Cross-platform music production software
https://lmms.io
GNU General Public License v2.0
7.98k stars 994 forks source link

Wrong ELF class: ELFCLASS32 in Gentoo Linux #5884

Open triko88 opened 3 years ago

triko88 commented 3 years ago

Bug Summary

On installing LMMS using portage, the resultant build I got couldn't load the effects giving errors like "Cannot load library /usr/lib/ladspa/sc1_1425.so: (/usr/lib/ladspa/sc1_1425.so: wrong ELF class: ELFCLASS32)" I thought maybe my kernel couldn't execute 32 bit binaries but I am able to run everything flawlessly using the AppImage.

Steps to reproduce

Emerge lmms with abi flags abi_x86_64 and abi_x86_32 or as ABI_X86="64 32" in /etc/portage/make.conf in Gentoo Linux or its derivatives (like Sabayon Linux) to build 32 and 64 bit binaries.

Expected behavior

The requested effects were expected to load without any verbose output or a dialog box.

Actual behavior

The requested effects couldn't be processed since the detection wrong ELF class prevented loading them.

Screenshot

pic-full-210117-1635-31

Affected LMMS version

1.2.2

Logs

Click to expand
Cannot load library /usr/lib64/lmms/libcarlarack.so: (libcarlabase.so: cannot open shared object file: No such file or directory)
Cannot load library /usr/lib64/lmms/libcarlabase.so: (libcarla_native-plugin.so: cannot open shared object file: No such file or directory)
Cannot load library /usr/lib64/lmms/libcarlapatchbay.so: (libcarlabase.so: cannot open shared object file: No such file or directory)
"Cannot load library /usr/lib/ladspa/alias_1407.so: (/usr/lib/ladspa/alias_1407.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/allpass_1895.so: (/usr/lib/ladspa/allpass_1895.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/am_pitchshift_1433.so: (/usr/lib/ladspa/am_pitchshift_1433.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/amp.so: (/usr/lib/ladspa/amp.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/amp_1181.so: (/usr/lib/ladspa/amp_1181.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/analogue_osc_1416.so: (/usr/lib/ladspa/analogue_osc_1416.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/bandpass_a_iir_1893.so: (/usr/lib/ladspa/bandpass_a_iir_1893.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/bandpass_iir_1892.so: (/usr/lib/ladspa/bandpass_iir_1892.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/bode_shifter_1431.so: (/usr/lib/ladspa/bode_shifter_1431.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/bode_shifter_cv_1432.so: (/usr/lib/ladspa/bode_shifter_cv_1432.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/butterworth_1902.so: (/usr/lib/ladspa/butterworth_1902.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/caps.so: (/usr/lib/ladspa/caps.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/chebstortion_1430.so: (/usr/lib/ladspa/chebstortion_1430.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/cmt.so: (/usr/lib/ladspa/cmt.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/comb_1190.so: (/usr/lib/ladspa/comb_1190.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/comb_1887.so: (/usr/lib/ladspa/comb_1887.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/comb_splitter_1411.so: (/usr/lib/ladspa/comb_splitter_1411.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/const_1909.so: (/usr/lib/ladspa/const_1909.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/crossover_dist_1404.so: (/usr/lib/ladspa/crossover_dist_1404.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/dc_remove_1207.so: (/usr/lib/ladspa/dc_remove_1207.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/decay_1886.so: (/usr/lib/ladspa/decay_1886.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/decimator_1202.so: (/usr/lib/ladspa/decimator_1202.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/declip_1195.so: (/usr/lib/ladspa/declip_1195.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/delay.so: (/usr/lib/ladspa/delay.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/delay_1898.so: (/usr/lib/ladspa/delay_1898.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/delayorama_1402.so: (/usr/lib/ladspa/delayorama_1402.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/diode_1185.so: (/usr/lib/ladspa/diode_1185.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/divider_1186.so: (/usr/lib/ladspa/divider_1186.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/dj_eq_1901.so: (/usr/lib/ladspa/dj_eq_1901.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/dj_flanger_1438.so: (/usr/lib/ladspa/dj_flanger_1438.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/dyson_compress_1403.so: (/usr/lib/ladspa/dyson_compress_1403.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/fad_delay_1192.so: (/usr/lib/ladspa/fad_delay_1192.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/fast_lookahead_limiter_1913.so: (/usr/lib/ladspa/fast_lookahead_limiter_1913.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/filter.so: (/usr/lib/ladspa/filter.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/flanger_1191.so: (/usr/lib/ladspa/flanger_1191.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/fm_osc_1415.so: (/usr/lib/ladspa/fm_osc_1415.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/foldover_1213.so: (/usr/lib/ladspa/foldover_1213.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/foverdrive_1196.so: (/usr/lib/ladspa/foverdrive_1196.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/freq_tracker_1418.so: (/usr/lib/ladspa/freq_tracker_1418.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/gate_1410.so: (/usr/lib/ladspa/gate_1410.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/giant_flange_1437.so: (/usr/lib/ladspa/giant_flange_1437.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/gong_1424.so: (/usr/lib/ladspa/gong_1424.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/gong_beater_1439.so: (/usr/lib/ladspa/gong_beater_1439.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/gsm_1215.so: (/usr/lib/ladspa/gsm_1215.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/gverb_1216.so: (/usr/lib/ladspa/gverb_1216.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/hard_limiter_1413.so: (/usr/lib/ladspa/hard_limiter_1413.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/harmonic_gen_1220.so: (/usr/lib/ladspa/harmonic_gen_1220.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/hermes_filter_1200.so: (/usr/lib/ladspa/hermes_filter_1200.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/highpass_iir_1890.so: (/usr/lib/ladspa/highpass_iir_1890.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/hilbert_1440.so: (/usr/lib/ladspa/hilbert_1440.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/imp_1199.so: (/usr/lib/ladspa/imp_1199.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/impulse_1885.so: (/usr/lib/ladspa/impulse_1885.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/inv_1429.so: (/usr/lib/ladspa/inv_1429.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/karaoke_1409.so: (/usr/lib/ladspa/karaoke_1409.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/latency_1914.so: (/usr/lib/ladspa/latency_1914.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/lcr_delay_1436.so: (/usr/lib/ladspa/lcr_delay_1436.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/lowpass_iir_1891.so: (/usr/lib/ladspa/lowpass_iir_1891.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/ls_filter_1908.so: (/usr/lib/ladspa/ls_filter_1908.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/matrix_ms_st_1421.so: (/usr/lib/ladspa/matrix_ms_st_1421.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/matrix_spatialiser_1422.so: (/usr/lib/ladspa/matrix_spatialiser_1422.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/matrix_st_ms_1420.so: (/usr/lib/ladspa/matrix_st_ms_1420.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/mbeq_1197.so: (/usr/lib/ladspa/mbeq_1197.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/mod_delay_1419.so: (/usr/lib/ladspa/mod_delay_1419.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/multivoice_chorus_1201.so: (/usr/lib/ladspa/multivoice_chorus_1201.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/noise.so: (/usr/lib/ladspa/noise.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/notch_iir_1894.so: (/usr/lib/ladspa/notch_iir_1894.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/phasers_1217.so: (/usr/lib/ladspa/phasers_1217.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/pitch_scale_1193.so: (/usr/lib/ladspa/pitch_scale_1193.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/pitch_scale_1194.so: (/usr/lib/ladspa/pitch_scale_1194.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/plate_1423.so: (/usr/lib/ladspa/plate_1423.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/pointer_cast_1910.so: (/usr/lib/ladspa/pointer_cast_1910.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/rate_shifter_1417.so: (/usr/lib/ladspa/rate_shifter_1417.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/retro_flange_1208.so: (/usr/lib/ladspa/retro_flange_1208.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/revdelay_1605.so: (/usr/lib/ladspa/revdelay_1605.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/ringmod_1188.so: (/usr/lib/ladspa/ringmod_1188.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/satan_maximiser_1408.so: (/usr/lib/ladspa/satan_maximiser_1408.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/sc1_1425.so: (/usr/lib/ladspa/sc1_1425.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/sc2_1426.so: (/usr/lib/ladspa/sc2_1426.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/sc3_1427.so: (/usr/lib/ladspa/sc3_1427.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/sc4_1882.so: (/usr/lib/ladspa/sc4_1882.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/sc4m_1916.so: (/usr/lib/ladspa/sc4m_1916.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/se4_1883.so: (/usr/lib/ladspa/se4_1883.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/shaper_1187.so: (/usr/lib/ladspa/shaper_1187.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/sifter_1210.so: (/usr/lib/ladspa/sifter_1210.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/sin_cos_1881.so: (/usr/lib/ladspa/sin_cos_1881.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/sine.so: (/usr/lib/ladspa/sine.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/single_para_1203.so: (/usr/lib/ladspa/single_para_1203.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/sinus_wavewrapper_1198.so: (/usr/lib/ladspa/sinus_wavewrapper_1198.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/smooth_decimate_1414.so: (/usr/lib/ladspa/smooth_decimate_1414.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/split_1406.so: (/usr/lib/ladspa/split_1406.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/step_muxer_1212.so: (/usr/lib/ladspa/step_muxer_1212.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/surround_encoder_1401.so: (/usr/lib/ladspa/surround_encoder_1401.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/svf_1214.so: (/usr/lib/ladspa/svf_1214.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/tape_delay_1211.so: (/usr/lib/ladspa/tape_delay_1211.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/transient_1206.so: (/usr/lib/ladspa/transient_1206.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/triple_para_1204.so: (/usr/lib/ladspa/triple_para_1204.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/valve_1209.so: (/usr/lib/ladspa/valve_1209.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/valve_rect_1405.so: (/usr/lib/ladspa/valve_rect_1405.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/vocoder_1337.so: (/usr/lib/ladspa/vocoder_1337.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/vynil_1905.so: (/usr/lib/ladspa/vynil_1905.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/wave_terrain_1412.so: (/usr/lib/ladspa/wave_terrain_1412.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/xfade_1915.so: (/usr/lib/ladspa/xfade_1915.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/zm1_1428.so: (/usr/lib/ladspa/zm1_1428.so: wrong ELF class: ELFCLASS32)"
mehw commented 3 years ago

Hi,

I hope that this may help to pinpoint the issue...

LADSPA plugins

On my Gentoo amd64 system the following warnings are due to media-libs/ladspa-sdk and media-libs/rubberband beeing installed with the use flag abi_x86_32 enabled, and lmms looking for shared libraries into different paths. There seems to be no harm in that, the right shared libraries for an amd64 system can be found under /usr/lib64/ladspa. Even when the uncompatible ELFCLASS32 libraries fail to load, the lib64 plugins should load fine:

"Cannot load library /usr/lib/ladspa/amp.so: (/usr/lib/ladspa/amp.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/delay.so: (/usr/lib/ladspa/delay.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/filter.so: (/usr/lib/ladspa/filter.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/ladspa-rubberband.so: (/usr/lib/ladspa/ladspa-rubberband.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/noise.so: (/usr/lib/ladspa/noise.so: wrong ELF class: ELFCLASS32)"
"Cannot load library /usr/lib/ladspa/sine.so: (/usr/lib/ladspa/sine.so: wrong ELF class: ELFCLASS32)"

If you look into the file juce_LADSPAPluginFormat.cpp you'll see that the function LADSPAPluginFormat::getDefaultLocationsToSearch() uses the environment variable LADSPA_PATH -- which on an amd64 system should probably be set to /usr/lib64/ladspa -- and the hardcoded paths /usr/lib/ladspa, /usr/local/lib/ladspa, and ~/.ladspa.

In the file LadspaManager.cpp there are also hardcoded paths, you can find /usr/lib/ladspa, /usr/lib64/ladspa, /usr/local/lib/ladspa, /usr/local/lib64/ladspa, and others.

The file carla_shared.py, which isn't installed on Gentoo by the way, instead doesn't have any lib64 hardcoded path, only lib ones.

Carla libraries

The following warnings can be resolved providing the right LD_LIBRARY_PATH to allow lmms to find the shared library libcarla_native-plugin.so. This isn't automatically done in Gentoo:

Cannot load library /usr/lib64/lmms/libcarlarack.so: (libcarlabase.so: cannot open shared object file: No such file or directory)
Cannot load library /usr/lib64/lmms/libcarlabase.so: (libcarla_native-plugin.so: cannot open shared object file: No such file or directory)
Cannot load library /usr/lib64/lmms/libcarlapatchbay.so: (libcarlabase.so: cannot open shared object file: No such file or directory)

Try to start lmms with

LD_LIBRARY_PATH="/usr/lib64/lmms/optional:$LD_LIBRARY_PATH" lmms

On my Gentoo amd64 system I do have a segmentation fault when I try to add Carla Rack or Carla Patchbay instrument plugins to the song editor. This maybe relates to the bug #5525.

Out of curiosity, try to take also a look at the file launch_lmms.sh.