orbitalquark / textadept

Textadept is a fast, minimalist, and remarkably extensible cross-platform text editor for programmers.
https://orbitalquark.github.io/textadept
MIT License
624 stars 38 forks source link

Compilation on Ubuntu 18.04 failed when trying to build scintilla #486

Closed fiddleyuan closed 8 months ago

fiddleyuan commented 8 months ago

I'm trying to compile textadept on Ubuntu 18.04 with Qt version 5.9.5, got some warnings during cmake configuration stage, and failed when trying to build dependent scintilla. Could someone help me figure out what might go wrong? I'm completely new to either textadept or QT and scintilla, thanks

cmake -S . -B build -DCMAKE_EXPORT_COMPILE_COMMANDS=ON

-- The C compiler identification is GNU 8.4.0 -- The CXX compiler identification is GNU 8.4.0 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /usr/bin/cc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1") -- Checking for module 'gtk+-3.0' -- Found gtk+-3.0, version 3.22.30 -- Checking for module 'gtk+-2.0' -- Found gtk+-2.0, version 2.24.32 -- Checking for one of the modules 'ncursesw;ncurses;curses' -- Checking for one of the modules 'gtk+-3.0;gtk+-2.0' -- Performing Test CMAKE_HAVE_LIBC_PTHREAD -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed -- Looking for pthread_create in pthreads -- Looking for pthread_create in pthreads - not found -- Looking for pthread_create in pthread -- Looking for pthread_create in pthread - found -- Found Threads: TRUE CMake Warning (dev) at /usr/local/share/cmake-3.26/Modules/FetchContent.cmake:1282 (message): The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is not set. The policy's OLD behavior will be used. When using a URL download, the timestamps of extracted files should preferably be that of the time of extraction, otherwise code that depends on the extracted contents might not be rebuilt if the URL changes. The OLD behavior preserves the timestamps from the archive instead, but this is usually not what you want. Update your project to the NEW behavior or specify the DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this robustness issue. Call Stack (most recent call first): CMakeLists.txt:77 (FetchContent_Declare) This warning is for project developers. Use -Wno-dev to suppress it.

-- Populating scintilla -- Configuring done (0.0s) -- Generating done (0.0s) -- Build files have been written to: /local/mnt/workspace/project/textadept/build/_deps/scintilla-subbuild [ 11%] Creating directories for 'scintilla-populate' [ 22%] Performing download step (download, verify and extract) for 'scintilla-populate' -- Downloading... dst='/local/mnt/workspace/project/textadept/build/_deps/scintilla-subbuild/scintilla-populate-prefix/src/scintilla537.tgz' timeout='none' inactivity timeout='none' -- Using src='https://www.scintilla.org/scintilla537.tgz' -- [download 0% complete] -- [download 1% complete] -- [download 2% complete] -- [download 3% complete] -- [download 4% complete] -- [download 5% complete] -- [download 6% complete] -- [download 7% complete] -- [download 8% complete] -- [download 10% complete] -- [download 11% complete] -- [download 12% complete] -- [download 13% complete] -- [download 15% complete] -- [download 16% complete] -- [download 17% complete] -- [download 18% complete] -- [download 19% complete] -- [download 20% complete] -- [download 21% complete] -- [download 22% complete] -- [download 23% complete] -- [download 24% complete] -- [download 25% complete] -- [download 26% complete] -- [download 27% complete] -- [download 28% complete] -- [download 30% complete] -- [download 31% complete] -- [download 32% complete] -- [download 33% complete] -- [download 34% complete] -- [download 35% complete] -- [download 36% complete] -- [download 37% complete] -- [download 38% complete] -- [download 39% complete] -- [download 40% complete] -- [download 41% complete] -- [download 42% complete] -- [download 43% complete] -- [download 44% complete] -- [download 45% complete] -- [download 46% complete] -- [download 47% complete] -- [download 48% complete] -- [download 49% complete] -- [download 50% complete] -- [download 51% complete] -- [download 52% complete] -- [download 53% complete] -- [download 54% complete] -- [download 55% complete] -- [download 56% complete] -- [download 58% complete] -- [download 59% complete] -- [download 60% complete] -- [download 61% complete] -- [download 62% complete] -- [download 63% complete] -- [download 64% complete] -- [download 65% complete] -- [download 66% complete] -- [download 67% complete] -- [download 69% complete] -- [download 70% complete] -- [download 71% complete] -- [download 72% complete] -- [download 73% complete] -- [download 74% complete] -- [download 75% complete] -- [download 76% complete] -- [download 78% complete] -- [download 79% complete] -- [download 80% complete] -- [download 81% complete] -- [download 82% complete] -- [download 83% complete] -- [download 84% complete] -- [download 86% complete] -- [download 87% complete] -- [download 91% complete] -- [download 92% complete] -- [download 93% complete] -- [download 96% complete] -- [download 97% complete] -- [download 98% complete] -- [download 100% complete] -- Downloading... done -- extracting... src='/local/mnt/workspace/project/textadept/build/_deps/scintilla-subbuild/scintilla-populate-prefix/src/scintilla537.tgz' dst='/local/mnt/workspace/project/textadept/build/_deps/scintilla-src' -- extracting... [tar xfz] -- extracting... [analysis] -- extracting... [rename] -- extracting... [clean up] -- extracting... done [ 33%] No update step for 'scintilla-populate' [ 44%] Performing patch step for 'scintilla-populate' patching file src/XPM.cxx Hunk #1 succeeded at 96 (offset 4 lines). patching file src/CellBuffer.cxx patching file qt/ScintillaEditBase/ScintillaEditBase.h [ 55%] No configure step for 'scintilla-populate' [ 66%] No build step for 'scintilla-populate' [ 77%] No install step for 'scintilla-populate' [ 88%] No test step for 'scintilla-populate' [100%] Completed 'scintilla-populate' [100%] Built target scintilla-populate CMake Warning (dev) at /usr/local/share/cmake-3.26/Modules/FetchContent.cmake:1282 (message): The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is not set. The policy's OLD behavior will be used. When using a URL download, the timestamps of extracted files should preferably be that of the time of extraction, otherwise code that depends on the extracted contents might not be rebuilt if the URL changes. The OLD behavior preserves the timestamps from the archive instead, but this is usually not what you want. Update your project to the NEW behavior or specify the DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this robustness issue. Call Stack (most recent call first): CMakeLists.txt:87 (FetchContent_Declare) This warning is for project developers. Use -Wno-dev to suppress it.

