ONLYOFFICE / build_tools

Used to build ONLYOFFICE DocumentServer-related products
https://www.onlyoffice.com
GNU Affero General Public License v3.0
103 stars 185 forks source link

numerous build failures #749

Closed MikaelUrankar closed 1 year ago

MikaelUrankar commented 1 year ago

This issue is unique.

Operating System of DocumentServer

Linux (DEB package)

Version information

7.4.1.36

Expected Behavior

Build succeed.

Actual Behavior

Build fails.

Reproduction Steps

Build the core component.

Additional information

c++ -c -pipe -Wno-register -fvisibility=hidden -fvisibility-inlines-hidden -Wno-narrowing -Wno-narrowing -O2 -std=gnu++11 -w -pthread -fPIC -D_QT -DGRAPHICS_USE_DYNAMIC_LIBRARY_BUILDING -DINTVER=7.4.1.36 -DWIN_INTVER=7,4,1,36 -DCOPYRIGHT_YEAR=2023 -DHAVE_UNISTD_H -DHAVE_FCNTL_H -DDISABLE_IMAGE_EXCEPTIONS -D_QT -DEXCLUDE_JPG_SUPPORT -DMNG_SUPPORT_DISPLAY -DMNG_SUPPORT_READ -DMNG_SUPPORT_WRITE -DMNG_ACCESS_CHUNKS -DMNG_STORE_CHUNKS -DMNG_ERROR_TELLTALE -DHAVE_UNISTD_H -DMETAFILE_SUPPORT_WMF_EMF -DMETAFILE_SUPPORT_WMF_EMF_XML -DMETAFILE_SUPPORT_SVG -DMETAFILE_SUPPORT_SVM -DFT_CONFIG_OPTION_SYSTEM_ZLIB -DFT2_BUILD_LIBRARY -DSUPPORT_HARFBUZZ_SHAPER -DQT_NO_DEBUG -DQT_PLUGIN -I. -I../../agg-2.4/include -I../../cximage/jasper/include -I../../cximage/jpeg -I../../cximage/png -I../../../OfficeUtils/src/zlib-1.2.11 -I../../../OfficeUtils/src -I../../freetype-2.10.4/include -I../../freetype-2.10.4/include/freetype -I/usr/local/include -I/usr/local/lib/qt5/mkspecs/freebsd-clang -o core_build/freebsd_64/release/obj/root/onlyoffice-documentserver-ports/work/DocumentServer-7.4.1/core/DesktopEditor/cximage/CxImage/ximagif.o ../../cximage/CxImage/ximagif.cpp
../../cximage/CxImage/ximagif.cpp:89:28: error: cannot initialize return object of type 'bool' with an rvalue of type 'std::nullptr_t'
                    return NULL;
                           ^~~~
/usr/include/sys/_null.h:35:14: note: expanded from macro 'NULL'
#define NULL    nullptr
                ^~~~~~~
1 error generated.
c++ -c -pipe -Wno-register -fvisibility=hidden -fvisibility-inlines-hidden -O2 -std=gnu++1y -w -pthread -fPIC -DINTVER=7.4.1.36 -DWIN_INTVER=7,4,1,36 -DCOPYRIGHT_YEAR=2023 -DDOCTRENDERER_USE_DYNAMIC_LIBRARY_BUILDING -DV8_VERSION_89_PLUS -DV8_COMPRESS_POINTERS -DV8_VERSION_89_PLUS -DV8_COMPRESS_POINTERS -DV8_INSPECTOR -DSUPPORT_HARFBUZZ_SHAPER -DBUIDLER_OPEN_DOWNLOAD_ENABLED -DBUIDLER_OPEN_BASE64_ENABLED -DQT_NO_DEBUG -DQT_PLUGIN -I. -Ijs_internal -I../../Common/3dParty/v8_89/v8 -I../../Common/3dParty/v8_89/v8/include -Ijs_internal/v8/inspector -I/usr/local/include -I/root/onlyoffice-documentserver-ports/work/DocumentServer-7.4.1/core/Common/3dParty/openssl/build/freebsd_64/lib/../include -I/usr/local/include -I/usr/local/lib/qt5/mkspecs/freebsd-clang -o core_build/freebsd_64/release/obj/nativecontrol.o nativecontrol.cpp

In file included from nativecontrol.cpp:32:
./nativecontrol.h:330:15: error: assigning to 'BYTE' (aka 'unsigned char') from incompatible type 'std::nullptr_t'
                                        *pData = NULL;
                                                 ^~~~
/usr/include/sys/_null.h:35:14: note: expanded from macro 'NULL'
#define NULL    nullptr
                ^~~~~~~
