Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[SOLVED] llvm, clang 19 fails to compile
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
wfalkowski
n00b
n00b


Joined: 16 Dec 2024
Posts: 3

PostPosted: Mon Dec 16, 2024 7:33 pm    Post subject: [SOLVED] llvm, clang 19 fails to compile Reply with quote

all of the llvm-core and llvm-runtimes packages fails to compile on my system

llvm and clang are in path, tested for both 18 and 19 versions (19 compiled once with gcc, now it does not idk why, haven't changed a thing)

for context - this is a headless server
changing CFLAGS and other to default (as on the wiki) does not change a thing

Code:
cat /etc/portage/make.conf

COMMON_FLAGS="-O3 -pipe -march=native -mtune=native"
CFLAGS="-O3 -march=native -pipe -flto -fstack-protector-strong -fstack-clash-protection -D_FORTIFY_SOURCE=3 -Wl,-z,relro,-z,now"
CXXFLAGS="${CFLAGS}"
FCFLAGS="${COMMON_FLAGS}"
FFLAGS="${COMMON_FLAGS}"
LDFLAGS="${LDFLAGS} -fuse-ld=lld -rtlib=compiler-rt -unwindlib=libunwind -Wl,--as-needed"

CC="clang"
CXX="clang++"
AR="llvm-ar"
NM="llvm-nm"
RANLIB="llvm-ranlib"

USE_CSTD=gnu89

MAKEOPTS="-j6"

USE="-pie hardened stackprotector bindnow fortify-source hardening nss apparmor seccomp restrict -ipv6 uefi clang -cups -xorg -ios -ipod -qt5 -qt4 -amdgpu -radeon -systemd -bluetooth -doc -flatpak -modemmanager -ieee1294 -qt -pulseaudio -X -dbus -elogind minimal -amdgpu -virtualbox -vmware -intel -nvidia -wayland -pipewire -vulkan clang -qt6 native-symlinks lto pgo jit xs orc threads asm openmp system-man system-libyaml system-lua system-bootstrap system-llvm system-lz4 system-sqlite system-ffmpeg system-icu system-av1 system-harfbuzz system-jpeg system-libevent system-librnp system-libvpx system-png system-python-libs system-webp system-ssl system-zlib system-boost"

ACCEPT_LICENSE="-* @FREE vim.org intel-ucode"

CHOST="x86_64-gentoo-linux-musl"

GENTOO_MIRRORS="https://mirrors.kvj.ovh/gentoo/"

PORTAGE_TMPDIR="/var/tmp/portage"
PORTAGE_TMPFS="tmpfs"

LC_MESSAGES=C.utf8
GRUB_PLATFORMS="efi-64"

Code:

~ λ emerge -avuDN @world
Calculating dependencies... done!
Dependency resolution took 7.07 s (backtrack: 1/20).


>>> Verifying ebuild manifests

>>> Running pre-merge checks for llvm-core/clang-runtime-19.1.4
clang-cpp: warning: argument unused during compilation: '-E' [-Wunused-command-line-argument]
 * You seem to be using clang as a system compiler.  As of clang-16,
 * upstream has turned a few warnings that commonly occur during
 * configure script runs into errors by default.  This causes some
 * configure tests to start failing, sometimes resulting in silent
 * breakage, missing functionality or runtime misbehavior.  It is
 * not yet clear whether the change will remain or be reverted.
 *
 * For more information, please see:
 * https://discourse.llvm.org/t/configure-script-breakage-with-the-new-werror-implicit-function-declaration/65213

>>> Emerging (1 of 5) llvm-runtimes/libcxxabi-19.1.4::gentoo
 * llvm-project-19.1.4.src.tar.xz BLAKE2B SHA512 size ;-) ...                                                                   [ ok ]
 * Checking whether python3_13 is suitable ...
 *   dev-lang/python:3.13 ...                                                                                                   [ ok ]
 *   python_check_deps ...                                                                                                      [ ok ]
 * Using python3.13 to build (via PYTHON_COMPAT iteration)
>>> Unpacking source...
 * Unpacking from llvm-project-19.1.4.src.tar.xz ...                                                                            [ ok ]
>>> Source unpacked in /var/tmp/portage/portage/llvm-runtimes/libcxxabi-19.1.4/work
>>> Preparing source in /var/tmp/portage/portage/llvm-runtimes/libcxxabi-19.1.4/work/runtimes ...
 * Source directory (CMAKE_USE_DIR): "/var/tmp/portage/portage/llvm-runtimes/libcxxabi-19.1.4/work/runtimes"
 * Build directory  (BUILD_DIR):     "/var/tmp/portage/portage/llvm-runtimes/libcxxabi-19.1.4/work/runtimes_build"
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/portage/llvm-runtimes/libcxxabi-19.1.4/work/runtimes ...
 * abi_x86_64.amd64: running multilib-minimal_abi_src_configure
 * Source directory (CMAKE_USE_DIR): "/var/tmp/portage/portage/llvm-runtimes/libcxxabi-19.1.4/work/runtimes"
 * Build directory  (BUILD_DIR):     "/var/tmp/portage/portage/llvm-runtimes/libcxxabi-19.1.4/work/runtimes_build-abi_x86_64.amd64"
cmake -C /var/tmp/portage/portage/llvm-runtimes/libcxxabi-19.1.4/work/runtimes_build-abi_x86_64.amd64/gentoo_common_config.cmake -G Ninja -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_CXX_COMPILER_TARGET=x86_64-gentoo-linux-musl -DPython3_EXECUTABLE=/usr/bin/python3.13 -DLLVM_ENABLE_RUNTIMES=libcxxabi;libcxx -DLLVM_INCLUDE_TESTS=OFF -DLLVM_LIBDIR_SUFFIX= -DLIBCXXABI_ENABLE_SHARED=ON -DLIBCXXABI_ENABLE_STATIC=yes -DLIBCXXABI_INCLUDE_TESTS=no -DLIBCXXABI_USE_COMPILER_RT=OFF -DLIBCXXABI_LIBUNWIND_INCLUDES=/usr/include -DLIBCXXABI_USE_LLVM_UNWINDER=OFF -DLIBCXX_LIBDIR_SUFFIX= -DLIBCXX_ENABLE_SHARED=ON -DLIBCXX_ENABLE_STATIC=OFF -DLIBCXX_CXX_ABI=libcxxabi -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF -DLIBCXX_HAS_MUSL_LIBC=yes -DLIBCXX_HAS_GCC_S_LIB=OFF -DLIBCXX_INCLUDE_BENCHMARKS=OFF -DLIBCXX_INCLUDE_TESTS=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_TOOLCHAIN_FILE=/var/tmp/portage/portage/llvm-runtimes/libcxxabi-19.1.4/work/runtimes_build-abi_x86_64.amd64/gentoo_toolchain.cmake /var/tmp/portage/portage/llvm-runtimes/libcxxabi-19.1.4/work/runtimes
loading initial cache file /var/tmp/portage/portage/llvm-runtimes/libcxxabi-19.1.4/work/runtimes_build-abi_x86_64.amd64/gentoo_common_config.cmake
CMake Deprecation Warning at /var/tmp/portage/portage/llvm-runtimes/libcxxabi-19.1.4/work/cmake/Modules/CMakePolicy.cmake:6 (cmake_policy):
  The OLD behavior for policy CMP0114 will be removed from a future version
  of CMake.

  The cmake-policies(7) manual explains that the OLD behaviors of all
  policies are deprecated and that a policy should be set to OLD only under
  specific short-term circumstances.  Projects should be ported to the NEW
  behavior and not rely on setting a policy to OLD.
Call Stack (most recent call first):
  CMakeLists.txt:6 (include)


CMake Deprecation Warning at /var/tmp/portage/portage/llvm-runtimes/libcxxabi-19.1.4/work/cmake/Modules/CMakePolicy.cmake:11 (cmake_policy):
  The OLD behavior for policy CMP0116 will be removed from a future version
  of CMake.

  The cmake-policies(7) manual explains that the OLD behaviors of all
  policies are deprecated and that a policy should be set to OLD only under
  specific short-term circumstances.  Projects should be ported to the NEW
  behavior and not rely on setting a policy to OLD.
Call Stack (most recent call first):
  CMakeLists.txt:6 (include)


-- The C compiler identification is unknown
-- The CXX compiler identification is unknown
-- The ASM compiler identification is unknown
-- Found assembler: x86_64-gentoo-linux-musl-clang
CMake Error at CMakeLists.txt:11 (project):
  The CMAKE_C_COMPILER:

    x86_64-gentoo-linux-musl-clang

  is not a full path and was not found in the PATH.

  Tell CMake where to find the compiler by setting either the environment
  variable "CC" or the CMake cache entry CMAKE_C_COMPILER to the full path to
  the compiler, or to the compiler name if it is in the PATH.


CMake Error at CMakeLists.txt:11 (project):
  The CMAKE_CXX_COMPILER:

    x86_64-gentoo-linux-musl-clang++

  is not a full path and was not found in the PATH.

  Tell CMake where to find the compiler by setting either the environment
  variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
  to the compiler, or to the compiler name if it is in the PATH.


CMake Error at CMakeLists.txt:11 (project):
  The CMAKE_ASM_COMPILER:

    x86_64-gentoo-linux-musl-clang

  is not a full path and was not found in the PATH.

  Tell CMake where to find the compiler by setting either the environment
  variable "ASM" or the CMake cache entry CMAKE_ASM_COMPILER to the full path
  to the compiler, or to the compiler name if it is in the PATH.


-- Warning: Did not find file Compiler/-ASM
-- Configuring incomplete, errors occurred!
 * ERROR: llvm-runtimes/libcxxabi-19.1.4::gentoo failed (configure phase):
 *   cmake failed
 *
 * Call stack:
 *     ebuild.sh, line  136:  Called src_configure
 *   environment, line 3847:  Called cmake-multilib_src_configure
 *   environment, line 1245:  Called multilib-minimal_src_configure
 *   environment, line 2775:  Called multilib_foreach_abi 'multilib-minimal_abi_src_configure'
 *   environment, line 3025:  Called multibuild_foreach_variant '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_configure'
 *   environment, line 2730:  Called _multibuild_run '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_configure'
 *   environment, line 2728:  Called _multilib_multibuild_wrapper 'multilib-minimal_abi_src_configure'
 *   environment, line  551:  Called multilib-minimal_abi_src_configure
 *   environment, line 2769:  Called multilib_src_configure
 *   environment, line 3262:  Called cmake_src_configure
 *   environment, line 1521:  Called die
 * The specific snippet of code:
 *       "${CMAKE_BINARY}" "${cmakeargs[@]}" "${CMAKE_USE_DIR}" || die "cmake failed";
 *
 * If you need support, post the output of `emerge --info '=llvm-runtimes/libcxxabi-19.1.4::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=llvm-runtimes/libcxxabi-19.1.4::gentoo'`.
 * The complete build log is located at '/var/tmp/portage/portage/llvm-runtimes/libcxxabi-19.1.4/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/portage/llvm-runtimes/libcxxabi-19.1.4/temp/environment'.
 * Working directory: '/var/tmp/portage/portage/llvm-runtimes/libcxxabi-19.1.4/work/runtimes_build-abi_x86_64.amd64'
 * S: '/var/tmp/portage/portage/llvm-runtimes/libcxxabi-19.1.4/work/runtimes'

>>> Failed to emerge llvm-runtimes/libcxxabi-19.1.4, Log file:

