hmake-PRAGMA not found

View: New views
2 Messages — Rating Filter:   Alert me  

hmake-PRAGMA not found

by dsb :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Just downloaded and installed nhc98 this week.
Trying to compile an object file in a Slackware-based distro on a P2.

dan[haskl]$ make t3lib.o
nhc98 -c t3lib.hs
/usr/local/bin/nhc98: line 131:
/usr/local/lib/nhc98/pentium2-Linux/hmake-PRAGMA: No such file or
directory
/usr/local/bin/nhc98: line 131:
/usr/local/lib/nhc98/pentium2-Linux/hmake-PRAGMA: No such file or
directory
/usr/local/bin/nhc98: line 131:
/usr/local/lib/nhc98/pentium2-Linux/hmake-PRAGMA: No such file or
directory
/usr/local/bin/nhc98: line 547:
/usr/local/lib/nhc98/pentium2-Linux/nhc98comp: No such file or directory
make: *** [t3lib.o] Error 1

--Dan



_______________________________________________
Nhc-users mailing list
Nhc-users@...
http://www.haskell.org/mailman/listinfo/nhc-users

Re: hmake-PRAGMA not found

by Malcolm.Wallace :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

dsb@... 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

#!/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

_______________________________________________
Nhc-users mailing list
Nhc-users@...
http://www.haskell.org/mailman/listinfo/nhc-users
LightInTheBox - Buy quality products at wholesale price