jamulussoftware / jamulus

Jamulus enables musicians to perform real-time jam sessions over the internet.
https://jamulus.io
Other
997 stars 222 forks source link

Error compliation on Ubuntu 20.10 x64 #1706

Closed osfrance closed 3 years ago

osfrance commented 3 years ago

Hi all,

For informations, I've tried to build Jamulus on Ubuntu 20.10 x64, but I'd a problem with libGL, I solved it with a symbolic link (see below)

When I try to build latest Jamulus on Ubuntu 20.10 x64, i've this error message : /usr/bin/ld: cannot find -lGL

Install Ubuntu 20.10 x64 and try to compile Jamulus

I've launched : sudo apt-get install build-essential qt5-qmake qtdeclarative5-dev qt5-default qttools5-dev-tools libjack-jackd2-dev qmake Jamulus.pro make clean make

Ubuntu 20.10 x64

Jamulus Release 3.8.0rc1

I've solved the problem with installing : sudo apt-get install libgl1-mesa-dev sudo ln -s /usr/lib/x86_64-linux-gnu/libGL.so.1 /usr/lib/x86_64-linux-gnu/libGL.so sudo ldconfig

hoffie commented 3 years ago

Thanks for the report. I'm struggling to understand how this can happen.

I don't think we are linking against libGL explicitly, so this would rather be a default Qt thing. I don't have Ubuntu in this version around, but I might try in a chroot if time permits.

hoffie commented 3 years ago

Looks like it may be related to proprietary OpenGL drivers? https://forum.qt.io/topic/100987/cannot-find-lgl-error/15 (although it is about earlier Ubuntu versions)

osfrance commented 3 years ago

Hi @hoffie, yes I use Nvidia proprietary drivers ... It's the first time I used jamulus, I use QMake version 3.1, Using Qt version 5.14.2 in /usr/lib/x86_64-linux-gnu I've just in my env : QT_ACCESSIBILITY=1 and QT_QPA_PLATFORMTHEME=gtk2

This is the output of the compilation error : g++ -Wl,--as-needed -Wl,-O1 -o Jamulus x86cpu.o x86_celt_map.o pitch_sse.o pitch_sse2.o vq_sse2.o celt_lpc_sse4_1.o pitch_sse4_1.o NSQ_sse4_1.o NSQ_del_dec_sse4_1.o x86_silk_map.o VAD_sse4_1.o VQ_WMat_EC_sse4_1.o sound.o buffer.o channel.o client.o main.o protocol.o jamcontroller.o server.o serverlist.o serverlogging.o settings.o signalhandler.o socket.o soundbase.o util.o jamrecorder.o creaperproject.o cwavestream.o audiomixerboard.o chatdlg.o clientsettingsdlg.o connectdlg.o clientdlg.o serverdlg.o multicolorled.o levelmeter.o analyzerconsole.o bands.o celt.o celt_decoder.o celt_encoder.o celt_lpc.o cwrs.o entcode.o entdec.o entenc.o kiss_fft.o laplace.o mathops.o mdct.o modes.o pitch.o quant_bands.o rate.o vq.o A2NLSF.o ana_filt_bank_1.o biquad_alt.o bwexpander.o bwexpander_32.o check_control_input.o CNG.o code_signs.o control_audio_bandwidth.o control_codec.o control_SNR.o debug.o decoder_set_fs.o decode_core.o decode_frame.o decode_indices.o decode_parameters.o decode_pitch.o decode_pulses.o dec_API.o encode_indices.o encode_pulses.o enc_API.o apply_sine_window_FLP.o autocorrelation_FLP.o burg_modified_FLP.o bwexpander_FLP.o corrMatrix_FLP.o encode_frame_FLP.o energy_FLP.o find_LPC_FLP.o find_LTP_FLP.o find_pitch_lags_FLP.o find_pred_coefs_FLP.o inner_product_FLP.o k2a_FLP.o LPC_analysis_filter_FLP.o LTP_analysis_filter_FLP.o LTP_scale_ctrl_FLP.o noise_shape_analysis_FLP.o pitch_analysis_core_FLP.o process_gains_FLP.o residual_energy_FLP.o scale_copy_vector_FLP.o scale_vector_FLP.o schur_FLP.o sort_FLP.o warped_autocorrelation_FLP.o wrappers_FLP.o gain_quant.o HP_variable_cutoff.o init_decoder.o init_encoder.o inner_prod_aligned.o interpolate.o lin2log.o log2lin.o LPC_analysis_filter.o LPC_fit.o LPC_inv_pred_gain.o LP_variable_cutoff.o NLSF2A.o NLSF_decode.o NLSF_del_dec_quant.o NLSF_encode.o NLSF_stabilize.o NLSF_unpack.o NLSF_VQ.o NLSF_VQ_weights_laroia.o NSQ.o NSQ_del_dec.o pitch_est_tables.o PLC.o process_NLSFs.o quant_LTP_gains.o resampler.o resampler_down2.o resampler_down2_3.o resampler_private_AR2.o resampler_private_down_FIR.o resampler_private_IIR_FIR.o resampler_private_up2_HQ.o resampler_rom.o shell_coder.o sigm_Q15.o sort.o stereo_decode_pred.o stereo_encode_pred.o stereo_find_predictor.o stereo_LR_to_MS.o stereo_MS_to_LR.o stereo_quant_pred.o sum_sqr_shift.o tables_gain.o tables_LTP.o tables_NLSF_CB_NB_MB.o tables_NLSF_CB_WB.o tables_other.o tables_pitch_lag.o tables_pulses_per_block.o table_LSF_cos.o VAD.o VQ_WMat_EC.o analysis.o mlp.o mlp_data.o opus.o opus_decoder.o opus_encoder.o repacketizer.o qrc_resources.o moc_sound.o moc_channel.o moc_client.o moc_protocol.o moc_jamcontroller.o moc_server.o moc_serverlist.o moc_settings.o moc_socket.o moc_soundbase.o moc_testbench.o moc_util.o moc_jamrecorder.o moc_creaperproject.o moc_signalhandler.o moc_audiomixerboard.o moc_chatdlg.o moc_clientsettingsdlg.o moc_connectdlg.o moc_clientdlg.o moc_serverdlg.o moc_levelmeter.o moc_analyzerconsole.o moc_multicolorled.o -ljack -lpthread /usr/lib/x86_64-linux-gnu/libQt5Widgets.so /usr/lib/x86_64-linux-gnu/libQt5Gui.so /usr/lib/x86_64-linux-gnu/libQt5Network.so /usr/lib/x86_64-linux-gnu/libQt5Xml.so /usr/lib/x86_64-linux-gnu/libQt5Concurrent.so /usr/lib/x86_64-linux-gnu/libQt5Core.so -lGL
/usr/bin/ld : ne peut trouver -lGL collect2: error: ld returned 1 exit status make: *** [Makefile:1135 : Jamulus] Erreur 1

gilgongo commented 3 years ago

Please also note that as of the upcoming 3.8.0 release, we are saying that preferred method of supporting Ubuntu (and other platforms) is to use the binaries generated by the autobuild process in the Jamulus repository.

I'll move this to a discussion until/unless a reproducible bug is found.