1 error generated.
c++ -c -Xclang -include-pch -Xclang core_build/freebsd_64/release/obj/DocxFormatLib.pch/c++.pch -pipe -Wno-register -fvisibility=hidden -fvisibility-inlines-hidden -Wall -Wno-ignored-qualifiers -O2 -fPIC -std=gnu++11 -w -pthread -DINTVER=7.4.1.36 -DWIN_INTVER=7,4,1,36 -DCOPYRIGHT_YEAR=2023 -DCRYPTOPP_DISABLE_ASM -DUNICODE -D_UNICODE -DDONT_WRITE_EMBEDDED_FONTS -DQT_NO_DEBUG -I. -I/usr/local/include -I/usr/local/include -I/usr/local/lib/qt5/mkspecs/freebsd-clang -o core_build/freebsd_64/release/obj/docx_format_logic.o docx_format_logic.cpp
In file included from ./xlsx_format_logic.cpp:38:
./../../../XlsxFormat/Chart/ChartSerialize.cpp:1285:13: error: invalid operands to binary expression ('std::nullptr_t' and 'bool')
                        if (NULL != m_l.IsInit())
                            ~~~~ ^  ~~~~~~~~~~~~
1 error generated.
c++ -c -pipe -Wno-register -fvisibility=hidden -fvisibility-inlines-hidden -Wall -Wno-ignored-qualifiers -O2 -fPIC -std=gnu++11 -w -pthread -DINTVER=7.4.1.36 -DWIN_INTVER=7,4,1,36 -DCOPYRIGHT_YEAR=2023 -DCRYPTOPP_DISABLE_ASM -DUNICODE -D_UNICODE -DAVS_USE_CONVERT_PPTX_TOCUSTOM_VML -DDONT_WRITE_EMBEDDED_FONTS -DQT_NO_DEBUG -I. -I/usr/local/include -I../../../../Common/ASCDocxFormat/Source/Utility -I../../../../Common/ASCDocxFormat/Source/XML -I../../../../Common/ASCDocxFormat/Source -I../../../../../MsBinaryFile/XlsFile/Format -I../../../../../MsBinaryFile/Common/common_xls -I../../../XlsbFormat -I/usr/local/include -I/usr/local/lib/qt5/mkspecs/freebsd-clang -o core_build/freebsd_64/release/obj/root/onlyoffice-documentserver-ports/work/DocumentServer-7.4.1/core/OOXML/Binary/Presentation/Converter.o ../../../Binary/Presentation/Converter.cpp
../../../Binary/Presentation/Converter.cpp:208:13: error: invalid operands to binary expression ('std::nullptr_t' and 'size_t' (aka 'unsigned long'))
                        if (NULL != pPointerN) 
                            ~~~~ ^  ~~~~~~~~~
1 error generated.
c++ -c -pipe -Wno-register -fvisibility=hidden -fvisibility-inlines-hidden -Wall -Wno-ignored-qualifiers -O2 -fPIC -std=gnu++11 -w -pthread -DINTVER=7.4.1.36 -DWIN_INTVER=7,4,1,36 -DCOPYRIGHT_YEAR=2023 -DCRYPTOPP_DISABLE_ASM -DUNICODE -D_UNICODE -DAVS_USE_CONVERT_PPTX_TOCUSTOM_VML -DDONT_WRITE_EMBEDDED_FONTS -DQT_NO_DEBUG -I. -I/usr/local/include -I../../../../Common/ASCDocxFormat/Source/Utility -I../../../../Common/ASCDocxFormat/Source/XML -I../../../../Common/ASCDocxFormat/Source -I../../../../../MsBinaryFile/XlsFile/Format -I../../../../../MsBinaryFile/Common/common_xls -I../../../XlsbFormat -I/usr/local/include -I/usr/local/lib/qt5/mkspecs/freebsd-clang -o core_build/freebsd_64/release/obj/root/onlyoffice-documentserver-ports/work/DocumentServer-7.4.1/core/OOXML/PPTXFormat/DrawingConverter/ASCOfficeDrawingConverter.o ../../../PPTXFormat/DrawingConverter/ASCOfficeDrawingConverter.cpp

../../../PPTXFormat/DrawingConverter/ASCOfficeDrawingConverter.cpp:1933:10: error: cannot initialize return object of type 'bool' with an rvalue of type 'std::nullptr_t'
                return NULL; 
                       ^~~~
/usr/include/sys/_null.h:35:14: note: expanded from macro 'NULL'
#define NULL    nullptr
                ^~~~~~~
../../../PPTXFormat/DrawingConverter/ASCOfficeDrawingConverter.cpp:1937:10: error: cannot initialize return object of type 'bool' with an rvalue of type 'std::nullptr_t'
                return NULL;
                       ^~~~
