Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
mene311 opened this issue Jul 16, 2023 · 1 comment

Comments

@mene311
Copy link

mene311 commented Jul 16, 2023

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.

@LucunJi
Copy link

LucunJi commented Aug 28, 2023

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants