Solved Why this? Clang

I do have this when I try install world after a successfull build:

Code:
--------------------------------------------------------------
>>> Installing everything
--------------------------------------------------------------
cd /usr/src; make -f Makefile.inc1 install
===> lib (install)
===> lib/csu (install)
===> lib/csu/i386 (install)
clang -O2 -pipe -I/usr/src/lib/csu/common  -I/usr/src/lib/libc/include   -MD  -MF.depend.crti.o -MTcrti.o -std=gnu99  -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -Wthread-safety -Wno-empty-body -Wno-string-plus-int  -Qunused-arguments  ERROR-tried-to-rebuild-during-make-install   -c crti.S -o crti.o
/tmp/install.pw7sqcLm/sh: clang: not found
*** Error code 127

Stop.
make[6]: stopped in /usr/src/lib/csu/i386
*** Error code 1

Stop.
make[5]: stopped in /usr/src/lib/csu
*** Error code 1

Stop.
make[4]: stopped in /usr/src/lib
*** Error code 1

Stop.
make[3]: stopped in /usr/src
*** Error code 1

Stop.
make[2]: stopped in /usr/src
*** Error code 1

Stop.
make[1]: stopped in /usr/src
*** Error code 1

Stop.
make: stopped in /usr/src
root@freebsd11vm:/usr/src #

Then, before try to install world, kernel installed fine:
Code:
FreeBSD freebsd11vm 11.1-RELEASE-p1 FreeBSD 11.1-RELEASE-p1 #0 r323215: Wed Sep  6 21:08:17 CEST 2017     max@freebsd11vm:/usr/obj/usr/src/sys/GENERIC  i386

And:

Code:
root@freebsd11vm:/usr/src # clang --version
FreeBSD clang version 3.8.0 (tags/RELEASE_380/final 262564) (based on LLVM 3.8.0)
Target: i386-unknown-freebsd11.0
Thread model: posix
InstalledDir: /usr/bin
root@freebsd11vm:/usr/src #

So why install world complain?

Any idea? Thank you!
 
Looks like your sources are not up to date. Clang should be version 4.0
no, they are. This is the system I do have available after building world. So it should be installable and maybe I get new Clang AFTER the install world done. IMHO.
 
Any idea? Here it seems Clang can't find the temp files, then they are. So why Clang complain on inatall fase? Remember before tru the install I built the system, so Clang was fine and working...
 
Is there anything in /etc/make.conf and/or /etc/src.conf?

Also make sure /tmp isn't mounted with the noexec flag.
 
Is there anything in /etc/make.conf and/or /etc/src.conf?

Also make sure /tmp isn't mounted with the noexec flag.
Not in front of that machine now, then I lnow about those configuration files and there is nothing related to clang or gcc. I used them in the past to switch sometimes between compilers, then now there is nothing related with it.

/tmp. I checked this and I remember it as the 'x' bit installed for every user type. Not sure what is the noexec bit.

Also: before try to install world, I correctly built and in this case installed the new built 11.1 kernel perfectly fine. Now to complete the upgrade it is needed to install world then I face this problem never seen in ages.
 
/tmp. I checked this and I remember it as the 'x' bit installed for every user type. Not sure what is the noexec bit.
The 'x' bit is part of the permissions, the noexec is a mount flag. It basically tells the system that it cannot execute anything on the filesystem, regardless of the 'x' permissions. The noexec flag is typically added as part of the hardening of a server.

Also: before try to install world, I correctly built and in this case installed the new built 11.1 kernel perfectly fine. Now to complete the upgrade it is needed to install world then I face this problem never seen in ages.
Are /usr/src/ and/or /usr/obj/ perhaps NFS mounted? If that's the case make sure the time is set correctly on both the client and server. You can get weird errors if the time is too far off.
 
The 'x' bit is part of the permissions, the noexec is a mount flag. It basically tells the system that it cannot execute anything on the filesystem, regardless of the 'x' permissions. The noexec flag is typically added as part of the hardening of a server.


Are /usr/src/ and/or /usr/obj/ perhaps NFS mounted? If that's the case make sure the time is set correctly on both the client and server. You can get weird errors if the time is too far off.
Thank you very much for your competent help, Sir Dice. In the past I had a problem with NFS mount and time! For convenience I used to share /usr/obj between various machines to speed up updates and upgrades and that blocked upgrading. Then this machine didn't had that problem, everything was local.

I can't really say what it was, then I choose to go the hard way. Deleted /tmp files related with the upgrade build, cleaned up the source and rebuilt from source. This time no complain about the install and the old Clang, and everything installed fine. After upgrade Clang is now version 4, then all the upgrading works was done with the previous Clang 3, obviously.

I still be curious about what was wrong with the previous build considering it went just fine like the successfull one, then it is now ok and essential this server is finally up to date and in total shape again. This is the machine that suffered many aborted updates via freebsd-update for broken configuration files probably related with IMHO that abort of "mergemaster like" type of program merging configuration files under freebsd-update.

The true mergemaster is indeed a solid piece of software and it never loose a bit.
 
Back
Top