Make Question

Peter Clark clarkp at mtmary.edu
Thu Jun 11 20:28:52 UTC 2009


Hello,

I have inherited an old FreeBSD 5.1 machine(5.1-RELEASE-p18). I realize 
that the short answer to my question is more than likely to upgrade the 
OS to a current release and I would if I had that option right now, but 
I do not. I needed to upgrade the perl/openssh/openssl implementation on 
this box. My first thought was to use the port on the machine that was 
from that era but make fails. So then I thought to csup the ports tree 
and try with a new version, that fails as well. The error is as follows:

make config
"/usr/ports/Mk/bsd.port.mk", line 1780: warning: String comparison 
operator should be either == or !=
"/usr/ports/Mk/bsd.port.mk", line 1780: Malformed conditional 
((${OSVERSION} >= 700007 || ${OSVERSION} < 700000))
"/usr/ports/Mk/bsd.port.mk", line 1780: Missing dependency operator
"/usr/ports/Mk/bsd.port.mk", line 6276: if-less endif
"/usr/ports/Mk/bsd.port.mk", line 6276: Need an operator
make: fatal errors encountered -- cannot continue

I even tried to run portmanager -s to see what condition all the ports 
were in and that same failure showed up:

portmanager -s
------------------------------------------------------------------------
portmanager 0.4.1_9: Collecting installed port data
------------------------------------------------------------------------
00026 perl-5.10.0_3 /lang/perl5.10
------------------------------------------------------------------------
libtool-1.3.4_4 /devel/libtool is no longer in the ports collection, see 
/usr/ports/MOVED
this port must be removed for portmanager to continue
is it OK to remove libtool-1.3.4_4 from your system? (yes/no/auto yes to 
all) [y/n/a] [y]
------------------------------------------------------------------------
Will timeout after 5 minutes and default to [Y] if no selection is made
y
------------------------------------------------------------------------
removing: libtool-1.3.4_4
/usr/sbin/pkg_delete -f libtool-1.3.4_4
executing: /bin/rm -r /usr/ports/devel/libtool (OK to ignore error)
------------------------------------------------------------------------
00025 expat-2.0.1 /textproc/expat2
00024 gettext-0.17_1 /devel/gettext
00023 libtool-1.5.26 /devel/libtool15
00022 libiconv-1.11_1 /converters/libiconv
00021 gmake-3.81_3 /devel/gmake
00020 ezm3-1.2_1 /lang/ezm3
00019 cvsup-without-gui-16.1h_4 /net/cvsup-without-gui
00018 db41-4.1.25_4 /databases/db41
00017 pam_pwdfile-0.95_1 /security/pam_pwdfile
00016 cyrus-sasl-2.1.23 /security/cyrus-sasl2
00015 openssl-0.9.8k_2 /security/openssl
00014 makedepend-1.0.1,1 /devel/makedepend
00013 xproto-7.0.15 /x11/xproto
00012 pkg-config-0.23_1 /devel/pkg-config
00011 rc_subr-1.31_1 /sysutils/rc_subr
"/usr/ports/Mk/bsd.port.mk", line 1780: warning: String comparison 
operator should be either == or !=
"/usr/ports/Mk/bsd.port.mk", line 1780: Malformed conditional 
((${OSVERSION} >= 700007 || ${OSVERSION} < 700000))
"/usr/ports/Mk/bsd.port.mk", line 1780: Missing dependency operator
"/usr/ports/Mk/bsd.port.mk", line 6276: if-less endif
"/usr/ports/Mk/bsd.port.mk", line 6276: Need an operator
make: fatal errors encountered -- cannot continue
MGdbAdd error: attempt to place null data into record halted
Assertion failed: (0), function MGdbAdd, file MGdbAdd.c, line 78.
Abort (core dumped)

The very first thing I did in all this was to upgrade perl to 5.10. The 
upgrade was successful but the rebuild of the perl dependent ports was not:

  portupgrade -fr perl

[Updating the pkgdb <format:bdb_btree> in /var/db/pkg ... ** Stale lock 
file was found. Removed.
- 25 packages found (-1 +1) (...). done]
** Makefile possibly broken: mail/cyrus-imapd2:
         "/usr/ports/Mk/bsd.port.mk", line 1780: warning: String 
comparison operator should be either == or !=
         "/usr/ports/Mk/bsd.port.mk", line 1780: Malformed conditional 
((${OSVERSION} >= 700007 || ${OSVERSION} < 700000))
         "/usr/ports/Mk/bsd.port.mk", line 1780: Missing dependency operator
         "/usr/ports/Mk/bsd.port.mk", line 6276: if-less endif
         "/usr/ports/Mk/bsd.port.mk", line 6276: Need an operator
         make: fatal errors encountered -- cannot continue
/usr/local/sbin/portupgrade:1468:in `get_pkgname': Makefile broken 
(MakefileBrokenError)
         from /usr/local/sbin/portupgrade:622:in `main'
         from /usr/local/sbin/portupgrade:613:in `each'
         from /usr/local/sbin/portupgrade:613:in `main'
         from /usr/local/sbin/portupgrade:588:in `catch'
         from /usr/local/sbin/portupgrade:588:in `main'
         from /usr/local/lib/ruby/1.8/optparse.rb:1310:in `call'
         from /usr/local/lib/ruby/1.8/optparse.rb:1310:in `parse_in_order'
         from /usr/local/lib/ruby/1.8/optparse.rb:1306:in `catch'
         from /usr/local/lib/ruby/1.8/optparse.rb:1306:in `parse_in_order'
         from /usr/local/lib/ruby/1.8/optparse.rb:1254:in `catch'
         from /usr/local/lib/ruby/1.8/optparse.rb:1254:in `parse_in_order'
         from /usr/local/lib/ruby/1.8/optparse.rb:1248:in `order!'
         from /usr/local/lib/ruby/1.8/optparse.rb:1241:in `order'
         from /usr/local/sbin/portupgrade:565:in `main'
         from /usr/local/lib/ruby/1.8/optparse.rb:791:in `initialize'
         from /usr/local/sbin/portupgrade:229:in `new'
         from /usr/local/sbin/portupgrade:229:in `main'
         from /usr/local/sbin/portupgrade:2208


In that last piece I see that the initial offender is cyrus-imapd2 but I 
see those "/usr/ports/Mk.bsd.port.mk" lines as errors in other ports... 
I am not sure if this is just caused by the cyrus port, make in general 
or something inherently broken in that 5.1 install. Any help to 
resolving this is appreciated.

Peter







More information about the freebsd-questions mailing list