/usr/include/sys/_null.h:35:14: note: expanded from macro 'NULL'
#define NULL    nullptr
                ^~~~~~~
1 error generated.
c++ -c -pipe -Wno-register -fvisibility=hidden -fvisibility-inlines-hidden -Wall -Wno-ignored-qualifiers -O2 -fPIC -std=gnu++11 -w -pthread -DINTVER=7.4.1.36 -DWIN_INTVER=7,4,1,36 -DCOPYRIGHT_YEAR=2023 -DCRYPTOPP_DISABLE_ASM -DUNICODE -D_UNICODE -DDONT_WRITE_EMBEDDED_FONTS -DQT_NO_DEBUG -I. -I/usr/local/include -I/usr/local/include -I/usr/local/lib/qt5/mkspecs/freebsd-clang -o core_build/freebsd_64/release/obj/root/onlyoffice-documentserver-ports/work/DocumentServer-7.4.1/core/TxtFile/Source/ConvertDocx2Txt.o ../../Source/ConvertDocx2Txt.cpp
../../Source/ConvertDocx2Txt.cpp:152:6: error: no matching constructor for initialization of 'std::vector<int>'
                :  Lists(NULL), NoteCount(0), listNumPrev(1)
                   ^     ~~~~
/usr/include/c++/v1/vector:381:66: note: candidate constructor not viable: no known conversion from 'std::nullptr_t' to 'const allocator_type' (aka 'const std::allocator<int>') for 1st argument
    _LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_HIDE_FROM_ABI explicit vector(const allocator_type& __a)
                                                                 ^
/usr/include/c++/v1/vector:391:66: note: candidate constructor not viable: no known conversion from 'std::nullptr_t' to 'size_type' (aka 'unsigned long') for 1st argument
    _LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_HIDE_FROM_ABI explicit vector(size_type __n);
                                                                 ^
/usr/include/c++/v1/vector:458:57: note: candidate constructor not viable: no known conversion from 'std::nullptr_t' to 'const vector<int>' for 1st argument
    _LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_HIDE_FROM_ABI vector(const vector& __x);
                                                        ^
/usr/include/c++/v1/vector:465:5: note: candidate constructor not viable: no known conversion from 'std::nullptr_t' to 'initializer_list<value_type>' (aka 'initializer_list<int>') for 1st argument
    vector(initializer_list<value_type> __il);
    ^
/usr/include/c++/v1/vector:476:5: note: candidate constructor not viable: no known conversion from 'std::nullptr_t' to 'vector<int>' for 1st argument
    vector(vector&& __x)
    ^
1 error generated.
c++ -c -Xclang -include-pch -Xclang core_build/freebsd_64/release/obj/BinDocument.pch/c++.pch -pipe -Wno-register -fvisibility=hidden -fvisibility-inlines-hidden -Wall -Wno-ignored-qualifiers -O2 -fPIC -std=gnu++11 -w -pthread -DINTVER=7.4.1.36 -DWIN_INTVER=7,4,1,36 -DCOPYRIGHT_YEAR=2023 -DCRYPTOPP_DISABLE_ASM -DUNICODE -D_UNICODE -DSOLUTION_ASCOFFICEDOCXFILE2 -DDONT_WRITE_EMBEDDED_FONTS -DAVS_USE_CONVERT_PPTX_TOCUSTOM_VML -DQT_NO_DEBUG -I. -I/usr/local/include -I../../../../MsBinaryFile/XlsFile/Format -I../../../../MsBinaryFile/Common/common_xls -I../../../XlsbFormat -I/usr/local/include -I/usr/local/lib/qt5/mkspecs/freebsd-clang -o core_build/freebsd_64/release/obj/root/onlyoffice-documentserver-ports/work/DocumentServer-7.4.1/core/OOXML/Binary/Sheets/Reader/ChartFromToBinary.o ../../../Binary/Sheets/Reader/ChartFromToBinary.cpp
../../../Binary/Sheets/Reader/ChartFromToBinary.cpp:10013:12: error: invalid operands to binary expression ('std::nullptr_t' and 'bool')
                if (NULL != oVal.m_shape.IsInit())
                    ~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~