-- Populating lexilla -- Configuring done (0.0s) -- Generating done (0.0s) -- Build files have been written to: /local/mnt/workspace/project/textadept/build/_deps/lexilla-subbuild [ 11%] Creating directories for 'lexilla-populate' [ 22%] Performing download step (download, verify and extract) for 'lexilla-populate' -- Downloading... dst='/local/mnt/workspace/project/textadept/build/_deps/lexilla-subbuild/lexilla-populate-prefix/src/lexilla510.tgz' timeout='none' inactivity timeout='none' -- Using src='https://www.scintilla.org/lexilla510.tgz' -- [download 1% complete] -- [download 3% complete] -- [download 4% complete] -- [download 7% complete] -- [download 9% complete] -- [download 10% complete] -- [download 11% complete] -- [download 13% complete] -- [download 14% complete] -- [download 16% complete] -- [download 17% complete] -- [download 18% complete] -- [download 19% complete] -- [download 20% complete] -- [download 21% complete] -- [download 22% complete] -- [download 23% complete] -- [download 24% complete] -- [download 25% complete] -- [download 27% complete] -- [download 32% complete] -- [download 33% complete] -- [download 34% complete] -- [download 35% complete] -- [download 36% complete] -- [download 38% complete] -- [download 41% complete] -- [download 42% complete] -- [download 43% complete] -- [download 44% complete] -- [download 46% complete] -- [download 47% complete] -- [download 48% complete] -- [download 49% complete] -- [download 50% complete] -- [download 51% complete] -- [download 53% complete] -- [download 54% complete] -- [download 55% complete] -- [download 56% complete] -- [download 59% complete] -- [download 60% complete] -- [download 61% complete] -- [download 62% complete] -- [download 63% complete] -- [download 64% complete] -- [download 65% complete] -- [download 67% complete] -- [download 69% complete] -- [download 71% complete] -- [download 72% complete] -- [download 77% complete] -- [download 78% complete] -- [download 80% complete] -- [download 82% complete] -- [download 88% complete] -- [download 89% complete] -- [download 92% complete] -- [download 98% complete] -- [download 100% complete] -- Downloading... done -- extracting... src='/local/mnt/workspace/project/textadept/build/_deps/lexilla-subbuild/lexilla-populate-prefix/src/lexilla510.tgz' dst='/local/mnt/workspace/project/textadept/build/_deps/lexilla-src' -- extracting... [tar xfz] -- extracting... [analysis] -- extracting... [rename] -- extracting... [clean up] -- extracting... done [ 33%] No update step for 'lexilla-populate' [ 44%] No patch step for 'lexilla-populate' [ 55%] No configure step for 'lexilla-populate' [ 66%] No build step for 'lexilla-populate' [ 77%] No install step for 'lexilla-populate' [ 88%] No test step for 'lexilla-populate' [100%] Completed 'lexilla-populate' [100%] Built target lexilla-populate CMake Warning (dev) at /usr/local/share/cmake-3.26/Modules/FetchContent.cmake:1282 (message): The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is not set. The policy's OLD behavior will be used. When using a URL download, the timestamps of extracted files should preferably be that of the time of extraction, otherwise code that depends on the extracted contents might not be rebuilt if the URL changes. The OLD behavior preserves the timestamps from the archive instead, but this is usually not what you want. Update your project to the NEW behavior or specify the DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this robustness issue. Call Stack (most recent call first): CMakeLists.txt:98 (FetchContent_Declare) This warning is for project developers. Use -Wno-dev to suppress it.