>>>  '/var/tmp/portage/portage/llvm-runtimes/libcxxabi-19.1.4/temp/build.log'

 * Messages for package llvm-core/clang-runtime-19.1.4:

 * You seem to be using clang as a system compiler.  As of clang-16,
 * upstream has turned a few warnings that commonly occur during
 * configure script runs into errors by default.  This causes some
 * configure tests to start failing, sometimes resulting in silent
 * breakage, missing functionality or runtime misbehavior.  It is
 * not yet clear whether the change will remain or be reverted.
 *
 * For more information, please see:
 * https://discourse.llvm.org/t/configure-script-breakage-with-the-new-werror-implicit-function-declaration/65213

 * Messages for package llvm-runtimes/libcxxabi-19.1.4:

 * ERROR: llvm-runtimes/libcxxabi-19.1.4::gentoo failed (configure phase):
 *   cmake failed
 *
 * Call stack:
 *     ebuild.sh, line  136:  Called src_configure
 *   environment, line 3847:  Called cmake-multilib_src_configure
 *   environment, line 1245:  Called multilib-minimal_src_configure
 *   environment, line 2775:  Called multilib_foreach_abi 'multilib-minimal_abi_src_configure'
 *   environment, line 3025:  Called multibuild_foreach_variant '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_configure'
 *   environment, line 2730:  Called _multibuild_run '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_configure'
 *   environment, line 2728:  Called _multilib_multibuild_wrapper 'multilib-minimal_abi_src_configure'
 *   environment, line  551:  Called multilib-minimal_abi_src_configure
 *   environment, line 2769:  Called multilib_src_configure
 *   environment, line 3262:  Called cmake_src_configure
 *   environment, line 1521:  Called die
 * The specific snippet of code:
 *       "${CMAKE_BINARY}" "${cmakeargs[@]}" "${CMAKE_USE_DIR}" || die "cmake failed";
 *
 * If you need support, post the output of `emerge --info '=llvm-runtimes/libcxxabi-19.1.4::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=llvm-runtimes/libcxxabi-19.1.4::gentoo'`.
 * The complete build log is located at '/var/tmp/portage/portage/llvm-runtimes/libcxxabi-19.1.4/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/portage/llvm-runtimes/libcxxabi-19.1.4/temp/environment'.
 * Working directory: '/var/tmp/portage/portage/llvm-runtimes/libcxxabi-19.1.4/work/runtimes_build-abi_x86_64.amd64'
 * S: '/var/tmp/portage/portage/llvm-runtimes/libcxxabi-19.1.4/work/runtimes'


Code:
~ λ emerge --info =llvm-runtimes/libcxx-19.1.4::gentoo
Portage 3.0.66.1 (python 3.12.8-final-0, default/linux/amd64/23.0/split-usr/musl/llvm, gcc-14, musl-1.2.4-r2, 6.10.10-zen1-x86_64-server x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-6.10.10-zen1-x86_64-server-x86_64-Intel-R-_Core-TM-_i3-10100F_CPU_@_3.60GHz-with-libc
KiB Mem:    32737600 total,   1007172 free
KiB Swap:          0 total,         0 free
Timestamp of repository gentoo: Mon, 16 Dec 2024 19:00:00 +0000
Head commit of repository gentoo: ac19849f5e8924e9046abd8b2d08c287b048cbbd
sh bash 5.2_p37
ld GNU ld (Gentoo 2.42 p6) 2.42.0
app-misc/pax-utils:        1.3.8::gentoo
app-shells/bash:           5.2_p37::gentoo
dev-build/autoconf:        2.72-r1::gentoo
dev-build/automake:        1.16.5-r2::gentoo
dev-build/cmake:           3.30.6::gentoo
dev-build/libtool:         2.4.7-r4::gentoo
dev-build/make:            4.4.1-r100::gentoo
dev-build/meson:           1.5.2::gentoo
dev-lang/perl:             5.40.0::gentoo
dev-lang/python:           3.12.8::gentoo, 3.13.1::gentoo
llvm-core/clang:           18.1.8::gentoo, 19.1.4::gentoo
llvm-core/lld:             18.1.8::gentoo, 19.1.4::gentoo
llvm-core/llvm:            18.1.8-r1::gentoo, 19.1.4::gentoo
sys-apps/baselayout:       2.17::gentoo
sys-apps/openrc:           0.55.1::gentoo
sys-apps/sandbox:          2.39::gentoo
sys-devel/binutils:        2.42-r2::gentoo, 2.43-r2::gentoo
sys-devel/binutils-config: 5.5.2::gentoo
sys-devel/gcc:             14.2.1_p20241116::gentoo
sys-devel/gcc-config:      2.11::gentoo
sys-kernel/linux-headers:  6.6-r1::gentoo (virtual/os-headers)
sys-libs/musl:             1.2.4-r2::gentoo
Repositories:

gentoo
    location: /var/db/repos/gentoo
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000
    volatile: False
    sync-rsync-verify-metamanifest: yes
    sync-rsync-extra-opts:
    sync-rsync-verify-max-age: 24
    sync-rsync-verify-jobs: 1

Binary Repositories:

gentoobinhost
    priority: 1
    sync-uri: https://gentoo.osuosl.org/releases/amd64/binpackages/17.1/x86-64_musl_llvm

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="@FREE vim.org intel-ucode"
ADDR2LINE="llvm-addr2line"
AR="llvm-ar"
AS="clang -c"
CBUILD="x86_64-gentoo-linux-musl"
CC="/usr/bin/clang"
CFLAGS="-O3 -march=native -pipe -flto -fstack-protector-strong -fstack-clash-protection -D_FORTIFY_SOURCE=3 -Wl,-z,relro,-z,now"
CHOST="x86_64-gentoo-linux-musl"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CPP="clang-cpp"
CXX="/usr/bin/clang++"
CXXFLAGS="-O3 -march=native -pipe -flto -fstack-protector-strong -fstack-clash-protection -D_FORTIFY_SOURCE=3 -Wl,-z,relro,-z,now"
DISTDIR="/var/cache/distfiles"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GDK_PIXBUF_MODULE_FILE 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"
FCFLAGS="-O3 -pipe -march=native -mtune=native"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance buildpkg-live config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync merge-wait network-sandbox news parallel-fetch pid-sandbox pkgdir-index-trusted preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O3 -pipe -march=native -mtune=native"
GENTOO_MIRRORS="https://mirrors.kvj.ovh/gentoo/"
INSTALL_MASK="charset.alias /usr/share/locale/locale.alias"
LANG="C.UTF8"
LD="ld.lld"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,--as-needed -fuse-ld=lld -rtlib=compiler-rt -unwindlib=libunwind -Wl,--as-needed"
LEX="flex"
MAKEOPTS="-j6"
NM="llvm-nm"
OBJCOPY="llvm-objcopy"
OBJDUMP="llvm-objdump"
PKGDIR="/var/cache/binpkgs"
PORTAGE_CONFIGROOT="/"
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_TMPDIR="/var/tmp/portage"
RANLIB="llvm-ranlib"
READELF="llvm-readelf"
SHELL="/bin/fish"
STRINGS="llvm-strings"
STRIP="llvm-strip"
USE="acl amd64 apparmor asm bindnow bzip2 cet clang crypt fortify-source hardened hardening iconv jit libtirpc llvm-libunwind lto minimal native-symlinks ncurses nls nss openmp orc pam pcre pgo pic readline restrict seccomp split-usr ssl stackprotector system-av1 system-boost system-bootstrap system-ffmpeg system-harfbuzz system-icu system-jpeg system-libevent system-librnp system-libvpx system-libyaml system-llvm system-lua system-lz4 system-man system-png system-python-libs system-sqlite system-ssl system-webp system-zlib test-rust threads uefi unicode xattr xs zlib" ABI_X86="64" ADA_TARGET="gcc_12" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_anon authn_dbm authn_file authz_dbm authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir env expires ext_filter file_cache filter headers include info log_config logio 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 aes avx avx2 f16c fma3 pclmul popcnt rdrand sse3 sse4_1 sse4_2 ssse3" ELIBC="musl" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax navcom oceanserver oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 tsip tripmate tnt ublox" GRUB_PLATFORMS="efi-64" GUILE_SINGLE_TARGET="3-0" GUILE_TARGETS="3-0" INPUT_DEVICES="libinput" KERNEL="linux" LCD_DEVICES="bayrad cfontz glk hd44780 lb216 lcdm001 mtxorb text" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php8-2" POSTGRES_TARGETS="postgres16" PYTHON_SINGLE_TARGET="python3_12" PYTHON_TARGETS="python3_12" RUBY_TARGETS="ruby32" VIDEO_CARDS="amdgpu fbdev intel nouveau radeon radeonsi vesa dummy" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipp2p iface geoip fuzzy condition tarpit sysrq proto logmark ipmark dhcpmac delude chaos account"
Unset:  ARFLAGS, ASFLAGS, CCLD, CONFIG_SHELL, CPPFLAGS, CTARGET, CXXFILT, ELFEDIT, EMERGE_DEFAULT_OPTS, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, LC_ALL, LFLAGS, LIBTOOL, LINGUAS, MAKE, MAKEFLAGS, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PYTHONPATH, RUSTFLAGS, SIZE, YACC, YFLAGS


Last edited by wfalkowski on Wed Dec 18, 2024 10:12 am; edited 1 time in total
Back to top
View user's profile Send private message
bstaletic
Guru
Guru


Joined: 05 Apr 2014
Posts: 407

PostPosted: Mon Dec 16, 2024 7:50 pm    Post subject: Reply with quote

Is x86_64-gentoo-linux-musl-clang in your PATH? Is it in PATH in the environment that portage is using when configuring a package?
What is your profile? Are you using an llvm one?
Back to top
View user's profile Send private message
GDH-gentoo
Veteran
Veteran


Joined: 20 Jul 2019
Posts: 1777
Location: South America

PostPosted: Mon Dec 16, 2024 8:52 pm    Post subject: Re: llvm, clang 19 fails to compile Reply with quote

wfalkowski wrote:
Code:
~ λ emerge --info =llvm-runtimes/libcxx-19.1.4::gentoo
...
CC="/usr/bin/clang"
...
CXX="/usr/bin/clang++"

Why are these absolute pathnames? The LLVM profiles set them to just "clang" and "clang++", where is this being overridden? /etc/portage/package.env?
_________________
NeddySeagoon wrote:
I'm not a witch, I'm a retired electronics engineer :)
Ionen wrote:
As a packager I just don't want things to get messier with weird build systems and multiple toolchains requirements though :)
Back to top
View user's profile Send private message
Juippisi
Developer
Developer


Joined: 30 Sep 2005
Posts: 756
Location: /home

PostPosted: Tue Dec 17, 2024 8:53 am    Post subject: Reply with quote

This is an annoying issue. Your clang-19 toolchain is incomplete and cannot be used. You have to use clang-18 to finish compiling the -19 toolchain. It is doable with package.env.

That's my guess at least.
Back to top
View user's profile Send private message
wfalkowski
n00b
n00b


Joined: 16 Dec 2024
Posts: 3

PostPosted: Tue Dec 17, 2024 5:55 pm    Post subject: Re: llvm, clang 19 fails to compile Reply with quote

GDH-gentoo wrote:
wfalkowski wrote:
Code:
~ λ emerge --info =llvm-runtimes/libcxx-19.1.4::gentoo
...
CC="/usr/bin/clang"
...
CXX="/usr/bin/clang++"

Why are these absolute pathnames? The LLVM profiles set them to just "clang" and "clang++", where is this being overridden? /etc/portage/package.env?


In package.env, just tested in case it was a problem and just forgot to change really.

I recompiled all of the toolchain version 18
Code:
emerge -av llvm-core/llvm:18

, but still nothing, it seems that for some reason the compiler looks for x86_64-gentoo-linux-musl-clang instead of x86_64-pc-linux-musl-clang and ++ variants respectively, just did
Code:
ln -s x86_64-pc-linux-musl-clang x86_64-gentoo-linux-musl-clang
ln -s x86_64-pc-linux-musl-clang++ x86_64-gentoo-linux-musl-clang++
and it has compiled.

