Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v6.0.0-alpha-96 how to compile? #866

Open
leukimi opened this issue Oct 25, 2024 · 1 comment
Open

v6.0.0-alpha-96 how to compile? #866

leukimi opened this issue Oct 25, 2024 · 1 comment

Comments

@leukimi
Copy link

leukimi commented Oct 25, 2024

It seems difficult to compile v6.0.0-alpha-96 on any linux platform following the guide. Linphone SDK which this version pulls is v5.4.0-alpha-399.

cmake on Fedora 40 cannot find some submodules such as decaf, jpeg, turbo-jpeg in its own file structure and bcunit seems to be missing. cmake also complains about several modules not having a CMakeFiles.txt.

However, you seem to be able to produce semi-working 6.0.0-alpha AppImages, which means that the source code should be able to compile.

Which devel-packages are you using on which version of Linux to make the source code compile?

For Fedora 40, these devel packages seems to be needed: git nasm yasm cmake meson doxygen python3-six qt6-qtbase-devel libv4l-devel glew-devel alsa-lib-devel pulseaudio-libs-devel qt6-qtdeclarative-devel qt6-qtsvg-devel qt6-qtmultimedia-devel qt6-qtnetworkauth-devel libXext-devel

python3-pystache RPM package can either be downloaded or installed with python3-pip.

On local Fedora 40 box, this can happens and is due to that git for unknown reason does not pull all submodules:

external/linphone-sdk/cmake/ExternalDependencies.cmake:418 (add_subdirectory):
The source directory external/linphone-sdk/external/decaf does not contain a CMakeLists.txt file.

external/linphone-sdk/cmake/ExternalDependencies.cmake:687 (add_subdirectory):
The source directory external/linphone-sdk/external/libjpeg-turbo does not contain a CMakeLists.txt file

external/linphone-sdk/cmake/ExternalDependencies.cmake:1311 (add_subdirectory):
The source directory external/linphone-sdk/external/openldap does not contain a CMakeLists.txt file.

external/linphone-sdk/cmake/ExternalDependencies.cmake:1331 (add_subdirectory):
The source directory external/linphone-sdk/external/opus does not contain a CMakeLists.txt file.

external/linphone-sdk/cmake/BCProjects.cmake:27 (add_subdirectory):
The source directory external/linphone-sdk/bcunit does not contain a CMakeLists.txt file.

external/linphone-sdk/bctoolbox/cmake/FindBCUnit.cmake:77 (find_package):
Could not find a package configuration file provided by "BCUnit" (requested version 3.0.2) with any of the following names:
BCUnitConfig.cmake
bcunit-config.cmake
Add the installation prefix of "BCUnit" to CMAKE_PREFIX_PATH or set "BCUnit_DIR" to a directory containing one of the above files.

Remedy is to delete the problematic directories and pull again with git.

Which linux platform is best suited to compile version v6.0.0-alpha on?

Which cmake variables do you set manually?
-DENABLE_TESTS=OFF
-DCMAKE_TOOLCHAIN_FILE=/usr/lib64/cmake/Qt6/qt.toolchain.cmake

On local Fedora 40, compilation seems to stop at:

[ 35%] Building CXX object external/linphone-sdk/mediastreamer2/src/CMakeFiles/mediastreamer2.dir/videofilters/h26x/nal-unpacker.cpp.o
[ 35%] Building CXX object external/linphone-sdk/mediastreamer2/src/CMakeFiles/mediastreamer2.dir/videofilters/h26x/rfc3984.cpp.o
gmake[2]: *** No rule to make target '/usr/lib64/libv4l2.so', needed by 'lib/libmediastreamer2.so'.  Stop.

Using OBS build service, Ubuntu 24.04 logfile terminates compilation at:

CMake Error at Linphone/CMakeLists.txt:131 (qt_policy):
Unknown CMake command "qt_policy".

Using OBS build service, Archlinux logfile terminates compilation at:

[ 86%] Running rcc pass 2 for resource fonts
[ 86%] Running rcc for resource Linphone_raw_qml_0
[ 86%] Running rcc for resource qmake_Linphone
[ 86%] Running rcc for resource resources
[ 86%] Generating .rcc/qmlcache/Linphone_qmlcache_loader.cpp
[ 86%] Running AUTOMOC file extraction for target Linphone
No data signature found
make[2]: *** [Linphone/CMakeFiles/Linphone.dir/build.make:75: Linphone/qrc_fonts.o] Error 1

Using OBS build service, openSUSE Tumbleweed logfile terminates compilation at:

[  330s] /home/abuild/rpmbuild/BUILD/linphone-desktop-git-6.0.0.alpha.96+gitc268171/Linphone/model/conference/ConferenceInfoModel.cpp: In member function ‘QDateTime ConferenceInfoModel::getDateTime() const’:
[  330s] /home/abuild/rpmbuild/BUILD/linphone-desktop-git-6.0.0.alpha.96+gitc268171/Linphone/model/conference/ConferenceInfoModel.cpp:82:46: error: ‘static QDateTime QDateTime::fromMSecsSinceEpoch(qint64, Qt::TimeSpec, int)’ is deprecated: Pass QTimeZone instead of time-spec, offset [-Werror=deprecated-declarations]
[  330s]    82 |         return QDateTime::fromMSecsSinceEpoch(mConferenceInfo->getDateTime() * 1000, Qt::LocalTime);
[  330s]       |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[  330s] In file included from /usr/include/qt6/QtCore/qdirlisting.h:12,
[  330s]                  from /usr/include/qt6/QtCore/qdir.h:9,
[  330s]                  from /usr/include/qt6/QtCore/QDir:1,
[  330s]                  from /home/abuild/rpmbuild/BUILD/linphone-desktop-git-6.0.0.alpha.96+gitc268171/Linphone/tool/Constants.hpp:24,
[  330s]                  from /home/abuild/rpmbuild/BUILD/linphone-desktop-git-6.0.0.alpha.96+gitc268171/Linphone/tool/Utils.hpp:28,
[  330s]                  from /home/abuild/rpmbuild/BUILD/linphone-desktop-git-6.0.0.alpha.96+gitc268171/Linphone/core/participant/../proxy/ListProxy.hpp:25:
[  330s] /usr/include/qt6/QtCore/qdatetime.h:486:22: note: declared here
[  330s]   486 |     static QDateTime fromMSecsSinceEpoch(qint64 msecs, Qt::TimeSpec spec, int offsetFromUtc = 0);
[  330s]       |                      ^~~~~~~~~~~~~~~~~~~
[  330s] cc1plus: some warnings being treated as errors
[  330s] make[2]: *** [Linphone/CMakeFiles/Linphone.dir/build.make:2526: Linphone/CMakeFiles/Linphone.dir/model/conference/ConferenceInfoModel.cpp.o] Error 1
@Simoon-F
Copy link

I also tried to use version 6, but the result was the same as yours, compilation also came up with ERROR and took more time than it should have and could not be resolved.

So I chose to fall back to tag 5.2.6.

I will continue to wait and see~

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants