Portstree / Make not working after upgrade 9.0 -> 9.1

Hi,

This forum often helped me successfully if I had problems during the last years with my FreeBSD installation. But now I have a strange problem I can't figure out what it exactly is and how to solve it.

I recently (yesterday) upgraded my FreeBSD installation from 9.0 to 9.1 using the freebsd-update(8) procedure. All worked fine, at least I thought this. The problem now is, that I cannot use the ports tree any more. Regardless in which program I call make install clean I get similar errors like:
Code:
[I]"Mk/bsd.port.mk", line 2164: Malformed conditional (${CC} != "icc")
"Mk/bsd.port.mk", line 6520: if-less endif
make: fatal errors encountered -- cannot continue
/usr/local/lib/ruby/site_ruby/1.8/pkgtools/portsdb.rb:237:in `join': can't convert nil into String (TypeError)
	from /usr/local/lib/ruby/site_ruby/1.8/pkgtools/portsdb.rb:237:in `index_file'
	from /usr/local/lib/ruby/site_ruby/1.8/pkgtools/portsdb.rb:247:in `set_db_dir'
	from /usr/local/lib/ruby/site_ruby/1.8/pkgtools/portsdb.rb:167:in `setup'[/I]

I already fetched and extracted the ports tree three times but it didn't solve the problem. (GCC is 4.2.1 and MAKE_VERSION='9201120530'). Does anyone have a solution or at least a hint for one?

Thanks in advance.
Woody
 
Is there anything in /etc/make.conf? Have you tried removing and fetching a fresh ports tree?
 
I removed the ports tree rm -rf /usr/ports and then fetched a new one portsnap fetch extract. Didn't solve the problem.

The content of my /etc/make.conf
Code:
# added by use.perl 2013-03-11 09:56:10
PERL_VERSION=5.14.2
 
Either you're running an old version of FreeBSD (and hence, an outdated version of make) or you need to install a full source tree to get rid of this. Not having a source tree when a port expects one can lead to weird-looking errors. If you don't check out /usr/src with freebsd-update, turn it on and try again. If you are running an EoL version of FreeBSD, upgrade.
 
DutchDaemon said:
or you need to install a full source tree to get rid of this. Not having a source tree when a port expects one can lead to weird-looking errors.
Yes, I was wondering about that. I can remember some calls from /usr/ports/Mk/bsd.*.mk to somewhere in /usr/src/ but couldn't find it on short notice. I know some ports that build kernel modules certainly require at least the kernel sources but I can remember some other call-backs too.
 
The error you show is from running Ruby, probably ports-mgmt/portupgrade, which may not be exactly the same as manually running make install. Does make -C /usr/ports/ports-mgmt/portupgrade -V CC have the same error?

That make(1) version string appears to be from 2011. Did the update complete successfully? Does uname -a show 9.1?
 
uname -a shows:
Code:
9.1-RELEASE-p3 FreeBSD 9.1-RELEASE-p3 #0: Mon Apr 29 18:11:52 UTC 2013     root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC  i386
so for me it looks as if the update worked correctly.

make -C /usr/ports/ports-mgmt/portupgrade -V CC shows:
Code:
"Makefile", line 53: Malformed conditional (${PORT_OPTIONS:MDOCS})
"Makefile", line 55: if-less endif
"Makefile", line 58: Malformed conditional (${RUBY_VER} != 2.0)
"Makefile", line 61: if-less endif
"Makefile", line 64: Malformed conditional (${RUBY_VER} == 1.9)
"Makefile", line 66: if-less endif
"Makefile", line 69: Malformed conditional (${OSVERSION} < 801000)
"Makefile", line 72: if-less else
"Makefile", line 74: if-less endif
make: fatal errors encountered -- cannot continue
 
Solved it:

Checked out /usr/src and made /usr/src/share/mk/make install. Now everything seems running fine again.

Thanks for your help.
 
Back
Top