DaanDeMeyer / reproc

A cross-platform (C99/C++11) process library

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Build Errors in reproc Package - Declaration Conflict with reproc++ (Required for zrhtym Installation)

mene311 opened this issue · comments

Introduction:
I am encountering build errors while trying to install the "reproc" package on Arch Linux. The error seems to be related to a declaration conflict with "reproc++," which results in changes of meaning for certain variables. It is worth noting that I am installing the "reproc" package as it is a prerequisite for the installation of "zrhtym."

Error Messages:
During the installation process, the following errors were encountered:

In file included from /home/mene/.cache/yay/reproc/src/reproc-14.2.4/reproc++/src/reproc.cpp:1:
/home/mene/.cache/yay/reproc/src/reproc-14.2.4/reproc++/include/reproc++/reproc.hpp:95:5: error: declaration of ‘reproc::options::<unnamed struct> reproc::options::env’ changes meaning of ‘env’ [-Wchanges-meaning]
   95 |   } env = {};
      |     ^~~
/home/mene/.cache/yay/reproc/src/reproc-14.2.4/reproc++/include/reproc++/reproc.hpp:91:5: note: used here to mean ‘class reproc::env’
   91 |     env::type behavior;
      |     ^~~
In file included from /home/mene/.cache/yay/reproc/src/reproc-14.2.4/reproc++/include/reproc++/reproc.hpp:11:
/home/mene/.cache/yay/reproc/src/reproc-14.2.4/reproc++/include/reproc++/env.hpp:8:7: note: declared here
    8 | class env : public detail::array {
      |       ^~~
/home/mene/.cache/yay/reproc/src/reproc-14.2.4/reproc++/include/reproc++/reproc.hpp:107:5: error: declaration of ‘reproc::options::<unnamed struct> reproc::options::redirect’ changes meaning of ‘redirect’ [-Wchanges-meaning]
  107 |   } redirect = {};
      |     ^~~~~~~~
/home/mene/.cache/yay/reproc/src/reproc-14.2.4/reproc++/include/reproc++/reproc.hpp:102:5: note: used here to mean ‘struct reproc::redirect’
  102 |     redirect err;
      |     ^~~~~~~~
/home/mene/.cache/yay/reproc/src/reproc-14.2.4/reproc++/include/reproc++/reproc.hpp:68:8: note: declared here
   68 | struct redirect {
      |        ^~~~~~~~
make[2]: *** [reproc++/CMakeFiles/reproc++.dir/build.make:76: reproc++/CMakeFiles/reproc++.dir/src/reproc.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:683: reproc++/CMakeFiles/reproc++.dir/all] Error 2
make: *** [Makefile:146: all] Error 2

Expected Outcome:
I expected the "reproc" package to be installed successfully without any build errors, as it is a prerequisite for the installation of "zrthym."

Steps Taken So Far:
I have attempted to install the "reproc" package using yay -S reproc, and also tried the temporary fix by setting the CXXFLAGS environment variable to -Wno-changes-meaning, but the build errors persist.

System Information:

Arch Linux 
Compiler version: GNU 13.1.1

Request for Assistance:
I kindly request assistance from the "reproc" community to resolve the build errors encountered during the installation of the "reproc" package. The package is essential as it serves as a prerequisite for installing "zrthym." Any guidance, suggestions, or possible solutions to address the declaration conflict with "reproc++" would be highly appreciated.

Conclusion:
I am experiencing build errors while installing the "reproc" package on Arch Linux due to a declaration conflict with "reproc++." It is important to note that "reproc" is required as a prerequisite for the installation of "zrthym." I have provided the error messages, system information, and details about the attempted temporary fix. I am seeking assistance from the "reproc" forum or community to find a proper solution to this issue. Thank you for your time and support.

possible duplication of #94

I got the same issue when building it as a dependency of the aur package micromamba 1.4.9-1 today.

$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /build/gcc/src/gcc/configure --enable-languages=ada,c,c++,d,fortran,go,lto,objc,obj-c++ --enable-bootstrap --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://bugs.archlinux.org/ --with-build-config=bootstrap-lto --with-linker-hash-style=gnu --with-system-zlib --enable-__cxa_atexit --enable-cet=auto --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-default-ssp --enable-gnu-indirect-function --enable-gnu-unique-object --enable-libstdcxx-backtrace --enable-link-serialization=1 --enable-linker-build-id --enable-lto --enable-multilib --enable-plugin --enable-shared --enable-threads=posix --disable-libssp --disable-libstdcxx-pch --disable-werror
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 13.2.1 20230801 (GCC)
 $ uname -srvmo
Linux 6.4.12-arch1-1 #1 SMP PREEMPT_DYNAMIC Thu, 24 Aug 2023 00:38:14 +0000 x86_64 GNU/Linux