cvs commit: hugs98/src iomonad.c

ross 2005/07/26 17:51:13 PDT Modified files: src iomonad.c Log: fix treatment of arguments, which was breaking on backslashes. Revision Changes Path 1.99 +8 -4 hugs98/src/iomonad.c

make_bootlib fails after preprocessing all the modules, when it
executes ffihugs. ffihugs reports:
ERROR: unable to locate Prelude along new path: .;\{Hugs}\libraries
ERROR: unable to locate Prelude with new suffix list: .hs;*.lhs
Backing out this change and the change to System.Cmd puts Hugs back
into a buildable state. (I didn't try to back them out seperately).
- Brian
On 7/26/05, Ross Paterson
ross 2005/07/26 17:51:13 PDT
Modified files: src iomonad.c Log: fix treatment of arguments, which was breaking on backslashes.
Revision Changes Path 1.99 +8 -4 hugs98/src/iomonad.c _______________________________________________ Cvs-hugs mailing list Cvs-hugs@haskell.org http://www.haskell.org/mailman/listinfo/cvs-hugs

On Thu, Jul 28, 2005 at 12:24:18AM -0500, Brian Smith wrote:
make_bootlib fails after preprocessing all the modules, when it executes ffihugs. ffihugs reports: ERROR: unable to locate Prelude along new path: .;\{Hugs}\libraries ERROR: unable to locate Prelude with new suffix list: .hs;*.lhs
Backing out this change and the change to System.Cmd puts Hugs back into a buildable state. (I didn't try to back them out seperately).
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.

On 7/28/05, ross@soi.city.ac.uk
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
participants (3)
-
Brian Smith
-
Ross Paterson
-
ross@soi.city.ac.uk