-- Populating scinterm -- Configuring done (0.0s) -- Generating done (0.0s) -- Build files have been written to: /local/mnt/workspace/project/textadept/build/_deps/scinterm-subbuild [ 11%] Creating directories for 'scinterm-populate' [ 22%] Performing download step (download, verify and extract) for 'scinterm-populate' -- Downloading... dst='/local/mnt/workspace/project/textadept/build/_deps/scinterm-subbuild/scinterm-populate-prefix/src/scinterm_5.0.zip' timeout='none' inactivity timeout='none' -- Using src='https://github.com/orbitalquark/scinterm/archive/scinterm_5.0.zip' -- Downloading... done -- extracting... src='/local/mnt/workspace/project/textadept/build/_deps/scinterm-subbuild/scinterm-populate-prefix/src/scinterm_5.0.zip' dst='/local/mnt/workspace/project/textadept/build/_deps/scinterm-src' -- extracting... [tar xfz] -- extracting... [analysis] -- extracting... [rename] -- extracting... [clean up] -- extracting... done [ 33%] No update step for 'scinterm-populate' [ 44%] No patch step for 'scinterm-populate' [ 55%] No configure step for 'scinterm-populate' [ 66%] No build step for 'scinterm-populate' [ 77%] No install step for 'scinterm-populate' [ 88%] No test step for 'scinterm-populate' [100%] Completed 'scinterm-populate' [100%] Built target scinterm-populate CMake Warning (dev) at /usr/local/share/cmake-3.26/Modules/FetchContent.cmake:1282 (message): The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is not set. The policy's OLD behavior will be used. When using a URL download, the timestamps of extracted files should preferably be that of the time of extraction, otherwise code that depends on the extracted contents might not be rebuilt if the URL changes. The OLD behavior preserves the timestamps from the archive instead, but this is usually not what you want. Update your project to the NEW behavior or specify the DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this robustness issue. Call Stack (most recent call first): CMakeLists.txt:109 (FetchContent_Declare) This warning is for project developers. Use -Wno-dev to suppress it.

-- Populating scintillua -- Configuring done (0.0s) -- Generating done (0.0s) -- Build files have been written to: /local/mnt/workspace/project/textadept/build/_deps/scintillua-subbuild [ 11%] Creating directories for 'scintillua-populate' [ 22%] Performing download step (download, verify and extract) for 'scintillua-populate' -- Downloading... dst='/local/mnt/workspace/project/textadept/build/_deps/scintillua-subbuild/scintillua-populate-prefix/src/48a6fc9511ec67993e43ac7f5a33efc616b7ea32.zip' timeout='none' inactivity timeout='none' -- Using src='https://github.com/orbitalquark/scintillua/archive/48a6fc9511ec67993e43ac7f5a33efc616b7ea32.zip' -- Downloading... done -- extracting... src='/local/mnt/workspace/project/textadept/build/_deps/scintillua-subbuild/scintillua-populate-prefix/src/48a6fc9511ec67993e43ac7f5a33efc616b7ea32.zip' dst='/local/mnt/workspace/project/textadept/build/_deps/scintillua-src' -- extracting... [tar xfz] -- extracting... [analysis] -- extracting... [rename] -- extracting... [clean up] -- extracting... done [ 33%] No update step for 'scintillua-populate' [ 44%] No patch step for 'scintillua-populate' [ 55%] No configure step for 'scintillua-populate' [ 66%] No build step for 'scintillua-populate' [ 77%] No install step for 'scintillua-populate' [ 88%] No test step for 'scintillua-populate' [100%] Completed 'scintillua-populate' [100%] Built target scintillua-populate CMake Warning (dev) at /usr/local/share/cmake-3.26/Modules/FetchContent.cmake:1282 (message): The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is not set. The policy's OLD behavior will be used. When using a URL download, the timestamps of extracted files should preferably be that of the time of extraction, otherwise code that depends on the extracted contents might not be rebuilt if the URL changes. The OLD behavior preserves the timestamps from the archive instead, but this is usually not what you want. Update your project to the NEW behavior or specify the DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this robustness issue. Call Stack (most recent call first): CMakeLists.txt:117 (FetchContent_Declare) This warning is for project developers. Use -Wno-dev to suppress it.