1 error generated.
c++ -c -pipe -Wno-register -fvisibility=hidden -fvisibility-inlines-hidden -Wall -Wno-ignored-qualifiers -O2 -std=gnu++11 -pthread -fPIC -DKERNEL_USE_DYNAMIC_LIBRARY_BUILDING -DINTVER=7.4.1.36 -DWIN_INTVER=7,4,1,36 -DCOPYRIGHT_YEAR=2023 -DBUILD_ZLIB_AS_SOURCES -DHAVE_VA_COPY -DLIBXML_READER_ENABLED -DLIBXML_PUSH_ENABLED -DLIBXML_HTML_ENABLED -DLIBXML_XPATH_ENABLED -DLIBXML_OUTPUT_ENABLED -DLIBXML_C14N_ENABLED -DLIBXML_SAX1_ENABLED -DLIBXML_TREE_ENABLED -DLIBXML_XPTR_ENABLED -DIN_LIBXML -DLIBXML_STATIC -DQT_NO_DEBUG -DQT_PLUGIN -I. -I../OfficeUtils/src/zlib-1.2.11/contrib/minizip -I../OfficeUtils/src/zlib-1.2.11 -I../OfficeUtils/src -I../DesktopEditor/xml/libxml2/include -I../DesktopEditor/xml/libxml2/include/libxml -I../DesktopEditor/xml/build/qt -I/usr/local/include -I/usr/local/lib/qt5/mkspecs/freebsd-clang -o core_build/freebsd_64/release/obj/root/onlyoffice-documentserver-ports/work/DocumentServer-7.4.1/core/DesktopEditor/common/Directory.o ../DesktopEditor/common/Directory.cpp
../DesktopEditor/common/Directory.cpp:505:18: error: using the result of an assignment as a condition without parentheses [-Werror,-Wparentheses]
                if (deleteRoot = false) CreateDirectory(strDirectory);
                    ~~~~~~~~~~~^~~~~~~
../DesktopEditor/common/Directory.cpp:505:18: note: place parentheses around the assignment to silence this warning
                if (deleteRoot = false) CreateDirectory(strDirectory);
                               ^
                    (                 )
../DesktopEditor/common/Directory.cpp:505:18: note: use '==' to turn this assignment into an equality comparison
                if (deleteRoot = false) CreateDirectory(strDirectory);
                               ^
                               ==
1 error generated.
igwyd commented 1 year ago

Hello @MikaelUrankar, 2 days ago we released new version 7.5.0. Could you try build again? Here our manual - https://github.com/ONLYOFFICE/build_tools

MikaelUrankar commented 1 year ago

The code hasn't changed and the build failure is the same: https://github.com/ONLYOFFICE/core/blob/master/DesktopEditor/cximage/CxImage/ximagif.cpp#L89C20-L89C33 https://github.com/ONLYOFFICE/core/blob/master/DesktopEditor/doctrenderer/nativecontrol.h#L330C3-L330C10 https://github.com/ONLYOFFICE/core/blob/master/OOXML/XlsxFormat/Chart/ChartSerialize.cpp#L1285 https://github.com/ONLYOFFICE/core/blob/master/OOXML/Binary/Presentation/Converter.cpp#L208 https://github.com/ONLYOFFICE/core/blob/master/OOXML/PPTXFormat/DrawingConverter/ASCOfficeDrawingConverter.cpp#L1956 https://github.com/ONLYOFFICE/core/blob/master/OOXML/PPTXFormat/DrawingConverter/ASCOfficeDrawingConverter.cpp#L1960 https://github.com/ONLYOFFICE/core/blob/master/TxtFile/Source/ConvertDocx2Txt.cpp#L152 https://github.com/ONLYOFFICE/core/blob/master/OOXML/Binary/Sheets/Reader/ChartFromToBinary.cpp#L10085 https://github.com/ONLYOFFICE/core/blob/master/DesktopEditor/common/Directory.cpp#L505 https://github.com/ONLYOFFICE/core/blob/master/DesktopEditor/common/Directory.cpp#L513C20-L513C20

igwyd commented 1 year ago

I checked the build on currently updated Ubuntu 16.04 and 20.04, with 4 core cpu, 8 gb ram, 8 gb swap, 80 gb ssd and didn't get any errors. Maybe your machine doesn't have enough resources?

MikaelUrankar commented 1 year ago

I have a plenty of resources : AMD Ryzen 9 3900X with 64GB of ram I'm using a recent compiler (llvm16)

igwyd commented 1 year ago

I agree, you have enought resources. As far as I know at the moment our assembly works only using our tool from this repo https://github.com/ONLYOFFICE/build_tools

MikaelUrankar commented 1 year ago

It would be nice to fix these errors regardless of the toolchain used.

igwyd commented 1 year ago

Unfortunately we haven't the detailed documentation, but i created ticket #64992 with your proposal for our team to add documentation. Duplicate of #751

MikaelUrankar commented 1 year ago

You do not plan to fix bugs and build failures?

igwyd commented 1 year ago

The assembly is adapted only for build_tools at the moment, and it work i checked. I agree with you that the assembly should work not only in our tool chain, but this requires documentation.