[nhc-users] hmake-PRAGMA not found

Malcolm Wallace Malcolm.Wallace at cs.york.ac.uk
Mon Dec 18 10:25:19 EST 2006


dsb at prairienet.org wrote:

> Just downloaded and installed nhc98 this week.
> /usr/local/bin/nhc98: line 131:
> /usr/local/lib/nhc98/pentium2-Linux/hmake-PRAGMA: No such file or directory

Did you install the binary package of nhc98?  If so, then it may have
placed the necessary files under .../ix86-Linux/... rather than
.../pentium2-Linux/...  This is down to a recent change in the Linux
behaviour of 'uname -m'.  One way to fix it is to replace the copy of
'harch' in directory 'nhc98-1.18/script/' with the newer attached
version, then install again.

If, on the other hand, you installed from source, then I'm not sure what
has gone wrong.  Maybe you did
    ./configure
    make install
without actually building the software between those steps?
    ./configure
    make
    make install
is the more usual sequence.  You could also try the replacement 'harch'
script as well, although it is unlikely to be relevant.

Regards,
    Malcolm
-------------- next part --------------
#!/bin/sh
#       harch - determine canonical processor architecture
#		Nov 1998: first used.
#		May 1999: ensure that small differences (e.g. kernel version)
#			  don't matter.

PROCESSOR=
OS=
REL=

#  Unfortunately, there are a variety of incompatible
#  ways of detecting architecture, so try them all!

if uname >/dev/null 2>&1
then
  if uname -p >/dev/null 2>&1
  then PROCESSOR=`uname -p`
    case "$PROCESSOR" in
    unknown|*\ *|*-*)
      PROCESSOR=`uname -m`
      ;;
    esac
  else
    if arch >/dev/null 2>&1
    then PROCESSOR=`arch`
    else PROCESSOR=`uname -m`
    fi
  fi
  OS=`uname -s`
  REL=`uname -r`
else
  if arch >/dev/null 2>&1
  then PROCESSOR=`arch`
  else
    if machine >/dev/null 2>&1
    then PROCESSOR=`machine`
    else PROCESSOR='unknown'
    fi
  fi
  OS=unknown
fi


# Remove whitespace and slashes.
PROCESSOR=`echo $PROCESSOR | tr '/ 	' '.'`
OS=`echo $OS | tr '/ 	' '-'`
REL=`echo $REL | tr '/ 	' '-'`

# Canonicalise equivalent processor families to one representative member.
case $PROCESSOR in
  i[3456789]86)	PROCESSOR=ix86;;
  athlon)       PROCESSOR=ix86;;
  sun3*)	PROCESSOR=sun3;;
  sun4*)	PROCESSOR=sun4;;
  sparc*)	PROCESSOR=sparc;;
esac

# Keep OS release number only if it might be relevant.
case $OS in
  unknown)	;;
  Linux)	;;
  CYGWIN*)      ;;
  MINGW*)       ;;
  *BSD)		;;
# BSD/OS)	OS="BSD-OS"$REL ;;	-- removed by slash->dash translation.
  SunOS)	case $REL in
		  3*) OS=SunOS3;;
		  4*) OS=SunOS4;;
		  5*) OS=solaris2;;
		  6*) OS=solaris3;;
		  *)  OS=SunOS-$REL;;
		esac;;
  Darwin)	case $REL in
		  5*) OS=Darwin5;;
		  6*) OS=Darwin6;;
		  7*) OS=Darwin7;;
		  8*) OS=Darwin8;;
		  *)  OS=Darwin-$REL;;
		esac;;
  IRIX*)	case $REL in
		  5*) OS=IRIX5;;
		  6*) OS=IRIX6;;
		  *)  OS=IRIX-$REL;;
		esac;;
  AIX)		if oslevel >/dev/null 2>&1	# AIX just has to be different
                then OS=$OS-`oslevel`
                else OS=$OS-unknown
                fi
                if lsattr -EHl proc0 | grep -i powerpc >/dev/null 2>&1
                then PROCESSOR=powerpc
                else PROCESSOR=power
                fi ;;
  *)		OS=$OS-$REL;;
esac

# And that's it.
echo $PROCESSOR-$OS


More information about the Nhc-users mailing list