-- Populating lua -- Configuring done (0.0s) -- Generating done (0.0s) -- Build files have been written to: /local/mnt/workspace/project/textadept/build/_deps/lua-subbuild [ 11%] Creating directories for 'lua-populate' [ 22%] Performing download step (download, verify and extract) for 'lua-populate' -- Downloading... dst='/local/mnt/workspace/project/textadept/build/_deps/lua-subbuild/lua-populate-prefix/src/lua-5.4.6.tar.gz' timeout='none' inactivity timeout='none' -- Using src='https://www.lua.org/ftp/lua-5.4.6.tar.gz' -- [download 0% complete] -- [download 9% complete] -- [download 14% complete] -- [download 18% complete] -- [download 23% complete] -- [download 27% complete] -- [download 32% complete] -- [download 36% complete] -- [download 41% complete] -- [download 45% complete] -- [download 50% complete] -- [download 54% complete] -- [download 59% complete] -- [download 63% complete] -- [download 68% complete] -- [download 72% complete] -- [download 77% complete] -- [download 81% complete] -- [download 86% complete] -- [download 90% complete] -- [download 95% complete] -- [download 100% complete] -- Downloading... done -- extracting... src='/local/mnt/workspace/project/textadept/build/_deps/lua-subbuild/lua-populate-prefix/src/lua-5.4.6.tar.gz' dst='/local/mnt/workspace/project/textadept/build/_deps/lua-src' -- extracting... [tar xfz] -- extracting... [analysis] -- extracting... [rename] -- extracting... [clean up] -- extracting... done [ 33%] No update step for 'lua-populate' [ 44%] Performing patch step for 'lua-populate' patching file src/luaconf.h Hunk #1 succeeded at 210 (offset 44 lines). [ 55%] No configure step for 'lua-populate' [ 66%] No build step for 'lua-populate' [ 77%] No install step for 'lua-populate' [ 88%] No test step for 'lua-populate' [100%] Completed 'lua-populate' [100%] Built target lua-populate CMake Warning (dev) at /usr/local/share/cmake-3.26/Modules/FetchContent.cmake:1282 (message): The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is not set. The policy's OLD behavior will be used. When using a URL download, the timestamps of extracted files should preferably be that of the time of extraction, otherwise code that depends on the extracted contents might not be rebuilt if the URL changes. The OLD behavior preserves the timestamps from the archive instead, but this is usually not what you want. Update your project to the NEW behavior or specify the DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this robustness issue. Call Stack (most recent call first): CMakeLists.txt:125 (FetchContent_Declare) This warning is for project developers. Use -Wno-dev to suppress it.

-- Populating lpeg -- Configuring done (0.0s) -- Generating done (0.0s) -- Build files have been written to: /local/mnt/workspace/project/textadept/build/_deps/lpeg-subbuild [ 11%] Creating directories for 'lpeg-populate' [ 22%] Performing download step (download, verify and extract) for 'lpeg-populate' -- Downloading... dst='/local/mnt/workspace/project/textadept/build/_deps/lpeg-subbuild/lpeg-populate-prefix/src/lpeg-1.1.0.tar.gz' timeout='none' inactivity timeout='none' -- Using src='https://www.inf.puc-rio.br/~roberto/lpeg/lpeg-1.1.0.tar.gz' -- [download 0% complete] -- [download 21% complete] -- [download 42% complete] -- [download 63% complete] -- [download 84% complete] -- [download 100% complete] -- Downloading... done -- extracting... src='/local/mnt/workspace/project/textadept/build/_deps/lpeg-subbuild/lpeg-populate-prefix/src/lpeg-1.1.0.tar.gz' dst='/local/mnt/workspace/project/textadept/build/_deps/lpeg-src' -- extracting... [tar xfz] -- extracting... [analysis] -- extracting... [rename] -- extracting... [clean up] -- extracting... done [ 33%] No update step for 'lpeg-populate' [ 44%] No patch step for 'lpeg-populate' [ 55%] No configure step for 'lpeg-populate' [ 66%] No build step for 'lpeg-populate' [ 77%] No install step for 'lpeg-populate' [ 88%] No test step for 'lpeg-populate' [100%] Completed 'lpeg-populate' [100%] Built target lpeg-populate CMake Warning (dev) at /usr/local/share/cmake-3.26/Modules/FetchContent.cmake:1282 (message): The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is not set. The policy's OLD behavior will be used. When using a URL download, the timestamps of extracted files should preferably be that of the time of extraction, otherwise code that depends on the extracted contents might not be rebuilt if the URL changes. The OLD behavior preserves the timestamps from the archive instead, but this is usually not what you want. Update your project to the NEW behavior or specify the DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this robustness issue. Call Stack (most recent call first): CMakeLists.txt:133 (FetchContent_Declare) This warning is for project developers. Use -Wno-dev to suppress it.

