cvs commit: hugs98/src iomonad.c

Brian Smith brianlsmith at gmail.com
Thu Jul 28 17:33:45 EDT 2005


On 7/28/05, ross at soi.city.ac.uk <ross at soi.city.ac.uk> wrote:
> On Thu, Jul 28, 2005 at 12:24:18AM -0500, Brian Smith wrote:
> I'd rather not back these out: the old code in iomonad.c was a bug,
> and the old code in the Hugs version of System.Cmd was a kludge around
> that bug -- they were a road to backslash hell.  I'd rather fix anything
> that depended on the bug.
> 
> But I can't see what's causing these errors.  That path is certainly
> wrong, but I don't see where it's coming from.  Is it in your Registry?
> Please send me your logs.

I guess it is not a bug in this code, but rather in the makefile(s).
Today, If I checkout brand new sources from CVS, an initial "make"
(with no args) seems to work fine, although when building FGL, it
complains:
configure: cygpath: command not found
configure: cygpath: command not found
configure: ghc-pkg-6.5: command not found
 
If I immediately "make clean && make" after my initial "make" then it
fails, this time with different errors (see below). If I then "make
distclean && make" then all is well again.

- Brian

make[1]: Entering directory `/c/software/hugs98-new/src'
gcc -c -DNDEBUG=1 -g  -O2 hugs.c
gcc -c -DNDEBUG=1 -g  -O2 edit.c
gcc -c -DNDEBUG=1 -g  -O2 observe.c
gcc -c -DNDEBUG=1 -g  -O2 builtin.c
gcc -c -DNDEBUG=1 -g  -O2 char.c
gcc -c -DNDEBUG=1 -g  compiler.c
gcc -c -DNDEBUG=1 -g  -O2 errors.c
gcc -c -DNDEBUG=1 -g  -O2 evaluator.c
gcc -c -DNDEBUG=1 -g  -O2 ffi.c
gcc -c -DNDEBUG=1 -g  -O2 goal.c
gcc -c -DNDEBUG=1 -g  -O2 input.c
gcc -c -DNDEBUG=1 -g  -O2 machdep.c
gcc -c -DNDEBUG=1 -g  -O2 machine.c
gcc -c -DNDEBUG=1 -g  module.c
gcc -c -DNDEBUG=1 -g  -O2 opts.c
gcc -c -DNDEBUG=1 -g  -O2 output.c
gcc -c -DNDEBUG=1 -g  -O2 plugin.c
gcc -c -DNDEBUG=1 -g  -O2 script.c
gcc -c -DNDEBUG=1 -g  static.c
gcc -c -DNDEBUG=1 -g  -O2 storage.c
gcc -c -DNDEBUG=1 -g  -O2 strutil.c
gcc -c -DNDEBUG=1 -g  subst.c
gcc -c -DNDEBUG=1 -g  type.c
gcc  hugs.o edit.o observe.o builtin.o char.o compiler.o errors.o evaluator.o ff
i.o goal.o input.o machdep.o machine.o module.o opts.o output.o plugin.o script.
o static.o storage.o strutil.o subst.o type.o version.o  -lmsvcp60 -lm  -o hugs.
exe
gcc -c -DNDEBUG=1 -g  -O2 runhugs.c
gcc -c -DNDEBUG=1 -g  -O2 server.c
gcc  runhugs.o server.o builtin.o char.o compiler.o errors.o evaluator.o ffi.o g
oal.o input.o machdep.o machine.o module.o opts.o output.o plugin.o script.o sta
tic.o storage.o strutil.o subst.o type.o version.o  -lmsvcp60 -lm  -o runhugs.ex
e
gcc -c -DNDEBUG=1 -g  -O2 -DFFI_COMPILER runhugs.c -o ffihugs.o
gcc  ffihugs.o server.o builtin.o char.o compiler.o errors.o evaluator.o ffi.o g
oal.o input.o machdep.o machine.o module.o opts.o output.o plugin.o script.o sta
tic.o storage.o strutil.o subst.o type.o version.o  -lmsvcp60 -lm  -o ffihugs.ex
e
make[1]: Leaving directory `/c/software/hugs98-new/src'
cd libraries; make all
make[1]: Entering directory `/c/software/hugs98-new/libraries'
CPPFLAGS='-D__HUGS__ -Dmingw32_HOST_OS -Dmingw32_TARGET_OS' tools/make_bootlib
checking for gcc... gcc
checking for C compiler default output... a.exe
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... .exe
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking how to run the C preprocessor... gcc -E
checking for egrep... grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for long long... yes
checking ctype.h usability... yes
checking ctype.h presence... yes
checking for ctype.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking signal.h usability... yes
checking signal.h presence... yes
checking for signal.h... yes
checking sys/resource.h usability... no
checking sys/resource.h presence... no
checking for sys/resource.h... no
checking termios.h usability... no
checking termios.h presence... no
checking for termios.h... no
checking time.h usability... yes
checking time.h presence... yes
checking for time.h... yes
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking for _LARGE_FILES value needed for large files... no
checking regex.h usability... no
checking regex.h presence... no
checking for regex.h... no
checking wctype.h usability... yes
checking wctype.h presence... yes
checking for wctype.h... yes
checking for iswspace... yes
checking for ftime... yes
checking for gmtime_r... no
checking for localtime_r... no
checking for lstat... no
checking for readdir_r... no
checking for _chsize... yes
checking for ftruncate... yes
checking Haskell type for char... Int8
checking Haskell type for signed char... Int8
checking Haskell type for unsigned char... Word8
checking Haskell type for short... Int16
checking Haskell type for unsigned short... Word16
checking Haskell type for int... Int32
checking Haskell type for unsigned int... Word32
checking Haskell type for long... Int32
checking Haskell type for unsigned long... Word32
checking Haskell type for long long... Int64
checking Haskell type for unsigned long long... Word64
checking Haskell type for float... Float
checking Haskell type for double... Double
checking Haskell type for ptrdiff_t... Int32
checking Haskell type for size_t... Word32
checking Haskell type for wchar_t... Word16
checking Haskell type for sig_atomic_t... Int32
checking Haskell type for clock_t... Int32
checking Haskell type for time_t... Int32
checking Haskell type for dev_t... Word32
checking Haskell type for ino_t... Int16
checking Haskell type for mode_t... Word16
checking Haskell type for off_t... Int32
checking Haskell type for pid_t... Int32
checking Haskell type for gid_t... not supported
checking Haskell type for uid_t... not supported
checking Haskell type for cc_t... not supported
checking Haskell type for speed_t... not supported
checking Haskell type for tcflag_t... not supported
checking Haskell type for nlink_t... not supported
checking Haskell type for ssize_t... Int32
checking Haskell type for rlim_t... not supported
checking Haskell type for wint_t... Word16
checking value of E2BIG... 7
checking value of EACCES... 13
checking value of EADDRINUSE... -1
checking value of EADDRNOTAVAIL... -1
checking value of EADV... -1
checking value of EAFNOSUPPORT... -1
checking value of EAGAIN... 11
checking value of EALREADY... -1
checking value of EBADF... 9
checking value of EBADMSG... -1
checking value of EBADRPC... -1
checking value of EBUSY... 16
checking value of ECHILD... 10
checking value of ECOMM... -1
checking value of ECONNABORTED... -1
checking value of ECONNREFUSED... -1
checking value of ECONNRESET... -1
checking value of EDEADLK... 36
checking value of EDESTADDRREQ... -1
checking value of EDIRTY... -1
checking value of EDOM... 33
checking value of EDQUOT... -1
checking value of EEXIST... 17
checking value of EFAULT... 14
checking value of EFBIG... 27
checking value of EFTYPE... -1
checking value of EHOSTDOWN... -1
checking value of EHOSTUNREACH... -1
checking value of EIDRM... -1
checking value of EILSEQ... 42
checking value of EINPROGRESS... -1
checking value of EINTR... 4
checking value of EINVAL... 22
checking value of EIO... 5
checking value of EISCONN... -1
checking value of EISDIR... 21
checking value of ELOOP... -1
checking value of EMFILE... 24
checking value of EMLINK... 31
checking value of EMSGSIZE... -1
checking value of EMULTIHOP... -1
checking value of ENAMETOOLONG... 38
checking value of ENETDOWN... -1
checking value of ENETRESET... -1
checking value of ENETUNREACH... -1
checking value of ENFILE... 23
checking value of ENOBUFS... -1
checking value of ENODATA... -1
checking value of ENODEV... 19
checking value of ENOENT... 2
checking value of ENOEXEC... 8
checking value of ENOLCK... 39
checking value of ENOLINK... -1
checking value of ENOMEM... 12
checking value of ENOMSG... -1
checking value of ENONET... -1
checking value of ENOPROTOOPT... -1
checking value of ENOSPC... 28
checking value of ENOSR... -1
checking value of ENOSTR... -1
checking value of ENOSYS... 40
checking value of ENOTBLK... -1
checking value of ENOTCONN... -1
checking value of ENOTDIR... 20
checking value of ENOTEMPTY... 41
checking value of ENOTSOCK... -1
checking value of ENOTTY... 25
checking value of ENXIO... 6
checking value of EOPNOTSUPP... -1
checking value of EPERM... 1
checking value of EPFNOSUPPORT... -1
checking value of EPIPE... 32
checking value of EPROCLIM... -1
checking value of EPROCUNAVAIL... -1
checking value of EPROGMISMATCH... -1
checking value of EPROGUNAVAIL... -1
checking value of EPROTO... -1
checking value of EPROTONOSUPPORT... -1
checking value of EPROTOTYPE... -1
checking value of ERANGE... 34
checking value of EREMCHG... -1
checking value of EREMOTE... -1
checking value of EROFS... 30
checking value of ERPCMISMATCH... -1
checking value of ERREMOTE... -1
checking value of ESHUTDOWN... -1
checking value of ESOCKTNOSUPPORT... -1
checking value of ESPIPE... 29
checking value of ESRCH... 3
checking value of ESRMNT... -1
checking value of ESTALE... -1
checking value of ETIME... -1
checking value of ETIMEDOUT... -1
checking value of ETOOMANYREFS... -1
checking value of ETXTBSY... -1
checking value of EUSERS... -1
checking value of EWOULDBLOCK... -1
checking value of EXDEV... 18
checking value of ENOCIGAR... -1
checking value of SIGABRT... 22
checking value of SIGALRM... -1
checking value of SIGBUS... -1
checking value of SIGCHLD... -1
checking value of SIGCONT... -1
checking value of SIGFPE... 8
checking value of SIGHUP... -1
checking value of SIGILL... 4
checking value of SIGINT... 2
checking value of SIGKILL... -1
checking value of SIGPIPE... -1
checking value of SIGQUIT... -1
checking value of SIGSEGV... 11
checking value of SIGSTOP... -1
checking value of SIGTERM... 15
checking value of SIGTSTP... -1
checking value of SIGTTIN... -1
checking value of SIGTTOU... -1
checking value of SIGUSR1... -1
checking value of SIGUSR2... -1
checking value of SIGPOLL... -1
checking value of SIGPROF... -1
checking value of SIGSYS... -1
checking value of SIGTRAP... -1
checking value of SIGURG... -1
checking value of SIGVTALRM... -1
checking value of SIGXCPU... -1
checking value of SIGXFSZ... -1
checking value of SIG_BLOCK... -1
checking value of SIG_SETMASK... -1
checking value of SIG_UNBLOCK... -1
checking value of SIG_DFL... 0
checking value of SIG_IGN... 1
checking value of SIG_ERR... 4294967295
checking value of O_BINARY... 32768
checking what readdir sets errno to upon EOF... 0
configure: creating ./config.status
config.status: creating config.mk
config.status: creating include/HsBaseConfig.h
Preprocessing Control/Arrow
Preprocessing Control/Concurrent
Preprocessing Control/Concurrent/Chan
Preprocessing Control/Concurrent/MVar
Preprocessing Control/Concurrent/QSem
Preprocessing Control/Concurrent/QSemN
Preprocessing Control/Concurrent/SampleVar
Preprocessing Control/Exception
Preprocessing Control/Monad
Preprocessing Control/Monad/Fix
Preprocessing Control/Monad/ST
Preprocessing Control/Monad/ST/Lazy
Preprocessing Control/Monad/ST/Strict
Preprocessing Control/Parallel
Preprocessing Data/Array
Preprocessing Data/Array/Base
C:/DOCUME~1/Brian/LOCALS~1/Temp/cvt.264/cppinput.c:54: MachDeps.h: No such file
or directory
Preprocessing Data/Array/Diff
Preprocessing Data/Array/IArray
Preprocessing Data/Array/IO
Preprocessing Data/Array/IO/Internals
Preprocessing Data/Array/MArray
Preprocessing Data/Array/ST
Preprocessing Data/Array/Storable
Preprocessing Data/Array/Unboxed
Preprocessing Data/Bits
C:/DOCUME~1/Brian/LOCALS~1/Temp/cvt.264/cppinput.c:46: MachDeps.h: No such file
or directory
Preprocessing Data/Bool
Preprocessing Data/Char
Preprocessing Data/Complex
Preprocessing Data/Dynamic
Preprocessing Data/Either
Preprocessing Data/Eq
Preprocessing Data/FiniteMap
Preprocessing Data/FunctorM
Preprocessing Data/Graph
Preprocessing Data/HashTable
Preprocessing Data/IORef
Preprocessing Data/Int
Preprocessing Data/IntMap
Preprocessing Data/IntSet
Preprocessing Data/Ix
Preprocessing Data/List
Preprocessing Data/Map
Preprocessing Data/Maybe
Preprocessing Data/Monoid
Preprocessing Data/Ord
Preprocessing Data/PackedString
Preprocessing Data/Queue
Preprocessing Data/Ratio
Preprocessing Data/STRef
Preprocessing Data/STRef/Lazy
Preprocessing Data/STRef/Strict
Preprocessing Data/Sequence
Preprocessing Data/Set
Preprocessing Data/Tree
Preprocessing Data/Tuple
Preprocessing Data/Typeable
Preprocessing Data/Unique
Preprocessing Data/Version
Preprocessing Data/Word
Preprocessing Debug/Trace
Preprocessing Foreign
Preprocessing Foreign/C
Preprocessing Foreign/C/Error
Preprocessing Foreign/C/String
Preprocessing Foreign/C/Types
Preprocessing Foreign/ForeignPtr
Preprocessing Foreign/Marshal
Preprocessing Foreign/Marshal/Alloc
Preprocessing Foreign/Marshal/Array
Preprocessing Foreign/Marshal/Error
Preprocessing Foreign/Marshal/Pool
Preprocessing Foreign/Marshal/Utils
Preprocessing Foreign/Ptr
Preprocessing Foreign/StablePtr
Preprocessing Foreign/Storable
C:/DOCUME~1/Brian/LOCALS~1/Temp/cvt.264/cppinput.c:39: MachDeps.h: No such file
or directory
Preprocessing Numeric
Preprocessing Prelude
Preprocessing System/CPUTime
Preprocessing System/Cmd
Preprocessing System/Console/GetOpt
Preprocessing System/Directory
Preprocessing System/Directory/Internals
Preprocessing System/Environment
Preprocessing System/Exit
Preprocessing System/IO
Preprocessing System/IO/Error
Preprocessing System/IO/Unsafe
Preprocessing System/Info
C:/DOCUME~1/Brian/LOCALS~1/Temp/cvt.264/cppinput.c:58: platform.h: No such file
or directory
Preprocessing System/Locale
Preprocessing System/Mem
Preprocessing System/Mem/StableName
Preprocessing System/Mem/Weak
Preprocessing System/Posix/Internals
C:/DOCUME~1/Brian/LOCALS~1/Temp/cvt.264/cppinput.c:24: ghcconfig.h: No such file
 or directory
Preprocessing System/Posix/Signals
Preprocessing System/Posix/Types
Preprocessing System/Process/Internals
Preprocessing System/Random
Preprocessing System/Time
Preprocessing Text/Html
Preprocessing Text/Html/BlockTable
Preprocessing Text/ParserCombinators/ReadP
Preprocessing Text/ParserCombinators/ReadPrec
Preprocessing Text/PrettyPrint
Preprocessing Text/PrettyPrint/HughesPJ
Preprocessing Text/Printf
Preprocessing Text/Read
Preprocessing Text/Read/Lex
Preprocessing Text/Show
Preprocessing Text/Show/Functions
Preprocessing Array
Preprocessing Bits
Preprocessing CError
Preprocessing CForeign
Preprocessing CPUTime
Preprocessing CString
Preprocessing CTypes
Preprocessing Char
Preprocessing Complex
Preprocessing Directory
Preprocessing ForeignPtr
Preprocessing IO
Preprocessing Int
Preprocessing Ix
Preprocessing List
Preprocessing Locale
Preprocessing MarshalAlloc
Preprocessing MarshalArray
Preprocessing MarshalError
Preprocessing MarshalUtils
Preprocessing Maybe
Preprocessing Monad
Preprocessing Ptr
Preprocessing Random
Preprocessing Ratio
Preprocessing StablePtr
Preprocessing Storable
Preprocessing System
Preprocessing Time
Preprocessing Word
Preprocessing DefaultSetup
C:/DOCUME~1/Brian/LOCALS~1/Temp/cvt.264/cppinput.c:1: invalid preprocessing dire
ctive #!
Preprocessing Distribution/Compat/Directory
Preprocessing Distribution/Compat/Exception
Preprocessing Distribution/Compat/FilePath
Preprocessing Distribution/Compat/RawSystem
Preprocessing Distribution/Compat/ReadP
Preprocessing Distribution/Compiler
Preprocessing Distribution/Extension
Preprocessing Distribution/GetOpt
Preprocessing Distribution/InstalledPackageInfo
Preprocessing Distribution/License
Preprocessing Distribution/Make
Preprocessing Distribution/Package
Preprocessing Distribution/PackageDescription
Preprocessing Distribution/ParseUtils
Preprocessing Distribution/PreProcess
Preprocessing Distribution/PreProcess/Unlit
Preprocessing Distribution/Setup
Preprocessing Distribution/Simple
Preprocessing Distribution/Simple/Build
Preprocessing Distribution/Simple/Configure
Preprocessing Distribution/Simple/GHCPackageConfig
Preprocessing Distribution/Simple/Install
Preprocessing Distribution/Simple/LocalBuildInfo
Preprocessing Distribution/Simple/Register
Preprocessing Distribution/Simple/SrcDist
Preprocessing Distribution/Simple/Utils
Preprocessing Distribution/Version
Preprocessing Language/Haskell/Extension
runhugs: Error occurred
ERROR "libraries/bootlib\Data\Bits.hs":187 - Undefined data constructor "SIZEOF_
HSINT"


runhugs: Error occurred
ERROR "libraries/bootlib\Data\Bits.hs":187 - Undefined data constructor "SIZEOF_
HSINT"


runhugs: Error occurred
ERROR "libraries/bootlib\Data\Bits.hs":187 - Undefined data constructor "SIZEOF_
HSINT"


runhugs: Error occurred
ERROR "libraries/bootlib\Data\Bits.hs":187 - Undefined data constructor "SIZEOF_
HSINT"


runhugs: Error occurred
ERROR "libraries/bootlib\Data\Bits.hs":187 - Undefined data constructor "SIZEOF_
HSINT"


echo timestamp for bootlib >bootlib/.stamp
mkdir -p ../hugsdir/programs/cpphs
cp ../cpphs/*.hs ../hugsdir/programs/cpphs
cd ../hugsdir/programs/cpphs; mv cpphs.hs Main.hs
(echo '@echo off'; \
 echo "set rootdir=`cd ..; src/runhugs -Plibraries/bootlib libraries/pwd.hs`"; \

 echo '%rootdir%/src/runhugs -P%rootdir%/libraries/bootlib %rootdir%/hugsdir/pro
grams/cpphs/Main.hs %*') >tools/cpphs.bat
runhugs: Error occurred
ERROR "libraries/bootlib\Data\Bits.hs":187 - Undefined data constructor "SIZEOF_
HSINT"


mkdir -p ../hugsdir/programs/hsc2hs
../src/runhugs -Pbootlib ../hugsdir/programs/cpphs/Main.hs -D__HUGS__ -Dmingw32_
HOST_OS -Dmingw32_TARGET_OS --noline --strip ../fptools/ghc/utils/hsc2hs/Main.hs
 -O../hugsdir/programs/hsc2hs/Main.hs
runhugs: Error occurred
ERROR "bootlib\Data\Bits.hs":187 - Undefined data constructor "SIZEOF_HSINT"


make[1]: *** [../hugsdir/programs/hsc2hs/Main.hs] Error 1
make[1]: Leaving directory `/c/software/hugs98-new/libraries'
make: *** [all] Error 2


More information about the Cvs-hugs mailing list