Make is broken! How to fix?

Theorem theorem21 at gmail.com
Wed May 2 04:17:57 UTC 2007



W. D. wrote:
> At 21:25 5/1/2007, Garrett Cooper wrote:
>> W. D. wrote:
>>> At 20:59 5/1/2007, Matt Emmerton wrote:
>>>> usw2# cd make++
>>>> usw2# ls -lt
>>>> total 5
>>>> -rw-r--r--  1 root  wheel  1221 May  1 18:35 Makefile
>>>> -rw-r--r--  1 root  wheel   190 May  1 18:35 distinfo
>>>> -rw-r--r--  1 root  wheel   643 May  1 18:35 pkg-plist
>>>> -rw-r--r--  1 root  wheel   602 Oct 17  2004 pkg-descr
>>>> usw2# make install
>>>> "/usr/ports/Mk/bsd.port.mk", line 5460: Malformed conditional
>>>> (defined(USE_RCORDER) || defined(USE_RC_SUBR) && ${USE_RC_SUBR:U} != "YES")
>>>> "/usr/ports/Mk/bsd.port.mk", line 5470: Malformed conditional
>>>> (defined(USE_RC_SUBR) && ${USE_RC_SUBR:U} != "YES")
>>>> "/usr/ports/Mk/bsd.port.mk", line 5481: if-less endif
>>>> "/usr/ports/Mk/bsd.port.mk", line 5481: Need an operator
>>>> "/usr/ports/Mk/bsd.port.mk", line 5958: if-less endif
>>>> "/usr/ports/Mk/bsd.port.mk", line 5958: Need an operator
>>>> make: fatal errors encountered -- cannot continue
>>>>
>>>> FreeBSD 4.4-RELEASE
>>>>
>>>> Just ran cvsup.  Any ideas?
>>>> ------
>>>>
>>>> The ports collection is only guaranteed to work on the current release of
>>>> FreeBSD, which is 6.2.
>>>> You're running 4.4-REL, which is fairly old (~5.5 years -- Sep/2001) and you
>>>> should consider upgrading.
>>> How do I do that without killing this production server?
>>>
>>>> --
>>>> Matt Emmerton
>> W.D.,
>> 	You can't unfortunately. The only way to go about this is plan out a 
>> date when you can take down the server for approximately 1-5 hours 
>> (comfortably) depending on what you need to compile / install, and the 
>> speed of the machine.
>> 	Another option (not really encouraged, but available), is to take 
>> cvsup, sync to the most current 5.5 / 6.2 tree, and compile, then take 
>> down your machine quickly into single-user mode while installing the new 
>> kernel / world. The process is in gross detail here: 
>> <http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/cutting-edge.html>.
>>
>> 	Also, did you know that your mail address probably is getting marked as 
>> spam by the majority of the users on this list running anti-spam software?
> 
> Why?  What anti-spam methods are you using?
> 
>> Mark,
>> 	That's not true. The ports collection is supposed to work for all 
>> versions of FreeBSD which are supported, which includes 5.x.
>>
>> -Garrett

	Well, you could also roll back the port for 'make' via cvsup to a point where 
it does compile, but 4.4 is ancient. I think it's time to bite the bullet and 
upgrade.

	I suggest going to at least 4.11 first.  Then *maybe* a jump to 5.x , followed 
by a jump to 6.x.

	If this is production I'd build out a 6.2 version on another machine, throw the 
software from box A onto Box B , then swap them quickly ( maybe just the HDDs 
even!), downtime would be almost nothing and you can run this "test" to work out 
any kinks along the way.

	If that's not an option with a second machine then a staged upgrade to the 
latest of the major revisions ( 4.4 -> 4.11 , 4.11 -> 5.5 , 5.5 -> 6.2 )  The 
three staged approach should creep in the changes slowly enough so you can 
address problems along the way should there be any issues.  A straight jump from 
4.4 -> 6.2 probably won't work due to the major changes along the way (ACLs have 
been introduced, standard locations for various system utils have moved , etc.. 
).  You will probably want a settling period for each of the staged approach, 
say , 3 - 5 days after each one ?

Watch out for ISA cards if you have any, I attempted a jump from 4.11 -> 5.1 
with problems :(

Good luck,
Theorem


More information about the freebsd-questions mailing list