-- Populating lfs -- Configuring done (0.0s) -- Generating done (0.0s) -- Build files have been written to: /local/mnt/workspace/project/textadept/build/_deps/lfs-subbuild [ 11%] Creating directories for 'lfs-populate' [ 22%] Performing download step (download, verify and extract) for 'lfs-populate' -- Downloading... dst='/local/mnt/workspace/project/textadept/build/_deps/lfs-subbuild/lfs-populate-prefix/src/v1_8_0.zip' timeout='none' inactivity timeout='none' -- Using src='https://github.com/keplerproject/luafilesystem/archive/v1_8_0.zip' -- Downloading... done -- extracting... src='/local/mnt/workspace/project/textadept/build/_deps/lfs-subbuild/lfs-populate-prefix/src/v1_8_0.zip' dst='/local/mnt/workspace/project/textadept/build/_deps/lfs-src' -- extracting... [tar xfz] -- extracting... [analysis] -- extracting... [rename] -- extracting... [clean up] -- extracting... done [ 33%] No update step for 'lfs-populate' [ 44%] No patch step for 'lfs-populate' [ 55%] No configure step for 'lfs-populate' [ 66%] No build step for 'lfs-populate' [ 77%] No install step for 'lfs-populate' [ 88%] No test step for 'lfs-populate' [100%] Completed 'lfs-populate' [100%] Built target lfs-populate CMake Warning (dev) at /usr/local/share/cmake-3.26/Modules/FetchContent.cmake:1282 (message): The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is not set. The policy's OLD behavior will be used. When using a URL download, the timestamps of extracted files should preferably be that of the time of extraction, otherwise code that depends on the extracted contents might not be rebuilt if the URL changes. The OLD behavior preserves the timestamps from the archive instead, but this is usually not what you want. Update your project to the NEW behavior or specify the DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this robustness issue. Call Stack (most recent call first): CMakeLists.txt:144 (FetchContent_Declare) This warning is for project developers. Use -Wno-dev to suppress it.

-- Populating regex -- Configuring done (0.0s) -- Generating done (0.0s) -- Build files have been written to: /local/mnt/workspace/project/textadept/build/_deps/regex-subbuild [ 11%] Creating directories for 'regex-populate' [ 22%] Performing download step (download, verify and extract) for 'regex-populate' -- Downloading... dst='/local/mnt/workspace/project/textadept/build/_deps/regex-subbuild/regex-populate-prefix/src/1.0.zip' timeout='none' inactivity timeout='none' -- Using src='https://github.com/orbitalquark/lua-std-regex/archive/1.0.zip' -- Downloading... done -- extracting... src='/local/mnt/workspace/project/textadept/build/_deps/regex-subbuild/regex-populate-prefix/src/1.0.zip' dst='/local/mnt/workspace/project/textadept/build/_deps/regex-src' -- extracting... [tar xfz] -- extracting... [analysis] -- extracting... [rename] -- extracting... [clean up] -- extracting... done [ 33%] No update step for 'regex-populate' [ 44%] No patch step for 'regex-populate' [ 55%] No configure step for 'regex-populate' [ 66%] No build step for 'regex-populate' [ 77%] No install step for 'regex-populate' [ 88%] No test step for 'regex-populate' [100%] Completed 'regex-populate' [100%] Built target regex-populate CMake Warning (dev) at /usr/local/share/cmake-3.26/Modules/FetchContent.cmake:1282 (message): The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is not set. The policy's OLD behavior will be used. When using a URL download, the timestamps of extracted files should preferably be that of the time of extraction, otherwise code that depends on the extracted contents might not be rebuilt if the URL changes. The OLD behavior preserves the timestamps from the archive instead, but this is usually not what you want. Update your project to the NEW behavior or specify the DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this robustness issue. Call Stack (most recent call first): CMakeLists.txt:152 (FetchContent_Declare) This warning is for project developers. Use -Wno-dev to suppress it.

-- Populating cdk -- Configuring done (0.0s) -- Generating done (0.0s) -- Build files have been written to: /local/mnt/workspace/project/textadept/build/_deps/cdk-subbuild [ 11%] Creating directories for 'cdk-populate' [ 22%] Performing download step (download, verify and extract) for 'cdk-populate' -- Downloading... dst='/local/mnt/workspace/project/textadept/build/_deps/cdk-subbuild/cdk-populate-prefix/src/t20200923.tar.gz' timeout='none' inactivity timeout='none' -- Using src='https://github.com/ThomasDickey/cdk-snapshots/archive/refs/tags/t20200923.tar.gz' -- Downloading... done -- extracting... src='/local/mnt/workspace/project/textadept/build/_deps/cdk-subbuild/cdk-populate-prefix/src/t20200923.tar.gz' dst='/local/mnt/workspace/project/textadept/build/_deps/cdk-src' -- extracting... [tar xfz] -- extracting... [analysis] -- extracting... [rename] -- extracting... [clean up] -- extracting... done [ 33%] No update step for 'cdk-populate' [ 44%] Performing patch step for 'cdk-populate' patching file binding.c patching file cdk.c Hunk #1 succeeded at 454 (offset 1 line). Hunk #2 succeeded at 492 (offset -7 lines). Hunk #3 succeeded at 798 (offset 7 lines). Hunk #4 succeeded at 1255 (offset -28 lines). Hunk #5 succeeded at 1281 (offset -29 lines). Hunk #6 succeeded at 1403 (offset 25 lines). Hunk #7 succeeded at 1429 (offset 24 lines). patching file include/cdk.h patching file include/cdk_config.h patching file include/cdk_util.h patching file include/cdk_version.h patching file cdkscreen.c patching file draw.c Hunk #1 succeeded at 349 (offset 11 lines). patching file entry.c Hunk #1 succeeded at 222 (offset -1 lines). Hunk #2 succeeded at 244 (offset -1 lines). Hunk #3 succeeded at 283 (offset -3 lines). Hunk #4 succeeded at 331 (offset -3 lines). Hunk #5 succeeded at 350 (offset -3 lines). Hunk #6 succeeded at 365 (offset -3 lines). Hunk #7 succeeded at 559 (offset -1 lines). Hunk #8 succeeded at 582 with fuzz 1 (offset -2 lines). Hunk #9 succeeded at 687 with fuzz 2 (offset -3 lines). Hunk #11 succeeded at 712 (offset 1 line). patching file fselect.c Hunk #2 succeeded at 1110 (offset 6 lines). Hunk #3 succeeded at 1323 (offset 7 lines). Hunk #4 succeeded at 1382 (offset 7 lines). patching file gen-scale.c patching file include/gen-scale.h patching file itemlist.c patching file matrix.c patching file view_info.c patching file viewer.c patching file include/slider.h patching file slider.c [ 55%] No configure step for 'cdk-populate' [ 66%] No build step for 'cdk-populate' [ 77%] No install step for 'cdk-populate' [ 88%] No test step for 'cdk-populate' [100%] Completed 'cdk-populate' [100%] Built target cdk-populate CMake Warning (dev) at /usr/local/share/cmake-3.26/Modules/FetchContent.cmake:1282 (message): The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is not set. The policy's OLD behavior will be used. When using a URL download, the timestamps of extracted files should preferably be that of the time of extraction, otherwise code that depends on the extracted contents might not be rebuilt if the URL changes. The OLD behavior preserves the timestamps from the archive instead, but this is usually not what you want. Update your project to the NEW behavior or specify the DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this robustness issue. Call Stack (most recent call first): CMakeLists.txt:160 (FetchContent_Declare) This warning is for project developers. Use -Wno-dev to suppress it.

-- Populating termkey -- Configuring done (0.0s) -- Generating done (0.0s) -- Build files have been written to: /local/mnt/workspace/project/textadept/build/_deps/termkey-subbuild [ 11%] Creating directories for 'termkey-populate' [ 22%] Performing download step (download, verify and extract) for 'termkey-populate' -- Downloading... dst='/local/mnt/workspace/project/textadept/build/_deps/termkey-subbuild/termkey-populate-prefix/src/libtermkey-0.22.tar.gz' timeout='none' inactivity timeout='none' -- Using src='https://www.leonerd.org.uk/code/libtermkey/libtermkey-0.22.tar.gz' -- [download 35% complete] -- [download 71% complete] -- [download 100% complete] -- Downloading... done -- extracting... src='/local/mnt/workspace/project/textadept/build/_deps/termkey-subbuild/termkey-populate-prefix/src/libtermkey-0.22.tar.gz' dst='/local/mnt/workspace/project/textadept/build/_deps/termkey-src' -- extracting... [tar xfz] -- extracting... [analysis] -- extracting... [rename] -- extracting... [clean up] -- extracting... done [ 33%] No update step for 'termkey-populate' [ 44%] Performing patch step for 'termkey-populate' patching file driver-win-pdcurses.c patching file termkey-internal.h patching file termkey.c Hunk #7 succeeded at 520 (offset -6 lines). File termkey.h is read-only; trying to patch anyway patching file termkey.h [ 55%] No configure step for 'termkey-populate' [ 66%] No build step for 'termkey-populate' [ 77%] No install step for 'termkey-populate' [ 88%] No test step for 'termkey-populate' [100%] Completed 'termkey-populate' [100%] Built target termkey-populate CMake Warning (dev) at /usr/local/share/cmake-3.26/Modules/FetchContent.cmake:1282 (message): The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is not set. The policy's OLD behavior will be used. When using a URL download, the timestamps of extracted files should preferably be that of the time of extraction, otherwise code that depends on the extracted contents might not be rebuilt if the URL changes. The OLD behavior preserves the timestamps from the archive instead, but this is usually not what you want. Update your project to the NEW behavior or specify the DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this robustness issue. Call Stack (most recent call first): CMakeLists.txt:191 (FetchContent_Declare) This warning is for project developers. Use -Wno-dev to suppress it.

-- Populating singleapp -- Configuring done (0.0s) -- Generating done (0.0s) -- Build files have been written to: /local/mnt/workspace/project/textadept/build/_deps/singleapp-subbuild [ 11%] Creating directories for 'singleapp-populate' [ 22%] Performing download step (download, verify and extract) for 'singleapp-populate' -- Downloading... dst='/local/mnt/workspace/project/textadept/build/_deps/singleapp-subbuild/singleapp-populate-prefix/src/v3.4.0.zip' timeout='none' inactivity timeout='none' -- Using src='https://github.com/itay-grudev/SingleApplication/archive/refs/tags/v3.4.0.zip' -- Downloading... done -- extracting... src='/local/mnt/workspace/project/textadept/build/_deps/singleapp-subbuild/singleapp-populate-prefix/src/v3.4.0.zip' dst='/local/mnt/workspace/project/textadept/build/_deps/singleapp-src' -- extracting... [tar xfz] -- extracting... [analysis] -- extracting... [rename] -- extracting... [clean up] -- extracting... done [ 33%] No update step for 'singleapp-populate' [ 44%] No patch step for 'singleapp-populate' [ 55%] No configure step for 'singleapp-populate' [ 66%] No build step for 'singleapp-populate' [ 77%] No install step for 'singleapp-populate' [ 88%] No test step for 'singleapp-populate' [100%] Completed 'singleapp-populate' [100%] Built target singleapp-populate -- Configuring done (54.4s) -- Generating done (0.0s) -- Build files have been written to: /local/mnt/workspace/project/textadept/build

cmake --build build

[ 1%] Automatic MOC and UIC for target scintilla [ 1%] Built target scintilla_autogen [ 1%] Building CXX object CMakeFiles/scintilla.dir/scintilla_autogen/mocs_compilation.cpp.o [ 2%] Building CXX object CMakeFiles/scintilla.dir/_deps/scintilla-src/src/AutoComplete.cxx.o [ 3%] Building CXX object CMakeFiles/scintilla.dir/_deps/scintilla-src/src/CallTip.cxx.o [ 3%] Building CXX object CMakeFiles/scintilla.dir/_deps/scintilla-src/src/CaseConvert.cxx.o [ 4%] Building CXX object CMakeFiles/scintilla.dir/_deps/scintilla-src/src/CaseFolder.cxx.o [ 4%] Building CXX object CMakeFiles/scintilla.dir/_deps/scintilla-src/src/CellBuffer.cxx.o [ 5%] Building CXX object CMakeFiles/scintilla.dir/_deps/scintilla-src/src/ChangeHistory.cxx.o [ 5%] Building CXX object CMakeFiles/scintilla.dir/_deps/scintilla-src/src/CharClassify.cxx.o [ 6%] Building CXX object CMakeFiles/scintilla.dir/_deps/scintilla-src/src/CharacterCategoryMap.cxx.o [ 7%] Building CXX object CMakeFiles/scintilla.dir/_deps/scintilla-src/src/CharacterType.cxx.o [ 7%] Building CXX object CMakeFiles/scintilla.dir/_deps/scintilla-src/src/ContractionState.cxx.o [ 8%] Building CXX object CMakeFiles/scintilla.dir/_deps/scintilla-src/src/DBCS.cxx.o [ 8%] Building CXX object CMakeFiles/scintilla.dir/_deps/scintilla-src/src/Decoration.cxx.o [ 9%] Building CXX object CMakeFiles/scintilla.dir/_deps/scintilla-src/src/Document.cxx.o [ 9%] Building CXX object CMakeFiles/scintilla.dir/_deps/scintilla-src/src/EditModel.cxx.o [ 10%] Building CXX object CMakeFiles/scintilla.dir/_deps/scintilla-src/src/EditView.cxx.o [ 11%] Building CXX object CMakeFiles/scintilla.dir/_deps/scintilla-src/src/Editor.cxx.o [ 11%] Building CXX object CMakeFiles/scintilla.dir/_deps/scintilla-src/src/Geometry.cxx.o [ 12%] Building CXX object CMakeFiles/scintilla.dir/_deps/scintilla-src/src/Indicator.cxx.o [ 12%] Building CXX object CMakeFiles/scintilla.dir/_deps/scintilla-src/src/KeyMap.cxx.o [ 13%] Building CXX object CMakeFiles/scintilla.dir/_deps/scintilla-src/src/LineMarker.cxx.o [ 13%] Building CXX object CMakeFiles/scintilla.dir/_deps/scintilla-src/src/MarginView.cxx.o [ 14%] Building CXX object CMakeFiles/scintilla.dir/_deps/scintilla-src/src/PerLine.cxx.o [ 15%] Building CXX object CMakeFiles/scintilla.dir/_deps/scintilla-src/src/PositionCache.cxx.o [ 15%] Building CXX object CMakeFiles/scintilla.dir/_deps/scintilla-src/src/RESearch.cxx.o [ 16%] Building CXX object CMakeFiles/scintilla.dir/_deps/scintilla-src/src/RunStyles.cxx.o [ 16%] Building CXX object CMakeFiles/scintilla.dir/_deps/scintilla-src/src/ScintillaBase.cxx.o [ 17%] Building CXX object CMakeFiles/scintilla.dir/_deps/scintilla-src/src/Selection.cxx.o [ 17%] Building CXX object CMakeFiles/scintilla.dir/_deps/scintilla-src/src/Style.cxx.o [ 18%] Building CXX object CMakeFiles/scintilla.dir/_deps/scintilla-src/src/UniConversion.cxx.o [ 19%] Building CXX object CMakeFiles/scintilla.dir/_deps/scintilla-src/src/UniqueString.cxx.o [ 19%] Building CXX object CMakeFiles/scintilla.dir/_deps/scintilla-src/src/ViewStyle.cxx.o [ 20%] Building CXX object CMakeFiles/scintilla.dir/_deps/scintilla-src/src/XPM.cxx.o [ 20%] Linking CXX static library libscintilla.a [ 20%] Built target scintilla [ 20%] Automatic MOC and UIC for target scintilla_qt [ 20%] Built target scintilla_qt_autogen [ 20%] Building CXX object CMakeFiles/scintilla_qt.dir/scintilla_qt_autogen/mocs_compilation.cpp.o [ 21%] Building CXX object CMakeFiles/scintilla_qt.dir/_deps/scintilla-src/qt/ScintillaEditBase/PlatQt.cpp.o /local/mnt/workspace/project/textadept/build/_deps/scintilla-src/qt/ScintillaEditBase/PlatQt.cpp: In function ‘QRect Scintilla::Internal::{anonymous}::ScreenRectangleForPoint(QPoint)’: /local/mnt/workspace/project/textadept/build/_deps/scintilla-src/qt/ScintillaEditBase/PlatQt.cpp:800:16: error: invalid use of incomplete type ‘const class QDesktopWidget’ return desktop->availableGeometry(posGlobal); ^~ In file included from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1, from /local/mnt/workspace/project/textadept/build/_deps/scintilla-src/qt/ScintillaEditBase/PlatQt.cpp:19: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:57:7: note: forward declaration of ‘class QDesktopWidget’ class QDesktopWidget; ^~~~~~ CMakeFiles/scintilla_qt.dir/build.make:89: recipe for target 'CMakeFiles/scintilla_qt.dir/_deps/scintilla-src/qt/ScintillaEditBase/PlatQt.cpp.o' failed make[2]: [CMakeFiles/scintilla_qt.dir/_deps/scintilla-src/qt/ScintillaEditBase/PlatQt.cpp.o] Error 1 CMakeFiles/Makefile2:176: recipe for target 'CMakeFiles/scintilla_qt.dir/all' failed make[1]: [CMakeFiles/scintilla_qt.dir/all] Error 2 Makefile:135: recipe for target 'all' failed make: *** [all] Error 2

fiddleyuan commented 8 months ago

The issue fixed by explicitly put #include <QDesktopWidget> in build/_deps/scintilla-src/qt/ScintillaEditBase/PlatQt.cpp

Then I came across second compile issue where filter.setFilterRegularExpression was incomplete in src/textadept_qt.cpp and I found this was caused by https://github.com/orbitalquark/textadept/commit/8b19c29606c540c23942fdcb8bb405bf0ef50768 Now the workaround is to revert this change.

So both compilation issue was caused by QT version. Maybe my Ubuntu 18.04 is way obsolete.

orbitalquark commented 8 months ago

Yes, unfortunately the version of Qt provided by Ubuntu 18.04 is not high enough. The undocumented floor for Textadept is Qt 5.12 (Ubuntu 20.04). Once 20.04 becomes unsupported, the floor will probably go up to Qt 5.15 (Ubuntu 22.04) in order to simplify some code -- the code you linked to has comments that Qt 5.15 provides some things that Qt 5.12 does not have.

Also, the author of Scintilla works really hard to make sure Scintilla compiles and runs on a wide array of supported platforms. Since Ubuntu 18.04 is not supported anymore, I doubt compatibility with legacy platforms is a priority.

It's good that you found a workaround, but while Textadept may work with older versions of Qt, it may not do so indefinitely.

fiddleyuan commented 8 months ago

Yes, unfortunately the version of Qt provided by Ubuntu 18.04 is not high enough. The undocumented floor for Textadept is Qt 5.12 (Ubuntu 20.04). Once 20.04 becomes unsupported, the floor will probably go up to Qt 5.15 (Ubuntu 22.04) in order to simplify some code -- the code you linked to has comments that Qt 5.15 provides some things that Qt 5.12 does not have.

Also, the author of Scintilla works really hard to make sure Scintilla compiles and runs on a wide array of supported platforms. Since Ubuntu 18.04 is not supported anymore, I doubt compatibility with legacy platforms is a priority.

It's good that you found a workaround, but while Textadept may work with older versions of Qt, it may not do so indefinitely.

Thanks @orbitalquark for the clarification. I'll close the issue now.