Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
i686-pc-linux-musl-g++ not in /usr/lib/distcc
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
Adel Ahmed
Veteran
Veteran


Joined: 21 Sep 2012
Posts: 1593

PostPosted: Fri Jan 17, 2025 4:51 pm    Post subject: i686-pc-linux-musl-g++ not in /usr/lib/distcc Reply with quote

I am trying to setup distcc and cross compiling to compile i686 packages on my x86_64 laptop(both laptops have USE=-*)
while compiling mesa on the client I see these errors:
Code:
[21/3494] /usr/lib/distcc/bin/i686-pc-linux-musl-g++ -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/var/tmp/portage/llvm-core/llvm-18.1.8-r6/work/llvm_build-abi_x86_32.x86/lib/Support -I/var/tmp/portage/llvm-core/llvm-18.1.8-r6/work/llvm/lib/Support -I/var/tmp/portage/llvm-core/llvm-18.1.8-r6/work/llvm_build-abi_x86_32.x86/include -I/var/tmp/portage/llvm-core/llvm-18.1.8-r6/work/llvm/include  -DNDEBUG -O2 -march=atom -pipe -fomit-frame-pointer -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -fno-lifetime-dse -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-maybe-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -std=c++17 -MD -MT lib/Support/CMakeFiles/LLVMSupport.dir/Compression.cpp.o -MF lib/Support/CMakeFiles/LLVMSupport.dir/Compression.cpp.o.d -o lib/Support/CMakeFiles/LLVMSupport.dir/Compression.cpp.o -c /var/tmp/portage/llvm-core/llvm-18.1.8-r6/work/llvm/lib/Support/Compression.cppition -fvisibility-inlines-hidden -Werror=date-time -f
distcc[220] (dcc_build_somewhere) Warning: failed to distribute, running locally instead

and can find the following on the x86_64 machine:
Code:
t14 /usr/lib/distcc # tail -f /var/log/distccd.log
distccd[21008] (dcc_check_compiler_whitelist) CRITICAL! i686-pc-linux-musl-g++ not in /usr/lib/distcc or /usr/lib/distcc whitelist.
distccd[21008] (dcc_job_summary) client: 192.168.1.4:45028 OTHER exit:0 sig:0 core:0 ret:0 time:7378ms
distccd[21009] (dcc_check_compiler_whitelist) CRITICAL! i686-pc-linux-musl-g++ not in /usr/lib/distcc or /usr/lib/distcc whitelist.
distccd[21009] (dcc_job_summary) client: 192.168.1.4:45040 OTHER exit:0 sig:0 core:0 ret:0 time:7787ms
distccd[21010] (dcc_check_compiler_whitelist) CRITICAL! i686-pc-linux-musl-g++ not in /usr/lib/distcc or /usr/lib/distcc whitelist.
distccd[21010] (dcc_job_summary) client: 192.168.1.4:45044 OTHER exit:0 sig:0 core:0 ret:0 time:5029ms
distccd[21011] (dcc_check_compiler_whitelist) CRITICAL! i686-pc-linux-musl-g++ not in /usr/lib/distcc or /usr/lib/distcc whitelist.
distccd[21011] (dcc_job_summary) client: 192.168.1.4:56518 OTHER exit:0 sig:0 core:0 ret:0 time:5528ms
distccd[21012] (dcc_check_compiler_whitelist) CRITICAL! i686-pc-linux-musl-g++ not in /usr/lib/distcc or /usr/lib/distcc whitelist.
distccd[21012] (dcc_job_summary) client: 192.168.1.4:40706 OTHER exit:0 sig:0 core:0 ret:0 time:5937ms
t14 /usr/lib/distcc # ls -l
total 156
lrwxrwxrwx 1 root root  1 Jan 16 18:00 bin -> .
lrwxrwxrwx 1 root root 15 Jan 17 18:39 c++ -> /usr/bin/distcc
lrwxrwxrwx 1 root root 15 Jan 17 18:39 c99 -> /usr/bin/distcc
lrwxrwxrwx 1 root root 15 Jan 17 18:39 cc -> /usr/bin/distcc
lrwxrwxrwx 1 root root 15 Jan 17 18:39 clang -> /usr/bin/distcc
lrwxrwxrwx 1 root root 15 Jan 17 18:39 clang++ -> /usr/bin/distcc
lrwxrwxrwx 1 root root 15 Jan 17 18:39 clang++-18 -> /usr/bin/distcc
lrwxrwxrwx 1 root root 15 Jan 17 18:39 clang++-19 -> /usr/bin/distcc
lrwxrwxrwx 1 root root 15 Jan 17 18:39 clang-18 -> /usr/bin/distcc
lrwxrwxrwx 1 root root 15 Jan 17 18:39 clang-19 -> /usr/bin/distcc
lrwxrwxrwx 1 root root 15 Jan 17 18:39 g++ -> /usr/bin/distcc
lrwxrwxrwx 1 root root 15 Jan 17 18:39 g++-14 -> /usr/bin/distcc
lrwxrwxrwx 1 root root 15 Jan 17 18:39 gcc -> /usr/bin/distcc
lrwxrwxrwx 1 root root 15 Jan 17 18:39 gcc-14 -> /usr/bin/distcc
lrwxrwxrwx 1 root root 15 Jan 17 18:39 i686-pc-linux-gnu-clang -> /usr/bin/distcc
lrwxrwxrwx 1 root root 15 Jan 17 18:39 i686-pc-linux-gnu-clang++ -> /usr/bin/distcc
lrwxrwxrwx 1 root root 15 Jan 17 18:39 i686-pc-linux-gnu-clang++-18 -> /usr/bin/distcc
lrwxrwxrwx 1 root root 15 Jan 17 18:39 i686-pc-linux-gnu-clang++-19 -> /usr/bin/distcc
lrwxrwxrwx 1 root root 15 Jan 17 18:39 i686-pc-linux-gnu-clang-18 -> /usr/bin/distcc
lrwxrwxrwx 1 root root 15 Jan 17 18:39 i686-pc-linux-gnu-clang-19 -> /usr/bin/distcc
lrwxrwxrwx 1 root root 15 Jan 17 18:39 i686-pc-linux-musl-cc -> /usr/bin/distcc
lrwxrwxrwx 1 root root 15 Jan 17 18:39 i686-pc-linux-musl-gcc -> /usr/bin/distcc
lrwxrwxrwx 1 root root 15 Jan 17 18:39 i686-pc-linux-musl-gcc-13 -> /usr/bin/distcc
lrwxrwxrwx 1 root root 15 Jan 17 18:39 i686-pc-linux-musl-gcc-14 -> /usr/bin/distcc
lrwxrwxrwx 1 root root 15 Jan 17 18:39 i686-unknown-linux-musl-cc -> /usr/bin/distcc
lrwxrwxrwx 1 root root 15 Jan 17 18:39 i686-unknown-linux-musl-gcc -> /usr/bin/distcc
lrwxrwxrwx 1 root root 15 Jan 17 18:39 i686-unknown-linux-musl-gcc-14 -> /usr/bin/distcc
lrwxrwxrwx 1 root root 15 Jan 17 18:39 x86_64-pc-linux-gnu-c++ -> /usr/bin/distcc
lrwxrwxrwx 1 root root 15 Jan 17 18:39 x86_64-pc-linux-gnu-cc -> /usr/bin/distcc
lrwxrwxrwx 1 root root 15 Jan 17 18:39 x86_64-pc-linux-gnu-clang -> /usr/bin/distcc
lrwxrwxrwx 1 root root 15 Jan 17 18:39 x86_64-pc-linux-gnu-clang++ -> /usr/bin/distcc
lrwxrwxrwx 1 root root 15 Jan 17 18:39 x86_64-pc-linux-gnu-clang++-18 -> /usr/bin/distcc
lrwxrwxrwx 1 root root 15 Jan 17 18:39 x86_64-pc-linux-gnu-clang++-19 -> /usr/bin/distcc
lrwxrwxrwx 1 root root 15 Jan 17 18:39 x86_64-pc-linux-gnu-clang-18 -> /usr/bin/distcc
lrwxrwxrwx 1 root root 15 Jan 17 18:39 x86_64-pc-linux-gnu-clang-19 -> /usr/bin/distcc
lrwxrwxrwx 1 root root 15 Jan 17 18:39 x86_64-pc-linux-gnu-g++ -> /usr/bin/distcc
lrwxrwxrwx 1 root root 15 Jan 17 18:39 x86_64-pc-linux-gnu-g++-14 -> /usr/bin/distcc
lrwxrwxrwx 1 root root 15 Jan 17 18:39 x86_64-pc-linux-gnu-gcc -> /usr/bin/distcc
lrwxrwxrwx 1 root root 15 Jan 17 18:39 x86_64-pc-linux-gnu-gcc-14 -> /usr/bin/distcc


i tried rebuilding the target using crossdev using this command but it did not work:
Code:
crossdev --target i686-pc-linux-musl --gcc 14 -s4 --force

I also tried using eselect to update the symlinks:
Code:
eselect compiler-shadow update all
Updating masquerade for distcc ...
'clang' -> '/usr/bin/distcc'
'clang-18' -> '/usr/bin/distcc'
'clang-19' -> '/usr/bin/distcc'
'clang++' -> '/usr/bin/distcc'
'clang++-18' -> '/usr/bin/distcc'
'clang++-19' -> '/usr/bin/distcc'
'i686-pc-linux-gnu-clang' -> '/usr/bin/distcc'
'x86_64-pc-linux-gnu-clang' -> '/usr/bin/distcc'
'i686-pc-linux-gnu-clang-18' -> '/usr/bin/distcc'
'i686-pc-linux-gnu-clang-19' -> '/usr/bin/distcc'
'x86_64-pc-linux-gnu-clang-18' -> '/usr/bin/distcc'
'x86_64-pc-linux-gnu-clang-19' -> '/usr/bin/distcc'
'i686-pc-linux-gnu-clang++' -> '/usr/bin/distcc'
'x86_64-pc-linux-gnu-clang++' -> '/usr/bin/distcc'
'i686-pc-linux-gnu-clang++-18' -> '/usr/bin/distcc'
'i686-pc-linux-gnu-clang++-19' -> '/usr/bin/distcc'
'x86_64-pc-linux-gnu-clang++-18' -> '/usr/bin/distcc'
'x86_64-pc-linux-gnu-clang++-19' -> '/usr/bin/distcc'
'gcc' -> '/usr/bin/distcc'
'gcc-14' -> '/usr/bin/distcc'
'g++' -> '/usr/bin/distcc'
'g++-14' -> '/usr/bin/distcc'
'i686-pc-linux-musl-gcc' -> '/usr/bin/distcc'
'i686-unknown-linux-musl-gcc' -> '/usr/bin/distcc'
'x86_64-pc-linux-gnu-gcc' -> '/usr/bin/distcc'
'i686-pc-linux-musl-gcc-14' -> '/usr/bin/distcc'
'i686-unknown-linux-musl-gcc-14' -> '/usr/bin/distcc'
'x86_64-pc-linux-gnu-gcc-14' -> '/usr/bin/distcc'
'x86_64-pc-linux-gnu-g++' -> '/usr/bin/distcc'
'x86_64-pc-linux-gnu-g++-14' -> '/usr/bin/distcc'
'cc' -> '/usr/bin/distcc'
'c99' -> '/usr/bin/distcc'
'c++' -> '/usr/bin/distcc'
'i686-pc-linux-musl-cc' -> '/usr/bin/distcc'
'i686-unknown-linux-musl-cc' -> '/usr/bin/distcc'
'x86_64-pc-linux-gnu-cc' -> '/usr/bin/distcc'
'x86_64-pc-linux-gnu-c++' -> '/usr/bin/distcc'


what am I doing wrong here?
Back to top
View user's profile Send private message
eccerr0r
Watchman
Watchman


Joined: 01 Jul 2004
Posts: 9871
Location: almost Mile High in the USA

PostPosted: Fri Jan 17, 2025 5:06 pm    Post subject: Reply with quote

probably a bug/oversight, too many combinations, might want to b.g.o it. But first, does it work if you put in that link manually?

someday i should set up a musl system to see what benefits it gets...
_________________
Intel Core i7 2700K/Radeon R7 250/24GB DDR3/256GB SSD
What am I supposed watching?
Back to top
View user's profile Send private message
Adel Ahmed
Veteran
Veteran


Joined: 21 Sep 2012
Posts: 1593

PostPosted: Sun Jan 19, 2025 3:58 pm    Post subject: Reply with quote

putting in the link manually did not work
Code:
t14 /usr/lib/distcc # ./i686-pc-linux-musl-g++
distcc[19249] (dcc_execvp) ERROR: failed to exec i686-pc-linux-musl-g++: No such file or directory
distcc[19248] ERROR: compile (null) on localhost failed with exit code 110
Back to top
View user's profile Send private message
eccerr0r
Watchman
Watchman


Joined: 01 Jul 2004
Posts: 9871
Location: almost Mile High in the USA

PostPosted: Sun Jan 19, 2025 7:00 pm    Post subject: Reply with quote

Well, that's still necessary (and it should be handled by portage/ebuild), then the other thing is why isn't i686-pc-linux-musl-g++ in the path of distccd ... where is the normal binary installed and is it in distccd's path?

(clang was a weird problem in the past for me... had one machine kept running old versions of clang and couldn't get it to run newer versions at all...)
_________________
Intel Core i7 2700K/Radeon R7 250/24GB DDR3/256GB SSD
What am I supposed watching?
Back to top
View user's profile Send private message
Adel Ahmed
Veteran
Veteran


Joined: 21 Sep 2012
Posts: 1593

PostPosted: Mon Jan 20, 2025 7:17 am    Post subject: Reply with quote

the binary is not installed, I'm not sure why, i tried running crossdev again with the stage 4 option but it's not there:
Code:
t14 /usr/lib/distcc # locate i686-pc-linux-musl-g++
/usr/lib/distcc/i686-pc-linux-musl-g++
t14 /usr/lib/distcc # ls -l /usr/lib/distcc/i686-pc-linux-musl-g++
lrwxrwxrwx 1 root root 15 Jan 17 20:49 /usr/lib/distcc/i686-pc-linux-musl-g++ -> /usr/bin/distcc
Back to top
View user's profile Send private message
eccerr0r
Watchman
Watchman


Joined: 01 Jul 2004
Posts: 9871
Location: almost Mile High in the USA

PostPosted: Mon Jan 20, 2025 5:01 pm    Post subject: Reply with quote

Is there a g++ somewhere? How is g++ being invoked normally/locally?
Can you symlink i686-pc-linux-musl-g++ to that binary?
_________________
Intel Core i7 2700K/Radeon R7 250/24GB DDR3/256GB SSD
What am I supposed watching?
Back to top
View user's profile Send private message
pingtoo
Veteran
Veteran


Joined: 10 Sep 2021
Posts: 1415
Location: Richmond Hill, Canada

PostPosted: Mon Jan 20, 2025 5:27 pm    Post subject: Reply with quote

Adel Ahmed,

You are trying cross compile with distcc. You may want to review Gentoo wiki: Distcc/Cross-Compiling-Compiling

So, does your distcc helper have same crossdev target installed? does your distcc helper updated so it know how to invoke your crossdev target compiler?
Back to top
View user's profile Send private message
Adel Ahmed
Veteran
Veteran


Joined: 21 Sep 2012
Posts: 1593

PostPosted: Mon Jan 20, 2025 8:02 pm    Post subject: Reply with quote

I tried to create the symlink pointing to my executable under /usr/bin/g++
still getting the error though:
Code:
distccd[6344] (dcc_execvp) ERROR: failed to exec i686-pc-linux-musl-g++: No such file or directory
distccd[31519] (dcc_job_summary) client: 192.168.1.4:34116 COMPILE_ERROR exit:110 sig:0 core:0 ret:0 time:151ms i686-pc-linux-musl-g++ /usr/share/cmake/Modules/CMakeCXXCompilerABI.cpp


I also seee this in the build log:
Code:
-- Found assembler: /usr/lib/distcc/bin/i686-pc-linux-musl-gcc
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - failed
-- Check for working C compiler: /usr/lib/distcc/bin/i686-pc-linux-musl-gcc
-- Check for working C compiler: /usr/lib/distcc/bin/i686-pc-linux-musl-gcc - works
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/lib/distcc/bin/i686-pc-linux-musl-g++ - skipped


it does feel a bit closer to the solution:
Code:
t14 /usr/lib/distcc/bin # /usr/lib/distcc/i686-pc-linux-musl-g++
i686-pc-linux-musl-g++: fatal error: no input files
compilation terminated.
t14 /usr/lib/distcc/bin # i686-pc-linux-musl-g++
-su: i686-pc-linux-musl-g++: command not found
t14 /usr/lib/distcc/bin # whereis i686-pc-linux-musl-g++
i686-pc-linux-musl-g++:


I read the document again, but I still don't know what I'm missing yet, my distcc helper has that crossdev target installed, i think it's updated to know how to invoke the compiler as it's able to invoke gcc but not g++
Back to top
View user's profile Send private message
pingtoo
Veteran
Veteran


Joined: 10 Sep 2021
Posts: 1415
Location: Richmond Hill, Canada

PostPosted: Mon Jan 20, 2025 8:25 pm    Post subject: Reply with quote

So may be the file got accidentally deleted.

So let examine if any thing is missing from portage point of view first.

first use the known exist gcc by
Code:
which i686-pc-linux-musl-gcc


Now you got full path to i686-pc-linux-musl-gcc. please use
Code:
namei -l /path/to/i686-pc-linux-musl-gcc


This should gave you where the real binary location.

Now find which package own the binary by
Code:
qfile /path/to/the/real binary(i686-pc-linux-musl-gcc)


The qfile should return the category/package name.

Now verify with
Code:
qcheck category/package name


if qcheck report ok, then it would be a distcc configuration issue. or else you will need to rebuild your crossdev tool chain, something is missing.

You need to do this on both you build server and your distcc helper.
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