In /usr/lib/llvm/19/bin there is no x86_64-gentoo-linux-musl-clang and x86_64-gentoo-linux-musl-clang++ either. I wonder if it's to do with the ebuild.

It is also worth mentioning that today when I tinkered a bit with it I read in the log that I need to set CMAKE_CXX_COMPILER to an absolute path, so I did
Code:
export CMAKE_CXX_COMPILER="/usr/lib/llvm/18/bin/x86_64-pc-linux-musl-clang++"

and it still was complaining about missing x86_64-gentoo-linux-musl-clang++.
Back to top
View user's profile Send private message
GDH-gentoo
Veteran
Veteran


Joined: 20 Jul 2019
Posts: 1777
Location: South America

PostPosted: Tue Dec 17, 2024 8:27 pm    Post subject: Re: llvm, clang 19 fails to compile Reply with quote

wfalkowski wrote:
Code:
~ λ emerge --info =llvm-runtimes/libcxx-19.1.4::gentoo
Portage 3.0.66.1 (python 3.12.8-final-0, default/linux/amd64/23.0/split-usr/musl/llvm, gcc-14, musl-1.2.4-r2, 6.10.10-zen1-x86_64-server x86_64)
...
CBUILD="x86_64-gentoo-linux-musl"
...
CHOST="x86_64-gentoo-linux-musl"

These also seem overridden / set elsewhere, amd64 musl profiles set CHOST to "x86_64-pc-linux-musl" and do not set CBUILD. This unusual triplet (quadruplet technically) was right in the thread's title and I didn't see it.

The instructions for migrating to 23.0 profiles also specified the removal of any assignment to CHOST in make.conf.
_________________
NeddySeagoon wrote:
I'm not a witch, I'm a retired electronics engineer :)
Ionen wrote:
As a packager I just don't want things to get messier with weird build systems and multiple toolchains requirements though :)
Back to top
View user's profile Send private message
wfalkowski
n00b
n00b


Joined: 16 Dec 2024
Posts: 3

PostPosted: Wed Dec 18, 2024 10:12 am    Post subject: Re: llvm, clang 19 fails to compile Reply with quote

GDH-gentoo wrote:
wfalkowski wrote:
Code:
~ λ emerge --info =llvm-runtimes/libcxx-19.1.4::gentoo
Portage 3.0.66.1 (python 3.12.8-final-0, default/linux/amd64/23.0/split-usr/musl/llvm, gcc-14, musl-1.2.4-r2, 6.10.10-zen1-x86_64-server x86_64)
...
CBUILD="x86_64-gentoo-linux-musl"
...
CHOST="x86_64-gentoo-linux-musl"

These also seem overridden / set elsewhere, amd64 musl profiles set CHOST to "x86_64-pc-linux-musl" and do not set CBUILD. This unusual triplet (quadruplet technically) was right in the thread's title and I didn't see it.

The instructions for migrating to 23.0 profiles also specified the removal of any assignment to CHOST in make.conf.


Oh, I haven't read those, but still I wonder why I stumbled upon this problem just now lol.
Now I know why on my desktop PC I have no CHOST in make.conf.
Marking as SOLVED. Thank You all for helping me out!
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum