m4 1.4.13 compile error

Hi all,

i'm running into an error compiling m4 from ports on FreeBSD 5.3. I have no alternative to 5.3 since the software who needs m4 etc. is approved for 5.2.1/5.3 only.

Code:
Making all in doc
Updating ./version.texi
restore=: && backupdir=".am$$" &&  am__cwd=`pwd` && CDPATH="${ZSH_VERSION+.}:" && cd . &&  rm -rf $backupdir && mkdir $backupdir &&  if (makeinfo --no-split --version) >/dev/null 2>&1; then  for f in ./m4.info ./m4.info-[0-9] ./m4.info-[0-9][0-9] ./m4.i[0-9] ./m4.i[0-9][0-9]; do  if test -f $f; then mv $f $backupdir; restore=mv; else :; fi;  done;  else :; fi &&  cd "$am__cwd";  if makeinfo --no-split   -I .  -o ./m4.info ./m4.texinfo;  then  rc=0;  CDPATH="${ZSH_VERSION+.}:" && cd .;  else  rc=$?;  CDPATH="${ZSH_VERSION+.}:" && cd . &&  $restore $backupdir/* `echo "././m4.info" | sed 's|[^/]*$||'`;  fi;  rm -rf $backupdir; exit $rc
./m4.texinfo:486: Unknown command `'.
./m4.texinfo:2670: Unknown command `'.
./m4.texinfo:2672: Unknown command `'.
./m4.texinfo:2886: Unknown command `'.
./m4.texinfo:8231: Unknown command `'.
./m4.texinfo:8233: Unknown command `'.
makeinfo: Removing output file `./m4.info' due to errors; use --force to preserve.
*** Error code 1

Stop in /usr/ports/devel/m4/work/m4-1.4.13/doc.
*** Error code 1

Stop in /usr/ports/devel/m4/work/m4-1.4.13.
*** Error code 1

Stop in /usr/ports/devel/m4/work/m4-1.4.13.
*** Error code 1

Stop in /usr/ports/devel/m4.
*** Error code 1

Stop in /usr/ports/devel/m4.
Googling didn't help, this error is known from older versions of m4 and should have already been fixed.

Thanks in advance!
 
As you may know, FreeBSD 5.x is EOL so there is no official support for it (even in ports) and may have security concerns.

From what I can tell, this is due to an outdated 'makeinfo' program. In the port that supported 5.x, the solution was to use the newer 'makeinfo' from ports.

Here is what you can try:
Code:
# cd /usr/ports/devel/m4
# touch Makefile.local
Now add the following lines to Makefile.local:
Code:
BUILD_DEPENDS+= ${LOCALBASE}/bin/makeinfo:${PORTSDIR}/print/texinfo
CONFIGURE_ENV= MAKEINFO="${LOCALBASE}/bin/makeinfo --no-split"
This will add the 'makeinfo' from ports as a build dependency and use it instead of the system version.
 
I was in the same boat, I have a dedicated server that's not worth the fee to upgrade to a newer version of FreeBSD. This worked beautifully, thanks very much.
 
Looks like something in the doc dir contains an error related to an info file. Find the file that contains the makeinfo command.

You can use make -n to only show the commands to be executed and try to find anything related to that makeinfo command or m4.info.
Try if makeinfo --force works like it says, or just comment out so you will be missing an info file. (if there are no other errors after this)
 
Back
Top