[Issue]: Build issue related with zlib usage
### **Summary**
MegaSyncLogger.cpp produce build failures related with zlib usage
---
I'm trying to update my spec for mageia Linux to build 6.1.1.0 version of megasync
I check what AUR and Gentoo did to build , and import some patches from gentoo
### **What happened?**
The build process fail with this message
[ 43%] Building CXX object src/MEGASync/CMakeFiles/MEGAsync.dir/control/MegaSyncLogger.cpp.o
cd /home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/build/src/MEGASync && /usr/bin/c++ -DENABLE_LOG_PERFORMANCE -DENABLE_SYNC -DHAVE_LIBUV -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DQT_NO_DEBUG -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_QUICKWIDGETS_LIB -DQT_QUICK_LIB -DQT_SVG_LIB -DQT_WIDGETS_LIB -DQT_X11EXTRAS_LIB -DUSE_DBUS -I/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/build/src/MEGASync/MEGAsync_autogen/include -I/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync -I/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/control -I/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/control/BugReport -I/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/control/DataBaseClasses -I/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/control/Preferences -I/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/gui -I/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/gui/NodeNameSetterDialog -I/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/gui/node_selector -I/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/gui/node_selector/model -I/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/gui/node_selector/gui -I/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/gui/qml -I/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/gui/onboarding -I/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/gui/SyncExclusions -I/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/gui/backups -I/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/gui/upsell -I/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/gui/surveys -I/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/gui/message_dialogs -I/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/gui/syncs -I/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/gui/ui -I/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/gui/user_messages -I/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/gui/DeviceCentre -I/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/gui/tokenizer -I/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/gui/LoadingView -I/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/gui/LoadingView/ui -I/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/gui/qml/change_password -I/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/notifications/linux -I/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/notifications -I/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/platform -I/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/platform/linux -I/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/platform/mac -I/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/platform/win -I/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/build/src/MEGASync/win -I/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/qtlockedfile -I/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/stalled_issues -I/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/stalled_issues/gui -I/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/stalled_issues/gui/stalled_issues_cases -I/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/stalled_issues/model -I/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/node_selector -I/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/node_selector/gui -I/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/node_selector/model -I/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/syncs -I/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/syncs/gui -I/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/syncs/gui/Backups -I/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/syncs/gui/Twoways -I/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/syncs/control -I/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/syncs/control/reminders -I/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/syncs/model -I/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/transfers -I/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/transfers/model -I/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/transfers/gui -I/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/transfers/gui/DuplicatedNodeDialogs -I/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/UserAttributesRequests -I/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/mega/include -I/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/build/src/MEGASync/mega -I/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/mega/include/mega/posix -I/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/mega/bindings/qt -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtX11Extras -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5/QtCore -isystem /usr/lib64/qt5/mkspecs/linux-g++ -isystem /usr/include/qt5/QtDBus -isystem /home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/mega/third_party/ccronexpr -isystem /usr/include/cryptopp -isystem /usr/include/qt5/QtSvg -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtNetwork -isystem /usr/include/qt5/QtQml -isystem /usr/include/qt5/QtQuick -isystem /usr/include/qt5/QtQmlModels -isystem /usr/include/qt5/QtQuickWidgets -O2 -g -pipe -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -fasynchronous-unwind-tables -fPIC -DNDEBUG -lz -std=gnu++17 -Wall -Wextra -Wconversion -Wno-unused-parameter -D__STDC_FORMAT_MACROS -fPIC -MD -MT src/MEGASync/CMakeFiles/MEGAsync.dir/control/MegaSyncLogger.cpp.o -MF CMakeFiles/MEGAsync.dir/control/MegaSyncLogger.cpp.o.d -o CMakeFiles/MEGAsync.dir/control/MegaSyncLogger.cpp.o -c /home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/control/MegaSyncLogger.cpp
/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/control/MegaSyncLogger.cpp: In function 'void gzipCompressOnRotate(QString, QString)':
/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/control/MegaSyncLogger.cpp:65:25: error: 'gzFile_s' has not been declared
65 | auto gzdeleter = [](gzFile_s* f) { if (f) gzclose(f); };
| ^~~~~~~~
/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/control/MegaSyncLogger.cpp: In lambda function:
/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/control/MegaSyncLogger.cpp:65:47: error: 'gzclose' was not declared in this scope; did you mean 'pclose'?
65 | auto gzdeleter = [](gzFile_s* f) { if (f) gzclose(f); };
| ^~~~~~~
| pclose
/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/control/MegaSyncLogger.cpp: In function 'void gzipCompressOnRotate(QString, QString)':
/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/control/MegaSyncLogger.cpp:70:21: error: 'gzFile_s' was not declared in this scope
70 | std::unique_ptr<gzFile_s, decltype(gzdeleter)> gzfile{ gzopen(destinationFilename.toUtf8().data(), "wb"), gzdeleter };
| ^~~~~~~~
/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/control/MegaSyncLogger.cpp:70:50: error: template argument 1 is invalid
70 | std::unique_ptr<gzFile_s, decltype(gzdeleter)> gzfile{ gzopen(destinationFilename.toUtf8().data(), "wb"), gzdeleter };
| ^
/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/control/MegaSyncLogger.cpp:70:60: error: 'gzopen' was not declared in this scope; did you mean 'popen'?
70 | std::unique_ptr<gzFile_s, decltype(gzdeleter)> gzfile{ gzopen(destinationFilename.toUtf8().data(), "wb"), gzdeleter };
| ^~~~~~
| popen
/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/control/MegaSyncLogger.cpp:70:52: error: scalar object 'gzfile' requires one element in initializer
70 | std::unique_ptr<gzFile_s, decltype(gzdeleter)> gzfile{ gzopen(destinationFilename.toUtf8().data(), "wb"), gzdeleter };
| ^~~~~~
/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/src/MEGASync/control/MegaSyncLogger.cpp:82:13: error: 'gzputs' was not declared in this scope; did you mean 'puts'?
82 | if (gzputs(gzfile.get(), line.c_str()) == -1)
| ^~~~~~
| puts
gmake[2]: *** [src/MEGASync/CMakeFiles/MEGAsync.dir/build.make:589: src/MEGASync/CMakeFiles/MEGAsync.dir/control/MegaSyncLogger.cpp.o] Error 1
gmake[2]: *** Waiting for unfinished jobs....
gmake[2]: Leaving directory '/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/build'
gmake[1]: *** [CMakeFiles/Makefile2:423: src/MEGASync/CMakeFiles/MEGAsync.dir/all] Error 2
gmake[1]: Leaving directory '/home/katnatek/myrepo/megasync/BUILD/MEGAsync-6.1.1.0_Linux/build'
gmake: *** [Makefile:139: all] Error 2
I check includes and the zlib development component is in my system
---
### **Environment Details**
Provide details about the environment where the issue occurred.
Mageia 9 or Mageia Cauldron (both x86_64)
Megasync 6.1.1.0
---
0 条评论