I am trying to compile glslviewer-2.1.2 on gentoo linux. It seems there is something wrong with sys-libs/ncurses or I'm missing some dependencies. Here are logs.
log1 (compile with clang)
```
ld.lld: error: undefined symbol: COLS
>>> referenced by console.cpp
>>> lto.tmp:(console_sigwinch_handler(int))
>>> referenced by console.cpp
>>> lto.tmp:(console_init(int))
ld.lld: error: undefined symbol: LINES
>>> referenced by console.cpp
>>> lto.tmp:(console_sigwinch_handler(int))
>>> referenced by console.cpp
>>> lto.tmp:(console_sigwinch_handler(int))
>>> referenced by console.cpp
>>> lto.tmp:(console_init(int))
ld.lld: error: undefined symbol: raw
>>> referenced by console.cpp
>>> lto.tmp:(console_init(int))
ld.lld: error: undefined symbol: cbreak
>>> referenced by console.cpp
>>> lto.tmp:(console_init(int))
ld.lld: error: undefined symbol: stdscr
>>> referenced by console.cpp
>>> lto.tmp:(console_init(int))
>>> referenced by console.cpp
>>> lto.tmp:(console_getline(std::__1::basic_string, std::__1::allocator >&, std::__1::vector >&, Sandbox&))
ld.lld: error: undefined symbol: keypad
>>> referenced by console.cpp
>>> lto.tmp:(console_init(int))
clang-14: error: linker command failed with exit code 1 (use -v to see invocation)
make[3]: *** [CMakeFiles/glslViewer.dir/build.make:309: glslViewer] Error 1
make[3]: Leaving directory '/var/tmp/portage/media-gfx/glslviewer-2.1.2/work/glslviewer-2.1.2/build'
make[2]: *** [CMakeFiles/Makefile2:275: CMakeFiles/glslViewer.dir/all] Error 2
make[2]: Leaving directory '/var/tmp/portage/media-gfx/glslviewer-2.1.2/work/glslviewer-2.1.2/build'
make[1]: *** [Makefile:156: all] Error 2
make[1]: Leaving directory '/var/tmp/portage/media-gfx/glslviewer-2.1.2/work/glslviewer-2.1.2/build'
make: *** [Makefile:3: default] Error 2
* ERROR: media-gfx/glslviewer-2.1.2::niuiic failed (compile phase):
* emake failed
*
* If you need support, post the output of `emerge --info '=media-gfx/glslviewer-2.1.2::niuiic'`,
* the complete build log and the output of `emerge -pqv '=media-gfx/glslviewer-2.1.2::niuiic'`.
* The complete build log is located at '/var/tmp/portage/media-gfx/glslviewer-2.1.2/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/media-gfx/glslviewer-2.1.2/temp/environment'.
* Working directory: '/var/tmp/portage/media-gfx/glslviewer-2.1.2/work/glslviewer-2.1.2'
* S: '/var/tmp/portage/media-gfx/glslviewer-2.1.2/work/glslviewer-2.1.2'
```
log2 (compile with gcc)
```
/usr/lib/gcc/x86_64-pc-linux-gnu/11.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: CMakeFiles/glslViewer.dir/src/tools/console.cpp.o: undefined reference to symbol 'COLS'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: /lib64/libtinfo.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[3]: *** [CMakeFiles/glslViewer.dir/build.make:309: glslViewer] Error 1
make[3]: Leaving directory '/var/tmp/portage/media-gfx/glslviewer-2.1.2/work/glslviewer-2.1.2/build'
make[2]: *** [CMakeFiles/Makefile2:275: CMakeFiles/glslViewer.dir/all] Error 2
make[2]: Leaving directory '/var/tmp/portage/media-gfx/glslviewer-2.1.2/work/glslviewer-2.1.2/build'
make[1]: *** [Makefile:156: all] Error 2
make[1]: Leaving directory '/var/tmp/portage/media-gfx/glslviewer-2.1.2/work/glslviewer-2.1.2/build'
make: *** [Makefile:3: default] Error 2
* ERROR: media-gfx/glslviewer-2.1.2::niuiic failed (compile phase):
* emake failed
*
* If you need support, post the output of `emerge --info '=media-gfx/glslviewer-2.1.2::niuiic'`,
* the complete build log and the output of `emerge -pqv '=media-gfx/glslviewer-2.1.2::niuiic'`.
* The complete build log is located at '/var/tmp/portage/media-gfx/glslviewer-2.1.2/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/media-gfx/glslviewer-2.1.2/temp/environment'.
* Working directory: '/var/tmp/portage/media-gfx/glslviewer-2.1.2/work/glslviewer-2.1.2'
* S: '/var/tmp/portage/media-gfx/glslviewer-2.1.2/work/glslviewer-2.1.2'
```
USE flag of sys-libs/ncurses
```
╰─ equery u sys-libs/ncurses
[ Legend : U - final flag setting for installation]
[ : I - package is installed with flag ]
[ Colors : set, unset ]
* Found these USE flags for sys-libs/ncurses-6.3_p20220423:
U I
+ + abi_x86_32 : 32-bit (x86) libraries
- - ada : Add bindings for the ADA programming language
+ + cxx : Build support for C++ (bindings, extra libraries, code generation, ...)
- - debug : Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful
backtraces see https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces
- - doc : Add extra documentation (API, Javadoc, etc). It is recommended to enable per package instead
of globally
- - gpm : Add support for sys-libs/gpm (Console-based mouse driver)
- - minimal : Install a very minimal build (disables, for example, plugins, fonts, most drivers,
non-critical features)
- - profile : Add support for software performance analysis (will likely vary from ebuild to ebuild)
+ + stack-realign : Realign the stack in the 32-bit build for compatibility with older binaries at some
performance cost. Avoids crashes in older 32-bit binaries. Only affects x86/32-bit multilib
builds on amd64.
- - static-libs : Build static versions of dynamic libraries as well
- - test : Enable dependencies and/or preparations necessary to run tests (usually controlled by
FEATURES=test but can be toggled independently)
- - trace : Enable test trace() support in ncurses calls
- - verify-sig : Verify upstream signatures on distfiles
```
ebuild
```sh
# Copyright 2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DESCRIPTION="Console-based GLSL Sandbox for 2D/3D shaders"
HOMEPAGE="https://github.com/patriciogonzalezvivo/glslViewer"
inherit git-r3
EGIT_CLONE_TYPE=shallow
EGIT_REPO_URI="https://github.com/patriciogonzalezvivo/glslViewer"
EGIT_COMMIT="${PV}"
EGIT_SUBMODULES=("*")
LICENSE="BSD3"
SLOT="0"
KEYWORDS="~amd64"
DEPEND="
sys-libs/ncurses
media-video/ffmpeg
media-libs/glu
"
RDEPEND="${DEPEND}"
BDEPEND=""
src_install() {
dobin "${S}/build/glslViewer"
}
```
emerge --info
```
Portage 3.0.38.1 (python 3.10.6-final-0, default/linux/amd64/17.1/systemd, gcc-11.3.0, glibc-2.35-r8, 6.0.0-gentoo-x86_64 x86_64)
=================================================================
System uname: Linux-6.0.0-gentoo-x86_64-x86_64-12th_Gen_Intel-R-_Core-TM-_i7-12700H-with-glibc2.35
KiB Mem: 16125828 total, 8745884 free
KiB Swap: 33554428 total, 33554428 free
Timestamp of repository gentoo: Wed, 05 Oct 2022 15:18:55 +0000
Head commit of repository gentoo: 2b64e3850bc7118481c7eb8013c9d704a01b200b
Head commit of repository niuiic: b0fcf0aba22307d6f17fef3801788901c6b5b5eb
sh bash 5.1_p16-r1
ld GNU ld (Gentoo 2.38 p4) 2.38
ccache version 4.5.1 [enabled]
app-misc/pax-utils: 1.3.5::gentoo
app-shells/bash: 5.1_p16-r1::gentoo
dev-lang/perl: 5.34.1-r3::gentoo
dev-lang/python: 3.10.6_p4::gentoo
dev-util/ccache: 4.5.1::gentoo
dev-util/cmake: 3.23.3::gentoo
dev-util/meson: 0.63.2-r1::gentoo
sys-apps/baselayout: 2.8::gentoo
sys-apps/sandbox: 2.29::gentoo
sys-apps/systemd: 251.4::gentoo
sys-devel/autoconf: 2.71-r1::gentoo
sys-devel/automake: 1.16.5::gentoo
sys-devel/binutils: 2.38-r2::gentoo
sys-devel/binutils-config: 5.4.1::gentoo
sys-devel/clang: 14.0.6-r1::gentoo
sys-devel/gcc: 11.3.0::gentoo
sys-devel/gcc-config: 2.5-r1::gentoo
sys-devel/libtool: 2.4.7::gentoo
sys-devel/lld: 14.0.6::gentoo
sys-devel/llvm: 14.0.6-r2::gentoo
sys-devel/make: 4.3::gentoo
sys-kernel/linux-headers: 5.15-r3::gentoo (virtual/os-headers)
sys-libs/glibc: 2.35-r8::gentoo
Repositories:
gentoo
location: /var/db/repos/gentoo
sync-type: git
sync-uri: https://github.com/gentoo-mirror/gentoo
priority: -1000
niuiic
location: /var/db/repos/niuiic
sync-type: git
sync-uri: https://github.com/niuiic/gentoo-overlay
masters: gentoo
benzene-overlay
location: /var/lib/layman/benzene-overlay
masters: gentoo
priority: 50
gentoo-zh
location: /var/lib/layman/gentoo-zh
masters: gentoo
priority: 50
ABI="amd64"
ABI_X86="32 64"
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="*"
ACCEPT_PROPERTIES="*"
ACCEPT_RESTRICT="*"
ADA_TARGET="gnat_2020"
ALACRITTY_LOG="/tmp/Alacritty-1215765.log"
ALACRITTY_SOCKET="/run/user/1000/Alacritty-:0-1215765.sock"
ALACRITTY_WINDOW_ID="60817412"
APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias"
AR="llvm-ar"
ARCH="amd64"
AUTOCLEAN="no"
AUTO_CLEAN="yes"
BINPKG_COMPRESS="zstd"
BINPKG_FORMAT="xpak"
BINPKG_GPG_SIGNING_BASE_COMMAND="/usr/bin/flock /run/lock/portage-binpkg-gpg.lock /usr/bin/gpg --sign --armor [PORTAGE_CONFIG]"
BINPKG_GPG_SIGNING_DIGEST="SHA512"
BINPKG_GPG_VERIFY_BASE_COMMAND="/usr/bin/gpg --verify --batch --no-tty --no-auto-check-trustdb --status-fd 2 [PORTAGE_CONFIG] [SIGNATURE]"
BINPKG_GPG_VERIFY_GPG_HOME="/etc/portage/gnupg"
BOOTSTRAP_USE="unicode internal-glib pkg-config split-usr xml python_targets_python3_10 multilib systemd udev"
BROOT=""
CALLIGRA_FEATURES="karbon sheets words"
CBUILD="x86_64-pc-linux-gnu"
CC="clang"
CCACHE_DIR="/var/cache/ccache"
CCACHE_SIZE="32G"
CFLAGS="-march=native -O2 -pipe -flto=thin"
CFLAGS_amd64="-m64"
CFLAGS_x32="-mx32"
CFLAGS_x86="-m32"
CHOST="x86_64-pc-linux-gnu"
CHOST_amd64="x86_64-pc-linux-gnu"
CHOST_x32="x86_64-pc-linux-gnux32"
CHOST_x86="i686-pc-linux-gnu"
CLEAN_DELAY="5"
COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog"
COLLISION_IGNORE="/boot/dtbs/* /lib/modules/*"
COLORTERM="truecolor"
COLUMNS="116"
COMMON_FLAGS="-march=native -O2 -pipe"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /var/bind"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CPU_FLAGS_X86="mmx mmxext sse sse2"
CXX="clang++"
CXXFLAGS="-march=native -O2 -pipe -flto=thin"
DBUS_SESSION_BUS_ADDRESS="unix:abstract=/tmp/dbus-0ermpNcUWJ,guid=15b4b4e70514434c4c90f6f3633cd8f3"
DEFAULT_ABI="amd64"
DISPLAY=":0"
DISTDIR="/var/cache/distfiles"
EDITOR="/bin/nano"
ELIBC="glibc"
EMERGE_DEFAULT_OPTS="--with-bdeps=y --ask --verbose=y --load-average --deep --keep-going --color=y --update --changed-use"
EMERGE_WARNING_DELAY="10"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR XDG_STATE_HOME"
EPREFIX=""
EROOT="/"
ESYSROOT="/"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance buildpkg-live ccache config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FETCHCOMMAND="wget -t 3 -T 60 --passive-ftp -O "${DISTDIR}/${FILE}" "${URI}""
FETCHCOMMAND_RSYNC="rsync -LtvP "${URI}" "${DISTDIR}/${FILE}""
FETCHCOMMAND_SFTP="bash -c "x=\${2#sftp://} ; host=\${x%%/*} ; port=\${host##*:} ; host=\${host%:*} ; [[ \${host} = \${port} ]] && port= ; eval \"declare -a ssh_opts=(\${3})\" ; exec sftp \${port:+-P \${port}} \"\${ssh_opts[@]}\" \"\${host}:/\${x#*/}\" \"\$1\"" sftp "${DISTDIR}/${FILE}" "${URI}" "${PORTAGE_SSH_OPTS}""
FETCHCOMMAND_SSH="bash -c "x=\${2#ssh://} ; host=\${x%%/*} ; port=\${host##*:} ; host=\${host%:*} ; [[ \${host} = \${port} ]] && port= ; exec rsync --rsh=\"ssh \${port:+-p\${port}} \${3}\" -avP \"\${host}:/\${x#*/}\" \"\$1\"" rsync "${DISTDIR}/${FILE}" "${URI}" "${PORTAGE_SSH_OPTS}""
FFLAGS="-O2 -pipe"
GCC_SPECS=""
GENTOO_MIRRORS="https://mirrors.tuna.tsinghua.edu.cn/gentoo"
GPG_VERIFY_GROUP_DROP="nogroup"
GPG_VERIFY_USER_DROP="nobody"
GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx"
GRUB_PLATFORMS="efi-64"
GSETTINGS_BACKEND="dconf"
GTK_IM_MODULE="fcitx"
HOME="/home/niuiic"
HUSHLOGIN="FALSE"
I3SOCK="/run/user/1000/i3/ipc-socket.1330"
INFOPATH="/usr/share/gcc-data/x86_64-pc-linux-gnu/11.3.0/info:/usr/share/binutils-data/x86_64-pc-linux-gnu/2.38/info:/usr/share/info"
INPUT_DEVICES="libinput synaptics evdev"
IUSE_IMPLICIT="abi_x86_64 prefix prefix-guest prefix-stack"
KERNEL="linux"
L10N="en_US en"
LANG="en_US.utf8"
LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text"
LC_MESSAGES="C"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -fuse-ld=lld -rtlib=compiler-rt -unwindlib=libunwind -Wl,-O2 -Wl,--as-needed"
LDFLAGS_amd64="-m elf_x86_64"
LDFLAGS_x32="-m elf32_x86_64"
LDFLAGS_x86="-m elf_i386"
LESS="-R -M --shift 5"
LESSOPEN="|lesspipe %s"
LIBDIR_amd64="lib64"
LIBDIR_x32="libx32"
LIBDIR_x86="lib"
LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer"
LINES="67"
LINGUAS="en-US en"
LOGNAME="niuiic"
LUA_SINGLE_TARGET="luajit"
LUA_TARGETS="luajit"
MAIL="/var/mail/niuiic"
MAKEOPTS="-j20"
MANPAGER="manpager"
MANPATH="/usr/share/gcc-data/x86_64-pc-linux-gnu/11.3.0/man:/usr/share/binutils-data/x86_64-pc-linux-gnu/2.38/man:/usr/local/share/man:/usr/share/man:/usr/lib/llvm/14/share/man"
MOTD_SHOWN="pam"
MULTILIB_ABIS="amd64 x86"
MULTILIB_STRICT_DENY="64-bit.*shared object"
MULTILIB_STRICT_DIRS="/lib32 /lib /usr/lib32 /usr/lib /usr/kde/*/lib32 /usr/kde/*/lib /usr/qt/*/lib32 /usr/qt/*/lib /usr/X11R6/lib32 /usr/X11R6/lib"
MULTILIB_STRICT_EXEMPT="(perl5|gcc|binutils|eclipse-3|debug|portage|udev|systemd|clang|python-exec|llvm)"
NM="llvm-nm"
NOCOLOR="false"
OFFICE_IMPLEMENTATION="libreoffice"
OLDPWD="/home/niuiic/Applications/gentoo-overlay/media-gfx"
P9K_SSH="0"
P9K_TTY="old"
PAGER="/usr/bin/less"
PATH="/home/niuiic/.local/bin:/home/niuiic/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin:/usr/lib/llvm/14/bin:/home/niuiic/Applications/go/bin:/home/niuiic/Applications/nodejs/bin"
PHP_TARGETS="php7-4 php8-0"
PKGDIR="/var/cache/binpkgs"
PORTAGE_ARCHLIST="alpha amd64 amd64-linux arm arm-linux arm64 arm64-linux arm64-macos hppa ia64 loong m68k mips ppc ppc-macos ppc64 ppc64-linux riscv riscv-linux s390 sparc sparc-solaris sparc64-solaris x64-cygwin x64-macos x64-solaris x64-winnt x86 x86-linux x86-solaris x86-winnt"
PORTAGE_BIN_PATH="/usr/lib/portage/python3.10"
PORTAGE_COMPRESS_EXCLUDE_SUFFIXES="css gif htm[l]? jp[e]?g js pdf png"
PORTAGE_CONFIGROOT="/"
PORTAGE_DEBUG="0"
PORTAGE_DEPCACHEDIR="/var/cache/edb/dep"
PORTAGE_ELOG_CLASSES="log warn error"
PORTAGE_ELOG_MAILFROM="portage@localhost"
PORTAGE_ELOG_MAILSUBJECT="[portage] ebuild log for ${PACKAGE} on ${HOST}"
PORTAGE_ELOG_MAILURI="root"
PORTAGE_ELOG_SYSTEM="save_summary:log,warn,error,qa echo"
PORTAGE_FETCH_CHECKSUM_TRY_MIRRORS="5"
PORTAGE_FETCH_RESUME_MIN_SIZE="350K"
PORTAGE_GID="250"
PORTAGE_GPG_SIGNING_COMMAND="gpg --sign --digest-algo SHA256 --clearsign --yes --default-key "${PORTAGE_GPG_KEY}" --homedir "${PORTAGE_GPG_DIR}" "${FILE}""
PORTAGE_INST_GID="0"
PORTAGE_INST_UID="0"
PORTAGE_INTERNAL_CALLER="1"
PORTAGE_LOGDIR_CLEAN="find "${PORTAGE_LOGDIR}" -type f ! -name "summary.log*" -mtime +7 -delete"
PORTAGE_OVERRIDE_EPREFIX=""
PORTAGE_PYM_PATH="/usr/lib/python3.10/site-packages"
PORTAGE_PYTHONPATH="/usr/lib/python3.10/site-packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_RSYNC_RETRIES="-1"
PORTAGE_SYNC_STALE="30"
PORTAGE_TMPDIR="/var/tmp"
PORTAGE_VERBOSE="1"
PORTAGE_WORKDIR_MODE="0700"
PORTAGE_XATTR_EXCLUDE="btrfs.* security.evm security.ima security.selinux system.nfs4_acl user.apache_handler user.Beagle.* user.dublincore.* user.mime_encoding user.xdg.*"
POSTGRES_TARGETS="postgres12 postgres13"
PROFILE_ONLY_VARIABLES="ARCH ELIBC IUSE_IMPLICIT KERNEL USERLAND USE_EXPAND_IMPLICIT USE_EXPAND_UNPREFIXED USE_EXPAND_VALUES_ARCH USE_EXPAND_VALUES_ELIBC USE_EXPAND_VALUES_KERNEL USE_EXPAND_VALUES_USERLAND"
PWD="/home/niuiic/Applications/gentoo-overlay/media-gfx/glslviewer"
PYTHONDONTWRITEBYTECODE="1"
PYTHON_SINGLE_TARGET="python3_10"
PYTHON_TARGETS="python3_10"
QT_IM_MODULE="fcitx"
RANLIB="llvm-ranlib"
RESUMECOMMAND="wget -c -t 3 -T 60 --passive-ftp -O "${DISTDIR}/${FILE}" "${URI}""
RESUMECOMMAND_RSYNC="rsync -LtvP "${URI}" "${DISTDIR}/${FILE}""
RESUMECOMMAND_SSH="bash -c "x=\${2#ssh://} ; host=\${x%%/*} ; port=\${host##*:} ; host=\${host%:*} ; [[ \${host} = \${port} ]] && port= ; exec rsync --rsh=\"ssh \${port:+-p\${port}} \${3}\" -avP \"\${host}:/\${x#*/}\" \"\$1\"" rsync "${DISTDIR}/${FILE}" "${URI}" "${PORTAGE_SSH_OPTS}""
ROOT="/"
ROOTPATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin:/usr/lib/llvm/14/bin"
RPMDIR="/var/cache/rpm"
RUBY_TARGETS="ruby27"
RUSTC_WRAPPER="/usr/bin/sccache"
SCCACHE_DIR="/var/cache/sccache"
SCCACHE_MAX_FRAME_LENGTH="104857600"
SHELL="/bin/zsh"
SHLVL="1"
SYMLINK_LIB="no"
SYSROOT="/"
TERM="alacritty"
TWISTED_DISABLE_WRITING_OF_PLUGIN_CACHE="1"
UNINSTALL_IGNORE="/boot/dtbs/* /lib/modules/* /var/run /var/lock"
USE="X acl alsa amd64 bzip2 clang cli crypt dbus dri fortran gdbm iconv ipv6 jack libglvnd libtirpc multilib ncurses nls nptl openmp pam pcre pulseaudio readline seccomp split-usr ssl systemd udev udisks unicode vaapi vdpau xattr zlib" ABI_X86="32 64" ADA_TARGET="gnat_2020" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext sse sse2" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="efi-64" INPUT_DEVICES="libinput synaptics evdev" KERNEL="linux" L10N="en_US en" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LUA_SINGLE_TARGET="luajit" LUA_TARGETS="luajit" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-4 php8-0" POSTGRES_TARGETS="postgres12 postgres13" PYTHON_SINGLE_TARGET="python3_10" PYTHON_TARGETS="python3_10" RUBY_TARGETS="ruby27" USERLAND="GNU" VIDEO_CARDS="intel nvidia" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq proto steal rawnat logmark ipmark dhcpmac delude chaos account"
USER="niuiic"
USERLAND="GNU"
USE_EXPAND="ABI_MIPS ABI_S390 ABI_X86 ADA_TARGET ALSA_CARDS AMDGPU_TARGETS APACHE2_MODULES APACHE2_MPMS CALLIGRA_FEATURES CAMERAS COLLECTD_PLUGINS CPU_FLAGS_ARM CPU_FLAGS_PPC CPU_FLAGS_X86 CURL_SSL ELIBC FFTOOLS GPSD_PROTOCOLS GRUB_PLATFORMS INPUT_DEVICES KERNEL L10N LCD_DEVICES LIBREOFFICE_EXTENSIONS LLVM_TARGETS LUA_SINGLE_TARGET LUA_TARGETS MONKEYD_PLUGINS NGINX_MODULES_HTTP NGINX_MODULES_MAIL NGINX_MODULES_STREAM OFFICE_IMPLEMENTATION OPENMPI_FABRICS OPENMPI_OFED_FEATURES OPENMPI_RM PHP_TARGETS POSTGRES_TARGETS PYTHON_SINGLE_TARGET PYTHON_TARGETS QEMU_SOFTMMU_TARGETS QEMU_USER_TARGETS ROS_MESSAGES RUBY_TARGETS SANE_BACKENDS USERLAND UWSGI_PLUGINS VIDEO_CARDS VOICEMAIL_STORAGE XTABLES_ADDONS"
USE_EXPAND_HIDDEN="ABI_MIPS ABI_S390 CPU_FLAGS_ARM CPU_FLAGS_PPC ELIBC KERNEL USERLAND"
USE_EXPAND_IMPLICIT="ARCH ELIBC KERNEL USERLAND"
USE_EXPAND_UNPREFIXED="ARCH"
USE_EXPAND_VALUES_ARCH="alpha amd64 amd64-linux arm arm64 arm64-macos hppa ia64 loong m68k mips ppc ppc64 ppc64-linux ppc-macos riscv s390 sparc sparc64-solaris sparc-solaris x64-cygwin x64-macos x64-solaris x64-winnt x86 x86-linux x86-solaris x86-winnt"
USE_EXPAND_VALUES_ELIBC="bionic Cygwin Darwin glibc mingw musl SunOS Winnt"
USE_EXPAND_VALUES_KERNEL="Darwin linux SunOS Winnt"
USE_EXPAND_VALUES_USERLAND="BSD GNU"
USE_ORDER="env:pkg:conf:defaults:pkginternal:features:repo:env.d"
VIDEO_CARDS="intel nvidia"
WINDOWID="60817412"
WINDOWPATH="1"
XDG_CACHE_HOME="/home/niuiic/.cache"
XDG_CONFIG_DIRS="/etc/xdg"
XDG_CONFIG_HOME="/home/niuiic/.config"
XDG_DATA_DIRS="/usr/local/share:/usr/share"
XDG_DATA_HOME="/home/niuiic/.local/share"
XDG_RUNTIME_DIR="/run/user/1000"
XDG_SEAT="seat0"
XDG_SESSION_CLASS="user"
XDG_SESSION_ID="3"
XDG_SESSION_TYPE="tty"
XDG_STATE_HOME="/home/niuiic/.local/state"
XDG_VTNR="1"
XMODIFIERS="@im=fcitx"
XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq proto steal rawnat logmark ipmark dhcpmac delude chaos account"
_P9K_TTY="/dev/pts/4"
enable_year2038="no"
```
glslviewer-2.0.5 can be compiled with this ebuild.
glslviewer-2.0.5.ebuild
```sh
# Copyright 2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DESCRIPTION="Console-based GLSL Sandbox for 2D/3D shaders"
HOMEPAGE="https://github.com/patriciogonzalezvivo/glslViewer"
inherit git-r3
EGIT_CLONE_TYPE=shallow
EGIT_REPO_URI="https://github.com/patriciogonzalezvivo/glslViewer"
EGIT_COMMIT="${PV}"
EGIT_SUBMODULES=("*")
LICENSE="BSD3"
SLOT="0"
KEYWORDS="~amd64"
DEPEND="
sys-libs/ncurses
"
RDEPEND="${DEPEND}"
BDEPEND=""
src_install() {
dobin "${S}/build/glslViewer"
}
```
I am trying to compile
glslviewer-2.1.2
on gentoo linux. It seems there is something wrong withsys-libs/ncurses
or I'm missing some dependencies. Here are logs.log1 (compile with clang)
``` ld.lld: error: undefined symbol: COLS >>> referenced by console.cpp >>> lto.tmp:(console_sigwinch_handler(int)) >>> referenced by console.cpp >>> lto.tmp:(console_init(int)) ld.lld: error: undefined symbol: LINES >>> referenced by console.cpp >>> lto.tmp:(console_sigwinch_handler(int)) >>> referenced by console.cpp >>> lto.tmp:(console_sigwinch_handler(int)) >>> referenced by console.cpp >>> lto.tmp:(console_init(int)) ld.lld: error: undefined symbol: raw >>> referenced by console.cpp >>> lto.tmp:(console_init(int)) ld.lld: error: undefined symbol: cbreak >>> referenced by console.cpp >>> lto.tmp:(console_init(int)) ld.lld: error: undefined symbol: stdscr >>> referenced by console.cpp >>> lto.tmp:(console_init(int)) >>> referenced by console.cpp >>> lto.tmp:(console_getline(std::__1::basic_stringlog2 (compile with gcc)
``` /usr/lib/gcc/x86_64-pc-linux-gnu/11.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: CMakeFiles/glslViewer.dir/src/tools/console.cpp.o: undefined reference to symbol 'COLS' /usr/lib/gcc/x86_64-pc-linux-gnu/11.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: /lib64/libtinfo.so.6: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status make[3]: *** [CMakeFiles/glslViewer.dir/build.make:309: glslViewer] Error 1 make[3]: Leaving directory '/var/tmp/portage/media-gfx/glslviewer-2.1.2/work/glslviewer-2.1.2/build' make[2]: *** [CMakeFiles/Makefile2:275: CMakeFiles/glslViewer.dir/all] Error 2 make[2]: Leaving directory '/var/tmp/portage/media-gfx/glslviewer-2.1.2/work/glslviewer-2.1.2/build' make[1]: *** [Makefile:156: all] Error 2 make[1]: Leaving directory '/var/tmp/portage/media-gfx/glslviewer-2.1.2/work/glslviewer-2.1.2/build' make: *** [Makefile:3: default] Error 2 * ERROR: media-gfx/glslviewer-2.1.2::niuiic failed (compile phase): * emake failed * * If you need support, post the output of `emerge --info '=media-gfx/glslviewer-2.1.2::niuiic'`, * the complete build log and the output of `emerge -pqv '=media-gfx/glslviewer-2.1.2::niuiic'`. * The complete build log is located at '/var/tmp/portage/media-gfx/glslviewer-2.1.2/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/media-gfx/glslviewer-2.1.2/temp/environment'. * Working directory: '/var/tmp/portage/media-gfx/glslviewer-2.1.2/work/glslviewer-2.1.2' * S: '/var/tmp/portage/media-gfx/glslviewer-2.1.2/work/glslviewer-2.1.2' ```USE flag of sys-libs/ncurses
``` ╰─ equery u sys-libs/ncurses [ Legend : U - final flag setting for installation] [ : I - package is installed with flag ] [ Colors : set, unset ] * Found these USE flags for sys-libs/ncurses-6.3_p20220423: U I + + abi_x86_32 : 32-bit (x86) libraries - - ada : Add bindings for the ADA programming language + + cxx : Build support for C++ (bindings, extra libraries, code generation, ...) - - debug : Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces - - doc : Add extra documentation (API, Javadoc, etc). It is recommended to enable per package instead of globally - - gpm : Add support for sys-libs/gpm (Console-based mouse driver) - - minimal : Install a very minimal build (disables, for example, plugins, fonts, most drivers, non-critical features) - - profile : Add support for software performance analysis (will likely vary from ebuild to ebuild) + + stack-realign : Realign the stack in the 32-bit build for compatibility with older binaries at some performance cost. Avoids crashes in older 32-bit binaries. Only affects x86/32-bit multilib builds on amd64. - - static-libs : Build static versions of dynamic libraries as well - - test : Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but can be toggled independently) - - trace : Enable test trace() support in ncurses calls - - verify-sig : Verify upstream signatures on distfiles ```ebuild
```sh # Copyright 2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 DESCRIPTION="Console-based GLSL Sandbox for 2D/3D shaders" HOMEPAGE="https://github.com/patriciogonzalezvivo/glslViewer" inherit git-r3 EGIT_CLONE_TYPE=shallow EGIT_REPO_URI="https://github.com/patriciogonzalezvivo/glslViewer" EGIT_COMMIT="${PV}" EGIT_SUBMODULES=("*") LICENSE="BSD3" SLOT="0" KEYWORDS="~amd64" DEPEND=" sys-libs/ncurses media-video/ffmpeg media-libs/glu " RDEPEND="${DEPEND}" BDEPEND="" src_install() { dobin "${S}/build/glslViewer" } ```emerge --info
``` Portage 3.0.38.1 (python 3.10.6-final-0, default/linux/amd64/17.1/systemd, gcc-11.3.0, glibc-2.35-r8, 6.0.0-gentoo-x86_64 x86_64) ================================================================= System uname: Linux-6.0.0-gentoo-x86_64-x86_64-12th_Gen_Intel-R-_Core-TM-_i7-12700H-with-glibc2.35 KiB Mem: 16125828 total, 8745884 free KiB Swap: 33554428 total, 33554428 free Timestamp of repository gentoo: Wed, 05 Oct 2022 15:18:55 +0000 Head commit of repository gentoo: 2b64e3850bc7118481c7eb8013c9d704a01b200b Head commit of repository niuiic: b0fcf0aba22307d6f17fef3801788901c6b5b5eb sh bash 5.1_p16-r1 ld GNU ld (Gentoo 2.38 p4) 2.38 ccache version 4.5.1 [enabled] app-misc/pax-utils: 1.3.5::gentoo app-shells/bash: 5.1_p16-r1::gentoo dev-lang/perl: 5.34.1-r3::gentoo dev-lang/python: 3.10.6_p4::gentoo dev-util/ccache: 4.5.1::gentoo dev-util/cmake: 3.23.3::gentoo dev-util/meson: 0.63.2-r1::gentoo sys-apps/baselayout: 2.8::gentoo sys-apps/sandbox: 2.29::gentoo sys-apps/systemd: 251.4::gentoo sys-devel/autoconf: 2.71-r1::gentoo sys-devel/automake: 1.16.5::gentoo sys-devel/binutils: 2.38-r2::gentoo sys-devel/binutils-config: 5.4.1::gentoo sys-devel/clang: 14.0.6-r1::gentoo sys-devel/gcc: 11.3.0::gentoo sys-devel/gcc-config: 2.5-r1::gentoo sys-devel/libtool: 2.4.7::gentoo sys-devel/lld: 14.0.6::gentoo sys-devel/llvm: 14.0.6-r2::gentoo sys-devel/make: 4.3::gentoo sys-kernel/linux-headers: 5.15-r3::gentoo (virtual/os-headers) sys-libs/glibc: 2.35-r8::gentoo Repositories: gentoo location: /var/db/repos/gentoo sync-type: git sync-uri: https://github.com/gentoo-mirror/gentoo priority: -1000 niuiic location: /var/db/repos/niuiic sync-type: git sync-uri: https://github.com/niuiic/gentoo-overlay masters: gentoo benzene-overlay location: /var/lib/layman/benzene-overlay masters: gentoo priority: 50 gentoo-zh location: /var/lib/layman/gentoo-zh masters: gentoo priority: 50 ABI="amd64" ABI_X86="32 64" ACCEPT_KEYWORDS="amd64" ACCEPT_LICENSE="*" ACCEPT_PROPERTIES="*" ACCEPT_RESTRICT="*" ADA_TARGET="gnat_2020" ALACRITTY_LOG="/tmp/Alacritty-1215765.log" ALACRITTY_SOCKET="/run/user/1000/Alacritty-:0-1215765.sock" ALACRITTY_WINDOW_ID="60817412" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" AR="llvm-ar" ARCH="amd64" AUTOCLEAN="no" AUTO_CLEAN="yes" BINPKG_COMPRESS="zstd" BINPKG_FORMAT="xpak" BINPKG_GPG_SIGNING_BASE_COMMAND="/usr/bin/flock /run/lock/portage-binpkg-gpg.lock /usr/bin/gpg --sign --armor [PORTAGE_CONFIG]" BINPKG_GPG_SIGNING_DIGEST="SHA512" BINPKG_GPG_VERIFY_BASE_COMMAND="/usr/bin/gpg --verify --batch --no-tty --no-auto-check-trustdb --status-fd 2 [PORTAGE_CONFIG] [SIGNATURE]" BINPKG_GPG_VERIFY_GPG_HOME="/etc/portage/gnupg" BOOTSTRAP_USE="unicode internal-glib pkg-config split-usr xml python_targets_python3_10 multilib systemd udev" BROOT="" CALLIGRA_FEATURES="karbon sheets words" CBUILD="x86_64-pc-linux-gnu" CC="clang" CCACHE_DIR="/var/cache/ccache" CCACHE_SIZE="32G" CFLAGS="-march=native -O2 -pipe -flto=thin" CFLAGS_amd64="-m64" CFLAGS_x32="-mx32" CFLAGS_x86="-m32" CHOST="x86_64-pc-linux-gnu" CHOST_amd64="x86_64-pc-linux-gnu" CHOST_x32="x86_64-pc-linux-gnux32" CHOST_x86="i686-pc-linux-gnu" CLEAN_DELAY="5" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" COLLISION_IGNORE="/boot/dtbs/* /lib/modules/*" COLORTERM="truecolor" COLUMNS="116" COMMON_FLAGS="-march=native -O2 -pipe" CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /var/bind" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" CPU_FLAGS_X86="mmx mmxext sse sse2" CXX="clang++" CXXFLAGS="-march=native -O2 -pipe -flto=thin" DBUS_SESSION_BUS_ADDRESS="unix:abstract=/tmp/dbus-0ermpNcUWJ,guid=15b4b4e70514434c4c90f6f3633cd8f3" DEFAULT_ABI="amd64" DISPLAY=":0" DISTDIR="/var/cache/distfiles" EDITOR="/bin/nano" ELIBC="glibc" EMERGE_DEFAULT_OPTS="--with-bdeps=y --ask --verbose=y --load-average --deep --keep-going --color=y --update --changed-use" EMERGE_WARNING_DELAY="10" ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR XDG_STATE_HOME" EPREFIX="" EROOT="/" ESYSROOT="/" FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance buildpkg-live ccache config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FETCHCOMMAND="wget -t 3 -T 60 --passive-ftp -O "${DISTDIR}/${FILE}" "${URI}"" FETCHCOMMAND_RSYNC="rsync -LtvP "${URI}" "${DISTDIR}/${FILE}"" FETCHCOMMAND_SFTP="bash -c "x=\${2#sftp://} ; host=\${x%%/*} ; port=\${host##*:} ; host=\${host%:*} ; [[ \${host} = \${port} ]] && port= ; eval \"declare -a ssh_opts=(\${3})\" ; exec sftp \${port:+-P \${port}} \"\${ssh_opts[@]}\" \"\${host}:/\${x#*/}\" \"\$1\"" sftp "${DISTDIR}/${FILE}" "${URI}" "${PORTAGE_SSH_OPTS}"" FETCHCOMMAND_SSH="bash -c "x=\${2#ssh://} ; host=\${x%%/*} ; port=\${host##*:} ; host=\${host%:*} ; [[ \${host} = \${port} ]] && port= ; exec rsync --rsh=\"ssh \${port:+-p\${port}} \${3}\" -avP \"\${host}:/\${x#*/}\" \"\$1\"" rsync "${DISTDIR}/${FILE}" "${URI}" "${PORTAGE_SSH_OPTS}"" FFLAGS="-O2 -pipe" GCC_SPECS="" GENTOO_MIRRORS="https://mirrors.tuna.tsinghua.edu.cn/gentoo" GPG_VERIFY_GROUP_DROP="nogroup" GPG_VERIFY_USER_DROP="nobody" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="efi-64" GSETTINGS_BACKEND="dconf" GTK_IM_MODULE="fcitx" HOME="/home/niuiic" HUSHLOGIN="FALSE" I3SOCK="/run/user/1000/i3/ipc-socket.1330" INFOPATH="/usr/share/gcc-data/x86_64-pc-linux-gnu/11.3.0/info:/usr/share/binutils-data/x86_64-pc-linux-gnu/2.38/info:/usr/share/info" INPUT_DEVICES="libinput synaptics evdev" IUSE_IMPLICIT="abi_x86_64 prefix prefix-guest prefix-stack" KERNEL="linux" L10N="en_US en" LANG="en_US.utf8" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LC_MESSAGES="C" LDFLAGS="-Wl,-O1 -Wl,--as-needed -fuse-ld=lld -rtlib=compiler-rt -unwindlib=libunwind -Wl,-O2 -Wl,--as-needed" LDFLAGS_amd64="-m elf_x86_64" LDFLAGS_x32="-m elf32_x86_64" LDFLAGS_x86="-m elf_i386" LESS="-R -M --shift 5" LESSOPEN="|lesspipe %s" LIBDIR_amd64="lib64" LIBDIR_x32="libx32" LIBDIR_x86="lib" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINES="67" LINGUAS="en-US en" LOGNAME="niuiic" LUA_SINGLE_TARGET="luajit" LUA_TARGETS="luajit" MAIL="/var/mail/niuiic" MAKEOPTS="-j20" MANPAGER="manpager" MANPATH="/usr/share/gcc-data/x86_64-pc-linux-gnu/11.3.0/man:/usr/share/binutils-data/x86_64-pc-linux-gnu/2.38/man:/usr/local/share/man:/usr/share/man:/usr/lib/llvm/14/share/man" MOTD_SHOWN="pam" MULTILIB_ABIS="amd64 x86" MULTILIB_STRICT_DENY="64-bit.*shared object" MULTILIB_STRICT_DIRS="/lib32 /lib /usr/lib32 /usr/lib /usr/kde/*/lib32 /usr/kde/*/lib /usr/qt/*/lib32 /usr/qt/*/lib /usr/X11R6/lib32 /usr/X11R6/lib" MULTILIB_STRICT_EXEMPT="(perl5|gcc|binutils|eclipse-3|debug|portage|udev|systemd|clang|python-exec|llvm)" NM="llvm-nm" NOCOLOR="false" OFFICE_IMPLEMENTATION="libreoffice" OLDPWD="/home/niuiic/Applications/gentoo-overlay/media-gfx" P9K_SSH="0" P9K_TTY="old" PAGER="/usr/bin/less" PATH="/home/niuiic/.local/bin:/home/niuiic/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin:/usr/lib/llvm/14/bin:/home/niuiic/Applications/go/bin:/home/niuiic/Applications/nodejs/bin" PHP_TARGETS="php7-4 php8-0" PKGDIR="/var/cache/binpkgs" PORTAGE_ARCHLIST="alpha amd64 amd64-linux arm arm-linux arm64 arm64-linux arm64-macos hppa ia64 loong m68k mips ppc ppc-macos ppc64 ppc64-linux riscv riscv-linux s390 sparc sparc-solaris sparc64-solaris x64-cygwin x64-macos x64-solaris x64-winnt x86 x86-linux x86-solaris x86-winnt" PORTAGE_BIN_PATH="/usr/lib/portage/python3.10" PORTAGE_COMPRESS_EXCLUDE_SUFFIXES="css gif htm[l]? jp[e]?g js pdf png" PORTAGE_CONFIGROOT="/" PORTAGE_DEBUG="0" PORTAGE_DEPCACHEDIR="/var/cache/edb/dep" PORTAGE_ELOG_CLASSES="log warn error" PORTAGE_ELOG_MAILFROM="portage@localhost" PORTAGE_ELOG_MAILSUBJECT="[portage] ebuild log for ${PACKAGE} on ${HOST}" PORTAGE_ELOG_MAILURI="root" PORTAGE_ELOG_SYSTEM="save_summary:log,warn,error,qa echo" PORTAGE_FETCH_CHECKSUM_TRY_MIRRORS="5" PORTAGE_FETCH_RESUME_MIN_SIZE="350K" PORTAGE_GID="250" PORTAGE_GPG_SIGNING_COMMAND="gpg --sign --digest-algo SHA256 --clearsign --yes --default-key "${PORTAGE_GPG_KEY}" --homedir "${PORTAGE_GPG_DIR}" "${FILE}"" PORTAGE_INST_GID="0" PORTAGE_INST_UID="0" PORTAGE_INTERNAL_CALLER="1" PORTAGE_LOGDIR_CLEAN="find "${PORTAGE_LOGDIR}" -type f ! -name "summary.log*" -mtime +7 -delete" PORTAGE_OVERRIDE_EPREFIX="" PORTAGE_PYM_PATH="/usr/lib/python3.10/site-packages" PORTAGE_PYTHONPATH="/usr/lib/python3.10/site-packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git" PORTAGE_RSYNC_RETRIES="-1" PORTAGE_SYNC_STALE="30" PORTAGE_TMPDIR="/var/tmp" PORTAGE_VERBOSE="1" PORTAGE_WORKDIR_MODE="0700" PORTAGE_XATTR_EXCLUDE="btrfs.* security.evm security.ima security.selinux system.nfs4_acl user.apache_handler user.Beagle.* user.dublincore.* user.mime_encoding user.xdg.*" POSTGRES_TARGETS="postgres12 postgres13" PROFILE_ONLY_VARIABLES="ARCH ELIBC IUSE_IMPLICIT KERNEL USERLAND USE_EXPAND_IMPLICIT USE_EXPAND_UNPREFIXED USE_EXPAND_VALUES_ARCH USE_EXPAND_VALUES_ELIBC USE_EXPAND_VALUES_KERNEL USE_EXPAND_VALUES_USERLAND" PWD="/home/niuiic/Applications/gentoo-overlay/media-gfx/glslviewer" PYTHONDONTWRITEBYTECODE="1" PYTHON_SINGLE_TARGET="python3_10" PYTHON_TARGETS="python3_10" QT_IM_MODULE="fcitx" RANLIB="llvm-ranlib" RESUMECOMMAND="wget -c -t 3 -T 60 --passive-ftp -O "${DISTDIR}/${FILE}" "${URI}"" RESUMECOMMAND_RSYNC="rsync -LtvP "${URI}" "${DISTDIR}/${FILE}"" RESUMECOMMAND_SSH="bash -c "x=\${2#ssh://} ; host=\${x%%/*} ; port=\${host##*:} ; host=\${host%:*} ; [[ \${host} = \${port} ]] && port= ; exec rsync --rsh=\"ssh \${port:+-p\${port}} \${3}\" -avP \"\${host}:/\${x#*/}\" \"\$1\"" rsync "${DISTDIR}/${FILE}" "${URI}" "${PORTAGE_SSH_OPTS}"" ROOT="/" ROOTPATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin:/usr/lib/llvm/14/bin" RPMDIR="/var/cache/rpm" RUBY_TARGETS="ruby27" RUSTC_WRAPPER="/usr/bin/sccache" SCCACHE_DIR="/var/cache/sccache" SCCACHE_MAX_FRAME_LENGTH="104857600" SHELL="/bin/zsh" SHLVL="1" SYMLINK_LIB="no" SYSROOT="/" TERM="alacritty" TWISTED_DISABLE_WRITING_OF_PLUGIN_CACHE="1" UNINSTALL_IGNORE="/boot/dtbs/* /lib/modules/* /var/run /var/lock" USE="X acl alsa amd64 bzip2 clang cli crypt dbus dri fortran gdbm iconv ipv6 jack libglvnd libtirpc multilib ncurses nls nptl openmp pam pcre pulseaudio readline seccomp split-usr ssl systemd udev udisks unicode vaapi vdpau xattr zlib" ABI_X86="32 64" ADA_TARGET="gnat_2020" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext sse sse2" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="efi-64" INPUT_DEVICES="libinput synaptics evdev" KERNEL="linux" L10N="en_US en" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LUA_SINGLE_TARGET="luajit" LUA_TARGETS="luajit" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-4 php8-0" POSTGRES_TARGETS="postgres12 postgres13" PYTHON_SINGLE_TARGET="python3_10" PYTHON_TARGETS="python3_10" RUBY_TARGETS="ruby27" USERLAND="GNU" VIDEO_CARDS="intel nvidia" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq proto steal rawnat logmark ipmark dhcpmac delude chaos account" USER="niuiic" USERLAND="GNU" USE_EXPAND="ABI_MIPS ABI_S390 ABI_X86 ADA_TARGET ALSA_CARDS AMDGPU_TARGETS APACHE2_MODULES APACHE2_MPMS CALLIGRA_FEATURES CAMERAS COLLECTD_PLUGINS CPU_FLAGS_ARM CPU_FLAGS_PPC CPU_FLAGS_X86 CURL_SSL ELIBC FFTOOLS GPSD_PROTOCOLS GRUB_PLATFORMS INPUT_DEVICES KERNEL L10N LCD_DEVICES LIBREOFFICE_EXTENSIONS LLVM_TARGETS LUA_SINGLE_TARGET LUA_TARGETS MONKEYD_PLUGINS NGINX_MODULES_HTTP NGINX_MODULES_MAIL NGINX_MODULES_STREAM OFFICE_IMPLEMENTATION OPENMPI_FABRICS OPENMPI_OFED_FEATURES OPENMPI_RM PHP_TARGETS POSTGRES_TARGETS PYTHON_SINGLE_TARGET PYTHON_TARGETS QEMU_SOFTMMU_TARGETS QEMU_USER_TARGETS ROS_MESSAGES RUBY_TARGETS SANE_BACKENDS USERLAND UWSGI_PLUGINS VIDEO_CARDS VOICEMAIL_STORAGE XTABLES_ADDONS" USE_EXPAND_HIDDEN="ABI_MIPS ABI_S390 CPU_FLAGS_ARM CPU_FLAGS_PPC ELIBC KERNEL USERLAND" USE_EXPAND_IMPLICIT="ARCH ELIBC KERNEL USERLAND" USE_EXPAND_UNPREFIXED="ARCH" USE_EXPAND_VALUES_ARCH="alpha amd64 amd64-linux arm arm64 arm64-macos hppa ia64 loong m68k mips ppc ppc64 ppc64-linux ppc-macos riscv s390 sparc sparc64-solaris sparc-solaris x64-cygwin x64-macos x64-solaris x64-winnt x86 x86-linux x86-solaris x86-winnt" USE_EXPAND_VALUES_ELIBC="bionic Cygwin Darwin glibc mingw musl SunOS Winnt" USE_EXPAND_VALUES_KERNEL="Darwin linux SunOS Winnt" USE_EXPAND_VALUES_USERLAND="BSD GNU" USE_ORDER="env:pkg:conf:defaults:pkginternal:features:repo:env.d" VIDEO_CARDS="intel nvidia" WINDOWID="60817412" WINDOWPATH="1" XDG_CACHE_HOME="/home/niuiic/.cache" XDG_CONFIG_DIRS="/etc/xdg" XDG_CONFIG_HOME="/home/niuiic/.config" XDG_DATA_DIRS="/usr/local/share:/usr/share" XDG_DATA_HOME="/home/niuiic/.local/share" XDG_RUNTIME_DIR="/run/user/1000" XDG_SEAT="seat0" XDG_SESSION_CLASS="user" XDG_SESSION_ID="3" XDG_SESSION_TYPE="tty" XDG_STATE_HOME="/home/niuiic/.local/state" XDG_VTNR="1" XMODIFIERS="@im=fcitx" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq proto steal rawnat logmark ipmark dhcpmac delude chaos account" _P9K_TTY="/dev/pts/4" enable_year2038="no" ```glslviewer-2.0.5
can be compiled with this ebuild.glslviewer-2.0.5.ebuild
```sh # Copyright 2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 DESCRIPTION="Console-based GLSL Sandbox for 2D/3D shaders" HOMEPAGE="https://github.com/patriciogonzalezvivo/glslViewer" inherit git-r3 EGIT_CLONE_TYPE=shallow EGIT_REPO_URI="https://github.com/patriciogonzalezvivo/glslViewer" EGIT_COMMIT="${PV}" EGIT_SUBMODULES=("*") LICENSE="BSD3" SLOT="0" KEYWORDS="~amd64" DEPEND=" sys-libs/ncurses " RDEPEND="${DEPEND}" BDEPEND="" src_install() { dobin "${S}/build/glslViewer" } ```