epoupon / lms

Lightweight Music Server. Access your self-hosted music using a web interface.
http://lms-demo.poupon.dev
GNU General Public License v3.0
1.09k stars 61 forks source link

Build failure: `error: 'pipe2' was not declared in this scope; did you mean 'pipe'?` #514

Closed barracuda156 closed 2 weeks ago

barracuda156 commented 1 month ago
--->  Configuring lms
        (using ccache)
Executing:  cd "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lms/lms/work/build" && /opt/local/bin/cmake -G "CodeBlocks - Unix Makefiles" -DCMAKE_BUILD_TYPE=MacPorts -DCMAKE_INSTALL_PREFIX="/opt/local" -DCMAKE_INSTALL_NAME_DIR="/opt/local/lib" -DCMAKE_SYSTEM_PREFIX_PATH="/opt/local;/usr" -DCMAKE_C_COMPILER_LAUNCHER=/opt/local/bin/ccache -DCMAKE_CXX_COMPILER_LAUNCHER=/opt/local/bin/ccache -DCMAKE_Fortran_COMPILER_LAUNCHER=/opt/local/bin/ccache -DCMAKE_OBJC_COMPILER_LAUNCHER=/opt/local/bin/ccache -DCMAKE_OBJCXX_COMPILER_LAUNCHER=/opt/local/bin/ccache -DCMAKE_ISPC_COMPILER_LAUNCHER=/opt/local/bin/ccache -DCMAKE_C_COMPILER="$CC" -DCMAKE_CXX_COMPILER="$CXX" -DCMAKE_OBJC_COMPILER="$CC" -DCMAKE_OBJCXX_COMPILER="$CXX" -DCMAKE_POLICY_DEFAULT_CMP0025=NEW -DCMAKE_POLICY_DEFAULT_CMP0060=NEW -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_COLOR_MAKEFILE=ON -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_MAKE_PROGRAM=/usr/bin/make -DCMAKE_MODULE_PATH="/opt/local/share/cmake/Modules" -DCMAKE_PREFIX_PATH="/opt/local/share/cmake/Modules" -DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=ON -DCMAKE_INSTALL_RPATH="/opt/local/lib" -Wno-dev -DBUILD_BENCHMARKS=OFF -DENABLE_TESTS=OFF -DBOOST_ROOT=/opt/local/libexec/boost/1.81 -DBOOSTROOT=/opt/local/libexec/boost/1.81 -DBOOST_INCLUDEDIR=/opt/local/libexec/boost/1.81/include -DBOOST_LIBRARYDIR=/opt/local/libexec/boost/1.81/lib -DBOOST_INCLUDE_DIR=/opt/local/libexec/boost/1.81/include -DBOOST_LIBRARY_DIR=/opt/local/libexec/boost/1.81/lib -DBOOST_LIB_DIR=/opt/local/libexec/boost/1.81/lib -DBoost_NO_SYSTEM_PATHS=ON -DBoost_INCLUDE_DIR=/opt/local/libexec/boost/1.81/include -DBoost_DIR=/opt/local/libexec/boost/1.81 -DCMAKE_OSX_ARCHITECTURES="ppc" -DCMAKE_OSX_DEPLOYMENT_TARGET="10.6" -DCMAKE_OSX_SYSROOT="/" /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lms/lms/work/lms-3.56.0 
-- The C compiler identification is GNU 14.2.0
-- The CXX compiler identification is GNU 14.2.0
-- Checking whether C compiler has -isysroot
-- Checking whether C compiler has -isysroot - yes
-- Checking whether C compiler supports OSX deployment target flag
-- Checking whether C compiler supports OSX deployment target flag - yes
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /opt/local/bin/gcc-mp-14 - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Checking whether CXX compiler has -isysroot
-- Checking whether CXX compiler has -isysroot - yes
-- Checking whether CXX compiler supports OSX deployment target flag
-- Checking whether CXX compiler supports OSX deployment target flag - yes
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /opt/local/bin/g++-mp-14 - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PkgConfig: /opt/local/bin/pkg-config (found version "0.29.2")
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Looking for C++ include filesystem
-- Looking for C++ include filesystem - found
-- Performing Test CXX_FILESYSTEM_NO_LINK_NEEDED
-- Performing Test CXX_FILESYSTEM_NO_LINK_NEEDED - Success
-- Found Boost: /opt/local/libexec/boost/1.81/include (found version "1.81.0") found components: system program_options iostreams regex
-- Checking for modules 'libavcodec;libavutil;libavformat'
--   Found libavcodec, version 58.134.100
--   Found libavutil, version 56.70.100
--   Found libavformat, version 58.76.100
-- Checking for module 'libconfig++'
--   Found libconfig++, version 1.7.3
-- Checking for module 'libarchive'
--   Found libarchive, version 3.7.4
-- Found StbImage: /opt/local/include/stb
-- Using stb (resize version 2)
-- Checking for module 'taglib'
--   Found taglib, version 1.13.1
-- Performing Test PAM_MESSAGE_CONST
-- Performing Test PAM_MESSAGE_CONST - Success
-- Using PAM authentication backend
-- Configuring done (24.6s)
-- Generating done (0.8s)
CMake Warning:
  Manually-specified variables were not used by the project:

    BOOST_INCLUDE_DIR
    BOOST_LIBRARY_DIR
    BOOST_LIB_DIR
    CMAKE_OBJCXX_COMPILER
    CMAKE_OBJC_COMPILER
    CMAKE_POLICY_DEFAULT_CMP0025
    CMAKE_POLICY_DEFAULT_CMP0060

-- Build files have been written to: /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lms/lms/work/build
--->  Building lms
Executing:  cd "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lms/lms/work/build" && /usr/bin/make -j6 -w all VERBOSE=ON 
make: Entering directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lms/lms/work/build'
/opt/local/bin/cmake -S/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lms/lms/work/lms-3.56.0 -B/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lms/lms/work/build --check-build-system CMakeFiles/Makefile.cmake 0
/opt/local/bin/cmake -E cmake_progress_start /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lms/lms/work/build/CMakeFiles /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lms/lms/work/build//CMakeFiles/progress.marks
/usr/bin/make  -f CMakeFiles/Makefile2 all
make[1]: Entering directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lms/lms/work/build'
/usr/bin/make  -f src/libs/core/CMakeFiles/lmscore.dir/build.make src/libs/core/CMakeFiles/lmscore.dir/depend
make[2]: Entering directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lms/lms/work/build'
cd /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lms/lms/work/build && /opt/local/bin/cmake -E cmake_depends "Unix Makefiles" /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lms/lms/work/lms-3.56.0 /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lms/lms/work/lms-3.56.0/src/libs/core /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lms/lms/work/build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lms/lms/work/build/src/libs/core /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lms/lms/work/build/src/libs/core/CMakeFiles/lmscore.dir/DependInfo.cmake "--color="
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lms/lms/work/build'
/usr/bin/make  -f src/libs/core/CMakeFiles/lmscore.dir/build.make src/libs/core/CMakeFiles/lmscore.dir/build
make[2]: Entering directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lms/lms/work/build'
[  1%] Building CXX object src/libs/core/CMakeFiles/lmscore.dir/impl/ChildProcess.cpp.o
[  1%] Building CXX object src/libs/core/CMakeFiles/lmscore.dir/impl/http/Client.cpp.o
cd /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lms/lms/work/build/src/libs/core && /opt/local/bin/ccache /opt/local/bin/g++-mp-14 -DNDEBUG -Dlmscore_EXPORTS -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lms/lms/work/lms-3.56.0/src/libs/core/include -isystem /opt/local/include -isystem /opt/local/libexec/boost/1.81/include -pipe -I/opt/local/libexec/boost/1.81/include -Os -DNDEBUG -isystem/opt/local/include/LegacySupport -I/opt/local/libexec/boost/1.81/include -I/opt/local/include -D_GLIBCXX_USE_CXX11_ABI=0 -std=gnu++20 -arch ppc -mmacosx-version-min=10.6 -fPIC -Wall -Wextra -pedantic -MD -MT src/libs/core/CMakeFiles/lmscore.dir/impl/ChildProcess.cpp.o -MF CMakeFiles/lmscore.dir/impl/ChildProcess.cpp.o.d -o CMakeFiles/lmscore.dir/impl/ChildProcess.cpp.o -c /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lms/lms/work/lms-3.56.0/src/libs/core/impl/ChildProcess.cpp
cd /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lms/lms/work/build/src/libs/core && /opt/local/bin/ccache /opt/local/bin/g++-mp-14 -DNDEBUG -Dlmscore_EXPORTS -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lms/lms/work/lms-3.56.0/src/libs/core/include -isystem /opt/local/include -isystem /opt/local/libexec/boost/1.81/include -pipe -I/opt/local/libexec/boost/1.81/include -Os -DNDEBUG -isystem/opt/local/include/LegacySupport -I/opt/local/libexec/boost/1.81/include -I/opt/local/include -D_GLIBCXX_USE_CXX11_ABI=0 -std=gnu++20 -arch ppc -mmacosx-version-min=10.6 -fPIC -Wall -Wextra -pedantic -MD -MT src/libs/core/CMakeFiles/lmscore.dir/impl/http/Client.cpp.o -MF CMakeFiles/lmscore.dir/impl/http/Client.cpp.o.d -o CMakeFiles/lmscore.dir/impl/http/Client.cpp.o -c /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lms/lms/work/lms-3.56.0/src/libs/core/impl/http/Client.cpp
[  2%] Building CXX object src/libs/core/CMakeFiles/lmscore.dir/impl/http/SendQueue.cpp.o
cd /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lms/lms/work/build/src/libs/core && /opt/local/bin/ccache /opt/local/bin/g++-mp-14 -DNDEBUG -Dlmscore_EXPORTS -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lms/lms/work/lms-3.56.0/src/libs/core/include -isystem /opt/local/include -isystem /opt/local/libexec/boost/1.81/include -pipe -I/opt/local/libexec/boost/1.81/include -Os -DNDEBUG -isystem/opt/local/include/LegacySupport -I/opt/local/libexec/boost/1.81/include -I/opt/local/include -D_GLIBCXX_USE_CXX11_ABI=0 -std=gnu++20 -arch ppc -mmacosx-version-min=10.6 -fPIC -Wall -Wextra -pedantic -MD -MT src/libs/core/CMakeFiles/lmscore.dir/impl/http/SendQueue.cpp.o -MF CMakeFiles/lmscore.dir/impl/http/SendQueue.cpp.o.d -o CMakeFiles/lmscore.dir/impl/http/SendQueue.cpp.o -c /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lms/lms/work/lms-3.56.0/src/libs/core/impl/http/SendQueue.cpp
[  2%] Building CXX object src/libs/core/CMakeFiles/lmscore.dir/impl/ChildProcessManager.cpp.o
cd /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lms/lms/work/build/src/libs/core && /opt/local/bin/ccache /opt/local/bin/g++-mp-14 -DNDEBUG -Dlmscore_EXPORTS -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lms/lms/work/lms-3.56.0/src/libs/core/include -isystem /opt/local/include -isystem /opt/local/libexec/boost/1.81/include -pipe -I/opt/local/libexec/boost/1.81/include -Os -DNDEBUG -isystem/opt/local/include/LegacySupport -I/opt/local/libexec/boost/1.81/include -I/opt/local/include -D_GLIBCXX_USE_CXX11_ABI=0 -std=gnu++20 -arch ppc -mmacosx-version-min=10.6 -fPIC -Wall -Wextra -pedantic -MD -MT src/libs/core/CMakeFiles/lmscore.dir/impl/ChildProcessManager.cpp.o -MF CMakeFiles/lmscore.dir/impl/ChildProcessManager.cpp.o.d -o CMakeFiles/lmscore.dir/impl/ChildProcessManager.cpp.o -c /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lms/lms/work/lms-3.56.0/src/libs/core/impl/ChildProcessManager.cpp
[  2%] Building CXX object src/libs/core/CMakeFiles/lmscore.dir/impl/ArchiveZipper.cpp.o
cd /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lms/lms/work/build/src/libs/core && /opt/local/bin/ccache /opt/local/bin/g++-mp-14 -DNDEBUG -Dlmscore_EXPORTS -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lms/lms/work/lms-3.56.0/src/libs/core/include -isystem /opt/local/include -isystem /opt/local/libexec/boost/1.81/include -pipe -I/opt/local/libexec/boost/1.81/include -Os -DNDEBUG -isystem/opt/local/include/LegacySupport -I/opt/local/libexec/boost/1.81/include -I/opt/local/include -D_GLIBCXX_USE_CXX11_ABI=0 -std=gnu++20 -arch ppc -mmacosx-version-min=10.6 -fPIC -Wall -Wextra -pedantic -MD -MT src/libs/core/CMakeFiles/lmscore.dir/impl/ArchiveZipper.cpp.o -MF CMakeFiles/lmscore.dir/impl/ArchiveZipper.cpp.o.d -o CMakeFiles/lmscore.dir/impl/ArchiveZipper.cpp.o -c /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lms/lms/work/lms-3.56.0/src/libs/core/impl/ArchiveZipper.cpp
[  3%] Building CXX object src/libs/core/CMakeFiles/lmscore.dir/impl/Config.cpp.o
cd /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lms/lms/work/build/src/libs/core && /opt/local/bin/ccache /opt/local/bin/g++-mp-14 -DNDEBUG -Dlmscore_EXPORTS -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lms/lms/work/lms-3.56.0/src/libs/core/include -isystem /opt/local/include -isystem /opt/local/libexec/boost/1.81/include -pipe -I/opt/local/libexec/boost/1.81/include -Os -DNDEBUG -isystem/opt/local/include/LegacySupport -I/opt/local/libexec/boost/1.81/include -I/opt/local/include -D_GLIBCXX_USE_CXX11_ABI=0 -std=gnu++20 -arch ppc -mmacosx-version-min=10.6 -fPIC -Wall -Wextra -pedantic -MD -MT src/libs/core/CMakeFiles/lmscore.dir/impl/Config.cpp.o -MF CMakeFiles/lmscore.dir/impl/Config.cpp.o.d -o CMakeFiles/lmscore.dir/impl/Config.cpp.o -c /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lms/lms/work/lms-3.56.0/src/libs/core/impl/Config.cpp
[  3%] Building CXX object src/libs/core/CMakeFiles/lmscore.dir/impl/FileResourceHandler.cpp.o
cd /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lms/lms/work/build/src/libs/core && /opt/local/bin/ccache /opt/local/bin/g++-mp-14 -DNDEBUG -Dlmscore_EXPORTS -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lms/lms/work/lms-3.56.0/src/libs/core/include -isystem /opt/local/include -isystem /opt/local/libexec/boost/1.81/include -pipe -I/opt/local/libexec/boost/1.81/include -Os -DNDEBUG -isystem/opt/local/include/LegacySupport -I/opt/local/libexec/boost/1.81/include -I/opt/local/include -D_GLIBCXX_USE_CXX11_ABI=0 -std=gnu++20 -arch ppc -mmacosx-version-min=10.6 -fPIC -Wall -Wextra -pedantic -MD -MT src/libs/core/CMakeFiles/lmscore.dir/impl/FileResourceHandler.cpp.o -MF CMakeFiles/lmscore.dir/impl/FileResourceHandler.cpp.o.d -o CMakeFiles/lmscore.dir/impl/FileResourceHandler.cpp.o -c /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lms/lms/work/lms-3.56.0/src/libs/core/impl/FileResourceHandler.cpp
[  4%] Building CXX object src/libs/core/CMakeFiles/lmscore.dir/impl/IOContextRunner.cpp.o
cd /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lms/lms/work/build/src/libs/core && /opt/local/bin/ccache /opt/local/bin/g++-mp-14 -DNDEBUG -Dlmscore_EXPORTS -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lms/lms/work/lms-3.56.0/src/libs/core/include -isystem /opt/local/include -isystem /opt/local/libexec/boost/1.81/include -pipe -I/opt/local/libexec/boost/1.81/include -Os -DNDEBUG -isystem/opt/local/include/LegacySupport -I/opt/local/libexec/boost/1.81/include -I/opt/local/include -D_GLIBCXX_USE_CXX11_ABI=0 -std=gnu++20 -arch ppc -mmacosx-version-min=10.6 -fPIC -Wall -Wextra -pedantic -MD -MT src/libs/core/CMakeFiles/lmscore.dir/impl/IOContextRunner.cpp.o -MF CMakeFiles/lmscore.dir/impl/IOContextRunner.cpp.o.d -o CMakeFiles/lmscore.dir/impl/IOContextRunner.cpp.o -c /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lms/lms/work/lms-3.56.0/src/libs/core/impl/IOContextRunner.cpp
[  4%] Building CXX object src/libs/core/CMakeFiles/lmscore.dir/impl/Logger.cpp.o
cd /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lms/lms/work/build/src/libs/core && /opt/local/bin/ccache /opt/local/bin/g++-mp-14 -DNDEBUG -Dlmscore_EXPORTS -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lms/lms/work/lms-3.56.0/src/libs/core/include -isystem /opt/local/include -isystem /opt/local/libexec/boost/1.81/include -pipe -I/opt/local/libexec/boost/1.81/include -Os -DNDEBUG -isystem/opt/local/include/LegacySupport -I/opt/local/libexec/boost/1.81/include -I/opt/local/include -D_GLIBCXX_USE_CXX11_ABI=0 -std=gnu++20 -arch ppc -mmacosx-version-min=10.6 -fPIC -Wall -Wextra -pedantic -MD -MT src/libs/core/CMakeFiles/lmscore.dir/impl/Logger.cpp.o -MF CMakeFiles/lmscore.dir/impl/Logger.cpp.o.d -o CMakeFiles/lmscore.dir/impl/Logger.cpp.o -c /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lms/lms/work/lms-3.56.0/src/libs/core/impl/Logger.cpp
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lms/lms/work/lms-3.56.0/src/libs/core/impl/ChildProcess.cpp: In constructor 'lms::core::ChildProcess::ChildProcess(boost::asio::io_context&, const std::filesystem::path&, const lms::core::IChildProcess::Args&)':
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lms/lms/work/lms-3.56.0/src/libs/core/impl/ChildProcess.cpp:71:18: error: 'pipe2' was not declared in this scope; did you mean 'pipe'?
   71 |         int res{ pipe2(pipe, O_NONBLOCK | O_CLOEXEC) };
      |                  ^~~~~
      |                  pipe
make[2]: *** [src/libs/core/CMakeFiles/lmscore.dir/impl/ChildProcess.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lms/lms/work/build'
make[1]: *** [src/libs/core/CMakeFiles/lmscore.dir/all] Error 2
make[1]: Leaving directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lms/lms/work/build'
make: *** [all] Error 2
barracuda156 commented 1 month ago

Looks like pipe2 may be unavailable on macOS: https://github.com/saleyn/erlexec/issues/153

epoupon commented 2 weeks ago

Hello! Would you mind testing the fix-macos-build branch? You can also cherry pick https://github.com/epoupon/lms/commit/777c36005bdcdc09e1813a84f3f2c0acc0b47fac if you don't want to get the updates made on the develop branch

barracuda156 commented 2 weeks ago

@epoupon Thank you! Your fix works, the only minor problem remaining was this: https://github.com/epoupon/lms/pull/524 With that, the build succeeds now.

barracuda156 commented 2 weeks ago

@epoupon Looks like it even runs! On 10.6 on PowerPC:

lms

epoupon commented 2 weeks ago

Good news! Did you manage to actually use it?

barracuda156 commented 2 weeks ago

@epoupon I have just fixed the build, need to read documentation to see how to use it. But curious now :)

Could you review my PR btw?