From rodney.bates at wichita.edu Tue Oct 2 23:00:09 2007 From: rodney.bates at wichita.edu (Rodney M. Bates) Date: Tue, 02 Oct 2007 16:00:09 -0500 Subject: [M3devel] Invitation to test a Windows m3gdb fix Message-ID: <4702B159.5060506@wichita.edu> I just checked in what I hope is a fix to an m3gdb target dependency I have known about since I originally worked on user-typed calls. It affects an interactively typed call on a function procedure that returns a record or array. It has worked on Linux 1386 for a while, but would not work on Windows. I do not expect to have access to a Windows machine with CM3 installed for at least some time. Anybody who does is invited to test this. Just use m3gdb to stop almost any program at some convenient place and type something like: 'print P(...)' where P is a function procedure returning a record type. Insert appropriate parameters, of course. Of course, you first have to get and build the latest m3gdb from CVS, and it is only in the CM3 repository. If anybody does it, let me know what happens. -- ------------------------------------------------------------- Rodney M. Bates, retired assistant professor Dept. of Computer Science, Wichita State University Wichita, KS 67260-0083 316-978-3922 rodney.bates at wichita.edu From alexb at juniper.net Thu Oct 4 22:00:28 2007 From: alexb at juniper.net (Alex Bochannek) Date: Thu, 04 Oct 2007 13:00:28 -0700 Subject: [M3devel] m3gdb compile warnings on Solaris 10/SPARC. Message-ID: I looked at the m3gdb compilation on Solaris 10 yesterday and found that after installing a newer GCC (4.2), the only issue left is with -Werror. By doing this: Index: m3makefile =================================================================== RCS file: /usr/cvs/cm3/m3-sys/m3gdb/src/m3makefile,v retrieving revision 1.6 diff -u -r1.6 m3makefile --- m3makefile 6 Sep 2006 21:32:07 -0000 1.6 +++ m3makefile 4 Oct 2007 19:08:01 -0000 @@ -58,6 +58,7 @@ end readonly m3gdb_config = { + "SOLgnu" : "--disable-werror" % misc. gdb configuration options (e.g. "DS3100" : "--with-stabs") } % m3gdb_config m3gdb compiles fine and I can use it now. If anybody wants to look at the errors, the compile log for that package is attached. My platform is: 64-bit sparcv9 applications vis2 vis 32-bit sparc applications vis2 vis v8plus div32 mul32 64-bit sparcv9 kernel modules SunOS 5.10 The warnings are in: gdb/bfd/aoutf1.h gdb/readline/bind.c gdb/readline/display.c gdb/readline/histexpand.c gdb/gdb/procfs.c gdb/gdb/tui/tui-stack.c gdb/gdb/breakpoint.c gdb/gdb/printcmd.c gdb/gdb/event-top.c gdb/gdb/ada-lang.c gdb/gdb/m3-lang.c gdb/gdb/m3-threads.c gdb/gdb/m3-util.c gdb/gdb/m3-valprint.c Hope this helps. Alex. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: not available URL: From hosking at cs.purdue.edu Fri Oct 5 20:14:45 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Fri, 5 Oct 2007 14:14:45 -0400 Subject: [M3devel] CM3 d5.5.0 CVSup client issues. In-Reply-To: References: <46E04F68.6030001@polstra.com> <8DA206BE-1EDE-4713-83DD-317417081E76@cs.purdue.edu> <1B153BC7-A186-4F33-A019-91ADFEEC97FD@cs.purdue.edu> <90E9CEA8-6406-44E1-8265-9188B51B850D@cs.purdue.edu> <2559758D-5DE9-4CAF-B9D1-77F851B6310B@cs.purdue.edu> <976B6556-3462-418E-9C05-9CBB30988FB6@cs.purdue.edu> <4A6875D6-F5BC-4FE0-B3B3-7079536EFC1A@cs.purdue.edu> <489FF96F-AA06-47EC-9EDB-E354632C5136@cs.purdue.edu> Message-ID: <0C2CBC5D-5C95-4CC0-9B3A-4F3A124B0007@cs.purdue.edu> Good news. I have finally managed to track things down. Basically, the problems occur with the old libpthread -- we need to make sure we link to the new one (/usr/lib/lwp/libpthread.*) which also happens to be the default on newer Solaris versions. Using this library I can rely on signals to stop threads (even those waiting inside pthread calls) just as I do for LINUXLIBC6. I will be checking in an updated ThreadPThread and fixed cm3.cfg shortly. I hope you can test your installation once I have done this -- hopefully you will be happy... :-) Cheers, Tony On Oct 5, 2007, at 12:42 PM, Alex Bochannek wrote: > OK, here's what I get now. > > Without @M3paranoidgc: > > bash-3.00# m3gdb cvsup > GNU gdb plus Modula-3 6.4 > Copyright 2005 Free Software Foundation, Inc. > GDB is free software, covered by the GNU General Public License, > and you are > welcome to change it and/or distribute copies of it under certain > conditions. > Type "show copying" to see the conditions. > There is absolutely no warranty for GDB. Type "show warranty" for > details. > This GDB was configured as "sparc-sun-solaris2"... > (m3gdb) dir cm3/m3-libs/m3core/src/runtime/common/:/opt/cm3/cvsup- > snap-16.1h/suplib/src:/opt/cm3/cvsup-snap-16.1h/client/src/ > Source directories searched: /opt/cm3/cm3/m3-libs/m3core/src/ > runtime/common:/opt/cm3/cvsup-snap-16.1h/suplib/src:/opt/cm3/cvsup- > snap-16.1h/client/src:$cdir:$cwd > (m3gdb) set args -g cvsupfile.cm3 > (m3gdb) r > Starting program: /usr/local/bin/cvsup -g cvsupfile.cm3 > warning: Lowest section in /lib/libw.so.1 is .dynamic at 00000074 > warning: Lowest section in /lib/libdl.so.1 is .dynamic at 00000094 > warning: Lowest section in /lib/libpthread.so.1 is .dynamic at > 00000074 > warning: Lowest section in /lib/libthread.so.1 is .dynamic at 00000074 > [New LWP 1] > [New LWP 2] > [New LWP 3] > [New LWP 4] > Connected to birch.elegosoft.com > [New LWP 5] > [New LWP 6] > [New LWP 7] > [New LWP 8] > [New LWP 9] > [New LWP 10] > [New LWP 11] > Updating collection cm3/cvs > SetAttrs cm3/COPYRIGHT-BSD,v > SetAttrs cm3/COPYRIGHT-CMASS,v > SetAttrs cm3/COPYRIGHT-COLUMBIA,v > SetAttrs cm3/COPYRIGHT-DEC,v > SetAttrs cm3/COPYRIGHT-JDP,v > SetAttrs cm3/COPYRIGHT-PURDUE,v > SetAttrs cm3/COPYRIGHT-XEROX,v > SetAttrs cm3/COPYRIGHTS,v > SetAttrs cm3/README,v > SetAttrs cm3/caltech-parser/COPYRIGHT,v > SetAttrs cm3/caltech-parser/Makefile,v > SetAttrs cm3/caltech-parser/PkgTags,v > SetAttrs cm3/caltech-parser/README,v > SetAttrs cm3/caltech-parser/README.cm3,v > SetAttrs cm3/caltech-parser/cit_common/.cvsignore,v > SetAttrs cm3/caltech-parser/cit_common/Makefile,v > SetAttrs cm3/caltech-parser/cit_common/PkgTags,v > SetAttrs cm3/caltech-parser/cit_common/src/TextReader.i3,v > SetAttrs cm3/caltech-parser/cit_common/src/TextReader.m3,v > SetAttrs cm3/caltech-parser/cit_common/src/m3makefile,v > SetAttrs cm3/caltech-parser/cit_common/src/m3overrides,v > SetAttrs cm3/caltech-parser/cit_util/.cvsignore,v > SetAttrs cm3/caltech-parser/cit_util/Makefile,v > SetAttrs cm3/caltech-parser/cit_util/PkgTags,v > SetAttrs cm3/caltech-parser/cit_util/src/ArrayRef.ig,v > SetAttrs cm3/caltech-parser/cit_util/src/ArrayRef.mg,v > SetAttrs cm3/caltech-parser/cit_util/src/BrandedSet.ig,v > SetAttrs cm3/caltech-parser/cit_util/src/BrandedSet.mg,v > SetAttrs cm3/caltech-parser/cit_util/src/COPYRIGHT,v > SetAttrs cm3/caltech-parser/cit_util/src/DblRefany.i3,v > SetAttrs cm3/caltech-parser/cit_util/src/DblTable.ig,v > SetAttrs cm3/caltech-parser/cit_util/src/DblTable.mg,v > SetAttrs cm3/caltech-parser/cit_util/src/Debug.i3,v > SetAttrs cm3/caltech-parser/cit_util/src/Debug.m3,v > SetAttrs cm3/caltech-parser/cit_util/src/Equivalence.ig,v > SetAttrs cm3/caltech-parser/cit_util/src/Equivalence.mg,v > SetAttrs cm3/caltech-parser/cit_util/src/KeyPair.ig,v > SetAttrs cm3/caltech-parser/cit_util/src/KeyPair.mg,v > SetAttrs cm3/caltech-parser/cit_util/src/OpenArrayTable.ig,v > SetAttrs cm3/caltech-parser/cit_util/src/OpenArrayTable.mg,v > SetAttrs cm3/caltech-parser/cit_util/src/RTBrand.i3,v > SetAttrs cm3/caltech-parser/cit_util/src/RTBrand.m3,v > SetAttrs cm3/caltech-parser/cit_util/src/Ref.ig,v > SetAttrs cm3/caltech-parser/cit_util/src/Ref.mg,v > SetAttrs cm3/caltech-parser/cit_util/src/SIsuffix.i3,v > SetAttrs cm3/caltech-parser/cit_util/src/SIsuffix.m3,v > SetAttrs cm3/caltech-parser/cit_util/src/TextSubs.i3,v > SetAttrs cm3/caltech-parser/cit_util/src/TextSubs.m3,v > SetAttrs cm3/caltech-parser/cit_util/src/TextTextTblExtras.i3,v > > Program received signal SIGSEGV, Segmentation fault. > [Switching to LWP 11] > 0x0045ac34 in Length (t=16_000000fe) at Text.m3:16 > 16 Text.m3: No such file or directory. > in Text.m3 > (m3gdb) bt > #0 0x0045ac34 in Length (t=16_000000fe) at Text.m3:16 > #1 0x0036d2a8 in PathCompare (a=16_000000fe, b=16_000000fe) at > SupMiscText.m3:166 > #2 0x00355734 in Compare (a=16_000000fe, b=16_000000fe) at > FileStatus.m3:67 > #3 0x0035a95c in WrPut (ww=16_000000fe, fs=16_000000fe) at > FileStatus.m3:505 > #4 0x0035e5a0 in Get (self=16_000000fe, name=16_000000fe, > isDirUp=FALSE, deleteTo=FALSE) at StatusFile.m3:151 > #5 0x0035f434 in Put (self=16_000000fe, fs=16_000000fe) at > StatusFile.m3:214 > #6 0x0008938c in UpdateCheckoutInfo (self=16_000000fe, > sfr=16_000000fe, name=16_000000fe, tag=16_000000fe, > date=16_000000fe, revNum=16_000000fe, revDate=16_000000fe, > rcsAttr=16_000000fe) at Updater.m3:869 > #7 0x00083c80 in UpdateCollection (self=16_000000fe, > sfr=16_000000fe, isFixups=FALSE) at Updater.m3:435 > #8 0x000800e0 in UpdateBatch (self=16_000000fe, isFixups=FALSE) at > Updater.m3:151 > #9 0x0007f508 in Apply (self=16_000000fe) at Updater.m3:90 > #10 0x0044b0c8 in RunThread (me=NIL) at ThreadPThread.m3:540 > #11 0x0044acc4 in ThreadBase (param=NIL) at ThreadPThread.m3:521 > #12 0xfeebfff8 in _lwp_start () from /lib/libc.so.1 > #13 0xfeebfff8 in _lwp_start () from /lib/libc.so.1 > Previous frame identical to this frame (corrupt stack?) > (m3gdb) shell > bash-3.00# find /opt/cm3/cm3 -name Text.m3 > /opt/cm3/cm3/m3-libs/m3core/src/text/Text.m3 > bash-3.00# exit > exit > (m3gdb) dir /opt/cm3/cm3/m3-libs/m3core/src/text > Source directories searched: /opt/cm3/cm3/m3-libs/m3core/src/text:/ > opt/cm3/cm3/m3-libs/m3core/src/runtime/common:/opt/cm3/cvsup- > snap-16.1h/suplib/src:/opt/cm3/cvsup-snap-16.1h/client/src:$cdir:$cwd > (m3gdb) bt > #0 0x0045ac34 in Length (t=16_000000fe) at Text.m3:16 > #1 0x0036d2a8 in PathCompare (a=16_000000fe, b=16_000000fe) at > SupMiscText.m3:166 > #2 0x00355734 in Compare (a=16_000000fe, b=16_000000fe) at > FileStatus.m3:67 > #3 0x0035a95c in WrPut (ww=16_000000fe, fs=16_000000fe) at > FileStatus.m3:505 > #4 0x0035e5a0 in Get (self=16_000000fe, name=16_000000fe, > isDirUp=FALSE, deleteTo=FALSE) at StatusFile.m3:151 > #5 0x0035f434 in Put (self=16_000000fe, fs=16_000000fe) at > StatusFile.m3:214 > #6 0x0008938c in UpdateCheckoutInfo (self=16_000000fe, > sfr=16_000000fe, name=16_000000fe, tag=16_000000fe, > date=16_000000fe, revNum=16_000000fe, revDate=16_000000fe, > rcsAttr=16_000000fe) at Updater.m3:869 > #7 0x00083c80 in UpdateCollection (self=16_000000fe, > sfr=16_000000fe, isFixups=FALSE) at Updater.m3:435 > #8 0x000800e0 in UpdateBatch (self=16_000000fe, isFixups=FALSE) at > Updater.m3:151 > #9 0x0007f508 in Apply (self=16_000000fe) at Updater.m3:90 > #10 0x0044b0c8 in RunThread (me=NIL) at ThreadPThread.m3:540 > #11 0x0044acc4 in ThreadBase (param=NIL) at ThreadPThread.m3:521 > #12 0xfeebfff8 in _lwp_start () from /lib/libc.so.1 > #13 0xfeebfff8 in _lwp_start () from /lib/libc.so.1 > (m3gdb) list > 11 TYPE Info = TextClass.Info; > 12 > 13 PROCEDURE Length (t: T): CARDINAL = > 14 VAR i: Info; > 15 BEGIN > 16 t.get_info (i); > 17 RETURN i.length; > 18 END Length; > 19 > 20 PROCEDURE Empty (t: T): BOOLEAN = > (m3gdb) > > > And with @M3paranoidgc: > > bash-3.00# m3gdb cvsup > GNU gdb plus Modula-3 6.4 > Copyright 2005 Free Software Foundation, Inc. > GDB is free software, covered by the GNU General Public License, > and you are > welcome to change it and/or distribute copies of it under certain > conditions. > Type "show copying" to see the conditions. > There is absolutely no warranty for GDB. Type "show warranty" for > details. > This GDB was configured as "sparc-sun-solaris2"... > (m3gdb) dir /opt/cm3/cm3/m3-libs/m3core/src/text:cm3/m3-libs/m3core/ > src/runtime/common/:/opt/cm3/cvsup-snap-16.1h/suplib/src:/opt/cm3/ > cvsup-snap-16.1h/client/src/ > Source directories searched: /opt/cm3/cm3/m3-libs/m3core/src/text:/ > opt/cm3/cm3/m3-libs/m3core/src/runtime/common:/opt/cm3/cvsup- > snap-16.1h/suplib/src:/opt/cm3/cvsup-snap-16.1h/client/src:$cdir:$cwd > (m3gdb) set args @M3paranoidgc -g cvsupfile.cm3 > (m3gdb) r > Starting program: /usr/local/bin/cvsup @M3paranoidgc -g cvsupfile.cm3 > warning: Lowest section in /lib/libw.so.1 is .dynamic at 00000074 > warning: Lowest section in /lib/libdl.so.1 is .dynamic at 00000094 > warning: Lowest section in /lib/libpthread.so.1 is .dynamic at > 00000074 > warning: Lowest section in /lib/libthread.so.1 is .dynamic at 00000074 > [New LWP 1] > [New LWP 2] > [New LWP 3] > [New LWP 4] > Connected to birch.elegosoft.com > [New LWP 5] > [New LWP 6] > [New LWP 7] > [New LWP 8] > [New LWP 9] > [New LWP 10] > [New LWP 11] > > > *** > *** runtime error: > *** <*ASSERT*> failed. > *** file "../src/runtime/common/RTCollector.m3", line 1770 > *** > > > Program received signal SIGABRT, Aborted. > [Switching to LWP 9] > 0xfeec11e4 in _lwp_kill () from /lib/libc.so.1 > (m3gdb) bt > #0 0xfeec11e4 in _lwp_kill () from /lib/libc.so.1 > #1 0xfee5fde0 in raise () from /lib/libc.so.1 > #2 0xfee40000 in abort () from /lib/libc.so.1 > #3 0x004416ec in Crash () at RTOS.m3:20 > #4 0x00437810 in Crash (msg=NIL) at RTProcess.m3:65 > #5 0x0043477c in EndError (crash=FALSE) at RTError.m3:115 > #6 0x004342dc in MsgS (file=NIL, line=0, msgA=NIL, msgB=NIL, > msgC=NIL) at RTError.m3:40 > #7 0x00434e9c in Crash (a=Cannot access memory at address 0xfe > ) at RTException.m3:79 > #8 0x00434a38 in DefaultBackstop (a=Cannot access memory at > address 0xfe > ) at RTException.m3:39 > #9 0x004348f4 in InvokeBackstop (a=Cannot access memory at address > 0xfe > ) at RTException.m3:25 > #10 0x004434b8 in Raise (act=Cannot access memory at address 0xfe > ) at RTExStack.m3:34 > #11 0x00434b34 in DefaultBackstop (a=Cannot access memory at > address 0xfe > ) at RTException.m3:47 > #12 0x004348f4 in InvokeBackstop (a=Cannot access memory at address > 0xfe > ) at RTException.m3:25 > #13 0x004434b8 in Raise (act=Cannot access memory at address 0xfe > ) at RTExStack.m3:34 > #14 0x0041aa58 in ReportFault (module=NIL, info=0) at RTHooks.m3:110 > #15 0x00430b04 in _m3_fault (arg=0) > #16 0x00427f5c in RefSanityCheck (v=16_000000fe, cp=16_000000fe) at > RTCollector.m3:1770 > #17 0x0046d7f8 in Walk (x=16_000000fe, pc=NIL, v=16_000000fe) at > RTHeapMap.m3:193 > #18 0x0046cc70 in DoWalkRef (t=NIL, a=16_000000fe, v=16_000000fe) > at RTHeapMap.m3:62 > #19 0x0046cc30 in DoWalkRef (t=NIL, a=16_000000fe, v=16_000000fe) > at RTHeapMap.m3:57 > #20 0x0046cbb0 in WalkRef (h=16_000000fe, v=16_000000fe) at > RTHeapMap.m3:47 > #21 0x00427704 in SanityCheck (self=16_000000fe) at > RTCollector.m3:1723 > #22 0x00426f4c in After (self=16_000000fe) at RTCollector.m3:1694 > #23 0x0041e060 in InvokeMonitors (before=FALSE) at RTHeapRep.m3:59 > #24 0x00422f54 in CollectSomeInStateFive () at RTCollector.m3:992 > #25 0x004217dc in CollectSome () at RTCollector.m3:744 > #26 0x00420e04 in CollectEnough () at RTCollector.m3:654 > #27 0x00425724 in AllocTraced (def=NIL, dataSize=0, > dataAlignment=0, initProc=Cannot access memory at address 0xfe > ) at RTCollector.m3:1413 > #28 0x0041c02c in GetTracedObj (def=NIL) at RTAllocator.m3:223 > #29 0x0041b9c4 in AllocateTracedObj (defn=NIL) at RTAllocator.m3:141 > #30 0x0046076c in Sub (t=16_000000fe, start=0, length=127) at > TextSub.m3:78 > #31 0x00354374 in PathLast (p=16_000000fe) at SupMisc.m3:431 > #32 0x00074844 in PutCollectionList (self=16_000000fe, > sfr=16_000000fe) at TreeList.m3:477 > #33 0x000709c8 in ListCollection (self=16_000000fe, > sfr=16_000000fe) at TreeList.m3:136 > #34 0x0006fb84 in Apply (self=16_000000fe) at TreeList.m3:65 > #35 0x0044b0c8 in RunThread (me=NIL) at ThreadPThread.m3:540 > #36 0x0044acc4 in ThreadBase (param=NIL) at ThreadPThread.m3:521 > #37 0xfeebfff8 in _lwp_start () from /lib/libc.so.1 > #38 0xfeebfff8 in _lwp_start () from /lib/libc.so.1 > Previous frame identical to this frame (corrupt stack?) > (m3gdb) > > > Alex. From hosking at cs.purdue.edu Mon Oct 8 22:17:56 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Mon, 8 Oct 2007 16:17:56 -0400 Subject: [M3devel] Solaris at last In-Reply-To: References: <68B70FA8-00B1-4C76-8E9B-C249D84C134F@cs.purdue.edu> Message-ID: <1A86C2BE-07EA-4C60-888F-3AA2B72A2E9A@cs.purdue.edu> It's really great to hear that. Yes, on Solaris I now use SIGUSR2 as the signal to stop all threads for GC. I might change that at some point to be one of the real-time signals (also, to avoid interfering with application level use of SIGUSR2), but SIGUSR2 seems to work OK for now. When using m3gdb to debug applications you can use the command: handle SIGUSR2 noprint nostop to ignore the signal. Regards, Tony On Oct 8, 2007, at 3:47 PM, Alex Bochannek wrote: > Tony, > > The change looks really good, so far I have not had an error. > > I did notice a change when running under m3gdb however: > > (m3gdb) r > Starting program: /usr/local/bin/cvsup > warning: Lowest section in /lib/libw.so.1 is .dynamic at 00000074 > warning: Lowest section in /lib/libpthread.so.1 is .dynamic at > 00000074 > warning: Lowest section in /lib/libdl.so.1 is .dynamic at 00000094 > [New LWP 1] > [New LWP 2] > [New LWP 3] > > Program received signal SIGUSR2, User defined signal 2. > [Switching to LWP 2] > 0xfeec0090 in __lwp_park () from /lib/libc.so.1 > (m3gdb) > > Alex. From dabenavidesd at yahoo.es Thu Oct 11 00:18:45 2007 From: dabenavidesd at yahoo.es (Daniel Alejandro Benavides D.) Date: Thu, 11 Oct 2007 00:18:45 +0200 (CEST) Subject: [M3devel] Failing in linking phase of cm3 upgrade.sh Message-ID: <882682.75191.qm@web27104.mail.ukl.yahoo.com> Hi: Im compiling the entire cm3 lastest sources, but get into this error, in the link phase, I used upgrade.sh (also on do-cm3-std.sh buildship but in the linking of m3cgcat) What can be wrong here, could be related with the shown behaviour with NThreads program? new exporters -> recompiling Utils.i3 -> linking cm3 /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__InnerLockMutex':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:127: undefined reference to `pthread_cond_wait' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `Thread__Acquire':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:142: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:144: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__InnerUnlockMutex':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:168: undefined reference to `pthread_cond_signal' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `Thread__Release':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:179: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:181: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__XWait':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:195: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:217: undefined reference to `pthread_cond_wait' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread_M3_LINE_222':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:237: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__DequeueHead':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:273: undefined reference to `pthread_cond_signal' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `Thread__Signal':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:278: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:280: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `Thread__Broadcast':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:285: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:287: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `Thread__Alert':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:292: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:295: undefined reference to `pthread_cond_signal' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:297: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__XTestAlert':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:303: undefined reference to `pthread_mutex_lock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread_M3_LINE_306':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:307: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__InitActivations':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:334: undefined reference to `pthread_key_create' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:335: undefined reference to `pthread_setspecific' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:336: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:338: undefined reference to `pthread_self' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:343: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__SetActivation':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:351: undefined reference to `pthread_setspecific' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__GetActivation':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:359: undefined reference to `pthread_getspecific' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `Thread(...)(long, float) static':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:370: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:372: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__AssignSlot':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:381: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:385: undefined reference to `pthread_mutex_unlock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:387: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:391: undefined reference to `pthread_mutex_unlock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:393: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:403: undefined reference to `pthread_mutex_unlock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:418: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__FreeSlot':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:424: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:433: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__CheckSlot':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:442: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:444: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__CreateT':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:489: undefined reference to `pthread_cond_init' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__RunThread':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:521: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:523: undefined reference to `pthread_mutex_unlock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:546: undefined reference to `pthread_cond_destroy' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:553: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:559: undefined reference to `pthread_detach' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:560: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `Thread__Fork':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:577: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:578: undefined reference to `pthread_attr_init' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:579: undefined reference to `pthread_attr_getstacksize' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:581: undefined reference to `pthread_attr_setstacksize' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:588: undefined reference to `pthread_create' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:604: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadF__SuspendOthers':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:892: undefined reference to `pthread_mutex_lock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadF__ResumeOthers':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:901: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__SuspendAll':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1017: undefined reference to `pthread_kill' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__RestartAll':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1058: undefined reference to `pthread_kill' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__StopWorld':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1086: undefined reference to `sem_getvalue' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1091: undefined reference to `sem_getvalue' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1107: undefined reference to `sem_wait' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__SignalHandler':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1156: undefined reference to `sem_post' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__SetupHandlers':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1176: undefined reference to `sem_init' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__PerfChanged':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1259: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1261: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__PerfDeleted':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1267: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1269: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__PerfRunning':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1275: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1277: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadF__Init':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1300: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1302: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `RTOS__LockHeap':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1333: undefined reference to `pthread_self' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1335: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1338: undefined reference to `pthread_equal' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1340: undefined reference to `pthread_cond_wait' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1343: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `RTOS__UnlockHeap':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1349: undefined reference to `pthread_self' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1351: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1352: undefined reference to `pthread_equal' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1355: undefined reference to `pthread_cond_signal' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1358: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadF__GetCurrentHandlers':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1383: undefined reference to `pthread_getspecific' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadF__SetCurrentHandlers':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1389: undefined reference to `pthread_setspecific' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `RTHooks__PushEFrame':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1398: undefined reference to `pthread_getspecific' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1399: undefined reference to `pthread_setspecific' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `RTHooks__PopEFrame':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1406: undefined reference to `pthread_setspecific' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__InitHandlers':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1411: undefined reference to `pthread_key_create' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1412: undefined reference to `pthread_setspecific' /usr/lib/gcc/i486-linux-gnu/4.1.0/../../../../lib/libc.a(vfork.o): In function `vfork': undefined reference to `pthread_create' collect2: ld returned 1 exit status Fatal Error: package build failed *** execution of failed *** danielb at danielb-desktop:~/cm3-cvs/cm3/scripts$ cd .. Thanks, --------------------------------- S? un Mejor Amante del Cine ?Quieres saber c?mo? ?Deja que otras personas te ayuden!. -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at cs.purdue.edu Thu Oct 11 00:29:09 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Wed, 10 Oct 2007 18:29:09 -0400 Subject: [M3devel] Failing in linking phase of cm3 upgrade.sh In-Reply-To: <882682.75191.qm@web27104.mail.ukl.yahoo.com> References: <882682.75191.qm@web27104.mail.ukl.yahoo.com> Message-ID: <0F3D1AE7-CC8E-476F-A773-1F6389207B92@cs.purdue.edu> What platform? On Oct 10, 2007, at 6:18 PM, Daniel Alejandro Benavides D. wrote: > Hi: > Im compiling the entire cm3 lastest sources, but get into this > error, in the link phase, I used upgrade.sh (also on do-cm3-std.sh > buildship but in the linking of m3cgcat) > > What can be wrong here, could be related with the shown behaviour > with NThreads program? > > > new exporters -> recompiling Utils.i3 > -> linking cm3 > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__InnerLockMutex':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:127: undefined reference to `pthread_cond_wait' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Acquire':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:142: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:144: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__InnerUnlockMutex':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:168: undefined reference to `pthread_cond_signal' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Release':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:179: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:181: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__XWait':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:195: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:217: undefined reference to `pthread_cond_wait' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread_M3_LINE_222':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:237: > undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__DequeueHead':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:273: > undefined reference to `pthread_cond_signal' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Signal':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:278: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:280: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Broadcast':/home/danielb/ > cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:285: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:287: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Alert':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:292: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:295: undefined reference to `pthread_cond_signal' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:297: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__XTestAlert':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:303: > undefined reference to `pthread_mutex_lock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread_M3_LINE_306':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:307: > undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__InitActivations':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:334: undefined reference to `pthread_key_create' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:335: undefined reference to `pthread_setspecific' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:336: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:338: undefined reference to `pthread_self' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:343: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__SetActivation':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:351: undefined reference to `pthread_setspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__GetActivation':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:359: undefined reference to `pthread_getspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread(...)(long, float) static':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:370: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:372: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__AssignSlot':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:381: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:385: undefined reference to `pthread_mutex_unlock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:387: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:391: undefined reference to `pthread_mutex_unlock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:393: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:403: undefined reference to `pthread_mutex_unlock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:418: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__FreeSlot':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:424: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:433: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__CheckSlot':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:442: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:444: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__CreateT':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:489: > undefined reference to `pthread_cond_init' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__RunThread':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:521: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:523: undefined reference to `pthread_mutex_unlock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:546: undefined reference to `pthread_cond_destroy' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:553: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:559: undefined reference to `pthread_detach' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:560: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Fork':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:577: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:578: undefined reference to `pthread_attr_init' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:579: undefined reference to > `pthread_attr_getstacksize' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:581: undefined reference to > `pthread_attr_setstacksize' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:588: undefined reference to `pthread_create' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:604: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadF__SuspendOthers':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:892: > undefined reference to `pthread_mutex_lock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadF__ResumeOthers':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:901: > undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__SuspendAll':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1017: undefined reference to `pthread_kill' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__RestartAll':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1058: undefined reference to `pthread_kill' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__StopWorld':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1086: undefined reference to `sem_getvalue' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1091: undefined reference to `sem_getvalue' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1107: undefined reference to `sem_wait' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__SignalHandler':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1156: undefined reference to `sem_post' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__SetupHandlers':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1176: undefined reference to `sem_init' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__PerfChanged':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1259: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1261: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__PerfDeleted':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1267: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1269: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__PerfRunning':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1275: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1277: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadF__Init':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1300: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1302: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `RTOS__LockHeap':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1333: undefined > reference to `pthread_self' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1335: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1338: undefined reference to `pthread_equal' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1340: undefined reference to `pthread_cond_wait' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1343: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `RTOS__UnlockHeap':/home/danielb/ > cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1349: > undefined reference to `pthread_self' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1351: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1352: undefined reference to `pthread_equal' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1355: undefined reference to `pthread_cond_signal' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1358: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadF__GetCurrentHandlers':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1383: undefined reference to `pthread_getspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadF__SetCurrentHandlers':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1389: undefined reference to `pthread_setspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `RTHooks__PushEFrame':/home/danielb/ > cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1398: > undefined reference to `pthread_getspecific' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1399: undefined reference to `pthread_setspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `RTHooks__PopEFrame':/home/danielb/ > cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1406: > undefined reference to `pthread_setspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__InitHandlers':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1411: undefined reference to `pthread_key_create' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1412: undefined reference to `pthread_setspecific' > /usr/lib/gcc/i486-linux-gnu/4.1.0/../../../../lib/libc.a(vfork.o): > In function `vfork': undefined reference to `pthread_create' > collect2: ld returned 1 exit status > Fatal Error: package build failed > *** execution of failed *** > danielb at danielb-desktop:~/cm3-cvs/cm3/scripts$ cd .. > > > Thanks, > > > S? un Mejor Amante del Cine > ?Quieres saber c?mo? ?Deja que otras personas te ayuden! . From dabenavidesd at yahoo.es Thu Oct 11 00:31:38 2007 From: dabenavidesd at yahoo.es (Daniel Alejandro Benavides D.) Date: Thu, 11 Oct 2007 00:31:38 +0200 (CEST) Subject: [M3devel] Failing in linking phase of cm3 upgrade.sh In-Reply-To: <0F3D1AE7-CC8E-476F-A773-1F6389207B92@cs.purdue.edu> Message-ID: <21253.7899.qm@web27113.mail.ukl.yahoo.com> Hi LINUXLIBC6 on Ubuntu Dapper 6.06, 32 bits Thanks Tony Hosking escribi?: What platform? On Oct 10, 2007, at 6:18 PM, Daniel Alejandro Benavides D. wrote: > Hi: > Im compiling the entire cm3 lastest sources, but get into this > error, in the link phase, I used upgrade.sh (also on do-cm3-std.sh > buildship but in the linking of m3cgcat) > > What can be wrong here, could be related with the shown behaviour > with NThreads program? > > > new exporters -> recompiling Utils.i3 > -> linking cm3 > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__InnerLockMutex':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:127: undefined reference to `pthread_cond_wait' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Acquire':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:142: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:144: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__InnerUnlockMutex':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:168: undefined reference to `pthread_cond_signal' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Release':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:179: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:181: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__XWait':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:195: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:217: undefined reference to `pthread_cond_wait' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread_M3_LINE_222':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:237: > undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__DequeueHead':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:273: > undefined reference to `pthread_cond_signal' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Signal':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:278: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:280: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Broadcast':/home/danielb/ > cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:285: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:287: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Alert':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:292: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:295: undefined reference to `pthread_cond_signal' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:297: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__XTestAlert':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:303: > undefined reference to `pthread_mutex_lock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread_M3_LINE_306':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:307: > undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__InitActivations':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:334: undefined reference to `pthread_key_create' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:335: undefined reference to `pthread_setspecific' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:336: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:338: undefined reference to `pthread_self' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:343: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__SetActivation':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:351: undefined reference to `pthread_setspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__GetActivation':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:359: undefined reference to `pthread_getspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread(...)(long, float) static':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:370: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:372: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__AssignSlot':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:381: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:385: undefined reference to `pthread_mutex_unlock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:387: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:391: undefined reference to `pthread_mutex_unlock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:393: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:403: undefined reference to `pthread_mutex_unlock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:418: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__FreeSlot':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:424: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:433: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__CheckSlot':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:442: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:444: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__CreateT':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:489: > undefined reference to `pthread_cond_init' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__RunThread':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:521: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:523: undefined reference to `pthread_mutex_unlock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:546: undefined reference to `pthread_cond_destroy' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:553: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:559: undefined reference to `pthread_detach' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:560: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Fork':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:577: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:578: undefined reference to `pthread_attr_init' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:579: undefined reference to > `pthread_attr_getstacksize' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:581: undefined reference to > `pthread_attr_setstacksize' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:588: undefined reference to `pthread_create' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:604: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadF__SuspendOthers':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:892: > undefined reference to `pthread_mutex_lock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadF__ResumeOthers':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:901: > undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__SuspendAll':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1017: undefined reference to `pthread_kill' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__RestartAll':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1058: undefined reference to `pthread_kill' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__StopWorld':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1086: undefined reference to `sem_getvalue' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1091: undefined reference to `sem_getvalue' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1107: undefined reference to `sem_wait' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__SignalHandler':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1156: undefined reference to `sem_post' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__SetupHandlers':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1176: undefined reference to `sem_init' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__PerfChanged':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1259: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1261: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__PerfDeleted':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1267: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1269: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__PerfRunning':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1275: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1277: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadF__Init':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1300: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1302: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `RTOS__LockHeap':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1333: undefined > reference to `pthread_self' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1335: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1338: undefined reference to `pthread_equal' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1340: undefined reference to `pthread_cond_wait' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1343: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `RTOS__UnlockHeap':/home/danielb/ > cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1349: > undefined reference to `pthread_self' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1351: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1352: undefined reference to `pthread_equal' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1355: undefined reference to `pthread_cond_signal' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1358: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadF__GetCurrentHandlers':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1383: undefined reference to `pthread_getspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadF__SetCurrentHandlers':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1389: undefined reference to `pthread_setspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `RTHooks__PushEFrame':/home/danielb/ > cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1398: > undefined reference to `pthread_getspecific' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1399: undefined reference to `pthread_setspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `RTHooks__PopEFrame':/home/danielb/ > cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1406: > undefined reference to `pthread_setspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__InitHandlers':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1411: undefined reference to `pthread_key_create' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1412: undefined reference to `pthread_setspecific' > /usr/lib/gcc/i486-linux-gnu/4.1.0/../../../../lib/libc.a(vfork.o): > In function `vfork': undefined reference to `pthread_create' > collect2: ld returned 1 exit status > Fatal Error: package build failed > *** execution of failed *** > danielb at danielb-desktop:~/cm3-cvs/cm3/scripts$ cd .. > > > Thanks, > > > S? un Mejor Amante del Cine > ?Quieres saber c?mo? ?Deja que otras personas te ayuden! . --------------------------------- S? un Mejor Amante del Cine ?Quieres saber c?mo? ?Deja que otras personas te ayuden!. -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at cs.purdue.edu Thu Oct 11 00:31:57 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Wed, 10 Oct 2007 18:31:57 -0400 Subject: [M3devel] Failing in linking phase of cm3 upgrade.sh In-Reply-To: <882682.75191.qm@web27104.mail.ukl.yahoo.com> References: <882682.75191.qm@web27104.mail.ukl.yahoo.com> Message-ID: Sorry, reading further I see you are using Linux. It looks like you are not linking with the pthread library. Try putting -lpthread into your definition of LIBC in your cm3.cfg. On Oct 10, 2007, at 6:18 PM, Daniel Alejandro Benavides D. wrote: > Hi: > Im compiling the entire cm3 lastest sources, but get into this > error, in the link phase, I used upgrade.sh (also on do-cm3-std.sh > buildship but in the linking of m3cgcat) > > What can be wrong here, could be related with the shown behaviour > with NThreads program? > > > new exporters -> recompiling Utils.i3 > -> linking cm3 > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__InnerLockMutex':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:127: undefined reference to `pthread_cond_wait' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Acquire':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:142: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:144: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__InnerUnlockMutex':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:168: undefined reference to `pthread_cond_signal' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Release':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:179: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:181: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__XWait':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:195: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:217: undefined reference to `pthread_cond_wait' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread_M3_LINE_222':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:237: > undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__DequeueHead':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:273: > undefined reference to `pthread_cond_signal' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Signal':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:278: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:280: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Broadcast':/home/danielb/ > cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:285: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:287: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Alert':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:292: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:295: undefined reference to `pthread_cond_signal' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:297: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__XTestAlert':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:303: > undefined reference to `pthread_mutex_lock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread_M3_LINE_306':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:307: > undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__InitActivations':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:334: undefined reference to `pthread_key_create' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:335: undefined reference to `pthread_setspecific' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:336: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:338: undefined reference to `pthread_self' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:343: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__SetActivation':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:351: undefined reference to `pthread_setspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__GetActivation':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:359: undefined reference to `pthread_getspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread(...)(long, float) static':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:370: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:372: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__AssignSlot':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:381: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:385: undefined reference to `pthread_mutex_unlock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:387: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:391: undefined reference to `pthread_mutex_unlock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:393: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:403: undefined reference to `pthread_mutex_unlock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:418: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__FreeSlot':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:424: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:433: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__CheckSlot':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:442: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:444: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__CreateT':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:489: > undefined reference to `pthread_cond_init' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__RunThread':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:521: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:523: undefined reference to `pthread_mutex_unlock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:546: undefined reference to `pthread_cond_destroy' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:553: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:559: undefined reference to `pthread_detach' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:560: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Fork':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:577: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:578: undefined reference to `pthread_attr_init' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:579: undefined reference to > `pthread_attr_getstacksize' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:581: undefined reference to > `pthread_attr_setstacksize' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:588: undefined reference to `pthread_create' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:604: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadF__SuspendOthers':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:892: > undefined reference to `pthread_mutex_lock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadF__ResumeOthers':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:901: > undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__SuspendAll':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1017: undefined reference to `pthread_kill' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__RestartAll':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1058: undefined reference to `pthread_kill' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__StopWorld':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1086: undefined reference to `sem_getvalue' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1091: undefined reference to `sem_getvalue' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1107: undefined reference to `sem_wait' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__SignalHandler':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1156: undefined reference to `sem_post' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__SetupHandlers':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1176: undefined reference to `sem_init' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__PerfChanged':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1259: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1261: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__PerfDeleted':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1267: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1269: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__PerfRunning':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1275: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1277: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadF__Init':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1300: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1302: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `RTOS__LockHeap':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1333: undefined > reference to `pthread_self' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1335: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1338: undefined reference to `pthread_equal' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1340: undefined reference to `pthread_cond_wait' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1343: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `RTOS__UnlockHeap':/home/danielb/ > cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1349: > undefined reference to `pthread_self' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1351: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1352: undefined reference to `pthread_equal' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1355: undefined reference to `pthread_cond_signal' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1358: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadF__GetCurrentHandlers':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1383: undefined reference to `pthread_getspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadF__SetCurrentHandlers':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1389: undefined reference to `pthread_setspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `RTHooks__PushEFrame':/home/danielb/ > cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1398: > undefined reference to `pthread_getspecific' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1399: undefined reference to `pthread_setspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `RTHooks__PopEFrame':/home/danielb/ > cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1406: > undefined reference to `pthread_setspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__InitHandlers':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1411: undefined reference to `pthread_key_create' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1412: undefined reference to `pthread_setspecific' > /usr/lib/gcc/i486-linux-gnu/4.1.0/../../../../lib/libc.a(vfork.o): > In function `vfork': undefined reference to `pthread_create' > collect2: ld returned 1 exit status > Fatal Error: package build failed > *** execution of failed *** > danielb at danielb-desktop:~/cm3-cvs/cm3/scripts$ cd .. > > > Thanks, > > > S? un Mejor Amante del Cine > ?Quieres saber c?mo? ?Deja que otras personas te ayuden! . From dabenavidesd at yahoo.es Thu Oct 11 00:46:56 2007 From: dabenavidesd at yahoo.es (Daniel Alejandro Benavides D.) Date: Thu, 11 Oct 2007 00:46:56 +0200 (CEST) Subject: [M3devel] Failing in linking phase of cm3 upgrade.sh In-Reply-To: Message-ID: <412093.65880.qm@web27103.mail.ukl.yahoo.com> Hi: Yes, Its working again. Thanks Tony Hosking escribi?: Sorry, reading further I see you are using Linux. It looks like you are not linking with the pthread library. Try putting -lpthread into your definition of LIBC in your cm3.cfg. On Oct 10, 2007, at 6:18 PM, Daniel Alejandro Benavides D. wrote: > Hi: > Im compiling the entire cm3 lastest sources, but get into this > error, in the link phase, I used upgrade.sh (also on do-cm3-std.sh > buildship but in the linking of m3cgcat) > > What can be wrong here, could be related with the shown behaviour > with NThreads program? > > > new exporters -> recompiling Utils.i3 > -> linking cm3 > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__InnerLockMutex':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:127: undefined reference to `pthread_cond_wait' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Acquire':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:142: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:144: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__InnerUnlockMutex':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:168: undefined reference to `pthread_cond_signal' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Release':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:179: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:181: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__XWait':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:195: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:217: undefined reference to `pthread_cond_wait' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread_M3_LINE_222':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:237: > undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__DequeueHead':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:273: > undefined reference to `pthread_cond_signal' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Signal':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:278: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:280: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Broadcast':/home/danielb/ > cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:285: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:287: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Alert':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:292: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:295: undefined reference to `pthread_cond_signal' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:297: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__XTestAlert':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:303: > undefined reference to `pthread_mutex_lock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread_M3_LINE_306':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:307: > undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__InitActivations':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:334: undefined reference to `pthread_key_create' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:335: undefined reference to `pthread_setspecific' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:336: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:338: undefined reference to `pthread_self' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:343: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__SetActivation':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:351: undefined reference to `pthread_setspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__GetActivation':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:359: undefined reference to `pthread_getspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread(...)(long, float) static':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:370: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:372: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__AssignSlot':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:381: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:385: undefined reference to `pthread_mutex_unlock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:387: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:391: undefined reference to `pthread_mutex_unlock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:393: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:403: undefined reference to `pthread_mutex_unlock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:418: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__FreeSlot':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:424: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:433: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__CheckSlot':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:442: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:444: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__CreateT':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:489: > undefined reference to `pthread_cond_init' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__RunThread':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:521: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:523: undefined reference to `pthread_mutex_unlock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:546: undefined reference to `pthread_cond_destroy' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:553: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:559: undefined reference to `pthread_detach' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:560: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Fork':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:577: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:578: undefined reference to `pthread_attr_init' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:579: undefined reference to > `pthread_attr_getstacksize' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:581: undefined reference to > `pthread_attr_setstacksize' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:588: undefined reference to `pthread_create' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:604: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadF__SuspendOthers':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:892: > undefined reference to `pthread_mutex_lock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadF__ResumeOthers':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:901: > undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__SuspendAll':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1017: undefined reference to `pthread_kill' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__RestartAll':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1058: undefined reference to `pthread_kill' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__StopWorld':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1086: undefined reference to `sem_getvalue' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1091: undefined reference to `sem_getvalue' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1107: undefined reference to `sem_wait' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__SignalHandler':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1156: undefined reference to `sem_post' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__SetupHandlers':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1176: undefined reference to `sem_init' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__PerfChanged':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1259: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1261: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__PerfDeleted':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1267: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1269: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__PerfRunning':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1275: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1277: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadF__Init':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1300: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1302: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `RTOS__LockHeap':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1333: undefined > reference to `pthread_self' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1335: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1338: undefined reference to `pthread_equal' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1340: undefined reference to `pthread_cond_wait' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1343: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `RTOS__UnlockHeap':/home/danielb/ > cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1349: > undefined reference to `pthread_self' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1351: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1352: undefined reference to `pthread_equal' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1355: undefined reference to `pthread_cond_signal' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1358: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadF__GetCurrentHandlers':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1383: undefined reference to `pthread_getspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadF__SetCurrentHandlers':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1389: undefined reference to `pthread_setspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `RTHooks__PushEFrame':/home/danielb/ > cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1398: > undefined reference to `pthread_getspecific' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1399: undefined reference to `pthread_setspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `RTHooks__PopEFrame':/home/danielb/ > cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1406: > undefined reference to `pthread_setspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__InitHandlers':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1411: undefined reference to `pthread_key_create' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1412: undefined reference to `pthread_setspecific' > /usr/lib/gcc/i486-linux-gnu/4.1.0/../../../../lib/libc.a(vfork.o): > In function `vfork': undefined reference to `pthread_create' > collect2: ld returned 1 exit status > Fatal Error: package build failed > *** execution of failed *** > danielb at danielb-desktop:~/cm3-cvs/cm3/scripts$ cd .. > > > Thanks, > > > S? un Mejor Amante del Cine > ?Quieres saber c?mo? ?Deja que otras personas te ayuden! . --------------------------------- S? un Mejor Amante del Cine ?Quieres saber c?mo? ?Deja que otras personas te ayuden!. -------------- next part -------------- An HTML attachment was scrubbed... URL: From rodney.bates at wichita.edu Thu Oct 11 17:41:02 2007 From: rodney.bates at wichita.edu (Rodney M. Bates) Date: Thu, 11 Oct 2007 10:41:02 -0500 Subject: [M3devel] m3gdb start command and calls on runtime procedures Message-ID: <470E440E.8000005@wichita.edu> The revised 'start' command of m3gdb, that I recently checked in, stops too early, before all the runtime data is initialized, for CM3-compiled code only. If, when stopped at this point, you try to type a call in m3gdb, on anything that allocates heap objects, it will probably fail with runtime errors such as value range errors. Instead, put a breakpoint on the first line of the main module body. At that point, such calls will work. If instead, you put your breakpoint on 'Main.1" (the module body of Main), it will stop there twice, and only after the second stop are things properly initialized. In PM3, things are already initialized when the 'start' command stops. Also, in both CM3 and PM3, there are things in libm3core that are always initialized by the compiler, and some that are only initialized if they appear in the import closure of the program. RTutils is an example of the latter. If your program doesn't import it and you try to call inside it from m3gdb, that will fail also. -- ------------------------------------------------------------- Rodney M. Bates, retired assistant professor Dept. of Computer Science, Wichita State University Wichita, KS 67260-0083 316-978-3922 rodney.bates at wichita.edu From hosking at cs.purdue.edu Fri Oct 12 17:56:15 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Fri, 12 Oct 2007 11:56:15 -0400 Subject: [M3devel] Fwd: Solaris at last References: Message-ID: Anyone aware of file ownership problems with CM3? Begin forwarded message: > From: Alex Bochannek > Date: October 11, 2007 8:17:30 PM EDT > To: Tony Hosking > Subject: Re: Solaris at last > > Got some good news/bad news. > > Good news: The CVSup run doesn't hang anymore and I don't get any > crashes. > > Bad news: There seems to be an issue with file ownership that the > CM3-compiled CVSup client sets incorrectly. The EZM3-compiled one does > it right. I need to look at the code, but not until next week. > > Alex. From jdp at polstra.com Fri Oct 12 18:04:51 2007 From: jdp at polstra.com (John Polstra) Date: Fri, 12 Oct 2007 09:04:51 -0700 Subject: [M3devel] Fwd: Solaris at last In-Reply-To: References: Message-ID: <470F9B23.3050802@polstra.com> Hmm, I assume it's not just something simple like forgetting to run CVSup as root, or running it as root unintentionally. CVSup passes users and groups as names, not numbers. If there were bugs in CM3's getpwdent family of functions, it would cause problems. Probably no other application uses those functions, so CVSup could easily discover new bugs in them. John Tony Hosking wrote: > Anyone aware of file ownership problems with CM3? > > > Begin forwarded message: > >> From: Alex Bochannek >> Date: October 11, 2007 8:17:30 PM EDT >> To: Tony Hosking >> Subject: Re: Solaris at last >> >> Got some good news/bad news. >> >> Good news: The CVSup run doesn't hang anymore and I don't get any >> crashes. >> >> Bad news: There seems to be an issue with file ownership that the >> CM3-compiled CVSup client sets incorrectly. The EZM3-compiled one does >> it right. I need to look at the code, but not until next week. >> >> Alex. > From neels at elego.de Sun Oct 14 00:24:48 2007 From: neels at elego.de (Neels Janosch Hofmeyr) Date: Sun, 14 Oct 2007 00:24:48 +0200 Subject: [M3devel] Pathname.Legal Message-ID: <471145B0.60905@elego.de> Hello all, I encountered the problem that, in my cm3 compile, FS.GetAbsolutePathname cannot handle special characters in file names. As soon as a file contains a special character (?, ?, ?, ...), a Pathname.Invalid exception is raised. This happens because PathnamePosix.m3 has a list of legal characters: CONST Legal = SET OF CHAR {'\001' .. '\177'} - SET OF CHAR {DirSepChar}; which is enforced in Pathname.Compose and Pathname.ParsePosixPathname. Pathname.Legal contains the complete ASCII list -- but no more than that. This means that characters like ? are considered illegal characters. I reversed the Legal list to an Illegal list like this: CONST Illegal = SET OF CHAR {DirSepChar}; and also reversed the IF logic, replacing Legal with Illegal. This way all characters are allowed, except the DirSepChar. And voila, it works. PathnamePosix.m3 accepts weird filenames. So, should this fix be applied to cm3? Regards, Neels cm3/m3-libs/libm3/src/os/POSIX/PathnamePosix.m3: @@ -13,7 +13,7 @@ DirSepChar = '/'; ExtSepChar = '.'; DirSepText = "/"; ExtSepText = "."; -CONST Legal = SET OF CHAR {'\001' .. '\177'} - SET OF CHAR {DirSepChar}; +CONST Illegal = SET OF CHAR {DirSepChar}; PROCEDURE Valid(pn: T): BOOLEAN = PROCEDURE Ignore(<* UNUSED *> start, end: CARDINAL) = BEGIN END Ignore; @@ -51,7 +51,7 @@ WITH arc = a.get(i) DO IF arc = NIL THEN RAISE Invalid END; FOR i := 0 TO Text.Length(arc) - 1 DO - IF NOT Text.GetChar(arc, i) IN Legal THEN RAISE Invalid END + IF Text.GetChar(arc, i) IN Illegal THEN RAISE Invalid END END; t := t & arc END; @@ -159,7 +159,7 @@ IF c = DirSepChar THEN visit(s, e); s := e + 1 - ELSIF NOT c IN Legal THEN + ELSIF c IN Illegal THEN RAISE Invalid END END; -- Neels Janosch Hofmeyr Software Developer neels at elego.de Public Key: http://binarchy.net/neels/neels.hofmeyr.public.key.asc elego Software Solutions GmbH http://www.elegosoft.com Gustav-Meyer-Allee 25, Geb?ude 12 HRB 77719 13355 Berlin, Germany Amtsgericht Charlottenburg Tel.: +49 30 23 45 86 96 Sitz der Gesellschaft: Berlin Fax: +49 30 23 45 86 95 Gesch?ftsf?hrer: Olaf Wagner -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: OpenPGP digital signature URL: From stsp at elego.de Sun Oct 14 12:05:27 2007 From: stsp at elego.de (Stefan Sperling) Date: Sun, 14 Oct 2007 12:05:27 +0200 Subject: [M3devel] Pathname.Legal In-Reply-To: <471145B0.60905@elego.de> References: <471145B0.60905@elego.de> Message-ID: <20071014100526.GA2601@jack.stsp.lan> On Sun, Oct 14, 2007 at 12:24:48AM +0200, Neels Janosch Hofmeyr wrote: > Hello all, > > I encountered the problem that, in my cm3 compile, > FS.GetAbsolutePathname cannot handle special characters in file names. > As soon as a file contains a special character (?, ?, ?, ...), a > Pathname.Invalid exception is raised. > > This happens because PathnamePosix.m3 has a list of legal characters: > > CONST Legal = SET OF CHAR {'\001' .. '\177'} - SET OF CHAR {DirSepChar}; > > which is enforced in Pathname.Compose and Pathname.ParsePosixPathname. > > Pathname.Legal contains the complete ASCII list -- but no more than > that. This means that characters like ? are considered illegal characters. How does CM3 handle locales? Is there a way to access locales (and similar facitilies on non-UNIXish systems) from Modula3 to determine characters the system consideres legal in filenames? At least those encoded in ISO8859* ? > I reversed the Legal list to an Illegal list like this: > > CONST Illegal = SET OF CHAR {DirSepChar}; > > and also reversed the IF logic, replacing Legal with Illegal. This way > all characters are allowed, except the DirSepChar. And voila, it works. > PathnamePosix.m3 accepts weird filenames. What happens now if you try to use a filename that is UTF-8 encoded and contains a character that spans more than one byte? Maybe the restriction to ASCII was made on purpose to protect users from CM3's non-existent unicode support? -- Stefan Sperling Software Developer elego Software Solutions GmbH HRB 77719 Gustav-Meyer-Allee 25, Gebaeude 12 Tel: +49 30 23 45 86 96 13355 Berlin Fax: +49 30 23 45 86 95 http://www.elego.de Geschaeftsfuehrer: Olaf Wagner -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 187 bytes Desc: not available URL: From rodney.bates at wichita.edu Sun Oct 14 13:11:49 2007 From: rodney.bates at wichita.edu (Rodney M. Bates) Date: Sun, 14 Oct 2007 06:11:49 -0500 Subject: [M3devel] Pathname.Legal In-Reply-To: <20071014100526.GA2601@jack.stsp.lan> References: <471145B0.60905@elego.de> <20071014100526.GA2601@jack.stsp.lan> Message-ID: <4711F975.9070905@wichita.edu> Since the language itself specifies that program variables of type CHAR are in ISO Latin-1, not just ASCII, I think extending compilers, etc., to handle those characters makes complete sense, without even needing to view it as support for unicode or differing locales. Do I understand correctly that Neels' patch extends just to ISO Latin-1? Stefan Sperling wrote: > > How does CM3 handle locales? > > Is there a way to access locales (and similar facitilies > on non-UNIXish systems) from Modula3 to determine characters > the system consideres legal in filenames? At least those > encoded in ISO8859* ? > > > > > What happens now if you try to use a filename that is > UTF-8 encoded and contains a character that spans more than one byte? > > Maybe the restriction to ASCII was made on purpose to protect > users from CM3's non-existent unicode support? > -- ------------------------------------------------------------- Rodney M. Bates, retired assistant professor Dept. of Computer Science, Wichita State University Wichita, KS 67260-0083 316-978-3922 rodney.bates at wichita.edu From stsp at elego.de Sun Oct 14 14:56:54 2007 From: stsp at elego.de (Stefan Sperling) Date: Sun, 14 Oct 2007 14:56:54 +0200 Subject: [M3devel] Pathname.Legal In-Reply-To: <4711F975.9070905@wichita.edu> References: <471145B0.60905@elego.de> <20071014100526.GA2601@jack.stsp.lan> <4711F975.9070905@wichita.edu> Message-ID: <20071014125654.GB2601@jack.stsp.lan> On Sun, Oct 14, 2007 at 06:11:49AM -0500, Rodney M. Bates wrote: > Since the language itself specifies that program variables of type > CHAR are in ISO Latin-1, not just ASCII, I think extending compilers, > etc., to handle those characters makes complete sense, without even > needing to view it as support for unicode or differing locales. > > Do I understand correctly that Neels' patch extends just to ISO Latin-1? More than that. The patch allows any byte-sized character except the DirSepChar, which effectivly makes any character encoding that uses single byte encoding legal. So Latin-2 etc. are also included, which is a feature, not a bug. As long as only single byte encodings are involved this is totally fine. So since CM3 assumes Latin-1 anyway, not handling unicode correctly is not a problem. But users should be made aware that if they use CM3 programs with filenames in multi-byte encodings such as UTF-8, really strange things may happen... CM3 should get unicode support some day... unicode is quite hairy, I've seen quite a few UTF-8 related problems in the subversion bug tracker. Subversion tries to use UTF-8 all the way. The problems were along the lines of using either 'this an a with umlaut;', or 'the next char has an umlaut; a;', or 'a; the previous char had an umlaut;' for encoding the ? character. These are all legal UTF-8. But: The encoding method used on a given system is up to the filesystem implementation in the OS, i.e. hard to detect. So in case of subversion, which does not heed all these cases (yet), filenames with umlauts work on UNIX and Windows, but not on MacOSX. Wheeee! :) -- Stefan Sperling Software Developer elego Software Solutions GmbH HRB 77719 Gustav-Meyer-Allee 25, Gebaeude 12 Tel: +49 30 23 45 86 96 13355 Berlin Fax: +49 30 23 45 86 95 http://www.elego.de Geschaeftsfuehrer: Olaf Wagner -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 187 bytes Desc: not available URL: From jay.krell at cornell.edu Sun Oct 14 16:11:22 2007 From: jay.krell at cornell.edu (Jay) Date: Sun, 14 Oct 2007 14:11:22 +0000 Subject: [M3devel] Pathname.Legal In-Reply-To: <20071014125654.GB2601@jack.stsp.lan> References: <471145B0.60905@elego.de> <20071014100526.GA2601@jack.stsp.lan> <4711F975.9070905@wichita.edu> <20071014125654.GB2601@jack.stsp.lan> Message-ID: My goodness varying file system, OS file system support, network file system protocol feature sets, character encodings, case sensitivity rules, is a rats of nest of subtle but significant problems even if you are developing on one OS and/or one file system.. On my Mac I have file names with forward slashes and question marks (I didn't create them, they were downloaded that way, such as the MPW SC/SCpp reference and "Where is JBindery?"). I can't copy them to my low end Linux NAS. The source to the low end Linux NAS has dots at the start of some file names. It cannot be copied over itself from Windows, because such files are hidden and cannot be unhidden. Here's a tidbit -- Windows has "long" file names and "short" file names. Guess which is longer? Try this: cd \ mkdir "1.1.1" dir /x 1* Short names can be around twice as long as long names, at least. Anything with two dots, or Unicode I believe, needs a generated short name, even if it isn't particulary long. Short names these days tends to get more randomness in them I think, for security.. Also the wildcard matching is unpredictable due to generated short names. mkdir foo.1234 dir *.123 That probably matches, but can't say for sure. And still I trust NTFS more than anything else. :) - Jay > Date: Sun, 14 Oct 2007 14:56:54 +0200> From: stsp at elego.de> To: rodney.bates at wichita.edu> CC: m3devel at elegosoft.com> Subject: Re: [M3devel] Pathname.Legal> > On Sun, Oct 14, 2007 at 06:11:49AM -0500, Rodney M. Bates wrote:> > Since the language itself specifies that program variables of type> > CHAR are in ISO Latin-1, not just ASCII, I think extending compilers,> > etc., to handle those characters makes complete sense, without even> > needing to view it as support for unicode or differing locales.> >> > Do I understand correctly that Neels' patch extends just to ISO Latin-1?> > More than that. The patch allows any byte-sized character> except the DirSepChar, which effectivly makes any character> encoding that uses single byte encoding legal.> > So Latin-2 etc. are also included, which is a feature,> not a bug. As long as only single byte encodings are involved> this is totally fine.> > So since CM3 assumes Latin-1 anyway, not handling unicode correctly> is not a problem. But users should be made aware that if they> use CM3 programs with filenames in multi-byte encodings such> as UTF-8, really strange things may happen...> > CM3 should get unicode support some day... unicode is quite hairy,> I've seen quite a few UTF-8 related problems in the subversion bug> tracker. Subversion tries to use UTF-8 all the way.> > The problems were along the lines of using either> 'this an a with umlaut;',> or 'the next char has an umlaut; a;',> or 'a; the previous char had an umlaut;'> for encoding the ? character. These are all legal UTF-8.> > But: The encoding method used on a given system is up to the> filesystem implementation in the OS, i.e. hard to detect.> So in case of subversion, which does not heed all these cases (yet),> filenames with umlauts work on UNIX and Windows, but not on MacOSX.> Wheeee! :)> > -- > Stefan Sperling Software Developer> elego Software Solutions GmbH HRB 77719> Gustav-Meyer-Allee 25, Gebaeude 12 Tel: +49 30 23 45 86 96 > 13355 Berlin Fax: +49 30 23 45 86 95> http://www.elego.de Geschaeftsfuehrer: Olaf Wagner _________________________________________________________________ Windows Live Hotmail and Microsoft Office Outlook ? together at last. ?Get it now. http://office.microsoft.com/en-us/outlook/HA102225181033.aspx?pid=CL100626971033 -------------- next part -------------- An HTML attachment was scrubbed... URL: From wagner at elegosoft.com Sun Oct 14 16:28:11 2007 From: wagner at elegosoft.com (Olaf Wagner) Date: Sun, 14 Oct 2007 16:28:11 +0200 Subject: [M3devel] Pathname.Legal In-Reply-To: <471145B0.60905@elego.de> References: <471145B0.60905@elego.de> Message-ID: <20071014142811.GA16233@elegosoft.com> On Sun, Oct 14, 2007 at 12:24:48AM +0200, Neels Janosch Hofmeyr wrote: > Hello all, > > I encountered the problem that, in my cm3 compile, > FS.GetAbsolutePathname cannot handle special characters in file names. > As soon as a file contains a special character (?, ?, ?, ...), a > Pathname.Invalid exception is raised. > > This happens because PathnamePosix.m3 has a list of legal characters: > > CONST Legal = SET OF CHAR {'\001' .. '\177'} - SET OF CHAR {DirSepChar}; > > which is enforced in Pathname.Compose and Pathname.ParsePosixPathname. > > Pathname.Legal contains the complete ASCII list -- but no more than > that. This means that characters like ? are considered illegal characters. > > I reversed the Legal list to an Illegal list like this: > > CONST Illegal = SET OF CHAR {DirSepChar}; > > and also reversed the IF logic, replacing Legal with Illegal. This way > all characters are allowed, except the DirSepChar. And voila, it works. > PathnamePosix.m3 accepts weird filenames. > > So, should this fix be applied to cm3? Please commit the fix; I see no harm in allowing more characters in pathnames than ASCII. May this also be the cause for the problem encountered with CVSup's directory creation? Probably not, but I don't remember exactly why it went wrong. Olaf -- Olaf Wagner -- elego Software Solutions GmbH Gustav-Meyer-Allee 25 / Geb?ude 12, 13355 Berlin, Germany phone: +49 30 23 45 86 96 mobile: +49 177 2345 869 fax: +49 30 23 45 86 95 http://www.elegosoft.com | Gesch?ftsf?hrer: Olaf Wagner | Sitz: Berlin Handelregister: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194 From kschleiser at elego.de Mon Oct 15 11:19:08 2007 From: kschleiser at elego.de (Kaspar Schleiser) Date: Mon, 15 Oct 2007 11:19:08 +0200 Subject: [M3devel] build problems on freebsd 6 Message-ID: <4713308C.7020402@elego.de> Hey all, I'm having problems bootstrapping the cm3 cvs version. The cm3 5.4.0 minimal release is being used on a FreeBSD 6.2-RELEASE-p3-machine for the first step. "./do-pkg.sh buildship m3cc m3middle m3linker m3front m3quake cm3" builds the compiler just fine, but the new compiler fails to compile the m3core libs: CM3C = /tmp/test-cm3-20071015-004410/build/cm3/scripts/pkgmap.sh -c "/tmp/test-cm3-20071015-0044 10/build/cm3bin/pkg/cm3/FreeBSD4/cm3 -build -override -DROOT='/tmp/test-cm3-20071015-0044 10/build/cm3' " m3core libm3 === package /tmp/test-cm3-20071015-004410/build/cm3/m3-libs/m3core === +++ /tmp/test-cm3-20071015-004410/build/cm3bin/pkg/cm3/FreeBSD4/cm3 -build -override -DR OOT='/tmp/test-cm3-20071015-004410/build/cm3' +++ --- building in FreeBSD4 --- new source -> compiling RTHooks.i3 new source -> compiling RT0.i3 new source -> compiling RuntimeError.i3 new source -> compiling WordRep.i3 new source -> compiling Word.i3 new source -> compiling RTException.i3 new source -> compiling RTHooks.m3 new source -> compiling RT0.m3 new source -> compiling Compiler.i3 new source -> compiling RuntimeError.m3 new source -> compiling Compiler.m3 new source -> compiling RTAllocator.i3 new source -> compiling RTType.i3 new source -> compiling Csetjmp.i3 new source -> compiling LongRep.i3 new source -> compiling Long.i3 new source -> compiling BasicCtypes.i3 new source -> compiling Ctypes.i3 new source -> compiling RTMachine.i3 new source -> compiling RTHeapRep.i3 new source -> compiling Thread.i3 new source -> compiling FloatMode.i3 new source -> compiling ThreadF.i3 new source -> compiling RTOS.i3 new source -> compiling RTMisc.i3 new source -> compiling RTHeap.i3 new source -> compiling Cstdlib.i3 new source -> compiling Cstddef.i3 new source -> compiling RTAllocCnts.i3 new source -> compiling RTAllocator.m3 "../src/runtime/common/RTAllocator.m3", line 190: warning: variable has type NULL (state) "../src/runtime/common/RTAllocator.m3", line 190: unknown qualification '.' (MyHeapState) "../src/runtime/common/RTAllocator.m3", line 215: warning: variable has type NULL (state) "../src/runtime/common/RTAllocator.m3", line 215: unknown qualification '.' (MyHeapState) "../src/runtime/common/RTAllocator.m3", line 300: warning: variable has type NULL (state) "../src/runtime/common/RTAllocator.m3", line 300: unknown qualification '.' (MyHeapState) 3 errors and 3 warnings encountered new source -> compiling RTAllocStats.i3 new source -> compiling Convert.i3 new source -> compiling TextClass.i3 new source -> compiling Text.i3 new source -> compiling RTProcedureSRC.i3 new source -> compiling Fingerprint.i3 new source -> compiling RTProcedure.i3 new source -> compiling RTStack.i3 new source -> compiling RTAllocStats.m3 new source -> compiling TextLiteral.i3 new source -> compiling RTHeap.m3 new source -> compiling RTHeapInfo.i3 new source -> compiling Cstring.i3 new source -> compiling RTPerfTool.i3 new source -> compiling RTParams.i3 new source -> compiling RTHeapInfo.m3 new source -> compiling RTHeapMap.i3 new source -> compiling RTIO.i3 new source -> compiling RTTypeMap.i3 new source -> compiling RTMapOp.i3 new source -> compiling RTModule.i3 new source -> compiling RTHeapMap.m3 new source -> compiling RTHeapRep.m3 new source -> compiling RTHeapStats.i3 new source -> compiling RTTypeSRC.i3 new source -> compiling RTCollector.i3 new source -> compiling RTHeapStats.m3 new source -> compiling Time.i3 new source -> compiling Scheduler.i3 new source -> compiling RTLinker.i3 new source -> compiling RTProcess.i3 new source -> compiling RTHeapEvent.i3 new source -> compiling RTWeakRef.i3 new source -> compiling RTCollectorSRC.i3 new source -> compiling RTCollector.m3 "../src/runtime/common/RTCollector.m3", line 594: unknown qualification '.' (MyHeapState) "../src/runtime/common/RTCollector.m3", line 600: unknown qualification '.' (MyHeapState) "../src/runtime/common/RTCollector.m3", line 1403: unknown qualification '.' (MyHeapState ) "../src/runtime/common/RTCollector.m3", line 1407: unknown qualification '.' (MyHeapState ) "../src/runtime/common/RTCollector.m3", line 1440: unknown qualification '.' (MyHeapState ) "../src/runtime/common/RTCollector.m3", line 1506: unknown qualification '.' (MyHeapState ) 6 errors encountered new source -> compiling RTIO.m3 new source -> compiling RTLinkerX.i3 new source -> compiling RTSignal.i3 new source -> compiling RTDebug.i3 new source -> compiling RTLinker.m3 new source -> compiling RTDebug.m3 new source -> compiling RTError.i3 new source -> compiling RTError.m3 new source -> compiling M3toC.i3 new source -> compiling RTException.m3 new source -> compiling RTMapOp.m3 new source -> compiling RTMisc.m3 new source -> compiling RTPacking.i3 new source -> compiling RTPacking.m3 new source -> compiling RTArgs.i3 new source -> compiling RTParams.m3 new source -> compiling RTProcedure.m3 new source -> compiling RTProcess.m3 new source -> compiling RTTipe.i3 new source -> compiling RTTipe.m3 new source -> compiling RTType.m3 new source -> compiling RTTypeFP.i3 new source -> compiling RTTypeFP.m3 new source -> compiling RTTypeMap.m3 new source -> compiling RTutils.i3 new source -> compiling RTutils.m3 new source -> compiling RTHeapDebug.i3 new source -> compiling WeakRef.i3 new source -> compiling RTHeapDebug.m3 new source -> compiling RTArgs.m3 new source -> compiling Utypes.i3 new source -> compiling Umman.i3 "../src/unix/freebsd-4/Umman.i3", line 41: undefined (off_t) 1 error encountered new source -> compiling Uuio.i3 new source -> compiling Unix.i3 "../src/unix/freebsd-4/Unix.i3", line 145: VAL: second argument must be an ordinal type "../src/unix/freebsd-4/Unix.i3", line 145: VAL: value out of range "../src/unix/freebsd-4/Unix.i3", line 145: default is not a constant (l_start) "../src/unix/freebsd-4/Unix.i3", line 146: VAL: second argument must be an ordinal type "../src/unix/freebsd-4/Unix.i3", line 146: VAL: value out of range "../src/unix/freebsd-4/Unix.i3", line 146: default is not a constant (l_len) 6 errors encountered new source -> compiling RTOS.m3 "../src/runtime/POSIX/RTOS.m3", line 9: imported interface contains errors (Unix) "../src/runtime/POSIX/RTOS.m3", line 9: imported interface contains errors (Umman) 2 errors encountered new source -> compiling Utime.i3 new source -> compiling Uresource.i3 new source -> compiling Uexec.i3 new source -> compiling RTPerfTool.m3 "../src/runtime/POSIX/RTPerfTool.m3", line 10: imported interface contains errors (Unix) 1 error encountered new source -> compiling RTProcessPosix.m3 new source -> compiling Usignal.i3 new source -> compiling RTThread.i3 new source -> compiling RTThreadStk.m3 new source -> compiling Uprocess.i3 new source -> compiling RTSignal.m3 new source -> compiling RTThread.m3 "../src/runtime/FreeBSD4/RTThread.m3", line 12: imported interface contains errors (Unix) "../src/runtime/FreeBSD4/RTThread.m3", line 12: imported interface contains errors (Umman ) 2 errors encountered new source -> compiling RTExFrame.i3 new source -> compiling RTExFrame.m3 new source -> compiling MutexRep.i3 new source -> compiling ThreadEvent.i3 new source -> compiling SchedulerPosix.i3 new source -> compiling TimePosix.i3 new source -> compiling Cerrno.i3 new source -> compiling ThreadPosix.m3 "../src/thread/POSIX/ThreadPosix.m3", line 19: imported interface contains errors (Unix) 1 error encountered new source -> compiling Udir.i3 new source -> compiling Uerror.i3 new source -> compiling Ugrp.i3 new source -> compiling Uin.i3 new source -> compiling Usocket.i3 new source -> compiling Uin.m3 new source -> compiling Uipc.i3 new source -> compiling Umsg.i3 new source -> compiling Umsg.m3 new source -> compiling Unetdb.i3 new source -> compiling Unetdb.m3 new source -> compiling Upwd.i3 new source -> compiling Usem.i3 new source -> compiling Ushm.i3 new source -> compiling Usignal.m3 new source -> compiling Ustat.i3 new source -> compiling Usyslog.i3 new source -> compiling Utypes.m3 new source -> compiling Uugid.i3 new source -> compiling Uutmp.i3 new source -> compiling Uutsname.i3 new source -> compiling Text8CString.i3 new source -> compiling Text8.i3 new source -> compiling M3toC.m3 new source -> compiling Cstdarg.i3 new source -> compiling Cstdarg.m3 new source -> compiling Csignal.i3 new source -> compiling Cstdio.i3 new source -> compiling Cstdio.m3 new source -> compiling Real.i3 new source -> compiling RealFloat.i3 new source -> compiling LongReal.i3 new source -> compiling LongFloat.i3 new source -> compiling Extended.i3 new source -> compiling ExtendedFloat.i3 new source -> compiling IEEESpecial.i3 new source -> compiling LongRealRep.i3 new source -> compiling RealRep.i3 new source -> compiling IEEESpecial.m3 new source -> compiling Real.m3 new source -> compiling LongReal.m3 new source -> compiling Extended.m3 new source -> compiling DragonInt.i3 new source -> compiling DragonInt.m3 new source -> compiling DragonT.i3 new source -> compiling DragonT.m3 new source -> compiling FPU.i3 new source -> compiling RealFloat.m3 new source -> compiling LongFloat.m3 new source -> compiling ExtendedFloat.m3 new source -> compiling FPU.m3 new source -> compiling FloatMode.m3 new source -> compiling Tick.i3 new source -> compiling Date.i3 new source -> compiling FmtTime.i3 new source -> compiling FmtTime.m3 new source -> compiling TickPortable.m3 new source -> compiling DateBsd.m3 new source -> compiling TimePosix.m3 new source -> compiling CConvert.i3 new source -> compiling CConvert.m3 new source -> compiling Convert.m3 new source -> compiling String8.i3 new source -> compiling String8.m3 new source -> compiling String16.i3 new source -> compiling String16.m3 new source -> compiling Text16.i3 new source -> compiling Text.m3 new source -> compiling TextClass.m3 new source -> compiling TextLiteral.m3 new source -> compiling Text8Short.i3 new source -> compiling Text8.m3 new source -> compiling Text8Short.m3 new source -> compiling Text8CString.m3 new source -> compiling Text16Short.i3 new source -> compiling Text16.m3 new source -> compiling Text16Short.m3 new source -> compiling TextSub.i3 new source -> compiling TextCat.i3 new source -> compiling TextSub.m3 new source -> compiling TextCat.m3 new source -> compiling TextConv.i3 new source -> compiling TextConv.m3 new source -> compiling Poly.i3 new source -> compiling Fingerprint.m3 new source -> compiling Poly.m3 new source -> compiling PolyBasis.i3 new source -> compiling PolyBasis.m3 new source -> compiling Main.i3 new source -> compiling WeakRef.m3 new source -> compiling Word.m3 new source -> compiling Long.m3 new source -> compiling hand.c new source -> compiling dtoa.c new source -> compiling RTThreadC.c new source -> compiling _fpsetjmp.s new source -> compiling RTStackC.c new source -> compiling CerrnoC.c new source -> compiling CstdioC.c new exporters -> recompiling RTHooks.i3 new exporters -> recompiling RTAllocator.i3 new exporters -> recompiling RTCollector.i3 new exporters -> recompiling RTException.i3 new exporters -> recompiling RTModule.i3 new exporters -> recompiling RTProcess.i3 new exporters -> recompiling RTProcedureSRC.i3 new exporters -> recompiling RTTypeSRC.i3 new exporters -> recompiling RTOS.i3 new exporters -> recompiling RTPerfTool.i3 new exporters -> recompiling RTThread.i3 new exporters -> recompiling Time.i3 new exporters -> recompiling Tick.i3 new exporters -> recompiling Date.i3 new exporters -> recompiling Text.i3 compilation failed => not building library "libm3core.a" Fatal Error: package build failed *** execution of failed *** new.elego.de [/tmp/test-cm3-20071015-004410/build/cm3/scripts] kschleiser % I could solve Umman.i3 missing off_t by importing it. Thanks in advance, Kaspar From hosking at cs.purdue.edu Mon Oct 15 15:43:35 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Mon, 15 Oct 2007 09:43:35 -0400 Subject: [M3devel] build problems on freebsd 6 In-Reply-To: <4713308C.7020402@elego.de> References: <4713308C.7020402@elego.de> Message-ID: I just checked in the fix -- missing declaration of MyHeapState in ThreadF.i3. On Oct 15, 2007, at 5:19 AM, Kaspar Schleiser wrote: > Hey all, > > I'm having problems bootstrapping the cm3 cvs version. > > The cm3 5.4.0 minimal release is being used on a FreeBSD > 6.2-RELEASE-p3-machine for the first step. > > "./do-pkg.sh buildship m3cc m3middle m3linker m3front m3quake cm3" > builds the compiler just fine, but the new compiler fails to > compile the > m3core libs: > > CM3C = > /tmp/test-cm3-20071015-004410/build/cm3/scripts/pkgmap.sh -c > "/tmp/test-cm3-20071015-0044 > 10/build/cm3bin/pkg/cm3/FreeBSD4/cm3 -build -override > -DROOT='/tmp/test-cm3-20071015-0044 > 10/build/cm3' " m3core libm3 > === package /tmp/test-cm3-20071015-004410/build/cm3/m3-libs/m3core === > +++ /tmp/test-cm3-20071015-004410/build/cm3bin/pkg/cm3/FreeBSD4/cm3 > -build -override -DR > OOT='/tmp/test-cm3-20071015-004410/build/cm3' +++ > --- building in FreeBSD4 --- > > new source -> compiling RTHooks.i3 > new source -> compiling RT0.i3 > new source -> compiling RuntimeError.i3 > new source -> compiling WordRep.i3 > new source -> compiling Word.i3 > new source -> compiling RTException.i3 > new source -> compiling RTHooks.m3 > new source -> compiling RT0.m3 > new source -> compiling Compiler.i3 > new source -> compiling RuntimeError.m3 > new source -> compiling Compiler.m3 > new source -> compiling RTAllocator.i3 > new source -> compiling RTType.i3 > new source -> compiling Csetjmp.i3 > new source -> compiling LongRep.i3 > new source -> compiling Long.i3 > new source -> compiling BasicCtypes.i3 > new source -> compiling Ctypes.i3 > new source -> compiling RTMachine.i3 > new source -> compiling RTHeapRep.i3 > new source -> compiling Thread.i3 > new source -> compiling FloatMode.i3 > new source -> compiling ThreadF.i3 > new source -> compiling RTOS.i3 > new source -> compiling RTMisc.i3 > new source -> compiling RTHeap.i3 > new source -> compiling Cstdlib.i3 > new source -> compiling Cstddef.i3 > new source -> compiling RTAllocCnts.i3 > new source -> compiling RTAllocator.m3 > "../src/runtime/common/RTAllocator.m3", line 190: warning: variable > has > type NULL (state) > "../src/runtime/common/RTAllocator.m3", line 190: unknown > qualification > '.' (MyHeapState) > "../src/runtime/common/RTAllocator.m3", line 215: warning: variable > has > type NULL (state) > "../src/runtime/common/RTAllocator.m3", line 215: unknown > qualification > '.' (MyHeapState) > "../src/runtime/common/RTAllocator.m3", line 300: warning: variable > has > type NULL (state) > "../src/runtime/common/RTAllocator.m3", line 300: unknown > qualification > '.' (MyHeapState) > 3 errors and 3 warnings encountered > new source -> compiling RTAllocStats.i3 > new source -> compiling Convert.i3 > new source -> compiling TextClass.i3 > new source -> compiling Text.i3 > new source -> compiling RTProcedureSRC.i3 > new source -> compiling Fingerprint.i3 > new source -> compiling RTProcedure.i3 > new source -> compiling RTStack.i3 > new source -> compiling RTAllocStats.m3 > new source -> compiling TextLiteral.i3 > new source -> compiling RTHeap.m3 > new source -> compiling RTHeapInfo.i3 > new source -> compiling Cstring.i3 > new source -> compiling RTPerfTool.i3 > new source -> compiling RTParams.i3 > new source -> compiling RTHeapInfo.m3 > new source -> compiling RTHeapMap.i3 > new source -> compiling RTIO.i3 > new source -> compiling RTTypeMap.i3 > new source -> compiling RTMapOp.i3 > new source -> compiling RTModule.i3 > new source -> compiling RTHeapMap.m3 > new source -> compiling RTHeapRep.m3 > new source -> compiling RTHeapStats.i3 > new source -> compiling RTTypeSRC.i3 > new source -> compiling RTCollector.i3 > new source -> compiling RTHeapStats.m3 > new source -> compiling Time.i3 > new source -> compiling Scheduler.i3 > new source -> compiling RTLinker.i3 > new source -> compiling RTProcess.i3 > new source -> compiling RTHeapEvent.i3 > new source -> compiling RTWeakRef.i3 > new source -> compiling RTCollectorSRC.i3 > new source -> compiling RTCollector.m3 > "../src/runtime/common/RTCollector.m3", line 594: unknown > qualification > '.' (MyHeapState) > "../src/runtime/common/RTCollector.m3", line 600: unknown > qualification > '.' (MyHeapState) > "../src/runtime/common/RTCollector.m3", line 1403: unknown > qualification > '.' (MyHeapState > ) > "../src/runtime/common/RTCollector.m3", line 1407: unknown > qualification > '.' (MyHeapState > ) > "../src/runtime/common/RTCollector.m3", line 1440: unknown > qualification > '.' (MyHeapState > ) > "../src/runtime/common/RTCollector.m3", line 1506: unknown > qualification > '.' (MyHeapState > ) > 6 errors encountered > new source -> compiling RTIO.m3 > new source -> compiling RTLinkerX.i3 > new source -> compiling RTSignal.i3 > new source -> compiling RTDebug.i3 > new source -> compiling RTLinker.m3 > new source -> compiling RTDebug.m3 > new source -> compiling RTError.i3 > new source -> compiling RTError.m3 > new source -> compiling M3toC.i3 > new source -> compiling RTException.m3 > new source -> compiling RTMapOp.m3 > new source -> compiling RTMisc.m3 > new source -> compiling RTPacking.i3 > new source -> compiling RTPacking.m3 > new source -> compiling RTArgs.i3 > new source -> compiling RTParams.m3 > new source -> compiling RTProcedure.m3 > new source -> compiling RTProcess.m3 > new source -> compiling RTTipe.i3 > new source -> compiling RTTipe.m3 > new source -> compiling RTType.m3 > new source -> compiling RTTypeFP.i3 > new source -> compiling RTTypeFP.m3 > new source -> compiling RTTypeMap.m3 > new source -> compiling RTutils.i3 > new source -> compiling RTutils.m3 > new source -> compiling RTHeapDebug.i3 > new source -> compiling WeakRef.i3 > new source -> compiling RTHeapDebug.m3 > new source -> compiling RTArgs.m3 > new source -> compiling Utypes.i3 > new source -> compiling Umman.i3 > "../src/unix/freebsd-4/Umman.i3", line 41: undefined (off_t) > 1 error encountered > new source -> compiling Uuio.i3 > new source -> compiling Unix.i3 > "../src/unix/freebsd-4/Unix.i3", line 145: VAL: second argument > must be > an ordinal type > "../src/unix/freebsd-4/Unix.i3", line 145: VAL: value out of range > "../src/unix/freebsd-4/Unix.i3", line 145: default is not a constant > (l_start) > "../src/unix/freebsd-4/Unix.i3", line 146: VAL: second argument > must be > an ordinal type > "../src/unix/freebsd-4/Unix.i3", line 146: VAL: value out of range > "../src/unix/freebsd-4/Unix.i3", line 146: default is not a > constant (l_len) > 6 errors encountered > new source -> compiling RTOS.m3 > "../src/runtime/POSIX/RTOS.m3", line 9: imported interface contains > errors (Unix) > "../src/runtime/POSIX/RTOS.m3", line 9: imported interface contains > errors (Umman) > 2 errors encountered > new source -> compiling Utime.i3 > new source -> compiling Uresource.i3 > new source -> compiling Uexec.i3 > new source -> compiling RTPerfTool.m3 > "../src/runtime/POSIX/RTPerfTool.m3", line 10: imported interface > contains errors (Unix) > 1 error encountered > new source -> compiling RTProcessPosix.m3 > new source -> compiling Usignal.i3 > new source -> compiling RTThread.i3 > new source -> compiling RTThreadStk.m3 > new source -> compiling Uprocess.i3 > new source -> compiling RTSignal.m3 > new source -> compiling RTThread.m3 > "../src/runtime/FreeBSD4/RTThread.m3", line 12: imported interface > contains errors (Unix) > "../src/runtime/FreeBSD4/RTThread.m3", line 12: imported interface > contains errors (Umman > ) > 2 errors encountered > new source -> compiling RTExFrame.i3 > new source -> compiling RTExFrame.m3 > new source -> compiling MutexRep.i3 > new source -> compiling ThreadEvent.i3 > new source -> compiling SchedulerPosix.i3 > new source -> compiling TimePosix.i3 > new source -> compiling Cerrno.i3 > new source -> compiling ThreadPosix.m3 > "../src/thread/POSIX/ThreadPosix.m3", line 19: imported interface > contains errors (Unix) > 1 error encountered > new source -> compiling Udir.i3 > new source -> compiling Uerror.i3 > new source -> compiling Ugrp.i3 > new source -> compiling Uin.i3 > new source -> compiling Usocket.i3 > new source -> compiling Uin.m3 > new source -> compiling Uipc.i3 > new source -> compiling Umsg.i3 > new source -> compiling Umsg.m3 > new source -> compiling Unetdb.i3 > new source -> compiling Unetdb.m3 > new source -> compiling Upwd.i3 > new source -> compiling Usem.i3 > new source -> compiling Ushm.i3 > new source -> compiling Usignal.m3 > new source -> compiling Ustat.i3 > new source -> compiling Usyslog.i3 > new source -> compiling Utypes.m3 > new source -> compiling Uugid.i3 > new source -> compiling Uutmp.i3 > new source -> compiling Uutsname.i3 > new source -> compiling Text8CString.i3 > new source -> compiling Text8.i3 > new source -> compiling M3toC.m3 > new source -> compiling Cstdarg.i3 > new source -> compiling Cstdarg.m3 > new source -> compiling Csignal.i3 > new source -> compiling Cstdio.i3 > new source -> compiling Cstdio.m3 > new source -> compiling Real.i3 > new source -> compiling RealFloat.i3 > new source -> compiling LongReal.i3 > new source -> compiling LongFloat.i3 > new source -> compiling Extended.i3 > new source -> compiling ExtendedFloat.i3 > new source -> compiling IEEESpecial.i3 > new source -> compiling LongRealRep.i3 > new source -> compiling RealRep.i3 > new source -> compiling IEEESpecial.m3 > new source -> compiling Real.m3 > new source -> compiling LongReal.m3 > new source -> compiling Extended.m3 > new source -> compiling DragonInt.i3 > new source -> compiling DragonInt.m3 > new source -> compiling DragonT.i3 > new source -> compiling DragonT.m3 > new source -> compiling FPU.i3 > new source -> compiling RealFloat.m3 > new source -> compiling LongFloat.m3 > new source -> compiling ExtendedFloat.m3 > new source -> compiling FPU.m3 > new source -> compiling FloatMode.m3 > new source -> compiling Tick.i3 > new source -> compiling Date.i3 > new source -> compiling FmtTime.i3 > new source -> compiling FmtTime.m3 > new source -> compiling TickPortable.m3 > new source -> compiling DateBsd.m3 > new source -> compiling TimePosix.m3 > new source -> compiling CConvert.i3 > new source -> compiling CConvert.m3 > new source -> compiling Convert.m3 > new source -> compiling String8.i3 > new source -> compiling String8.m3 > new source -> compiling String16.i3 > new source -> compiling String16.m3 > new source -> compiling Text16.i3 > new source -> compiling Text.m3 > new source -> compiling TextClass.m3 > new source -> compiling TextLiteral.m3 > new source -> compiling Text8Short.i3 > new source -> compiling Text8.m3 > new source -> compiling Text8Short.m3 > new source -> compiling Text8CString.m3 > new source -> compiling Text16Short.i3 > new source -> compiling Text16.m3 > new source -> compiling Text16Short.m3 > new source -> compiling TextSub.i3 > new source -> compiling TextCat.i3 > new source -> compiling TextSub.m3 > new source -> compiling TextCat.m3 > new source -> compiling TextConv.i3 > new source -> compiling TextConv.m3 > new source -> compiling Poly.i3 > new source -> compiling Fingerprint.m3 > new source -> compiling Poly.m3 > new source -> compiling PolyBasis.i3 > new source -> compiling PolyBasis.m3 > new source -> compiling Main.i3 > new source -> compiling WeakRef.m3 > new source -> compiling Word.m3 > new source -> compiling Long.m3 > new source -> compiling hand.c > new source -> compiling dtoa.c > new source -> compiling RTThreadC.c > new source -> compiling _fpsetjmp.s > new source -> compiling RTStackC.c > new source -> compiling CerrnoC.c > new source -> compiling CstdioC.c > new exporters -> recompiling RTHooks.i3 > new exporters -> recompiling RTAllocator.i3 > new exporters -> recompiling RTCollector.i3 > new exporters -> recompiling RTException.i3 > new exporters -> recompiling RTModule.i3 > new exporters -> recompiling RTProcess.i3 > new exporters -> recompiling RTProcedureSRC.i3 > new exporters -> recompiling RTTypeSRC.i3 > new exporters -> recompiling RTOS.i3 > new exporters -> recompiling RTPerfTool.i3 > new exporters -> recompiling RTThread.i3 > new exporters -> recompiling Time.i3 > new exporters -> recompiling Tick.i3 > new exporters -> recompiling Date.i3 > new exporters -> recompiling Text.i3 > compilation failed => not building library "libm3core.a" > Fatal Error: package build failed > *** execution of failed *** > new.elego.de [/tmp/test-cm3-20071015-004410/build/cm3/scripts] > kschleiser > % > > I could solve Umman.i3 missing off_t by importing it. > > Thanks in advance, > Kaspar From kschleiser at elego.de Mon Oct 15 19:15:30 2007 From: kschleiser at elego.de (Kaspar Schleiser) Date: Mon, 15 Oct 2007 19:15:30 +0200 Subject: [M3devel] build problems on freebsd 6 In-Reply-To: References: <4713308C.7020402@elego.de> Message-ID: <4713A032.1030702@elego.de> Hey Tony & all, that was fast, thanks! The errors about MyHeapState are gone, but these are still there: 1.: new source -> compiling Umman.i3 "../src/unix/freebsd-4/Umman.i3", line 41: undefined (off_t) I think off_t needs to be imported at the top of the file. 2.: new source -> compiling Unix.i3 "../src/unix/freebsd-4/Unix.i3", line 145: VAL: second argument must be an ordinal type "../src/unix/freebsd-4/Unix.i3", line 145: VAL: value out of range "../src/unix/freebsd-4/Unix.i3", line 145: default is not a constant (l_start) "../src/unix/freebsd-4/Unix.i3", line 146: VAL: second argument must be an ordinal type "../src/unix/freebsd-4/Unix.i3", line 146: VAL: value out of range "../src/unix/freebsd-4/Unix.i3", line 146: default is not a constant (l_len) Looks like something simple, too... Cheers, Kaspar Tony Hosking wrote: > I just checked in the fix -- missing declaration of MyHeapState in > ThreadF.i3. > > On Oct 15, 2007, at 5:19 AM, Kaspar Schleiser wrote: > >> Hey all, >> >> I'm having problems bootstrapping the cm3 cvs version. >> >> The cm3 5.4.0 minimal release is being used on a FreeBSD >> 6.2-RELEASE-p3-machine for the first step. >> >> "./do-pkg.sh buildship m3cc m3middle m3linker m3front m3quake cm3" >> builds the compiler just fine, but the new compiler fails to compile the >> m3core libs: >> >> CM3C = >> /tmp/test-cm3-20071015-004410/build/cm3/scripts/pkgmap.sh -c >> "/tmp/test-cm3-20071015-0044 >> 10/build/cm3bin/pkg/cm3/FreeBSD4/cm3 -build -override >> -DROOT='/tmp/test-cm3-20071015-0044 >> 10/build/cm3' " m3core libm3 >> === package /tmp/test-cm3-20071015-004410/build/cm3/m3-libs/m3core === >> +++ /tmp/test-cm3-20071015-004410/build/cm3bin/pkg/cm3/FreeBSD4/cm3 >> -build -override -DR >> OOT='/tmp/test-cm3-20071015-004410/build/cm3' +++ >> --- building in FreeBSD4 --- >> >> new source -> compiling RTHooks.i3 >> new source -> compiling RT0.i3 >> new source -> compiling RuntimeError.i3 >> new source -> compiling WordRep.i3 >> new source -> compiling Word.i3 >> new source -> compiling RTException.i3 >> new source -> compiling RTHooks.m3 >> new source -> compiling RT0.m3 >> new source -> compiling Compiler.i3 >> new source -> compiling RuntimeError.m3 >> new source -> compiling Compiler.m3 >> new source -> compiling RTAllocator.i3 >> new source -> compiling RTType.i3 >> new source -> compiling Csetjmp.i3 >> new source -> compiling LongRep.i3 >> new source -> compiling Long.i3 >> new source -> compiling BasicCtypes.i3 >> new source -> compiling Ctypes.i3 >> new source -> compiling RTMachine.i3 >> new source -> compiling RTHeapRep.i3 >> new source -> compiling Thread.i3 >> new source -> compiling FloatMode.i3 >> new source -> compiling ThreadF.i3 >> new source -> compiling RTOS.i3 >> new source -> compiling RTMisc.i3 >> new source -> compiling RTHeap.i3 >> new source -> compiling Cstdlib.i3 >> new source -> compiling Cstddef.i3 >> new source -> compiling RTAllocCnts.i3 >> new source -> compiling RTAllocator.m3 >> "../src/runtime/common/RTAllocator.m3", line 190: warning: variable has >> type NULL (state) >> "../src/runtime/common/RTAllocator.m3", line 190: unknown qualification >> '.' (MyHeapState) >> "../src/runtime/common/RTAllocator.m3", line 215: warning: variable has >> type NULL (state) >> "../src/runtime/common/RTAllocator.m3", line 215: unknown qualification >> '.' (MyHeapState) >> "../src/runtime/common/RTAllocator.m3", line 300: warning: variable has >> type NULL (state) >> "../src/runtime/common/RTAllocator.m3", line 300: unknown qualification >> '.' (MyHeapState) >> 3 errors and 3 warnings encountered >> new source -> compiling RTAllocStats.i3 >> new source -> compiling Convert.i3 >> new source -> compiling TextClass.i3 >> new source -> compiling Text.i3 >> new source -> compiling RTProcedureSRC.i3 >> new source -> compiling Fingerprint.i3 >> new source -> compiling RTProcedure.i3 >> new source -> compiling RTStack.i3 >> new source -> compiling RTAllocStats.m3 >> new source -> compiling TextLiteral.i3 >> new source -> compiling RTHeap.m3 >> new source -> compiling RTHeapInfo.i3 >> new source -> compiling Cstring.i3 >> new source -> compiling RTPerfTool.i3 >> new source -> compiling RTParams.i3 >> new source -> compiling RTHeapInfo.m3 >> new source -> compiling RTHeapMap.i3 >> new source -> compiling RTIO.i3 >> new source -> compiling RTTypeMap.i3 >> new source -> compiling RTMapOp.i3 >> new source -> compiling RTModule.i3 >> new source -> compiling RTHeapMap.m3 >> new source -> compiling RTHeapRep.m3 >> new source -> compiling RTHeapStats.i3 >> new source -> compiling RTTypeSRC.i3 >> new source -> compiling RTCollector.i3 >> new source -> compiling RTHeapStats.m3 >> new source -> compiling Time.i3 >> new source -> compiling Scheduler.i3 >> new source -> compiling RTLinker.i3 >> new source -> compiling RTProcess.i3 >> new source -> compiling RTHeapEvent.i3 >> new source -> compiling RTWeakRef.i3 >> new source -> compiling RTCollectorSRC.i3 >> new source -> compiling RTCollector.m3 >> "../src/runtime/common/RTCollector.m3", line 594: unknown qualification >> '.' (MyHeapState) >> "../src/runtime/common/RTCollector.m3", line 600: unknown qualification >> '.' (MyHeapState) >> "../src/runtime/common/RTCollector.m3", line 1403: unknown qualification >> '.' (MyHeapState >> ) >> "../src/runtime/common/RTCollector.m3", line 1407: unknown qualification >> '.' (MyHeapState >> ) >> "../src/runtime/common/RTCollector.m3", line 1440: unknown qualification >> '.' (MyHeapState >> ) >> "../src/runtime/common/RTCollector.m3", line 1506: unknown qualification >> '.' (MyHeapState >> ) >> 6 errors encountered >> new source -> compiling RTIO.m3 >> new source -> compiling RTLinkerX.i3 >> new source -> compiling RTSignal.i3 >> new source -> compiling RTDebug.i3 >> new source -> compiling RTLinker.m3 >> new source -> compiling RTDebug.m3 >> new source -> compiling RTError.i3 >> new source -> compiling RTError.m3 >> new source -> compiling M3toC.i3 >> new source -> compiling RTException.m3 >> new source -> compiling RTMapOp.m3 >> new source -> compiling RTMisc.m3 >> new source -> compiling RTPacking.i3 >> new source -> compiling RTPacking.m3 >> new source -> compiling RTArgs.i3 >> new source -> compiling RTParams.m3 >> new source -> compiling RTProcedure.m3 >> new source -> compiling RTProcess.m3 >> new source -> compiling RTTipe.i3 >> new source -> compiling RTTipe.m3 >> new source -> compiling RTType.m3 >> new source -> compiling RTTypeFP.i3 >> new source -> compiling RTTypeFP.m3 >> new source -> compiling RTTypeMap.m3 >> new source -> compiling RTutils.i3 >> new source -> compiling RTutils.m3 >> new source -> compiling RTHeapDebug.i3 >> new source -> compiling WeakRef.i3 >> new source -> compiling RTHeapDebug.m3 >> new source -> compiling RTArgs.m3 >> new source -> compiling Utypes.i3 >> new source -> compiling Umman.i3 >> "../src/unix/freebsd-4/Umman.i3", line 41: undefined (off_t) >> 1 error encountered >> new source -> compiling Uuio.i3 >> new source -> compiling Unix.i3 >> "../src/unix/freebsd-4/Unix.i3", line 145: VAL: second argument must be >> an ordinal type >> "../src/unix/freebsd-4/Unix.i3", line 145: VAL: value out of range >> "../src/unix/freebsd-4/Unix.i3", line 145: default is not a constant >> (l_start) >> "../src/unix/freebsd-4/Unix.i3", line 146: VAL: second argument must be >> an ordinal type >> "../src/unix/freebsd-4/Unix.i3", line 146: VAL: value out of range >> "../src/unix/freebsd-4/Unix.i3", line 146: default is not a constant >> (l_len) >> 6 errors encountered >> new source -> compiling RTOS.m3 >> "../src/runtime/POSIX/RTOS.m3", line 9: imported interface contains >> errors (Unix) >> "../src/runtime/POSIX/RTOS.m3", line 9: imported interface contains >> errors (Umman) >> 2 errors encountered >> new source -> compiling Utime.i3 >> new source -> compiling Uresource.i3 >> new source -> compiling Uexec.i3 >> new source -> compiling RTPerfTool.m3 >> "../src/runtime/POSIX/RTPerfTool.m3", line 10: imported interface >> contains errors (Unix) >> 1 error encountered >> new source -> compiling RTProcessPosix.m3 >> new source -> compiling Usignal.i3 >> new source -> compiling RTThread.i3 >> new source -> compiling RTThreadStk.m3 >> new source -> compiling Uprocess.i3 >> new source -> compiling RTSignal.m3 >> new source -> compiling RTThread.m3 >> "../src/runtime/FreeBSD4/RTThread.m3", line 12: imported interface >> contains errors (Unix) >> "../src/runtime/FreeBSD4/RTThread.m3", line 12: imported interface >> contains errors (Umman >> ) >> 2 errors encountered >> new source -> compiling RTExFrame.i3 >> new source -> compiling RTExFrame.m3 >> new source -> compiling MutexRep.i3 >> new source -> compiling ThreadEvent.i3 >> new source -> compiling SchedulerPosix.i3 >> new source -> compiling TimePosix.i3 >> new source -> compiling Cerrno.i3 >> new source -> compiling ThreadPosix.m3 >> "../src/thread/POSIX/ThreadPosix.m3", line 19: imported interface >> contains errors (Unix) >> 1 error encountered >> new source -> compiling Udir.i3 >> new source -> compiling Uerror.i3 >> new source -> compiling Ugrp.i3 >> new source -> compiling Uin.i3 >> new source -> compiling Usocket.i3 >> new source -> compiling Uin.m3 >> new source -> compiling Uipc.i3 >> new source -> compiling Umsg.i3 >> new source -> compiling Umsg.m3 >> new source -> compiling Unetdb.i3 >> new source -> compiling Unetdb.m3 >> new source -> compiling Upwd.i3 >> new source -> compiling Usem.i3 >> new source -> compiling Ushm.i3 >> new source -> compiling Usignal.m3 >> new source -> compiling Ustat.i3 >> new source -> compiling Usyslog.i3 >> new source -> compiling Utypes.m3 >> new source -> compiling Uugid.i3 >> new source -> compiling Uutmp.i3 >> new source -> compiling Uutsname.i3 >> new source -> compiling Text8CString.i3 >> new source -> compiling Text8.i3 >> new source -> compiling M3toC.m3 >> new source -> compiling Cstdarg.i3 >> new source -> compiling Cstdarg.m3 >> new source -> compiling Csignal.i3 >> new source -> compiling Cstdio.i3 >> new source -> compiling Cstdio.m3 >> new source -> compiling Real.i3 >> new source -> compiling RealFloat.i3 >> new source -> compiling LongReal.i3 >> new source -> compiling LongFloat.i3 >> new source -> compiling Extended.i3 >> new source -> compiling ExtendedFloat.i3 >> new source -> compiling IEEESpecial.i3 >> new source -> compiling LongRealRep.i3 >> new source -> compiling RealRep.i3 >> new source -> compiling IEEESpecial.m3 >> new source -> compiling Real.m3 >> new source -> compiling LongReal.m3 >> new source -> compiling Extended.m3 >> new source -> compiling DragonInt.i3 >> new source -> compiling DragonInt.m3 >> new source -> compiling DragonT.i3 >> new source -> compiling DragonT.m3 >> new source -> compiling FPU.i3 >> new source -> compiling RealFloat.m3 >> new source -> compiling LongFloat.m3 >> new source -> compiling ExtendedFloat.m3 >> new source -> compiling FPU.m3 >> new source -> compiling FloatMode.m3 >> new source -> compiling Tick.i3 >> new source -> compiling Date.i3 >> new source -> compiling FmtTime.i3 >> new source -> compiling FmtTime.m3 >> new source -> compiling TickPortable.m3 >> new source -> compiling DateBsd.m3 >> new source -> compiling TimePosix.m3 >> new source -> compiling CConvert.i3 >> new source -> compiling CConvert.m3 >> new source -> compiling Convert.m3 >> new source -> compiling String8.i3 >> new source -> compiling String8.m3 >> new source -> compiling String16.i3 >> new source -> compiling String16.m3 >> new source -> compiling Text16.i3 >> new source -> compiling Text.m3 >> new source -> compiling TextClass.m3 >> new source -> compiling TextLiteral.m3 >> new source -> compiling Text8Short.i3 >> new source -> compiling Text8.m3 >> new source -> compiling Text8Short.m3 >> new source -> compiling Text8CString.m3 >> new source -> compiling Text16Short.i3 >> new source -> compiling Text16.m3 >> new source -> compiling Text16Short.m3 >> new source -> compiling TextSub.i3 >> new source -> compiling TextCat.i3 >> new source -> compiling TextSub.m3 >> new source -> compiling TextCat.m3 >> new source -> compiling TextConv.i3 >> new source -> compiling TextConv.m3 >> new source -> compiling Poly.i3 >> new source -> compiling Fingerprint.m3 >> new source -> compiling Poly.m3 >> new source -> compiling PolyBasis.i3 >> new source -> compiling PolyBasis.m3 >> new source -> compiling Main.i3 >> new source -> compiling WeakRef.m3 >> new source -> compiling Word.m3 >> new source -> compiling Long.m3 >> new source -> compiling hand.c >> new source -> compiling dtoa.c >> new source -> compiling RTThreadC.c >> new source -> compiling _fpsetjmp.s >> new source -> compiling RTStackC.c >> new source -> compiling CerrnoC.c >> new source -> compiling CstdioC.c >> new exporters -> recompiling RTHooks.i3 >> new exporters -> recompiling RTAllocator.i3 >> new exporters -> recompiling RTCollector.i3 >> new exporters -> recompiling RTException.i3 >> new exporters -> recompiling RTModule.i3 >> new exporters -> recompiling RTProcess.i3 >> new exporters -> recompiling RTProcedureSRC.i3 >> new exporters -> recompiling RTTypeSRC.i3 >> new exporters -> recompiling RTOS.i3 >> new exporters -> recompiling RTPerfTool.i3 >> new exporters -> recompiling RTThread.i3 >> new exporters -> recompiling Time.i3 >> new exporters -> recompiling Tick.i3 >> new exporters -> recompiling Date.i3 >> new exporters -> recompiling Text.i3 >> compilation failed => not building library "libm3core.a" >> Fatal Error: package build failed >> *** execution of failed *** >> new.elego.de [/tmp/test-cm3-20071015-004410/build/cm3/scripts] kschleiser >> % >> >> I could solve Umman.i3 missing off_t by importing it. >> >> Thanks in advance, >> Kaspar > From hosking at cs.purdue.edu Mon Oct 15 19:51:41 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Mon, 15 Oct 2007 13:51:41 -0400 Subject: [M3devel] build problems on freebsd 6 In-Reply-To: <4713A032.1030702@elego.de> References: <4713308C.7020402@elego.de> <4713A032.1030702@elego.de> Message-ID: <35AB3DFB-5E8B-48E6-891F-EEF982E67308@cs.purdue.edu> Should be fixed now. On Oct 15, 2007, at 1:15 PM, Kaspar Schleiser wrote: > Hey Tony & all, > > that was fast, thanks! The errors about MyHeapState are gone, but > these > are still there: > > 1.: > new source -> compiling Umman.i3 > "../src/unix/freebsd-4/Umman.i3", line 41: undefined (off_t) > > I think off_t needs to be imported at the top of the file. > > 2.: > new source -> compiling Unix.i3 > "../src/unix/freebsd-4/Unix.i3", line 145: VAL: second argument > must be > an ordinal type > "../src/unix/freebsd-4/Unix.i3", line 145: VAL: value out of range > "../src/unix/freebsd-4/Unix.i3", line 145: default is not a constant > (l_start) > "../src/unix/freebsd-4/Unix.i3", line 146: VAL: second argument > must be > an ordinal type > "../src/unix/freebsd-4/Unix.i3", line 146: VAL: value out of range > "../src/unix/freebsd-4/Unix.i3", line 146: default is not a > constant (l_len) > > Looks like something simple, too... > > Cheers, > Kaspar > > Tony Hosking wrote: >> I just checked in the fix -- missing declaration of MyHeapState in >> ThreadF.i3. >> >> On Oct 15, 2007, at 5:19 AM, Kaspar Schleiser wrote: >> >>> Hey all, >>> >>> I'm having problems bootstrapping the cm3 cvs version. >>> >>> The cm3 5.4.0 minimal release is being used on a FreeBSD >>> 6.2-RELEASE-p3-machine for the first step. >>> >>> "./do-pkg.sh buildship m3cc m3middle m3linker m3front m3quake cm3" >>> builds the compiler just fine, but the new compiler fails to >>> compile the >>> m3core libs: >>> >>> CM3C = >>> /tmp/test-cm3-20071015-004410/build/cm3/scripts/pkgmap.sh -c >>> "/tmp/test-cm3-20071015-0044 >>> 10/build/cm3bin/pkg/cm3/FreeBSD4/cm3 -build -override >>> -DROOT='/tmp/test-cm3-20071015-0044 >>> 10/build/cm3' " m3core libm3 >>> === package /tmp/test-cm3-20071015-004410/build/cm3/m3-libs/ >>> m3core === >>> +++ /tmp/test-cm3-20071015-004410/build/cm3bin/pkg/cm3/FreeBSD4/cm3 >>> -build -override -DR >>> OOT='/tmp/test-cm3-20071015-004410/build/cm3' +++ >>> --- building in FreeBSD4 --- >>> >>> new source -> compiling RTHooks.i3 >>> new source -> compiling RT0.i3 >>> new source -> compiling RuntimeError.i3 >>> new source -> compiling WordRep.i3 >>> new source -> compiling Word.i3 >>> new source -> compiling RTException.i3 >>> new source -> compiling RTHooks.m3 >>> new source -> compiling RT0.m3 >>> new source -> compiling Compiler.i3 >>> new source -> compiling RuntimeError.m3 >>> new source -> compiling Compiler.m3 >>> new source -> compiling RTAllocator.i3 >>> new source -> compiling RTType.i3 >>> new source -> compiling Csetjmp.i3 >>> new source -> compiling LongRep.i3 >>> new source -> compiling Long.i3 >>> new source -> compiling BasicCtypes.i3 >>> new source -> compiling Ctypes.i3 >>> new source -> compiling RTMachine.i3 >>> new source -> compiling RTHeapRep.i3 >>> new source -> compiling Thread.i3 >>> new source -> compiling FloatMode.i3 >>> new source -> compiling ThreadF.i3 >>> new source -> compiling RTOS.i3 >>> new source -> compiling RTMisc.i3 >>> new source -> compiling RTHeap.i3 >>> new source -> compiling Cstdlib.i3 >>> new source -> compiling Cstddef.i3 >>> new source -> compiling RTAllocCnts.i3 >>> new source -> compiling RTAllocator.m3 >>> "../src/runtime/common/RTAllocator.m3", line 190: warning: >>> variable has >>> type NULL (state) >>> "../src/runtime/common/RTAllocator.m3", line 190: unknown >>> qualification >>> '.' (MyHeapState) >>> "../src/runtime/common/RTAllocator.m3", line 215: warning: >>> variable has >>> type NULL (state) >>> "../src/runtime/common/RTAllocator.m3", line 215: unknown >>> qualification >>> '.' (MyHeapState) >>> "../src/runtime/common/RTAllocator.m3", line 300: warning: >>> variable has >>> type NULL (state) >>> "../src/runtime/common/RTAllocator.m3", line 300: unknown >>> qualification >>> '.' (MyHeapState) >>> 3 errors and 3 warnings encountered >>> new source -> compiling RTAllocStats.i3 >>> new source -> compiling Convert.i3 >>> new source -> compiling TextClass.i3 >>> new source -> compiling Text.i3 >>> new source -> compiling RTProcedureSRC.i3 >>> new source -> compiling Fingerprint.i3 >>> new source -> compiling RTProcedure.i3 >>> new source -> compiling RTStack.i3 >>> new source -> compiling RTAllocStats.m3 >>> new source -> compiling TextLiteral.i3 >>> new source -> compiling RTHeap.m3 >>> new source -> compiling RTHeapInfo.i3 >>> new source -> compiling Cstring.i3 >>> new source -> compiling RTPerfTool.i3 >>> new source -> compiling RTParams.i3 >>> new source -> compiling RTHeapInfo.m3 >>> new source -> compiling RTHeapMap.i3 >>> new source -> compiling RTIO.i3 >>> new source -> compiling RTTypeMap.i3 >>> new source -> compiling RTMapOp.i3 >>> new source -> compiling RTModule.i3 >>> new source -> compiling RTHeapMap.m3 >>> new source -> compiling RTHeapRep.m3 >>> new source -> compiling RTHeapStats.i3 >>> new source -> compiling RTTypeSRC.i3 >>> new source -> compiling RTCollector.i3 >>> new source -> compiling RTHeapStats.m3 >>> new source -> compiling Time.i3 >>> new source -> compiling Scheduler.i3 >>> new source -> compiling RTLinker.i3 >>> new source -> compiling RTProcess.i3 >>> new source -> compiling RTHeapEvent.i3 >>> new source -> compiling RTWeakRef.i3 >>> new source -> compiling RTCollectorSRC.i3 >>> new source -> compiling RTCollector.m3 >>> "../src/runtime/common/RTCollector.m3", line 594: unknown >>> qualification >>> '.' (MyHeapState) >>> "../src/runtime/common/RTCollector.m3", line 600: unknown >>> qualification >>> '.' (MyHeapState) >>> "../src/runtime/common/RTCollector.m3", line 1403: unknown >>> qualification >>> '.' (MyHeapState >>> ) >>> "../src/runtime/common/RTCollector.m3", line 1407: unknown >>> qualification >>> '.' (MyHeapState >>> ) >>> "../src/runtime/common/RTCollector.m3", line 1440: unknown >>> qualification >>> '.' (MyHeapState >>> ) >>> "../src/runtime/common/RTCollector.m3", line 1506: unknown >>> qualification >>> '.' (MyHeapState >>> ) >>> 6 errors encountered >>> new source -> compiling RTIO.m3 >>> new source -> compiling RTLinkerX.i3 >>> new source -> compiling RTSignal.i3 >>> new source -> compiling RTDebug.i3 >>> new source -> compiling RTLinker.m3 >>> new source -> compiling RTDebug.m3 >>> new source -> compiling RTError.i3 >>> new source -> compiling RTError.m3 >>> new source -> compiling M3toC.i3 >>> new source -> compiling RTException.m3 >>> new source -> compiling RTMapOp.m3 >>> new source -> compiling RTMisc.m3 >>> new source -> compiling RTPacking.i3 >>> new source -> compiling RTPacking.m3 >>> new source -> compiling RTArgs.i3 >>> new source -> compiling RTParams.m3 >>> new source -> compiling RTProcedure.m3 >>> new source -> compiling RTProcess.m3 >>> new source -> compiling RTTipe.i3 >>> new source -> compiling RTTipe.m3 >>> new source -> compiling RTType.m3 >>> new source -> compiling RTTypeFP.i3 >>> new source -> compiling RTTypeFP.m3 >>> new source -> compiling RTTypeMap.m3 >>> new source -> compiling RTutils.i3 >>> new source -> compiling RTutils.m3 >>> new source -> compiling RTHeapDebug.i3 >>> new source -> compiling WeakRef.i3 >>> new source -> compiling RTHeapDebug.m3 >>> new source -> compiling RTArgs.m3 >>> new source -> compiling Utypes.i3 >>> new source -> compiling Umman.i3 >>> "../src/unix/freebsd-4/Umman.i3", line 41: undefined (off_t) >>> 1 error encountered >>> new source -> compiling Uuio.i3 >>> new source -> compiling Unix.i3 >>> "../src/unix/freebsd-4/Unix.i3", line 145: VAL: second argument >>> must be >>> an ordinal type >>> "../src/unix/freebsd-4/Unix.i3", line 145: VAL: value out of range >>> "../src/unix/freebsd-4/Unix.i3", line 145: default is not a constant >>> (l_start) >>> "../src/unix/freebsd-4/Unix.i3", line 146: VAL: second argument >>> must be >>> an ordinal type >>> "../src/unix/freebsd-4/Unix.i3", line 146: VAL: value out of range >>> "../src/unix/freebsd-4/Unix.i3", line 146: default is not a constant >>> (l_len) >>> 6 errors encountered >>> new source -> compiling RTOS.m3 >>> "../src/runtime/POSIX/RTOS.m3", line 9: imported interface contains >>> errors (Unix) >>> "../src/runtime/POSIX/RTOS.m3", line 9: imported interface contains >>> errors (Umman) >>> 2 errors encountered >>> new source -> compiling Utime.i3 >>> new source -> compiling Uresource.i3 >>> new source -> compiling Uexec.i3 >>> new source -> compiling RTPerfTool.m3 >>> "../src/runtime/POSIX/RTPerfTool.m3", line 10: imported interface >>> contains errors (Unix) >>> 1 error encountered >>> new source -> compiling RTProcessPosix.m3 >>> new source -> compiling Usignal.i3 >>> new source -> compiling RTThread.i3 >>> new source -> compiling RTThreadStk.m3 >>> new source -> compiling Uprocess.i3 >>> new source -> compiling RTSignal.m3 >>> new source -> compiling RTThread.m3 >>> "../src/runtime/FreeBSD4/RTThread.m3", line 12: imported interface >>> contains errors (Unix) >>> "../src/runtime/FreeBSD4/RTThread.m3", line 12: imported interface >>> contains errors (Umman >>> ) >>> 2 errors encountered >>> new source -> compiling RTExFrame.i3 >>> new source -> compiling RTExFrame.m3 >>> new source -> compiling MutexRep.i3 >>> new source -> compiling ThreadEvent.i3 >>> new source -> compiling SchedulerPosix.i3 >>> new source -> compiling TimePosix.i3 >>> new source -> compiling Cerrno.i3 >>> new source -> compiling ThreadPosix.m3 >>> "../src/thread/POSIX/ThreadPosix.m3", line 19: imported interface >>> contains errors (Unix) >>> 1 error encountered >>> new source -> compiling Udir.i3 >>> new source -> compiling Uerror.i3 >>> new source -> compiling Ugrp.i3 >>> new source -> compiling Uin.i3 >>> new source -> compiling Usocket.i3 >>> new source -> compiling Uin.m3 >>> new source -> compiling Uipc.i3 >>> new source -> compiling Umsg.i3 >>> new source -> compiling Umsg.m3 >>> new source -> compiling Unetdb.i3 >>> new source -> compiling Unetdb.m3 >>> new source -> compiling Upwd.i3 >>> new source -> compiling Usem.i3 >>> new source -> compiling Ushm.i3 >>> new source -> compiling Usignal.m3 >>> new source -> compiling Ustat.i3 >>> new source -> compiling Usyslog.i3 >>> new source -> compiling Utypes.m3 >>> new source -> compiling Uugid.i3 >>> new source -> compiling Uutmp.i3 >>> new source -> compiling Uutsname.i3 >>> new source -> compiling Text8CString.i3 >>> new source -> compiling Text8.i3 >>> new source -> compiling M3toC.m3 >>> new source -> compiling Cstdarg.i3 >>> new source -> compiling Cstdarg.m3 >>> new source -> compiling Csignal.i3 >>> new source -> compiling Cstdio.i3 >>> new source -> compiling Cstdio.m3 >>> new source -> compiling Real.i3 >>> new source -> compiling RealFloat.i3 >>> new source -> compiling LongReal.i3 >>> new source -> compiling LongFloat.i3 >>> new source -> compiling Extended.i3 >>> new source -> compiling ExtendedFloat.i3 >>> new source -> compiling IEEESpecial.i3 >>> new source -> compiling LongRealRep.i3 >>> new source -> compiling RealRep.i3 >>> new source -> compiling IEEESpecial.m3 >>> new source -> compiling Real.m3 >>> new source -> compiling LongReal.m3 >>> new source -> compiling Extended.m3 >>> new source -> compiling DragonInt.i3 >>> new source -> compiling DragonInt.m3 >>> new source -> compiling DragonT.i3 >>> new source -> compiling DragonT.m3 >>> new source -> compiling FPU.i3 >>> new source -> compiling RealFloat.m3 >>> new source -> compiling LongFloat.m3 >>> new source -> compiling ExtendedFloat.m3 >>> new source -> compiling FPU.m3 >>> new source -> compiling FloatMode.m3 >>> new source -> compiling Tick.i3 >>> new source -> compiling Date.i3 >>> new source -> compiling FmtTime.i3 >>> new source -> compiling FmtTime.m3 >>> new source -> compiling TickPortable.m3 >>> new source -> compiling DateBsd.m3 >>> new source -> compiling TimePosix.m3 >>> new source -> compiling CConvert.i3 >>> new source -> compiling CConvert.m3 >>> new source -> compiling Convert.m3 >>> new source -> compiling String8.i3 >>> new source -> compiling String8.m3 >>> new source -> compiling String16.i3 >>> new source -> compiling String16.m3 >>> new source -> compiling Text16.i3 >>> new source -> compiling Text.m3 >>> new source -> compiling TextClass.m3 >>> new source -> compiling TextLiteral.m3 >>> new source -> compiling Text8Short.i3 >>> new source -> compiling Text8.m3 >>> new source -> compiling Text8Short.m3 >>> new source -> compiling Text8CString.m3 >>> new source -> compiling Text16Short.i3 >>> new source -> compiling Text16.m3 >>> new source -> compiling Text16Short.m3 >>> new source -> compiling TextSub.i3 >>> new source -> compiling TextCat.i3 >>> new source -> compiling TextSub.m3 >>> new source -> compiling TextCat.m3 >>> new source -> compiling TextConv.i3 >>> new source -> compiling TextConv.m3 >>> new source -> compiling Poly.i3 >>> new source -> compiling Fingerprint.m3 >>> new source -> compiling Poly.m3 >>> new source -> compiling PolyBasis.i3 >>> new source -> compiling PolyBasis.m3 >>> new source -> compiling Main.i3 >>> new source -> compiling WeakRef.m3 >>> new source -> compiling Word.m3 >>> new source -> compiling Long.m3 >>> new source -> compiling hand.c >>> new source -> compiling dtoa.c >>> new source -> compiling RTThreadC.c >>> new source -> compiling _fpsetjmp.s >>> new source -> compiling RTStackC.c >>> new source -> compiling CerrnoC.c >>> new source -> compiling CstdioC.c >>> new exporters -> recompiling RTHooks.i3 >>> new exporters -> recompiling RTAllocator.i3 >>> new exporters -> recompiling RTCollector.i3 >>> new exporters -> recompiling RTException.i3 >>> new exporters -> recompiling RTModule.i3 >>> new exporters -> recompiling RTProcess.i3 >>> new exporters -> recompiling RTProcedureSRC.i3 >>> new exporters -> recompiling RTTypeSRC.i3 >>> new exporters -> recompiling RTOS.i3 >>> new exporters -> recompiling RTPerfTool.i3 >>> new exporters -> recompiling RTThread.i3 >>> new exporters -> recompiling Time.i3 >>> new exporters -> recompiling Tick.i3 >>> new exporters -> recompiling Date.i3 >>> new exporters -> recompiling Text.i3 >>> compilation failed => not building library "libm3core.a" >>> Fatal Error: package build failed >>> *** execution of failed *** >>> new.elego.de [/tmp/test-cm3-20071015-004410/build/cm3/scripts] >>> kschleiser >>> % >>> >>> I could solve Umman.i3 missing off_t by importing it. >>> >>> Thanks in advance, >>> Kaspar >> From kschleiser at elego.de Mon Oct 15 21:58:03 2007 From: kschleiser at elego.de (Kaspar Schleiser) Date: Mon, 15 Oct 2007 21:58:03 +0200 Subject: [M3devel] build problems on freebsd 6 In-Reply-To: <35AB3DFB-5E8B-48E6-891F-EEF982E67308@cs.purdue.edu> References: <4713308C.7020402@elego.de> <4713A032.1030702@elego.de> <35AB3DFB-5E8B-48E6-891F-EEF982E67308@cs.purdue.edu> Message-ID: <4713C64B.1070302@elego.de> Hey Tony, thanks again, wow again, 20 minutes for a fix ;) Cheers Kaspar Tony Hosking wrote: > Should be fixed now. > > On Oct 15, 2007, at 1:15 PM, Kaspar Schleiser wrote: > >> Hey Tony & all, >> >> that was fast, thanks! The errors about MyHeapState are gone, but these >> are still there: >> >> 1.: >> new source -> compiling Umman.i3 >> "../src/unix/freebsd-4/Umman.i3", line 41: undefined (off_t) >> >> I think off_t needs to be imported at the top of the file. >> >> 2.: >> new source -> compiling Unix.i3 >> "../src/unix/freebsd-4/Unix.i3", line 145: VAL: second argument must be >> an ordinal type >> "../src/unix/freebsd-4/Unix.i3", line 145: VAL: value out of range >> "../src/unix/freebsd-4/Unix.i3", line 145: default is not a constant >> (l_start) >> "../src/unix/freebsd-4/Unix.i3", line 146: VAL: second argument must be >> an ordinal type >> "../src/unix/freebsd-4/Unix.i3", line 146: VAL: value out of range >> "../src/unix/freebsd-4/Unix.i3", line 146: default is not a constant >> (l_len) >> >> Looks like something simple, too... >> >> Cheers, >> Kaspar >> >> Tony Hosking wrote: >>> I just checked in the fix -- missing declaration of MyHeapState in >>> ThreadF.i3. >>> >>> On Oct 15, 2007, at 5:19 AM, Kaspar Schleiser wrote: >>> >>>> Hey all, >>>> >>>> I'm having problems bootstrapping the cm3 cvs version. >>>> >>>> The cm3 5.4.0 minimal release is being used on a FreeBSD >>>> 6.2-RELEASE-p3-machine for the first step. >>>> >>>> "./do-pkg.sh buildship m3cc m3middle m3linker m3front m3quake cm3" >>>> builds the compiler just fine, but the new compiler fails to compile >>>> the >>>> m3core libs: >>>> >>>> CM3C = >>>> /tmp/test-cm3-20071015-004410/build/cm3/scripts/pkgmap.sh -c >>>> "/tmp/test-cm3-20071015-0044 >>>> 10/build/cm3bin/pkg/cm3/FreeBSD4/cm3 -build -override >>>> -DROOT='/tmp/test-cm3-20071015-0044 >>>> 10/build/cm3' " m3core libm3 >>>> === package /tmp/test-cm3-20071015-004410/build/cm3/m3-libs/m3core === >>>> +++ /tmp/test-cm3-20071015-004410/build/cm3bin/pkg/cm3/FreeBSD4/cm3 >>>> -build -override -DR >>>> OOT='/tmp/test-cm3-20071015-004410/build/cm3' +++ >>>> --- building in FreeBSD4 --- >>>> >>>> new source -> compiling RTHooks.i3 >>>> new source -> compiling RT0.i3 >>>> new source -> compiling RuntimeError.i3 >>>> new source -> compiling WordRep.i3 >>>> new source -> compiling Word.i3 >>>> new source -> compiling RTException.i3 >>>> new source -> compiling RTHooks.m3 >>>> new source -> compiling RT0.m3 >>>> new source -> compiling Compiler.i3 >>>> new source -> compiling RuntimeError.m3 >>>> new source -> compiling Compiler.m3 >>>> new source -> compiling RTAllocator.i3 >>>> new source -> compiling RTType.i3 >>>> new source -> compiling Csetjmp.i3 >>>> new source -> compiling LongRep.i3 >>>> new source -> compiling Long.i3 >>>> new source -> compiling BasicCtypes.i3 >>>> new source -> compiling Ctypes.i3 >>>> new source -> compiling RTMachine.i3 >>>> new source -> compiling RTHeapRep.i3 >>>> new source -> compiling Thread.i3 >>>> new source -> compiling FloatMode.i3 >>>> new source -> compiling ThreadF.i3 >>>> new source -> compiling RTOS.i3 >>>> new source -> compiling RTMisc.i3 >>>> new source -> compiling RTHeap.i3 >>>> new source -> compiling Cstdlib.i3 >>>> new source -> compiling Cstddef.i3 >>>> new source -> compiling RTAllocCnts.i3 >>>> new source -> compiling RTAllocator.m3 >>>> "../src/runtime/common/RTAllocator.m3", line 190: warning: variable has >>>> type NULL (state) >>>> "../src/runtime/common/RTAllocator.m3", line 190: unknown qualification >>>> '.' (MyHeapState) >>>> "../src/runtime/common/RTAllocator.m3", line 215: warning: variable has >>>> type NULL (state) >>>> "../src/runtime/common/RTAllocator.m3", line 215: unknown qualification >>>> '.' (MyHeapState) >>>> "../src/runtime/common/RTAllocator.m3", line 300: warning: variable has >>>> type NULL (state) >>>> "../src/runtime/common/RTAllocator.m3", line 300: unknown qualification >>>> '.' (MyHeapState) >>>> 3 errors and 3 warnings encountered >>>> new source -> compiling RTAllocStats.i3 >>>> new source -> compiling Convert.i3 >>>> new source -> compiling TextClass.i3 >>>> new source -> compiling Text.i3 >>>> new source -> compiling RTProcedureSRC.i3 >>>> new source -> compiling Fingerprint.i3 >>>> new source -> compiling RTProcedure.i3 >>>> new source -> compiling RTStack.i3 >>>> new source -> compiling RTAllocStats.m3 >>>> new source -> compiling TextLiteral.i3 >>>> new source -> compiling RTHeap.m3 >>>> new source -> compiling RTHeapInfo.i3 >>>> new source -> compiling Cstring.i3 >>>> new source -> compiling RTPerfTool.i3 >>>> new source -> compiling RTParams.i3 >>>> new source -> compiling RTHeapInfo.m3 >>>> new source -> compiling RTHeapMap.i3 >>>> new source -> compiling RTIO.i3 >>>> new source -> compiling RTTypeMap.i3 >>>> new source -> compiling RTMapOp.i3 >>>> new source -> compiling RTModule.i3 >>>> new source -> compiling RTHeapMap.m3 >>>> new source -> compiling RTHeapRep.m3 >>>> new source -> compiling RTHeapStats.i3 >>>> new source -> compiling RTTypeSRC.i3 >>>> new source -> compiling RTCollector.i3 >>>> new source -> compiling RTHeapStats.m3 >>>> new source -> compiling Time.i3 >>>> new source -> compiling Scheduler.i3 >>>> new source -> compiling RTLinker.i3 >>>> new source -> compiling RTProcess.i3 >>>> new source -> compiling RTHeapEvent.i3 >>>> new source -> compiling RTWeakRef.i3 >>>> new source -> compiling RTCollectorSRC.i3 >>>> new source -> compiling RTCollector.m3 >>>> "../src/runtime/common/RTCollector.m3", line 594: unknown qualification >>>> '.' (MyHeapState) >>>> "../src/runtime/common/RTCollector.m3", line 600: unknown qualification >>>> '.' (MyHeapState) >>>> "../src/runtime/common/RTCollector.m3", line 1403: unknown >>>> qualification >>>> '.' (MyHeapState >>>> ) >>>> "../src/runtime/common/RTCollector.m3", line 1407: unknown >>>> qualification >>>> '.' (MyHeapState >>>> ) >>>> "../src/runtime/common/RTCollector.m3", line 1440: unknown >>>> qualification >>>> '.' (MyHeapState >>>> ) >>>> "../src/runtime/common/RTCollector.m3", line 1506: unknown >>>> qualification >>>> '.' (MyHeapState >>>> ) >>>> 6 errors encountered >>>> new source -> compiling RTIO.m3 >>>> new source -> compiling RTLinkerX.i3 >>>> new source -> compiling RTSignal.i3 >>>> new source -> compiling RTDebug.i3 >>>> new source -> compiling RTLinker.m3 >>>> new source -> compiling RTDebug.m3 >>>> new source -> compiling RTError.i3 >>>> new source -> compiling RTError.m3 >>>> new source -> compiling M3toC.i3 >>>> new source -> compiling RTException.m3 >>>> new source -> compiling RTMapOp.m3 >>>> new source -> compiling RTMisc.m3 >>>> new source -> compiling RTPacking.i3 >>>> new source -> compiling RTPacking.m3 >>>> new source -> compiling RTArgs.i3 >>>> new source -> compiling RTParams.m3 >>>> new source -> compiling RTProcedure.m3 >>>> new source -> compiling RTProcess.m3 >>>> new source -> compiling RTTipe.i3 >>>> new source -> compiling RTTipe.m3 >>>> new source -> compiling RTType.m3 >>>> new source -> compiling RTTypeFP.i3 >>>> new source -> compiling RTTypeFP.m3 >>>> new source -> compiling RTTypeMap.m3 >>>> new source -> compiling RTutils.i3 >>>> new source -> compiling RTutils.m3 >>>> new source -> compiling RTHeapDebug.i3 >>>> new source -> compiling WeakRef.i3 >>>> new source -> compiling RTHeapDebug.m3 >>>> new source -> compiling RTArgs.m3 >>>> new source -> compiling Utypes.i3 >>>> new source -> compiling Umman.i3 >>>> "../src/unix/freebsd-4/Umman.i3", line 41: undefined (off_t) >>>> 1 error encountered >>>> new source -> compiling Uuio.i3 >>>> new source -> compiling Unix.i3 >>>> "../src/unix/freebsd-4/Unix.i3", line 145: VAL: second argument must be >>>> an ordinal type >>>> "../src/unix/freebsd-4/Unix.i3", line 145: VAL: value out of range >>>> "../src/unix/freebsd-4/Unix.i3", line 145: default is not a constant >>>> (l_start) >>>> "../src/unix/freebsd-4/Unix.i3", line 146: VAL: second argument must be >>>> an ordinal type >>>> "../src/unix/freebsd-4/Unix.i3", line 146: VAL: value out of range >>>> "../src/unix/freebsd-4/Unix.i3", line 146: default is not a constant >>>> (l_len) >>>> 6 errors encountered >>>> new source -> compiling RTOS.m3 >>>> "../src/runtime/POSIX/RTOS.m3", line 9: imported interface contains >>>> errors (Unix) >>>> "../src/runtime/POSIX/RTOS.m3", line 9: imported interface contains >>>> errors (Umman) >>>> 2 errors encountered >>>> new source -> compiling Utime.i3 >>>> new source -> compiling Uresource.i3 >>>> new source -> compiling Uexec.i3 >>>> new source -> compiling RTPerfTool.m3 >>>> "../src/runtime/POSIX/RTPerfTool.m3", line 10: imported interface >>>> contains errors (Unix) >>>> 1 error encountered >>>> new source -> compiling RTProcessPosix.m3 >>>> new source -> compiling Usignal.i3 >>>> new source -> compiling RTThread.i3 >>>> new source -> compiling RTThreadStk.m3 >>>> new source -> compiling Uprocess.i3 >>>> new source -> compiling RTSignal.m3 >>>> new source -> compiling RTThread.m3 >>>> "../src/runtime/FreeBSD4/RTThread.m3", line 12: imported interface >>>> contains errors (Unix) >>>> "../src/runtime/FreeBSD4/RTThread.m3", line 12: imported interface >>>> contains errors (Umman >>>> ) >>>> 2 errors encountered >>>> new source -> compiling RTExFrame.i3 >>>> new source -> compiling RTExFrame.m3 >>>> new source -> compiling MutexRep.i3 >>>> new source -> compiling ThreadEvent.i3 >>>> new source -> compiling SchedulerPosix.i3 >>>> new source -> compiling TimePosix.i3 >>>> new source -> compiling Cerrno.i3 >>>> new source -> compiling ThreadPosix.m3 >>>> "../src/thread/POSIX/ThreadPosix.m3", line 19: imported interface >>>> contains errors (Unix) >>>> 1 error encountered >>>> new source -> compiling Udir.i3 >>>> new source -> compiling Uerror.i3 >>>> new source -> compiling Ugrp.i3 >>>> new source -> compiling Uin.i3 >>>> new source -> compiling Usocket.i3 >>>> new source -> compiling Uin.m3 >>>> new source -> compiling Uipc.i3 >>>> new source -> compiling Umsg.i3 >>>> new source -> compiling Umsg.m3 >>>> new source -> compiling Unetdb.i3 >>>> new source -> compiling Unetdb.m3 >>>> new source -> compiling Upwd.i3 >>>> new source -> compiling Usem.i3 >>>> new source -> compiling Ushm.i3 >>>> new source -> compiling Usignal.m3 >>>> new source -> compiling Ustat.i3 >>>> new source -> compiling Usyslog.i3 >>>> new source -> compiling Utypes.m3 >>>> new source -> compiling Uugid.i3 >>>> new source -> compiling Uutmp.i3 >>>> new source -> compiling Uutsname.i3 >>>> new source -> compiling Text8CString.i3 >>>> new source -> compiling Text8.i3 >>>> new source -> compiling M3toC.m3 >>>> new source -> compiling Cstdarg.i3 >>>> new source -> compiling Cstdarg.m3 >>>> new source -> compiling Csignal.i3 >>>> new source -> compiling Cstdio.i3 >>>> new source -> compiling Cstdio.m3 >>>> new source -> compiling Real.i3 >>>> new source -> compiling RealFloat.i3 >>>> new source -> compiling LongReal.i3 >>>> new source -> compiling LongFloat.i3 >>>> new source -> compiling Extended.i3 >>>> new source -> compiling ExtendedFloat.i3 >>>> new source -> compiling IEEESpecial.i3 >>>> new source -> compiling LongRealRep.i3 >>>> new source -> compiling RealRep.i3 >>>> new source -> compiling IEEESpecial.m3 >>>> new source -> compiling Real.m3 >>>> new source -> compiling LongReal.m3 >>>> new source -> compiling Extended.m3 >>>> new source -> compiling DragonInt.i3 >>>> new source -> compiling DragonInt.m3 >>>> new source -> compiling DragonT.i3 >>>> new source -> compiling DragonT.m3 >>>> new source -> compiling FPU.i3 >>>> new source -> compiling RealFloat.m3 >>>> new source -> compiling LongFloat.m3 >>>> new source -> compiling ExtendedFloat.m3 >>>> new source -> compiling FPU.m3 >>>> new source -> compiling FloatMode.m3 >>>> new source -> compiling Tick.i3 >>>> new source -> compiling Date.i3 >>>> new source -> compiling FmtTime.i3 >>>> new source -> compiling FmtTime.m3 >>>> new source -> compiling TickPortable.m3 >>>> new source -> compiling DateBsd.m3 >>>> new source -> compiling TimePosix.m3 >>>> new source -> compiling CConvert.i3 >>>> new source -> compiling CConvert.m3 >>>> new source -> compiling Convert.m3 >>>> new source -> compiling String8.i3 >>>> new source -> compiling String8.m3 >>>> new source -> compiling String16.i3 >>>> new source -> compiling String16.m3 >>>> new source -> compiling Text16.i3 >>>> new source -> compiling Text.m3 >>>> new source -> compiling TextClass.m3 >>>> new source -> compiling TextLiteral.m3 >>>> new source -> compiling Text8Short.i3 >>>> new source -> compiling Text8.m3 >>>> new source -> compiling Text8Short.m3 >>>> new source -> compiling Text8CString.m3 >>>> new source -> compiling Text16Short.i3 >>>> new source -> compiling Text16.m3 >>>> new source -> compiling Text16Short.m3 >>>> new source -> compiling TextSub.i3 >>>> new source -> compiling TextCat.i3 >>>> new source -> compiling TextSub.m3 >>>> new source -> compiling TextCat.m3 >>>> new source -> compiling TextConv.i3 >>>> new source -> compiling TextConv.m3 >>>> new source -> compiling Poly.i3 >>>> new source -> compiling Fingerprint.m3 >>>> new source -> compiling Poly.m3 >>>> new source -> compiling PolyBasis.i3 >>>> new source -> compiling PolyBasis.m3 >>>> new source -> compiling Main.i3 >>>> new source -> compiling WeakRef.m3 >>>> new source -> compiling Word.m3 >>>> new source -> compiling Long.m3 >>>> new source -> compiling hand.c >>>> new source -> compiling dtoa.c >>>> new source -> compiling RTThreadC.c >>>> new source -> compiling _fpsetjmp.s >>>> new source -> compiling RTStackC.c >>>> new source -> compiling CerrnoC.c >>>> new source -> compiling CstdioC.c >>>> new exporters -> recompiling RTHooks.i3 >>>> new exporters -> recompiling RTAllocator.i3 >>>> new exporters -> recompiling RTCollector.i3 >>>> new exporters -> recompiling RTException.i3 >>>> new exporters -> recompiling RTModule.i3 >>>> new exporters -> recompiling RTProcess.i3 >>>> new exporters -> recompiling RTProcedureSRC.i3 >>>> new exporters -> recompiling RTTypeSRC.i3 >>>> new exporters -> recompiling RTOS.i3 >>>> new exporters -> recompiling RTPerfTool.i3 >>>> new exporters -> recompiling RTThread.i3 >>>> new exporters -> recompiling Time.i3 >>>> new exporters -> recompiling Tick.i3 >>>> new exporters -> recompiling Date.i3 >>>> new exporters -> recompiling Text.i3 >>>> compilation failed => not building library "libm3core.a" >>>> Fatal Error: package build failed >>>> *** execution of failed *** >>>> new.elego.de [/tmp/test-cm3-20071015-004410/build/cm3/scripts] >>>> kschleiser >>>> % >>>> >>>> I could solve Umman.i3 missing off_t by importing it. >>>> >>>> Thanks in advance, >>>> Kaspar >>> > From neels at elego.de Tue Oct 16 23:44:19 2007 From: neels at elego.de (Neels Janosch Hofmeyr) Date: Tue, 16 Oct 2007 23:44:19 +0200 Subject: [M3devel] Pathname.Legal In-Reply-To: <4711F975.9070905@wichita.edu> References: <471145B0.60905@elego.de> <20071014100526.GA2601@jack.stsp.lan> <4711F975.9070905@wichita.edu> Message-ID: <471530B3.3050102@elego.de> Rodney M. Bates wrote: > Since the language itself specifies that program variables of type > CHAR are in ISO Latin-1, not just ASCII, I think extending compilers, > etc., to handle those characters makes complete sense, without even > needing to view it as support for unicode or differing locales. > > Do I understand correctly that Neels' patch extends just to ISO Latin-1? Well, the fix allows more characters. It does in no way change datatype bitwidth, any conversion or any other behavior at all. It's just an abort condition which is made more lenient, so that it allows all CHAR characters in a Pathname.T (which is a TEXT). *If* CHAR represents ISO Latin-1, then the fix extends the range of allowed characters to ISO Latin-1 only. Do you know more about this? I can only guess. Olaf Wagner guessed it's fine to submit the fix. I encountered no problems using it with large numbers of filenames. Can you think of anything that might be a problem when allowing all CHARs in a file name? Regards! Neels -- Neels Janosch Hofmeyr Software Developer neels at elego.de Public Key: http://binarchy.net/neels/neels.hofmeyr.public.key.asc elego Software Solutions GmbH http://www.elegosoft.com Gustav-Meyer-Allee 25, Geb?ude 12 HRB 77719 13355 Berlin, Germany Amtsgericht Charlottenburg Tel.: +49 30 23 45 86 96 Sitz der Gesellschaft: Berlin Fax: +49 30 23 45 86 95 Gesch?ftsf?hrer: Olaf Wagner -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: OpenPGP digital signature URL: From hosking at cs.purdue.edu Wed Oct 17 00:08:05 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Tue, 16 Oct 2007 18:08:05 -0400 Subject: [M3devel] Pathname.Legal In-Reply-To: <471530B3.3050102@elego.de> References: <471145B0.60905@elego.de> <20071014100526.GA2601@jack.stsp.lan> <4711F975.9070905@wichita.edu> <471530B3.3050102@elego.de> Message-ID: <7EE9EE85-33C3-4E7D-A1AD-DA1419CB4EC9@cs.purdue.edu> What happens on Windows? There path separators include \. On Oct 16, 2007, at 5:44 PM, Neels Janosch Hofmeyr wrote: > > Rodney M. Bates wrote: >> Since the language itself specifies that program variables of type >> CHAR are in ISO Latin-1, not just ASCII, I think extending compilers, >> etc., to handle those characters makes complete sense, without even >> needing to view it as support for unicode or differing locales. >> >> Do I understand correctly that Neels' patch extends just to ISO >> Latin-1? > > Well, the fix allows more characters. It does in no way change > datatype > bitwidth, any conversion or any other behavior at all. It's just an > abort condition which is made more lenient, so that it allows all CHAR > characters in a Pathname.T (which is a TEXT). *If* CHAR represents ISO > Latin-1, then the fix extends the range of allowed characters to ISO > Latin-1 only. > > Do you know more about this? I can only guess. Olaf Wagner guessed > it's > fine to submit the fix. I encountered no problems using it with large > numbers of filenames. > Can you think of anything that might be a problem when allowing all > CHARs in a file name? > > Regards! > Neels > > -- > Neels Janosch Hofmeyr > Software Developer > > neels at elego.de > Public Key: http://binarchy.net/neels/neels.hofmeyr.public.key.asc > > elego Software Solutions GmbH http://www.elegosoft.com > Gustav-Meyer-Allee 25, Geb?ude 12 HRB 77719 > 13355 Berlin, Germany Amtsgericht Charlottenburg > Tel.: +49 30 23 45 86 96 Sitz der Gesellschaft: Berlin > Fax: +49 30 23 45 86 95 Gesch?ftsf?hrer: Olaf Wagner > > From neels at elego.de Wed Oct 17 00:37:23 2007 From: neels at elego.de (Neels Janosch Hofmeyr) Date: Wed, 17 Oct 2007 00:37:23 +0200 Subject: [M3devel] Pathname.Legal In-Reply-To: <7EE9EE85-33C3-4E7D-A1AD-DA1419CB4EC9@cs.purdue.edu> References: <471145B0.60905@elego.de> <20071014100526.GA2601@jack.stsp.lan> <4711F975.9070905@wichita.edu> <471530B3.3050102@elego.de> <7EE9EE85-33C3-4E7D-A1AD-DA1419CB4EC9@cs.purdue.edu> Message-ID: <47153D23.9040708@elego.de> There is a different implementation of Pathname (i.e. PathnameWin32.m3 in cm3/m3-libs/libm3/src/os/WIN32) which uses \ separators. But this makes me look at the windows code: it has the same limitation! I guess I should also apply the fix there, right?? it says: CONST Legal = SET OF CHAR {'\001' .. '\177'} - SET OF CHAR {DirSepChar, ':'}; (* *** This should be as permissive as any NT file system. *) (note: \177 is in octal and is 127 in decimal) Tony Hosking wrote: > What happens on Windows? There path separators include \. > > On Oct 16, 2007, at 5:44 PM, Neels Janosch Hofmeyr wrote: > >> >> Rodney M. Bates wrote: >>> Since the language itself specifies that program variables of type >>> CHAR are in ISO Latin-1, not just ASCII, I think extending compilers, >>> etc., to handle those characters makes complete sense, without even >>> needing to view it as support for unicode or differing locales. >>> >>> Do I understand correctly that Neels' patch extends just to ISO >>> Latin-1? >> >> Well, the fix allows more characters. It does in no way change datatype >> bitwidth, any conversion or any other behavior at all. It's just an >> abort condition which is made more lenient, so that it allows all CHAR >> characters in a Pathname.T (which is a TEXT). *If* CHAR represents ISO >> Latin-1, then the fix extends the range of allowed characters to ISO >> Latin-1 only. >> >> Do you know more about this? I can only guess. Olaf Wagner guessed it's >> fine to submit the fix. I encountered no problems using it with large >> numbers of filenames. >> Can you think of anything that might be a problem when allowing all >> CHARs in a file name? >> >> Regards! >> Neels >> >> -- >> Neels Janosch Hofmeyr >> Software Developer >> >> neels at elego.de >> Public Key: http://binarchy.net/neels/neels.hofmeyr.public.key.asc >> >> elego Software Solutions GmbH http://www.elegosoft.com >> Gustav-Meyer-Allee 25, Geb?ude 12 HRB 77719 >> 13355 Berlin, Germany Amtsgericht Charlottenburg >> Tel.: +49 30 23 45 86 96 Sitz der Gesellschaft: Berlin >> Fax: +49 30 23 45 86 95 Gesch?ftsf?hrer: Olaf Wagner >> >> > -- Neels Janosch Hofmeyr Software Developer neels at elego.de Public Key: http://binarchy.net/neels/neels.hofmeyr.public.key.asc elego Software Solutions GmbH http://www.elegosoft.com Gustav-Meyer-Allee 25, Geb?ude 12 HRB 77719 13355 Berlin, Germany Amtsgericht Charlottenburg Tel.: +49 30 23 45 86 96 Sitz der Gesellschaft: Berlin Fax: +49 30 23 45 86 95 Gesch?ftsf?hrer: Olaf Wagner -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: OpenPGP digital signature URL: From mika at async.caltech.edu Wed Oct 17 01:14:54 2007 From: mika at async.caltech.edu (Mika Nystrom) Date: Tue, 16 Oct 2007 16:14:54 -0700 Subject: [M3devel] Pathname.Legal In-Reply-To: Your message of "Wed, 17 Oct 2007 00:37:23 +0200." <47153D23.9040708@elego.de> Message-ID: <200710162314.l9GNEsCt054797@camembert.async.caltech.edu> I think "/" works as a directory separator on Windows as well as "\", doesn't it? Are there other limitations? Also, the Modula-3 style nit-picker in me would prefer SET OF CHAR { FIRST(CHAR) .. LAST(CHAR) } (if that is what you really mean). Mika Neels Janosch Hofmeyr writes: >This is an OpenPGP/MIME signed message (RFC 2440 and 3156) >--------------enigEAE3E5403C2A4908483A8A10 >Content-Type: text/plain; charset=ISO-8859-1 >Content-Transfer-Encoding: quoted-printable > > >There is a different implementation of Pathname (i.e. PathnameWin32.m3 >in cm3/m3-libs/libm3/src/os/WIN32) which uses \ separators. > >But this makes me look at the windows code: it has the same limitation! > >I guess I should also apply the fix there, right?? >it says: > >CONST Legal =3D SET OF CHAR {'\001' .. '\177'} - SET OF CHAR {DirSepChar,= > >':'}; > (* *** This should be as permissive as any NT file system. *) > >(note: \177 is in octal and is 127 in decimal) > >Tony Hosking wrote: >> What happens on Windows? There path separators include \. >> >> On Oct 16, 2007, at 5:44 PM, Neels Janosch Hofmeyr wrote: >> >>> >>> Rodney M. Bates wrote: >>>> Since the language itself specifies that program variables of type >>>> CHAR are in ISO Latin-1, not just ASCII, I think extending compilers,= > >>>> etc., to handle those characters makes complete sense, without even >>>> needing to view it as support for unicode or differing locales. >>>> >>>> Do I understand correctly that Neels' patch extends just to ISO >>>> Latin-1? >>> >>> Well, the fix allows more characters. It does in no way change datatyp= >e >>> bitwidth, any conversion or any other behavior at all. It's just an >>> abort condition which is made more lenient, so that it allows all CHAR= > >>> characters in a Pathname.T (which is a TEXT). *If* CHAR represents ISO= > >>> Latin-1, then the fix extends the range of allowed characters to ISO >>> Latin-1 only. >>> >>> Do you know more about this? I can only guess. Olaf Wagner guessed it'= >s >>> fine to submit the fix. I encountered no problems using it with large >>> numbers of filenames. >>> Can you think of anything that might be a problem when allowing all >>> CHARs in a file name? >>> >>> Regards! >>> Neels >>> >>> --=20 >>> Neels Janosch Hofmeyr >>> Software Developer >>> >>> neels at elego.de >>> Public Key: http://binarchy.net/neels/neels.hofmeyr.public.key.asc >>> >>> elego Software Solutions GmbH http://www.elegosoft.com >>> Gustav-Meyer-Allee 25, Geb=E4ude 12 HRB 77719 >>> 13355 Berlin, Germany Amtsgericht Charlottenburg >>> Tel.: +49 30 23 45 86 96 Sitz der Gesellschaft: Berlin >>> Fax: +49 30 23 45 86 95 Gesch=E4ftsf=FChrer: Olaf Wagn= >er >>> >>> >> > >--=20 >Neels Janosch Hofmeyr >Software Developer > >neels at elego.de >Public Key: http://binarchy.net/neels/neels.hofmeyr.public.key.asc > >elego Software Solutions GmbH http://www.elegosoft.com >Gustav-Meyer-Allee 25, Geb=E4ude 12 HRB 77719 >13355 Berlin, Germany Amtsgericht Charlottenburg >Tel.: +49 30 23 45 86 96 Sitz der Gesellschaft: Berlin >Fax: +49 30 23 45 86 95 Gesch=E4ftsf=FChrer: Olaf Wagner > > > >--------------enigEAE3E5403C2A4908483A8A10 >Content-Type: application/pgp-signature; name="signature.asc" >Content-Description: OpenPGP digital signature >Content-Disposition: attachment; filename="signature.asc" > >-----BEGIN PGP SIGNATURE----- >Version: GnuPG v1.4.6 (GNU/Linux) > >iD8DBQFHFT0jRpHEG7B8Y+ARAlQeAKDJwIVJngSDSZy0HTvZKVXYg0PMPQCgo+Gn >3oY6Q1ZK45iODSSURAcCpiI= >=VXmb >-----END PGP SIGNATURE----- > >--------------enigEAE3E5403C2A4908483A8A10-- From jay.krell at cornell.edu Wed Oct 17 08:11:21 2007 From: jay.krell at cornell.edu (Jay) Date: Wed, 17 Oct 2007 06:11:21 +0000 Subject: [M3devel] Pathname.Legal In-Reply-To: <7EE9EE85-33C3-4E7D-A1AD-DA1419CB4EC9@cs.purdue.edu> References: <471145B0.60905@elego.de> <20071014100526.GA2601@jack.stsp.lan> <4711F975.9070905@wichita.edu> <471530B3.3050102@elego.de> <7EE9EE85-33C3-4E7D-A1AD-DA1419CB4EC9@cs.purdue.edu> Message-ID: Or colon on Macintosh? :) I have some file names with slashes in them and the command line shows them as colons. I didn't make up the file names, they were in archives that way. - Jay> From: hosking at cs.purdue.edu> Date: Tue, 16 Oct 2007 18:08:05 -0400> To: neels at elego.de> CC: m3devel at elegosoft.com> Subject: Re: [M3devel] Pathname.Legal> > What happens on Windows? There path separators include \.> > On Oct 16, 2007, at 5:44 PM, Neels Janosch Hofmeyr wrote:> > >> > Rodney M. Bates wrote:> >> Since the language itself specifies that program variables of type> >> CHAR are in ISO Latin-1, not just ASCII, I think extending compilers,> >> etc., to handle those characters makes complete sense, without even> >> needing to view it as support for unicode or differing locales.> >>> >> Do I understand correctly that Neels' patch extends just to ISO > >> Latin-1?> >> > Well, the fix allows more characters. It does in no way change > > datatype> > bitwidth, any conversion or any other behavior at all. It's just an> > abort condition which is made more lenient, so that it allows all CHAR> > characters in a Pathname.T (which is a TEXT). *If* CHAR represents ISO> > Latin-1, then the fix extends the range of allowed characters to ISO> > Latin-1 only.> >> > Do you know more about this? I can only guess. Olaf Wagner guessed > > it's> > fine to submit the fix. I encountered no problems using it with large> > numbers of filenames.> > Can you think of anything that might be a problem when allowing all> > CHARs in a file name?> >> > Regards!> > Neels> >> > -- > > Neels Janosch Hofmeyr> > Software Developer> >> > neels at elego.de> > Public Key: http://binarchy.net/neels/neels.hofmeyr.public.key.asc> >> > elego Software Solutions GmbH http://www.elegosoft.com> > Gustav-Meyer-Allee 25, Geb?ude 12 HRB 77719> > 13355 Berlin, Germany Amtsgericht Charlottenburg> > Tel.: +49 30 23 45 86 96 Sitz der Gesellschaft: Berlin> > Fax: +49 30 23 45 86 95 Gesch?ftsf?hrer: Olaf Wagner> >> >> _________________________________________________________________ Climb to the top of the charts!? Play Star Shuffle:? the word scramble challenge with star power. http://club.live.com/star_shuffle.aspx?icid=starshuffle_wlmailtextlink_oct -------------- next part -------------- An HTML attachment was scrubbed... URL: From dabenavidesd at yahoo.es Wed Oct 17 15:51:26 2007 From: dabenavidesd at yahoo.es (Daniel Alejandro Benavides D.) Date: Wed, 17 Oct 2007 15:51:26 +0200 (CEST) Subject: [M3devel] About permissions on sources in the case of sources with permissions for owner only Message-ID: <998919.97099.qm@web27103.mail.ukl.yahoo.com> Hi: I got a commentary about files produced by the compiler and the files exported to the repository (ship) When compiling a package (bilist present on directory list of http://users.informatik.uni-halle.de/~thielema/Research/datastruct.tar.bz2 ) that has read and write permissions only for the owner I got files in LINUXLIBC6 that are readable for the group and other users. But when shipped on the 'src' directory they 're just readable for the owner (root). The 'LINUXLIBC6' directory has well defned permissions on the repository. As a result I can't read it on the repository if I do not modify the flags of the files. Programs like m3browser complains about that, also another package compile that needs bilist would fail if not root: BiList.ig is contained in: bilist/LINUXLIBC6/libbilist.a: bilist/src/BiList.ig unable to open /usr/local/cm3-cvs4/pkg/bilist/src/BiList.ig danielb at danielb-desktop:~/code/m3/datastruct/datastruct/list/bilist$ ls -al src/* -rw------- 1 danielb danielb 1982 Sep 23 2003 src/BiList.ig -rw------- 1 danielb danielb 8381 Oct 17 2003 src/BiList.mg -rw------- 1 danielb danielb 488 Sep 23 2003 src/bilist.tmpl -rw------- 1 danielb danielb 185 Sep 23 2003 src/m3makefile -rw------- 1 danielb danielb 38 Sep 5 2005 src/m3overrides danielb at danielb-desktop:~/code/m3/datastruct/datastruct/list/bilist$ ls -al LINUXLIBC6/* -rw-r--r-- 1 danielb danielb 80 Oct 17 09:17 LINUXLIBC6/AtomBiList.i3 -rw-r--r-- 1 danielb danielb 6064 Oct 17 09:17 LINUXLIBC6/AtomBiList.io -rw-r--r-- 1 danielb danielb 77 Oct 17 09:17 LINUXLIBC6/AtomBiList.m3 -rw-r--r-- 1 danielb danielb 33056 Oct 17 09:17 LINUXLIBC6/AtomBiList.mo -rw-r--r-- 1 danielb danielb 81 Oct 17 09:17 LINUXLIBC6/IntBiList.i3 -rw-r--r-- 1 danielb danielb 5968 Oct 17 09:17 LINUXLIBC6/IntBiList.io -rw-r--r-- 1 danielb danielb 78 Oct 17 09:17 LINUXLIBC6/IntBiList.m3 -rw-r--r-- 1 danielb danielb 32660 Oct 17 09:17 LINUXLIBC6/IntBiList.mo -rw-r--r-- 1 danielb danielb 80 Oct 17 09:17 LINUXLIBC6/RefBiList.i3 -rw-r--r-- 1 danielb danielb 6028 Oct 17 09:17 LINUXLIBC6/RefBiList.io -rw-r--r-- 1 danielb danielb 77 Oct 17 09:17 LINUXLIBC6/RefBiList.m3 -rw-r--r-- 1 danielb danielb 32992 Oct 17 09:17 LINUXLIBC6/RefBiList.mo -rw-r--r-- 1 danielb danielb 80 Oct 17 09:17 LINUXLIBC6/TextBiList.i3 -rw-r--r-- 1 danielb danielb 6032 Oct 17 09:17 LINUXLIBC6/TextBiList.io -rw-r--r-- 1 danielb danielb 77 Oct 17 09:17 LINUXLIBC6/TextBiList.m3 -rw-r--r-- 1 danielb danielb 33056 Oct 17 09:17 LINUXLIBC6/TextBiList.mo -rw-r--r-- 1 danielb danielb 159308 Oct 17 09:17 LINUXLIBC6/libbilist.a -rw-r--r-- 1 danielb danielb 4592 Oct 17 09:17 LINUXLIBC6/libbilist.m3x lrwxrwxrwx 1 danielb danielb 14 Oct 17 09:17 LINUXLIBC6/libbilist.so -> libbilist.so.5 -rwxr-xr-x 1 danielb danielb 141021 Oct 17 09:17 LINUXLIBC6/libbilist.so.5 ls -al /usr/local/cm3-cvs4/pkg/bilist/* /usr/local/cm3-cvs4/pkg/bilist/LINUXLIBC6: total 372 drwxr-xr-x 2 root root 4096 Oct 17 09:18 . drwxr-xr-x 4 root root 4096 Oct 17 09:18 .. -rw-r--r-- 1 root root 867 Oct 17 09:17 .M3EXPORTS -rw-r--r-- 1 root root 15654 Oct 17 09:17 .M3WEB -rw-r--r-- 1 root root 80 Oct 17 09:17 AtomBiList.i3 -rw-r--r-- 1 root root 77 Oct 17 09:17 AtomBiList.m3 -rw-r--r-- 1 root root 81 Oct 17 09:17 IntBiList.i3 -rw-r--r-- 1 root root 78 Oct 17 09:17 IntBiList.m3 -rw-r--r-- 1 root root 80 Oct 17 09:17 RefBiList.i3 -rw-r--r-- 1 root root 77 Oct 17 09:17 RefBiList.m3 -rw-r--r-- 1 root root 80 Oct 17 09:17 TextBiList.i3 -rw-r--r-- 1 root root 77 Oct 17 09:17 TextBiList.m3 -rw-r--r-- 1 root root 159308 Oct 17 09:17 libbilist.a -rw-r--r-- 1 root root 4592 Oct 17 09:17 libbilist.m3x lrwxrwxrwx 1 root root 14 Oct 17 09:18 libbilist.so -> libbilist.so.5 -rwxr-xr-x 1 root root 141021 Oct 17 09:17 libbilist.so.5 /usr/local/cm3-cvs4/pkg/bilist/src: total 28 drwxr-xr-x 2 root root 4096 Oct 17 09:18 . drwxr-xr-x 4 root root 4096 Oct 17 09:18 .. -rw------- 1 root root 1982 Sep 23 2003 BiList.ig -rw------- 1 root root 8381 Oct 17 2003 BiList.mg -rw------- 1 root root 488 Sep 23 2003 bilist.tmpl danielb at danielb-desktop:~/code/m3/datastruct/datastruct/list$ --------------------------------- S? un Mejor Amante del Cine ?Quieres saber c?mo? ?Deja que otras personas te ayuden!. -------------- next part -------------- An HTML attachment was scrubbed... URL: From lemming at henning-thielemann.de Wed Oct 17 16:00:09 2007 From: lemming at henning-thielemann.de (Henning Thielemann) Date: Wed, 17 Oct 2007 16:00:09 +0200 (CEST) Subject: [M3devel] About permissions on sources in the case of sources with permissions for owner only In-Reply-To: <998919.97099.qm@web27103.mail.ukl.yahoo.com> References: <998919.97099.qm@web27103.mail.ukl.yahoo.com> Message-ID: On Wed, 17 Oct 2007, Daniel Alejandro Benavides D. wrote: > I got a commentary about files produced by the compiler and the files exported to the repository (ship) > When compiling a package (bilist present on directory list of http://users.informatik.uni-halle.de/~thielema/Research/datastruct.tar.bz2 > ) that has read and write permissions only for the owner > I got files in LINUXLIBC6 that are readable for the group and other users. > But when shipped on the 'src' directory they 're just readable for the owner (root). This is a general problem, not bound to BiList. As a work-around I wrote a script which corrects permissions after the installation. $ more cm3ship cm3 -ship (chmod -R a+r /usr/local/cm3/pkg ; chmod a+x `find /usr/local/cm3/pkg -type d`) & However, I do not want to call it 'solution'. From dabenavidesd at yahoo.es Mon Oct 22 00:03:37 2007 From: dabenavidesd at yahoo.es (Daniel Alejandro Benavides D.) Date: Mon, 22 Oct 2007 00:03:37 +0200 (CEST) Subject: [M3devel] Calling RTHeapStats.ReportReachable(); with Pthread cvs head Message-ID: <696946.98425.qm@web27109.mail.ukl.yahoo.com> Hi: Im trying to execute the following program with the Pthread cvs head implementation and I got this when executing the program: danielb at danielb-desktop:~/as207/code/m3gdb$ LINUXLIBC6/Main Entre dos enteros6 7 Estadisticas del Heap HEAP: 0xb73d2000 .. 0xb7412000 => 0.2 Mbytes *** *** runtime error: *** <*ASSERT*> failed. *** file "../src/thread/PTHREAD/ThreadPThread.m3", line 992 *** Aborted danielb at danielb-desktop:~/as207/code/m3gdb$ The assert violated in m3core/thread/PTHREAD/ThreadPthread.m3 is this: PROCEDURE ProcessOther (act: Activation; p: PROCEDURE (start, stop: ADDRESS)) = (* LL=activeMu *) VAR sp: ADDRESS; state: RTMachine.ThreadState; BEGIN <*ASSERT act.state = ActState.Stopped*> The source code of the little program is this: MODULE Main; IMPORT SIO; IMPORT RTHeapStats; IMPORT RTutils; IMPORT RTHeapDebug; VAR varA, varB, varC: INTEGER; PROCEDURE multiplicar(a,b: INTEGER): INTEGER= VAR varC: INTEGER; BEGIN varC:=a*b; RETURN varC; END multiplicar; BEGIN SIO.PutText("Entre dos enteros"); varA:=SIO.GetInt(); varB:=SIO.GetInt(); varC:=multiplicar(varA,varB); SIO.PutText("Estadisticas del Heap"); RTHeapDebug.CheckHeap(); RTHeapStats.ReportReachable(); (* RTutils.Heap(FALSE,RTutils.HeapPresentation.ByTypecode,TRUE,LAST(CARDINAL));*) SIO.PutInt(varC); END Main. According to the draft book of Michael Dagenais Building Distributed OO Applications: Modula-3 Objects at Work, RTHeapStats.ReportReachable() " ... is called to determine the number of active, reachable, objects (i.e. those which would not be garbage collected). Of the 1980 objects on the heap, only slightly more than half are still alive." According to the interface documentation: "reports the number of reachable objects and bytes from each compilation unit, thread stack, and the individual roots that reach the most bytes. The report is written to stderr. The Modula-3 process is frozen during the scanning and reporting." Obviously with the previous version of pthread the things were working fine, also with user level implementation Thanks, Daniel Benavides --------------------------------- S? un Mejor Amante del Cine ?Quieres saber c?mo? ?Deja que otras personas te ayuden!. -------------- next part -------------- An HTML attachment was scrubbed... URL: From darko at darko.org Mon Oct 22 08:04:51 2007 From: darko at darko.org (Darko) Date: Mon, 22 Oct 2007 08:04:51 +0200 Subject: [M3devel] m3gdb binary for Darwin Intel? Message-ID: <9707EBB0-6A47-426E-B81A-E1BF32D69EA1@darko.org> Does anyone know of a m3gdb binary for Mac Intel floating around anywhere? Cheers, Darko. From hosking at cs.purdue.edu Mon Oct 22 15:00:03 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Mon, 22 Oct 2007 09:00:03 -0400 Subject: [M3devel] Calling RTHeapStats.ReportReachable(); with Pthread cvs head In-Reply-To: <696946.98425.qm@web27109.mail.ukl.yahoo.com> References: <696946.98425.qm@web27109.mail.ukl.yahoo.com> Message-ID: I know what the problem is, and will fix it when I can. On Oct 21, 2007, at 6:03 PM, Daniel Alejandro Benavides D. wrote: > Hi: > Im trying to execute the following program with the Pthread cvs > head implementation and I got this when executing the program: > > danielb at danielb-desktop:~/as207/code/m3gdb$ LINUXLIBC6/Main > Entre dos enteros6 7 > Estadisticas del Heap > HEAP: 0xb73d2000 .. 0xb7412000 => 0.2 Mbytes > > > *** > *** runtime error: > *** <*ASSERT*> failed. > *** file "../src/thread/PTHREAD/ThreadPThread.m3", line 992 > *** > > Aborted > danielb at danielb-desktop:~/as207/code/m3gdb$ > > The assert violated in m3core/thread/PTHREAD/ThreadPthread.m3 is this: > PROCEDURE ProcessOther (act: Activation; p: PROCEDURE (start, > stop: ADDRESS)) = > (* LL=activeMu *) > VAR > sp: ADDRESS; > state: RTMachine.ThreadState; > BEGIN > <*ASSERT act.state = ActState.Stopped*> > > > The source code of the little program is this: > > MODULE Main; > > IMPORT SIO; > IMPORT RTHeapStats; > IMPORT RTutils; > IMPORT RTHeapDebug; > VAR > varA, varB, varC: INTEGER; > > > PROCEDURE multiplicar(a,b: INTEGER): INTEGER= > VAR > varC: INTEGER; > BEGIN > varC:=a*b; > RETURN varC; > END multiplicar; > > > BEGIN > > SIO.PutText("Entre dos enteros"); > varA:=SIO.GetInt(); > varB:=SIO.GetInt(); > varC:=multiplicar(varA,varB); > SIO.PutText("Estadisticas del Heap"); > RTHeapDebug.CheckHeap(); > RTHeapStats.ReportReachable(); > (* RTutils.Heap > (FALSE,RTutils.HeapPresentation.ByTypecode,TRUE,LAST(CARDINAL));*) > SIO.PutInt(varC); > > END Main. > > According to the draft book of Michael Dagenais Building > Distributed OO Applications: Modula-3 Objects at Work, > RTHeapStats.ReportReachable() > " ... is called to determine the number > of active, reachable, objects (i.e. those which would not be > garbage collected). Of the 1980 objects on the heap, only slightly > more than half are still alive." > > According to the interface documentation: > "reports the number of reachable objects and bytes from each > compilation unit, thread stack, and the individual roots that reach > the most bytes. The report is written to stderr. The Modula-3 > process is frozen during the scanning and reporting." > > Obviously with the previous version of pthread the things were > working fine, also with user level implementation > > Thanks, > > Daniel Benavides > > > S? un Mejor Amante del Cine > ?Quieres saber c?mo? ?Deja que otras personas te ayuden! . From hosking at cs.purdue.edu Mon Oct 22 16:09:08 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Mon, 22 Oct 2007 10:09:08 -0400 Subject: [M3devel] Calling RTHeapStats.ReportReachable(); with Pthread cvs head In-Reply-To: <696946.98425.qm@web27109.mail.ukl.yahoo.com> References: <696946.98425.qm@web27109.mail.ukl.yahoo.com> Message-ID: Please try the latest CVS head. On Oct 21, 2007, at 6:03 PM, Daniel Alejandro Benavides D. wrote: > Hi: > Im trying to execute the following program with the Pthread cvs > head implementation and I got this when executing the program: > > danielb at danielb-desktop:~/as207/code/m3gdb$ LINUXLIBC6/Main > Entre dos enteros6 7 > Estadisticas del Heap > HEAP: 0xb73d2000 .. 0xb7412000 => 0.2 Mbytes > > > *** > *** runtime error: > *** <*ASSERT*> failed. > *** file "../src/thread/PTHREAD/ThreadPThread.m3", line 992 > *** > > Aborted > danielb at danielb-desktop:~/as207/code/m3gdb$ > > The assert violated in m3core/thread/PTHREAD/ThreadPthread.m3 is this: > PROCEDURE ProcessOther (act: Activation; p: PROCEDURE (start, > stop: ADDRESS)) = > (* LL=activeMu *) > VAR > sp: ADDRESS; > state: RTMachine.ThreadState; > BEGIN > <*ASSERT act.state = ActState.Stopped*> > > > The source code of the little program is this: > > MODULE Main; > > IMPORT SIO; > IMPORT RTHeapStats; > IMPORT RTutils; > IMPORT RTHeapDebug; > VAR > varA, varB, varC: INTEGER; > > > PROCEDURE multiplicar(a,b: INTEGER): INTEGER= > VAR > varC: INTEGER; > BEGIN > varC:=a*b; > RETURN varC; > END multiplicar; > > > BEGIN > > SIO.PutText("Entre dos enteros"); > varA:=SIO.GetInt(); > varB:=SIO.GetInt(); > varC:=multiplicar(varA,varB); > SIO.PutText("Estadisticas del Heap"); > RTHeapDebug.CheckHeap(); > RTHeapStats.ReportReachable(); > (* RTutils.Heap > (FALSE,RTutils.HeapPresentation.ByTypecode,TRUE,LAST(CARDINAL));*) > SIO.PutInt(varC); > > END Main. > > According to the draft book of Michael Dagenais Building > Distributed OO Applications: Modula-3 Objects at Work, > RTHeapStats.ReportReachable() > " ... is called to determine the number > of active, reachable, objects (i.e. those which would not be > garbage collected). Of the 1980 objects on the heap, only slightly > more than half are still alive." > > According to the interface documentation: > "reports the number of reachable objects and bytes from each > compilation unit, thread stack, and the individual roots that reach > the most bytes. The report is written to stderr. The Modula-3 > process is frozen during the scanning and reporting." > > Obviously with the previous version of pthread the things were > working fine, also with user level implementation > > Thanks, > > Daniel Benavides > > > S? un Mejor Amante del Cine > ?Quieres saber c?mo? ?Deja que otras personas te ayuden! . From jay.krell at cornell.edu Wed Oct 24 12:21:52 2007 From: jay.krell at cornell.edu (Jay) Date: Wed, 24 Oct 2007 10:21:52 +0000 Subject: [M3devel] x86 int64 guidance? Message-ID: I'm looking for guidance on the 64 bit integer support in the x86 code generator.What level does it belong in? The code appears to be in three primary files, that are layered mostly like so:M3x86.m3 Stackx86.m3 Codex86.m3 Stackx86 implements, I guess, a "virtual stack" which, I guess, makes certain optimizations easy, stuff like avoiding redundant moves, because the stack knows which register corresponds to which variable. M3x86 does call directly into Codex86, a lot actually.And so of course does Stackx86 (per the layering). There is trafficing in: Operand = RECORD loc: OLoc; mvar: MVar := NoStore; reg: Regno := 0; reg2: Regno := 0; << maybe add this?? imm: INTEGER := 0; stackp: INTEGER := 0; opcode := FALSE; END; notice just one register.These are x86 registers, not some abtract thing.That is what the virtual stack contains. One might imagine the support going one level higher even,implement int64 as a record/struct, but add some notion ofadd-with-carry, sub-with-carry, multiply64, divide64,multiply64x64to32, etc.? You know, when doing add, there's no canonical requiredregister pair to use, they all work, and the upper 32 bits might evenbe thrown out, so don't even necessarily compute them. I'd be a bit wary of the carry surviving though. Or maybe a pseudo register eax_edx should be defined? I'm thinking add reg2 might be easiest, though it seems wrong -- unclean.And always compute the full add/sub/mult/div. Maybe an array of registers? - Jay _________________________________________________________________ Peek-a-boo FREE Tricks & Treats for You! http://www.reallivemoms.com?ocid=TXT_TAGHM&loc=us -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Wed Oct 24 13:07:16 2007 From: jay.krell at cornell.edu (Jay) Date: Wed, 24 Oct 2007 11:07:16 +0000 Subject: [M3devel] x86 int64 guidance? Message-ID: Ok, I have a plan. It might work or not, it might be easy or not, elegant or not. I will add reg2 and I will put in checks at the start of some functions, like binOp, and if they are given 64 bit operands, call out to something that forms two 32 bit operands and acts on them "appropriately" (it will vary). I'm thinking the changes will mostly be in codex86. And stackx86's find function will know to allocate two registers sometimes. This had some drawbacks. For inline coded things like add/adc, good. For register based functions like shift, it makes sense for, I think at the level of m3x86.m3, to force certain register allocation. You know -- if you compile C code to do these operations, add/subtract/compare are inlined and shift/mult/divide are calls out to functions. And I'm not sure..hm..yeah...shifting shows this to be wrong. The changes for shifting must be in stackx86. The original method I suggested..might work in any of the levels..special casing and all.. It just seems like there's a mix of "levels". m3x86 operates on a virtual stack of operands, high level stuff, and passes operands down to codex86.m3, low level stuff. - Jay From: jay.krell at cornell.eduTo: m3devel at elegosoft.comSubject: x86 int64 guidance?Date: Wed, 24 Oct 2007 10:21:52 +0000 I'm looking for guidance on the 64 bit integer support in the x86 code generator.What level does it belong in?The code appears to be in three primary files, that are layered mostly like so:M3x86.m3 Stackx86.m3 Codex86.m3Stackx86 implements, I guess, a "virtual stack" which, I guess, makes certain optimizations easy, stuff like avoiding redundant moves, because the stack knows which register corresponds to which variable.M3x86 does call directly into Codex86, a lot actually.And so of course does Stackx86 (per the layering).There is trafficing in: Operand = RECORD loc: OLoc; mvar: MVar := NoStore; reg: Regno := 0; reg2: Regno := 0; << maybe add this?? imm: INTEGER := 0; stackp: INTEGER := 0; opcode := FALSE; END;notice just one register.These are x86 registers, not some abtract thing.That is what the virtual stack contains.One might imagine the support going one level higher even,implement int64 as a record/struct, but add some notion ofadd-with-carry, sub-with-carry, multiply64, divide64,multiply64x64to32, etc.?You know, when doing add, there's no canonical requiredregister pair to use, they all work, and the upper 32 bits might evenbe thrown out, so don't even necessarily compute them.I'd be a bit wary of the carry surviving though.Or maybe a pseudo register eax_edx should be defined?I'm thinking add reg2 might be easiest, though it seems wrong -- unclean.And always compute the full add/sub/mult/div.Maybe an array of registers? - Jay Peek-a-boo FREE Tricks & Treats for You! Get 'em! _________________________________________________________________ Windows Live Hotmail and Microsoft Office Outlook ? together at last. ?Get it now. http://office.microsoft.com/en-us/outlook/HA102225181033.aspx?pid=CL100626971033 -------------- next part -------------- An HTML attachment was scrubbed... URL: From dabenavidesd at yahoo.es Fri Oct 26 17:49:23 2007 From: dabenavidesd at yahoo.es (Daniel Alejandro Benavides D.) Date: Fri, 26 Oct 2007 17:49:23 +0200 (CEST) Subject: [M3devel] Calling RTHeapStats.ReportReachable(); with Pthread cvs head In-Reply-To: Message-ID: <748965.91443.qm@web27112.mail.ukl.yahoo.com> Hi: Yes it's working very well. I'm sorry for the delay. Thanks. --- Tony Hosking escribi?: > Please try the latest CVS head. > > On Oct 21, 2007, at 6:03 PM, Daniel Alejandro > Benavides D. wrote: > > > Hi: > > Im trying to execute the following program with > the Pthread cvs > > head implementation and I got this when executing > the program: > > > > danielb at danielb-desktop:~/as207/code/m3gdb$ > LINUXLIBC6/Main > > Entre dos enteros6 7 > > Estadisticas del Heap > > HEAP: 0xb73d2000 .. 0xb7412000 => 0.2 Mbytes > > > > > > *** > > *** runtime error: > > *** <*ASSERT*> failed. > > *** file > "../src/thread/PTHREAD/ThreadPThread.m3", line 992 > > *** > > > > Aborted > > danielb at danielb-desktop:~/as207/code/m3gdb$ > > > > The assert violated in > m3core/thread/PTHREAD/ThreadPthread.m3 is this: > > PROCEDURE ProcessOther (act: Activation; p: > PROCEDURE (start, > > stop: ADDRESS)) = > > (* LL=activeMu *) > > VAR > > sp: ADDRESS; > > state: RTMachine.ThreadState; > > BEGIN > > <*ASSERT act.state = ActState.Stopped*> > > > > > > The source code of the little program is this: > > > > MODULE Main; > > > > IMPORT SIO; > > IMPORT RTHeapStats; > > IMPORT RTutils; > > IMPORT RTHeapDebug; > > VAR > > varA, varB, varC: INTEGER; > > > > > > PROCEDURE multiplicar(a,b: INTEGER): INTEGER= > > VAR > > varC: INTEGER; > > BEGIN > > varC:=a*b; > > RETURN varC; > > END multiplicar; > > > > > > BEGIN > > > > SIO.PutText("Entre dos enteros"); > > varA:=SIO.GetInt(); > > varB:=SIO.GetInt(); > > varC:=multiplicar(varA,varB); > > SIO.PutText("Estadisticas del Heap"); > > RTHeapDebug.CheckHeap(); > > RTHeapStats.ReportReachable(); > > (* RTutils.Heap > > > (FALSE,RTutils.HeapPresentation.ByTypecode,TRUE,LAST(CARDINAL));*) > > SIO.PutInt(varC); > > > > END Main. > > > > According to the draft book of Michael Dagenais > Building > > Distributed OO Applications: Modula-3 Objects at > Work, > > RTHeapStats.ReportReachable() > > " ... is called to determine the number > > of active, reachable, objects (i.e. those which > would not be > > garbage collected). Of the 1980 objects on the > heap, only slightly > > more than half are still alive." > > > > According to the interface documentation: > > "reports the number of reachable objects and > bytes from each > > compilation unit, thread stack, and the individual > roots that reach > > the most bytes. The report is written to stderr. > The Modula-3 > > process is frozen during the scanning and > reporting." > > > > Obviously with the previous version of pthread the > things were > > working fine, also with user level implementation > > > > Thanks, > > > > Daniel Benavides > > > > > > S? un Mejor Amante del Cine > > ?Quieres saber c?mo? ?Deja que otras personas te > ayuden! . > > ____________________________________________________________________________________ S? un Mejor Amante del Cine ?Quieres saber c?mo? ?Deja que otras personas te ayuden! http://advision.webevents.yahoo.com/reto/entretenimiento.html From dabenavidesd at yahoo.es Tue Oct 30 07:24:28 2007 From: dabenavidesd at yahoo.es (Daniel Alejandro Benavides D.) Date: Tue, 30 Oct 2007 07:24:28 +0100 (CET) Subject: [M3devel] Calling RTHeapStats.ReportReachable(); with Pthread cvs head In-Reply-To: <748965.91443.qm@web27112.mail.ukl.yahoo.com> Message-ID: <310478.49216.qm@web27114.mail.ukl.yahoo.com> Hi: About this last changes, the runtime can not properly feed shownew, with a @M3shownew=shownew. The program 'a' is just not started as it seems here, altough the window (shownew) does appear, start doesn't respond, and it stays there until aborted. Thanks --- "Daniel Alejandro Benavides D." escribi?: > Hi: > Yes it's working very well. I'm sorry for the delay. > Thanks. > --- Tony Hosking escribi?: > > > Please try the latest CVS head. > > > > On Oct 21, 2007, at 6:03 PM, Daniel Alejandro > > Benavides D. wrote: > > > > > Hi: > > > Im trying to execute the following program with > > the Pthread cvs > > > head implementation and I got this when > executing > > the program: > > > > > > danielb at danielb-desktop:~/as207/code/m3gdb$ > > LINUXLIBC6/Main > > > Entre dos enteros6 7 > > > Estadisticas del Heap > > > HEAP: 0xb73d2000 .. 0xb7412000 => 0.2 Mbytes > > > > > > > > > *** > > > *** runtime error: > > > *** <*ASSERT*> failed. > > > *** file > > "../src/thread/PTHREAD/ThreadPThread.m3", line 992 > > > *** > > > > > > Aborted > > > danielb at danielb-desktop:~/as207/code/m3gdb$ > > > > > > The assert violated in > > m3core/thread/PTHREAD/ThreadPthread.m3 is this: > > > PROCEDURE ProcessOther (act: Activation; p: > > PROCEDURE (start, > > > stop: ADDRESS)) = > > > (* LL=activeMu *) > > > VAR > > > sp: ADDRESS; > > > state: RTMachine.ThreadState; > > > BEGIN > > > <*ASSERT act.state = ActState.Stopped*> > > > > > > > > > The source code of the little program is this: > > > > > > MODULE Main; > > > > > > IMPORT SIO; > > > IMPORT RTHeapStats; > > > IMPORT RTutils; > > > IMPORT RTHeapDebug; > > > VAR > > > varA, varB, varC: INTEGER; > > > > > > > > > PROCEDURE multiplicar(a,b: INTEGER): INTEGER= > > > VAR > > > varC: INTEGER; > > > BEGIN > > > varC:=a*b; > > > RETURN varC; > > > END multiplicar; > > > > > > > > > BEGIN > > > > > > SIO.PutText("Entre dos enteros"); > > > varA:=SIO.GetInt(); > > > varB:=SIO.GetInt(); > > > varC:=multiplicar(varA,varB); > > > SIO.PutText("Estadisticas del Heap"); > > > RTHeapDebug.CheckHeap(); > > > RTHeapStats.ReportReachable(); > > > (* RTutils.Heap > > > > > > (FALSE,RTutils.HeapPresentation.ByTypecode,TRUE,LAST(CARDINAL));*) > > > SIO.PutInt(varC); > > > > > > END Main. > > > > > > According to the draft book of Michael Dagenais > > Building > > > Distributed OO Applications: Modula-3 Objects > at > > Work, > > > RTHeapStats.ReportReachable() > > > " ... is called to determine the number > > > of active, reachable, objects (i.e. those which > > would not be > > > garbage collected). Of the 1980 objects on the > > heap, only slightly > > > more than half are still alive." > > > > > > According to the interface documentation: > > > "reports the number of reachable objects and > > bytes from each > > > compilation unit, thread stack, and the > individual > > roots that reach > > > the most bytes. The report is written to stderr. > > The Modula-3 > > > process is frozen during the scanning and > > reporting." > > > > > > Obviously with the previous version of pthread > the > > things were > > > working fine, also with user level > implementation > > > > > > Thanks, > > > > > > Daniel Benavides > > > > > > > > > S? un Mejor Amante del Cine > > > ?Quieres saber c?mo? ?Deja que otras personas te > > ayuden! . > > > > > > > > > ____________________________________________________________________________________ > S? un Mejor Amante del Cine > ?Quieres saber c?mo? ?Deja que otras personas te > ayuden! > http://advision.webevents.yahoo.com/reto/entretenimiento.html > ______________________________________________ Pregunta, Responde, Descubre. Comparte tus consejos y opiniones con los usuarios de Yahoo! Respuestas http://es.answers.yahoo.com/info/welcome From hosking at cs.purdue.edu Tue Oct 30 16:40:02 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Tue, 30 Oct 2007 11:40:02 -0400 Subject: [M3devel] Calling RTHeapStats.ReportReachable(); with Pthread cvs head In-Reply-To: <310478.49216.qm@web27114.mail.ukl.yahoo.com> References: <310478.49216.qm@web27114.mail.ukl.yahoo.com> Message-ID: <96EA4DCE-DE92-4475-B3F4-273B2ED198C3@cs.purdue.edu> Hmm. showheap works fine for me on my I386_DARWIN box. What platform are you on? On Oct 30, 2007, at 2:24 AM, Daniel Alejandro Benavides D. wrote: > Hi: > About this last changes, the runtime can not properly > feed shownew, with a @M3shownew=shownew. > The program 'a' is just not started as it seems here, > altough the window (shownew) does appear, start > doesn't respond, and it stays there until aborted. > > Thanks > > --- "Daniel Alejandro Benavides D." > escribi?: > >> Hi: >> Yes it's working very well. I'm sorry for the delay. >> Thanks. >> --- Tony Hosking escribi?: >> >>> Please try the latest CVS head. >>> >>> On Oct 21, 2007, at 6:03 PM, Daniel Alejandro >>> Benavides D. wrote: >>> >>>> Hi: >>>> Im trying to execute the following program with >>> the Pthread cvs >>>> head implementation and I got this when >> executing >>> the program: >>>> >>>> danielb at danielb-desktop:~/as207/code/m3gdb$ >>> LINUXLIBC6/Main >>>> Entre dos enteros6 7 >>>> Estadisticas del Heap >>>> HEAP: 0xb73d2000 .. 0xb7412000 => 0.2 Mbytes >>>> >>>> >>>> *** >>>> *** runtime error: >>>> *** <*ASSERT*> failed. >>>> *** file >>> "../src/thread/PTHREAD/ThreadPThread.m3", line 992 >>>> *** >>>> >>>> Aborted >>>> danielb at danielb-desktop:~/as207/code/m3gdb$ >>>> >>>> The assert violated in >>> m3core/thread/PTHREAD/ThreadPthread.m3 is this: >>>> PROCEDURE ProcessOther (act: Activation; p: >>> PROCEDURE (start, >>>> stop: ADDRESS)) = >>>> (* LL=activeMu *) >>>> VAR >>>> sp: ADDRESS; >>>> state: RTMachine.ThreadState; >>>> BEGIN >>>> <*ASSERT act.state = ActState.Stopped*> >>>> >>>> >>>> The source code of the little program is this: >>>> >>>> MODULE Main; >>>> >>>> IMPORT SIO; >>>> IMPORT RTHeapStats; >>>> IMPORT RTutils; >>>> IMPORT RTHeapDebug; >>>> VAR >>>> varA, varB, varC: INTEGER; >>>> >>>> >>>> PROCEDURE multiplicar(a,b: INTEGER): INTEGER= >>>> VAR >>>> varC: INTEGER; >>>> BEGIN >>>> varC:=a*b; >>>> RETURN varC; >>>> END multiplicar; >>>> >>>> >>>> BEGIN >>>> >>>> SIO.PutText("Entre dos enteros"); >>>> varA:=SIO.GetInt(); >>>> varB:=SIO.GetInt(); >>>> varC:=multiplicar(varA,varB); >>>> SIO.PutText("Estadisticas del Heap"); >>>> RTHeapDebug.CheckHeap(); >>>> RTHeapStats.ReportReachable(); >>>> (* RTutils.Heap >>>> >>> >> > (FALSE,RTutils.HeapPresentation.ByTypecode,TRUE,LAST(CARDINAL));*) >>>> SIO.PutInt(varC); >>>> >>>> END Main. >>>> >>>> According to the draft book of Michael Dagenais >>> Building >>>> Distributed OO Applications: Modula-3 Objects >> at >>> Work, >>>> RTHeapStats.ReportReachable() >>>> " ... is called to determine the number >>>> of active, reachable, objects (i.e. those which >>> would not be >>>> garbage collected). Of the 1980 objects on the >>> heap, only slightly >>>> more than half are still alive." >>>> >>>> According to the interface documentation: >>>> "reports the number of reachable objects and >>> bytes from each >>>> compilation unit, thread stack, and the >> individual >>> roots that reach >>>> the most bytes. The report is written to stderr. >>> The Modula-3 >>>> process is frozen during the scanning and >>> reporting." >>>> >>>> Obviously with the previous version of pthread >> the >>> things were >>>> working fine, also with user level >> implementation >>>> >>>> Thanks, >>>> >>>> Daniel Benavides >>>> >>>> >>>> S? un Mejor Amante del Cine >>>> ?Quieres saber c?mo? ?Deja que otras personas te >>> ayuden! . >>> >>> >> >> >> >> >> > ______________________________________________________________________ > ______________ >> S? un Mejor Amante del Cine >> ?Quieres saber c?mo? ?Deja que otras personas te >> ayuden! >> > http://advision.webevents.yahoo.com/reto/entretenimiento.html >> > > > > > ______________________________________________ > Pregunta, Responde, Descubre. > Comparte tus consejos y opiniones con los usuarios de Yahoo! > Respuestas > http://es.answers.yahoo.com/info/welcome From dabenavidesd at yahoo.es Tue Oct 30 17:48:05 2007 From: dabenavidesd at yahoo.es (Daniel Alejandro Benavides D.) Date: Tue, 30 Oct 2007 17:48:05 +0100 (CET) Subject: [M3devel] Calling RTHeapStats.ReportReachable(); with Pthread cvs head Message-ID: <817267.35735.qm@web27105.mail.ukl.yahoo.com> Hi: LINUXLIBC6 32 bits, ubuntu dapper >Hmm. showheap works fine for me on my I386_DARWIN box. What >platform are you on? On Oct 30, 2007, at 2:24 AM, Daniel Alejandro Benavides D. wrote: > Hi: > About this last changes, the runtime can not properly > feed shownew, with a @M3shownew=shownew. > The program 'a' is just not started as it seems here, > altough the window (shownew) does appear, start > doesn't respond, and it stays there until aborted. > > Thanks > > --- "Daniel Alejandro Benavides D." > escribi?: > >> Hi: >> Yes it's working very well. I'm sorry for the delay. >> Thanks. >> --- Tony Hosking escribi?: >> >>> Please try the latest CVS head. >>> >>> On Oct 21, 2007, at 6:03 PM, Daniel Alejandro >>> Benavides D. wrote: >>> >>>> Hi: >>>> Im trying to execute the following program with >>> the Pthread cvs >>>> head implementation and I got this when >> executing >>> the program: >>>> >>>> danielb at danielb-desktop:~/as207/code/m3gdb$ >>> LINUXLIBC6/Main >>>> Entre dos enteros6 7 >>>> Estadisticas del Heap >>>> HEAP: 0xb73d2000 .. 0xb7412000 => 0.2 Mbytes >>>> >>>> >>>> *** >>>> *** runtime error: >>>> *** <*ASSERT*> failed. >>>> *** file >>> "../src/thread/PTHREAD/ThreadPThread.m3", line 992 >>>> *** >>>> >>>> Aborted >>>> danielb at danielb-desktop:~/as207/code/m3gdb$ >>>> >>>> The assert violated in >>> m3core/thread/PTHREAD/ThreadPthread.m3 is this: >>>> PROCEDURE ProcessOther (act: Activation; p: >>> PROCEDURE (start, >>>> stop: ADDRESS)) = >>>> (* LL=activeMu *) >>>> VAR >>>> sp: ADDRESS; >>>> state: RTMachine.ThreadState; >>>> BEGIN >>>> <*ASSERT act.state = ActState.Stopped*> >>>> >>>> >>>> The source code of the little program is this: >>>> >>>> MODULE Main; >>>> >>>> IMPORT SIO; >>>> IMPORT RTHeapStats; >>>> IMPORT RTutils; >>>> IMPORT RTHeapDebug; >>>> VAR >>>> varA, varB, varC: INTEGER; >>>> >>>> >>>> PROCEDURE multiplicar(a,b: INTEGER): INTEGER= >>>> VAR >>>> varC: INTEGER; >>>> BEGIN >>>> varC:=a*b; >>>> RETURN varC; >>>> END multiplicar; >>>> >>>> >>>> BEGIN >>>> >>>> SIO.PutText("Entre dos enteros"); >>>> varA:=SIO.GetInt(); >>>> varB:=SIO.GetInt(); >>>> varC:=multiplicar(varA,varB); >>>> SIO.PutText("Estadisticas del Heap"); >>>> RTHeapDebug.CheckHeap(); >>>> RTHeapStats.ReportReachable(); >>>> (* RTutils.Heap >>>> >>> >> > (FALSE,RTutils.HeapPresentation.ByTypecode,TRUE,LAST(CARDINAL));*) >>>> SIO.PutInt(varC); >>>> >>>> END Main. >>>> >>>> According to the draft book of Michael Dagenais >>> Building >>>> Distributed OO Applications: Modula-3 Objects >> at >>> Work, >>>> RTHeapStats.ReportReachable() >>>> " ... is called to determine the number >>>> of active, reachable, objects (i.e. those which >>> would not be >>>> garbage collected). Of the 1980 objects on the >>> heap, only slightly >>>> more than half are still alive." >>>> >>>> According to the interface documentation: >>>> "reports the number of reachable objects and >>> bytes from each >>>> compilation unit, thread stack, and the >> individual >>> roots that reach >>>> the most bytes. The report is written to stderr. >>> The Modula-3 >>>> process is frozen during the scanning and >>> reporting." >>>> >>>> Obviously with the previous version of pthread >> the >>> things were >>>> working fine, also with user level >> implementation >>>> >>>> Thanks, >>>> >>>> Daniel Benavides --------------------------------- --------------------------------- ?Descubre una nueva forma de obtener respuestas a tus preguntas! Entra en Yahoo! Respuestas. -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Wed Oct 31 13:12:11 2007 From: jay.krell at cornell.edu (Jay) Date: Wed, 31 Oct 2007 12:12:11 +0000 Subject: [M3devel] iterating over sets? Message-ID: Let's say I had TYPE T = SET OF { 0 .. 256 }; Must I say: VAR t: T; FOR i := FIRST(t) TO LAST(t) IF i IN t DO something with i END END Surely there's a better way involving scanning forward for the next bit more than one bit at a time? - Jay _________________________________________________________________ Boo!?Scare away worms, viruses and so much more! Try Windows Live OneCare! http://onecare.live.com/standard/en-us/purchase/trial.aspx?s_cid=wl_hotmailnews -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at cs.purdue.edu Wed Oct 31 16:06:23 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Wed, 31 Oct 2007 11:06:23 -0400 Subject: [M3devel] Solaris lstat st_nlink issue? Re: CVSup questions. In-Reply-To: References: <470F9B23.3050802@polstra.com> <34FFDD05-0343-4595-A6E6-30AAC7520C13@cs.purdue.edu> <471BE5FE.9070702@polstra.com> <0F4262B3-353B-4A6F-939A-4A38F6A70719@cs.purdue.edu> Message-ID: <72211562-F61C-4008-8BFA-FC77FEF535EB@cs.purdue.edu> Thanks, this was useful. I'm not sure when it happened but Solaris now defines nlink_t=long. This program now seems to do the right thing. I'll check in the updated now. On Oct 25, 2007, at 9:40 PM, Alex Bochannek wrote: > OK, just for laughs, I just tried this. Simple program: > > UNSAFE MODULE Main; > > IMPORT Ustat, Fmt, IO, M3toC; > > VAR stat: Ustat.struct_stat; > ret: INTEGER; > > BEGIN > ret := Ustat.lstat(M3toC.CopyTtoS("/tmp"), ADR(stat)); > IO.Put(Fmt.Unsigned(stat.st_nlink) & "\n"); > ret := Ustat.lstat(M3toC.CopyTtoS("/tmp/foo"), ADR(stat)); > IO.Put(Fmt.Unsigned(stat.st_nlink) & "\n"); > END Main. > > I run it and the output is: > > 0 > 0 > > Alex. From alexb at juniper.net Wed Oct 31 17:44:22 2007 From: alexb at juniper.net (Alex Bochannek) Date: Wed, 31 Oct 2007 09:44:22 -0700 Subject: [M3devel] Solaris lstat st_nlink issue? Re: CVSup questions. In-Reply-To: <72211562-F61C-4008-8BFA-FC77FEF535EB@cs.purdue.edu> (Tony Hosking's message of "Wed\, 31 Oct 2007 11\:06\:23 -0400") References: <470F9B23.3050802@polstra.com> <34FFDD05-0343-4595-A6E6-30AAC7520C13@cs.purdue.edu> <471BE5FE.9070702@polstra.com> <0F4262B3-353B-4A6F-939A-4A38F6A70719@cs.purdue.edu> <72211562-F61C-4008-8BFA-FC77FEF535EB@cs.purdue.edu> Message-ID: Tony Hosking writes: > Thanks, this was useful. I'm not sure when it happened but Solaris > now defines nlink_t=long. This program now seems to do the right > thing. I'll check in the updated now. >From what I can find Solaris has always had typedef ulong nlink_t. What I suspect happened here is that long != int on 64 bit Solaris. Alex. From rodney.bates at wichita.edu Wed Oct 31 22:22:26 2007 From: rodney.bates at wichita.edu (Rodney M. Bates) Date: Wed, 31 Oct 2007 15:22:26 -0600 Subject: [M3devel] iterating over sets? In-Reply-To: References: Message-ID: <4728F212.6040009@wichita.edu> I don't think it's by any means trivial. I have a set-of-integer module that handles heap-allocated sets of integers whose base range is nonstatic, and it does it essentially the way you give. It's a real mess. I converted it some years back from Modula-2, then started changing its design piecemeal, as needed by one application, so it's full of inconsistencies. I started writing a complete replacement, but have never gotten back to it. I planned to do some low-level bit-twiddling stuff for this problem, but that's down in to-be-implemented procedures. My plan is to do binary search within a word for the next nonzero bit by masking out half a Word.T, then testing it for all zero, etc., going to fourths, eighths, etc. subsequently. I plan to code it looplessly, i.e., as a tree of IFs, since a word has static size on a given machine. I thought about a way to code it that would auto-adapt to different word sizes, but don't remember that I had come up with one. For the M3 language-provided set types, I suppose something similar could be done in an unsafe module, but it would be dependent on knowing how the compiler represented the sets and LOOPHOLEing to arrays of Word.T. For the different words of a set, I think looping through them is probably the best you can do. Of course, an all-zero test on a word can be done in constant time, and is in fact, just the zero-th step of the binary-search strategy I mentioned. My partially-implemented module trims words that are all-zero off both ends, whenever they can be located without unnecessary extra work. Even so, there still can be properly embedded zero words. Trying to go beyond this starts to make it work more like the existing library Sets module, which I would expect to be better if the sets are quite sparse, but much worse (at least in space) if dense. Jay wrote: > Let's say I had > > TYPE T = SET OF { 0 .. 256 }; > > Must I say: > > VAR t: T; > FOR i := FIRST(t) TO LAST(t) > IF i IN t DO > something with i > END > END > > Surely there's a better way involving scanning forward for the next bit > more than one bit at a time? > > - Jay > > > ------------------------------------------------------------------------ > Boo! Scare away worms, viruses and so much more! Try Windows Live > OneCare! Try now! > -- ------------------------------------------------------------- Rodney M. Bates, retired assistant professor Dept. of Computer Science, Wichita State University Wichita, KS 67260-0083 316-978-3922 rodney.bates at wichita.edu From lemming at henning-thielemann.de Wed Oct 31 23:09:11 2007 From: lemming at henning-thielemann.de (Henning Thielemann) Date: Wed, 31 Oct 2007 23:09:11 +0100 (CET) Subject: [M3devel] iterating over sets? In-Reply-To: References: Message-ID: On Wed, 31 Oct 2007, Jay wrote: > Let's say I had > > TYPE T = SET OF { 0 .. 256 }; > > Must I say: > > VAR t: T; > FOR i := FIRST(t) TO LAST(t) > IF i IN t DO > something with i > END > END You may speed up search by splitting the set into subsets. E.g. IF t * T{16..31} = T{} THEN skip this block completely ELSE inspect that block in detail END; From rodney.bates at wichita.edu Tue Oct 2 23:00:09 2007 From: rodney.bates at wichita.edu (Rodney M. Bates) Date: Tue, 02 Oct 2007 16:00:09 -0500 Subject: [M3devel] Invitation to test a Windows m3gdb fix Message-ID: <4702B159.5060506@wichita.edu> I just checked in what I hope is a fix to an m3gdb target dependency I have known about since I originally worked on user-typed calls. It affects an interactively typed call on a function procedure that returns a record or array. It has worked on Linux 1386 for a while, but would not work on Windows. I do not expect to have access to a Windows machine with CM3 installed for at least some time. Anybody who does is invited to test this. Just use m3gdb to stop almost any program at some convenient place and type something like: 'print P(...)' where P is a function procedure returning a record type. Insert appropriate parameters, of course. Of course, you first have to get and build the latest m3gdb from CVS, and it is only in the CM3 repository. If anybody does it, let me know what happens. -- ------------------------------------------------------------- Rodney M. Bates, retired assistant professor Dept. of Computer Science, Wichita State University Wichita, KS 67260-0083 316-978-3922 rodney.bates at wichita.edu From alexb at juniper.net Thu Oct 4 22:00:28 2007 From: alexb at juniper.net (Alex Bochannek) Date: Thu, 04 Oct 2007 13:00:28 -0700 Subject: [M3devel] m3gdb compile warnings on Solaris 10/SPARC. Message-ID: I looked at the m3gdb compilation on Solaris 10 yesterday and found that after installing a newer GCC (4.2), the only issue left is with -Werror. By doing this: Index: m3makefile =================================================================== RCS file: /usr/cvs/cm3/m3-sys/m3gdb/src/m3makefile,v retrieving revision 1.6 diff -u -r1.6 m3makefile --- m3makefile 6 Sep 2006 21:32:07 -0000 1.6 +++ m3makefile 4 Oct 2007 19:08:01 -0000 @@ -58,6 +58,7 @@ end readonly m3gdb_config = { + "SOLgnu" : "--disable-werror" % misc. gdb configuration options (e.g. "DS3100" : "--with-stabs") } % m3gdb_config m3gdb compiles fine and I can use it now. If anybody wants to look at the errors, the compile log for that package is attached. My platform is: 64-bit sparcv9 applications vis2 vis 32-bit sparc applications vis2 vis v8plus div32 mul32 64-bit sparcv9 kernel modules SunOS 5.10 The warnings are in: gdb/bfd/aoutf1.h gdb/readline/bind.c gdb/readline/display.c gdb/readline/histexpand.c gdb/gdb/procfs.c gdb/gdb/tui/tui-stack.c gdb/gdb/breakpoint.c gdb/gdb/printcmd.c gdb/gdb/event-top.c gdb/gdb/ada-lang.c gdb/gdb/m3-lang.c gdb/gdb/m3-threads.c gdb/gdb/m3-util.c gdb/gdb/m3-valprint.c Hope this helps. Alex. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: not available URL: From hosking at cs.purdue.edu Fri Oct 5 20:14:45 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Fri, 5 Oct 2007 14:14:45 -0400 Subject: [M3devel] CM3 d5.5.0 CVSup client issues. In-Reply-To: References: <46E04F68.6030001@polstra.com> <8DA206BE-1EDE-4713-83DD-317417081E76@cs.purdue.edu> <1B153BC7-A186-4F33-A019-91ADFEEC97FD@cs.purdue.edu> <90E9CEA8-6406-44E1-8265-9188B51B850D@cs.purdue.edu> <2559758D-5DE9-4CAF-B9D1-77F851B6310B@cs.purdue.edu> <976B6556-3462-418E-9C05-9CBB30988FB6@cs.purdue.edu> <4A6875D6-F5BC-4FE0-B3B3-7079536EFC1A@cs.purdue.edu> <489FF96F-AA06-47EC-9EDB-E354632C5136@cs.purdue.edu> Message-ID: <0C2CBC5D-5C95-4CC0-9B3A-4F3A124B0007@cs.purdue.edu> Good news. I have finally managed to track things down. Basically, the problems occur with the old libpthread -- we need to make sure we link to the new one (/usr/lib/lwp/libpthread.*) which also happens to be the default on newer Solaris versions. Using this library I can rely on signals to stop threads (even those waiting inside pthread calls) just as I do for LINUXLIBC6. I will be checking in an updated ThreadPThread and fixed cm3.cfg shortly. I hope you can test your installation once I have done this -- hopefully you will be happy... :-) Cheers, Tony On Oct 5, 2007, at 12:42 PM, Alex Bochannek wrote: > OK, here's what I get now. > > Without @M3paranoidgc: > > bash-3.00# m3gdb cvsup > GNU gdb plus Modula-3 6.4 > Copyright 2005 Free Software Foundation, Inc. > GDB is free software, covered by the GNU General Public License, > and you are > welcome to change it and/or distribute copies of it under certain > conditions. > Type "show copying" to see the conditions. > There is absolutely no warranty for GDB. Type "show warranty" for > details. > This GDB was configured as "sparc-sun-solaris2"... > (m3gdb) dir cm3/m3-libs/m3core/src/runtime/common/:/opt/cm3/cvsup- > snap-16.1h/suplib/src:/opt/cm3/cvsup-snap-16.1h/client/src/ > Source directories searched: /opt/cm3/cm3/m3-libs/m3core/src/ > runtime/common:/opt/cm3/cvsup-snap-16.1h/suplib/src:/opt/cm3/cvsup- > snap-16.1h/client/src:$cdir:$cwd > (m3gdb) set args -g cvsupfile.cm3 > (m3gdb) r > Starting program: /usr/local/bin/cvsup -g cvsupfile.cm3 > warning: Lowest section in /lib/libw.so.1 is .dynamic at 00000074 > warning: Lowest section in /lib/libdl.so.1 is .dynamic at 00000094 > warning: Lowest section in /lib/libpthread.so.1 is .dynamic at > 00000074 > warning: Lowest section in /lib/libthread.so.1 is .dynamic at 00000074 > [New LWP 1] > [New LWP 2] > [New LWP 3] > [New LWP 4] > Connected to birch.elegosoft.com > [New LWP 5] > [New LWP 6] > [New LWP 7] > [New LWP 8] > [New LWP 9] > [New LWP 10] > [New LWP 11] > Updating collection cm3/cvs > SetAttrs cm3/COPYRIGHT-BSD,v > SetAttrs cm3/COPYRIGHT-CMASS,v > SetAttrs cm3/COPYRIGHT-COLUMBIA,v > SetAttrs cm3/COPYRIGHT-DEC,v > SetAttrs cm3/COPYRIGHT-JDP,v > SetAttrs cm3/COPYRIGHT-PURDUE,v > SetAttrs cm3/COPYRIGHT-XEROX,v > SetAttrs cm3/COPYRIGHTS,v > SetAttrs cm3/README,v > SetAttrs cm3/caltech-parser/COPYRIGHT,v > SetAttrs cm3/caltech-parser/Makefile,v > SetAttrs cm3/caltech-parser/PkgTags,v > SetAttrs cm3/caltech-parser/README,v > SetAttrs cm3/caltech-parser/README.cm3,v > SetAttrs cm3/caltech-parser/cit_common/.cvsignore,v > SetAttrs cm3/caltech-parser/cit_common/Makefile,v > SetAttrs cm3/caltech-parser/cit_common/PkgTags,v > SetAttrs cm3/caltech-parser/cit_common/src/TextReader.i3,v > SetAttrs cm3/caltech-parser/cit_common/src/TextReader.m3,v > SetAttrs cm3/caltech-parser/cit_common/src/m3makefile,v > SetAttrs cm3/caltech-parser/cit_common/src/m3overrides,v > SetAttrs cm3/caltech-parser/cit_util/.cvsignore,v > SetAttrs cm3/caltech-parser/cit_util/Makefile,v > SetAttrs cm3/caltech-parser/cit_util/PkgTags,v > SetAttrs cm3/caltech-parser/cit_util/src/ArrayRef.ig,v > SetAttrs cm3/caltech-parser/cit_util/src/ArrayRef.mg,v > SetAttrs cm3/caltech-parser/cit_util/src/BrandedSet.ig,v > SetAttrs cm3/caltech-parser/cit_util/src/BrandedSet.mg,v > SetAttrs cm3/caltech-parser/cit_util/src/COPYRIGHT,v > SetAttrs cm3/caltech-parser/cit_util/src/DblRefany.i3,v > SetAttrs cm3/caltech-parser/cit_util/src/DblTable.ig,v > SetAttrs cm3/caltech-parser/cit_util/src/DblTable.mg,v > SetAttrs cm3/caltech-parser/cit_util/src/Debug.i3,v > SetAttrs cm3/caltech-parser/cit_util/src/Debug.m3,v > SetAttrs cm3/caltech-parser/cit_util/src/Equivalence.ig,v > SetAttrs cm3/caltech-parser/cit_util/src/Equivalence.mg,v > SetAttrs cm3/caltech-parser/cit_util/src/KeyPair.ig,v > SetAttrs cm3/caltech-parser/cit_util/src/KeyPair.mg,v > SetAttrs cm3/caltech-parser/cit_util/src/OpenArrayTable.ig,v > SetAttrs cm3/caltech-parser/cit_util/src/OpenArrayTable.mg,v > SetAttrs cm3/caltech-parser/cit_util/src/RTBrand.i3,v > SetAttrs cm3/caltech-parser/cit_util/src/RTBrand.m3,v > SetAttrs cm3/caltech-parser/cit_util/src/Ref.ig,v > SetAttrs cm3/caltech-parser/cit_util/src/Ref.mg,v > SetAttrs cm3/caltech-parser/cit_util/src/SIsuffix.i3,v > SetAttrs cm3/caltech-parser/cit_util/src/SIsuffix.m3,v > SetAttrs cm3/caltech-parser/cit_util/src/TextSubs.i3,v > SetAttrs cm3/caltech-parser/cit_util/src/TextSubs.m3,v > SetAttrs cm3/caltech-parser/cit_util/src/TextTextTblExtras.i3,v > > Program received signal SIGSEGV, Segmentation fault. > [Switching to LWP 11] > 0x0045ac34 in Length (t=16_000000fe) at Text.m3:16 > 16 Text.m3: No such file or directory. > in Text.m3 > (m3gdb) bt > #0 0x0045ac34 in Length (t=16_000000fe) at Text.m3:16 > #1 0x0036d2a8 in PathCompare (a=16_000000fe, b=16_000000fe) at > SupMiscText.m3:166 > #2 0x00355734 in Compare (a=16_000000fe, b=16_000000fe) at > FileStatus.m3:67 > #3 0x0035a95c in WrPut (ww=16_000000fe, fs=16_000000fe) at > FileStatus.m3:505 > #4 0x0035e5a0 in Get (self=16_000000fe, name=16_000000fe, > isDirUp=FALSE, deleteTo=FALSE) at StatusFile.m3:151 > #5 0x0035f434 in Put (self=16_000000fe, fs=16_000000fe) at > StatusFile.m3:214 > #6 0x0008938c in UpdateCheckoutInfo (self=16_000000fe, > sfr=16_000000fe, name=16_000000fe, tag=16_000000fe, > date=16_000000fe, revNum=16_000000fe, revDate=16_000000fe, > rcsAttr=16_000000fe) at Updater.m3:869 > #7 0x00083c80 in UpdateCollection (self=16_000000fe, > sfr=16_000000fe, isFixups=FALSE) at Updater.m3:435 > #8 0x000800e0 in UpdateBatch (self=16_000000fe, isFixups=FALSE) at > Updater.m3:151 > #9 0x0007f508 in Apply (self=16_000000fe) at Updater.m3:90 > #10 0x0044b0c8 in RunThread (me=NIL) at ThreadPThread.m3:540 > #11 0x0044acc4 in ThreadBase (param=NIL) at ThreadPThread.m3:521 > #12 0xfeebfff8 in _lwp_start () from /lib/libc.so.1 > #13 0xfeebfff8 in _lwp_start () from /lib/libc.so.1 > Previous frame identical to this frame (corrupt stack?) > (m3gdb) shell > bash-3.00# find /opt/cm3/cm3 -name Text.m3 > /opt/cm3/cm3/m3-libs/m3core/src/text/Text.m3 > bash-3.00# exit > exit > (m3gdb) dir /opt/cm3/cm3/m3-libs/m3core/src/text > Source directories searched: /opt/cm3/cm3/m3-libs/m3core/src/text:/ > opt/cm3/cm3/m3-libs/m3core/src/runtime/common:/opt/cm3/cvsup- > snap-16.1h/suplib/src:/opt/cm3/cvsup-snap-16.1h/client/src:$cdir:$cwd > (m3gdb) bt > #0 0x0045ac34 in Length (t=16_000000fe) at Text.m3:16 > #1 0x0036d2a8 in PathCompare (a=16_000000fe, b=16_000000fe) at > SupMiscText.m3:166 > #2 0x00355734 in Compare (a=16_000000fe, b=16_000000fe) at > FileStatus.m3:67 > #3 0x0035a95c in WrPut (ww=16_000000fe, fs=16_000000fe) at > FileStatus.m3:505 > #4 0x0035e5a0 in Get (self=16_000000fe, name=16_000000fe, > isDirUp=FALSE, deleteTo=FALSE) at StatusFile.m3:151 > #5 0x0035f434 in Put (self=16_000000fe, fs=16_000000fe) at > StatusFile.m3:214 > #6 0x0008938c in UpdateCheckoutInfo (self=16_000000fe, > sfr=16_000000fe, name=16_000000fe, tag=16_000000fe, > date=16_000000fe, revNum=16_000000fe, revDate=16_000000fe, > rcsAttr=16_000000fe) at Updater.m3:869 > #7 0x00083c80 in UpdateCollection (self=16_000000fe, > sfr=16_000000fe, isFixups=FALSE) at Updater.m3:435 > #8 0x000800e0 in UpdateBatch (self=16_000000fe, isFixups=FALSE) at > Updater.m3:151 > #9 0x0007f508 in Apply (self=16_000000fe) at Updater.m3:90 > #10 0x0044b0c8 in RunThread (me=NIL) at ThreadPThread.m3:540 > #11 0x0044acc4 in ThreadBase (param=NIL) at ThreadPThread.m3:521 > #12 0xfeebfff8 in _lwp_start () from /lib/libc.so.1 > #13 0xfeebfff8 in _lwp_start () from /lib/libc.so.1 > (m3gdb) list > 11 TYPE Info = TextClass.Info; > 12 > 13 PROCEDURE Length (t: T): CARDINAL = > 14 VAR i: Info; > 15 BEGIN > 16 t.get_info (i); > 17 RETURN i.length; > 18 END Length; > 19 > 20 PROCEDURE Empty (t: T): BOOLEAN = > (m3gdb) > > > And with @M3paranoidgc: > > bash-3.00# m3gdb cvsup > GNU gdb plus Modula-3 6.4 > Copyright 2005 Free Software Foundation, Inc. > GDB is free software, covered by the GNU General Public License, > and you are > welcome to change it and/or distribute copies of it under certain > conditions. > Type "show copying" to see the conditions. > There is absolutely no warranty for GDB. Type "show warranty" for > details. > This GDB was configured as "sparc-sun-solaris2"... > (m3gdb) dir /opt/cm3/cm3/m3-libs/m3core/src/text:cm3/m3-libs/m3core/ > src/runtime/common/:/opt/cm3/cvsup-snap-16.1h/suplib/src:/opt/cm3/ > cvsup-snap-16.1h/client/src/ > Source directories searched: /opt/cm3/cm3/m3-libs/m3core/src/text:/ > opt/cm3/cm3/m3-libs/m3core/src/runtime/common:/opt/cm3/cvsup- > snap-16.1h/suplib/src:/opt/cm3/cvsup-snap-16.1h/client/src:$cdir:$cwd > (m3gdb) set args @M3paranoidgc -g cvsupfile.cm3 > (m3gdb) r > Starting program: /usr/local/bin/cvsup @M3paranoidgc -g cvsupfile.cm3 > warning: Lowest section in /lib/libw.so.1 is .dynamic at 00000074 > warning: Lowest section in /lib/libdl.so.1 is .dynamic at 00000094 > warning: Lowest section in /lib/libpthread.so.1 is .dynamic at > 00000074 > warning: Lowest section in /lib/libthread.so.1 is .dynamic at 00000074 > [New LWP 1] > [New LWP 2] > [New LWP 3] > [New LWP 4] > Connected to birch.elegosoft.com > [New LWP 5] > [New LWP 6] > [New LWP 7] > [New LWP 8] > [New LWP 9] > [New LWP 10] > [New LWP 11] > > > *** > *** runtime error: > *** <*ASSERT*> failed. > *** file "../src/runtime/common/RTCollector.m3", line 1770 > *** > > > Program received signal SIGABRT, Aborted. > [Switching to LWP 9] > 0xfeec11e4 in _lwp_kill () from /lib/libc.so.1 > (m3gdb) bt > #0 0xfeec11e4 in _lwp_kill () from /lib/libc.so.1 > #1 0xfee5fde0 in raise () from /lib/libc.so.1 > #2 0xfee40000 in abort () from /lib/libc.so.1 > #3 0x004416ec in Crash () at RTOS.m3:20 > #4 0x00437810 in Crash (msg=NIL) at RTProcess.m3:65 > #5 0x0043477c in EndError (crash=FALSE) at RTError.m3:115 > #6 0x004342dc in MsgS (file=NIL, line=0, msgA=NIL, msgB=NIL, > msgC=NIL) at RTError.m3:40 > #7 0x00434e9c in Crash (a=Cannot access memory at address 0xfe > ) at RTException.m3:79 > #8 0x00434a38 in DefaultBackstop (a=Cannot access memory at > address 0xfe > ) at RTException.m3:39 > #9 0x004348f4 in InvokeBackstop (a=Cannot access memory at address > 0xfe > ) at RTException.m3:25 > #10 0x004434b8 in Raise (act=Cannot access memory at address 0xfe > ) at RTExStack.m3:34 > #11 0x00434b34 in DefaultBackstop (a=Cannot access memory at > address 0xfe > ) at RTException.m3:47 > #12 0x004348f4 in InvokeBackstop (a=Cannot access memory at address > 0xfe > ) at RTException.m3:25 > #13 0x004434b8 in Raise (act=Cannot access memory at address 0xfe > ) at RTExStack.m3:34 > #14 0x0041aa58 in ReportFault (module=NIL, info=0) at RTHooks.m3:110 > #15 0x00430b04 in _m3_fault (arg=0) > #16 0x00427f5c in RefSanityCheck (v=16_000000fe, cp=16_000000fe) at > RTCollector.m3:1770 > #17 0x0046d7f8 in Walk (x=16_000000fe, pc=NIL, v=16_000000fe) at > RTHeapMap.m3:193 > #18 0x0046cc70 in DoWalkRef (t=NIL, a=16_000000fe, v=16_000000fe) > at RTHeapMap.m3:62 > #19 0x0046cc30 in DoWalkRef (t=NIL, a=16_000000fe, v=16_000000fe) > at RTHeapMap.m3:57 > #20 0x0046cbb0 in WalkRef (h=16_000000fe, v=16_000000fe) at > RTHeapMap.m3:47 > #21 0x00427704 in SanityCheck (self=16_000000fe) at > RTCollector.m3:1723 > #22 0x00426f4c in After (self=16_000000fe) at RTCollector.m3:1694 > #23 0x0041e060 in InvokeMonitors (before=FALSE) at RTHeapRep.m3:59 > #24 0x00422f54 in CollectSomeInStateFive () at RTCollector.m3:992 > #25 0x004217dc in CollectSome () at RTCollector.m3:744 > #26 0x00420e04 in CollectEnough () at RTCollector.m3:654 > #27 0x00425724 in AllocTraced (def=NIL, dataSize=0, > dataAlignment=0, initProc=Cannot access memory at address 0xfe > ) at RTCollector.m3:1413 > #28 0x0041c02c in GetTracedObj (def=NIL) at RTAllocator.m3:223 > #29 0x0041b9c4 in AllocateTracedObj (defn=NIL) at RTAllocator.m3:141 > #30 0x0046076c in Sub (t=16_000000fe, start=0, length=127) at > TextSub.m3:78 > #31 0x00354374 in PathLast (p=16_000000fe) at SupMisc.m3:431 > #32 0x00074844 in PutCollectionList (self=16_000000fe, > sfr=16_000000fe) at TreeList.m3:477 > #33 0x000709c8 in ListCollection (self=16_000000fe, > sfr=16_000000fe) at TreeList.m3:136 > #34 0x0006fb84 in Apply (self=16_000000fe) at TreeList.m3:65 > #35 0x0044b0c8 in RunThread (me=NIL) at ThreadPThread.m3:540 > #36 0x0044acc4 in ThreadBase (param=NIL) at ThreadPThread.m3:521 > #37 0xfeebfff8 in _lwp_start () from /lib/libc.so.1 > #38 0xfeebfff8 in _lwp_start () from /lib/libc.so.1 > Previous frame identical to this frame (corrupt stack?) > (m3gdb) > > > Alex. From hosking at cs.purdue.edu Mon Oct 8 22:17:56 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Mon, 8 Oct 2007 16:17:56 -0400 Subject: [M3devel] Solaris at last In-Reply-To: References: <68B70FA8-00B1-4C76-8E9B-C249D84C134F@cs.purdue.edu> Message-ID: <1A86C2BE-07EA-4C60-888F-3AA2B72A2E9A@cs.purdue.edu> It's really great to hear that. Yes, on Solaris I now use SIGUSR2 as the signal to stop all threads for GC. I might change that at some point to be one of the real-time signals (also, to avoid interfering with application level use of SIGUSR2), but SIGUSR2 seems to work OK for now. When using m3gdb to debug applications you can use the command: handle SIGUSR2 noprint nostop to ignore the signal. Regards, Tony On Oct 8, 2007, at 3:47 PM, Alex Bochannek wrote: > Tony, > > The change looks really good, so far I have not had an error. > > I did notice a change when running under m3gdb however: > > (m3gdb) r > Starting program: /usr/local/bin/cvsup > warning: Lowest section in /lib/libw.so.1 is .dynamic at 00000074 > warning: Lowest section in /lib/libpthread.so.1 is .dynamic at > 00000074 > warning: Lowest section in /lib/libdl.so.1 is .dynamic at 00000094 > [New LWP 1] > [New LWP 2] > [New LWP 3] > > Program received signal SIGUSR2, User defined signal 2. > [Switching to LWP 2] > 0xfeec0090 in __lwp_park () from /lib/libc.so.1 > (m3gdb) > > Alex. From dabenavidesd at yahoo.es Thu Oct 11 00:18:45 2007 From: dabenavidesd at yahoo.es (Daniel Alejandro Benavides D.) Date: Thu, 11 Oct 2007 00:18:45 +0200 (CEST) Subject: [M3devel] Failing in linking phase of cm3 upgrade.sh Message-ID: <882682.75191.qm@web27104.mail.ukl.yahoo.com> Hi: Im compiling the entire cm3 lastest sources, but get into this error, in the link phase, I used upgrade.sh (also on do-cm3-std.sh buildship but in the linking of m3cgcat) What can be wrong here, could be related with the shown behaviour with NThreads program? new exporters -> recompiling Utils.i3 -> linking cm3 /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__InnerLockMutex':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:127: undefined reference to `pthread_cond_wait' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `Thread__Acquire':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:142: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:144: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__InnerUnlockMutex':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:168: undefined reference to `pthread_cond_signal' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `Thread__Release':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:179: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:181: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__XWait':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:195: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:217: undefined reference to `pthread_cond_wait' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread_M3_LINE_222':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:237: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__DequeueHead':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:273: undefined reference to `pthread_cond_signal' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `Thread__Signal':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:278: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:280: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `Thread__Broadcast':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:285: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:287: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `Thread__Alert':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:292: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:295: undefined reference to `pthread_cond_signal' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:297: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__XTestAlert':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:303: undefined reference to `pthread_mutex_lock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread_M3_LINE_306':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:307: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__InitActivations':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:334: undefined reference to `pthread_key_create' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:335: undefined reference to `pthread_setspecific' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:336: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:338: undefined reference to `pthread_self' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:343: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__SetActivation':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:351: undefined reference to `pthread_setspecific' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__GetActivation':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:359: undefined reference to `pthread_getspecific' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `Thread(...)(long, float) static':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:370: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:372: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__AssignSlot':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:381: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:385: undefined reference to `pthread_mutex_unlock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:387: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:391: undefined reference to `pthread_mutex_unlock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:393: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:403: undefined reference to `pthread_mutex_unlock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:418: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__FreeSlot':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:424: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:433: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__CheckSlot':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:442: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:444: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__CreateT':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:489: undefined reference to `pthread_cond_init' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__RunThread':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:521: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:523: undefined reference to `pthread_mutex_unlock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:546: undefined reference to `pthread_cond_destroy' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:553: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:559: undefined reference to `pthread_detach' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:560: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `Thread__Fork':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:577: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:578: undefined reference to `pthread_attr_init' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:579: undefined reference to `pthread_attr_getstacksize' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:581: undefined reference to `pthread_attr_setstacksize' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:588: undefined reference to `pthread_create' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:604: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadF__SuspendOthers':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:892: undefined reference to `pthread_mutex_lock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadF__ResumeOthers':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:901: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__SuspendAll':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1017: undefined reference to `pthread_kill' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__RestartAll':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1058: undefined reference to `pthread_kill' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__StopWorld':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1086: undefined reference to `sem_getvalue' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1091: undefined reference to `sem_getvalue' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1107: undefined reference to `sem_wait' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__SignalHandler':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1156: undefined reference to `sem_post' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__SetupHandlers':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1176: undefined reference to `sem_init' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__PerfChanged':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1259: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1261: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__PerfDeleted':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1267: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1269: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__PerfRunning':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1275: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1277: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadF__Init':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1300: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1302: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `RTOS__LockHeap':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1333: undefined reference to `pthread_self' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1335: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1338: undefined reference to `pthread_equal' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1340: undefined reference to `pthread_cond_wait' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1343: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `RTOS__UnlockHeap':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1349: undefined reference to `pthread_self' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1351: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1352: undefined reference to `pthread_equal' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1355: undefined reference to `pthread_cond_signal' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1358: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadF__GetCurrentHandlers':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1383: undefined reference to `pthread_getspecific' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadF__SetCurrentHandlers':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1389: undefined reference to `pthread_setspecific' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `RTHooks__PushEFrame':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1398: undefined reference to `pthread_getspecific' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1399: undefined reference to `pthread_setspecific' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `RTHooks__PopEFrame':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1406: undefined reference to `pthread_setspecific' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__InitHandlers':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1411: undefined reference to `pthread_key_create' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1412: undefined reference to `pthread_setspecific' /usr/lib/gcc/i486-linux-gnu/4.1.0/../../../../lib/libc.a(vfork.o): In function `vfork': undefined reference to `pthread_create' collect2: ld returned 1 exit status Fatal Error: package build failed *** execution of failed *** danielb at danielb-desktop:~/cm3-cvs/cm3/scripts$ cd .. Thanks, --------------------------------- S? un Mejor Amante del Cine ?Quieres saber c?mo? ?Deja que otras personas te ayuden!. -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at cs.purdue.edu Thu Oct 11 00:29:09 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Wed, 10 Oct 2007 18:29:09 -0400 Subject: [M3devel] Failing in linking phase of cm3 upgrade.sh In-Reply-To: <882682.75191.qm@web27104.mail.ukl.yahoo.com> References: <882682.75191.qm@web27104.mail.ukl.yahoo.com> Message-ID: <0F3D1AE7-CC8E-476F-A773-1F6389207B92@cs.purdue.edu> What platform? On Oct 10, 2007, at 6:18 PM, Daniel Alejandro Benavides D. wrote: > Hi: > Im compiling the entire cm3 lastest sources, but get into this > error, in the link phase, I used upgrade.sh (also on do-cm3-std.sh > buildship but in the linking of m3cgcat) > > What can be wrong here, could be related with the shown behaviour > with NThreads program? > > > new exporters -> recompiling Utils.i3 > -> linking cm3 > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__InnerLockMutex':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:127: undefined reference to `pthread_cond_wait' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Acquire':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:142: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:144: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__InnerUnlockMutex':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:168: undefined reference to `pthread_cond_signal' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Release':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:179: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:181: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__XWait':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:195: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:217: undefined reference to `pthread_cond_wait' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread_M3_LINE_222':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:237: > undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__DequeueHead':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:273: > undefined reference to `pthread_cond_signal' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Signal':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:278: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:280: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Broadcast':/home/danielb/ > cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:285: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:287: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Alert':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:292: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:295: undefined reference to `pthread_cond_signal' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:297: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__XTestAlert':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:303: > undefined reference to `pthread_mutex_lock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread_M3_LINE_306':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:307: > undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__InitActivations':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:334: undefined reference to `pthread_key_create' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:335: undefined reference to `pthread_setspecific' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:336: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:338: undefined reference to `pthread_self' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:343: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__SetActivation':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:351: undefined reference to `pthread_setspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__GetActivation':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:359: undefined reference to `pthread_getspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread(...)(long, float) static':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:370: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:372: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__AssignSlot':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:381: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:385: undefined reference to `pthread_mutex_unlock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:387: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:391: undefined reference to `pthread_mutex_unlock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:393: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:403: undefined reference to `pthread_mutex_unlock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:418: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__FreeSlot':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:424: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:433: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__CheckSlot':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:442: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:444: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__CreateT':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:489: > undefined reference to `pthread_cond_init' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__RunThread':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:521: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:523: undefined reference to `pthread_mutex_unlock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:546: undefined reference to `pthread_cond_destroy' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:553: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:559: undefined reference to `pthread_detach' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:560: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Fork':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:577: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:578: undefined reference to `pthread_attr_init' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:579: undefined reference to > `pthread_attr_getstacksize' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:581: undefined reference to > `pthread_attr_setstacksize' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:588: undefined reference to `pthread_create' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:604: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadF__SuspendOthers':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:892: > undefined reference to `pthread_mutex_lock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadF__ResumeOthers':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:901: > undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__SuspendAll':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1017: undefined reference to `pthread_kill' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__RestartAll':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1058: undefined reference to `pthread_kill' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__StopWorld':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1086: undefined reference to `sem_getvalue' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1091: undefined reference to `sem_getvalue' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1107: undefined reference to `sem_wait' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__SignalHandler':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1156: undefined reference to `sem_post' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__SetupHandlers':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1176: undefined reference to `sem_init' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__PerfChanged':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1259: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1261: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__PerfDeleted':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1267: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1269: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__PerfRunning':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1275: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1277: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadF__Init':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1300: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1302: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `RTOS__LockHeap':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1333: undefined > reference to `pthread_self' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1335: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1338: undefined reference to `pthread_equal' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1340: undefined reference to `pthread_cond_wait' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1343: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `RTOS__UnlockHeap':/home/danielb/ > cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1349: > undefined reference to `pthread_self' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1351: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1352: undefined reference to `pthread_equal' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1355: undefined reference to `pthread_cond_signal' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1358: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadF__GetCurrentHandlers':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1383: undefined reference to `pthread_getspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadF__SetCurrentHandlers':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1389: undefined reference to `pthread_setspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `RTHooks__PushEFrame':/home/danielb/ > cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1398: > undefined reference to `pthread_getspecific' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1399: undefined reference to `pthread_setspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `RTHooks__PopEFrame':/home/danielb/ > cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1406: > undefined reference to `pthread_setspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__InitHandlers':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1411: undefined reference to `pthread_key_create' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1412: undefined reference to `pthread_setspecific' > /usr/lib/gcc/i486-linux-gnu/4.1.0/../../../../lib/libc.a(vfork.o): > In function `vfork': undefined reference to `pthread_create' > collect2: ld returned 1 exit status > Fatal Error: package build failed > *** execution of failed *** > danielb at danielb-desktop:~/cm3-cvs/cm3/scripts$ cd .. > > > Thanks, > > > S? un Mejor Amante del Cine > ?Quieres saber c?mo? ?Deja que otras personas te ayuden! . From dabenavidesd at yahoo.es Thu Oct 11 00:31:38 2007 From: dabenavidesd at yahoo.es (Daniel Alejandro Benavides D.) Date: Thu, 11 Oct 2007 00:31:38 +0200 (CEST) Subject: [M3devel] Failing in linking phase of cm3 upgrade.sh In-Reply-To: <0F3D1AE7-CC8E-476F-A773-1F6389207B92@cs.purdue.edu> Message-ID: <21253.7899.qm@web27113.mail.ukl.yahoo.com> Hi LINUXLIBC6 on Ubuntu Dapper 6.06, 32 bits Thanks Tony Hosking escribi?: What platform? On Oct 10, 2007, at 6:18 PM, Daniel Alejandro Benavides D. wrote: > Hi: > Im compiling the entire cm3 lastest sources, but get into this > error, in the link phase, I used upgrade.sh (also on do-cm3-std.sh > buildship but in the linking of m3cgcat) > > What can be wrong here, could be related with the shown behaviour > with NThreads program? > > > new exporters -> recompiling Utils.i3 > -> linking cm3 > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__InnerLockMutex':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:127: undefined reference to `pthread_cond_wait' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Acquire':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:142: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:144: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__InnerUnlockMutex':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:168: undefined reference to `pthread_cond_signal' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Release':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:179: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:181: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__XWait':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:195: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:217: undefined reference to `pthread_cond_wait' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread_M3_LINE_222':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:237: > undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__DequeueHead':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:273: > undefined reference to `pthread_cond_signal' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Signal':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:278: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:280: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Broadcast':/home/danielb/ > cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:285: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:287: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Alert':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:292: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:295: undefined reference to `pthread_cond_signal' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:297: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__XTestAlert':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:303: > undefined reference to `pthread_mutex_lock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread_M3_LINE_306':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:307: > undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__InitActivations':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:334: undefined reference to `pthread_key_create' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:335: undefined reference to `pthread_setspecific' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:336: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:338: undefined reference to `pthread_self' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:343: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__SetActivation':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:351: undefined reference to `pthread_setspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__GetActivation':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:359: undefined reference to `pthread_getspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread(...)(long, float) static':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:370: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:372: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__AssignSlot':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:381: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:385: undefined reference to `pthread_mutex_unlock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:387: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:391: undefined reference to `pthread_mutex_unlock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:393: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:403: undefined reference to `pthread_mutex_unlock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:418: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__FreeSlot':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:424: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:433: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__CheckSlot':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:442: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:444: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__CreateT':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:489: > undefined reference to `pthread_cond_init' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__RunThread':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:521: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:523: undefined reference to `pthread_mutex_unlock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:546: undefined reference to `pthread_cond_destroy' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:553: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:559: undefined reference to `pthread_detach' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:560: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Fork':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:577: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:578: undefined reference to `pthread_attr_init' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:579: undefined reference to > `pthread_attr_getstacksize' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:581: undefined reference to > `pthread_attr_setstacksize' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:588: undefined reference to `pthread_create' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:604: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadF__SuspendOthers':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:892: > undefined reference to `pthread_mutex_lock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadF__ResumeOthers':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:901: > undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__SuspendAll':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1017: undefined reference to `pthread_kill' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__RestartAll':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1058: undefined reference to `pthread_kill' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__StopWorld':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1086: undefined reference to `sem_getvalue' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1091: undefined reference to `sem_getvalue' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1107: undefined reference to `sem_wait' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__SignalHandler':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1156: undefined reference to `sem_post' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__SetupHandlers':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1176: undefined reference to `sem_init' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__PerfChanged':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1259: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1261: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__PerfDeleted':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1267: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1269: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__PerfRunning':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1275: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1277: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadF__Init':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1300: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1302: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `RTOS__LockHeap':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1333: undefined > reference to `pthread_self' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1335: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1338: undefined reference to `pthread_equal' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1340: undefined reference to `pthread_cond_wait' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1343: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `RTOS__UnlockHeap':/home/danielb/ > cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1349: > undefined reference to `pthread_self' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1351: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1352: undefined reference to `pthread_equal' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1355: undefined reference to `pthread_cond_signal' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1358: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadF__GetCurrentHandlers':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1383: undefined reference to `pthread_getspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadF__SetCurrentHandlers':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1389: undefined reference to `pthread_setspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `RTHooks__PushEFrame':/home/danielb/ > cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1398: > undefined reference to `pthread_getspecific' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1399: undefined reference to `pthread_setspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `RTHooks__PopEFrame':/home/danielb/ > cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1406: > undefined reference to `pthread_setspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__InitHandlers':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1411: undefined reference to `pthread_key_create' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1412: undefined reference to `pthread_setspecific' > /usr/lib/gcc/i486-linux-gnu/4.1.0/../../../../lib/libc.a(vfork.o): > In function `vfork': undefined reference to `pthread_create' > collect2: ld returned 1 exit status > Fatal Error: package build failed > *** execution of failed *** > danielb at danielb-desktop:~/cm3-cvs/cm3/scripts$ cd .. > > > Thanks, > > > S? un Mejor Amante del Cine > ?Quieres saber c?mo? ?Deja que otras personas te ayuden! . --------------------------------- S? un Mejor Amante del Cine ?Quieres saber c?mo? ?Deja que otras personas te ayuden!. -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at cs.purdue.edu Thu Oct 11 00:31:57 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Wed, 10 Oct 2007 18:31:57 -0400 Subject: [M3devel] Failing in linking phase of cm3 upgrade.sh In-Reply-To: <882682.75191.qm@web27104.mail.ukl.yahoo.com> References: <882682.75191.qm@web27104.mail.ukl.yahoo.com> Message-ID: Sorry, reading further I see you are using Linux. It looks like you are not linking with the pthread library. Try putting -lpthread into your definition of LIBC in your cm3.cfg. On Oct 10, 2007, at 6:18 PM, Daniel Alejandro Benavides D. wrote: > Hi: > Im compiling the entire cm3 lastest sources, but get into this > error, in the link phase, I used upgrade.sh (also on do-cm3-std.sh > buildship but in the linking of m3cgcat) > > What can be wrong here, could be related with the shown behaviour > with NThreads program? > > > new exporters -> recompiling Utils.i3 > -> linking cm3 > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__InnerLockMutex':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:127: undefined reference to `pthread_cond_wait' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Acquire':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:142: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:144: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__InnerUnlockMutex':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:168: undefined reference to `pthread_cond_signal' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Release':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:179: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:181: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__XWait':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:195: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:217: undefined reference to `pthread_cond_wait' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread_M3_LINE_222':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:237: > undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__DequeueHead':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:273: > undefined reference to `pthread_cond_signal' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Signal':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:278: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:280: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Broadcast':/home/danielb/ > cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:285: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:287: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Alert':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:292: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:295: undefined reference to `pthread_cond_signal' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:297: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__XTestAlert':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:303: > undefined reference to `pthread_mutex_lock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread_M3_LINE_306':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:307: > undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__InitActivations':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:334: undefined reference to `pthread_key_create' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:335: undefined reference to `pthread_setspecific' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:336: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:338: undefined reference to `pthread_self' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:343: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__SetActivation':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:351: undefined reference to `pthread_setspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__GetActivation':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:359: undefined reference to `pthread_getspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread(...)(long, float) static':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:370: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:372: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__AssignSlot':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:381: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:385: undefined reference to `pthread_mutex_unlock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:387: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:391: undefined reference to `pthread_mutex_unlock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:393: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:403: undefined reference to `pthread_mutex_unlock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:418: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__FreeSlot':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:424: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:433: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__CheckSlot':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:442: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:444: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__CreateT':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:489: > undefined reference to `pthread_cond_init' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__RunThread':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:521: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:523: undefined reference to `pthread_mutex_unlock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:546: undefined reference to `pthread_cond_destroy' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:553: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:559: undefined reference to `pthread_detach' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:560: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Fork':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:577: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:578: undefined reference to `pthread_attr_init' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:579: undefined reference to > `pthread_attr_getstacksize' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:581: undefined reference to > `pthread_attr_setstacksize' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:588: undefined reference to `pthread_create' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:604: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadF__SuspendOthers':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:892: > undefined reference to `pthread_mutex_lock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadF__ResumeOthers':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:901: > undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__SuspendAll':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1017: undefined reference to `pthread_kill' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__RestartAll':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1058: undefined reference to `pthread_kill' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__StopWorld':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1086: undefined reference to `sem_getvalue' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1091: undefined reference to `sem_getvalue' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1107: undefined reference to `sem_wait' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__SignalHandler':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1156: undefined reference to `sem_post' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__SetupHandlers':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1176: undefined reference to `sem_init' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__PerfChanged':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1259: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1261: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__PerfDeleted':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1267: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1269: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__PerfRunning':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1275: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1277: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadF__Init':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1300: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1302: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `RTOS__LockHeap':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1333: undefined > reference to `pthread_self' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1335: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1338: undefined reference to `pthread_equal' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1340: undefined reference to `pthread_cond_wait' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1343: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `RTOS__UnlockHeap':/home/danielb/ > cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1349: > undefined reference to `pthread_self' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1351: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1352: undefined reference to `pthread_equal' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1355: undefined reference to `pthread_cond_signal' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1358: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadF__GetCurrentHandlers':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1383: undefined reference to `pthread_getspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadF__SetCurrentHandlers':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1389: undefined reference to `pthread_setspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `RTHooks__PushEFrame':/home/danielb/ > cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1398: > undefined reference to `pthread_getspecific' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1399: undefined reference to `pthread_setspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `RTHooks__PopEFrame':/home/danielb/ > cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1406: > undefined reference to `pthread_setspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__InitHandlers':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1411: undefined reference to `pthread_key_create' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1412: undefined reference to `pthread_setspecific' > /usr/lib/gcc/i486-linux-gnu/4.1.0/../../../../lib/libc.a(vfork.o): > In function `vfork': undefined reference to `pthread_create' > collect2: ld returned 1 exit status > Fatal Error: package build failed > *** execution of failed *** > danielb at danielb-desktop:~/cm3-cvs/cm3/scripts$ cd .. > > > Thanks, > > > S? un Mejor Amante del Cine > ?Quieres saber c?mo? ?Deja que otras personas te ayuden! . From dabenavidesd at yahoo.es Thu Oct 11 00:46:56 2007 From: dabenavidesd at yahoo.es (Daniel Alejandro Benavides D.) Date: Thu, 11 Oct 2007 00:46:56 +0200 (CEST) Subject: [M3devel] Failing in linking phase of cm3 upgrade.sh In-Reply-To: Message-ID: <412093.65880.qm@web27103.mail.ukl.yahoo.com> Hi: Yes, Its working again. Thanks Tony Hosking escribi?: Sorry, reading further I see you are using Linux. It looks like you are not linking with the pthread library. Try putting -lpthread into your definition of LIBC in your cm3.cfg. On Oct 10, 2007, at 6:18 PM, Daniel Alejandro Benavides D. wrote: > Hi: > Im compiling the entire cm3 lastest sources, but get into this > error, in the link phase, I used upgrade.sh (also on do-cm3-std.sh > buildship but in the linking of m3cgcat) > > What can be wrong here, could be related with the shown behaviour > with NThreads program? > > > new exporters -> recompiling Utils.i3 > -> linking cm3 > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__InnerLockMutex':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:127: undefined reference to `pthread_cond_wait' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Acquire':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:142: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:144: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__InnerUnlockMutex':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:168: undefined reference to `pthread_cond_signal' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Release':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:179: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:181: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__XWait':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:195: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:217: undefined reference to `pthread_cond_wait' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread_M3_LINE_222':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:237: > undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__DequeueHead':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:273: > undefined reference to `pthread_cond_signal' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Signal':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:278: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:280: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Broadcast':/home/danielb/ > cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:285: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:287: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Alert':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:292: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:295: undefined reference to `pthread_cond_signal' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:297: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__XTestAlert':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:303: > undefined reference to `pthread_mutex_lock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread_M3_LINE_306':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:307: > undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__InitActivations':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:334: undefined reference to `pthread_key_create' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:335: undefined reference to `pthread_setspecific' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:336: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:338: undefined reference to `pthread_self' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:343: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__SetActivation':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:351: undefined reference to `pthread_setspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__GetActivation':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:359: undefined reference to `pthread_getspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread(...)(long, float) static':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:370: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:372: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__AssignSlot':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:381: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:385: undefined reference to `pthread_mutex_unlock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:387: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:391: undefined reference to `pthread_mutex_unlock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:393: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:403: undefined reference to `pthread_mutex_unlock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:418: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__FreeSlot':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:424: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:433: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__CheckSlot':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:442: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:444: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__CreateT':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:489: > undefined reference to `pthread_cond_init' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__RunThread':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:521: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:523: undefined reference to `pthread_mutex_unlock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:546: undefined reference to `pthread_cond_destroy' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:553: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:559: undefined reference to `pthread_detach' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:560: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Fork':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:577: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:578: undefined reference to `pthread_attr_init' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:579: undefined reference to > `pthread_attr_getstacksize' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:581: undefined reference to > `pthread_attr_setstacksize' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:588: undefined reference to `pthread_create' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:604: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadF__SuspendOthers':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:892: > undefined reference to `pthread_mutex_lock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadF__ResumeOthers':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:901: > undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__SuspendAll':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1017: undefined reference to `pthread_kill' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__RestartAll':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1058: undefined reference to `pthread_kill' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__StopWorld':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1086: undefined reference to `sem_getvalue' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1091: undefined reference to `sem_getvalue' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1107: undefined reference to `sem_wait' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__SignalHandler':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1156: undefined reference to `sem_post' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__SetupHandlers':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1176: undefined reference to `sem_init' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__PerfChanged':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1259: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1261: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__PerfDeleted':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1267: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1269: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__PerfRunning':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1275: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1277: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadF__Init':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1300: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1302: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `RTOS__LockHeap':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1333: undefined > reference to `pthread_self' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1335: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1338: undefined reference to `pthread_equal' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1340: undefined reference to `pthread_cond_wait' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1343: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `RTOS__UnlockHeap':/home/danielb/ > cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1349: > undefined reference to `pthread_self' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1351: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1352: undefined reference to `pthread_equal' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1355: undefined reference to `pthread_cond_signal' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1358: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadF__GetCurrentHandlers':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1383: undefined reference to `pthread_getspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadF__SetCurrentHandlers':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1389: undefined reference to `pthread_setspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `RTHooks__PushEFrame':/home/danielb/ > cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1398: > undefined reference to `pthread_getspecific' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1399: undefined reference to `pthread_setspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `RTHooks__PopEFrame':/home/danielb/ > cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1406: > undefined reference to `pthread_setspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__InitHandlers':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1411: undefined reference to `pthread_key_create' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1412: undefined reference to `pthread_setspecific' > /usr/lib/gcc/i486-linux-gnu/4.1.0/../../../../lib/libc.a(vfork.o): > In function `vfork': undefined reference to `pthread_create' > collect2: ld returned 1 exit status > Fatal Error: package build failed > *** execution of failed *** > danielb at danielb-desktop:~/cm3-cvs/cm3/scripts$ cd .. > > > Thanks, > > > S? un Mejor Amante del Cine > ?Quieres saber c?mo? ?Deja que otras personas te ayuden! . --------------------------------- S? un Mejor Amante del Cine ?Quieres saber c?mo? ?Deja que otras personas te ayuden!. -------------- next part -------------- An HTML attachment was scrubbed... URL: From rodney.bates at wichita.edu Thu Oct 11 17:41:02 2007 From: rodney.bates at wichita.edu (Rodney M. Bates) Date: Thu, 11 Oct 2007 10:41:02 -0500 Subject: [M3devel] m3gdb start command and calls on runtime procedures Message-ID: <470E440E.8000005@wichita.edu> The revised 'start' command of m3gdb, that I recently checked in, stops too early, before all the runtime data is initialized, for CM3-compiled code only. If, when stopped at this point, you try to type a call in m3gdb, on anything that allocates heap objects, it will probably fail with runtime errors such as value range errors. Instead, put a breakpoint on the first line of the main module body. At that point, such calls will work. If instead, you put your breakpoint on 'Main.1" (the module body of Main), it will stop there twice, and only after the second stop are things properly initialized. In PM3, things are already initialized when the 'start' command stops. Also, in both CM3 and PM3, there are things in libm3core that are always initialized by the compiler, and some that are only initialized if they appear in the import closure of the program. RTutils is an example of the latter. If your program doesn't import it and you try to call inside it from m3gdb, that will fail also. -- ------------------------------------------------------------- Rodney M. Bates, retired assistant professor Dept. of Computer Science, Wichita State University Wichita, KS 67260-0083 316-978-3922 rodney.bates at wichita.edu From hosking at cs.purdue.edu Fri Oct 12 17:56:15 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Fri, 12 Oct 2007 11:56:15 -0400 Subject: [M3devel] Fwd: Solaris at last References: Message-ID: Anyone aware of file ownership problems with CM3? Begin forwarded message: > From: Alex Bochannek > Date: October 11, 2007 8:17:30 PM EDT > To: Tony Hosking > Subject: Re: Solaris at last > > Got some good news/bad news. > > Good news: The CVSup run doesn't hang anymore and I don't get any > crashes. > > Bad news: There seems to be an issue with file ownership that the > CM3-compiled CVSup client sets incorrectly. The EZM3-compiled one does > it right. I need to look at the code, but not until next week. > > Alex. From jdp at polstra.com Fri Oct 12 18:04:51 2007 From: jdp at polstra.com (John Polstra) Date: Fri, 12 Oct 2007 09:04:51 -0700 Subject: [M3devel] Fwd: Solaris at last In-Reply-To: References: Message-ID: <470F9B23.3050802@polstra.com> Hmm, I assume it's not just something simple like forgetting to run CVSup as root, or running it as root unintentionally. CVSup passes users and groups as names, not numbers. If there were bugs in CM3's getpwdent family of functions, it would cause problems. Probably no other application uses those functions, so CVSup could easily discover new bugs in them. John Tony Hosking wrote: > Anyone aware of file ownership problems with CM3? > > > Begin forwarded message: > >> From: Alex Bochannek >> Date: October 11, 2007 8:17:30 PM EDT >> To: Tony Hosking >> Subject: Re: Solaris at last >> >> Got some good news/bad news. >> >> Good news: The CVSup run doesn't hang anymore and I don't get any >> crashes. >> >> Bad news: There seems to be an issue with file ownership that the >> CM3-compiled CVSup client sets incorrectly. The EZM3-compiled one does >> it right. I need to look at the code, but not until next week. >> >> Alex. > From neels at elego.de Sun Oct 14 00:24:48 2007 From: neels at elego.de (Neels Janosch Hofmeyr) Date: Sun, 14 Oct 2007 00:24:48 +0200 Subject: [M3devel] Pathname.Legal Message-ID: <471145B0.60905@elego.de> Hello all, I encountered the problem that, in my cm3 compile, FS.GetAbsolutePathname cannot handle special characters in file names. As soon as a file contains a special character (?, ?, ?, ...), a Pathname.Invalid exception is raised. This happens because PathnamePosix.m3 has a list of legal characters: CONST Legal = SET OF CHAR {'\001' .. '\177'} - SET OF CHAR {DirSepChar}; which is enforced in Pathname.Compose and Pathname.ParsePosixPathname. Pathname.Legal contains the complete ASCII list -- but no more than that. This means that characters like ? are considered illegal characters. I reversed the Legal list to an Illegal list like this: CONST Illegal = SET OF CHAR {DirSepChar}; and also reversed the IF logic, replacing Legal with Illegal. This way all characters are allowed, except the DirSepChar. And voila, it works. PathnamePosix.m3 accepts weird filenames. So, should this fix be applied to cm3? Regards, Neels cm3/m3-libs/libm3/src/os/POSIX/PathnamePosix.m3: @@ -13,7 +13,7 @@ DirSepChar = '/'; ExtSepChar = '.'; DirSepText = "/"; ExtSepText = "."; -CONST Legal = SET OF CHAR {'\001' .. '\177'} - SET OF CHAR {DirSepChar}; +CONST Illegal = SET OF CHAR {DirSepChar}; PROCEDURE Valid(pn: T): BOOLEAN = PROCEDURE Ignore(<* UNUSED *> start, end: CARDINAL) = BEGIN END Ignore; @@ -51,7 +51,7 @@ WITH arc = a.get(i) DO IF arc = NIL THEN RAISE Invalid END; FOR i := 0 TO Text.Length(arc) - 1 DO - IF NOT Text.GetChar(arc, i) IN Legal THEN RAISE Invalid END + IF Text.GetChar(arc, i) IN Illegal THEN RAISE Invalid END END; t := t & arc END; @@ -159,7 +159,7 @@ IF c = DirSepChar THEN visit(s, e); s := e + 1 - ELSIF NOT c IN Legal THEN + ELSIF c IN Illegal THEN RAISE Invalid END END; -- Neels Janosch Hofmeyr Software Developer neels at elego.de Public Key: http://binarchy.net/neels/neels.hofmeyr.public.key.asc elego Software Solutions GmbH http://www.elegosoft.com Gustav-Meyer-Allee 25, Geb?ude 12 HRB 77719 13355 Berlin, Germany Amtsgericht Charlottenburg Tel.: +49 30 23 45 86 96 Sitz der Gesellschaft: Berlin Fax: +49 30 23 45 86 95 Gesch?ftsf?hrer: Olaf Wagner -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: OpenPGP digital signature URL: From stsp at elego.de Sun Oct 14 12:05:27 2007 From: stsp at elego.de (Stefan Sperling) Date: Sun, 14 Oct 2007 12:05:27 +0200 Subject: [M3devel] Pathname.Legal In-Reply-To: <471145B0.60905@elego.de> References: <471145B0.60905@elego.de> Message-ID: <20071014100526.GA2601@jack.stsp.lan> On Sun, Oct 14, 2007 at 12:24:48AM +0200, Neels Janosch Hofmeyr wrote: > Hello all, > > I encountered the problem that, in my cm3 compile, > FS.GetAbsolutePathname cannot handle special characters in file names. > As soon as a file contains a special character (?, ?, ?, ...), a > Pathname.Invalid exception is raised. > > This happens because PathnamePosix.m3 has a list of legal characters: > > CONST Legal = SET OF CHAR {'\001' .. '\177'} - SET OF CHAR {DirSepChar}; > > which is enforced in Pathname.Compose and Pathname.ParsePosixPathname. > > Pathname.Legal contains the complete ASCII list -- but no more than > that. This means that characters like ? are considered illegal characters. How does CM3 handle locales? Is there a way to access locales (and similar facitilies on non-UNIXish systems) from Modula3 to determine characters the system consideres legal in filenames? At least those encoded in ISO8859* ? > I reversed the Legal list to an Illegal list like this: > > CONST Illegal = SET OF CHAR {DirSepChar}; > > and also reversed the IF logic, replacing Legal with Illegal. This way > all characters are allowed, except the DirSepChar. And voila, it works. > PathnamePosix.m3 accepts weird filenames. What happens now if you try to use a filename that is UTF-8 encoded and contains a character that spans more than one byte? Maybe the restriction to ASCII was made on purpose to protect users from CM3's non-existent unicode support? -- Stefan Sperling Software Developer elego Software Solutions GmbH HRB 77719 Gustav-Meyer-Allee 25, Gebaeude 12 Tel: +49 30 23 45 86 96 13355 Berlin Fax: +49 30 23 45 86 95 http://www.elego.de Geschaeftsfuehrer: Olaf Wagner -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 187 bytes Desc: not available URL: From rodney.bates at wichita.edu Sun Oct 14 13:11:49 2007 From: rodney.bates at wichita.edu (Rodney M. Bates) Date: Sun, 14 Oct 2007 06:11:49 -0500 Subject: [M3devel] Pathname.Legal In-Reply-To: <20071014100526.GA2601@jack.stsp.lan> References: <471145B0.60905@elego.de> <20071014100526.GA2601@jack.stsp.lan> Message-ID: <4711F975.9070905@wichita.edu> Since the language itself specifies that program variables of type CHAR are in ISO Latin-1, not just ASCII, I think extending compilers, etc., to handle those characters makes complete sense, without even needing to view it as support for unicode or differing locales. Do I understand correctly that Neels' patch extends just to ISO Latin-1? Stefan Sperling wrote: > > How does CM3 handle locales? > > Is there a way to access locales (and similar facitilies > on non-UNIXish systems) from Modula3 to determine characters > the system consideres legal in filenames? At least those > encoded in ISO8859* ? > > > > > What happens now if you try to use a filename that is > UTF-8 encoded and contains a character that spans more than one byte? > > Maybe the restriction to ASCII was made on purpose to protect > users from CM3's non-existent unicode support? > -- ------------------------------------------------------------- Rodney M. Bates, retired assistant professor Dept. of Computer Science, Wichita State University Wichita, KS 67260-0083 316-978-3922 rodney.bates at wichita.edu From stsp at elego.de Sun Oct 14 14:56:54 2007 From: stsp at elego.de (Stefan Sperling) Date: Sun, 14 Oct 2007 14:56:54 +0200 Subject: [M3devel] Pathname.Legal In-Reply-To: <4711F975.9070905@wichita.edu> References: <471145B0.60905@elego.de> <20071014100526.GA2601@jack.stsp.lan> <4711F975.9070905@wichita.edu> Message-ID: <20071014125654.GB2601@jack.stsp.lan> On Sun, Oct 14, 2007 at 06:11:49AM -0500, Rodney M. Bates wrote: > Since the language itself specifies that program variables of type > CHAR are in ISO Latin-1, not just ASCII, I think extending compilers, > etc., to handle those characters makes complete sense, without even > needing to view it as support for unicode or differing locales. > > Do I understand correctly that Neels' patch extends just to ISO Latin-1? More than that. The patch allows any byte-sized character except the DirSepChar, which effectivly makes any character encoding that uses single byte encoding legal. So Latin-2 etc. are also included, which is a feature, not a bug. As long as only single byte encodings are involved this is totally fine. So since CM3 assumes Latin-1 anyway, not handling unicode correctly is not a problem. But users should be made aware that if they use CM3 programs with filenames in multi-byte encodings such as UTF-8, really strange things may happen... CM3 should get unicode support some day... unicode is quite hairy, I've seen quite a few UTF-8 related problems in the subversion bug tracker. Subversion tries to use UTF-8 all the way. The problems were along the lines of using either 'this an a with umlaut;', or 'the next char has an umlaut; a;', or 'a; the previous char had an umlaut;' for encoding the ? character. These are all legal UTF-8. But: The encoding method used on a given system is up to the filesystem implementation in the OS, i.e. hard to detect. So in case of subversion, which does not heed all these cases (yet), filenames with umlauts work on UNIX and Windows, but not on MacOSX. Wheeee! :) -- Stefan Sperling Software Developer elego Software Solutions GmbH HRB 77719 Gustav-Meyer-Allee 25, Gebaeude 12 Tel: +49 30 23 45 86 96 13355 Berlin Fax: +49 30 23 45 86 95 http://www.elego.de Geschaeftsfuehrer: Olaf Wagner -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 187 bytes Desc: not available URL: From jay.krell at cornell.edu Sun Oct 14 16:11:22 2007 From: jay.krell at cornell.edu (Jay) Date: Sun, 14 Oct 2007 14:11:22 +0000 Subject: [M3devel] Pathname.Legal In-Reply-To: <20071014125654.GB2601@jack.stsp.lan> References: <471145B0.60905@elego.de> <20071014100526.GA2601@jack.stsp.lan> <4711F975.9070905@wichita.edu> <20071014125654.GB2601@jack.stsp.lan> Message-ID: My goodness varying file system, OS file system support, network file system protocol feature sets, character encodings, case sensitivity rules, is a rats of nest of subtle but significant problems even if you are developing on one OS and/or one file system.. On my Mac I have file names with forward slashes and question marks (I didn't create them, they were downloaded that way, such as the MPW SC/SCpp reference and "Where is JBindery?"). I can't copy them to my low end Linux NAS. The source to the low end Linux NAS has dots at the start of some file names. It cannot be copied over itself from Windows, because such files are hidden and cannot be unhidden. Here's a tidbit -- Windows has "long" file names and "short" file names. Guess which is longer? Try this: cd \ mkdir "1.1.1" dir /x 1* Short names can be around twice as long as long names, at least. Anything with two dots, or Unicode I believe, needs a generated short name, even if it isn't particulary long. Short names these days tends to get more randomness in them I think, for security.. Also the wildcard matching is unpredictable due to generated short names. mkdir foo.1234 dir *.123 That probably matches, but can't say for sure. And still I trust NTFS more than anything else. :) - Jay > Date: Sun, 14 Oct 2007 14:56:54 +0200> From: stsp at elego.de> To: rodney.bates at wichita.edu> CC: m3devel at elegosoft.com> Subject: Re: [M3devel] Pathname.Legal> > On Sun, Oct 14, 2007 at 06:11:49AM -0500, Rodney M. Bates wrote:> > Since the language itself specifies that program variables of type> > CHAR are in ISO Latin-1, not just ASCII, I think extending compilers,> > etc., to handle those characters makes complete sense, without even> > needing to view it as support for unicode or differing locales.> >> > Do I understand correctly that Neels' patch extends just to ISO Latin-1?> > More than that. The patch allows any byte-sized character> except the DirSepChar, which effectivly makes any character> encoding that uses single byte encoding legal.> > So Latin-2 etc. are also included, which is a feature,> not a bug. As long as only single byte encodings are involved> this is totally fine.> > So since CM3 assumes Latin-1 anyway, not handling unicode correctly> is not a problem. But users should be made aware that if they> use CM3 programs with filenames in multi-byte encodings such> as UTF-8, really strange things may happen...> > CM3 should get unicode support some day... unicode is quite hairy,> I've seen quite a few UTF-8 related problems in the subversion bug> tracker. Subversion tries to use UTF-8 all the way.> > The problems were along the lines of using either> 'this an a with umlaut;',> or 'the next char has an umlaut; a;',> or 'a; the previous char had an umlaut;'> for encoding the ? character. These are all legal UTF-8.> > But: The encoding method used on a given system is up to the> filesystem implementation in the OS, i.e. hard to detect.> So in case of subversion, which does not heed all these cases (yet),> filenames with umlauts work on UNIX and Windows, but not on MacOSX.> Wheeee! :)> > -- > Stefan Sperling Software Developer> elego Software Solutions GmbH HRB 77719> Gustav-Meyer-Allee 25, Gebaeude 12 Tel: +49 30 23 45 86 96 > 13355 Berlin Fax: +49 30 23 45 86 95> http://www.elego.de Geschaeftsfuehrer: Olaf Wagner _________________________________________________________________ Windows Live Hotmail and Microsoft Office Outlook ? together at last. ?Get it now. http://office.microsoft.com/en-us/outlook/HA102225181033.aspx?pid=CL100626971033 -------------- next part -------------- An HTML attachment was scrubbed... URL: From wagner at elegosoft.com Sun Oct 14 16:28:11 2007 From: wagner at elegosoft.com (Olaf Wagner) Date: Sun, 14 Oct 2007 16:28:11 +0200 Subject: [M3devel] Pathname.Legal In-Reply-To: <471145B0.60905@elego.de> References: <471145B0.60905@elego.de> Message-ID: <20071014142811.GA16233@elegosoft.com> On Sun, Oct 14, 2007 at 12:24:48AM +0200, Neels Janosch Hofmeyr wrote: > Hello all, > > I encountered the problem that, in my cm3 compile, > FS.GetAbsolutePathname cannot handle special characters in file names. > As soon as a file contains a special character (?, ?, ?, ...), a > Pathname.Invalid exception is raised. > > This happens because PathnamePosix.m3 has a list of legal characters: > > CONST Legal = SET OF CHAR {'\001' .. '\177'} - SET OF CHAR {DirSepChar}; > > which is enforced in Pathname.Compose and Pathname.ParsePosixPathname. > > Pathname.Legal contains the complete ASCII list -- but no more than > that. This means that characters like ? are considered illegal characters. > > I reversed the Legal list to an Illegal list like this: > > CONST Illegal = SET OF CHAR {DirSepChar}; > > and also reversed the IF logic, replacing Legal with Illegal. This way > all characters are allowed, except the DirSepChar. And voila, it works. > PathnamePosix.m3 accepts weird filenames. > > So, should this fix be applied to cm3? Please commit the fix; I see no harm in allowing more characters in pathnames than ASCII. May this also be the cause for the problem encountered with CVSup's directory creation? Probably not, but I don't remember exactly why it went wrong. Olaf -- Olaf Wagner -- elego Software Solutions GmbH Gustav-Meyer-Allee 25 / Geb?ude 12, 13355 Berlin, Germany phone: +49 30 23 45 86 96 mobile: +49 177 2345 869 fax: +49 30 23 45 86 95 http://www.elegosoft.com | Gesch?ftsf?hrer: Olaf Wagner | Sitz: Berlin Handelregister: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194 From kschleiser at elego.de Mon Oct 15 11:19:08 2007 From: kschleiser at elego.de (Kaspar Schleiser) Date: Mon, 15 Oct 2007 11:19:08 +0200 Subject: [M3devel] build problems on freebsd 6 Message-ID: <4713308C.7020402@elego.de> Hey all, I'm having problems bootstrapping the cm3 cvs version. The cm3 5.4.0 minimal release is being used on a FreeBSD 6.2-RELEASE-p3-machine for the first step. "./do-pkg.sh buildship m3cc m3middle m3linker m3front m3quake cm3" builds the compiler just fine, but the new compiler fails to compile the m3core libs: CM3C = /tmp/test-cm3-20071015-004410/build/cm3/scripts/pkgmap.sh -c "/tmp/test-cm3-20071015-0044 10/build/cm3bin/pkg/cm3/FreeBSD4/cm3 -build -override -DROOT='/tmp/test-cm3-20071015-0044 10/build/cm3' " m3core libm3 === package /tmp/test-cm3-20071015-004410/build/cm3/m3-libs/m3core === +++ /tmp/test-cm3-20071015-004410/build/cm3bin/pkg/cm3/FreeBSD4/cm3 -build -override -DR OOT='/tmp/test-cm3-20071015-004410/build/cm3' +++ --- building in FreeBSD4 --- new source -> compiling RTHooks.i3 new source -> compiling RT0.i3 new source -> compiling RuntimeError.i3 new source -> compiling WordRep.i3 new source -> compiling Word.i3 new source -> compiling RTException.i3 new source -> compiling RTHooks.m3 new source -> compiling RT0.m3 new source -> compiling Compiler.i3 new source -> compiling RuntimeError.m3 new source -> compiling Compiler.m3 new source -> compiling RTAllocator.i3 new source -> compiling RTType.i3 new source -> compiling Csetjmp.i3 new source -> compiling LongRep.i3 new source -> compiling Long.i3 new source -> compiling BasicCtypes.i3 new source -> compiling Ctypes.i3 new source -> compiling RTMachine.i3 new source -> compiling RTHeapRep.i3 new source -> compiling Thread.i3 new source -> compiling FloatMode.i3 new source -> compiling ThreadF.i3 new source -> compiling RTOS.i3 new source -> compiling RTMisc.i3 new source -> compiling RTHeap.i3 new source -> compiling Cstdlib.i3 new source -> compiling Cstddef.i3 new source -> compiling RTAllocCnts.i3 new source -> compiling RTAllocator.m3 "../src/runtime/common/RTAllocator.m3", line 190: warning: variable has type NULL (state) "../src/runtime/common/RTAllocator.m3", line 190: unknown qualification '.' (MyHeapState) "../src/runtime/common/RTAllocator.m3", line 215: warning: variable has type NULL (state) "../src/runtime/common/RTAllocator.m3", line 215: unknown qualification '.' (MyHeapState) "../src/runtime/common/RTAllocator.m3", line 300: warning: variable has type NULL (state) "../src/runtime/common/RTAllocator.m3", line 300: unknown qualification '.' (MyHeapState) 3 errors and 3 warnings encountered new source -> compiling RTAllocStats.i3 new source -> compiling Convert.i3 new source -> compiling TextClass.i3 new source -> compiling Text.i3 new source -> compiling RTProcedureSRC.i3 new source -> compiling Fingerprint.i3 new source -> compiling RTProcedure.i3 new source -> compiling RTStack.i3 new source -> compiling RTAllocStats.m3 new source -> compiling TextLiteral.i3 new source -> compiling RTHeap.m3 new source -> compiling RTHeapInfo.i3 new source -> compiling Cstring.i3 new source -> compiling RTPerfTool.i3 new source -> compiling RTParams.i3 new source -> compiling RTHeapInfo.m3 new source -> compiling RTHeapMap.i3 new source -> compiling RTIO.i3 new source -> compiling RTTypeMap.i3 new source -> compiling RTMapOp.i3 new source -> compiling RTModule.i3 new source -> compiling RTHeapMap.m3 new source -> compiling RTHeapRep.m3 new source -> compiling RTHeapStats.i3 new source -> compiling RTTypeSRC.i3 new source -> compiling RTCollector.i3 new source -> compiling RTHeapStats.m3 new source -> compiling Time.i3 new source -> compiling Scheduler.i3 new source -> compiling RTLinker.i3 new source -> compiling RTProcess.i3 new source -> compiling RTHeapEvent.i3 new source -> compiling RTWeakRef.i3 new source -> compiling RTCollectorSRC.i3 new source -> compiling RTCollector.m3 "../src/runtime/common/RTCollector.m3", line 594: unknown qualification '.' (MyHeapState) "../src/runtime/common/RTCollector.m3", line 600: unknown qualification '.' (MyHeapState) "../src/runtime/common/RTCollector.m3", line 1403: unknown qualification '.' (MyHeapState ) "../src/runtime/common/RTCollector.m3", line 1407: unknown qualification '.' (MyHeapState ) "../src/runtime/common/RTCollector.m3", line 1440: unknown qualification '.' (MyHeapState ) "../src/runtime/common/RTCollector.m3", line 1506: unknown qualification '.' (MyHeapState ) 6 errors encountered new source -> compiling RTIO.m3 new source -> compiling RTLinkerX.i3 new source -> compiling RTSignal.i3 new source -> compiling RTDebug.i3 new source -> compiling RTLinker.m3 new source -> compiling RTDebug.m3 new source -> compiling RTError.i3 new source -> compiling RTError.m3 new source -> compiling M3toC.i3 new source -> compiling RTException.m3 new source -> compiling RTMapOp.m3 new source -> compiling RTMisc.m3 new source -> compiling RTPacking.i3 new source -> compiling RTPacking.m3 new source -> compiling RTArgs.i3 new source -> compiling RTParams.m3 new source -> compiling RTProcedure.m3 new source -> compiling RTProcess.m3 new source -> compiling RTTipe.i3 new source -> compiling RTTipe.m3 new source -> compiling RTType.m3 new source -> compiling RTTypeFP.i3 new source -> compiling RTTypeFP.m3 new source -> compiling RTTypeMap.m3 new source -> compiling RTutils.i3 new source -> compiling RTutils.m3 new source -> compiling RTHeapDebug.i3 new source -> compiling WeakRef.i3 new source -> compiling RTHeapDebug.m3 new source -> compiling RTArgs.m3 new source -> compiling Utypes.i3 new source -> compiling Umman.i3 "../src/unix/freebsd-4/Umman.i3", line 41: undefined (off_t) 1 error encountered new source -> compiling Uuio.i3 new source -> compiling Unix.i3 "../src/unix/freebsd-4/Unix.i3", line 145: VAL: second argument must be an ordinal type "../src/unix/freebsd-4/Unix.i3", line 145: VAL: value out of range "../src/unix/freebsd-4/Unix.i3", line 145: default is not a constant (l_start) "../src/unix/freebsd-4/Unix.i3", line 146: VAL: second argument must be an ordinal type "../src/unix/freebsd-4/Unix.i3", line 146: VAL: value out of range "../src/unix/freebsd-4/Unix.i3", line 146: default is not a constant (l_len) 6 errors encountered new source -> compiling RTOS.m3 "../src/runtime/POSIX/RTOS.m3", line 9: imported interface contains errors (Unix) "../src/runtime/POSIX/RTOS.m3", line 9: imported interface contains errors (Umman) 2 errors encountered new source -> compiling Utime.i3 new source -> compiling Uresource.i3 new source -> compiling Uexec.i3 new source -> compiling RTPerfTool.m3 "../src/runtime/POSIX/RTPerfTool.m3", line 10: imported interface contains errors (Unix) 1 error encountered new source -> compiling RTProcessPosix.m3 new source -> compiling Usignal.i3 new source -> compiling RTThread.i3 new source -> compiling RTThreadStk.m3 new source -> compiling Uprocess.i3 new source -> compiling RTSignal.m3 new source -> compiling RTThread.m3 "../src/runtime/FreeBSD4/RTThread.m3", line 12: imported interface contains errors (Unix) "../src/runtime/FreeBSD4/RTThread.m3", line 12: imported interface contains errors (Umman ) 2 errors encountered new source -> compiling RTExFrame.i3 new source -> compiling RTExFrame.m3 new source -> compiling MutexRep.i3 new source -> compiling ThreadEvent.i3 new source -> compiling SchedulerPosix.i3 new source -> compiling TimePosix.i3 new source -> compiling Cerrno.i3 new source -> compiling ThreadPosix.m3 "../src/thread/POSIX/ThreadPosix.m3", line 19: imported interface contains errors (Unix) 1 error encountered new source -> compiling Udir.i3 new source -> compiling Uerror.i3 new source -> compiling Ugrp.i3 new source -> compiling Uin.i3 new source -> compiling Usocket.i3 new source -> compiling Uin.m3 new source -> compiling Uipc.i3 new source -> compiling Umsg.i3 new source -> compiling Umsg.m3 new source -> compiling Unetdb.i3 new source -> compiling Unetdb.m3 new source -> compiling Upwd.i3 new source -> compiling Usem.i3 new source -> compiling Ushm.i3 new source -> compiling Usignal.m3 new source -> compiling Ustat.i3 new source -> compiling Usyslog.i3 new source -> compiling Utypes.m3 new source -> compiling Uugid.i3 new source -> compiling Uutmp.i3 new source -> compiling Uutsname.i3 new source -> compiling Text8CString.i3 new source -> compiling Text8.i3 new source -> compiling M3toC.m3 new source -> compiling Cstdarg.i3 new source -> compiling Cstdarg.m3 new source -> compiling Csignal.i3 new source -> compiling Cstdio.i3 new source -> compiling Cstdio.m3 new source -> compiling Real.i3 new source -> compiling RealFloat.i3 new source -> compiling LongReal.i3 new source -> compiling LongFloat.i3 new source -> compiling Extended.i3 new source -> compiling ExtendedFloat.i3 new source -> compiling IEEESpecial.i3 new source -> compiling LongRealRep.i3 new source -> compiling RealRep.i3 new source -> compiling IEEESpecial.m3 new source -> compiling Real.m3 new source -> compiling LongReal.m3 new source -> compiling Extended.m3 new source -> compiling DragonInt.i3 new source -> compiling DragonInt.m3 new source -> compiling DragonT.i3 new source -> compiling DragonT.m3 new source -> compiling FPU.i3 new source -> compiling RealFloat.m3 new source -> compiling LongFloat.m3 new source -> compiling ExtendedFloat.m3 new source -> compiling FPU.m3 new source -> compiling FloatMode.m3 new source -> compiling Tick.i3 new source -> compiling Date.i3 new source -> compiling FmtTime.i3 new source -> compiling FmtTime.m3 new source -> compiling TickPortable.m3 new source -> compiling DateBsd.m3 new source -> compiling TimePosix.m3 new source -> compiling CConvert.i3 new source -> compiling CConvert.m3 new source -> compiling Convert.m3 new source -> compiling String8.i3 new source -> compiling String8.m3 new source -> compiling String16.i3 new source -> compiling String16.m3 new source -> compiling Text16.i3 new source -> compiling Text.m3 new source -> compiling TextClass.m3 new source -> compiling TextLiteral.m3 new source -> compiling Text8Short.i3 new source -> compiling Text8.m3 new source -> compiling Text8Short.m3 new source -> compiling Text8CString.m3 new source -> compiling Text16Short.i3 new source -> compiling Text16.m3 new source -> compiling Text16Short.m3 new source -> compiling TextSub.i3 new source -> compiling TextCat.i3 new source -> compiling TextSub.m3 new source -> compiling TextCat.m3 new source -> compiling TextConv.i3 new source -> compiling TextConv.m3 new source -> compiling Poly.i3 new source -> compiling Fingerprint.m3 new source -> compiling Poly.m3 new source -> compiling PolyBasis.i3 new source -> compiling PolyBasis.m3 new source -> compiling Main.i3 new source -> compiling WeakRef.m3 new source -> compiling Word.m3 new source -> compiling Long.m3 new source -> compiling hand.c new source -> compiling dtoa.c new source -> compiling RTThreadC.c new source -> compiling _fpsetjmp.s new source -> compiling RTStackC.c new source -> compiling CerrnoC.c new source -> compiling CstdioC.c new exporters -> recompiling RTHooks.i3 new exporters -> recompiling RTAllocator.i3 new exporters -> recompiling RTCollector.i3 new exporters -> recompiling RTException.i3 new exporters -> recompiling RTModule.i3 new exporters -> recompiling RTProcess.i3 new exporters -> recompiling RTProcedureSRC.i3 new exporters -> recompiling RTTypeSRC.i3 new exporters -> recompiling RTOS.i3 new exporters -> recompiling RTPerfTool.i3 new exporters -> recompiling RTThread.i3 new exporters -> recompiling Time.i3 new exporters -> recompiling Tick.i3 new exporters -> recompiling Date.i3 new exporters -> recompiling Text.i3 compilation failed => not building library "libm3core.a" Fatal Error: package build failed *** execution of failed *** new.elego.de [/tmp/test-cm3-20071015-004410/build/cm3/scripts] kschleiser % I could solve Umman.i3 missing off_t by importing it. Thanks in advance, Kaspar From hosking at cs.purdue.edu Mon Oct 15 15:43:35 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Mon, 15 Oct 2007 09:43:35 -0400 Subject: [M3devel] build problems on freebsd 6 In-Reply-To: <4713308C.7020402@elego.de> References: <4713308C.7020402@elego.de> Message-ID: I just checked in the fix -- missing declaration of MyHeapState in ThreadF.i3. On Oct 15, 2007, at 5:19 AM, Kaspar Schleiser wrote: > Hey all, > > I'm having problems bootstrapping the cm3 cvs version. > > The cm3 5.4.0 minimal release is being used on a FreeBSD > 6.2-RELEASE-p3-machine for the first step. > > "./do-pkg.sh buildship m3cc m3middle m3linker m3front m3quake cm3" > builds the compiler just fine, but the new compiler fails to > compile the > m3core libs: > > CM3C = > /tmp/test-cm3-20071015-004410/build/cm3/scripts/pkgmap.sh -c > "/tmp/test-cm3-20071015-0044 > 10/build/cm3bin/pkg/cm3/FreeBSD4/cm3 -build -override > -DROOT='/tmp/test-cm3-20071015-0044 > 10/build/cm3' " m3core libm3 > === package /tmp/test-cm3-20071015-004410/build/cm3/m3-libs/m3core === > +++ /tmp/test-cm3-20071015-004410/build/cm3bin/pkg/cm3/FreeBSD4/cm3 > -build -override -DR > OOT='/tmp/test-cm3-20071015-004410/build/cm3' +++ > --- building in FreeBSD4 --- > > new source -> compiling RTHooks.i3 > new source -> compiling RT0.i3 > new source -> compiling RuntimeError.i3 > new source -> compiling WordRep.i3 > new source -> compiling Word.i3 > new source -> compiling RTException.i3 > new source -> compiling RTHooks.m3 > new source -> compiling RT0.m3 > new source -> compiling Compiler.i3 > new source -> compiling RuntimeError.m3 > new source -> compiling Compiler.m3 > new source -> compiling RTAllocator.i3 > new source -> compiling RTType.i3 > new source -> compiling Csetjmp.i3 > new source -> compiling LongRep.i3 > new source -> compiling Long.i3 > new source -> compiling BasicCtypes.i3 > new source -> compiling Ctypes.i3 > new source -> compiling RTMachine.i3 > new source -> compiling RTHeapRep.i3 > new source -> compiling Thread.i3 > new source -> compiling FloatMode.i3 > new source -> compiling ThreadF.i3 > new source -> compiling RTOS.i3 > new source -> compiling RTMisc.i3 > new source -> compiling RTHeap.i3 > new source -> compiling Cstdlib.i3 > new source -> compiling Cstddef.i3 > new source -> compiling RTAllocCnts.i3 > new source -> compiling RTAllocator.m3 > "../src/runtime/common/RTAllocator.m3", line 190: warning: variable > has > type NULL (state) > "../src/runtime/common/RTAllocator.m3", line 190: unknown > qualification > '.' (MyHeapState) > "../src/runtime/common/RTAllocator.m3", line 215: warning: variable > has > type NULL (state) > "../src/runtime/common/RTAllocator.m3", line 215: unknown > qualification > '.' (MyHeapState) > "../src/runtime/common/RTAllocator.m3", line 300: warning: variable > has > type NULL (state) > "../src/runtime/common/RTAllocator.m3", line 300: unknown > qualification > '.' (MyHeapState) > 3 errors and 3 warnings encountered > new source -> compiling RTAllocStats.i3 > new source -> compiling Convert.i3 > new source -> compiling TextClass.i3 > new source -> compiling Text.i3 > new source -> compiling RTProcedureSRC.i3 > new source -> compiling Fingerprint.i3 > new source -> compiling RTProcedure.i3 > new source -> compiling RTStack.i3 > new source -> compiling RTAllocStats.m3 > new source -> compiling TextLiteral.i3 > new source -> compiling RTHeap.m3 > new source -> compiling RTHeapInfo.i3 > new source -> compiling Cstring.i3 > new source -> compiling RTPerfTool.i3 > new source -> compiling RTParams.i3 > new source -> compiling RTHeapInfo.m3 > new source -> compiling RTHeapMap.i3 > new source -> compiling RTIO.i3 > new source -> compiling RTTypeMap.i3 > new source -> compiling RTMapOp.i3 > new source -> compiling RTModule.i3 > new source -> compiling RTHeapMap.m3 > new source -> compiling RTHeapRep.m3 > new source -> compiling RTHeapStats.i3 > new source -> compiling RTTypeSRC.i3 > new source -> compiling RTCollector.i3 > new source -> compiling RTHeapStats.m3 > new source -> compiling Time.i3 > new source -> compiling Scheduler.i3 > new source -> compiling RTLinker.i3 > new source -> compiling RTProcess.i3 > new source -> compiling RTHeapEvent.i3 > new source -> compiling RTWeakRef.i3 > new source -> compiling RTCollectorSRC.i3 > new source -> compiling RTCollector.m3 > "../src/runtime/common/RTCollector.m3", line 594: unknown > qualification > '.' (MyHeapState) > "../src/runtime/common/RTCollector.m3", line 600: unknown > qualification > '.' (MyHeapState) > "../src/runtime/common/RTCollector.m3", line 1403: unknown > qualification > '.' (MyHeapState > ) > "../src/runtime/common/RTCollector.m3", line 1407: unknown > qualification > '.' (MyHeapState > ) > "../src/runtime/common/RTCollector.m3", line 1440: unknown > qualification > '.' (MyHeapState > ) > "../src/runtime/common/RTCollector.m3", line 1506: unknown > qualification > '.' (MyHeapState > ) > 6 errors encountered > new source -> compiling RTIO.m3 > new source -> compiling RTLinkerX.i3 > new source -> compiling RTSignal.i3 > new source -> compiling RTDebug.i3 > new source -> compiling RTLinker.m3 > new source -> compiling RTDebug.m3 > new source -> compiling RTError.i3 > new source -> compiling RTError.m3 > new source -> compiling M3toC.i3 > new source -> compiling RTException.m3 > new source -> compiling RTMapOp.m3 > new source -> compiling RTMisc.m3 > new source -> compiling RTPacking.i3 > new source -> compiling RTPacking.m3 > new source -> compiling RTArgs.i3 > new source -> compiling RTParams.m3 > new source -> compiling RTProcedure.m3 > new source -> compiling RTProcess.m3 > new source -> compiling RTTipe.i3 > new source -> compiling RTTipe.m3 > new source -> compiling RTType.m3 > new source -> compiling RTTypeFP.i3 > new source -> compiling RTTypeFP.m3 > new source -> compiling RTTypeMap.m3 > new source -> compiling RTutils.i3 > new source -> compiling RTutils.m3 > new source -> compiling RTHeapDebug.i3 > new source -> compiling WeakRef.i3 > new source -> compiling RTHeapDebug.m3 > new source -> compiling RTArgs.m3 > new source -> compiling Utypes.i3 > new source -> compiling Umman.i3 > "../src/unix/freebsd-4/Umman.i3", line 41: undefined (off_t) > 1 error encountered > new source -> compiling Uuio.i3 > new source -> compiling Unix.i3 > "../src/unix/freebsd-4/Unix.i3", line 145: VAL: second argument > must be > an ordinal type > "../src/unix/freebsd-4/Unix.i3", line 145: VAL: value out of range > "../src/unix/freebsd-4/Unix.i3", line 145: default is not a constant > (l_start) > "../src/unix/freebsd-4/Unix.i3", line 146: VAL: second argument > must be > an ordinal type > "../src/unix/freebsd-4/Unix.i3", line 146: VAL: value out of range > "../src/unix/freebsd-4/Unix.i3", line 146: default is not a > constant (l_len) > 6 errors encountered > new source -> compiling RTOS.m3 > "../src/runtime/POSIX/RTOS.m3", line 9: imported interface contains > errors (Unix) > "../src/runtime/POSIX/RTOS.m3", line 9: imported interface contains > errors (Umman) > 2 errors encountered > new source -> compiling Utime.i3 > new source -> compiling Uresource.i3 > new source -> compiling Uexec.i3 > new source -> compiling RTPerfTool.m3 > "../src/runtime/POSIX/RTPerfTool.m3", line 10: imported interface > contains errors (Unix) > 1 error encountered > new source -> compiling RTProcessPosix.m3 > new source -> compiling Usignal.i3 > new source -> compiling RTThread.i3 > new source -> compiling RTThreadStk.m3 > new source -> compiling Uprocess.i3 > new source -> compiling RTSignal.m3 > new source -> compiling RTThread.m3 > "../src/runtime/FreeBSD4/RTThread.m3", line 12: imported interface > contains errors (Unix) > "../src/runtime/FreeBSD4/RTThread.m3", line 12: imported interface > contains errors (Umman > ) > 2 errors encountered > new source -> compiling RTExFrame.i3 > new source -> compiling RTExFrame.m3 > new source -> compiling MutexRep.i3 > new source -> compiling ThreadEvent.i3 > new source -> compiling SchedulerPosix.i3 > new source -> compiling TimePosix.i3 > new source -> compiling Cerrno.i3 > new source -> compiling ThreadPosix.m3 > "../src/thread/POSIX/ThreadPosix.m3", line 19: imported interface > contains errors (Unix) > 1 error encountered > new source -> compiling Udir.i3 > new source -> compiling Uerror.i3 > new source -> compiling Ugrp.i3 > new source -> compiling Uin.i3 > new source -> compiling Usocket.i3 > new source -> compiling Uin.m3 > new source -> compiling Uipc.i3 > new source -> compiling Umsg.i3 > new source -> compiling Umsg.m3 > new source -> compiling Unetdb.i3 > new source -> compiling Unetdb.m3 > new source -> compiling Upwd.i3 > new source -> compiling Usem.i3 > new source -> compiling Ushm.i3 > new source -> compiling Usignal.m3 > new source -> compiling Ustat.i3 > new source -> compiling Usyslog.i3 > new source -> compiling Utypes.m3 > new source -> compiling Uugid.i3 > new source -> compiling Uutmp.i3 > new source -> compiling Uutsname.i3 > new source -> compiling Text8CString.i3 > new source -> compiling Text8.i3 > new source -> compiling M3toC.m3 > new source -> compiling Cstdarg.i3 > new source -> compiling Cstdarg.m3 > new source -> compiling Csignal.i3 > new source -> compiling Cstdio.i3 > new source -> compiling Cstdio.m3 > new source -> compiling Real.i3 > new source -> compiling RealFloat.i3 > new source -> compiling LongReal.i3 > new source -> compiling LongFloat.i3 > new source -> compiling Extended.i3 > new source -> compiling ExtendedFloat.i3 > new source -> compiling IEEESpecial.i3 > new source -> compiling LongRealRep.i3 > new source -> compiling RealRep.i3 > new source -> compiling IEEESpecial.m3 > new source -> compiling Real.m3 > new source -> compiling LongReal.m3 > new source -> compiling Extended.m3 > new source -> compiling DragonInt.i3 > new source -> compiling DragonInt.m3 > new source -> compiling DragonT.i3 > new source -> compiling DragonT.m3 > new source -> compiling FPU.i3 > new source -> compiling RealFloat.m3 > new source -> compiling LongFloat.m3 > new source -> compiling ExtendedFloat.m3 > new source -> compiling FPU.m3 > new source -> compiling FloatMode.m3 > new source -> compiling Tick.i3 > new source -> compiling Date.i3 > new source -> compiling FmtTime.i3 > new source -> compiling FmtTime.m3 > new source -> compiling TickPortable.m3 > new source -> compiling DateBsd.m3 > new source -> compiling TimePosix.m3 > new source -> compiling CConvert.i3 > new source -> compiling CConvert.m3 > new source -> compiling Convert.m3 > new source -> compiling String8.i3 > new source -> compiling String8.m3 > new source -> compiling String16.i3 > new source -> compiling String16.m3 > new source -> compiling Text16.i3 > new source -> compiling Text.m3 > new source -> compiling TextClass.m3 > new source -> compiling TextLiteral.m3 > new source -> compiling Text8Short.i3 > new source -> compiling Text8.m3 > new source -> compiling Text8Short.m3 > new source -> compiling Text8CString.m3 > new source -> compiling Text16Short.i3 > new source -> compiling Text16.m3 > new source -> compiling Text16Short.m3 > new source -> compiling TextSub.i3 > new source -> compiling TextCat.i3 > new source -> compiling TextSub.m3 > new source -> compiling TextCat.m3 > new source -> compiling TextConv.i3 > new source -> compiling TextConv.m3 > new source -> compiling Poly.i3 > new source -> compiling Fingerprint.m3 > new source -> compiling Poly.m3 > new source -> compiling PolyBasis.i3 > new source -> compiling PolyBasis.m3 > new source -> compiling Main.i3 > new source -> compiling WeakRef.m3 > new source -> compiling Word.m3 > new source -> compiling Long.m3 > new source -> compiling hand.c > new source -> compiling dtoa.c > new source -> compiling RTThreadC.c > new source -> compiling _fpsetjmp.s > new source -> compiling RTStackC.c > new source -> compiling CerrnoC.c > new source -> compiling CstdioC.c > new exporters -> recompiling RTHooks.i3 > new exporters -> recompiling RTAllocator.i3 > new exporters -> recompiling RTCollector.i3 > new exporters -> recompiling RTException.i3 > new exporters -> recompiling RTModule.i3 > new exporters -> recompiling RTProcess.i3 > new exporters -> recompiling RTProcedureSRC.i3 > new exporters -> recompiling RTTypeSRC.i3 > new exporters -> recompiling RTOS.i3 > new exporters -> recompiling RTPerfTool.i3 > new exporters -> recompiling RTThread.i3 > new exporters -> recompiling Time.i3 > new exporters -> recompiling Tick.i3 > new exporters -> recompiling Date.i3 > new exporters -> recompiling Text.i3 > compilation failed => not building library "libm3core.a" > Fatal Error: package build failed > *** execution of failed *** > new.elego.de [/tmp/test-cm3-20071015-004410/build/cm3/scripts] > kschleiser > % > > I could solve Umman.i3 missing off_t by importing it. > > Thanks in advance, > Kaspar From kschleiser at elego.de Mon Oct 15 19:15:30 2007 From: kschleiser at elego.de (Kaspar Schleiser) Date: Mon, 15 Oct 2007 19:15:30 +0200 Subject: [M3devel] build problems on freebsd 6 In-Reply-To: References: <4713308C.7020402@elego.de> Message-ID: <4713A032.1030702@elego.de> Hey Tony & all, that was fast, thanks! The errors about MyHeapState are gone, but these are still there: 1.: new source -> compiling Umman.i3 "../src/unix/freebsd-4/Umman.i3", line 41: undefined (off_t) I think off_t needs to be imported at the top of the file. 2.: new source -> compiling Unix.i3 "../src/unix/freebsd-4/Unix.i3", line 145: VAL: second argument must be an ordinal type "../src/unix/freebsd-4/Unix.i3", line 145: VAL: value out of range "../src/unix/freebsd-4/Unix.i3", line 145: default is not a constant (l_start) "../src/unix/freebsd-4/Unix.i3", line 146: VAL: second argument must be an ordinal type "../src/unix/freebsd-4/Unix.i3", line 146: VAL: value out of range "../src/unix/freebsd-4/Unix.i3", line 146: default is not a constant (l_len) Looks like something simple, too... Cheers, Kaspar Tony Hosking wrote: > I just checked in the fix -- missing declaration of MyHeapState in > ThreadF.i3. > > On Oct 15, 2007, at 5:19 AM, Kaspar Schleiser wrote: > >> Hey all, >> >> I'm having problems bootstrapping the cm3 cvs version. >> >> The cm3 5.4.0 minimal release is being used on a FreeBSD >> 6.2-RELEASE-p3-machine for the first step. >> >> "./do-pkg.sh buildship m3cc m3middle m3linker m3front m3quake cm3" >> builds the compiler just fine, but the new compiler fails to compile the >> m3core libs: >> >> CM3C = >> /tmp/test-cm3-20071015-004410/build/cm3/scripts/pkgmap.sh -c >> "/tmp/test-cm3-20071015-0044 >> 10/build/cm3bin/pkg/cm3/FreeBSD4/cm3 -build -override >> -DROOT='/tmp/test-cm3-20071015-0044 >> 10/build/cm3' " m3core libm3 >> === package /tmp/test-cm3-20071015-004410/build/cm3/m3-libs/m3core === >> +++ /tmp/test-cm3-20071015-004410/build/cm3bin/pkg/cm3/FreeBSD4/cm3 >> -build -override -DR >> OOT='/tmp/test-cm3-20071015-004410/build/cm3' +++ >> --- building in FreeBSD4 --- >> >> new source -> compiling RTHooks.i3 >> new source -> compiling RT0.i3 >> new source -> compiling RuntimeError.i3 >> new source -> compiling WordRep.i3 >> new source -> compiling Word.i3 >> new source -> compiling RTException.i3 >> new source -> compiling RTHooks.m3 >> new source -> compiling RT0.m3 >> new source -> compiling Compiler.i3 >> new source -> compiling RuntimeError.m3 >> new source -> compiling Compiler.m3 >> new source -> compiling RTAllocator.i3 >> new source -> compiling RTType.i3 >> new source -> compiling Csetjmp.i3 >> new source -> compiling LongRep.i3 >> new source -> compiling Long.i3 >> new source -> compiling BasicCtypes.i3 >> new source -> compiling Ctypes.i3 >> new source -> compiling RTMachine.i3 >> new source -> compiling RTHeapRep.i3 >> new source -> compiling Thread.i3 >> new source -> compiling FloatMode.i3 >> new source -> compiling ThreadF.i3 >> new source -> compiling RTOS.i3 >> new source -> compiling RTMisc.i3 >> new source -> compiling RTHeap.i3 >> new source -> compiling Cstdlib.i3 >> new source -> compiling Cstddef.i3 >> new source -> compiling RTAllocCnts.i3 >> new source -> compiling RTAllocator.m3 >> "../src/runtime/common/RTAllocator.m3", line 190: warning: variable has >> type NULL (state) >> "../src/runtime/common/RTAllocator.m3", line 190: unknown qualification >> '.' (MyHeapState) >> "../src/runtime/common/RTAllocator.m3", line 215: warning: variable has >> type NULL (state) >> "../src/runtime/common/RTAllocator.m3", line 215: unknown qualification >> '.' (MyHeapState) >> "../src/runtime/common/RTAllocator.m3", line 300: warning: variable has >> type NULL (state) >> "../src/runtime/common/RTAllocator.m3", line 300: unknown qualification >> '.' (MyHeapState) >> 3 errors and 3 warnings encountered >> new source -> compiling RTAllocStats.i3 >> new source -> compiling Convert.i3 >> new source -> compiling TextClass.i3 >> new source -> compiling Text.i3 >> new source -> compiling RTProcedureSRC.i3 >> new source -> compiling Fingerprint.i3 >> new source -> compiling RTProcedure.i3 >> new source -> compiling RTStack.i3 >> new source -> compiling RTAllocStats.m3 >> new source -> compiling TextLiteral.i3 >> new source -> compiling RTHeap.m3 >> new source -> compiling RTHeapInfo.i3 >> new source -> compiling Cstring.i3 >> new source -> compiling RTPerfTool.i3 >> new source -> compiling RTParams.i3 >> new source -> compiling RTHeapInfo.m3 >> new source -> compiling RTHeapMap.i3 >> new source -> compiling RTIO.i3 >> new source -> compiling RTTypeMap.i3 >> new source -> compiling RTMapOp.i3 >> new source -> compiling RTModule.i3 >> new source -> compiling RTHeapMap.m3 >> new source -> compiling RTHeapRep.m3 >> new source -> compiling RTHeapStats.i3 >> new source -> compiling RTTypeSRC.i3 >> new source -> compiling RTCollector.i3 >> new source -> compiling RTHeapStats.m3 >> new source -> compiling Time.i3 >> new source -> compiling Scheduler.i3 >> new source -> compiling RTLinker.i3 >> new source -> compiling RTProcess.i3 >> new source -> compiling RTHeapEvent.i3 >> new source -> compiling RTWeakRef.i3 >> new source -> compiling RTCollectorSRC.i3 >> new source -> compiling RTCollector.m3 >> "../src/runtime/common/RTCollector.m3", line 594: unknown qualification >> '.' (MyHeapState) >> "../src/runtime/common/RTCollector.m3", line 600: unknown qualification >> '.' (MyHeapState) >> "../src/runtime/common/RTCollector.m3", line 1403: unknown qualification >> '.' (MyHeapState >> ) >> "../src/runtime/common/RTCollector.m3", line 1407: unknown qualification >> '.' (MyHeapState >> ) >> "../src/runtime/common/RTCollector.m3", line 1440: unknown qualification >> '.' (MyHeapState >> ) >> "../src/runtime/common/RTCollector.m3", line 1506: unknown qualification >> '.' (MyHeapState >> ) >> 6 errors encountered >> new source -> compiling RTIO.m3 >> new source -> compiling RTLinkerX.i3 >> new source -> compiling RTSignal.i3 >> new source -> compiling RTDebug.i3 >> new source -> compiling RTLinker.m3 >> new source -> compiling RTDebug.m3 >> new source -> compiling RTError.i3 >> new source -> compiling RTError.m3 >> new source -> compiling M3toC.i3 >> new source -> compiling RTException.m3 >> new source -> compiling RTMapOp.m3 >> new source -> compiling RTMisc.m3 >> new source -> compiling RTPacking.i3 >> new source -> compiling RTPacking.m3 >> new source -> compiling RTArgs.i3 >> new source -> compiling RTParams.m3 >> new source -> compiling RTProcedure.m3 >> new source -> compiling RTProcess.m3 >> new source -> compiling RTTipe.i3 >> new source -> compiling RTTipe.m3 >> new source -> compiling RTType.m3 >> new source -> compiling RTTypeFP.i3 >> new source -> compiling RTTypeFP.m3 >> new source -> compiling RTTypeMap.m3 >> new source -> compiling RTutils.i3 >> new source -> compiling RTutils.m3 >> new source -> compiling RTHeapDebug.i3 >> new source -> compiling WeakRef.i3 >> new source -> compiling RTHeapDebug.m3 >> new source -> compiling RTArgs.m3 >> new source -> compiling Utypes.i3 >> new source -> compiling Umman.i3 >> "../src/unix/freebsd-4/Umman.i3", line 41: undefined (off_t) >> 1 error encountered >> new source -> compiling Uuio.i3 >> new source -> compiling Unix.i3 >> "../src/unix/freebsd-4/Unix.i3", line 145: VAL: second argument must be >> an ordinal type >> "../src/unix/freebsd-4/Unix.i3", line 145: VAL: value out of range >> "../src/unix/freebsd-4/Unix.i3", line 145: default is not a constant >> (l_start) >> "../src/unix/freebsd-4/Unix.i3", line 146: VAL: second argument must be >> an ordinal type >> "../src/unix/freebsd-4/Unix.i3", line 146: VAL: value out of range >> "../src/unix/freebsd-4/Unix.i3", line 146: default is not a constant >> (l_len) >> 6 errors encountered >> new source -> compiling RTOS.m3 >> "../src/runtime/POSIX/RTOS.m3", line 9: imported interface contains >> errors (Unix) >> "../src/runtime/POSIX/RTOS.m3", line 9: imported interface contains >> errors (Umman) >> 2 errors encountered >> new source -> compiling Utime.i3 >> new source -> compiling Uresource.i3 >> new source -> compiling Uexec.i3 >> new source -> compiling RTPerfTool.m3 >> "../src/runtime/POSIX/RTPerfTool.m3", line 10: imported interface >> contains errors (Unix) >> 1 error encountered >> new source -> compiling RTProcessPosix.m3 >> new source -> compiling Usignal.i3 >> new source -> compiling RTThread.i3 >> new source -> compiling RTThreadStk.m3 >> new source -> compiling Uprocess.i3 >> new source -> compiling RTSignal.m3 >> new source -> compiling RTThread.m3 >> "../src/runtime/FreeBSD4/RTThread.m3", line 12: imported interface >> contains errors (Unix) >> "../src/runtime/FreeBSD4/RTThread.m3", line 12: imported interface >> contains errors (Umman >> ) >> 2 errors encountered >> new source -> compiling RTExFrame.i3 >> new source -> compiling RTExFrame.m3 >> new source -> compiling MutexRep.i3 >> new source -> compiling ThreadEvent.i3 >> new source -> compiling SchedulerPosix.i3 >> new source -> compiling TimePosix.i3 >> new source -> compiling Cerrno.i3 >> new source -> compiling ThreadPosix.m3 >> "../src/thread/POSIX/ThreadPosix.m3", line 19: imported interface >> contains errors (Unix) >> 1 error encountered >> new source -> compiling Udir.i3 >> new source -> compiling Uerror.i3 >> new source -> compiling Ugrp.i3 >> new source -> compiling Uin.i3 >> new source -> compiling Usocket.i3 >> new source -> compiling Uin.m3 >> new source -> compiling Uipc.i3 >> new source -> compiling Umsg.i3 >> new source -> compiling Umsg.m3 >> new source -> compiling Unetdb.i3 >> new source -> compiling Unetdb.m3 >> new source -> compiling Upwd.i3 >> new source -> compiling Usem.i3 >> new source -> compiling Ushm.i3 >> new source -> compiling Usignal.m3 >> new source -> compiling Ustat.i3 >> new source -> compiling Usyslog.i3 >> new source -> compiling Utypes.m3 >> new source -> compiling Uugid.i3 >> new source -> compiling Uutmp.i3 >> new source -> compiling Uutsname.i3 >> new source -> compiling Text8CString.i3 >> new source -> compiling Text8.i3 >> new source -> compiling M3toC.m3 >> new source -> compiling Cstdarg.i3 >> new source -> compiling Cstdarg.m3 >> new source -> compiling Csignal.i3 >> new source -> compiling Cstdio.i3 >> new source -> compiling Cstdio.m3 >> new source -> compiling Real.i3 >> new source -> compiling RealFloat.i3 >> new source -> compiling LongReal.i3 >> new source -> compiling LongFloat.i3 >> new source -> compiling Extended.i3 >> new source -> compiling ExtendedFloat.i3 >> new source -> compiling IEEESpecial.i3 >> new source -> compiling LongRealRep.i3 >> new source -> compiling RealRep.i3 >> new source -> compiling IEEESpecial.m3 >> new source -> compiling Real.m3 >> new source -> compiling LongReal.m3 >> new source -> compiling Extended.m3 >> new source -> compiling DragonInt.i3 >> new source -> compiling DragonInt.m3 >> new source -> compiling DragonT.i3 >> new source -> compiling DragonT.m3 >> new source -> compiling FPU.i3 >> new source -> compiling RealFloat.m3 >> new source -> compiling LongFloat.m3 >> new source -> compiling ExtendedFloat.m3 >> new source -> compiling FPU.m3 >> new source -> compiling FloatMode.m3 >> new source -> compiling Tick.i3 >> new source -> compiling Date.i3 >> new source -> compiling FmtTime.i3 >> new source -> compiling FmtTime.m3 >> new source -> compiling TickPortable.m3 >> new source -> compiling DateBsd.m3 >> new source -> compiling TimePosix.m3 >> new source -> compiling CConvert.i3 >> new source -> compiling CConvert.m3 >> new source -> compiling Convert.m3 >> new source -> compiling String8.i3 >> new source -> compiling String8.m3 >> new source -> compiling String16.i3 >> new source -> compiling String16.m3 >> new source -> compiling Text16.i3 >> new source -> compiling Text.m3 >> new source -> compiling TextClass.m3 >> new source -> compiling TextLiteral.m3 >> new source -> compiling Text8Short.i3 >> new source -> compiling Text8.m3 >> new source -> compiling Text8Short.m3 >> new source -> compiling Text8CString.m3 >> new source -> compiling Text16Short.i3 >> new source -> compiling Text16.m3 >> new source -> compiling Text16Short.m3 >> new source -> compiling TextSub.i3 >> new source -> compiling TextCat.i3 >> new source -> compiling TextSub.m3 >> new source -> compiling TextCat.m3 >> new source -> compiling TextConv.i3 >> new source -> compiling TextConv.m3 >> new source -> compiling Poly.i3 >> new source -> compiling Fingerprint.m3 >> new source -> compiling Poly.m3 >> new source -> compiling PolyBasis.i3 >> new source -> compiling PolyBasis.m3 >> new source -> compiling Main.i3 >> new source -> compiling WeakRef.m3 >> new source -> compiling Word.m3 >> new source -> compiling Long.m3 >> new source -> compiling hand.c >> new source -> compiling dtoa.c >> new source -> compiling RTThreadC.c >> new source -> compiling _fpsetjmp.s >> new source -> compiling RTStackC.c >> new source -> compiling CerrnoC.c >> new source -> compiling CstdioC.c >> new exporters -> recompiling RTHooks.i3 >> new exporters -> recompiling RTAllocator.i3 >> new exporters -> recompiling RTCollector.i3 >> new exporters -> recompiling RTException.i3 >> new exporters -> recompiling RTModule.i3 >> new exporters -> recompiling RTProcess.i3 >> new exporters -> recompiling RTProcedureSRC.i3 >> new exporters -> recompiling RTTypeSRC.i3 >> new exporters -> recompiling RTOS.i3 >> new exporters -> recompiling RTPerfTool.i3 >> new exporters -> recompiling RTThread.i3 >> new exporters -> recompiling Time.i3 >> new exporters -> recompiling Tick.i3 >> new exporters -> recompiling Date.i3 >> new exporters -> recompiling Text.i3 >> compilation failed => not building library "libm3core.a" >> Fatal Error: package build failed >> *** execution of failed *** >> new.elego.de [/tmp/test-cm3-20071015-004410/build/cm3/scripts] kschleiser >> % >> >> I could solve Umman.i3 missing off_t by importing it. >> >> Thanks in advance, >> Kaspar > From hosking at cs.purdue.edu Mon Oct 15 19:51:41 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Mon, 15 Oct 2007 13:51:41 -0400 Subject: [M3devel] build problems on freebsd 6 In-Reply-To: <4713A032.1030702@elego.de> References: <4713308C.7020402@elego.de> <4713A032.1030702@elego.de> Message-ID: <35AB3DFB-5E8B-48E6-891F-EEF982E67308@cs.purdue.edu> Should be fixed now. On Oct 15, 2007, at 1:15 PM, Kaspar Schleiser wrote: > Hey Tony & all, > > that was fast, thanks! The errors about MyHeapState are gone, but > these > are still there: > > 1.: > new source -> compiling Umman.i3 > "../src/unix/freebsd-4/Umman.i3", line 41: undefined (off_t) > > I think off_t needs to be imported at the top of the file. > > 2.: > new source -> compiling Unix.i3 > "../src/unix/freebsd-4/Unix.i3", line 145: VAL: second argument > must be > an ordinal type > "../src/unix/freebsd-4/Unix.i3", line 145: VAL: value out of range > "../src/unix/freebsd-4/Unix.i3", line 145: default is not a constant > (l_start) > "../src/unix/freebsd-4/Unix.i3", line 146: VAL: second argument > must be > an ordinal type > "../src/unix/freebsd-4/Unix.i3", line 146: VAL: value out of range > "../src/unix/freebsd-4/Unix.i3", line 146: default is not a > constant (l_len) > > Looks like something simple, too... > > Cheers, > Kaspar > > Tony Hosking wrote: >> I just checked in the fix -- missing declaration of MyHeapState in >> ThreadF.i3. >> >> On Oct 15, 2007, at 5:19 AM, Kaspar Schleiser wrote: >> >>> Hey all, >>> >>> I'm having problems bootstrapping the cm3 cvs version. >>> >>> The cm3 5.4.0 minimal release is being used on a FreeBSD >>> 6.2-RELEASE-p3-machine for the first step. >>> >>> "./do-pkg.sh buildship m3cc m3middle m3linker m3front m3quake cm3" >>> builds the compiler just fine, but the new compiler fails to >>> compile the >>> m3core libs: >>> >>> CM3C = >>> /tmp/test-cm3-20071015-004410/build/cm3/scripts/pkgmap.sh -c >>> "/tmp/test-cm3-20071015-0044 >>> 10/build/cm3bin/pkg/cm3/FreeBSD4/cm3 -build -override >>> -DROOT='/tmp/test-cm3-20071015-0044 >>> 10/build/cm3' " m3core libm3 >>> === package /tmp/test-cm3-20071015-004410/build/cm3/m3-libs/ >>> m3core === >>> +++ /tmp/test-cm3-20071015-004410/build/cm3bin/pkg/cm3/FreeBSD4/cm3 >>> -build -override -DR >>> OOT='/tmp/test-cm3-20071015-004410/build/cm3' +++ >>> --- building in FreeBSD4 --- >>> >>> new source -> compiling RTHooks.i3 >>> new source -> compiling RT0.i3 >>> new source -> compiling RuntimeError.i3 >>> new source -> compiling WordRep.i3 >>> new source -> compiling Word.i3 >>> new source -> compiling RTException.i3 >>> new source -> compiling RTHooks.m3 >>> new source -> compiling RT0.m3 >>> new source -> compiling Compiler.i3 >>> new source -> compiling RuntimeError.m3 >>> new source -> compiling Compiler.m3 >>> new source -> compiling RTAllocator.i3 >>> new source -> compiling RTType.i3 >>> new source -> compiling Csetjmp.i3 >>> new source -> compiling LongRep.i3 >>> new source -> compiling Long.i3 >>> new source -> compiling BasicCtypes.i3 >>> new source -> compiling Ctypes.i3 >>> new source -> compiling RTMachine.i3 >>> new source -> compiling RTHeapRep.i3 >>> new source -> compiling Thread.i3 >>> new source -> compiling FloatMode.i3 >>> new source -> compiling ThreadF.i3 >>> new source -> compiling RTOS.i3 >>> new source -> compiling RTMisc.i3 >>> new source -> compiling RTHeap.i3 >>> new source -> compiling Cstdlib.i3 >>> new source -> compiling Cstddef.i3 >>> new source -> compiling RTAllocCnts.i3 >>> new source -> compiling RTAllocator.m3 >>> "../src/runtime/common/RTAllocator.m3", line 190: warning: >>> variable has >>> type NULL (state) >>> "../src/runtime/common/RTAllocator.m3", line 190: unknown >>> qualification >>> '.' (MyHeapState) >>> "../src/runtime/common/RTAllocator.m3", line 215: warning: >>> variable has >>> type NULL (state) >>> "../src/runtime/common/RTAllocator.m3", line 215: unknown >>> qualification >>> '.' (MyHeapState) >>> "../src/runtime/common/RTAllocator.m3", line 300: warning: >>> variable has >>> type NULL (state) >>> "../src/runtime/common/RTAllocator.m3", line 300: unknown >>> qualification >>> '.' (MyHeapState) >>> 3 errors and 3 warnings encountered >>> new source -> compiling RTAllocStats.i3 >>> new source -> compiling Convert.i3 >>> new source -> compiling TextClass.i3 >>> new source -> compiling Text.i3 >>> new source -> compiling RTProcedureSRC.i3 >>> new source -> compiling Fingerprint.i3 >>> new source -> compiling RTProcedure.i3 >>> new source -> compiling RTStack.i3 >>> new source -> compiling RTAllocStats.m3 >>> new source -> compiling TextLiteral.i3 >>> new source -> compiling RTHeap.m3 >>> new source -> compiling RTHeapInfo.i3 >>> new source -> compiling Cstring.i3 >>> new source -> compiling RTPerfTool.i3 >>> new source -> compiling RTParams.i3 >>> new source -> compiling RTHeapInfo.m3 >>> new source -> compiling RTHeapMap.i3 >>> new source -> compiling RTIO.i3 >>> new source -> compiling RTTypeMap.i3 >>> new source -> compiling RTMapOp.i3 >>> new source -> compiling RTModule.i3 >>> new source -> compiling RTHeapMap.m3 >>> new source -> compiling RTHeapRep.m3 >>> new source -> compiling RTHeapStats.i3 >>> new source -> compiling RTTypeSRC.i3 >>> new source -> compiling RTCollector.i3 >>> new source -> compiling RTHeapStats.m3 >>> new source -> compiling Time.i3 >>> new source -> compiling Scheduler.i3 >>> new source -> compiling RTLinker.i3 >>> new source -> compiling RTProcess.i3 >>> new source -> compiling RTHeapEvent.i3 >>> new source -> compiling RTWeakRef.i3 >>> new source -> compiling RTCollectorSRC.i3 >>> new source -> compiling RTCollector.m3 >>> "../src/runtime/common/RTCollector.m3", line 594: unknown >>> qualification >>> '.' (MyHeapState) >>> "../src/runtime/common/RTCollector.m3", line 600: unknown >>> qualification >>> '.' (MyHeapState) >>> "../src/runtime/common/RTCollector.m3", line 1403: unknown >>> qualification >>> '.' (MyHeapState >>> ) >>> "../src/runtime/common/RTCollector.m3", line 1407: unknown >>> qualification >>> '.' (MyHeapState >>> ) >>> "../src/runtime/common/RTCollector.m3", line 1440: unknown >>> qualification >>> '.' (MyHeapState >>> ) >>> "../src/runtime/common/RTCollector.m3", line 1506: unknown >>> qualification >>> '.' (MyHeapState >>> ) >>> 6 errors encountered >>> new source -> compiling RTIO.m3 >>> new source -> compiling RTLinkerX.i3 >>> new source -> compiling RTSignal.i3 >>> new source -> compiling RTDebug.i3 >>> new source -> compiling RTLinker.m3 >>> new source -> compiling RTDebug.m3 >>> new source -> compiling RTError.i3 >>> new source -> compiling RTError.m3 >>> new source -> compiling M3toC.i3 >>> new source -> compiling RTException.m3 >>> new source -> compiling RTMapOp.m3 >>> new source -> compiling RTMisc.m3 >>> new source -> compiling RTPacking.i3 >>> new source -> compiling RTPacking.m3 >>> new source -> compiling RTArgs.i3 >>> new source -> compiling RTParams.m3 >>> new source -> compiling RTProcedure.m3 >>> new source -> compiling RTProcess.m3 >>> new source -> compiling RTTipe.i3 >>> new source -> compiling RTTipe.m3 >>> new source -> compiling RTType.m3 >>> new source -> compiling RTTypeFP.i3 >>> new source -> compiling RTTypeFP.m3 >>> new source -> compiling RTTypeMap.m3 >>> new source -> compiling RTutils.i3 >>> new source -> compiling RTutils.m3 >>> new source -> compiling RTHeapDebug.i3 >>> new source -> compiling WeakRef.i3 >>> new source -> compiling RTHeapDebug.m3 >>> new source -> compiling RTArgs.m3 >>> new source -> compiling Utypes.i3 >>> new source -> compiling Umman.i3 >>> "../src/unix/freebsd-4/Umman.i3", line 41: undefined (off_t) >>> 1 error encountered >>> new source -> compiling Uuio.i3 >>> new source -> compiling Unix.i3 >>> "../src/unix/freebsd-4/Unix.i3", line 145: VAL: second argument >>> must be >>> an ordinal type >>> "../src/unix/freebsd-4/Unix.i3", line 145: VAL: value out of range >>> "../src/unix/freebsd-4/Unix.i3", line 145: default is not a constant >>> (l_start) >>> "../src/unix/freebsd-4/Unix.i3", line 146: VAL: second argument >>> must be >>> an ordinal type >>> "../src/unix/freebsd-4/Unix.i3", line 146: VAL: value out of range >>> "../src/unix/freebsd-4/Unix.i3", line 146: default is not a constant >>> (l_len) >>> 6 errors encountered >>> new source -> compiling RTOS.m3 >>> "../src/runtime/POSIX/RTOS.m3", line 9: imported interface contains >>> errors (Unix) >>> "../src/runtime/POSIX/RTOS.m3", line 9: imported interface contains >>> errors (Umman) >>> 2 errors encountered >>> new source -> compiling Utime.i3 >>> new source -> compiling Uresource.i3 >>> new source -> compiling Uexec.i3 >>> new source -> compiling RTPerfTool.m3 >>> "../src/runtime/POSIX/RTPerfTool.m3", line 10: imported interface >>> contains errors (Unix) >>> 1 error encountered >>> new source -> compiling RTProcessPosix.m3 >>> new source -> compiling Usignal.i3 >>> new source -> compiling RTThread.i3 >>> new source -> compiling RTThreadStk.m3 >>> new source -> compiling Uprocess.i3 >>> new source -> compiling RTSignal.m3 >>> new source -> compiling RTThread.m3 >>> "../src/runtime/FreeBSD4/RTThread.m3", line 12: imported interface >>> contains errors (Unix) >>> "../src/runtime/FreeBSD4/RTThread.m3", line 12: imported interface >>> contains errors (Umman >>> ) >>> 2 errors encountered >>> new source -> compiling RTExFrame.i3 >>> new source -> compiling RTExFrame.m3 >>> new source -> compiling MutexRep.i3 >>> new source -> compiling ThreadEvent.i3 >>> new source -> compiling SchedulerPosix.i3 >>> new source -> compiling TimePosix.i3 >>> new source -> compiling Cerrno.i3 >>> new source -> compiling ThreadPosix.m3 >>> "../src/thread/POSIX/ThreadPosix.m3", line 19: imported interface >>> contains errors (Unix) >>> 1 error encountered >>> new source -> compiling Udir.i3 >>> new source -> compiling Uerror.i3 >>> new source -> compiling Ugrp.i3 >>> new source -> compiling Uin.i3 >>> new source -> compiling Usocket.i3 >>> new source -> compiling Uin.m3 >>> new source -> compiling Uipc.i3 >>> new source -> compiling Umsg.i3 >>> new source -> compiling Umsg.m3 >>> new source -> compiling Unetdb.i3 >>> new source -> compiling Unetdb.m3 >>> new source -> compiling Upwd.i3 >>> new source -> compiling Usem.i3 >>> new source -> compiling Ushm.i3 >>> new source -> compiling Usignal.m3 >>> new source -> compiling Ustat.i3 >>> new source -> compiling Usyslog.i3 >>> new source -> compiling Utypes.m3 >>> new source -> compiling Uugid.i3 >>> new source -> compiling Uutmp.i3 >>> new source -> compiling Uutsname.i3 >>> new source -> compiling Text8CString.i3 >>> new source -> compiling Text8.i3 >>> new source -> compiling M3toC.m3 >>> new source -> compiling Cstdarg.i3 >>> new source -> compiling Cstdarg.m3 >>> new source -> compiling Csignal.i3 >>> new source -> compiling Cstdio.i3 >>> new source -> compiling Cstdio.m3 >>> new source -> compiling Real.i3 >>> new source -> compiling RealFloat.i3 >>> new source -> compiling LongReal.i3 >>> new source -> compiling LongFloat.i3 >>> new source -> compiling Extended.i3 >>> new source -> compiling ExtendedFloat.i3 >>> new source -> compiling IEEESpecial.i3 >>> new source -> compiling LongRealRep.i3 >>> new source -> compiling RealRep.i3 >>> new source -> compiling IEEESpecial.m3 >>> new source -> compiling Real.m3 >>> new source -> compiling LongReal.m3 >>> new source -> compiling Extended.m3 >>> new source -> compiling DragonInt.i3 >>> new source -> compiling DragonInt.m3 >>> new source -> compiling DragonT.i3 >>> new source -> compiling DragonT.m3 >>> new source -> compiling FPU.i3 >>> new source -> compiling RealFloat.m3 >>> new source -> compiling LongFloat.m3 >>> new source -> compiling ExtendedFloat.m3 >>> new source -> compiling FPU.m3 >>> new source -> compiling FloatMode.m3 >>> new source -> compiling Tick.i3 >>> new source -> compiling Date.i3 >>> new source -> compiling FmtTime.i3 >>> new source -> compiling FmtTime.m3 >>> new source -> compiling TickPortable.m3 >>> new source -> compiling DateBsd.m3 >>> new source -> compiling TimePosix.m3 >>> new source -> compiling CConvert.i3 >>> new source -> compiling CConvert.m3 >>> new source -> compiling Convert.m3 >>> new source -> compiling String8.i3 >>> new source -> compiling String8.m3 >>> new source -> compiling String16.i3 >>> new source -> compiling String16.m3 >>> new source -> compiling Text16.i3 >>> new source -> compiling Text.m3 >>> new source -> compiling TextClass.m3 >>> new source -> compiling TextLiteral.m3 >>> new source -> compiling Text8Short.i3 >>> new source -> compiling Text8.m3 >>> new source -> compiling Text8Short.m3 >>> new source -> compiling Text8CString.m3 >>> new source -> compiling Text16Short.i3 >>> new source -> compiling Text16.m3 >>> new source -> compiling Text16Short.m3 >>> new source -> compiling TextSub.i3 >>> new source -> compiling TextCat.i3 >>> new source -> compiling TextSub.m3 >>> new source -> compiling TextCat.m3 >>> new source -> compiling TextConv.i3 >>> new source -> compiling TextConv.m3 >>> new source -> compiling Poly.i3 >>> new source -> compiling Fingerprint.m3 >>> new source -> compiling Poly.m3 >>> new source -> compiling PolyBasis.i3 >>> new source -> compiling PolyBasis.m3 >>> new source -> compiling Main.i3 >>> new source -> compiling WeakRef.m3 >>> new source -> compiling Word.m3 >>> new source -> compiling Long.m3 >>> new source -> compiling hand.c >>> new source -> compiling dtoa.c >>> new source -> compiling RTThreadC.c >>> new source -> compiling _fpsetjmp.s >>> new source -> compiling RTStackC.c >>> new source -> compiling CerrnoC.c >>> new source -> compiling CstdioC.c >>> new exporters -> recompiling RTHooks.i3 >>> new exporters -> recompiling RTAllocator.i3 >>> new exporters -> recompiling RTCollector.i3 >>> new exporters -> recompiling RTException.i3 >>> new exporters -> recompiling RTModule.i3 >>> new exporters -> recompiling RTProcess.i3 >>> new exporters -> recompiling RTProcedureSRC.i3 >>> new exporters -> recompiling RTTypeSRC.i3 >>> new exporters -> recompiling RTOS.i3 >>> new exporters -> recompiling RTPerfTool.i3 >>> new exporters -> recompiling RTThread.i3 >>> new exporters -> recompiling Time.i3 >>> new exporters -> recompiling Tick.i3 >>> new exporters -> recompiling Date.i3 >>> new exporters -> recompiling Text.i3 >>> compilation failed => not building library "libm3core.a" >>> Fatal Error: package build failed >>> *** execution of failed *** >>> new.elego.de [/tmp/test-cm3-20071015-004410/build/cm3/scripts] >>> kschleiser >>> % >>> >>> I could solve Umman.i3 missing off_t by importing it. >>> >>> Thanks in advance, >>> Kaspar >> From kschleiser at elego.de Mon Oct 15 21:58:03 2007 From: kschleiser at elego.de (Kaspar Schleiser) Date: Mon, 15 Oct 2007 21:58:03 +0200 Subject: [M3devel] build problems on freebsd 6 In-Reply-To: <35AB3DFB-5E8B-48E6-891F-EEF982E67308@cs.purdue.edu> References: <4713308C.7020402@elego.de> <4713A032.1030702@elego.de> <35AB3DFB-5E8B-48E6-891F-EEF982E67308@cs.purdue.edu> Message-ID: <4713C64B.1070302@elego.de> Hey Tony, thanks again, wow again, 20 minutes for a fix ;) Cheers Kaspar Tony Hosking wrote: > Should be fixed now. > > On Oct 15, 2007, at 1:15 PM, Kaspar Schleiser wrote: > >> Hey Tony & all, >> >> that was fast, thanks! The errors about MyHeapState are gone, but these >> are still there: >> >> 1.: >> new source -> compiling Umman.i3 >> "../src/unix/freebsd-4/Umman.i3", line 41: undefined (off_t) >> >> I think off_t needs to be imported at the top of the file. >> >> 2.: >> new source -> compiling Unix.i3 >> "../src/unix/freebsd-4/Unix.i3", line 145: VAL: second argument must be >> an ordinal type >> "../src/unix/freebsd-4/Unix.i3", line 145: VAL: value out of range >> "../src/unix/freebsd-4/Unix.i3", line 145: default is not a constant >> (l_start) >> "../src/unix/freebsd-4/Unix.i3", line 146: VAL: second argument must be >> an ordinal type >> "../src/unix/freebsd-4/Unix.i3", line 146: VAL: value out of range >> "../src/unix/freebsd-4/Unix.i3", line 146: default is not a constant >> (l_len) >> >> Looks like something simple, too... >> >> Cheers, >> Kaspar >> >> Tony Hosking wrote: >>> I just checked in the fix -- missing declaration of MyHeapState in >>> ThreadF.i3. >>> >>> On Oct 15, 2007, at 5:19 AM, Kaspar Schleiser wrote: >>> >>>> Hey all, >>>> >>>> I'm having problems bootstrapping the cm3 cvs version. >>>> >>>> The cm3 5.4.0 minimal release is being used on a FreeBSD >>>> 6.2-RELEASE-p3-machine for the first step. >>>> >>>> "./do-pkg.sh buildship m3cc m3middle m3linker m3front m3quake cm3" >>>> builds the compiler just fine, but the new compiler fails to compile >>>> the >>>> m3core libs: >>>> >>>> CM3C = >>>> /tmp/test-cm3-20071015-004410/build/cm3/scripts/pkgmap.sh -c >>>> "/tmp/test-cm3-20071015-0044 >>>> 10/build/cm3bin/pkg/cm3/FreeBSD4/cm3 -build -override >>>> -DROOT='/tmp/test-cm3-20071015-0044 >>>> 10/build/cm3' " m3core libm3 >>>> === package /tmp/test-cm3-20071015-004410/build/cm3/m3-libs/m3core === >>>> +++ /tmp/test-cm3-20071015-004410/build/cm3bin/pkg/cm3/FreeBSD4/cm3 >>>> -build -override -DR >>>> OOT='/tmp/test-cm3-20071015-004410/build/cm3' +++ >>>> --- building in FreeBSD4 --- >>>> >>>> new source -> compiling RTHooks.i3 >>>> new source -> compiling RT0.i3 >>>> new source -> compiling RuntimeError.i3 >>>> new source -> compiling WordRep.i3 >>>> new source -> compiling Word.i3 >>>> new source -> compiling RTException.i3 >>>> new source -> compiling RTHooks.m3 >>>> new source -> compiling RT0.m3 >>>> new source -> compiling Compiler.i3 >>>> new source -> compiling RuntimeError.m3 >>>> new source -> compiling Compiler.m3 >>>> new source -> compiling RTAllocator.i3 >>>> new source -> compiling RTType.i3 >>>> new source -> compiling Csetjmp.i3 >>>> new source -> compiling LongRep.i3 >>>> new source -> compiling Long.i3 >>>> new source -> compiling BasicCtypes.i3 >>>> new source -> compiling Ctypes.i3 >>>> new source -> compiling RTMachine.i3 >>>> new source -> compiling RTHeapRep.i3 >>>> new source -> compiling Thread.i3 >>>> new source -> compiling FloatMode.i3 >>>> new source -> compiling ThreadF.i3 >>>> new source -> compiling RTOS.i3 >>>> new source -> compiling RTMisc.i3 >>>> new source -> compiling RTHeap.i3 >>>> new source -> compiling Cstdlib.i3 >>>> new source -> compiling Cstddef.i3 >>>> new source -> compiling RTAllocCnts.i3 >>>> new source -> compiling RTAllocator.m3 >>>> "../src/runtime/common/RTAllocator.m3", line 190: warning: variable has >>>> type NULL (state) >>>> "../src/runtime/common/RTAllocator.m3", line 190: unknown qualification >>>> '.' (MyHeapState) >>>> "../src/runtime/common/RTAllocator.m3", line 215: warning: variable has >>>> type NULL (state) >>>> "../src/runtime/common/RTAllocator.m3", line 215: unknown qualification >>>> '.' (MyHeapState) >>>> "../src/runtime/common/RTAllocator.m3", line 300: warning: variable has >>>> type NULL (state) >>>> "../src/runtime/common/RTAllocator.m3", line 300: unknown qualification >>>> '.' (MyHeapState) >>>> 3 errors and 3 warnings encountered >>>> new source -> compiling RTAllocStats.i3 >>>> new source -> compiling Convert.i3 >>>> new source -> compiling TextClass.i3 >>>> new source -> compiling Text.i3 >>>> new source -> compiling RTProcedureSRC.i3 >>>> new source -> compiling Fingerprint.i3 >>>> new source -> compiling RTProcedure.i3 >>>> new source -> compiling RTStack.i3 >>>> new source -> compiling RTAllocStats.m3 >>>> new source -> compiling TextLiteral.i3 >>>> new source -> compiling RTHeap.m3 >>>> new source -> compiling RTHeapInfo.i3 >>>> new source -> compiling Cstring.i3 >>>> new source -> compiling RTPerfTool.i3 >>>> new source -> compiling RTParams.i3 >>>> new source -> compiling RTHeapInfo.m3 >>>> new source -> compiling RTHeapMap.i3 >>>> new source -> compiling RTIO.i3 >>>> new source -> compiling RTTypeMap.i3 >>>> new source -> compiling RTMapOp.i3 >>>> new source -> compiling RTModule.i3 >>>> new source -> compiling RTHeapMap.m3 >>>> new source -> compiling RTHeapRep.m3 >>>> new source -> compiling RTHeapStats.i3 >>>> new source -> compiling RTTypeSRC.i3 >>>> new source -> compiling RTCollector.i3 >>>> new source -> compiling RTHeapStats.m3 >>>> new source -> compiling Time.i3 >>>> new source -> compiling Scheduler.i3 >>>> new source -> compiling RTLinker.i3 >>>> new source -> compiling RTProcess.i3 >>>> new source -> compiling RTHeapEvent.i3 >>>> new source -> compiling RTWeakRef.i3 >>>> new source -> compiling RTCollectorSRC.i3 >>>> new source -> compiling RTCollector.m3 >>>> "../src/runtime/common/RTCollector.m3", line 594: unknown qualification >>>> '.' (MyHeapState) >>>> "../src/runtime/common/RTCollector.m3", line 600: unknown qualification >>>> '.' (MyHeapState) >>>> "../src/runtime/common/RTCollector.m3", line 1403: unknown >>>> qualification >>>> '.' (MyHeapState >>>> ) >>>> "../src/runtime/common/RTCollector.m3", line 1407: unknown >>>> qualification >>>> '.' (MyHeapState >>>> ) >>>> "../src/runtime/common/RTCollector.m3", line 1440: unknown >>>> qualification >>>> '.' (MyHeapState >>>> ) >>>> "../src/runtime/common/RTCollector.m3", line 1506: unknown >>>> qualification >>>> '.' (MyHeapState >>>> ) >>>> 6 errors encountered >>>> new source -> compiling RTIO.m3 >>>> new source -> compiling RTLinkerX.i3 >>>> new source -> compiling RTSignal.i3 >>>> new source -> compiling RTDebug.i3 >>>> new source -> compiling RTLinker.m3 >>>> new source -> compiling RTDebug.m3 >>>> new source -> compiling RTError.i3 >>>> new source -> compiling RTError.m3 >>>> new source -> compiling M3toC.i3 >>>> new source -> compiling RTException.m3 >>>> new source -> compiling RTMapOp.m3 >>>> new source -> compiling RTMisc.m3 >>>> new source -> compiling RTPacking.i3 >>>> new source -> compiling RTPacking.m3 >>>> new source -> compiling RTArgs.i3 >>>> new source -> compiling RTParams.m3 >>>> new source -> compiling RTProcedure.m3 >>>> new source -> compiling RTProcess.m3 >>>> new source -> compiling RTTipe.i3 >>>> new source -> compiling RTTipe.m3 >>>> new source -> compiling RTType.m3 >>>> new source -> compiling RTTypeFP.i3 >>>> new source -> compiling RTTypeFP.m3 >>>> new source -> compiling RTTypeMap.m3 >>>> new source -> compiling RTutils.i3 >>>> new source -> compiling RTutils.m3 >>>> new source -> compiling RTHeapDebug.i3 >>>> new source -> compiling WeakRef.i3 >>>> new source -> compiling RTHeapDebug.m3 >>>> new source -> compiling RTArgs.m3 >>>> new source -> compiling Utypes.i3 >>>> new source -> compiling Umman.i3 >>>> "../src/unix/freebsd-4/Umman.i3", line 41: undefined (off_t) >>>> 1 error encountered >>>> new source -> compiling Uuio.i3 >>>> new source -> compiling Unix.i3 >>>> "../src/unix/freebsd-4/Unix.i3", line 145: VAL: second argument must be >>>> an ordinal type >>>> "../src/unix/freebsd-4/Unix.i3", line 145: VAL: value out of range >>>> "../src/unix/freebsd-4/Unix.i3", line 145: default is not a constant >>>> (l_start) >>>> "../src/unix/freebsd-4/Unix.i3", line 146: VAL: second argument must be >>>> an ordinal type >>>> "../src/unix/freebsd-4/Unix.i3", line 146: VAL: value out of range >>>> "../src/unix/freebsd-4/Unix.i3", line 146: default is not a constant >>>> (l_len) >>>> 6 errors encountered >>>> new source -> compiling RTOS.m3 >>>> "../src/runtime/POSIX/RTOS.m3", line 9: imported interface contains >>>> errors (Unix) >>>> "../src/runtime/POSIX/RTOS.m3", line 9: imported interface contains >>>> errors (Umman) >>>> 2 errors encountered >>>> new source -> compiling Utime.i3 >>>> new source -> compiling Uresource.i3 >>>> new source -> compiling Uexec.i3 >>>> new source -> compiling RTPerfTool.m3 >>>> "../src/runtime/POSIX/RTPerfTool.m3", line 10: imported interface >>>> contains errors (Unix) >>>> 1 error encountered >>>> new source -> compiling RTProcessPosix.m3 >>>> new source -> compiling Usignal.i3 >>>> new source -> compiling RTThread.i3 >>>> new source -> compiling RTThreadStk.m3 >>>> new source -> compiling Uprocess.i3 >>>> new source -> compiling RTSignal.m3 >>>> new source -> compiling RTThread.m3 >>>> "../src/runtime/FreeBSD4/RTThread.m3", line 12: imported interface >>>> contains errors (Unix) >>>> "../src/runtime/FreeBSD4/RTThread.m3", line 12: imported interface >>>> contains errors (Umman >>>> ) >>>> 2 errors encountered >>>> new source -> compiling RTExFrame.i3 >>>> new source -> compiling RTExFrame.m3 >>>> new source -> compiling MutexRep.i3 >>>> new source -> compiling ThreadEvent.i3 >>>> new source -> compiling SchedulerPosix.i3 >>>> new source -> compiling TimePosix.i3 >>>> new source -> compiling Cerrno.i3 >>>> new source -> compiling ThreadPosix.m3 >>>> "../src/thread/POSIX/ThreadPosix.m3", line 19: imported interface >>>> contains errors (Unix) >>>> 1 error encountered >>>> new source -> compiling Udir.i3 >>>> new source -> compiling Uerror.i3 >>>> new source -> compiling Ugrp.i3 >>>> new source -> compiling Uin.i3 >>>> new source -> compiling Usocket.i3 >>>> new source -> compiling Uin.m3 >>>> new source -> compiling Uipc.i3 >>>> new source -> compiling Umsg.i3 >>>> new source -> compiling Umsg.m3 >>>> new source -> compiling Unetdb.i3 >>>> new source -> compiling Unetdb.m3 >>>> new source -> compiling Upwd.i3 >>>> new source -> compiling Usem.i3 >>>> new source -> compiling Ushm.i3 >>>> new source -> compiling Usignal.m3 >>>> new source -> compiling Ustat.i3 >>>> new source -> compiling Usyslog.i3 >>>> new source -> compiling Utypes.m3 >>>> new source -> compiling Uugid.i3 >>>> new source -> compiling Uutmp.i3 >>>> new source -> compiling Uutsname.i3 >>>> new source -> compiling Text8CString.i3 >>>> new source -> compiling Text8.i3 >>>> new source -> compiling M3toC.m3 >>>> new source -> compiling Cstdarg.i3 >>>> new source -> compiling Cstdarg.m3 >>>> new source -> compiling Csignal.i3 >>>> new source -> compiling Cstdio.i3 >>>> new source -> compiling Cstdio.m3 >>>> new source -> compiling Real.i3 >>>> new source -> compiling RealFloat.i3 >>>> new source -> compiling LongReal.i3 >>>> new source -> compiling LongFloat.i3 >>>> new source -> compiling Extended.i3 >>>> new source -> compiling ExtendedFloat.i3 >>>> new source -> compiling IEEESpecial.i3 >>>> new source -> compiling LongRealRep.i3 >>>> new source -> compiling RealRep.i3 >>>> new source -> compiling IEEESpecial.m3 >>>> new source -> compiling Real.m3 >>>> new source -> compiling LongReal.m3 >>>> new source -> compiling Extended.m3 >>>> new source -> compiling DragonInt.i3 >>>> new source -> compiling DragonInt.m3 >>>> new source -> compiling DragonT.i3 >>>> new source -> compiling DragonT.m3 >>>> new source -> compiling FPU.i3 >>>> new source -> compiling RealFloat.m3 >>>> new source -> compiling LongFloat.m3 >>>> new source -> compiling ExtendedFloat.m3 >>>> new source -> compiling FPU.m3 >>>> new source -> compiling FloatMode.m3 >>>> new source -> compiling Tick.i3 >>>> new source -> compiling Date.i3 >>>> new source -> compiling FmtTime.i3 >>>> new source -> compiling FmtTime.m3 >>>> new source -> compiling TickPortable.m3 >>>> new source -> compiling DateBsd.m3 >>>> new source -> compiling TimePosix.m3 >>>> new source -> compiling CConvert.i3 >>>> new source -> compiling CConvert.m3 >>>> new source -> compiling Convert.m3 >>>> new source -> compiling String8.i3 >>>> new source -> compiling String8.m3 >>>> new source -> compiling String16.i3 >>>> new source -> compiling String16.m3 >>>> new source -> compiling Text16.i3 >>>> new source -> compiling Text.m3 >>>> new source -> compiling TextClass.m3 >>>> new source -> compiling TextLiteral.m3 >>>> new source -> compiling Text8Short.i3 >>>> new source -> compiling Text8.m3 >>>> new source -> compiling Text8Short.m3 >>>> new source -> compiling Text8CString.m3 >>>> new source -> compiling Text16Short.i3 >>>> new source -> compiling Text16.m3 >>>> new source -> compiling Text16Short.m3 >>>> new source -> compiling TextSub.i3 >>>> new source -> compiling TextCat.i3 >>>> new source -> compiling TextSub.m3 >>>> new source -> compiling TextCat.m3 >>>> new source -> compiling TextConv.i3 >>>> new source -> compiling TextConv.m3 >>>> new source -> compiling Poly.i3 >>>> new source -> compiling Fingerprint.m3 >>>> new source -> compiling Poly.m3 >>>> new source -> compiling PolyBasis.i3 >>>> new source -> compiling PolyBasis.m3 >>>> new source -> compiling Main.i3 >>>> new source -> compiling WeakRef.m3 >>>> new source -> compiling Word.m3 >>>> new source -> compiling Long.m3 >>>> new source -> compiling hand.c >>>> new source -> compiling dtoa.c >>>> new source -> compiling RTThreadC.c >>>> new source -> compiling _fpsetjmp.s >>>> new source -> compiling RTStackC.c >>>> new source -> compiling CerrnoC.c >>>> new source -> compiling CstdioC.c >>>> new exporters -> recompiling RTHooks.i3 >>>> new exporters -> recompiling RTAllocator.i3 >>>> new exporters -> recompiling RTCollector.i3 >>>> new exporters -> recompiling RTException.i3 >>>> new exporters -> recompiling RTModule.i3 >>>> new exporters -> recompiling RTProcess.i3 >>>> new exporters -> recompiling RTProcedureSRC.i3 >>>> new exporters -> recompiling RTTypeSRC.i3 >>>> new exporters -> recompiling RTOS.i3 >>>> new exporters -> recompiling RTPerfTool.i3 >>>> new exporters -> recompiling RTThread.i3 >>>> new exporters -> recompiling Time.i3 >>>> new exporters -> recompiling Tick.i3 >>>> new exporters -> recompiling Date.i3 >>>> new exporters -> recompiling Text.i3 >>>> compilation failed => not building library "libm3core.a" >>>> Fatal Error: package build failed >>>> *** execution of failed *** >>>> new.elego.de [/tmp/test-cm3-20071015-004410/build/cm3/scripts] >>>> kschleiser >>>> % >>>> >>>> I could solve Umman.i3 missing off_t by importing it. >>>> >>>> Thanks in advance, >>>> Kaspar >>> > From neels at elego.de Tue Oct 16 23:44:19 2007 From: neels at elego.de (Neels Janosch Hofmeyr) Date: Tue, 16 Oct 2007 23:44:19 +0200 Subject: [M3devel] Pathname.Legal In-Reply-To: <4711F975.9070905@wichita.edu> References: <471145B0.60905@elego.de> <20071014100526.GA2601@jack.stsp.lan> <4711F975.9070905@wichita.edu> Message-ID: <471530B3.3050102@elego.de> Rodney M. Bates wrote: > Since the language itself specifies that program variables of type > CHAR are in ISO Latin-1, not just ASCII, I think extending compilers, > etc., to handle those characters makes complete sense, without even > needing to view it as support for unicode or differing locales. > > Do I understand correctly that Neels' patch extends just to ISO Latin-1? Well, the fix allows more characters. It does in no way change datatype bitwidth, any conversion or any other behavior at all. It's just an abort condition which is made more lenient, so that it allows all CHAR characters in a Pathname.T (which is a TEXT). *If* CHAR represents ISO Latin-1, then the fix extends the range of allowed characters to ISO Latin-1 only. Do you know more about this? I can only guess. Olaf Wagner guessed it's fine to submit the fix. I encountered no problems using it with large numbers of filenames. Can you think of anything that might be a problem when allowing all CHARs in a file name? Regards! Neels -- Neels Janosch Hofmeyr Software Developer neels at elego.de Public Key: http://binarchy.net/neels/neels.hofmeyr.public.key.asc elego Software Solutions GmbH http://www.elegosoft.com Gustav-Meyer-Allee 25, Geb?ude 12 HRB 77719 13355 Berlin, Germany Amtsgericht Charlottenburg Tel.: +49 30 23 45 86 96 Sitz der Gesellschaft: Berlin Fax: +49 30 23 45 86 95 Gesch?ftsf?hrer: Olaf Wagner -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: OpenPGP digital signature URL: From hosking at cs.purdue.edu Wed Oct 17 00:08:05 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Tue, 16 Oct 2007 18:08:05 -0400 Subject: [M3devel] Pathname.Legal In-Reply-To: <471530B3.3050102@elego.de> References: <471145B0.60905@elego.de> <20071014100526.GA2601@jack.stsp.lan> <4711F975.9070905@wichita.edu> <471530B3.3050102@elego.de> Message-ID: <7EE9EE85-33C3-4E7D-A1AD-DA1419CB4EC9@cs.purdue.edu> What happens on Windows? There path separators include \. On Oct 16, 2007, at 5:44 PM, Neels Janosch Hofmeyr wrote: > > Rodney M. Bates wrote: >> Since the language itself specifies that program variables of type >> CHAR are in ISO Latin-1, not just ASCII, I think extending compilers, >> etc., to handle those characters makes complete sense, without even >> needing to view it as support for unicode or differing locales. >> >> Do I understand correctly that Neels' patch extends just to ISO >> Latin-1? > > Well, the fix allows more characters. It does in no way change > datatype > bitwidth, any conversion or any other behavior at all. It's just an > abort condition which is made more lenient, so that it allows all CHAR > characters in a Pathname.T (which is a TEXT). *If* CHAR represents ISO > Latin-1, then the fix extends the range of allowed characters to ISO > Latin-1 only. > > Do you know more about this? I can only guess. Olaf Wagner guessed > it's > fine to submit the fix. I encountered no problems using it with large > numbers of filenames. > Can you think of anything that might be a problem when allowing all > CHARs in a file name? > > Regards! > Neels > > -- > Neels Janosch Hofmeyr > Software Developer > > neels at elego.de > Public Key: http://binarchy.net/neels/neels.hofmeyr.public.key.asc > > elego Software Solutions GmbH http://www.elegosoft.com > Gustav-Meyer-Allee 25, Geb?ude 12 HRB 77719 > 13355 Berlin, Germany Amtsgericht Charlottenburg > Tel.: +49 30 23 45 86 96 Sitz der Gesellschaft: Berlin > Fax: +49 30 23 45 86 95 Gesch?ftsf?hrer: Olaf Wagner > > From neels at elego.de Wed Oct 17 00:37:23 2007 From: neels at elego.de (Neels Janosch Hofmeyr) Date: Wed, 17 Oct 2007 00:37:23 +0200 Subject: [M3devel] Pathname.Legal In-Reply-To: <7EE9EE85-33C3-4E7D-A1AD-DA1419CB4EC9@cs.purdue.edu> References: <471145B0.60905@elego.de> <20071014100526.GA2601@jack.stsp.lan> <4711F975.9070905@wichita.edu> <471530B3.3050102@elego.de> <7EE9EE85-33C3-4E7D-A1AD-DA1419CB4EC9@cs.purdue.edu> Message-ID: <47153D23.9040708@elego.de> There is a different implementation of Pathname (i.e. PathnameWin32.m3 in cm3/m3-libs/libm3/src/os/WIN32) which uses \ separators. But this makes me look at the windows code: it has the same limitation! I guess I should also apply the fix there, right?? it says: CONST Legal = SET OF CHAR {'\001' .. '\177'} - SET OF CHAR {DirSepChar, ':'}; (* *** This should be as permissive as any NT file system. *) (note: \177 is in octal and is 127 in decimal) Tony Hosking wrote: > What happens on Windows? There path separators include \. > > On Oct 16, 2007, at 5:44 PM, Neels Janosch Hofmeyr wrote: > >> >> Rodney M. Bates wrote: >>> Since the language itself specifies that program variables of type >>> CHAR are in ISO Latin-1, not just ASCII, I think extending compilers, >>> etc., to handle those characters makes complete sense, without even >>> needing to view it as support for unicode or differing locales. >>> >>> Do I understand correctly that Neels' patch extends just to ISO >>> Latin-1? >> >> Well, the fix allows more characters. It does in no way change datatype >> bitwidth, any conversion or any other behavior at all. It's just an >> abort condition which is made more lenient, so that it allows all CHAR >> characters in a Pathname.T (which is a TEXT). *If* CHAR represents ISO >> Latin-1, then the fix extends the range of allowed characters to ISO >> Latin-1 only. >> >> Do you know more about this? I can only guess. Olaf Wagner guessed it's >> fine to submit the fix. I encountered no problems using it with large >> numbers of filenames. >> Can you think of anything that might be a problem when allowing all >> CHARs in a file name? >> >> Regards! >> Neels >> >> -- >> Neels Janosch Hofmeyr >> Software Developer >> >> neels at elego.de >> Public Key: http://binarchy.net/neels/neels.hofmeyr.public.key.asc >> >> elego Software Solutions GmbH http://www.elegosoft.com >> Gustav-Meyer-Allee 25, Geb?ude 12 HRB 77719 >> 13355 Berlin, Germany Amtsgericht Charlottenburg >> Tel.: +49 30 23 45 86 96 Sitz der Gesellschaft: Berlin >> Fax: +49 30 23 45 86 95 Gesch?ftsf?hrer: Olaf Wagner >> >> > -- Neels Janosch Hofmeyr Software Developer neels at elego.de Public Key: http://binarchy.net/neels/neels.hofmeyr.public.key.asc elego Software Solutions GmbH http://www.elegosoft.com Gustav-Meyer-Allee 25, Geb?ude 12 HRB 77719 13355 Berlin, Germany Amtsgericht Charlottenburg Tel.: +49 30 23 45 86 96 Sitz der Gesellschaft: Berlin Fax: +49 30 23 45 86 95 Gesch?ftsf?hrer: Olaf Wagner -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: OpenPGP digital signature URL: From mika at async.caltech.edu Wed Oct 17 01:14:54 2007 From: mika at async.caltech.edu (Mika Nystrom) Date: Tue, 16 Oct 2007 16:14:54 -0700 Subject: [M3devel] Pathname.Legal In-Reply-To: Your message of "Wed, 17 Oct 2007 00:37:23 +0200." <47153D23.9040708@elego.de> Message-ID: <200710162314.l9GNEsCt054797@camembert.async.caltech.edu> I think "/" works as a directory separator on Windows as well as "\", doesn't it? Are there other limitations? Also, the Modula-3 style nit-picker in me would prefer SET OF CHAR { FIRST(CHAR) .. LAST(CHAR) } (if that is what you really mean). Mika Neels Janosch Hofmeyr writes: >This is an OpenPGP/MIME signed message (RFC 2440 and 3156) >--------------enigEAE3E5403C2A4908483A8A10 >Content-Type: text/plain; charset=ISO-8859-1 >Content-Transfer-Encoding: quoted-printable > > >There is a different implementation of Pathname (i.e. PathnameWin32.m3 >in cm3/m3-libs/libm3/src/os/WIN32) which uses \ separators. > >But this makes me look at the windows code: it has the same limitation! > >I guess I should also apply the fix there, right?? >it says: > >CONST Legal =3D SET OF CHAR {'\001' .. '\177'} - SET OF CHAR {DirSepChar,= > >':'}; > (* *** This should be as permissive as any NT file system. *) > >(note: \177 is in octal and is 127 in decimal) > >Tony Hosking wrote: >> What happens on Windows? There path separators include \. >> >> On Oct 16, 2007, at 5:44 PM, Neels Janosch Hofmeyr wrote: >> >>> >>> Rodney M. Bates wrote: >>>> Since the language itself specifies that program variables of type >>>> CHAR are in ISO Latin-1, not just ASCII, I think extending compilers,= > >>>> etc., to handle those characters makes complete sense, without even >>>> needing to view it as support for unicode or differing locales. >>>> >>>> Do I understand correctly that Neels' patch extends just to ISO >>>> Latin-1? >>> >>> Well, the fix allows more characters. It does in no way change datatyp= >e >>> bitwidth, any conversion or any other behavior at all. It's just an >>> abort condition which is made more lenient, so that it allows all CHAR= > >>> characters in a Pathname.T (which is a TEXT). *If* CHAR represents ISO= > >>> Latin-1, then the fix extends the range of allowed characters to ISO >>> Latin-1 only. >>> >>> Do you know more about this? I can only guess. Olaf Wagner guessed it'= >s >>> fine to submit the fix. I encountered no problems using it with large >>> numbers of filenames. >>> Can you think of anything that might be a problem when allowing all >>> CHARs in a file name? >>> >>> Regards! >>> Neels >>> >>> --=20 >>> Neels Janosch Hofmeyr >>> Software Developer >>> >>> neels at elego.de >>> Public Key: http://binarchy.net/neels/neels.hofmeyr.public.key.asc >>> >>> elego Software Solutions GmbH http://www.elegosoft.com >>> Gustav-Meyer-Allee 25, Geb=E4ude 12 HRB 77719 >>> 13355 Berlin, Germany Amtsgericht Charlottenburg >>> Tel.: +49 30 23 45 86 96 Sitz der Gesellschaft: Berlin >>> Fax: +49 30 23 45 86 95 Gesch=E4ftsf=FChrer: Olaf Wagn= >er >>> >>> >> > >--=20 >Neels Janosch Hofmeyr >Software Developer > >neels at elego.de >Public Key: http://binarchy.net/neels/neels.hofmeyr.public.key.asc > >elego Software Solutions GmbH http://www.elegosoft.com >Gustav-Meyer-Allee 25, Geb=E4ude 12 HRB 77719 >13355 Berlin, Germany Amtsgericht Charlottenburg >Tel.: +49 30 23 45 86 96 Sitz der Gesellschaft: Berlin >Fax: +49 30 23 45 86 95 Gesch=E4ftsf=FChrer: Olaf Wagner > > > >--------------enigEAE3E5403C2A4908483A8A10 >Content-Type: application/pgp-signature; name="signature.asc" >Content-Description: OpenPGP digital signature >Content-Disposition: attachment; filename="signature.asc" > >-----BEGIN PGP SIGNATURE----- >Version: GnuPG v1.4.6 (GNU/Linux) > >iD8DBQFHFT0jRpHEG7B8Y+ARAlQeAKDJwIVJngSDSZy0HTvZKVXYg0PMPQCgo+Gn >3oY6Q1ZK45iODSSURAcCpiI= >=VXmb >-----END PGP SIGNATURE----- > >--------------enigEAE3E5403C2A4908483A8A10-- From jay.krell at cornell.edu Wed Oct 17 08:11:21 2007 From: jay.krell at cornell.edu (Jay) Date: Wed, 17 Oct 2007 06:11:21 +0000 Subject: [M3devel] Pathname.Legal In-Reply-To: <7EE9EE85-33C3-4E7D-A1AD-DA1419CB4EC9@cs.purdue.edu> References: <471145B0.60905@elego.de> <20071014100526.GA2601@jack.stsp.lan> <4711F975.9070905@wichita.edu> <471530B3.3050102@elego.de> <7EE9EE85-33C3-4E7D-A1AD-DA1419CB4EC9@cs.purdue.edu> Message-ID: Or colon on Macintosh? :) I have some file names with slashes in them and the command line shows them as colons. I didn't make up the file names, they were in archives that way. - Jay> From: hosking at cs.purdue.edu> Date: Tue, 16 Oct 2007 18:08:05 -0400> To: neels at elego.de> CC: m3devel at elegosoft.com> Subject: Re: [M3devel] Pathname.Legal> > What happens on Windows? There path separators include \.> > On Oct 16, 2007, at 5:44 PM, Neels Janosch Hofmeyr wrote:> > >> > Rodney M. Bates wrote:> >> Since the language itself specifies that program variables of type> >> CHAR are in ISO Latin-1, not just ASCII, I think extending compilers,> >> etc., to handle those characters makes complete sense, without even> >> needing to view it as support for unicode or differing locales.> >>> >> Do I understand correctly that Neels' patch extends just to ISO > >> Latin-1?> >> > Well, the fix allows more characters. It does in no way change > > datatype> > bitwidth, any conversion or any other behavior at all. It's just an> > abort condition which is made more lenient, so that it allows all CHAR> > characters in a Pathname.T (which is a TEXT). *If* CHAR represents ISO> > Latin-1, then the fix extends the range of allowed characters to ISO> > Latin-1 only.> >> > Do you know more about this? I can only guess. Olaf Wagner guessed > > it's> > fine to submit the fix. I encountered no problems using it with large> > numbers of filenames.> > Can you think of anything that might be a problem when allowing all> > CHARs in a file name?> >> > Regards!> > Neels> >> > -- > > Neels Janosch Hofmeyr> > Software Developer> >> > neels at elego.de> > Public Key: http://binarchy.net/neels/neels.hofmeyr.public.key.asc> >> > elego Software Solutions GmbH http://www.elegosoft.com> > Gustav-Meyer-Allee 25, Geb?ude 12 HRB 77719> > 13355 Berlin, Germany Amtsgericht Charlottenburg> > Tel.: +49 30 23 45 86 96 Sitz der Gesellschaft: Berlin> > Fax: +49 30 23 45 86 95 Gesch?ftsf?hrer: Olaf Wagner> >> >> _________________________________________________________________ Climb to the top of the charts!? Play Star Shuffle:? the word scramble challenge with star power. http://club.live.com/star_shuffle.aspx?icid=starshuffle_wlmailtextlink_oct -------------- next part -------------- An HTML attachment was scrubbed... URL: From dabenavidesd at yahoo.es Wed Oct 17 15:51:26 2007 From: dabenavidesd at yahoo.es (Daniel Alejandro Benavides D.) Date: Wed, 17 Oct 2007 15:51:26 +0200 (CEST) Subject: [M3devel] About permissions on sources in the case of sources with permissions for owner only Message-ID: <998919.97099.qm@web27103.mail.ukl.yahoo.com> Hi: I got a commentary about files produced by the compiler and the files exported to the repository (ship) When compiling a package (bilist present on directory list of http://users.informatik.uni-halle.de/~thielema/Research/datastruct.tar.bz2 ) that has read and write permissions only for the owner I got files in LINUXLIBC6 that are readable for the group and other users. But when shipped on the 'src' directory they 're just readable for the owner (root). The 'LINUXLIBC6' directory has well defned permissions on the repository. As a result I can't read it on the repository if I do not modify the flags of the files. Programs like m3browser complains about that, also another package compile that needs bilist would fail if not root: BiList.ig is contained in: bilist/LINUXLIBC6/libbilist.a: bilist/src/BiList.ig unable to open /usr/local/cm3-cvs4/pkg/bilist/src/BiList.ig danielb at danielb-desktop:~/code/m3/datastruct/datastruct/list/bilist$ ls -al src/* -rw------- 1 danielb danielb 1982 Sep 23 2003 src/BiList.ig -rw------- 1 danielb danielb 8381 Oct 17 2003 src/BiList.mg -rw------- 1 danielb danielb 488 Sep 23 2003 src/bilist.tmpl -rw------- 1 danielb danielb 185 Sep 23 2003 src/m3makefile -rw------- 1 danielb danielb 38 Sep 5 2005 src/m3overrides danielb at danielb-desktop:~/code/m3/datastruct/datastruct/list/bilist$ ls -al LINUXLIBC6/* -rw-r--r-- 1 danielb danielb 80 Oct 17 09:17 LINUXLIBC6/AtomBiList.i3 -rw-r--r-- 1 danielb danielb 6064 Oct 17 09:17 LINUXLIBC6/AtomBiList.io -rw-r--r-- 1 danielb danielb 77 Oct 17 09:17 LINUXLIBC6/AtomBiList.m3 -rw-r--r-- 1 danielb danielb 33056 Oct 17 09:17 LINUXLIBC6/AtomBiList.mo -rw-r--r-- 1 danielb danielb 81 Oct 17 09:17 LINUXLIBC6/IntBiList.i3 -rw-r--r-- 1 danielb danielb 5968 Oct 17 09:17 LINUXLIBC6/IntBiList.io -rw-r--r-- 1 danielb danielb 78 Oct 17 09:17 LINUXLIBC6/IntBiList.m3 -rw-r--r-- 1 danielb danielb 32660 Oct 17 09:17 LINUXLIBC6/IntBiList.mo -rw-r--r-- 1 danielb danielb 80 Oct 17 09:17 LINUXLIBC6/RefBiList.i3 -rw-r--r-- 1 danielb danielb 6028 Oct 17 09:17 LINUXLIBC6/RefBiList.io -rw-r--r-- 1 danielb danielb 77 Oct 17 09:17 LINUXLIBC6/RefBiList.m3 -rw-r--r-- 1 danielb danielb 32992 Oct 17 09:17 LINUXLIBC6/RefBiList.mo -rw-r--r-- 1 danielb danielb 80 Oct 17 09:17 LINUXLIBC6/TextBiList.i3 -rw-r--r-- 1 danielb danielb 6032 Oct 17 09:17 LINUXLIBC6/TextBiList.io -rw-r--r-- 1 danielb danielb 77 Oct 17 09:17 LINUXLIBC6/TextBiList.m3 -rw-r--r-- 1 danielb danielb 33056 Oct 17 09:17 LINUXLIBC6/TextBiList.mo -rw-r--r-- 1 danielb danielb 159308 Oct 17 09:17 LINUXLIBC6/libbilist.a -rw-r--r-- 1 danielb danielb 4592 Oct 17 09:17 LINUXLIBC6/libbilist.m3x lrwxrwxrwx 1 danielb danielb 14 Oct 17 09:17 LINUXLIBC6/libbilist.so -> libbilist.so.5 -rwxr-xr-x 1 danielb danielb 141021 Oct 17 09:17 LINUXLIBC6/libbilist.so.5 ls -al /usr/local/cm3-cvs4/pkg/bilist/* /usr/local/cm3-cvs4/pkg/bilist/LINUXLIBC6: total 372 drwxr-xr-x 2 root root 4096 Oct 17 09:18 . drwxr-xr-x 4 root root 4096 Oct 17 09:18 .. -rw-r--r-- 1 root root 867 Oct 17 09:17 .M3EXPORTS -rw-r--r-- 1 root root 15654 Oct 17 09:17 .M3WEB -rw-r--r-- 1 root root 80 Oct 17 09:17 AtomBiList.i3 -rw-r--r-- 1 root root 77 Oct 17 09:17 AtomBiList.m3 -rw-r--r-- 1 root root 81 Oct 17 09:17 IntBiList.i3 -rw-r--r-- 1 root root 78 Oct 17 09:17 IntBiList.m3 -rw-r--r-- 1 root root 80 Oct 17 09:17 RefBiList.i3 -rw-r--r-- 1 root root 77 Oct 17 09:17 RefBiList.m3 -rw-r--r-- 1 root root 80 Oct 17 09:17 TextBiList.i3 -rw-r--r-- 1 root root 77 Oct 17 09:17 TextBiList.m3 -rw-r--r-- 1 root root 159308 Oct 17 09:17 libbilist.a -rw-r--r-- 1 root root 4592 Oct 17 09:17 libbilist.m3x lrwxrwxrwx 1 root root 14 Oct 17 09:18 libbilist.so -> libbilist.so.5 -rwxr-xr-x 1 root root 141021 Oct 17 09:17 libbilist.so.5 /usr/local/cm3-cvs4/pkg/bilist/src: total 28 drwxr-xr-x 2 root root 4096 Oct 17 09:18 . drwxr-xr-x 4 root root 4096 Oct 17 09:18 .. -rw------- 1 root root 1982 Sep 23 2003 BiList.ig -rw------- 1 root root 8381 Oct 17 2003 BiList.mg -rw------- 1 root root 488 Sep 23 2003 bilist.tmpl danielb at danielb-desktop:~/code/m3/datastruct/datastruct/list$ --------------------------------- S? un Mejor Amante del Cine ?Quieres saber c?mo? ?Deja que otras personas te ayuden!. -------------- next part -------------- An HTML attachment was scrubbed... URL: From lemming at henning-thielemann.de Wed Oct 17 16:00:09 2007 From: lemming at henning-thielemann.de (Henning Thielemann) Date: Wed, 17 Oct 2007 16:00:09 +0200 (CEST) Subject: [M3devel] About permissions on sources in the case of sources with permissions for owner only In-Reply-To: <998919.97099.qm@web27103.mail.ukl.yahoo.com> References: <998919.97099.qm@web27103.mail.ukl.yahoo.com> Message-ID: On Wed, 17 Oct 2007, Daniel Alejandro Benavides D. wrote: > I got a commentary about files produced by the compiler and the files exported to the repository (ship) > When compiling a package (bilist present on directory list of http://users.informatik.uni-halle.de/~thielema/Research/datastruct.tar.bz2 > ) that has read and write permissions only for the owner > I got files in LINUXLIBC6 that are readable for the group and other users. > But when shipped on the 'src' directory they 're just readable for the owner (root). This is a general problem, not bound to BiList. As a work-around I wrote a script which corrects permissions after the installation. $ more cm3ship cm3 -ship (chmod -R a+r /usr/local/cm3/pkg ; chmod a+x `find /usr/local/cm3/pkg -type d`) & However, I do not want to call it 'solution'. From dabenavidesd at yahoo.es Mon Oct 22 00:03:37 2007 From: dabenavidesd at yahoo.es (Daniel Alejandro Benavides D.) Date: Mon, 22 Oct 2007 00:03:37 +0200 (CEST) Subject: [M3devel] Calling RTHeapStats.ReportReachable(); with Pthread cvs head Message-ID: <696946.98425.qm@web27109.mail.ukl.yahoo.com> Hi: Im trying to execute the following program with the Pthread cvs head implementation and I got this when executing the program: danielb at danielb-desktop:~/as207/code/m3gdb$ LINUXLIBC6/Main Entre dos enteros6 7 Estadisticas del Heap HEAP: 0xb73d2000 .. 0xb7412000 => 0.2 Mbytes *** *** runtime error: *** <*ASSERT*> failed. *** file "../src/thread/PTHREAD/ThreadPThread.m3", line 992 *** Aborted danielb at danielb-desktop:~/as207/code/m3gdb$ The assert violated in m3core/thread/PTHREAD/ThreadPthread.m3 is this: PROCEDURE ProcessOther (act: Activation; p: PROCEDURE (start, stop: ADDRESS)) = (* LL=activeMu *) VAR sp: ADDRESS; state: RTMachine.ThreadState; BEGIN <*ASSERT act.state = ActState.Stopped*> The source code of the little program is this: MODULE Main; IMPORT SIO; IMPORT RTHeapStats; IMPORT RTutils; IMPORT RTHeapDebug; VAR varA, varB, varC: INTEGER; PROCEDURE multiplicar(a,b: INTEGER): INTEGER= VAR varC: INTEGER; BEGIN varC:=a*b; RETURN varC; END multiplicar; BEGIN SIO.PutText("Entre dos enteros"); varA:=SIO.GetInt(); varB:=SIO.GetInt(); varC:=multiplicar(varA,varB); SIO.PutText("Estadisticas del Heap"); RTHeapDebug.CheckHeap(); RTHeapStats.ReportReachable(); (* RTutils.Heap(FALSE,RTutils.HeapPresentation.ByTypecode,TRUE,LAST(CARDINAL));*) SIO.PutInt(varC); END Main. According to the draft book of Michael Dagenais Building Distributed OO Applications: Modula-3 Objects at Work, RTHeapStats.ReportReachable() " ... is called to determine the number of active, reachable, objects (i.e. those which would not be garbage collected). Of the 1980 objects on the heap, only slightly more than half are still alive." According to the interface documentation: "reports the number of reachable objects and bytes from each compilation unit, thread stack, and the individual roots that reach the most bytes. The report is written to stderr. The Modula-3 process is frozen during the scanning and reporting." Obviously with the previous version of pthread the things were working fine, also with user level implementation Thanks, Daniel Benavides --------------------------------- S? un Mejor Amante del Cine ?Quieres saber c?mo? ?Deja que otras personas te ayuden!. -------------- next part -------------- An HTML attachment was scrubbed... URL: From darko at darko.org Mon Oct 22 08:04:51 2007 From: darko at darko.org (Darko) Date: Mon, 22 Oct 2007 08:04:51 +0200 Subject: [M3devel] m3gdb binary for Darwin Intel? Message-ID: <9707EBB0-6A47-426E-B81A-E1BF32D69EA1@darko.org> Does anyone know of a m3gdb binary for Mac Intel floating around anywhere? Cheers, Darko. From hosking at cs.purdue.edu Mon Oct 22 15:00:03 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Mon, 22 Oct 2007 09:00:03 -0400 Subject: [M3devel] Calling RTHeapStats.ReportReachable(); with Pthread cvs head In-Reply-To: <696946.98425.qm@web27109.mail.ukl.yahoo.com> References: <696946.98425.qm@web27109.mail.ukl.yahoo.com> Message-ID: I know what the problem is, and will fix it when I can. On Oct 21, 2007, at 6:03 PM, Daniel Alejandro Benavides D. wrote: > Hi: > Im trying to execute the following program with the Pthread cvs > head implementation and I got this when executing the program: > > danielb at danielb-desktop:~/as207/code/m3gdb$ LINUXLIBC6/Main > Entre dos enteros6 7 > Estadisticas del Heap > HEAP: 0xb73d2000 .. 0xb7412000 => 0.2 Mbytes > > > *** > *** runtime error: > *** <*ASSERT*> failed. > *** file "../src/thread/PTHREAD/ThreadPThread.m3", line 992 > *** > > Aborted > danielb at danielb-desktop:~/as207/code/m3gdb$ > > The assert violated in m3core/thread/PTHREAD/ThreadPthread.m3 is this: > PROCEDURE ProcessOther (act: Activation; p: PROCEDURE (start, > stop: ADDRESS)) = > (* LL=activeMu *) > VAR > sp: ADDRESS; > state: RTMachine.ThreadState; > BEGIN > <*ASSERT act.state = ActState.Stopped*> > > > The source code of the little program is this: > > MODULE Main; > > IMPORT SIO; > IMPORT RTHeapStats; > IMPORT RTutils; > IMPORT RTHeapDebug; > VAR > varA, varB, varC: INTEGER; > > > PROCEDURE multiplicar(a,b: INTEGER): INTEGER= > VAR > varC: INTEGER; > BEGIN > varC:=a*b; > RETURN varC; > END multiplicar; > > > BEGIN > > SIO.PutText("Entre dos enteros"); > varA:=SIO.GetInt(); > varB:=SIO.GetInt(); > varC:=multiplicar(varA,varB); > SIO.PutText("Estadisticas del Heap"); > RTHeapDebug.CheckHeap(); > RTHeapStats.ReportReachable(); > (* RTutils.Heap > (FALSE,RTutils.HeapPresentation.ByTypecode,TRUE,LAST(CARDINAL));*) > SIO.PutInt(varC); > > END Main. > > According to the draft book of Michael Dagenais Building > Distributed OO Applications: Modula-3 Objects at Work, > RTHeapStats.ReportReachable() > " ... is called to determine the number > of active, reachable, objects (i.e. those which would not be > garbage collected). Of the 1980 objects on the heap, only slightly > more than half are still alive." > > According to the interface documentation: > "reports the number of reachable objects and bytes from each > compilation unit, thread stack, and the individual roots that reach > the most bytes. The report is written to stderr. The Modula-3 > process is frozen during the scanning and reporting." > > Obviously with the previous version of pthread the things were > working fine, also with user level implementation > > Thanks, > > Daniel Benavides > > > S? un Mejor Amante del Cine > ?Quieres saber c?mo? ?Deja que otras personas te ayuden! . From hosking at cs.purdue.edu Mon Oct 22 16:09:08 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Mon, 22 Oct 2007 10:09:08 -0400 Subject: [M3devel] Calling RTHeapStats.ReportReachable(); with Pthread cvs head In-Reply-To: <696946.98425.qm@web27109.mail.ukl.yahoo.com> References: <696946.98425.qm@web27109.mail.ukl.yahoo.com> Message-ID: Please try the latest CVS head. On Oct 21, 2007, at 6:03 PM, Daniel Alejandro Benavides D. wrote: > Hi: > Im trying to execute the following program with the Pthread cvs > head implementation and I got this when executing the program: > > danielb at danielb-desktop:~/as207/code/m3gdb$ LINUXLIBC6/Main > Entre dos enteros6 7 > Estadisticas del Heap > HEAP: 0xb73d2000 .. 0xb7412000 => 0.2 Mbytes > > > *** > *** runtime error: > *** <*ASSERT*> failed. > *** file "../src/thread/PTHREAD/ThreadPThread.m3", line 992 > *** > > Aborted > danielb at danielb-desktop:~/as207/code/m3gdb$ > > The assert violated in m3core/thread/PTHREAD/ThreadPthread.m3 is this: > PROCEDURE ProcessOther (act: Activation; p: PROCEDURE (start, > stop: ADDRESS)) = > (* LL=activeMu *) > VAR > sp: ADDRESS; > state: RTMachine.ThreadState; > BEGIN > <*ASSERT act.state = ActState.Stopped*> > > > The source code of the little program is this: > > MODULE Main; > > IMPORT SIO; > IMPORT RTHeapStats; > IMPORT RTutils; > IMPORT RTHeapDebug; > VAR > varA, varB, varC: INTEGER; > > > PROCEDURE multiplicar(a,b: INTEGER): INTEGER= > VAR > varC: INTEGER; > BEGIN > varC:=a*b; > RETURN varC; > END multiplicar; > > > BEGIN > > SIO.PutText("Entre dos enteros"); > varA:=SIO.GetInt(); > varB:=SIO.GetInt(); > varC:=multiplicar(varA,varB); > SIO.PutText("Estadisticas del Heap"); > RTHeapDebug.CheckHeap(); > RTHeapStats.ReportReachable(); > (* RTutils.Heap > (FALSE,RTutils.HeapPresentation.ByTypecode,TRUE,LAST(CARDINAL));*) > SIO.PutInt(varC); > > END Main. > > According to the draft book of Michael Dagenais Building > Distributed OO Applications: Modula-3 Objects at Work, > RTHeapStats.ReportReachable() > " ... is called to determine the number > of active, reachable, objects (i.e. those which would not be > garbage collected). Of the 1980 objects on the heap, only slightly > more than half are still alive." > > According to the interface documentation: > "reports the number of reachable objects and bytes from each > compilation unit, thread stack, and the individual roots that reach > the most bytes. The report is written to stderr. The Modula-3 > process is frozen during the scanning and reporting." > > Obviously with the previous version of pthread the things were > working fine, also with user level implementation > > Thanks, > > Daniel Benavides > > > S? un Mejor Amante del Cine > ?Quieres saber c?mo? ?Deja que otras personas te ayuden! . From jay.krell at cornell.edu Wed Oct 24 12:21:52 2007 From: jay.krell at cornell.edu (Jay) Date: Wed, 24 Oct 2007 10:21:52 +0000 Subject: [M3devel] x86 int64 guidance? Message-ID: I'm looking for guidance on the 64 bit integer support in the x86 code generator.What level does it belong in? The code appears to be in three primary files, that are layered mostly like so:M3x86.m3 Stackx86.m3 Codex86.m3 Stackx86 implements, I guess, a "virtual stack" which, I guess, makes certain optimizations easy, stuff like avoiding redundant moves, because the stack knows which register corresponds to which variable. M3x86 does call directly into Codex86, a lot actually.And so of course does Stackx86 (per the layering). There is trafficing in: Operand = RECORD loc: OLoc; mvar: MVar := NoStore; reg: Regno := 0; reg2: Regno := 0; << maybe add this?? imm: INTEGER := 0; stackp: INTEGER := 0; opcode := FALSE; END; notice just one register.These are x86 registers, not some abtract thing.That is what the virtual stack contains. One might imagine the support going one level higher even,implement int64 as a record/struct, but add some notion ofadd-with-carry, sub-with-carry, multiply64, divide64,multiply64x64to32, etc.? You know, when doing add, there's no canonical requiredregister pair to use, they all work, and the upper 32 bits might evenbe thrown out, so don't even necessarily compute them. I'd be a bit wary of the carry surviving though. Or maybe a pseudo register eax_edx should be defined? I'm thinking add reg2 might be easiest, though it seems wrong -- unclean.And always compute the full add/sub/mult/div. Maybe an array of registers? - Jay _________________________________________________________________ Peek-a-boo FREE Tricks & Treats for You! http://www.reallivemoms.com?ocid=TXT_TAGHM&loc=us -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Wed Oct 24 13:07:16 2007 From: jay.krell at cornell.edu (Jay) Date: Wed, 24 Oct 2007 11:07:16 +0000 Subject: [M3devel] x86 int64 guidance? Message-ID: Ok, I have a plan. It might work or not, it might be easy or not, elegant or not. I will add reg2 and I will put in checks at the start of some functions, like binOp, and if they are given 64 bit operands, call out to something that forms two 32 bit operands and acts on them "appropriately" (it will vary). I'm thinking the changes will mostly be in codex86. And stackx86's find function will know to allocate two registers sometimes. This had some drawbacks. For inline coded things like add/adc, good. For register based functions like shift, it makes sense for, I think at the level of m3x86.m3, to force certain register allocation. You know -- if you compile C code to do these operations, add/subtract/compare are inlined and shift/mult/divide are calls out to functions. And I'm not sure..hm..yeah...shifting shows this to be wrong. The changes for shifting must be in stackx86. The original method I suggested..might work in any of the levels..special casing and all.. It just seems like there's a mix of "levels". m3x86 operates on a virtual stack of operands, high level stuff, and passes operands down to codex86.m3, low level stuff. - Jay From: jay.krell at cornell.eduTo: m3devel at elegosoft.comSubject: x86 int64 guidance?Date: Wed, 24 Oct 2007 10:21:52 +0000 I'm looking for guidance on the 64 bit integer support in the x86 code generator.What level does it belong in?The code appears to be in three primary files, that are layered mostly like so:M3x86.m3 Stackx86.m3 Codex86.m3Stackx86 implements, I guess, a "virtual stack" which, I guess, makes certain optimizations easy, stuff like avoiding redundant moves, because the stack knows which register corresponds to which variable.M3x86 does call directly into Codex86, a lot actually.And so of course does Stackx86 (per the layering).There is trafficing in: Operand = RECORD loc: OLoc; mvar: MVar := NoStore; reg: Regno := 0; reg2: Regno := 0; << maybe add this?? imm: INTEGER := 0; stackp: INTEGER := 0; opcode := FALSE; END;notice just one register.These are x86 registers, not some abtract thing.That is what the virtual stack contains.One might imagine the support going one level higher even,implement int64 as a record/struct, but add some notion ofadd-with-carry, sub-with-carry, multiply64, divide64,multiply64x64to32, etc.?You know, when doing add, there's no canonical requiredregister pair to use, they all work, and the upper 32 bits might evenbe thrown out, so don't even necessarily compute them.I'd be a bit wary of the carry surviving though.Or maybe a pseudo register eax_edx should be defined?I'm thinking add reg2 might be easiest, though it seems wrong -- unclean.And always compute the full add/sub/mult/div.Maybe an array of registers? - Jay Peek-a-boo FREE Tricks & Treats for You! Get 'em! _________________________________________________________________ Windows Live Hotmail and Microsoft Office Outlook ? together at last. ?Get it now. http://office.microsoft.com/en-us/outlook/HA102225181033.aspx?pid=CL100626971033 -------------- next part -------------- An HTML attachment was scrubbed... URL: From dabenavidesd at yahoo.es Fri Oct 26 17:49:23 2007 From: dabenavidesd at yahoo.es (Daniel Alejandro Benavides D.) Date: Fri, 26 Oct 2007 17:49:23 +0200 (CEST) Subject: [M3devel] Calling RTHeapStats.ReportReachable(); with Pthread cvs head In-Reply-To: Message-ID: <748965.91443.qm@web27112.mail.ukl.yahoo.com> Hi: Yes it's working very well. I'm sorry for the delay. Thanks. --- Tony Hosking escribi?: > Please try the latest CVS head. > > On Oct 21, 2007, at 6:03 PM, Daniel Alejandro > Benavides D. wrote: > > > Hi: > > Im trying to execute the following program with > the Pthread cvs > > head implementation and I got this when executing > the program: > > > > danielb at danielb-desktop:~/as207/code/m3gdb$ > LINUXLIBC6/Main > > Entre dos enteros6 7 > > Estadisticas del Heap > > HEAP: 0xb73d2000 .. 0xb7412000 => 0.2 Mbytes > > > > > > *** > > *** runtime error: > > *** <*ASSERT*> failed. > > *** file > "../src/thread/PTHREAD/ThreadPThread.m3", line 992 > > *** > > > > Aborted > > danielb at danielb-desktop:~/as207/code/m3gdb$ > > > > The assert violated in > m3core/thread/PTHREAD/ThreadPthread.m3 is this: > > PROCEDURE ProcessOther (act: Activation; p: > PROCEDURE (start, > > stop: ADDRESS)) = > > (* LL=activeMu *) > > VAR > > sp: ADDRESS; > > state: RTMachine.ThreadState; > > BEGIN > > <*ASSERT act.state = ActState.Stopped*> > > > > > > The source code of the little program is this: > > > > MODULE Main; > > > > IMPORT SIO; > > IMPORT RTHeapStats; > > IMPORT RTutils; > > IMPORT RTHeapDebug; > > VAR > > varA, varB, varC: INTEGER; > > > > > > PROCEDURE multiplicar(a,b: INTEGER): INTEGER= > > VAR > > varC: INTEGER; > > BEGIN > > varC:=a*b; > > RETURN varC; > > END multiplicar; > > > > > > BEGIN > > > > SIO.PutText("Entre dos enteros"); > > varA:=SIO.GetInt(); > > varB:=SIO.GetInt(); > > varC:=multiplicar(varA,varB); > > SIO.PutText("Estadisticas del Heap"); > > RTHeapDebug.CheckHeap(); > > RTHeapStats.ReportReachable(); > > (* RTutils.Heap > > > (FALSE,RTutils.HeapPresentation.ByTypecode,TRUE,LAST(CARDINAL));*) > > SIO.PutInt(varC); > > > > END Main. > > > > According to the draft book of Michael Dagenais > Building > > Distributed OO Applications: Modula-3 Objects at > Work, > > RTHeapStats.ReportReachable() > > " ... is called to determine the number > > of active, reachable, objects (i.e. those which > would not be > > garbage collected). Of the 1980 objects on the > heap, only slightly > > more than half are still alive." > > > > According to the interface documentation: > > "reports the number of reachable objects and > bytes from each > > compilation unit, thread stack, and the individual > roots that reach > > the most bytes. The report is written to stderr. > The Modula-3 > > process is frozen during the scanning and > reporting." > > > > Obviously with the previous version of pthread the > things were > > working fine, also with user level implementation > > > > Thanks, > > > > Daniel Benavides > > > > > > S? un Mejor Amante del Cine > > ?Quieres saber c?mo? ?Deja que otras personas te > ayuden! . > > ____________________________________________________________________________________ S? un Mejor Amante del Cine ?Quieres saber c?mo? ?Deja que otras personas te ayuden! http://advision.webevents.yahoo.com/reto/entretenimiento.html From dabenavidesd at yahoo.es Tue Oct 30 07:24:28 2007 From: dabenavidesd at yahoo.es (Daniel Alejandro Benavides D.) Date: Tue, 30 Oct 2007 07:24:28 +0100 (CET) Subject: [M3devel] Calling RTHeapStats.ReportReachable(); with Pthread cvs head In-Reply-To: <748965.91443.qm@web27112.mail.ukl.yahoo.com> Message-ID: <310478.49216.qm@web27114.mail.ukl.yahoo.com> Hi: About this last changes, the runtime can not properly feed shownew, with a @M3shownew=shownew. The program 'a' is just not started as it seems here, altough the window (shownew) does appear, start doesn't respond, and it stays there until aborted. Thanks --- "Daniel Alejandro Benavides D." escribi?: > Hi: > Yes it's working very well. I'm sorry for the delay. > Thanks. > --- Tony Hosking escribi?: > > > Please try the latest CVS head. > > > > On Oct 21, 2007, at 6:03 PM, Daniel Alejandro > > Benavides D. wrote: > > > > > Hi: > > > Im trying to execute the following program with > > the Pthread cvs > > > head implementation and I got this when > executing > > the program: > > > > > > danielb at danielb-desktop:~/as207/code/m3gdb$ > > LINUXLIBC6/Main > > > Entre dos enteros6 7 > > > Estadisticas del Heap > > > HEAP: 0xb73d2000 .. 0xb7412000 => 0.2 Mbytes > > > > > > > > > *** > > > *** runtime error: > > > *** <*ASSERT*> failed. > > > *** file > > "../src/thread/PTHREAD/ThreadPThread.m3", line 992 > > > *** > > > > > > Aborted > > > danielb at danielb-desktop:~/as207/code/m3gdb$ > > > > > > The assert violated in > > m3core/thread/PTHREAD/ThreadPthread.m3 is this: > > > PROCEDURE ProcessOther (act: Activation; p: > > PROCEDURE (start, > > > stop: ADDRESS)) = > > > (* LL=activeMu *) > > > VAR > > > sp: ADDRESS; > > > state: RTMachine.ThreadState; > > > BEGIN > > > <*ASSERT act.state = ActState.Stopped*> > > > > > > > > > The source code of the little program is this: > > > > > > MODULE Main; > > > > > > IMPORT SIO; > > > IMPORT RTHeapStats; > > > IMPORT RTutils; > > > IMPORT RTHeapDebug; > > > VAR > > > varA, varB, varC: INTEGER; > > > > > > > > > PROCEDURE multiplicar(a,b: INTEGER): INTEGER= > > > VAR > > > varC: INTEGER; > > > BEGIN > > > varC:=a*b; > > > RETURN varC; > > > END multiplicar; > > > > > > > > > BEGIN > > > > > > SIO.PutText("Entre dos enteros"); > > > varA:=SIO.GetInt(); > > > varB:=SIO.GetInt(); > > > varC:=multiplicar(varA,varB); > > > SIO.PutText("Estadisticas del Heap"); > > > RTHeapDebug.CheckHeap(); > > > RTHeapStats.ReportReachable(); > > > (* RTutils.Heap > > > > > > (FALSE,RTutils.HeapPresentation.ByTypecode,TRUE,LAST(CARDINAL));*) > > > SIO.PutInt(varC); > > > > > > END Main. > > > > > > According to the draft book of Michael Dagenais > > Building > > > Distributed OO Applications: Modula-3 Objects > at > > Work, > > > RTHeapStats.ReportReachable() > > > " ... is called to determine the number > > > of active, reachable, objects (i.e. those which > > would not be > > > garbage collected). Of the 1980 objects on the > > heap, only slightly > > > more than half are still alive." > > > > > > According to the interface documentation: > > > "reports the number of reachable objects and > > bytes from each > > > compilation unit, thread stack, and the > individual > > roots that reach > > > the most bytes. The report is written to stderr. > > The Modula-3 > > > process is frozen during the scanning and > > reporting." > > > > > > Obviously with the previous version of pthread > the > > things were > > > working fine, also with user level > implementation > > > > > > Thanks, > > > > > > Daniel Benavides > > > > > > > > > S? un Mejor Amante del Cine > > > ?Quieres saber c?mo? ?Deja que otras personas te > > ayuden! . > > > > > > > > > ____________________________________________________________________________________ > S? un Mejor Amante del Cine > ?Quieres saber c?mo? ?Deja que otras personas te > ayuden! > http://advision.webevents.yahoo.com/reto/entretenimiento.html > ______________________________________________ Pregunta, Responde, Descubre. Comparte tus consejos y opiniones con los usuarios de Yahoo! Respuestas http://es.answers.yahoo.com/info/welcome From hosking at cs.purdue.edu Tue Oct 30 16:40:02 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Tue, 30 Oct 2007 11:40:02 -0400 Subject: [M3devel] Calling RTHeapStats.ReportReachable(); with Pthread cvs head In-Reply-To: <310478.49216.qm@web27114.mail.ukl.yahoo.com> References: <310478.49216.qm@web27114.mail.ukl.yahoo.com> Message-ID: <96EA4DCE-DE92-4475-B3F4-273B2ED198C3@cs.purdue.edu> Hmm. showheap works fine for me on my I386_DARWIN box. What platform are you on? On Oct 30, 2007, at 2:24 AM, Daniel Alejandro Benavides D. wrote: > Hi: > About this last changes, the runtime can not properly > feed shownew, with a @M3shownew=shownew. > The program 'a' is just not started as it seems here, > altough the window (shownew) does appear, start > doesn't respond, and it stays there until aborted. > > Thanks > > --- "Daniel Alejandro Benavides D." > escribi?: > >> Hi: >> Yes it's working very well. I'm sorry for the delay. >> Thanks. >> --- Tony Hosking escribi?: >> >>> Please try the latest CVS head. >>> >>> On Oct 21, 2007, at 6:03 PM, Daniel Alejandro >>> Benavides D. wrote: >>> >>>> Hi: >>>> Im trying to execute the following program with >>> the Pthread cvs >>>> head implementation and I got this when >> executing >>> the program: >>>> >>>> danielb at danielb-desktop:~/as207/code/m3gdb$ >>> LINUXLIBC6/Main >>>> Entre dos enteros6 7 >>>> Estadisticas del Heap >>>> HEAP: 0xb73d2000 .. 0xb7412000 => 0.2 Mbytes >>>> >>>> >>>> *** >>>> *** runtime error: >>>> *** <*ASSERT*> failed. >>>> *** file >>> "../src/thread/PTHREAD/ThreadPThread.m3", line 992 >>>> *** >>>> >>>> Aborted >>>> danielb at danielb-desktop:~/as207/code/m3gdb$ >>>> >>>> The assert violated in >>> m3core/thread/PTHREAD/ThreadPthread.m3 is this: >>>> PROCEDURE ProcessOther (act: Activation; p: >>> PROCEDURE (start, >>>> stop: ADDRESS)) = >>>> (* LL=activeMu *) >>>> VAR >>>> sp: ADDRESS; >>>> state: RTMachine.ThreadState; >>>> BEGIN >>>> <*ASSERT act.state = ActState.Stopped*> >>>> >>>> >>>> The source code of the little program is this: >>>> >>>> MODULE Main; >>>> >>>> IMPORT SIO; >>>> IMPORT RTHeapStats; >>>> IMPORT RTutils; >>>> IMPORT RTHeapDebug; >>>> VAR >>>> varA, varB, varC: INTEGER; >>>> >>>> >>>> PROCEDURE multiplicar(a,b: INTEGER): INTEGER= >>>> VAR >>>> varC: INTEGER; >>>> BEGIN >>>> varC:=a*b; >>>> RETURN varC; >>>> END multiplicar; >>>> >>>> >>>> BEGIN >>>> >>>> SIO.PutText("Entre dos enteros"); >>>> varA:=SIO.GetInt(); >>>> varB:=SIO.GetInt(); >>>> varC:=multiplicar(varA,varB); >>>> SIO.PutText("Estadisticas del Heap"); >>>> RTHeapDebug.CheckHeap(); >>>> RTHeapStats.ReportReachable(); >>>> (* RTutils.Heap >>>> >>> >> > (FALSE,RTutils.HeapPresentation.ByTypecode,TRUE,LAST(CARDINAL));*) >>>> SIO.PutInt(varC); >>>> >>>> END Main. >>>> >>>> According to the draft book of Michael Dagenais >>> Building >>>> Distributed OO Applications: Modula-3 Objects >> at >>> Work, >>>> RTHeapStats.ReportReachable() >>>> " ... is called to determine the number >>>> of active, reachable, objects (i.e. those which >>> would not be >>>> garbage collected). Of the 1980 objects on the >>> heap, only slightly >>>> more than half are still alive." >>>> >>>> According to the interface documentation: >>>> "reports the number of reachable objects and >>> bytes from each >>>> compilation unit, thread stack, and the >> individual >>> roots that reach >>>> the most bytes. The report is written to stderr. >>> The Modula-3 >>>> process is frozen during the scanning and >>> reporting." >>>> >>>> Obviously with the previous version of pthread >> the >>> things were >>>> working fine, also with user level >> implementation >>>> >>>> Thanks, >>>> >>>> Daniel Benavides >>>> >>>> >>>> S? un Mejor Amante del Cine >>>> ?Quieres saber c?mo? ?Deja que otras personas te >>> ayuden! . >>> >>> >> >> >> >> >> > ______________________________________________________________________ > ______________ >> S? un Mejor Amante del Cine >> ?Quieres saber c?mo? ?Deja que otras personas te >> ayuden! >> > http://advision.webevents.yahoo.com/reto/entretenimiento.html >> > > > > > ______________________________________________ > Pregunta, Responde, Descubre. > Comparte tus consejos y opiniones con los usuarios de Yahoo! > Respuestas > http://es.answers.yahoo.com/info/welcome From dabenavidesd at yahoo.es Tue Oct 30 17:48:05 2007 From: dabenavidesd at yahoo.es (Daniel Alejandro Benavides D.) Date: Tue, 30 Oct 2007 17:48:05 +0100 (CET) Subject: [M3devel] Calling RTHeapStats.ReportReachable(); with Pthread cvs head Message-ID: <817267.35735.qm@web27105.mail.ukl.yahoo.com> Hi: LINUXLIBC6 32 bits, ubuntu dapper >Hmm. showheap works fine for me on my I386_DARWIN box. What >platform are you on? On Oct 30, 2007, at 2:24 AM, Daniel Alejandro Benavides D. wrote: > Hi: > About this last changes, the runtime can not properly > feed shownew, with a @M3shownew=shownew. > The program 'a' is just not started as it seems here, > altough the window (shownew) does appear, start > doesn't respond, and it stays there until aborted. > > Thanks > > --- "Daniel Alejandro Benavides D." > escribi?: > >> Hi: >> Yes it's working very well. I'm sorry for the delay. >> Thanks. >> --- Tony Hosking escribi?: >> >>> Please try the latest CVS head. >>> >>> On Oct 21, 2007, at 6:03 PM, Daniel Alejandro >>> Benavides D. wrote: >>> >>>> Hi: >>>> Im trying to execute the following program with >>> the Pthread cvs >>>> head implementation and I got this when >> executing >>> the program: >>>> >>>> danielb at danielb-desktop:~/as207/code/m3gdb$ >>> LINUXLIBC6/Main >>>> Entre dos enteros6 7 >>>> Estadisticas del Heap >>>> HEAP: 0xb73d2000 .. 0xb7412000 => 0.2 Mbytes >>>> >>>> >>>> *** >>>> *** runtime error: >>>> *** <*ASSERT*> failed. >>>> *** file >>> "../src/thread/PTHREAD/ThreadPThread.m3", line 992 >>>> *** >>>> >>>> Aborted >>>> danielb at danielb-desktop:~/as207/code/m3gdb$ >>>> >>>> The assert violated in >>> m3core/thread/PTHREAD/ThreadPthread.m3 is this: >>>> PROCEDURE ProcessOther (act: Activation; p: >>> PROCEDURE (start, >>>> stop: ADDRESS)) = >>>> (* LL=activeMu *) >>>> VAR >>>> sp: ADDRESS; >>>> state: RTMachine.ThreadState; >>>> BEGIN >>>> <*ASSERT act.state = ActState.Stopped*> >>>> >>>> >>>> The source code of the little program is this: >>>> >>>> MODULE Main; >>>> >>>> IMPORT SIO; >>>> IMPORT RTHeapStats; >>>> IMPORT RTutils; >>>> IMPORT RTHeapDebug; >>>> VAR >>>> varA, varB, varC: INTEGER; >>>> >>>> >>>> PROCEDURE multiplicar(a,b: INTEGER): INTEGER= >>>> VAR >>>> varC: INTEGER; >>>> BEGIN >>>> varC:=a*b; >>>> RETURN varC; >>>> END multiplicar; >>>> >>>> >>>> BEGIN >>>> >>>> SIO.PutText("Entre dos enteros"); >>>> varA:=SIO.GetInt(); >>>> varB:=SIO.GetInt(); >>>> varC:=multiplicar(varA,varB); >>>> SIO.PutText("Estadisticas del Heap"); >>>> RTHeapDebug.CheckHeap(); >>>> RTHeapStats.ReportReachable(); >>>> (* RTutils.Heap >>>> >>> >> > (FALSE,RTutils.HeapPresentation.ByTypecode,TRUE,LAST(CARDINAL));*) >>>> SIO.PutInt(varC); >>>> >>>> END Main. >>>> >>>> According to the draft book of Michael Dagenais >>> Building >>>> Distributed OO Applications: Modula-3 Objects >> at >>> Work, >>>> RTHeapStats.ReportReachable() >>>> " ... is called to determine the number >>>> of active, reachable, objects (i.e. those which >>> would not be >>>> garbage collected). Of the 1980 objects on the >>> heap, only slightly >>>> more than half are still alive." >>>> >>>> According to the interface documentation: >>>> "reports the number of reachable objects and >>> bytes from each >>>> compilation unit, thread stack, and the >> individual >>> roots that reach >>>> the most bytes. The report is written to stderr. >>> The Modula-3 >>>> process is frozen during the scanning and >>> reporting." >>>> >>>> Obviously with the previous version of pthread >> the >>> things were >>>> working fine, also with user level >> implementation >>>> >>>> Thanks, >>>> >>>> Daniel Benavides --------------------------------- --------------------------------- ?Descubre una nueva forma de obtener respuestas a tus preguntas! Entra en Yahoo! Respuestas. -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Wed Oct 31 13:12:11 2007 From: jay.krell at cornell.edu (Jay) Date: Wed, 31 Oct 2007 12:12:11 +0000 Subject: [M3devel] iterating over sets? Message-ID: Let's say I had TYPE T = SET OF { 0 .. 256 }; Must I say: VAR t: T; FOR i := FIRST(t) TO LAST(t) IF i IN t DO something with i END END Surely there's a better way involving scanning forward for the next bit more than one bit at a time? - Jay _________________________________________________________________ Boo!?Scare away worms, viruses and so much more! Try Windows Live OneCare! http://onecare.live.com/standard/en-us/purchase/trial.aspx?s_cid=wl_hotmailnews -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at cs.purdue.edu Wed Oct 31 16:06:23 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Wed, 31 Oct 2007 11:06:23 -0400 Subject: [M3devel] Solaris lstat st_nlink issue? Re: CVSup questions. In-Reply-To: References: <470F9B23.3050802@polstra.com> <34FFDD05-0343-4595-A6E6-30AAC7520C13@cs.purdue.edu> <471BE5FE.9070702@polstra.com> <0F4262B3-353B-4A6F-939A-4A38F6A70719@cs.purdue.edu> Message-ID: <72211562-F61C-4008-8BFA-FC77FEF535EB@cs.purdue.edu> Thanks, this was useful. I'm not sure when it happened but Solaris now defines nlink_t=long. This program now seems to do the right thing. I'll check in the updated now. On Oct 25, 2007, at 9:40 PM, Alex Bochannek wrote: > OK, just for laughs, I just tried this. Simple program: > > UNSAFE MODULE Main; > > IMPORT Ustat, Fmt, IO, M3toC; > > VAR stat: Ustat.struct_stat; > ret: INTEGER; > > BEGIN > ret := Ustat.lstat(M3toC.CopyTtoS("/tmp"), ADR(stat)); > IO.Put(Fmt.Unsigned(stat.st_nlink) & "\n"); > ret := Ustat.lstat(M3toC.CopyTtoS("/tmp/foo"), ADR(stat)); > IO.Put(Fmt.Unsigned(stat.st_nlink) & "\n"); > END Main. > > I run it and the output is: > > 0 > 0 > > Alex. From alexb at juniper.net Wed Oct 31 17:44:22 2007 From: alexb at juniper.net (Alex Bochannek) Date: Wed, 31 Oct 2007 09:44:22 -0700 Subject: [M3devel] Solaris lstat st_nlink issue? Re: CVSup questions. In-Reply-To: <72211562-F61C-4008-8BFA-FC77FEF535EB@cs.purdue.edu> (Tony Hosking's message of "Wed\, 31 Oct 2007 11\:06\:23 -0400") References: <470F9B23.3050802@polstra.com> <34FFDD05-0343-4595-A6E6-30AAC7520C13@cs.purdue.edu> <471BE5FE.9070702@polstra.com> <0F4262B3-353B-4A6F-939A-4A38F6A70719@cs.purdue.edu> <72211562-F61C-4008-8BFA-FC77FEF535EB@cs.purdue.edu> Message-ID: Tony Hosking writes: > Thanks, this was useful. I'm not sure when it happened but Solaris > now defines nlink_t=long. This program now seems to do the right > thing. I'll check in the updated now. >From what I can find Solaris has always had typedef ulong nlink_t. What I suspect happened here is that long != int on 64 bit Solaris. Alex. From rodney.bates at wichita.edu Wed Oct 31 22:22:26 2007 From: rodney.bates at wichita.edu (Rodney M. Bates) Date: Wed, 31 Oct 2007 15:22:26 -0600 Subject: [M3devel] iterating over sets? In-Reply-To: References: Message-ID: <4728F212.6040009@wichita.edu> I don't think it's by any means trivial. I have a set-of-integer module that handles heap-allocated sets of integers whose base range is nonstatic, and it does it essentially the way you give. It's a real mess. I converted it some years back from Modula-2, then started changing its design piecemeal, as needed by one application, so it's full of inconsistencies. I started writing a complete replacement, but have never gotten back to it. I planned to do some low-level bit-twiddling stuff for this problem, but that's down in to-be-implemented procedures. My plan is to do binary search within a word for the next nonzero bit by masking out half a Word.T, then testing it for all zero, etc., going to fourths, eighths, etc. subsequently. I plan to code it looplessly, i.e., as a tree of IFs, since a word has static size on a given machine. I thought about a way to code it that would auto-adapt to different word sizes, but don't remember that I had come up with one. For the M3 language-provided set types, I suppose something similar could be done in an unsafe module, but it would be dependent on knowing how the compiler represented the sets and LOOPHOLEing to arrays of Word.T. For the different words of a set, I think looping through them is probably the best you can do. Of course, an all-zero test on a word can be done in constant time, and is in fact, just the zero-th step of the binary-search strategy I mentioned. My partially-implemented module trims words that are all-zero off both ends, whenever they can be located without unnecessary extra work. Even so, there still can be properly embedded zero words. Trying to go beyond this starts to make it work more like the existing library Sets module, which I would expect to be better if the sets are quite sparse, but much worse (at least in space) if dense. Jay wrote: > Let's say I had > > TYPE T = SET OF { 0 .. 256 }; > > Must I say: > > VAR t: T; > FOR i := FIRST(t) TO LAST(t) > IF i IN t DO > something with i > END > END > > Surely there's a better way involving scanning forward for the next bit > more than one bit at a time? > > - Jay > > > ------------------------------------------------------------------------ > Boo! Scare away worms, viruses and so much more! Try Windows Live > OneCare! Try now! > -- ------------------------------------------------------------- Rodney M. Bates, retired assistant professor Dept. of Computer Science, Wichita State University Wichita, KS 67260-0083 316-978-3922 rodney.bates at wichita.edu From lemming at henning-thielemann.de Wed Oct 31 23:09:11 2007 From: lemming at henning-thielemann.de (Henning Thielemann) Date: Wed, 31 Oct 2007 23:09:11 +0100 (CET) Subject: [M3devel] iterating over sets? In-Reply-To: References: Message-ID: On Wed, 31 Oct 2007, Jay wrote: > Let's say I had > > TYPE T = SET OF { 0 .. 256 }; > > Must I say: > > VAR t: T; > FOR i := FIRST(t) TO LAST(t) > IF i IN t DO > something with i > END > END You may speed up search by splitting the set into subsets. E.g. IF t * T{16..31} = T{} THEN skip this block completely ELSE inspect that block in detail END; From rodney.bates at wichita.edu Tue Oct 2 23:00:09 2007 From: rodney.bates at wichita.edu (Rodney M. Bates) Date: Tue, 02 Oct 2007 16:00:09 -0500 Subject: [M3devel] Invitation to test a Windows m3gdb fix Message-ID: <4702B159.5060506@wichita.edu> I just checked in what I hope is a fix to an m3gdb target dependency I have known about since I originally worked on user-typed calls. It affects an interactively typed call on a function procedure that returns a record or array. It has worked on Linux 1386 for a while, but would not work on Windows. I do not expect to have access to a Windows machine with CM3 installed for at least some time. Anybody who does is invited to test this. Just use m3gdb to stop almost any program at some convenient place and type something like: 'print P(...)' where P is a function procedure returning a record type. Insert appropriate parameters, of course. Of course, you first have to get and build the latest m3gdb from CVS, and it is only in the CM3 repository. If anybody does it, let me know what happens. -- ------------------------------------------------------------- Rodney M. Bates, retired assistant professor Dept. of Computer Science, Wichita State University Wichita, KS 67260-0083 316-978-3922 rodney.bates at wichita.edu From alexb at juniper.net Thu Oct 4 22:00:28 2007 From: alexb at juniper.net (Alex Bochannek) Date: Thu, 04 Oct 2007 13:00:28 -0700 Subject: [M3devel] m3gdb compile warnings on Solaris 10/SPARC. Message-ID: I looked at the m3gdb compilation on Solaris 10 yesterday and found that after installing a newer GCC (4.2), the only issue left is with -Werror. By doing this: Index: m3makefile =================================================================== RCS file: /usr/cvs/cm3/m3-sys/m3gdb/src/m3makefile,v retrieving revision 1.6 diff -u -r1.6 m3makefile --- m3makefile 6 Sep 2006 21:32:07 -0000 1.6 +++ m3makefile 4 Oct 2007 19:08:01 -0000 @@ -58,6 +58,7 @@ end readonly m3gdb_config = { + "SOLgnu" : "--disable-werror" % misc. gdb configuration options (e.g. "DS3100" : "--with-stabs") } % m3gdb_config m3gdb compiles fine and I can use it now. If anybody wants to look at the errors, the compile log for that package is attached. My platform is: 64-bit sparcv9 applications vis2 vis 32-bit sparc applications vis2 vis v8plus div32 mul32 64-bit sparcv9 kernel modules SunOS 5.10 The warnings are in: gdb/bfd/aoutf1.h gdb/readline/bind.c gdb/readline/display.c gdb/readline/histexpand.c gdb/gdb/procfs.c gdb/gdb/tui/tui-stack.c gdb/gdb/breakpoint.c gdb/gdb/printcmd.c gdb/gdb/event-top.c gdb/gdb/ada-lang.c gdb/gdb/m3-lang.c gdb/gdb/m3-threads.c gdb/gdb/m3-util.c gdb/gdb/m3-valprint.c Hope this helps. Alex. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: not available URL: From hosking at cs.purdue.edu Fri Oct 5 20:14:45 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Fri, 5 Oct 2007 14:14:45 -0400 Subject: [M3devel] CM3 d5.5.0 CVSup client issues. In-Reply-To: References: <46E04F68.6030001@polstra.com> <8DA206BE-1EDE-4713-83DD-317417081E76@cs.purdue.edu> <1B153BC7-A186-4F33-A019-91ADFEEC97FD@cs.purdue.edu> <90E9CEA8-6406-44E1-8265-9188B51B850D@cs.purdue.edu> <2559758D-5DE9-4CAF-B9D1-77F851B6310B@cs.purdue.edu> <976B6556-3462-418E-9C05-9CBB30988FB6@cs.purdue.edu> <4A6875D6-F5BC-4FE0-B3B3-7079536EFC1A@cs.purdue.edu> <489FF96F-AA06-47EC-9EDB-E354632C5136@cs.purdue.edu> Message-ID: <0C2CBC5D-5C95-4CC0-9B3A-4F3A124B0007@cs.purdue.edu> Good news. I have finally managed to track things down. Basically, the problems occur with the old libpthread -- we need to make sure we link to the new one (/usr/lib/lwp/libpthread.*) which also happens to be the default on newer Solaris versions. Using this library I can rely on signals to stop threads (even those waiting inside pthread calls) just as I do for LINUXLIBC6. I will be checking in an updated ThreadPThread and fixed cm3.cfg shortly. I hope you can test your installation once I have done this -- hopefully you will be happy... :-) Cheers, Tony On Oct 5, 2007, at 12:42 PM, Alex Bochannek wrote: > OK, here's what I get now. > > Without @M3paranoidgc: > > bash-3.00# m3gdb cvsup > GNU gdb plus Modula-3 6.4 > Copyright 2005 Free Software Foundation, Inc. > GDB is free software, covered by the GNU General Public License, > and you are > welcome to change it and/or distribute copies of it under certain > conditions. > Type "show copying" to see the conditions. > There is absolutely no warranty for GDB. Type "show warranty" for > details. > This GDB was configured as "sparc-sun-solaris2"... > (m3gdb) dir cm3/m3-libs/m3core/src/runtime/common/:/opt/cm3/cvsup- > snap-16.1h/suplib/src:/opt/cm3/cvsup-snap-16.1h/client/src/ > Source directories searched: /opt/cm3/cm3/m3-libs/m3core/src/ > runtime/common:/opt/cm3/cvsup-snap-16.1h/suplib/src:/opt/cm3/cvsup- > snap-16.1h/client/src:$cdir:$cwd > (m3gdb) set args -g cvsupfile.cm3 > (m3gdb) r > Starting program: /usr/local/bin/cvsup -g cvsupfile.cm3 > warning: Lowest section in /lib/libw.so.1 is .dynamic at 00000074 > warning: Lowest section in /lib/libdl.so.1 is .dynamic at 00000094 > warning: Lowest section in /lib/libpthread.so.1 is .dynamic at > 00000074 > warning: Lowest section in /lib/libthread.so.1 is .dynamic at 00000074 > [New LWP 1] > [New LWP 2] > [New LWP 3] > [New LWP 4] > Connected to birch.elegosoft.com > [New LWP 5] > [New LWP 6] > [New LWP 7] > [New LWP 8] > [New LWP 9] > [New LWP 10] > [New LWP 11] > Updating collection cm3/cvs > SetAttrs cm3/COPYRIGHT-BSD,v > SetAttrs cm3/COPYRIGHT-CMASS,v > SetAttrs cm3/COPYRIGHT-COLUMBIA,v > SetAttrs cm3/COPYRIGHT-DEC,v > SetAttrs cm3/COPYRIGHT-JDP,v > SetAttrs cm3/COPYRIGHT-PURDUE,v > SetAttrs cm3/COPYRIGHT-XEROX,v > SetAttrs cm3/COPYRIGHTS,v > SetAttrs cm3/README,v > SetAttrs cm3/caltech-parser/COPYRIGHT,v > SetAttrs cm3/caltech-parser/Makefile,v > SetAttrs cm3/caltech-parser/PkgTags,v > SetAttrs cm3/caltech-parser/README,v > SetAttrs cm3/caltech-parser/README.cm3,v > SetAttrs cm3/caltech-parser/cit_common/.cvsignore,v > SetAttrs cm3/caltech-parser/cit_common/Makefile,v > SetAttrs cm3/caltech-parser/cit_common/PkgTags,v > SetAttrs cm3/caltech-parser/cit_common/src/TextReader.i3,v > SetAttrs cm3/caltech-parser/cit_common/src/TextReader.m3,v > SetAttrs cm3/caltech-parser/cit_common/src/m3makefile,v > SetAttrs cm3/caltech-parser/cit_common/src/m3overrides,v > SetAttrs cm3/caltech-parser/cit_util/.cvsignore,v > SetAttrs cm3/caltech-parser/cit_util/Makefile,v > SetAttrs cm3/caltech-parser/cit_util/PkgTags,v > SetAttrs cm3/caltech-parser/cit_util/src/ArrayRef.ig,v > SetAttrs cm3/caltech-parser/cit_util/src/ArrayRef.mg,v > SetAttrs cm3/caltech-parser/cit_util/src/BrandedSet.ig,v > SetAttrs cm3/caltech-parser/cit_util/src/BrandedSet.mg,v > SetAttrs cm3/caltech-parser/cit_util/src/COPYRIGHT,v > SetAttrs cm3/caltech-parser/cit_util/src/DblRefany.i3,v > SetAttrs cm3/caltech-parser/cit_util/src/DblTable.ig,v > SetAttrs cm3/caltech-parser/cit_util/src/DblTable.mg,v > SetAttrs cm3/caltech-parser/cit_util/src/Debug.i3,v > SetAttrs cm3/caltech-parser/cit_util/src/Debug.m3,v > SetAttrs cm3/caltech-parser/cit_util/src/Equivalence.ig,v > SetAttrs cm3/caltech-parser/cit_util/src/Equivalence.mg,v > SetAttrs cm3/caltech-parser/cit_util/src/KeyPair.ig,v > SetAttrs cm3/caltech-parser/cit_util/src/KeyPair.mg,v > SetAttrs cm3/caltech-parser/cit_util/src/OpenArrayTable.ig,v > SetAttrs cm3/caltech-parser/cit_util/src/OpenArrayTable.mg,v > SetAttrs cm3/caltech-parser/cit_util/src/RTBrand.i3,v > SetAttrs cm3/caltech-parser/cit_util/src/RTBrand.m3,v > SetAttrs cm3/caltech-parser/cit_util/src/Ref.ig,v > SetAttrs cm3/caltech-parser/cit_util/src/Ref.mg,v > SetAttrs cm3/caltech-parser/cit_util/src/SIsuffix.i3,v > SetAttrs cm3/caltech-parser/cit_util/src/SIsuffix.m3,v > SetAttrs cm3/caltech-parser/cit_util/src/TextSubs.i3,v > SetAttrs cm3/caltech-parser/cit_util/src/TextSubs.m3,v > SetAttrs cm3/caltech-parser/cit_util/src/TextTextTblExtras.i3,v > > Program received signal SIGSEGV, Segmentation fault. > [Switching to LWP 11] > 0x0045ac34 in Length (t=16_000000fe) at Text.m3:16 > 16 Text.m3: No such file or directory. > in Text.m3 > (m3gdb) bt > #0 0x0045ac34 in Length (t=16_000000fe) at Text.m3:16 > #1 0x0036d2a8 in PathCompare (a=16_000000fe, b=16_000000fe) at > SupMiscText.m3:166 > #2 0x00355734 in Compare (a=16_000000fe, b=16_000000fe) at > FileStatus.m3:67 > #3 0x0035a95c in WrPut (ww=16_000000fe, fs=16_000000fe) at > FileStatus.m3:505 > #4 0x0035e5a0 in Get (self=16_000000fe, name=16_000000fe, > isDirUp=FALSE, deleteTo=FALSE) at StatusFile.m3:151 > #5 0x0035f434 in Put (self=16_000000fe, fs=16_000000fe) at > StatusFile.m3:214 > #6 0x0008938c in UpdateCheckoutInfo (self=16_000000fe, > sfr=16_000000fe, name=16_000000fe, tag=16_000000fe, > date=16_000000fe, revNum=16_000000fe, revDate=16_000000fe, > rcsAttr=16_000000fe) at Updater.m3:869 > #7 0x00083c80 in UpdateCollection (self=16_000000fe, > sfr=16_000000fe, isFixups=FALSE) at Updater.m3:435 > #8 0x000800e0 in UpdateBatch (self=16_000000fe, isFixups=FALSE) at > Updater.m3:151 > #9 0x0007f508 in Apply (self=16_000000fe) at Updater.m3:90 > #10 0x0044b0c8 in RunThread (me=NIL) at ThreadPThread.m3:540 > #11 0x0044acc4 in ThreadBase (param=NIL) at ThreadPThread.m3:521 > #12 0xfeebfff8 in _lwp_start () from /lib/libc.so.1 > #13 0xfeebfff8 in _lwp_start () from /lib/libc.so.1 > Previous frame identical to this frame (corrupt stack?) > (m3gdb) shell > bash-3.00# find /opt/cm3/cm3 -name Text.m3 > /opt/cm3/cm3/m3-libs/m3core/src/text/Text.m3 > bash-3.00# exit > exit > (m3gdb) dir /opt/cm3/cm3/m3-libs/m3core/src/text > Source directories searched: /opt/cm3/cm3/m3-libs/m3core/src/text:/ > opt/cm3/cm3/m3-libs/m3core/src/runtime/common:/opt/cm3/cvsup- > snap-16.1h/suplib/src:/opt/cm3/cvsup-snap-16.1h/client/src:$cdir:$cwd > (m3gdb) bt > #0 0x0045ac34 in Length (t=16_000000fe) at Text.m3:16 > #1 0x0036d2a8 in PathCompare (a=16_000000fe, b=16_000000fe) at > SupMiscText.m3:166 > #2 0x00355734 in Compare (a=16_000000fe, b=16_000000fe) at > FileStatus.m3:67 > #3 0x0035a95c in WrPut (ww=16_000000fe, fs=16_000000fe) at > FileStatus.m3:505 > #4 0x0035e5a0 in Get (self=16_000000fe, name=16_000000fe, > isDirUp=FALSE, deleteTo=FALSE) at StatusFile.m3:151 > #5 0x0035f434 in Put (self=16_000000fe, fs=16_000000fe) at > StatusFile.m3:214 > #6 0x0008938c in UpdateCheckoutInfo (self=16_000000fe, > sfr=16_000000fe, name=16_000000fe, tag=16_000000fe, > date=16_000000fe, revNum=16_000000fe, revDate=16_000000fe, > rcsAttr=16_000000fe) at Updater.m3:869 > #7 0x00083c80 in UpdateCollection (self=16_000000fe, > sfr=16_000000fe, isFixups=FALSE) at Updater.m3:435 > #8 0x000800e0 in UpdateBatch (self=16_000000fe, isFixups=FALSE) at > Updater.m3:151 > #9 0x0007f508 in Apply (self=16_000000fe) at Updater.m3:90 > #10 0x0044b0c8 in RunThread (me=NIL) at ThreadPThread.m3:540 > #11 0x0044acc4 in ThreadBase (param=NIL) at ThreadPThread.m3:521 > #12 0xfeebfff8 in _lwp_start () from /lib/libc.so.1 > #13 0xfeebfff8 in _lwp_start () from /lib/libc.so.1 > (m3gdb) list > 11 TYPE Info = TextClass.Info; > 12 > 13 PROCEDURE Length (t: T): CARDINAL = > 14 VAR i: Info; > 15 BEGIN > 16 t.get_info (i); > 17 RETURN i.length; > 18 END Length; > 19 > 20 PROCEDURE Empty (t: T): BOOLEAN = > (m3gdb) > > > And with @M3paranoidgc: > > bash-3.00# m3gdb cvsup > GNU gdb plus Modula-3 6.4 > Copyright 2005 Free Software Foundation, Inc. > GDB is free software, covered by the GNU General Public License, > and you are > welcome to change it and/or distribute copies of it under certain > conditions. > Type "show copying" to see the conditions. > There is absolutely no warranty for GDB. Type "show warranty" for > details. > This GDB was configured as "sparc-sun-solaris2"... > (m3gdb) dir /opt/cm3/cm3/m3-libs/m3core/src/text:cm3/m3-libs/m3core/ > src/runtime/common/:/opt/cm3/cvsup-snap-16.1h/suplib/src:/opt/cm3/ > cvsup-snap-16.1h/client/src/ > Source directories searched: /opt/cm3/cm3/m3-libs/m3core/src/text:/ > opt/cm3/cm3/m3-libs/m3core/src/runtime/common:/opt/cm3/cvsup- > snap-16.1h/suplib/src:/opt/cm3/cvsup-snap-16.1h/client/src:$cdir:$cwd > (m3gdb) set args @M3paranoidgc -g cvsupfile.cm3 > (m3gdb) r > Starting program: /usr/local/bin/cvsup @M3paranoidgc -g cvsupfile.cm3 > warning: Lowest section in /lib/libw.so.1 is .dynamic at 00000074 > warning: Lowest section in /lib/libdl.so.1 is .dynamic at 00000094 > warning: Lowest section in /lib/libpthread.so.1 is .dynamic at > 00000074 > warning: Lowest section in /lib/libthread.so.1 is .dynamic at 00000074 > [New LWP 1] > [New LWP 2] > [New LWP 3] > [New LWP 4] > Connected to birch.elegosoft.com > [New LWP 5] > [New LWP 6] > [New LWP 7] > [New LWP 8] > [New LWP 9] > [New LWP 10] > [New LWP 11] > > > *** > *** runtime error: > *** <*ASSERT*> failed. > *** file "../src/runtime/common/RTCollector.m3", line 1770 > *** > > > Program received signal SIGABRT, Aborted. > [Switching to LWP 9] > 0xfeec11e4 in _lwp_kill () from /lib/libc.so.1 > (m3gdb) bt > #0 0xfeec11e4 in _lwp_kill () from /lib/libc.so.1 > #1 0xfee5fde0 in raise () from /lib/libc.so.1 > #2 0xfee40000 in abort () from /lib/libc.so.1 > #3 0x004416ec in Crash () at RTOS.m3:20 > #4 0x00437810 in Crash (msg=NIL) at RTProcess.m3:65 > #5 0x0043477c in EndError (crash=FALSE) at RTError.m3:115 > #6 0x004342dc in MsgS (file=NIL, line=0, msgA=NIL, msgB=NIL, > msgC=NIL) at RTError.m3:40 > #7 0x00434e9c in Crash (a=Cannot access memory at address 0xfe > ) at RTException.m3:79 > #8 0x00434a38 in DefaultBackstop (a=Cannot access memory at > address 0xfe > ) at RTException.m3:39 > #9 0x004348f4 in InvokeBackstop (a=Cannot access memory at address > 0xfe > ) at RTException.m3:25 > #10 0x004434b8 in Raise (act=Cannot access memory at address 0xfe > ) at RTExStack.m3:34 > #11 0x00434b34 in DefaultBackstop (a=Cannot access memory at > address 0xfe > ) at RTException.m3:47 > #12 0x004348f4 in InvokeBackstop (a=Cannot access memory at address > 0xfe > ) at RTException.m3:25 > #13 0x004434b8 in Raise (act=Cannot access memory at address 0xfe > ) at RTExStack.m3:34 > #14 0x0041aa58 in ReportFault (module=NIL, info=0) at RTHooks.m3:110 > #15 0x00430b04 in _m3_fault (arg=0) > #16 0x00427f5c in RefSanityCheck (v=16_000000fe, cp=16_000000fe) at > RTCollector.m3:1770 > #17 0x0046d7f8 in Walk (x=16_000000fe, pc=NIL, v=16_000000fe) at > RTHeapMap.m3:193 > #18 0x0046cc70 in DoWalkRef (t=NIL, a=16_000000fe, v=16_000000fe) > at RTHeapMap.m3:62 > #19 0x0046cc30 in DoWalkRef (t=NIL, a=16_000000fe, v=16_000000fe) > at RTHeapMap.m3:57 > #20 0x0046cbb0 in WalkRef (h=16_000000fe, v=16_000000fe) at > RTHeapMap.m3:47 > #21 0x00427704 in SanityCheck (self=16_000000fe) at > RTCollector.m3:1723 > #22 0x00426f4c in After (self=16_000000fe) at RTCollector.m3:1694 > #23 0x0041e060 in InvokeMonitors (before=FALSE) at RTHeapRep.m3:59 > #24 0x00422f54 in CollectSomeInStateFive () at RTCollector.m3:992 > #25 0x004217dc in CollectSome () at RTCollector.m3:744 > #26 0x00420e04 in CollectEnough () at RTCollector.m3:654 > #27 0x00425724 in AllocTraced (def=NIL, dataSize=0, > dataAlignment=0, initProc=Cannot access memory at address 0xfe > ) at RTCollector.m3:1413 > #28 0x0041c02c in GetTracedObj (def=NIL) at RTAllocator.m3:223 > #29 0x0041b9c4 in AllocateTracedObj (defn=NIL) at RTAllocator.m3:141 > #30 0x0046076c in Sub (t=16_000000fe, start=0, length=127) at > TextSub.m3:78 > #31 0x00354374 in PathLast (p=16_000000fe) at SupMisc.m3:431 > #32 0x00074844 in PutCollectionList (self=16_000000fe, > sfr=16_000000fe) at TreeList.m3:477 > #33 0x000709c8 in ListCollection (self=16_000000fe, > sfr=16_000000fe) at TreeList.m3:136 > #34 0x0006fb84 in Apply (self=16_000000fe) at TreeList.m3:65 > #35 0x0044b0c8 in RunThread (me=NIL) at ThreadPThread.m3:540 > #36 0x0044acc4 in ThreadBase (param=NIL) at ThreadPThread.m3:521 > #37 0xfeebfff8 in _lwp_start () from /lib/libc.so.1 > #38 0xfeebfff8 in _lwp_start () from /lib/libc.so.1 > Previous frame identical to this frame (corrupt stack?) > (m3gdb) > > > Alex. From hosking at cs.purdue.edu Mon Oct 8 22:17:56 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Mon, 8 Oct 2007 16:17:56 -0400 Subject: [M3devel] Solaris at last In-Reply-To: References: <68B70FA8-00B1-4C76-8E9B-C249D84C134F@cs.purdue.edu> Message-ID: <1A86C2BE-07EA-4C60-888F-3AA2B72A2E9A@cs.purdue.edu> It's really great to hear that. Yes, on Solaris I now use SIGUSR2 as the signal to stop all threads for GC. I might change that at some point to be one of the real-time signals (also, to avoid interfering with application level use of SIGUSR2), but SIGUSR2 seems to work OK for now. When using m3gdb to debug applications you can use the command: handle SIGUSR2 noprint nostop to ignore the signal. Regards, Tony On Oct 8, 2007, at 3:47 PM, Alex Bochannek wrote: > Tony, > > The change looks really good, so far I have not had an error. > > I did notice a change when running under m3gdb however: > > (m3gdb) r > Starting program: /usr/local/bin/cvsup > warning: Lowest section in /lib/libw.so.1 is .dynamic at 00000074 > warning: Lowest section in /lib/libpthread.so.1 is .dynamic at > 00000074 > warning: Lowest section in /lib/libdl.so.1 is .dynamic at 00000094 > [New LWP 1] > [New LWP 2] > [New LWP 3] > > Program received signal SIGUSR2, User defined signal 2. > [Switching to LWP 2] > 0xfeec0090 in __lwp_park () from /lib/libc.so.1 > (m3gdb) > > Alex. From dabenavidesd at yahoo.es Thu Oct 11 00:18:45 2007 From: dabenavidesd at yahoo.es (Daniel Alejandro Benavides D.) Date: Thu, 11 Oct 2007 00:18:45 +0200 (CEST) Subject: [M3devel] Failing in linking phase of cm3 upgrade.sh Message-ID: <882682.75191.qm@web27104.mail.ukl.yahoo.com> Hi: Im compiling the entire cm3 lastest sources, but get into this error, in the link phase, I used upgrade.sh (also on do-cm3-std.sh buildship but in the linking of m3cgcat) What can be wrong here, could be related with the shown behaviour with NThreads program? new exporters -> recompiling Utils.i3 -> linking cm3 /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__InnerLockMutex':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:127: undefined reference to `pthread_cond_wait' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `Thread__Acquire':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:142: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:144: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__InnerUnlockMutex':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:168: undefined reference to `pthread_cond_signal' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `Thread__Release':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:179: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:181: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__XWait':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:195: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:217: undefined reference to `pthread_cond_wait' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread_M3_LINE_222':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:237: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__DequeueHead':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:273: undefined reference to `pthread_cond_signal' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `Thread__Signal':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:278: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:280: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `Thread__Broadcast':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:285: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:287: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `Thread__Alert':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:292: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:295: undefined reference to `pthread_cond_signal' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:297: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__XTestAlert':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:303: undefined reference to `pthread_mutex_lock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread_M3_LINE_306':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:307: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__InitActivations':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:334: undefined reference to `pthread_key_create' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:335: undefined reference to `pthread_setspecific' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:336: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:338: undefined reference to `pthread_self' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:343: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__SetActivation':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:351: undefined reference to `pthread_setspecific' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__GetActivation':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:359: undefined reference to `pthread_getspecific' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `Thread(...)(long, float) static':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:370: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:372: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__AssignSlot':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:381: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:385: undefined reference to `pthread_mutex_unlock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:387: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:391: undefined reference to `pthread_mutex_unlock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:393: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:403: undefined reference to `pthread_mutex_unlock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:418: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__FreeSlot':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:424: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:433: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__CheckSlot':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:442: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:444: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__CreateT':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:489: undefined reference to `pthread_cond_init' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__RunThread':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:521: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:523: undefined reference to `pthread_mutex_unlock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:546: undefined reference to `pthread_cond_destroy' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:553: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:559: undefined reference to `pthread_detach' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:560: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `Thread__Fork':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:577: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:578: undefined reference to `pthread_attr_init' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:579: undefined reference to `pthread_attr_getstacksize' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:581: undefined reference to `pthread_attr_setstacksize' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:588: undefined reference to `pthread_create' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:604: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadF__SuspendOthers':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:892: undefined reference to `pthread_mutex_lock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadF__ResumeOthers':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:901: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__SuspendAll':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1017: undefined reference to `pthread_kill' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__RestartAll':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1058: undefined reference to `pthread_kill' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__StopWorld':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1086: undefined reference to `sem_getvalue' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1091: undefined reference to `sem_getvalue' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1107: undefined reference to `sem_wait' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__SignalHandler':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1156: undefined reference to `sem_post' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__SetupHandlers':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1176: undefined reference to `sem_init' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__PerfChanged':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1259: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1261: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__PerfDeleted':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1267: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1269: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__PerfRunning':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1275: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1277: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadF__Init':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1300: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1302: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `RTOS__LockHeap':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1333: undefined reference to `pthread_self' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1335: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1338: undefined reference to `pthread_equal' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1340: undefined reference to `pthread_cond_wait' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1343: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `RTOS__UnlockHeap':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1349: undefined reference to `pthread_self' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1351: undefined reference to `pthread_mutex_lock' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1352: undefined reference to `pthread_equal' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1355: undefined reference to `pthread_cond_signal' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1358: undefined reference to `pthread_mutex_unlock' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadF__GetCurrentHandlers':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1383: undefined reference to `pthread_getspecific' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadF__SetCurrentHandlers':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1389: undefined reference to `pthread_setspecific' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `RTHooks__PushEFrame':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1398: undefined reference to `pthread_getspecific' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1399: undefined reference to `pthread_setspecific' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `RTHooks__PopEFrame':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1406: undefined reference to `pthread_setspecific' /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): In function `ThreadPThread__InitHandlers':/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1411: undefined reference to `pthread_key_create' :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1412: undefined reference to `pthread_setspecific' /usr/lib/gcc/i486-linux-gnu/4.1.0/../../../../lib/libc.a(vfork.o): In function `vfork': undefined reference to `pthread_create' collect2: ld returned 1 exit status Fatal Error: package build failed *** execution of failed *** danielb at danielb-desktop:~/cm3-cvs/cm3/scripts$ cd .. Thanks, --------------------------------- S? un Mejor Amante del Cine ?Quieres saber c?mo? ?Deja que otras personas te ayuden!. -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at cs.purdue.edu Thu Oct 11 00:29:09 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Wed, 10 Oct 2007 18:29:09 -0400 Subject: [M3devel] Failing in linking phase of cm3 upgrade.sh In-Reply-To: <882682.75191.qm@web27104.mail.ukl.yahoo.com> References: <882682.75191.qm@web27104.mail.ukl.yahoo.com> Message-ID: <0F3D1AE7-CC8E-476F-A773-1F6389207B92@cs.purdue.edu> What platform? On Oct 10, 2007, at 6:18 PM, Daniel Alejandro Benavides D. wrote: > Hi: > Im compiling the entire cm3 lastest sources, but get into this > error, in the link phase, I used upgrade.sh (also on do-cm3-std.sh > buildship but in the linking of m3cgcat) > > What can be wrong here, could be related with the shown behaviour > with NThreads program? > > > new exporters -> recompiling Utils.i3 > -> linking cm3 > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__InnerLockMutex':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:127: undefined reference to `pthread_cond_wait' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Acquire':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:142: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:144: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__InnerUnlockMutex':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:168: undefined reference to `pthread_cond_signal' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Release':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:179: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:181: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__XWait':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:195: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:217: undefined reference to `pthread_cond_wait' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread_M3_LINE_222':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:237: > undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__DequeueHead':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:273: > undefined reference to `pthread_cond_signal' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Signal':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:278: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:280: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Broadcast':/home/danielb/ > cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:285: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:287: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Alert':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:292: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:295: undefined reference to `pthread_cond_signal' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:297: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__XTestAlert':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:303: > undefined reference to `pthread_mutex_lock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread_M3_LINE_306':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:307: > undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__InitActivations':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:334: undefined reference to `pthread_key_create' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:335: undefined reference to `pthread_setspecific' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:336: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:338: undefined reference to `pthread_self' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:343: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__SetActivation':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:351: undefined reference to `pthread_setspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__GetActivation':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:359: undefined reference to `pthread_getspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread(...)(long, float) static':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:370: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:372: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__AssignSlot':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:381: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:385: undefined reference to `pthread_mutex_unlock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:387: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:391: undefined reference to `pthread_mutex_unlock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:393: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:403: undefined reference to `pthread_mutex_unlock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:418: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__FreeSlot':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:424: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:433: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__CheckSlot':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:442: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:444: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__CreateT':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:489: > undefined reference to `pthread_cond_init' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__RunThread':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:521: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:523: undefined reference to `pthread_mutex_unlock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:546: undefined reference to `pthread_cond_destroy' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:553: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:559: undefined reference to `pthread_detach' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:560: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Fork':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:577: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:578: undefined reference to `pthread_attr_init' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:579: undefined reference to > `pthread_attr_getstacksize' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:581: undefined reference to > `pthread_attr_setstacksize' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:588: undefined reference to `pthread_create' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:604: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadF__SuspendOthers':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:892: > undefined reference to `pthread_mutex_lock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadF__ResumeOthers':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:901: > undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__SuspendAll':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1017: undefined reference to `pthread_kill' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__RestartAll':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1058: undefined reference to `pthread_kill' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__StopWorld':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1086: undefined reference to `sem_getvalue' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1091: undefined reference to `sem_getvalue' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1107: undefined reference to `sem_wait' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__SignalHandler':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1156: undefined reference to `sem_post' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__SetupHandlers':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1176: undefined reference to `sem_init' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__PerfChanged':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1259: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1261: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__PerfDeleted':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1267: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1269: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__PerfRunning':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1275: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1277: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadF__Init':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1300: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1302: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `RTOS__LockHeap':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1333: undefined > reference to `pthread_self' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1335: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1338: undefined reference to `pthread_equal' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1340: undefined reference to `pthread_cond_wait' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1343: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `RTOS__UnlockHeap':/home/danielb/ > cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1349: > undefined reference to `pthread_self' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1351: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1352: undefined reference to `pthread_equal' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1355: undefined reference to `pthread_cond_signal' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1358: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadF__GetCurrentHandlers':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1383: undefined reference to `pthread_getspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadF__SetCurrentHandlers':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1389: undefined reference to `pthread_setspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `RTHooks__PushEFrame':/home/danielb/ > cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1398: > undefined reference to `pthread_getspecific' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1399: undefined reference to `pthread_setspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `RTHooks__PopEFrame':/home/danielb/ > cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1406: > undefined reference to `pthread_setspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__InitHandlers':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1411: undefined reference to `pthread_key_create' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1412: undefined reference to `pthread_setspecific' > /usr/lib/gcc/i486-linux-gnu/4.1.0/../../../../lib/libc.a(vfork.o): > In function `vfork': undefined reference to `pthread_create' > collect2: ld returned 1 exit status > Fatal Error: package build failed > *** execution of failed *** > danielb at danielb-desktop:~/cm3-cvs/cm3/scripts$ cd .. > > > Thanks, > > > S? un Mejor Amante del Cine > ?Quieres saber c?mo? ?Deja que otras personas te ayuden! . From dabenavidesd at yahoo.es Thu Oct 11 00:31:38 2007 From: dabenavidesd at yahoo.es (Daniel Alejandro Benavides D.) Date: Thu, 11 Oct 2007 00:31:38 +0200 (CEST) Subject: [M3devel] Failing in linking phase of cm3 upgrade.sh In-Reply-To: <0F3D1AE7-CC8E-476F-A773-1F6389207B92@cs.purdue.edu> Message-ID: <21253.7899.qm@web27113.mail.ukl.yahoo.com> Hi LINUXLIBC6 on Ubuntu Dapper 6.06, 32 bits Thanks Tony Hosking escribi?: What platform? On Oct 10, 2007, at 6:18 PM, Daniel Alejandro Benavides D. wrote: > Hi: > Im compiling the entire cm3 lastest sources, but get into this > error, in the link phase, I used upgrade.sh (also on do-cm3-std.sh > buildship but in the linking of m3cgcat) > > What can be wrong here, could be related with the shown behaviour > with NThreads program? > > > new exporters -> recompiling Utils.i3 > -> linking cm3 > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__InnerLockMutex':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:127: undefined reference to `pthread_cond_wait' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Acquire':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:142: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:144: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__InnerUnlockMutex':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:168: undefined reference to `pthread_cond_signal' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Release':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:179: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:181: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__XWait':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:195: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:217: undefined reference to `pthread_cond_wait' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread_M3_LINE_222':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:237: > undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__DequeueHead':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:273: > undefined reference to `pthread_cond_signal' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Signal':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:278: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:280: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Broadcast':/home/danielb/ > cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:285: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:287: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Alert':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:292: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:295: undefined reference to `pthread_cond_signal' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:297: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__XTestAlert':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:303: > undefined reference to `pthread_mutex_lock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread_M3_LINE_306':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:307: > undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__InitActivations':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:334: undefined reference to `pthread_key_create' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:335: undefined reference to `pthread_setspecific' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:336: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:338: undefined reference to `pthread_self' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:343: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__SetActivation':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:351: undefined reference to `pthread_setspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__GetActivation':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:359: undefined reference to `pthread_getspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread(...)(long, float) static':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:370: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:372: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__AssignSlot':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:381: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:385: undefined reference to `pthread_mutex_unlock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:387: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:391: undefined reference to `pthread_mutex_unlock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:393: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:403: undefined reference to `pthread_mutex_unlock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:418: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__FreeSlot':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:424: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:433: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__CheckSlot':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:442: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:444: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__CreateT':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:489: > undefined reference to `pthread_cond_init' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__RunThread':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:521: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:523: undefined reference to `pthread_mutex_unlock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:546: undefined reference to `pthread_cond_destroy' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:553: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:559: undefined reference to `pthread_detach' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:560: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Fork':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:577: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:578: undefined reference to `pthread_attr_init' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:579: undefined reference to > `pthread_attr_getstacksize' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:581: undefined reference to > `pthread_attr_setstacksize' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:588: undefined reference to `pthread_create' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:604: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadF__SuspendOthers':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:892: > undefined reference to `pthread_mutex_lock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadF__ResumeOthers':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:901: > undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__SuspendAll':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1017: undefined reference to `pthread_kill' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__RestartAll':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1058: undefined reference to `pthread_kill' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__StopWorld':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1086: undefined reference to `sem_getvalue' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1091: undefined reference to `sem_getvalue' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1107: undefined reference to `sem_wait' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__SignalHandler':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1156: undefined reference to `sem_post' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__SetupHandlers':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1176: undefined reference to `sem_init' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__PerfChanged':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1259: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1261: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__PerfDeleted':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1267: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1269: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__PerfRunning':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1275: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1277: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadF__Init':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1300: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1302: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `RTOS__LockHeap':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1333: undefined > reference to `pthread_self' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1335: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1338: undefined reference to `pthread_equal' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1340: undefined reference to `pthread_cond_wait' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1343: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `RTOS__UnlockHeap':/home/danielb/ > cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1349: > undefined reference to `pthread_self' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1351: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1352: undefined reference to `pthread_equal' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1355: undefined reference to `pthread_cond_signal' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1358: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadF__GetCurrentHandlers':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1383: undefined reference to `pthread_getspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadF__SetCurrentHandlers':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1389: undefined reference to `pthread_setspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `RTHooks__PushEFrame':/home/danielb/ > cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1398: > undefined reference to `pthread_getspecific' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1399: undefined reference to `pthread_setspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `RTHooks__PopEFrame':/home/danielb/ > cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1406: > undefined reference to `pthread_setspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__InitHandlers':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1411: undefined reference to `pthread_key_create' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1412: undefined reference to `pthread_setspecific' > /usr/lib/gcc/i486-linux-gnu/4.1.0/../../../../lib/libc.a(vfork.o): > In function `vfork': undefined reference to `pthread_create' > collect2: ld returned 1 exit status > Fatal Error: package build failed > *** execution of failed *** > danielb at danielb-desktop:~/cm3-cvs/cm3/scripts$ cd .. > > > Thanks, > > > S? un Mejor Amante del Cine > ?Quieres saber c?mo? ?Deja que otras personas te ayuden! . --------------------------------- S? un Mejor Amante del Cine ?Quieres saber c?mo? ?Deja que otras personas te ayuden!. -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at cs.purdue.edu Thu Oct 11 00:31:57 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Wed, 10 Oct 2007 18:31:57 -0400 Subject: [M3devel] Failing in linking phase of cm3 upgrade.sh In-Reply-To: <882682.75191.qm@web27104.mail.ukl.yahoo.com> References: <882682.75191.qm@web27104.mail.ukl.yahoo.com> Message-ID: Sorry, reading further I see you are using Linux. It looks like you are not linking with the pthread library. Try putting -lpthread into your definition of LIBC in your cm3.cfg. On Oct 10, 2007, at 6:18 PM, Daniel Alejandro Benavides D. wrote: > Hi: > Im compiling the entire cm3 lastest sources, but get into this > error, in the link phase, I used upgrade.sh (also on do-cm3-std.sh > buildship but in the linking of m3cgcat) > > What can be wrong here, could be related with the shown behaviour > with NThreads program? > > > new exporters -> recompiling Utils.i3 > -> linking cm3 > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__InnerLockMutex':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:127: undefined reference to `pthread_cond_wait' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Acquire':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:142: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:144: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__InnerUnlockMutex':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:168: undefined reference to `pthread_cond_signal' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Release':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:179: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:181: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__XWait':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:195: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:217: undefined reference to `pthread_cond_wait' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread_M3_LINE_222':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:237: > undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__DequeueHead':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:273: > undefined reference to `pthread_cond_signal' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Signal':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:278: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:280: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Broadcast':/home/danielb/ > cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:285: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:287: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Alert':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:292: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:295: undefined reference to `pthread_cond_signal' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:297: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__XTestAlert':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:303: > undefined reference to `pthread_mutex_lock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread_M3_LINE_306':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:307: > undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__InitActivations':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:334: undefined reference to `pthread_key_create' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:335: undefined reference to `pthread_setspecific' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:336: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:338: undefined reference to `pthread_self' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:343: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__SetActivation':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:351: undefined reference to `pthread_setspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__GetActivation':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:359: undefined reference to `pthread_getspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread(...)(long, float) static':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:370: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:372: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__AssignSlot':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:381: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:385: undefined reference to `pthread_mutex_unlock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:387: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:391: undefined reference to `pthread_mutex_unlock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:393: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:403: undefined reference to `pthread_mutex_unlock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:418: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__FreeSlot':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:424: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:433: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__CheckSlot':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:442: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:444: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__CreateT':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:489: > undefined reference to `pthread_cond_init' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__RunThread':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:521: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:523: undefined reference to `pthread_mutex_unlock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:546: undefined reference to `pthread_cond_destroy' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:553: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:559: undefined reference to `pthread_detach' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:560: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Fork':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:577: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:578: undefined reference to `pthread_attr_init' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:579: undefined reference to > `pthread_attr_getstacksize' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:581: undefined reference to > `pthread_attr_setstacksize' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:588: undefined reference to `pthread_create' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:604: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadF__SuspendOthers':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:892: > undefined reference to `pthread_mutex_lock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadF__ResumeOthers':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:901: > undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__SuspendAll':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1017: undefined reference to `pthread_kill' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__RestartAll':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1058: undefined reference to `pthread_kill' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__StopWorld':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1086: undefined reference to `sem_getvalue' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1091: undefined reference to `sem_getvalue' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1107: undefined reference to `sem_wait' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__SignalHandler':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1156: undefined reference to `sem_post' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__SetupHandlers':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1176: undefined reference to `sem_init' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__PerfChanged':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1259: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1261: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__PerfDeleted':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1267: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1269: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__PerfRunning':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1275: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1277: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadF__Init':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1300: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1302: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `RTOS__LockHeap':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1333: undefined > reference to `pthread_self' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1335: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1338: undefined reference to `pthread_equal' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1340: undefined reference to `pthread_cond_wait' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1343: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `RTOS__UnlockHeap':/home/danielb/ > cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1349: > undefined reference to `pthread_self' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1351: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1352: undefined reference to `pthread_equal' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1355: undefined reference to `pthread_cond_signal' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1358: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadF__GetCurrentHandlers':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1383: undefined reference to `pthread_getspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadF__SetCurrentHandlers':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1389: undefined reference to `pthread_setspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `RTHooks__PushEFrame':/home/danielb/ > cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1398: > undefined reference to `pthread_getspecific' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1399: undefined reference to `pthread_setspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `RTHooks__PopEFrame':/home/danielb/ > cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1406: > undefined reference to `pthread_setspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__InitHandlers':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1411: undefined reference to `pthread_key_create' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1412: undefined reference to `pthread_setspecific' > /usr/lib/gcc/i486-linux-gnu/4.1.0/../../../../lib/libc.a(vfork.o): > In function `vfork': undefined reference to `pthread_create' > collect2: ld returned 1 exit status > Fatal Error: package build failed > *** execution of failed *** > danielb at danielb-desktop:~/cm3-cvs/cm3/scripts$ cd .. > > > Thanks, > > > S? un Mejor Amante del Cine > ?Quieres saber c?mo? ?Deja que otras personas te ayuden! . From dabenavidesd at yahoo.es Thu Oct 11 00:46:56 2007 From: dabenavidesd at yahoo.es (Daniel Alejandro Benavides D.) Date: Thu, 11 Oct 2007 00:46:56 +0200 (CEST) Subject: [M3devel] Failing in linking phase of cm3 upgrade.sh In-Reply-To: Message-ID: <412093.65880.qm@web27103.mail.ukl.yahoo.com> Hi: Yes, Its working again. Thanks Tony Hosking escribi?: Sorry, reading further I see you are using Linux. It looks like you are not linking with the pthread library. Try putting -lpthread into your definition of LIBC in your cm3.cfg. On Oct 10, 2007, at 6:18 PM, Daniel Alejandro Benavides D. wrote: > Hi: > Im compiling the entire cm3 lastest sources, but get into this > error, in the link phase, I used upgrade.sh (also on do-cm3-std.sh > buildship but in the linking of m3cgcat) > > What can be wrong here, could be related with the shown behaviour > with NThreads program? > > > new exporters -> recompiling Utils.i3 > -> linking cm3 > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__InnerLockMutex':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:127: undefined reference to `pthread_cond_wait' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Acquire':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:142: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:144: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__InnerUnlockMutex':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:168: undefined reference to `pthread_cond_signal' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Release':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:179: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:181: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__XWait':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:195: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:217: undefined reference to `pthread_cond_wait' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread_M3_LINE_222':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:237: > undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__DequeueHead':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:273: > undefined reference to `pthread_cond_signal' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Signal':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:278: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:280: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Broadcast':/home/danielb/ > cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:285: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:287: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Alert':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:292: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:295: undefined reference to `pthread_cond_signal' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:297: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__XTestAlert':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:303: > undefined reference to `pthread_mutex_lock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread_M3_LINE_306':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:307: > undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__InitActivations':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:334: undefined reference to `pthread_key_create' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:335: undefined reference to `pthread_setspecific' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:336: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:338: undefined reference to `pthread_self' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:343: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__SetActivation':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:351: undefined reference to `pthread_setspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__GetActivation':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:359: undefined reference to `pthread_getspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread(...)(long, float) static':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:370: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:372: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__AssignSlot':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:381: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:385: undefined reference to `pthread_mutex_unlock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:387: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:391: undefined reference to `pthread_mutex_unlock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:393: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:403: undefined reference to `pthread_mutex_unlock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:418: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__FreeSlot':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:424: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:433: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__CheckSlot':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:442: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:444: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__CreateT':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:489: > undefined reference to `pthread_cond_init' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__RunThread':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:521: > undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:523: undefined reference to `pthread_mutex_unlock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:546: undefined reference to `pthread_cond_destroy' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:553: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:559: undefined reference to `pthread_detach' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:560: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `Thread__Fork':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:577: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:578: undefined reference to `pthread_attr_init' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:579: undefined reference to > `pthread_attr_getstacksize' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:581: undefined reference to > `pthread_attr_setstacksize' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:588: undefined reference to `pthread_create' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:604: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadF__SuspendOthers':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:892: > undefined reference to `pthread_mutex_lock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadF__ResumeOthers':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:901: > undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__SuspendAll':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1017: undefined reference to `pthread_kill' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__RestartAll':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1058: undefined reference to `pthread_kill' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__StopWorld':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1086: undefined reference to `sem_getvalue' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1091: undefined reference to `sem_getvalue' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1107: undefined reference to `sem_wait' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__SignalHandler':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1156: undefined reference to `sem_post' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__SetupHandlers':/ > home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1176: undefined reference to `sem_init' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__PerfChanged':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1259: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1261: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__PerfDeleted':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1267: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1269: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__PerfRunning':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1275: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1277: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadF__Init':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1300: undefined > reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1302: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `RTOS__LockHeap':/home/danielb/cm3- > cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1333: undefined > reference to `pthread_self' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1335: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1338: undefined reference to `pthread_equal' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1340: undefined reference to `pthread_cond_wait' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1343: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `RTOS__UnlockHeap':/home/danielb/ > cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1349: > undefined reference to `pthread_self' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1351: undefined reference to `pthread_mutex_lock' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1352: undefined reference to `pthread_equal' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1355: undefined reference to `pthread_cond_signal' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1358: undefined reference to `pthread_mutex_unlock' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadF__GetCurrentHandlers':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1383: undefined reference to `pthread_getspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadF__SetCurrentHandlers':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1389: undefined reference to `pthread_setspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `RTHooks__PushEFrame':/home/danielb/ > cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1398: > undefined reference to `pthread_getspecific' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1399: undefined reference to `pthread_setspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `RTHooks__PopEFrame':/home/danielb/ > cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1406: > undefined reference to `pthread_setspecific' > /usr/local/cm3-cvs4/pkg/m3core/LINUXLIBC6/libm3core.a > (ThreadPThread.mo): In function `ThreadPThread__InitHandlers':/home/ > danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1411: undefined reference to `pthread_key_create' > :/home/danielb/cm3-cvs/cm3/m3-libs/m3core/LINUXLIBC6/ > ThreadPThread.m3:1412: undefined reference to `pthread_setspecific' > /usr/lib/gcc/i486-linux-gnu/4.1.0/../../../../lib/libc.a(vfork.o): > In function `vfork': undefined reference to `pthread_create' > collect2: ld returned 1 exit status > Fatal Error: package build failed > *** execution of failed *** > danielb at danielb-desktop:~/cm3-cvs/cm3/scripts$ cd .. > > > Thanks, > > > S? un Mejor Amante del Cine > ?Quieres saber c?mo? ?Deja que otras personas te ayuden! . --------------------------------- S? un Mejor Amante del Cine ?Quieres saber c?mo? ?Deja que otras personas te ayuden!. -------------- next part -------------- An HTML attachment was scrubbed... URL: From rodney.bates at wichita.edu Thu Oct 11 17:41:02 2007 From: rodney.bates at wichita.edu (Rodney M. Bates) Date: Thu, 11 Oct 2007 10:41:02 -0500 Subject: [M3devel] m3gdb start command and calls on runtime procedures Message-ID: <470E440E.8000005@wichita.edu> The revised 'start' command of m3gdb, that I recently checked in, stops too early, before all the runtime data is initialized, for CM3-compiled code only. If, when stopped at this point, you try to type a call in m3gdb, on anything that allocates heap objects, it will probably fail with runtime errors such as value range errors. Instead, put a breakpoint on the first line of the main module body. At that point, such calls will work. If instead, you put your breakpoint on 'Main.1" (the module body of Main), it will stop there twice, and only after the second stop are things properly initialized. In PM3, things are already initialized when the 'start' command stops. Also, in both CM3 and PM3, there are things in libm3core that are always initialized by the compiler, and some that are only initialized if they appear in the import closure of the program. RTutils is an example of the latter. If your program doesn't import it and you try to call inside it from m3gdb, that will fail also. -- ------------------------------------------------------------- Rodney M. Bates, retired assistant professor Dept. of Computer Science, Wichita State University Wichita, KS 67260-0083 316-978-3922 rodney.bates at wichita.edu From hosking at cs.purdue.edu Fri Oct 12 17:56:15 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Fri, 12 Oct 2007 11:56:15 -0400 Subject: [M3devel] Fwd: Solaris at last References: Message-ID: Anyone aware of file ownership problems with CM3? Begin forwarded message: > From: Alex Bochannek > Date: October 11, 2007 8:17:30 PM EDT > To: Tony Hosking > Subject: Re: Solaris at last > > Got some good news/bad news. > > Good news: The CVSup run doesn't hang anymore and I don't get any > crashes. > > Bad news: There seems to be an issue with file ownership that the > CM3-compiled CVSup client sets incorrectly. The EZM3-compiled one does > it right. I need to look at the code, but not until next week. > > Alex. From jdp at polstra.com Fri Oct 12 18:04:51 2007 From: jdp at polstra.com (John Polstra) Date: Fri, 12 Oct 2007 09:04:51 -0700 Subject: [M3devel] Fwd: Solaris at last In-Reply-To: References: Message-ID: <470F9B23.3050802@polstra.com> Hmm, I assume it's not just something simple like forgetting to run CVSup as root, or running it as root unintentionally. CVSup passes users and groups as names, not numbers. If there were bugs in CM3's getpwdent family of functions, it would cause problems. Probably no other application uses those functions, so CVSup could easily discover new bugs in them. John Tony Hosking wrote: > Anyone aware of file ownership problems with CM3? > > > Begin forwarded message: > >> From: Alex Bochannek >> Date: October 11, 2007 8:17:30 PM EDT >> To: Tony Hosking >> Subject: Re: Solaris at last >> >> Got some good news/bad news. >> >> Good news: The CVSup run doesn't hang anymore and I don't get any >> crashes. >> >> Bad news: There seems to be an issue with file ownership that the >> CM3-compiled CVSup client sets incorrectly. The EZM3-compiled one does >> it right. I need to look at the code, but not until next week. >> >> Alex. > From neels at elego.de Sun Oct 14 00:24:48 2007 From: neels at elego.de (Neels Janosch Hofmeyr) Date: Sun, 14 Oct 2007 00:24:48 +0200 Subject: [M3devel] Pathname.Legal Message-ID: <471145B0.60905@elego.de> Hello all, I encountered the problem that, in my cm3 compile, FS.GetAbsolutePathname cannot handle special characters in file names. As soon as a file contains a special character (?, ?, ?, ...), a Pathname.Invalid exception is raised. This happens because PathnamePosix.m3 has a list of legal characters: CONST Legal = SET OF CHAR {'\001' .. '\177'} - SET OF CHAR {DirSepChar}; which is enforced in Pathname.Compose and Pathname.ParsePosixPathname. Pathname.Legal contains the complete ASCII list -- but no more than that. This means that characters like ? are considered illegal characters. I reversed the Legal list to an Illegal list like this: CONST Illegal = SET OF CHAR {DirSepChar}; and also reversed the IF logic, replacing Legal with Illegal. This way all characters are allowed, except the DirSepChar. And voila, it works. PathnamePosix.m3 accepts weird filenames. So, should this fix be applied to cm3? Regards, Neels cm3/m3-libs/libm3/src/os/POSIX/PathnamePosix.m3: @@ -13,7 +13,7 @@ DirSepChar = '/'; ExtSepChar = '.'; DirSepText = "/"; ExtSepText = "."; -CONST Legal = SET OF CHAR {'\001' .. '\177'} - SET OF CHAR {DirSepChar}; +CONST Illegal = SET OF CHAR {DirSepChar}; PROCEDURE Valid(pn: T): BOOLEAN = PROCEDURE Ignore(<* UNUSED *> start, end: CARDINAL) = BEGIN END Ignore; @@ -51,7 +51,7 @@ WITH arc = a.get(i) DO IF arc = NIL THEN RAISE Invalid END; FOR i := 0 TO Text.Length(arc) - 1 DO - IF NOT Text.GetChar(arc, i) IN Legal THEN RAISE Invalid END + IF Text.GetChar(arc, i) IN Illegal THEN RAISE Invalid END END; t := t & arc END; @@ -159,7 +159,7 @@ IF c = DirSepChar THEN visit(s, e); s := e + 1 - ELSIF NOT c IN Legal THEN + ELSIF c IN Illegal THEN RAISE Invalid END END; -- Neels Janosch Hofmeyr Software Developer neels at elego.de Public Key: http://binarchy.net/neels/neels.hofmeyr.public.key.asc elego Software Solutions GmbH http://www.elegosoft.com Gustav-Meyer-Allee 25, Geb?ude 12 HRB 77719 13355 Berlin, Germany Amtsgericht Charlottenburg Tel.: +49 30 23 45 86 96 Sitz der Gesellschaft: Berlin Fax: +49 30 23 45 86 95 Gesch?ftsf?hrer: Olaf Wagner -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: OpenPGP digital signature URL: From stsp at elego.de Sun Oct 14 12:05:27 2007 From: stsp at elego.de (Stefan Sperling) Date: Sun, 14 Oct 2007 12:05:27 +0200 Subject: [M3devel] Pathname.Legal In-Reply-To: <471145B0.60905@elego.de> References: <471145B0.60905@elego.de> Message-ID: <20071014100526.GA2601@jack.stsp.lan> On Sun, Oct 14, 2007 at 12:24:48AM +0200, Neels Janosch Hofmeyr wrote: > Hello all, > > I encountered the problem that, in my cm3 compile, > FS.GetAbsolutePathname cannot handle special characters in file names. > As soon as a file contains a special character (?, ?, ?, ...), a > Pathname.Invalid exception is raised. > > This happens because PathnamePosix.m3 has a list of legal characters: > > CONST Legal = SET OF CHAR {'\001' .. '\177'} - SET OF CHAR {DirSepChar}; > > which is enforced in Pathname.Compose and Pathname.ParsePosixPathname. > > Pathname.Legal contains the complete ASCII list -- but no more than > that. This means that characters like ? are considered illegal characters. How does CM3 handle locales? Is there a way to access locales (and similar facitilies on non-UNIXish systems) from Modula3 to determine characters the system consideres legal in filenames? At least those encoded in ISO8859* ? > I reversed the Legal list to an Illegal list like this: > > CONST Illegal = SET OF CHAR {DirSepChar}; > > and also reversed the IF logic, replacing Legal with Illegal. This way > all characters are allowed, except the DirSepChar. And voila, it works. > PathnamePosix.m3 accepts weird filenames. What happens now if you try to use a filename that is UTF-8 encoded and contains a character that spans more than one byte? Maybe the restriction to ASCII was made on purpose to protect users from CM3's non-existent unicode support? -- Stefan Sperling Software Developer elego Software Solutions GmbH HRB 77719 Gustav-Meyer-Allee 25, Gebaeude 12 Tel: +49 30 23 45 86 96 13355 Berlin Fax: +49 30 23 45 86 95 http://www.elego.de Geschaeftsfuehrer: Olaf Wagner -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 187 bytes Desc: not available URL: From rodney.bates at wichita.edu Sun Oct 14 13:11:49 2007 From: rodney.bates at wichita.edu (Rodney M. Bates) Date: Sun, 14 Oct 2007 06:11:49 -0500 Subject: [M3devel] Pathname.Legal In-Reply-To: <20071014100526.GA2601@jack.stsp.lan> References: <471145B0.60905@elego.de> <20071014100526.GA2601@jack.stsp.lan> Message-ID: <4711F975.9070905@wichita.edu> Since the language itself specifies that program variables of type CHAR are in ISO Latin-1, not just ASCII, I think extending compilers, etc., to handle those characters makes complete sense, without even needing to view it as support for unicode or differing locales. Do I understand correctly that Neels' patch extends just to ISO Latin-1? Stefan Sperling wrote: > > How does CM3 handle locales? > > Is there a way to access locales (and similar facitilies > on non-UNIXish systems) from Modula3 to determine characters > the system consideres legal in filenames? At least those > encoded in ISO8859* ? > > > > > What happens now if you try to use a filename that is > UTF-8 encoded and contains a character that spans more than one byte? > > Maybe the restriction to ASCII was made on purpose to protect > users from CM3's non-existent unicode support? > -- ------------------------------------------------------------- Rodney M. Bates, retired assistant professor Dept. of Computer Science, Wichita State University Wichita, KS 67260-0083 316-978-3922 rodney.bates at wichita.edu From stsp at elego.de Sun Oct 14 14:56:54 2007 From: stsp at elego.de (Stefan Sperling) Date: Sun, 14 Oct 2007 14:56:54 +0200 Subject: [M3devel] Pathname.Legal In-Reply-To: <4711F975.9070905@wichita.edu> References: <471145B0.60905@elego.de> <20071014100526.GA2601@jack.stsp.lan> <4711F975.9070905@wichita.edu> Message-ID: <20071014125654.GB2601@jack.stsp.lan> On Sun, Oct 14, 2007 at 06:11:49AM -0500, Rodney M. Bates wrote: > Since the language itself specifies that program variables of type > CHAR are in ISO Latin-1, not just ASCII, I think extending compilers, > etc., to handle those characters makes complete sense, without even > needing to view it as support for unicode or differing locales. > > Do I understand correctly that Neels' patch extends just to ISO Latin-1? More than that. The patch allows any byte-sized character except the DirSepChar, which effectivly makes any character encoding that uses single byte encoding legal. So Latin-2 etc. are also included, which is a feature, not a bug. As long as only single byte encodings are involved this is totally fine. So since CM3 assumes Latin-1 anyway, not handling unicode correctly is not a problem. But users should be made aware that if they use CM3 programs with filenames in multi-byte encodings such as UTF-8, really strange things may happen... CM3 should get unicode support some day... unicode is quite hairy, I've seen quite a few UTF-8 related problems in the subversion bug tracker. Subversion tries to use UTF-8 all the way. The problems were along the lines of using either 'this an a with umlaut;', or 'the next char has an umlaut; a;', or 'a; the previous char had an umlaut;' for encoding the ? character. These are all legal UTF-8. But: The encoding method used on a given system is up to the filesystem implementation in the OS, i.e. hard to detect. So in case of subversion, which does not heed all these cases (yet), filenames with umlauts work on UNIX and Windows, but not on MacOSX. Wheeee! :) -- Stefan Sperling Software Developer elego Software Solutions GmbH HRB 77719 Gustav-Meyer-Allee 25, Gebaeude 12 Tel: +49 30 23 45 86 96 13355 Berlin Fax: +49 30 23 45 86 95 http://www.elego.de Geschaeftsfuehrer: Olaf Wagner -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 187 bytes Desc: not available URL: From jay.krell at cornell.edu Sun Oct 14 16:11:22 2007 From: jay.krell at cornell.edu (Jay) Date: Sun, 14 Oct 2007 14:11:22 +0000 Subject: [M3devel] Pathname.Legal In-Reply-To: <20071014125654.GB2601@jack.stsp.lan> References: <471145B0.60905@elego.de> <20071014100526.GA2601@jack.stsp.lan> <4711F975.9070905@wichita.edu> <20071014125654.GB2601@jack.stsp.lan> Message-ID: My goodness varying file system, OS file system support, network file system protocol feature sets, character encodings, case sensitivity rules, is a rats of nest of subtle but significant problems even if you are developing on one OS and/or one file system.. On my Mac I have file names with forward slashes and question marks (I didn't create them, they were downloaded that way, such as the MPW SC/SCpp reference and "Where is JBindery?"). I can't copy them to my low end Linux NAS. The source to the low end Linux NAS has dots at the start of some file names. It cannot be copied over itself from Windows, because such files are hidden and cannot be unhidden. Here's a tidbit -- Windows has "long" file names and "short" file names. Guess which is longer? Try this: cd \ mkdir "1.1.1" dir /x 1* Short names can be around twice as long as long names, at least. Anything with two dots, or Unicode I believe, needs a generated short name, even if it isn't particulary long. Short names these days tends to get more randomness in them I think, for security.. Also the wildcard matching is unpredictable due to generated short names. mkdir foo.1234 dir *.123 That probably matches, but can't say for sure. And still I trust NTFS more than anything else. :) - Jay > Date: Sun, 14 Oct 2007 14:56:54 +0200> From: stsp at elego.de> To: rodney.bates at wichita.edu> CC: m3devel at elegosoft.com> Subject: Re: [M3devel] Pathname.Legal> > On Sun, Oct 14, 2007 at 06:11:49AM -0500, Rodney M. Bates wrote:> > Since the language itself specifies that program variables of type> > CHAR are in ISO Latin-1, not just ASCII, I think extending compilers,> > etc., to handle those characters makes complete sense, without even> > needing to view it as support for unicode or differing locales.> >> > Do I understand correctly that Neels' patch extends just to ISO Latin-1?> > More than that. The patch allows any byte-sized character> except the DirSepChar, which effectivly makes any character> encoding that uses single byte encoding legal.> > So Latin-2 etc. are also included, which is a feature,> not a bug. As long as only single byte encodings are involved> this is totally fine.> > So since CM3 assumes Latin-1 anyway, not handling unicode correctly> is not a problem. But users should be made aware that if they> use CM3 programs with filenames in multi-byte encodings such> as UTF-8, really strange things may happen...> > CM3 should get unicode support some day... unicode is quite hairy,> I've seen quite a few UTF-8 related problems in the subversion bug> tracker. Subversion tries to use UTF-8 all the way.> > The problems were along the lines of using either> 'this an a with umlaut;',> or 'the next char has an umlaut; a;',> or 'a; the previous char had an umlaut;'> for encoding the ? character. These are all legal UTF-8.> > But: The encoding method used on a given system is up to the> filesystem implementation in the OS, i.e. hard to detect.> So in case of subversion, which does not heed all these cases (yet),> filenames with umlauts work on UNIX and Windows, but not on MacOSX.> Wheeee! :)> > -- > Stefan Sperling Software Developer> elego Software Solutions GmbH HRB 77719> Gustav-Meyer-Allee 25, Gebaeude 12 Tel: +49 30 23 45 86 96 > 13355 Berlin Fax: +49 30 23 45 86 95> http://www.elego.de Geschaeftsfuehrer: Olaf Wagner _________________________________________________________________ Windows Live Hotmail and Microsoft Office Outlook ? together at last. ?Get it now. http://office.microsoft.com/en-us/outlook/HA102225181033.aspx?pid=CL100626971033 -------------- next part -------------- An HTML attachment was scrubbed... URL: From wagner at elegosoft.com Sun Oct 14 16:28:11 2007 From: wagner at elegosoft.com (Olaf Wagner) Date: Sun, 14 Oct 2007 16:28:11 +0200 Subject: [M3devel] Pathname.Legal In-Reply-To: <471145B0.60905@elego.de> References: <471145B0.60905@elego.de> Message-ID: <20071014142811.GA16233@elegosoft.com> On Sun, Oct 14, 2007 at 12:24:48AM +0200, Neels Janosch Hofmeyr wrote: > Hello all, > > I encountered the problem that, in my cm3 compile, > FS.GetAbsolutePathname cannot handle special characters in file names. > As soon as a file contains a special character (?, ?, ?, ...), a > Pathname.Invalid exception is raised. > > This happens because PathnamePosix.m3 has a list of legal characters: > > CONST Legal = SET OF CHAR {'\001' .. '\177'} - SET OF CHAR {DirSepChar}; > > which is enforced in Pathname.Compose and Pathname.ParsePosixPathname. > > Pathname.Legal contains the complete ASCII list -- but no more than > that. This means that characters like ? are considered illegal characters. > > I reversed the Legal list to an Illegal list like this: > > CONST Illegal = SET OF CHAR {DirSepChar}; > > and also reversed the IF logic, replacing Legal with Illegal. This way > all characters are allowed, except the DirSepChar. And voila, it works. > PathnamePosix.m3 accepts weird filenames. > > So, should this fix be applied to cm3? Please commit the fix; I see no harm in allowing more characters in pathnames than ASCII. May this also be the cause for the problem encountered with CVSup's directory creation? Probably not, but I don't remember exactly why it went wrong. Olaf -- Olaf Wagner -- elego Software Solutions GmbH Gustav-Meyer-Allee 25 / Geb?ude 12, 13355 Berlin, Germany phone: +49 30 23 45 86 96 mobile: +49 177 2345 869 fax: +49 30 23 45 86 95 http://www.elegosoft.com | Gesch?ftsf?hrer: Olaf Wagner | Sitz: Berlin Handelregister: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194 From kschleiser at elego.de Mon Oct 15 11:19:08 2007 From: kschleiser at elego.de (Kaspar Schleiser) Date: Mon, 15 Oct 2007 11:19:08 +0200 Subject: [M3devel] build problems on freebsd 6 Message-ID: <4713308C.7020402@elego.de> Hey all, I'm having problems bootstrapping the cm3 cvs version. The cm3 5.4.0 minimal release is being used on a FreeBSD 6.2-RELEASE-p3-machine for the first step. "./do-pkg.sh buildship m3cc m3middle m3linker m3front m3quake cm3" builds the compiler just fine, but the new compiler fails to compile the m3core libs: CM3C = /tmp/test-cm3-20071015-004410/build/cm3/scripts/pkgmap.sh -c "/tmp/test-cm3-20071015-0044 10/build/cm3bin/pkg/cm3/FreeBSD4/cm3 -build -override -DROOT='/tmp/test-cm3-20071015-0044 10/build/cm3' " m3core libm3 === package /tmp/test-cm3-20071015-004410/build/cm3/m3-libs/m3core === +++ /tmp/test-cm3-20071015-004410/build/cm3bin/pkg/cm3/FreeBSD4/cm3 -build -override -DR OOT='/tmp/test-cm3-20071015-004410/build/cm3' +++ --- building in FreeBSD4 --- new source -> compiling RTHooks.i3 new source -> compiling RT0.i3 new source -> compiling RuntimeError.i3 new source -> compiling WordRep.i3 new source -> compiling Word.i3 new source -> compiling RTException.i3 new source -> compiling RTHooks.m3 new source -> compiling RT0.m3 new source -> compiling Compiler.i3 new source -> compiling RuntimeError.m3 new source -> compiling Compiler.m3 new source -> compiling RTAllocator.i3 new source -> compiling RTType.i3 new source -> compiling Csetjmp.i3 new source -> compiling LongRep.i3 new source -> compiling Long.i3 new source -> compiling BasicCtypes.i3 new source -> compiling Ctypes.i3 new source -> compiling RTMachine.i3 new source -> compiling RTHeapRep.i3 new source -> compiling Thread.i3 new source -> compiling FloatMode.i3 new source -> compiling ThreadF.i3 new source -> compiling RTOS.i3 new source -> compiling RTMisc.i3 new source -> compiling RTHeap.i3 new source -> compiling Cstdlib.i3 new source -> compiling Cstddef.i3 new source -> compiling RTAllocCnts.i3 new source -> compiling RTAllocator.m3 "../src/runtime/common/RTAllocator.m3", line 190: warning: variable has type NULL (state) "../src/runtime/common/RTAllocator.m3", line 190: unknown qualification '.' (MyHeapState) "../src/runtime/common/RTAllocator.m3", line 215: warning: variable has type NULL (state) "../src/runtime/common/RTAllocator.m3", line 215: unknown qualification '.' (MyHeapState) "../src/runtime/common/RTAllocator.m3", line 300: warning: variable has type NULL (state) "../src/runtime/common/RTAllocator.m3", line 300: unknown qualification '.' (MyHeapState) 3 errors and 3 warnings encountered new source -> compiling RTAllocStats.i3 new source -> compiling Convert.i3 new source -> compiling TextClass.i3 new source -> compiling Text.i3 new source -> compiling RTProcedureSRC.i3 new source -> compiling Fingerprint.i3 new source -> compiling RTProcedure.i3 new source -> compiling RTStack.i3 new source -> compiling RTAllocStats.m3 new source -> compiling TextLiteral.i3 new source -> compiling RTHeap.m3 new source -> compiling RTHeapInfo.i3 new source -> compiling Cstring.i3 new source -> compiling RTPerfTool.i3 new source -> compiling RTParams.i3 new source -> compiling RTHeapInfo.m3 new source -> compiling RTHeapMap.i3 new source -> compiling RTIO.i3 new source -> compiling RTTypeMap.i3 new source -> compiling RTMapOp.i3 new source -> compiling RTModule.i3 new source -> compiling RTHeapMap.m3 new source -> compiling RTHeapRep.m3 new source -> compiling RTHeapStats.i3 new source -> compiling RTTypeSRC.i3 new source -> compiling RTCollector.i3 new source -> compiling RTHeapStats.m3 new source -> compiling Time.i3 new source -> compiling Scheduler.i3 new source -> compiling RTLinker.i3 new source -> compiling RTProcess.i3 new source -> compiling RTHeapEvent.i3 new source -> compiling RTWeakRef.i3 new source -> compiling RTCollectorSRC.i3 new source -> compiling RTCollector.m3 "../src/runtime/common/RTCollector.m3", line 594: unknown qualification '.' (MyHeapState) "../src/runtime/common/RTCollector.m3", line 600: unknown qualification '.' (MyHeapState) "../src/runtime/common/RTCollector.m3", line 1403: unknown qualification '.' (MyHeapState ) "../src/runtime/common/RTCollector.m3", line 1407: unknown qualification '.' (MyHeapState ) "../src/runtime/common/RTCollector.m3", line 1440: unknown qualification '.' (MyHeapState ) "../src/runtime/common/RTCollector.m3", line 1506: unknown qualification '.' (MyHeapState ) 6 errors encountered new source -> compiling RTIO.m3 new source -> compiling RTLinkerX.i3 new source -> compiling RTSignal.i3 new source -> compiling RTDebug.i3 new source -> compiling RTLinker.m3 new source -> compiling RTDebug.m3 new source -> compiling RTError.i3 new source -> compiling RTError.m3 new source -> compiling M3toC.i3 new source -> compiling RTException.m3 new source -> compiling RTMapOp.m3 new source -> compiling RTMisc.m3 new source -> compiling RTPacking.i3 new source -> compiling RTPacking.m3 new source -> compiling RTArgs.i3 new source -> compiling RTParams.m3 new source -> compiling RTProcedure.m3 new source -> compiling RTProcess.m3 new source -> compiling RTTipe.i3 new source -> compiling RTTipe.m3 new source -> compiling RTType.m3 new source -> compiling RTTypeFP.i3 new source -> compiling RTTypeFP.m3 new source -> compiling RTTypeMap.m3 new source -> compiling RTutils.i3 new source -> compiling RTutils.m3 new source -> compiling RTHeapDebug.i3 new source -> compiling WeakRef.i3 new source -> compiling RTHeapDebug.m3 new source -> compiling RTArgs.m3 new source -> compiling Utypes.i3 new source -> compiling Umman.i3 "../src/unix/freebsd-4/Umman.i3", line 41: undefined (off_t) 1 error encountered new source -> compiling Uuio.i3 new source -> compiling Unix.i3 "../src/unix/freebsd-4/Unix.i3", line 145: VAL: second argument must be an ordinal type "../src/unix/freebsd-4/Unix.i3", line 145: VAL: value out of range "../src/unix/freebsd-4/Unix.i3", line 145: default is not a constant (l_start) "../src/unix/freebsd-4/Unix.i3", line 146: VAL: second argument must be an ordinal type "../src/unix/freebsd-4/Unix.i3", line 146: VAL: value out of range "../src/unix/freebsd-4/Unix.i3", line 146: default is not a constant (l_len) 6 errors encountered new source -> compiling RTOS.m3 "../src/runtime/POSIX/RTOS.m3", line 9: imported interface contains errors (Unix) "../src/runtime/POSIX/RTOS.m3", line 9: imported interface contains errors (Umman) 2 errors encountered new source -> compiling Utime.i3 new source -> compiling Uresource.i3 new source -> compiling Uexec.i3 new source -> compiling RTPerfTool.m3 "../src/runtime/POSIX/RTPerfTool.m3", line 10: imported interface contains errors (Unix) 1 error encountered new source -> compiling RTProcessPosix.m3 new source -> compiling Usignal.i3 new source -> compiling RTThread.i3 new source -> compiling RTThreadStk.m3 new source -> compiling Uprocess.i3 new source -> compiling RTSignal.m3 new source -> compiling RTThread.m3 "../src/runtime/FreeBSD4/RTThread.m3", line 12: imported interface contains errors (Unix) "../src/runtime/FreeBSD4/RTThread.m3", line 12: imported interface contains errors (Umman ) 2 errors encountered new source -> compiling RTExFrame.i3 new source -> compiling RTExFrame.m3 new source -> compiling MutexRep.i3 new source -> compiling ThreadEvent.i3 new source -> compiling SchedulerPosix.i3 new source -> compiling TimePosix.i3 new source -> compiling Cerrno.i3 new source -> compiling ThreadPosix.m3 "../src/thread/POSIX/ThreadPosix.m3", line 19: imported interface contains errors (Unix) 1 error encountered new source -> compiling Udir.i3 new source -> compiling Uerror.i3 new source -> compiling Ugrp.i3 new source -> compiling Uin.i3 new source -> compiling Usocket.i3 new source -> compiling Uin.m3 new source -> compiling Uipc.i3 new source -> compiling Umsg.i3 new source -> compiling Umsg.m3 new source -> compiling Unetdb.i3 new source -> compiling Unetdb.m3 new source -> compiling Upwd.i3 new source -> compiling Usem.i3 new source -> compiling Ushm.i3 new source -> compiling Usignal.m3 new source -> compiling Ustat.i3 new source -> compiling Usyslog.i3 new source -> compiling Utypes.m3 new source -> compiling Uugid.i3 new source -> compiling Uutmp.i3 new source -> compiling Uutsname.i3 new source -> compiling Text8CString.i3 new source -> compiling Text8.i3 new source -> compiling M3toC.m3 new source -> compiling Cstdarg.i3 new source -> compiling Cstdarg.m3 new source -> compiling Csignal.i3 new source -> compiling Cstdio.i3 new source -> compiling Cstdio.m3 new source -> compiling Real.i3 new source -> compiling RealFloat.i3 new source -> compiling LongReal.i3 new source -> compiling LongFloat.i3 new source -> compiling Extended.i3 new source -> compiling ExtendedFloat.i3 new source -> compiling IEEESpecial.i3 new source -> compiling LongRealRep.i3 new source -> compiling RealRep.i3 new source -> compiling IEEESpecial.m3 new source -> compiling Real.m3 new source -> compiling LongReal.m3 new source -> compiling Extended.m3 new source -> compiling DragonInt.i3 new source -> compiling DragonInt.m3 new source -> compiling DragonT.i3 new source -> compiling DragonT.m3 new source -> compiling FPU.i3 new source -> compiling RealFloat.m3 new source -> compiling LongFloat.m3 new source -> compiling ExtendedFloat.m3 new source -> compiling FPU.m3 new source -> compiling FloatMode.m3 new source -> compiling Tick.i3 new source -> compiling Date.i3 new source -> compiling FmtTime.i3 new source -> compiling FmtTime.m3 new source -> compiling TickPortable.m3 new source -> compiling DateBsd.m3 new source -> compiling TimePosix.m3 new source -> compiling CConvert.i3 new source -> compiling CConvert.m3 new source -> compiling Convert.m3 new source -> compiling String8.i3 new source -> compiling String8.m3 new source -> compiling String16.i3 new source -> compiling String16.m3 new source -> compiling Text16.i3 new source -> compiling Text.m3 new source -> compiling TextClass.m3 new source -> compiling TextLiteral.m3 new source -> compiling Text8Short.i3 new source -> compiling Text8.m3 new source -> compiling Text8Short.m3 new source -> compiling Text8CString.m3 new source -> compiling Text16Short.i3 new source -> compiling Text16.m3 new source -> compiling Text16Short.m3 new source -> compiling TextSub.i3 new source -> compiling TextCat.i3 new source -> compiling TextSub.m3 new source -> compiling TextCat.m3 new source -> compiling TextConv.i3 new source -> compiling TextConv.m3 new source -> compiling Poly.i3 new source -> compiling Fingerprint.m3 new source -> compiling Poly.m3 new source -> compiling PolyBasis.i3 new source -> compiling PolyBasis.m3 new source -> compiling Main.i3 new source -> compiling WeakRef.m3 new source -> compiling Word.m3 new source -> compiling Long.m3 new source -> compiling hand.c new source -> compiling dtoa.c new source -> compiling RTThreadC.c new source -> compiling _fpsetjmp.s new source -> compiling RTStackC.c new source -> compiling CerrnoC.c new source -> compiling CstdioC.c new exporters -> recompiling RTHooks.i3 new exporters -> recompiling RTAllocator.i3 new exporters -> recompiling RTCollector.i3 new exporters -> recompiling RTException.i3 new exporters -> recompiling RTModule.i3 new exporters -> recompiling RTProcess.i3 new exporters -> recompiling RTProcedureSRC.i3 new exporters -> recompiling RTTypeSRC.i3 new exporters -> recompiling RTOS.i3 new exporters -> recompiling RTPerfTool.i3 new exporters -> recompiling RTThread.i3 new exporters -> recompiling Time.i3 new exporters -> recompiling Tick.i3 new exporters -> recompiling Date.i3 new exporters -> recompiling Text.i3 compilation failed => not building library "libm3core.a" Fatal Error: package build failed *** execution of failed *** new.elego.de [/tmp/test-cm3-20071015-004410/build/cm3/scripts] kschleiser % I could solve Umman.i3 missing off_t by importing it. Thanks in advance, Kaspar From hosking at cs.purdue.edu Mon Oct 15 15:43:35 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Mon, 15 Oct 2007 09:43:35 -0400 Subject: [M3devel] build problems on freebsd 6 In-Reply-To: <4713308C.7020402@elego.de> References: <4713308C.7020402@elego.de> Message-ID: I just checked in the fix -- missing declaration of MyHeapState in ThreadF.i3. On Oct 15, 2007, at 5:19 AM, Kaspar Schleiser wrote: > Hey all, > > I'm having problems bootstrapping the cm3 cvs version. > > The cm3 5.4.0 minimal release is being used on a FreeBSD > 6.2-RELEASE-p3-machine for the first step. > > "./do-pkg.sh buildship m3cc m3middle m3linker m3front m3quake cm3" > builds the compiler just fine, but the new compiler fails to > compile the > m3core libs: > > CM3C = > /tmp/test-cm3-20071015-004410/build/cm3/scripts/pkgmap.sh -c > "/tmp/test-cm3-20071015-0044 > 10/build/cm3bin/pkg/cm3/FreeBSD4/cm3 -build -override > -DROOT='/tmp/test-cm3-20071015-0044 > 10/build/cm3' " m3core libm3 > === package /tmp/test-cm3-20071015-004410/build/cm3/m3-libs/m3core === > +++ /tmp/test-cm3-20071015-004410/build/cm3bin/pkg/cm3/FreeBSD4/cm3 > -build -override -DR > OOT='/tmp/test-cm3-20071015-004410/build/cm3' +++ > --- building in FreeBSD4 --- > > new source -> compiling RTHooks.i3 > new source -> compiling RT0.i3 > new source -> compiling RuntimeError.i3 > new source -> compiling WordRep.i3 > new source -> compiling Word.i3 > new source -> compiling RTException.i3 > new source -> compiling RTHooks.m3 > new source -> compiling RT0.m3 > new source -> compiling Compiler.i3 > new source -> compiling RuntimeError.m3 > new source -> compiling Compiler.m3 > new source -> compiling RTAllocator.i3 > new source -> compiling RTType.i3 > new source -> compiling Csetjmp.i3 > new source -> compiling LongRep.i3 > new source -> compiling Long.i3 > new source -> compiling BasicCtypes.i3 > new source -> compiling Ctypes.i3 > new source -> compiling RTMachine.i3 > new source -> compiling RTHeapRep.i3 > new source -> compiling Thread.i3 > new source -> compiling FloatMode.i3 > new source -> compiling ThreadF.i3 > new source -> compiling RTOS.i3 > new source -> compiling RTMisc.i3 > new source -> compiling RTHeap.i3 > new source -> compiling Cstdlib.i3 > new source -> compiling Cstddef.i3 > new source -> compiling RTAllocCnts.i3 > new source -> compiling RTAllocator.m3 > "../src/runtime/common/RTAllocator.m3", line 190: warning: variable > has > type NULL (state) > "../src/runtime/common/RTAllocator.m3", line 190: unknown > qualification > '.' (MyHeapState) > "../src/runtime/common/RTAllocator.m3", line 215: warning: variable > has > type NULL (state) > "../src/runtime/common/RTAllocator.m3", line 215: unknown > qualification > '.' (MyHeapState) > "../src/runtime/common/RTAllocator.m3", line 300: warning: variable > has > type NULL (state) > "../src/runtime/common/RTAllocator.m3", line 300: unknown > qualification > '.' (MyHeapState) > 3 errors and 3 warnings encountered > new source -> compiling RTAllocStats.i3 > new source -> compiling Convert.i3 > new source -> compiling TextClass.i3 > new source -> compiling Text.i3 > new source -> compiling RTProcedureSRC.i3 > new source -> compiling Fingerprint.i3 > new source -> compiling RTProcedure.i3 > new source -> compiling RTStack.i3 > new source -> compiling RTAllocStats.m3 > new source -> compiling TextLiteral.i3 > new source -> compiling RTHeap.m3 > new source -> compiling RTHeapInfo.i3 > new source -> compiling Cstring.i3 > new source -> compiling RTPerfTool.i3 > new source -> compiling RTParams.i3 > new source -> compiling RTHeapInfo.m3 > new source -> compiling RTHeapMap.i3 > new source -> compiling RTIO.i3 > new source -> compiling RTTypeMap.i3 > new source -> compiling RTMapOp.i3 > new source -> compiling RTModule.i3 > new source -> compiling RTHeapMap.m3 > new source -> compiling RTHeapRep.m3 > new source -> compiling RTHeapStats.i3 > new source -> compiling RTTypeSRC.i3 > new source -> compiling RTCollector.i3 > new source -> compiling RTHeapStats.m3 > new source -> compiling Time.i3 > new source -> compiling Scheduler.i3 > new source -> compiling RTLinker.i3 > new source -> compiling RTProcess.i3 > new source -> compiling RTHeapEvent.i3 > new source -> compiling RTWeakRef.i3 > new source -> compiling RTCollectorSRC.i3 > new source -> compiling RTCollector.m3 > "../src/runtime/common/RTCollector.m3", line 594: unknown > qualification > '.' (MyHeapState) > "../src/runtime/common/RTCollector.m3", line 600: unknown > qualification > '.' (MyHeapState) > "../src/runtime/common/RTCollector.m3", line 1403: unknown > qualification > '.' (MyHeapState > ) > "../src/runtime/common/RTCollector.m3", line 1407: unknown > qualification > '.' (MyHeapState > ) > "../src/runtime/common/RTCollector.m3", line 1440: unknown > qualification > '.' (MyHeapState > ) > "../src/runtime/common/RTCollector.m3", line 1506: unknown > qualification > '.' (MyHeapState > ) > 6 errors encountered > new source -> compiling RTIO.m3 > new source -> compiling RTLinkerX.i3 > new source -> compiling RTSignal.i3 > new source -> compiling RTDebug.i3 > new source -> compiling RTLinker.m3 > new source -> compiling RTDebug.m3 > new source -> compiling RTError.i3 > new source -> compiling RTError.m3 > new source -> compiling M3toC.i3 > new source -> compiling RTException.m3 > new source -> compiling RTMapOp.m3 > new source -> compiling RTMisc.m3 > new source -> compiling RTPacking.i3 > new source -> compiling RTPacking.m3 > new source -> compiling RTArgs.i3 > new source -> compiling RTParams.m3 > new source -> compiling RTProcedure.m3 > new source -> compiling RTProcess.m3 > new source -> compiling RTTipe.i3 > new source -> compiling RTTipe.m3 > new source -> compiling RTType.m3 > new source -> compiling RTTypeFP.i3 > new source -> compiling RTTypeFP.m3 > new source -> compiling RTTypeMap.m3 > new source -> compiling RTutils.i3 > new source -> compiling RTutils.m3 > new source -> compiling RTHeapDebug.i3 > new source -> compiling WeakRef.i3 > new source -> compiling RTHeapDebug.m3 > new source -> compiling RTArgs.m3 > new source -> compiling Utypes.i3 > new source -> compiling Umman.i3 > "../src/unix/freebsd-4/Umman.i3", line 41: undefined (off_t) > 1 error encountered > new source -> compiling Uuio.i3 > new source -> compiling Unix.i3 > "../src/unix/freebsd-4/Unix.i3", line 145: VAL: second argument > must be > an ordinal type > "../src/unix/freebsd-4/Unix.i3", line 145: VAL: value out of range > "../src/unix/freebsd-4/Unix.i3", line 145: default is not a constant > (l_start) > "../src/unix/freebsd-4/Unix.i3", line 146: VAL: second argument > must be > an ordinal type > "../src/unix/freebsd-4/Unix.i3", line 146: VAL: value out of range > "../src/unix/freebsd-4/Unix.i3", line 146: default is not a > constant (l_len) > 6 errors encountered > new source -> compiling RTOS.m3 > "../src/runtime/POSIX/RTOS.m3", line 9: imported interface contains > errors (Unix) > "../src/runtime/POSIX/RTOS.m3", line 9: imported interface contains > errors (Umman) > 2 errors encountered > new source -> compiling Utime.i3 > new source -> compiling Uresource.i3 > new source -> compiling Uexec.i3 > new source -> compiling RTPerfTool.m3 > "../src/runtime/POSIX/RTPerfTool.m3", line 10: imported interface > contains errors (Unix) > 1 error encountered > new source -> compiling RTProcessPosix.m3 > new source -> compiling Usignal.i3 > new source -> compiling RTThread.i3 > new source -> compiling RTThreadStk.m3 > new source -> compiling Uprocess.i3 > new source -> compiling RTSignal.m3 > new source -> compiling RTThread.m3 > "../src/runtime/FreeBSD4/RTThread.m3", line 12: imported interface > contains errors (Unix) > "../src/runtime/FreeBSD4/RTThread.m3", line 12: imported interface > contains errors (Umman > ) > 2 errors encountered > new source -> compiling RTExFrame.i3 > new source -> compiling RTExFrame.m3 > new source -> compiling MutexRep.i3 > new source -> compiling ThreadEvent.i3 > new source -> compiling SchedulerPosix.i3 > new source -> compiling TimePosix.i3 > new source -> compiling Cerrno.i3 > new source -> compiling ThreadPosix.m3 > "../src/thread/POSIX/ThreadPosix.m3", line 19: imported interface > contains errors (Unix) > 1 error encountered > new source -> compiling Udir.i3 > new source -> compiling Uerror.i3 > new source -> compiling Ugrp.i3 > new source -> compiling Uin.i3 > new source -> compiling Usocket.i3 > new source -> compiling Uin.m3 > new source -> compiling Uipc.i3 > new source -> compiling Umsg.i3 > new source -> compiling Umsg.m3 > new source -> compiling Unetdb.i3 > new source -> compiling Unetdb.m3 > new source -> compiling Upwd.i3 > new source -> compiling Usem.i3 > new source -> compiling Ushm.i3 > new source -> compiling Usignal.m3 > new source -> compiling Ustat.i3 > new source -> compiling Usyslog.i3 > new source -> compiling Utypes.m3 > new source -> compiling Uugid.i3 > new source -> compiling Uutmp.i3 > new source -> compiling Uutsname.i3 > new source -> compiling Text8CString.i3 > new source -> compiling Text8.i3 > new source -> compiling M3toC.m3 > new source -> compiling Cstdarg.i3 > new source -> compiling Cstdarg.m3 > new source -> compiling Csignal.i3 > new source -> compiling Cstdio.i3 > new source -> compiling Cstdio.m3 > new source -> compiling Real.i3 > new source -> compiling RealFloat.i3 > new source -> compiling LongReal.i3 > new source -> compiling LongFloat.i3 > new source -> compiling Extended.i3 > new source -> compiling ExtendedFloat.i3 > new source -> compiling IEEESpecial.i3 > new source -> compiling LongRealRep.i3 > new source -> compiling RealRep.i3 > new source -> compiling IEEESpecial.m3 > new source -> compiling Real.m3 > new source -> compiling LongReal.m3 > new source -> compiling Extended.m3 > new source -> compiling DragonInt.i3 > new source -> compiling DragonInt.m3 > new source -> compiling DragonT.i3 > new source -> compiling DragonT.m3 > new source -> compiling FPU.i3 > new source -> compiling RealFloat.m3 > new source -> compiling LongFloat.m3 > new source -> compiling ExtendedFloat.m3 > new source -> compiling FPU.m3 > new source -> compiling FloatMode.m3 > new source -> compiling Tick.i3 > new source -> compiling Date.i3 > new source -> compiling FmtTime.i3 > new source -> compiling FmtTime.m3 > new source -> compiling TickPortable.m3 > new source -> compiling DateBsd.m3 > new source -> compiling TimePosix.m3 > new source -> compiling CConvert.i3 > new source -> compiling CConvert.m3 > new source -> compiling Convert.m3 > new source -> compiling String8.i3 > new source -> compiling String8.m3 > new source -> compiling String16.i3 > new source -> compiling String16.m3 > new source -> compiling Text16.i3 > new source -> compiling Text.m3 > new source -> compiling TextClass.m3 > new source -> compiling TextLiteral.m3 > new source -> compiling Text8Short.i3 > new source -> compiling Text8.m3 > new source -> compiling Text8Short.m3 > new source -> compiling Text8CString.m3 > new source -> compiling Text16Short.i3 > new source -> compiling Text16.m3 > new source -> compiling Text16Short.m3 > new source -> compiling TextSub.i3 > new source -> compiling TextCat.i3 > new source -> compiling TextSub.m3 > new source -> compiling TextCat.m3 > new source -> compiling TextConv.i3 > new source -> compiling TextConv.m3 > new source -> compiling Poly.i3 > new source -> compiling Fingerprint.m3 > new source -> compiling Poly.m3 > new source -> compiling PolyBasis.i3 > new source -> compiling PolyBasis.m3 > new source -> compiling Main.i3 > new source -> compiling WeakRef.m3 > new source -> compiling Word.m3 > new source -> compiling Long.m3 > new source -> compiling hand.c > new source -> compiling dtoa.c > new source -> compiling RTThreadC.c > new source -> compiling _fpsetjmp.s > new source -> compiling RTStackC.c > new source -> compiling CerrnoC.c > new source -> compiling CstdioC.c > new exporters -> recompiling RTHooks.i3 > new exporters -> recompiling RTAllocator.i3 > new exporters -> recompiling RTCollector.i3 > new exporters -> recompiling RTException.i3 > new exporters -> recompiling RTModule.i3 > new exporters -> recompiling RTProcess.i3 > new exporters -> recompiling RTProcedureSRC.i3 > new exporters -> recompiling RTTypeSRC.i3 > new exporters -> recompiling RTOS.i3 > new exporters -> recompiling RTPerfTool.i3 > new exporters -> recompiling RTThread.i3 > new exporters -> recompiling Time.i3 > new exporters -> recompiling Tick.i3 > new exporters -> recompiling Date.i3 > new exporters -> recompiling Text.i3 > compilation failed => not building library "libm3core.a" > Fatal Error: package build failed > *** execution of failed *** > new.elego.de [/tmp/test-cm3-20071015-004410/build/cm3/scripts] > kschleiser > % > > I could solve Umman.i3 missing off_t by importing it. > > Thanks in advance, > Kaspar From kschleiser at elego.de Mon Oct 15 19:15:30 2007 From: kschleiser at elego.de (Kaspar Schleiser) Date: Mon, 15 Oct 2007 19:15:30 +0200 Subject: [M3devel] build problems on freebsd 6 In-Reply-To: References: <4713308C.7020402@elego.de> Message-ID: <4713A032.1030702@elego.de> Hey Tony & all, that was fast, thanks! The errors about MyHeapState are gone, but these are still there: 1.: new source -> compiling Umman.i3 "../src/unix/freebsd-4/Umman.i3", line 41: undefined (off_t) I think off_t needs to be imported at the top of the file. 2.: new source -> compiling Unix.i3 "../src/unix/freebsd-4/Unix.i3", line 145: VAL: second argument must be an ordinal type "../src/unix/freebsd-4/Unix.i3", line 145: VAL: value out of range "../src/unix/freebsd-4/Unix.i3", line 145: default is not a constant (l_start) "../src/unix/freebsd-4/Unix.i3", line 146: VAL: second argument must be an ordinal type "../src/unix/freebsd-4/Unix.i3", line 146: VAL: value out of range "../src/unix/freebsd-4/Unix.i3", line 146: default is not a constant (l_len) Looks like something simple, too... Cheers, Kaspar Tony Hosking wrote: > I just checked in the fix -- missing declaration of MyHeapState in > ThreadF.i3. > > On Oct 15, 2007, at 5:19 AM, Kaspar Schleiser wrote: > >> Hey all, >> >> I'm having problems bootstrapping the cm3 cvs version. >> >> The cm3 5.4.0 minimal release is being used on a FreeBSD >> 6.2-RELEASE-p3-machine for the first step. >> >> "./do-pkg.sh buildship m3cc m3middle m3linker m3front m3quake cm3" >> builds the compiler just fine, but the new compiler fails to compile the >> m3core libs: >> >> CM3C = >> /tmp/test-cm3-20071015-004410/build/cm3/scripts/pkgmap.sh -c >> "/tmp/test-cm3-20071015-0044 >> 10/build/cm3bin/pkg/cm3/FreeBSD4/cm3 -build -override >> -DROOT='/tmp/test-cm3-20071015-0044 >> 10/build/cm3' " m3core libm3 >> === package /tmp/test-cm3-20071015-004410/build/cm3/m3-libs/m3core === >> +++ /tmp/test-cm3-20071015-004410/build/cm3bin/pkg/cm3/FreeBSD4/cm3 >> -build -override -DR >> OOT='/tmp/test-cm3-20071015-004410/build/cm3' +++ >> --- building in FreeBSD4 --- >> >> new source -> compiling RTHooks.i3 >> new source -> compiling RT0.i3 >> new source -> compiling RuntimeError.i3 >> new source -> compiling WordRep.i3 >> new source -> compiling Word.i3 >> new source -> compiling RTException.i3 >> new source -> compiling RTHooks.m3 >> new source -> compiling RT0.m3 >> new source -> compiling Compiler.i3 >> new source -> compiling RuntimeError.m3 >> new source -> compiling Compiler.m3 >> new source -> compiling RTAllocator.i3 >> new source -> compiling RTType.i3 >> new source -> compiling Csetjmp.i3 >> new source -> compiling LongRep.i3 >> new source -> compiling Long.i3 >> new source -> compiling BasicCtypes.i3 >> new source -> compiling Ctypes.i3 >> new source -> compiling RTMachine.i3 >> new source -> compiling RTHeapRep.i3 >> new source -> compiling Thread.i3 >> new source -> compiling FloatMode.i3 >> new source -> compiling ThreadF.i3 >> new source -> compiling RTOS.i3 >> new source -> compiling RTMisc.i3 >> new source -> compiling RTHeap.i3 >> new source -> compiling Cstdlib.i3 >> new source -> compiling Cstddef.i3 >> new source -> compiling RTAllocCnts.i3 >> new source -> compiling RTAllocator.m3 >> "../src/runtime/common/RTAllocator.m3", line 190: warning: variable has >> type NULL (state) >> "../src/runtime/common/RTAllocator.m3", line 190: unknown qualification >> '.' (MyHeapState) >> "../src/runtime/common/RTAllocator.m3", line 215: warning: variable has >> type NULL (state) >> "../src/runtime/common/RTAllocator.m3", line 215: unknown qualification >> '.' (MyHeapState) >> "../src/runtime/common/RTAllocator.m3", line 300: warning: variable has >> type NULL (state) >> "../src/runtime/common/RTAllocator.m3", line 300: unknown qualification >> '.' (MyHeapState) >> 3 errors and 3 warnings encountered >> new source -> compiling RTAllocStats.i3 >> new source -> compiling Convert.i3 >> new source -> compiling TextClass.i3 >> new source -> compiling Text.i3 >> new source -> compiling RTProcedureSRC.i3 >> new source -> compiling Fingerprint.i3 >> new source -> compiling RTProcedure.i3 >> new source -> compiling RTStack.i3 >> new source -> compiling RTAllocStats.m3 >> new source -> compiling TextLiteral.i3 >> new source -> compiling RTHeap.m3 >> new source -> compiling RTHeapInfo.i3 >> new source -> compiling Cstring.i3 >> new source -> compiling RTPerfTool.i3 >> new source -> compiling RTParams.i3 >> new source -> compiling RTHeapInfo.m3 >> new source -> compiling RTHeapMap.i3 >> new source -> compiling RTIO.i3 >> new source -> compiling RTTypeMap.i3 >> new source -> compiling RTMapOp.i3 >> new source -> compiling RTModule.i3 >> new source -> compiling RTHeapMap.m3 >> new source -> compiling RTHeapRep.m3 >> new source -> compiling RTHeapStats.i3 >> new source -> compiling RTTypeSRC.i3 >> new source -> compiling RTCollector.i3 >> new source -> compiling RTHeapStats.m3 >> new source -> compiling Time.i3 >> new source -> compiling Scheduler.i3 >> new source -> compiling RTLinker.i3 >> new source -> compiling RTProcess.i3 >> new source -> compiling RTHeapEvent.i3 >> new source -> compiling RTWeakRef.i3 >> new source -> compiling RTCollectorSRC.i3 >> new source -> compiling RTCollector.m3 >> "../src/runtime/common/RTCollector.m3", line 594: unknown qualification >> '.' (MyHeapState) >> "../src/runtime/common/RTCollector.m3", line 600: unknown qualification >> '.' (MyHeapState) >> "../src/runtime/common/RTCollector.m3", line 1403: unknown qualification >> '.' (MyHeapState >> ) >> "../src/runtime/common/RTCollector.m3", line 1407: unknown qualification >> '.' (MyHeapState >> ) >> "../src/runtime/common/RTCollector.m3", line 1440: unknown qualification >> '.' (MyHeapState >> ) >> "../src/runtime/common/RTCollector.m3", line 1506: unknown qualification >> '.' (MyHeapState >> ) >> 6 errors encountered >> new source -> compiling RTIO.m3 >> new source -> compiling RTLinkerX.i3 >> new source -> compiling RTSignal.i3 >> new source -> compiling RTDebug.i3 >> new source -> compiling RTLinker.m3 >> new source -> compiling RTDebug.m3 >> new source -> compiling RTError.i3 >> new source -> compiling RTError.m3 >> new source -> compiling M3toC.i3 >> new source -> compiling RTException.m3 >> new source -> compiling RTMapOp.m3 >> new source -> compiling RTMisc.m3 >> new source -> compiling RTPacking.i3 >> new source -> compiling RTPacking.m3 >> new source -> compiling RTArgs.i3 >> new source -> compiling RTParams.m3 >> new source -> compiling RTProcedure.m3 >> new source -> compiling RTProcess.m3 >> new source -> compiling RTTipe.i3 >> new source -> compiling RTTipe.m3 >> new source -> compiling RTType.m3 >> new source -> compiling RTTypeFP.i3 >> new source -> compiling RTTypeFP.m3 >> new source -> compiling RTTypeMap.m3 >> new source -> compiling RTutils.i3 >> new source -> compiling RTutils.m3 >> new source -> compiling RTHeapDebug.i3 >> new source -> compiling WeakRef.i3 >> new source -> compiling RTHeapDebug.m3 >> new source -> compiling RTArgs.m3 >> new source -> compiling Utypes.i3 >> new source -> compiling Umman.i3 >> "../src/unix/freebsd-4/Umman.i3", line 41: undefined (off_t) >> 1 error encountered >> new source -> compiling Uuio.i3 >> new source -> compiling Unix.i3 >> "../src/unix/freebsd-4/Unix.i3", line 145: VAL: second argument must be >> an ordinal type >> "../src/unix/freebsd-4/Unix.i3", line 145: VAL: value out of range >> "../src/unix/freebsd-4/Unix.i3", line 145: default is not a constant >> (l_start) >> "../src/unix/freebsd-4/Unix.i3", line 146: VAL: second argument must be >> an ordinal type >> "../src/unix/freebsd-4/Unix.i3", line 146: VAL: value out of range >> "../src/unix/freebsd-4/Unix.i3", line 146: default is not a constant >> (l_len) >> 6 errors encountered >> new source -> compiling RTOS.m3 >> "../src/runtime/POSIX/RTOS.m3", line 9: imported interface contains >> errors (Unix) >> "../src/runtime/POSIX/RTOS.m3", line 9: imported interface contains >> errors (Umman) >> 2 errors encountered >> new source -> compiling Utime.i3 >> new source -> compiling Uresource.i3 >> new source -> compiling Uexec.i3 >> new source -> compiling RTPerfTool.m3 >> "../src/runtime/POSIX/RTPerfTool.m3", line 10: imported interface >> contains errors (Unix) >> 1 error encountered >> new source -> compiling RTProcessPosix.m3 >> new source -> compiling Usignal.i3 >> new source -> compiling RTThread.i3 >> new source -> compiling RTThreadStk.m3 >> new source -> compiling Uprocess.i3 >> new source -> compiling RTSignal.m3 >> new source -> compiling RTThread.m3 >> "../src/runtime/FreeBSD4/RTThread.m3", line 12: imported interface >> contains errors (Unix) >> "../src/runtime/FreeBSD4/RTThread.m3", line 12: imported interface >> contains errors (Umman >> ) >> 2 errors encountered >> new source -> compiling RTExFrame.i3 >> new source -> compiling RTExFrame.m3 >> new source -> compiling MutexRep.i3 >> new source -> compiling ThreadEvent.i3 >> new source -> compiling SchedulerPosix.i3 >> new source -> compiling TimePosix.i3 >> new source -> compiling Cerrno.i3 >> new source -> compiling ThreadPosix.m3 >> "../src/thread/POSIX/ThreadPosix.m3", line 19: imported interface >> contains errors (Unix) >> 1 error encountered >> new source -> compiling Udir.i3 >> new source -> compiling Uerror.i3 >> new source -> compiling Ugrp.i3 >> new source -> compiling Uin.i3 >> new source -> compiling Usocket.i3 >> new source -> compiling Uin.m3 >> new source -> compiling Uipc.i3 >> new source -> compiling Umsg.i3 >> new source -> compiling Umsg.m3 >> new source -> compiling Unetdb.i3 >> new source -> compiling Unetdb.m3 >> new source -> compiling Upwd.i3 >> new source -> compiling Usem.i3 >> new source -> compiling Ushm.i3 >> new source -> compiling Usignal.m3 >> new source -> compiling Ustat.i3 >> new source -> compiling Usyslog.i3 >> new source -> compiling Utypes.m3 >> new source -> compiling Uugid.i3 >> new source -> compiling Uutmp.i3 >> new source -> compiling Uutsname.i3 >> new source -> compiling Text8CString.i3 >> new source -> compiling Text8.i3 >> new source -> compiling M3toC.m3 >> new source -> compiling Cstdarg.i3 >> new source -> compiling Cstdarg.m3 >> new source -> compiling Csignal.i3 >> new source -> compiling Cstdio.i3 >> new source -> compiling Cstdio.m3 >> new source -> compiling Real.i3 >> new source -> compiling RealFloat.i3 >> new source -> compiling LongReal.i3 >> new source -> compiling LongFloat.i3 >> new source -> compiling Extended.i3 >> new source -> compiling ExtendedFloat.i3 >> new source -> compiling IEEESpecial.i3 >> new source -> compiling LongRealRep.i3 >> new source -> compiling RealRep.i3 >> new source -> compiling IEEESpecial.m3 >> new source -> compiling Real.m3 >> new source -> compiling LongReal.m3 >> new source -> compiling Extended.m3 >> new source -> compiling DragonInt.i3 >> new source -> compiling DragonInt.m3 >> new source -> compiling DragonT.i3 >> new source -> compiling DragonT.m3 >> new source -> compiling FPU.i3 >> new source -> compiling RealFloat.m3 >> new source -> compiling LongFloat.m3 >> new source -> compiling ExtendedFloat.m3 >> new source -> compiling FPU.m3 >> new source -> compiling FloatMode.m3 >> new source -> compiling Tick.i3 >> new source -> compiling Date.i3 >> new source -> compiling FmtTime.i3 >> new source -> compiling FmtTime.m3 >> new source -> compiling TickPortable.m3 >> new source -> compiling DateBsd.m3 >> new source -> compiling TimePosix.m3 >> new source -> compiling CConvert.i3 >> new source -> compiling CConvert.m3 >> new source -> compiling Convert.m3 >> new source -> compiling String8.i3 >> new source -> compiling String8.m3 >> new source -> compiling String16.i3 >> new source -> compiling String16.m3 >> new source -> compiling Text16.i3 >> new source -> compiling Text.m3 >> new source -> compiling TextClass.m3 >> new source -> compiling TextLiteral.m3 >> new source -> compiling Text8Short.i3 >> new source -> compiling Text8.m3 >> new source -> compiling Text8Short.m3 >> new source -> compiling Text8CString.m3 >> new source -> compiling Text16Short.i3 >> new source -> compiling Text16.m3 >> new source -> compiling Text16Short.m3 >> new source -> compiling TextSub.i3 >> new source -> compiling TextCat.i3 >> new source -> compiling TextSub.m3 >> new source -> compiling TextCat.m3 >> new source -> compiling TextConv.i3 >> new source -> compiling TextConv.m3 >> new source -> compiling Poly.i3 >> new source -> compiling Fingerprint.m3 >> new source -> compiling Poly.m3 >> new source -> compiling PolyBasis.i3 >> new source -> compiling PolyBasis.m3 >> new source -> compiling Main.i3 >> new source -> compiling WeakRef.m3 >> new source -> compiling Word.m3 >> new source -> compiling Long.m3 >> new source -> compiling hand.c >> new source -> compiling dtoa.c >> new source -> compiling RTThreadC.c >> new source -> compiling _fpsetjmp.s >> new source -> compiling RTStackC.c >> new source -> compiling CerrnoC.c >> new source -> compiling CstdioC.c >> new exporters -> recompiling RTHooks.i3 >> new exporters -> recompiling RTAllocator.i3 >> new exporters -> recompiling RTCollector.i3 >> new exporters -> recompiling RTException.i3 >> new exporters -> recompiling RTModule.i3 >> new exporters -> recompiling RTProcess.i3 >> new exporters -> recompiling RTProcedureSRC.i3 >> new exporters -> recompiling RTTypeSRC.i3 >> new exporters -> recompiling RTOS.i3 >> new exporters -> recompiling RTPerfTool.i3 >> new exporters -> recompiling RTThread.i3 >> new exporters -> recompiling Time.i3 >> new exporters -> recompiling Tick.i3 >> new exporters -> recompiling Date.i3 >> new exporters -> recompiling Text.i3 >> compilation failed => not building library "libm3core.a" >> Fatal Error: package build failed >> *** execution of failed *** >> new.elego.de [/tmp/test-cm3-20071015-004410/build/cm3/scripts] kschleiser >> % >> >> I could solve Umman.i3 missing off_t by importing it. >> >> Thanks in advance, >> Kaspar > From hosking at cs.purdue.edu Mon Oct 15 19:51:41 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Mon, 15 Oct 2007 13:51:41 -0400 Subject: [M3devel] build problems on freebsd 6 In-Reply-To: <4713A032.1030702@elego.de> References: <4713308C.7020402@elego.de> <4713A032.1030702@elego.de> Message-ID: <35AB3DFB-5E8B-48E6-891F-EEF982E67308@cs.purdue.edu> Should be fixed now. On Oct 15, 2007, at 1:15 PM, Kaspar Schleiser wrote: > Hey Tony & all, > > that was fast, thanks! The errors about MyHeapState are gone, but > these > are still there: > > 1.: > new source -> compiling Umman.i3 > "../src/unix/freebsd-4/Umman.i3", line 41: undefined (off_t) > > I think off_t needs to be imported at the top of the file. > > 2.: > new source -> compiling Unix.i3 > "../src/unix/freebsd-4/Unix.i3", line 145: VAL: second argument > must be > an ordinal type > "../src/unix/freebsd-4/Unix.i3", line 145: VAL: value out of range > "../src/unix/freebsd-4/Unix.i3", line 145: default is not a constant > (l_start) > "../src/unix/freebsd-4/Unix.i3", line 146: VAL: second argument > must be > an ordinal type > "../src/unix/freebsd-4/Unix.i3", line 146: VAL: value out of range > "../src/unix/freebsd-4/Unix.i3", line 146: default is not a > constant (l_len) > > Looks like something simple, too... > > Cheers, > Kaspar > > Tony Hosking wrote: >> I just checked in the fix -- missing declaration of MyHeapState in >> ThreadF.i3. >> >> On Oct 15, 2007, at 5:19 AM, Kaspar Schleiser wrote: >> >>> Hey all, >>> >>> I'm having problems bootstrapping the cm3 cvs version. >>> >>> The cm3 5.4.0 minimal release is being used on a FreeBSD >>> 6.2-RELEASE-p3-machine for the first step. >>> >>> "./do-pkg.sh buildship m3cc m3middle m3linker m3front m3quake cm3" >>> builds the compiler just fine, but the new compiler fails to >>> compile the >>> m3core libs: >>> >>> CM3C = >>> /tmp/test-cm3-20071015-004410/build/cm3/scripts/pkgmap.sh -c >>> "/tmp/test-cm3-20071015-0044 >>> 10/build/cm3bin/pkg/cm3/FreeBSD4/cm3 -build -override >>> -DROOT='/tmp/test-cm3-20071015-0044 >>> 10/build/cm3' " m3core libm3 >>> === package /tmp/test-cm3-20071015-004410/build/cm3/m3-libs/ >>> m3core === >>> +++ /tmp/test-cm3-20071015-004410/build/cm3bin/pkg/cm3/FreeBSD4/cm3 >>> -build -override -DR >>> OOT='/tmp/test-cm3-20071015-004410/build/cm3' +++ >>> --- building in FreeBSD4 --- >>> >>> new source -> compiling RTHooks.i3 >>> new source -> compiling RT0.i3 >>> new source -> compiling RuntimeError.i3 >>> new source -> compiling WordRep.i3 >>> new source -> compiling Word.i3 >>> new source -> compiling RTException.i3 >>> new source -> compiling RTHooks.m3 >>> new source -> compiling RT0.m3 >>> new source -> compiling Compiler.i3 >>> new source -> compiling RuntimeError.m3 >>> new source -> compiling Compiler.m3 >>> new source -> compiling RTAllocator.i3 >>> new source -> compiling RTType.i3 >>> new source -> compiling Csetjmp.i3 >>> new source -> compiling LongRep.i3 >>> new source -> compiling Long.i3 >>> new source -> compiling BasicCtypes.i3 >>> new source -> compiling Ctypes.i3 >>> new source -> compiling RTMachine.i3 >>> new source -> compiling RTHeapRep.i3 >>> new source -> compiling Thread.i3 >>> new source -> compiling FloatMode.i3 >>> new source -> compiling ThreadF.i3 >>> new source -> compiling RTOS.i3 >>> new source -> compiling RTMisc.i3 >>> new source -> compiling RTHeap.i3 >>> new source -> compiling Cstdlib.i3 >>> new source -> compiling Cstddef.i3 >>> new source -> compiling RTAllocCnts.i3 >>> new source -> compiling RTAllocator.m3 >>> "../src/runtime/common/RTAllocator.m3", line 190: warning: >>> variable has >>> type NULL (state) >>> "../src/runtime/common/RTAllocator.m3", line 190: unknown >>> qualification >>> '.' (MyHeapState) >>> "../src/runtime/common/RTAllocator.m3", line 215: warning: >>> variable has >>> type NULL (state) >>> "../src/runtime/common/RTAllocator.m3", line 215: unknown >>> qualification >>> '.' (MyHeapState) >>> "../src/runtime/common/RTAllocator.m3", line 300: warning: >>> variable has >>> type NULL (state) >>> "../src/runtime/common/RTAllocator.m3", line 300: unknown >>> qualification >>> '.' (MyHeapState) >>> 3 errors and 3 warnings encountered >>> new source -> compiling RTAllocStats.i3 >>> new source -> compiling Convert.i3 >>> new source -> compiling TextClass.i3 >>> new source -> compiling Text.i3 >>> new source -> compiling RTProcedureSRC.i3 >>> new source -> compiling Fingerprint.i3 >>> new source -> compiling RTProcedure.i3 >>> new source -> compiling RTStack.i3 >>> new source -> compiling RTAllocStats.m3 >>> new source -> compiling TextLiteral.i3 >>> new source -> compiling RTHeap.m3 >>> new source -> compiling RTHeapInfo.i3 >>> new source -> compiling Cstring.i3 >>> new source -> compiling RTPerfTool.i3 >>> new source -> compiling RTParams.i3 >>> new source -> compiling RTHeapInfo.m3 >>> new source -> compiling RTHeapMap.i3 >>> new source -> compiling RTIO.i3 >>> new source -> compiling RTTypeMap.i3 >>> new source -> compiling RTMapOp.i3 >>> new source -> compiling RTModule.i3 >>> new source -> compiling RTHeapMap.m3 >>> new source -> compiling RTHeapRep.m3 >>> new source -> compiling RTHeapStats.i3 >>> new source -> compiling RTTypeSRC.i3 >>> new source -> compiling RTCollector.i3 >>> new source -> compiling RTHeapStats.m3 >>> new source -> compiling Time.i3 >>> new source -> compiling Scheduler.i3 >>> new source -> compiling RTLinker.i3 >>> new source -> compiling RTProcess.i3 >>> new source -> compiling RTHeapEvent.i3 >>> new source -> compiling RTWeakRef.i3 >>> new source -> compiling RTCollectorSRC.i3 >>> new source -> compiling RTCollector.m3 >>> "../src/runtime/common/RTCollector.m3", line 594: unknown >>> qualification >>> '.' (MyHeapState) >>> "../src/runtime/common/RTCollector.m3", line 600: unknown >>> qualification >>> '.' (MyHeapState) >>> "../src/runtime/common/RTCollector.m3", line 1403: unknown >>> qualification >>> '.' (MyHeapState >>> ) >>> "../src/runtime/common/RTCollector.m3", line 1407: unknown >>> qualification >>> '.' (MyHeapState >>> ) >>> "../src/runtime/common/RTCollector.m3", line 1440: unknown >>> qualification >>> '.' (MyHeapState >>> ) >>> "../src/runtime/common/RTCollector.m3", line 1506: unknown >>> qualification >>> '.' (MyHeapState >>> ) >>> 6 errors encountered >>> new source -> compiling RTIO.m3 >>> new source -> compiling RTLinkerX.i3 >>> new source -> compiling RTSignal.i3 >>> new source -> compiling RTDebug.i3 >>> new source -> compiling RTLinker.m3 >>> new source -> compiling RTDebug.m3 >>> new source -> compiling RTError.i3 >>> new source -> compiling RTError.m3 >>> new source -> compiling M3toC.i3 >>> new source -> compiling RTException.m3 >>> new source -> compiling RTMapOp.m3 >>> new source -> compiling RTMisc.m3 >>> new source -> compiling RTPacking.i3 >>> new source -> compiling RTPacking.m3 >>> new source -> compiling RTArgs.i3 >>> new source -> compiling RTParams.m3 >>> new source -> compiling RTProcedure.m3 >>> new source -> compiling RTProcess.m3 >>> new source -> compiling RTTipe.i3 >>> new source -> compiling RTTipe.m3 >>> new source -> compiling RTType.m3 >>> new source -> compiling RTTypeFP.i3 >>> new source -> compiling RTTypeFP.m3 >>> new source -> compiling RTTypeMap.m3 >>> new source -> compiling RTutils.i3 >>> new source -> compiling RTutils.m3 >>> new source -> compiling RTHeapDebug.i3 >>> new source -> compiling WeakRef.i3 >>> new source -> compiling RTHeapDebug.m3 >>> new source -> compiling RTArgs.m3 >>> new source -> compiling Utypes.i3 >>> new source -> compiling Umman.i3 >>> "../src/unix/freebsd-4/Umman.i3", line 41: undefined (off_t) >>> 1 error encountered >>> new source -> compiling Uuio.i3 >>> new source -> compiling Unix.i3 >>> "../src/unix/freebsd-4/Unix.i3", line 145: VAL: second argument >>> must be >>> an ordinal type >>> "../src/unix/freebsd-4/Unix.i3", line 145: VAL: value out of range >>> "../src/unix/freebsd-4/Unix.i3", line 145: default is not a constant >>> (l_start) >>> "../src/unix/freebsd-4/Unix.i3", line 146: VAL: second argument >>> must be >>> an ordinal type >>> "../src/unix/freebsd-4/Unix.i3", line 146: VAL: value out of range >>> "../src/unix/freebsd-4/Unix.i3", line 146: default is not a constant >>> (l_len) >>> 6 errors encountered >>> new source -> compiling RTOS.m3 >>> "../src/runtime/POSIX/RTOS.m3", line 9: imported interface contains >>> errors (Unix) >>> "../src/runtime/POSIX/RTOS.m3", line 9: imported interface contains >>> errors (Umman) >>> 2 errors encountered >>> new source -> compiling Utime.i3 >>> new source -> compiling Uresource.i3 >>> new source -> compiling Uexec.i3 >>> new source -> compiling RTPerfTool.m3 >>> "../src/runtime/POSIX/RTPerfTool.m3", line 10: imported interface >>> contains errors (Unix) >>> 1 error encountered >>> new source -> compiling RTProcessPosix.m3 >>> new source -> compiling Usignal.i3 >>> new source -> compiling RTThread.i3 >>> new source -> compiling RTThreadStk.m3 >>> new source -> compiling Uprocess.i3 >>> new source -> compiling RTSignal.m3 >>> new source -> compiling RTThread.m3 >>> "../src/runtime/FreeBSD4/RTThread.m3", line 12: imported interface >>> contains errors (Unix) >>> "../src/runtime/FreeBSD4/RTThread.m3", line 12: imported interface >>> contains errors (Umman >>> ) >>> 2 errors encountered >>> new source -> compiling RTExFrame.i3 >>> new source -> compiling RTExFrame.m3 >>> new source -> compiling MutexRep.i3 >>> new source -> compiling ThreadEvent.i3 >>> new source -> compiling SchedulerPosix.i3 >>> new source -> compiling TimePosix.i3 >>> new source -> compiling Cerrno.i3 >>> new source -> compiling ThreadPosix.m3 >>> "../src/thread/POSIX/ThreadPosix.m3", line 19: imported interface >>> contains errors (Unix) >>> 1 error encountered >>> new source -> compiling Udir.i3 >>> new source -> compiling Uerror.i3 >>> new source -> compiling Ugrp.i3 >>> new source -> compiling Uin.i3 >>> new source -> compiling Usocket.i3 >>> new source -> compiling Uin.m3 >>> new source -> compiling Uipc.i3 >>> new source -> compiling Umsg.i3 >>> new source -> compiling Umsg.m3 >>> new source -> compiling Unetdb.i3 >>> new source -> compiling Unetdb.m3 >>> new source -> compiling Upwd.i3 >>> new source -> compiling Usem.i3 >>> new source -> compiling Ushm.i3 >>> new source -> compiling Usignal.m3 >>> new source -> compiling Ustat.i3 >>> new source -> compiling Usyslog.i3 >>> new source -> compiling Utypes.m3 >>> new source -> compiling Uugid.i3 >>> new source -> compiling Uutmp.i3 >>> new source -> compiling Uutsname.i3 >>> new source -> compiling Text8CString.i3 >>> new source -> compiling Text8.i3 >>> new source -> compiling M3toC.m3 >>> new source -> compiling Cstdarg.i3 >>> new source -> compiling Cstdarg.m3 >>> new source -> compiling Csignal.i3 >>> new source -> compiling Cstdio.i3 >>> new source -> compiling Cstdio.m3 >>> new source -> compiling Real.i3 >>> new source -> compiling RealFloat.i3 >>> new source -> compiling LongReal.i3 >>> new source -> compiling LongFloat.i3 >>> new source -> compiling Extended.i3 >>> new source -> compiling ExtendedFloat.i3 >>> new source -> compiling IEEESpecial.i3 >>> new source -> compiling LongRealRep.i3 >>> new source -> compiling RealRep.i3 >>> new source -> compiling IEEESpecial.m3 >>> new source -> compiling Real.m3 >>> new source -> compiling LongReal.m3 >>> new source -> compiling Extended.m3 >>> new source -> compiling DragonInt.i3 >>> new source -> compiling DragonInt.m3 >>> new source -> compiling DragonT.i3 >>> new source -> compiling DragonT.m3 >>> new source -> compiling FPU.i3 >>> new source -> compiling RealFloat.m3 >>> new source -> compiling LongFloat.m3 >>> new source -> compiling ExtendedFloat.m3 >>> new source -> compiling FPU.m3 >>> new source -> compiling FloatMode.m3 >>> new source -> compiling Tick.i3 >>> new source -> compiling Date.i3 >>> new source -> compiling FmtTime.i3 >>> new source -> compiling FmtTime.m3 >>> new source -> compiling TickPortable.m3 >>> new source -> compiling DateBsd.m3 >>> new source -> compiling TimePosix.m3 >>> new source -> compiling CConvert.i3 >>> new source -> compiling CConvert.m3 >>> new source -> compiling Convert.m3 >>> new source -> compiling String8.i3 >>> new source -> compiling String8.m3 >>> new source -> compiling String16.i3 >>> new source -> compiling String16.m3 >>> new source -> compiling Text16.i3 >>> new source -> compiling Text.m3 >>> new source -> compiling TextClass.m3 >>> new source -> compiling TextLiteral.m3 >>> new source -> compiling Text8Short.i3 >>> new source -> compiling Text8.m3 >>> new source -> compiling Text8Short.m3 >>> new source -> compiling Text8CString.m3 >>> new source -> compiling Text16Short.i3 >>> new source -> compiling Text16.m3 >>> new source -> compiling Text16Short.m3 >>> new source -> compiling TextSub.i3 >>> new source -> compiling TextCat.i3 >>> new source -> compiling TextSub.m3 >>> new source -> compiling TextCat.m3 >>> new source -> compiling TextConv.i3 >>> new source -> compiling TextConv.m3 >>> new source -> compiling Poly.i3 >>> new source -> compiling Fingerprint.m3 >>> new source -> compiling Poly.m3 >>> new source -> compiling PolyBasis.i3 >>> new source -> compiling PolyBasis.m3 >>> new source -> compiling Main.i3 >>> new source -> compiling WeakRef.m3 >>> new source -> compiling Word.m3 >>> new source -> compiling Long.m3 >>> new source -> compiling hand.c >>> new source -> compiling dtoa.c >>> new source -> compiling RTThreadC.c >>> new source -> compiling _fpsetjmp.s >>> new source -> compiling RTStackC.c >>> new source -> compiling CerrnoC.c >>> new source -> compiling CstdioC.c >>> new exporters -> recompiling RTHooks.i3 >>> new exporters -> recompiling RTAllocator.i3 >>> new exporters -> recompiling RTCollector.i3 >>> new exporters -> recompiling RTException.i3 >>> new exporters -> recompiling RTModule.i3 >>> new exporters -> recompiling RTProcess.i3 >>> new exporters -> recompiling RTProcedureSRC.i3 >>> new exporters -> recompiling RTTypeSRC.i3 >>> new exporters -> recompiling RTOS.i3 >>> new exporters -> recompiling RTPerfTool.i3 >>> new exporters -> recompiling RTThread.i3 >>> new exporters -> recompiling Time.i3 >>> new exporters -> recompiling Tick.i3 >>> new exporters -> recompiling Date.i3 >>> new exporters -> recompiling Text.i3 >>> compilation failed => not building library "libm3core.a" >>> Fatal Error: package build failed >>> *** execution of failed *** >>> new.elego.de [/tmp/test-cm3-20071015-004410/build/cm3/scripts] >>> kschleiser >>> % >>> >>> I could solve Umman.i3 missing off_t by importing it. >>> >>> Thanks in advance, >>> Kaspar >> From kschleiser at elego.de Mon Oct 15 21:58:03 2007 From: kschleiser at elego.de (Kaspar Schleiser) Date: Mon, 15 Oct 2007 21:58:03 +0200 Subject: [M3devel] build problems on freebsd 6 In-Reply-To: <35AB3DFB-5E8B-48E6-891F-EEF982E67308@cs.purdue.edu> References: <4713308C.7020402@elego.de> <4713A032.1030702@elego.de> <35AB3DFB-5E8B-48E6-891F-EEF982E67308@cs.purdue.edu> Message-ID: <4713C64B.1070302@elego.de> Hey Tony, thanks again, wow again, 20 minutes for a fix ;) Cheers Kaspar Tony Hosking wrote: > Should be fixed now. > > On Oct 15, 2007, at 1:15 PM, Kaspar Schleiser wrote: > >> Hey Tony & all, >> >> that was fast, thanks! The errors about MyHeapState are gone, but these >> are still there: >> >> 1.: >> new source -> compiling Umman.i3 >> "../src/unix/freebsd-4/Umman.i3", line 41: undefined (off_t) >> >> I think off_t needs to be imported at the top of the file. >> >> 2.: >> new source -> compiling Unix.i3 >> "../src/unix/freebsd-4/Unix.i3", line 145: VAL: second argument must be >> an ordinal type >> "../src/unix/freebsd-4/Unix.i3", line 145: VAL: value out of range >> "../src/unix/freebsd-4/Unix.i3", line 145: default is not a constant >> (l_start) >> "../src/unix/freebsd-4/Unix.i3", line 146: VAL: second argument must be >> an ordinal type >> "../src/unix/freebsd-4/Unix.i3", line 146: VAL: value out of range >> "../src/unix/freebsd-4/Unix.i3", line 146: default is not a constant >> (l_len) >> >> Looks like something simple, too... >> >> Cheers, >> Kaspar >> >> Tony Hosking wrote: >>> I just checked in the fix -- missing declaration of MyHeapState in >>> ThreadF.i3. >>> >>> On Oct 15, 2007, at 5:19 AM, Kaspar Schleiser wrote: >>> >>>> Hey all, >>>> >>>> I'm having problems bootstrapping the cm3 cvs version. >>>> >>>> The cm3 5.4.0 minimal release is being used on a FreeBSD >>>> 6.2-RELEASE-p3-machine for the first step. >>>> >>>> "./do-pkg.sh buildship m3cc m3middle m3linker m3front m3quake cm3" >>>> builds the compiler just fine, but the new compiler fails to compile >>>> the >>>> m3core libs: >>>> >>>> CM3C = >>>> /tmp/test-cm3-20071015-004410/build/cm3/scripts/pkgmap.sh -c >>>> "/tmp/test-cm3-20071015-0044 >>>> 10/build/cm3bin/pkg/cm3/FreeBSD4/cm3 -build -override >>>> -DROOT='/tmp/test-cm3-20071015-0044 >>>> 10/build/cm3' " m3core libm3 >>>> === package /tmp/test-cm3-20071015-004410/build/cm3/m3-libs/m3core === >>>> +++ /tmp/test-cm3-20071015-004410/build/cm3bin/pkg/cm3/FreeBSD4/cm3 >>>> -build -override -DR >>>> OOT='/tmp/test-cm3-20071015-004410/build/cm3' +++ >>>> --- building in FreeBSD4 --- >>>> >>>> new source -> compiling RTHooks.i3 >>>> new source -> compiling RT0.i3 >>>> new source -> compiling RuntimeError.i3 >>>> new source -> compiling WordRep.i3 >>>> new source -> compiling Word.i3 >>>> new source -> compiling RTException.i3 >>>> new source -> compiling RTHooks.m3 >>>> new source -> compiling RT0.m3 >>>> new source -> compiling Compiler.i3 >>>> new source -> compiling RuntimeError.m3 >>>> new source -> compiling Compiler.m3 >>>> new source -> compiling RTAllocator.i3 >>>> new source -> compiling RTType.i3 >>>> new source -> compiling Csetjmp.i3 >>>> new source -> compiling LongRep.i3 >>>> new source -> compiling Long.i3 >>>> new source -> compiling BasicCtypes.i3 >>>> new source -> compiling Ctypes.i3 >>>> new source -> compiling RTMachine.i3 >>>> new source -> compiling RTHeapRep.i3 >>>> new source -> compiling Thread.i3 >>>> new source -> compiling FloatMode.i3 >>>> new source -> compiling ThreadF.i3 >>>> new source -> compiling RTOS.i3 >>>> new source -> compiling RTMisc.i3 >>>> new source -> compiling RTHeap.i3 >>>> new source -> compiling Cstdlib.i3 >>>> new source -> compiling Cstddef.i3 >>>> new source -> compiling RTAllocCnts.i3 >>>> new source -> compiling RTAllocator.m3 >>>> "../src/runtime/common/RTAllocator.m3", line 190: warning: variable has >>>> type NULL (state) >>>> "../src/runtime/common/RTAllocator.m3", line 190: unknown qualification >>>> '.' (MyHeapState) >>>> "../src/runtime/common/RTAllocator.m3", line 215: warning: variable has >>>> type NULL (state) >>>> "../src/runtime/common/RTAllocator.m3", line 215: unknown qualification >>>> '.' (MyHeapState) >>>> "../src/runtime/common/RTAllocator.m3", line 300: warning: variable has >>>> type NULL (state) >>>> "../src/runtime/common/RTAllocator.m3", line 300: unknown qualification >>>> '.' (MyHeapState) >>>> 3 errors and 3 warnings encountered >>>> new source -> compiling RTAllocStats.i3 >>>> new source -> compiling Convert.i3 >>>> new source -> compiling TextClass.i3 >>>> new source -> compiling Text.i3 >>>> new source -> compiling RTProcedureSRC.i3 >>>> new source -> compiling Fingerprint.i3 >>>> new source -> compiling RTProcedure.i3 >>>> new source -> compiling RTStack.i3 >>>> new source -> compiling RTAllocStats.m3 >>>> new source -> compiling TextLiteral.i3 >>>> new source -> compiling RTHeap.m3 >>>> new source -> compiling RTHeapInfo.i3 >>>> new source -> compiling Cstring.i3 >>>> new source -> compiling RTPerfTool.i3 >>>> new source -> compiling RTParams.i3 >>>> new source -> compiling RTHeapInfo.m3 >>>> new source -> compiling RTHeapMap.i3 >>>> new source -> compiling RTIO.i3 >>>> new source -> compiling RTTypeMap.i3 >>>> new source -> compiling RTMapOp.i3 >>>> new source -> compiling RTModule.i3 >>>> new source -> compiling RTHeapMap.m3 >>>> new source -> compiling RTHeapRep.m3 >>>> new source -> compiling RTHeapStats.i3 >>>> new source -> compiling RTTypeSRC.i3 >>>> new source -> compiling RTCollector.i3 >>>> new source -> compiling RTHeapStats.m3 >>>> new source -> compiling Time.i3 >>>> new source -> compiling Scheduler.i3 >>>> new source -> compiling RTLinker.i3 >>>> new source -> compiling RTProcess.i3 >>>> new source -> compiling RTHeapEvent.i3 >>>> new source -> compiling RTWeakRef.i3 >>>> new source -> compiling RTCollectorSRC.i3 >>>> new source -> compiling RTCollector.m3 >>>> "../src/runtime/common/RTCollector.m3", line 594: unknown qualification >>>> '.' (MyHeapState) >>>> "../src/runtime/common/RTCollector.m3", line 600: unknown qualification >>>> '.' (MyHeapState) >>>> "../src/runtime/common/RTCollector.m3", line 1403: unknown >>>> qualification >>>> '.' (MyHeapState >>>> ) >>>> "../src/runtime/common/RTCollector.m3", line 1407: unknown >>>> qualification >>>> '.' (MyHeapState >>>> ) >>>> "../src/runtime/common/RTCollector.m3", line 1440: unknown >>>> qualification >>>> '.' (MyHeapState >>>> ) >>>> "../src/runtime/common/RTCollector.m3", line 1506: unknown >>>> qualification >>>> '.' (MyHeapState >>>> ) >>>> 6 errors encountered >>>> new source -> compiling RTIO.m3 >>>> new source -> compiling RTLinkerX.i3 >>>> new source -> compiling RTSignal.i3 >>>> new source -> compiling RTDebug.i3 >>>> new source -> compiling RTLinker.m3 >>>> new source -> compiling RTDebug.m3 >>>> new source -> compiling RTError.i3 >>>> new source -> compiling RTError.m3 >>>> new source -> compiling M3toC.i3 >>>> new source -> compiling RTException.m3 >>>> new source -> compiling RTMapOp.m3 >>>> new source -> compiling RTMisc.m3 >>>> new source -> compiling RTPacking.i3 >>>> new source -> compiling RTPacking.m3 >>>> new source -> compiling RTArgs.i3 >>>> new source -> compiling RTParams.m3 >>>> new source -> compiling RTProcedure.m3 >>>> new source -> compiling RTProcess.m3 >>>> new source -> compiling RTTipe.i3 >>>> new source -> compiling RTTipe.m3 >>>> new source -> compiling RTType.m3 >>>> new source -> compiling RTTypeFP.i3 >>>> new source -> compiling RTTypeFP.m3 >>>> new source -> compiling RTTypeMap.m3 >>>> new source -> compiling RTutils.i3 >>>> new source -> compiling RTutils.m3 >>>> new source -> compiling RTHeapDebug.i3 >>>> new source -> compiling WeakRef.i3 >>>> new source -> compiling RTHeapDebug.m3 >>>> new source -> compiling RTArgs.m3 >>>> new source -> compiling Utypes.i3 >>>> new source -> compiling Umman.i3 >>>> "../src/unix/freebsd-4/Umman.i3", line 41: undefined (off_t) >>>> 1 error encountered >>>> new source -> compiling Uuio.i3 >>>> new source -> compiling Unix.i3 >>>> "../src/unix/freebsd-4/Unix.i3", line 145: VAL: second argument must be >>>> an ordinal type >>>> "../src/unix/freebsd-4/Unix.i3", line 145: VAL: value out of range >>>> "../src/unix/freebsd-4/Unix.i3", line 145: default is not a constant >>>> (l_start) >>>> "../src/unix/freebsd-4/Unix.i3", line 146: VAL: second argument must be >>>> an ordinal type >>>> "../src/unix/freebsd-4/Unix.i3", line 146: VAL: value out of range >>>> "../src/unix/freebsd-4/Unix.i3", line 146: default is not a constant >>>> (l_len) >>>> 6 errors encountered >>>> new source -> compiling RTOS.m3 >>>> "../src/runtime/POSIX/RTOS.m3", line 9: imported interface contains >>>> errors (Unix) >>>> "../src/runtime/POSIX/RTOS.m3", line 9: imported interface contains >>>> errors (Umman) >>>> 2 errors encountered >>>> new source -> compiling Utime.i3 >>>> new source -> compiling Uresource.i3 >>>> new source -> compiling Uexec.i3 >>>> new source -> compiling RTPerfTool.m3 >>>> "../src/runtime/POSIX/RTPerfTool.m3", line 10: imported interface >>>> contains errors (Unix) >>>> 1 error encountered >>>> new source -> compiling RTProcessPosix.m3 >>>> new source -> compiling Usignal.i3 >>>> new source -> compiling RTThread.i3 >>>> new source -> compiling RTThreadStk.m3 >>>> new source -> compiling Uprocess.i3 >>>> new source -> compiling RTSignal.m3 >>>> new source -> compiling RTThread.m3 >>>> "../src/runtime/FreeBSD4/RTThread.m3", line 12: imported interface >>>> contains errors (Unix) >>>> "../src/runtime/FreeBSD4/RTThread.m3", line 12: imported interface >>>> contains errors (Umman >>>> ) >>>> 2 errors encountered >>>> new source -> compiling RTExFrame.i3 >>>> new source -> compiling RTExFrame.m3 >>>> new source -> compiling MutexRep.i3 >>>> new source -> compiling ThreadEvent.i3 >>>> new source -> compiling SchedulerPosix.i3 >>>> new source -> compiling TimePosix.i3 >>>> new source -> compiling Cerrno.i3 >>>> new source -> compiling ThreadPosix.m3 >>>> "../src/thread/POSIX/ThreadPosix.m3", line 19: imported interface >>>> contains errors (Unix) >>>> 1 error encountered >>>> new source -> compiling Udir.i3 >>>> new source -> compiling Uerror.i3 >>>> new source -> compiling Ugrp.i3 >>>> new source -> compiling Uin.i3 >>>> new source -> compiling Usocket.i3 >>>> new source -> compiling Uin.m3 >>>> new source -> compiling Uipc.i3 >>>> new source -> compiling Umsg.i3 >>>> new source -> compiling Umsg.m3 >>>> new source -> compiling Unetdb.i3 >>>> new source -> compiling Unetdb.m3 >>>> new source -> compiling Upwd.i3 >>>> new source -> compiling Usem.i3 >>>> new source -> compiling Ushm.i3 >>>> new source -> compiling Usignal.m3 >>>> new source -> compiling Ustat.i3 >>>> new source -> compiling Usyslog.i3 >>>> new source -> compiling Utypes.m3 >>>> new source -> compiling Uugid.i3 >>>> new source -> compiling Uutmp.i3 >>>> new source -> compiling Uutsname.i3 >>>> new source -> compiling Text8CString.i3 >>>> new source -> compiling Text8.i3 >>>> new source -> compiling M3toC.m3 >>>> new source -> compiling Cstdarg.i3 >>>> new source -> compiling Cstdarg.m3 >>>> new source -> compiling Csignal.i3 >>>> new source -> compiling Cstdio.i3 >>>> new source -> compiling Cstdio.m3 >>>> new source -> compiling Real.i3 >>>> new source -> compiling RealFloat.i3 >>>> new source -> compiling LongReal.i3 >>>> new source -> compiling LongFloat.i3 >>>> new source -> compiling Extended.i3 >>>> new source -> compiling ExtendedFloat.i3 >>>> new source -> compiling IEEESpecial.i3 >>>> new source -> compiling LongRealRep.i3 >>>> new source -> compiling RealRep.i3 >>>> new source -> compiling IEEESpecial.m3 >>>> new source -> compiling Real.m3 >>>> new source -> compiling LongReal.m3 >>>> new source -> compiling Extended.m3 >>>> new source -> compiling DragonInt.i3 >>>> new source -> compiling DragonInt.m3 >>>> new source -> compiling DragonT.i3 >>>> new source -> compiling DragonT.m3 >>>> new source -> compiling FPU.i3 >>>> new source -> compiling RealFloat.m3 >>>> new source -> compiling LongFloat.m3 >>>> new source -> compiling ExtendedFloat.m3 >>>> new source -> compiling FPU.m3 >>>> new source -> compiling FloatMode.m3 >>>> new source -> compiling Tick.i3 >>>> new source -> compiling Date.i3 >>>> new source -> compiling FmtTime.i3 >>>> new source -> compiling FmtTime.m3 >>>> new source -> compiling TickPortable.m3 >>>> new source -> compiling DateBsd.m3 >>>> new source -> compiling TimePosix.m3 >>>> new source -> compiling CConvert.i3 >>>> new source -> compiling CConvert.m3 >>>> new source -> compiling Convert.m3 >>>> new source -> compiling String8.i3 >>>> new source -> compiling String8.m3 >>>> new source -> compiling String16.i3 >>>> new source -> compiling String16.m3 >>>> new source -> compiling Text16.i3 >>>> new source -> compiling Text.m3 >>>> new source -> compiling TextClass.m3 >>>> new source -> compiling TextLiteral.m3 >>>> new source -> compiling Text8Short.i3 >>>> new source -> compiling Text8.m3 >>>> new source -> compiling Text8Short.m3 >>>> new source -> compiling Text8CString.m3 >>>> new source -> compiling Text16Short.i3 >>>> new source -> compiling Text16.m3 >>>> new source -> compiling Text16Short.m3 >>>> new source -> compiling TextSub.i3 >>>> new source -> compiling TextCat.i3 >>>> new source -> compiling TextSub.m3 >>>> new source -> compiling TextCat.m3 >>>> new source -> compiling TextConv.i3 >>>> new source -> compiling TextConv.m3 >>>> new source -> compiling Poly.i3 >>>> new source -> compiling Fingerprint.m3 >>>> new source -> compiling Poly.m3 >>>> new source -> compiling PolyBasis.i3 >>>> new source -> compiling PolyBasis.m3 >>>> new source -> compiling Main.i3 >>>> new source -> compiling WeakRef.m3 >>>> new source -> compiling Word.m3 >>>> new source -> compiling Long.m3 >>>> new source -> compiling hand.c >>>> new source -> compiling dtoa.c >>>> new source -> compiling RTThreadC.c >>>> new source -> compiling _fpsetjmp.s >>>> new source -> compiling RTStackC.c >>>> new source -> compiling CerrnoC.c >>>> new source -> compiling CstdioC.c >>>> new exporters -> recompiling RTHooks.i3 >>>> new exporters -> recompiling RTAllocator.i3 >>>> new exporters -> recompiling RTCollector.i3 >>>> new exporters -> recompiling RTException.i3 >>>> new exporters -> recompiling RTModule.i3 >>>> new exporters -> recompiling RTProcess.i3 >>>> new exporters -> recompiling RTProcedureSRC.i3 >>>> new exporters -> recompiling RTTypeSRC.i3 >>>> new exporters -> recompiling RTOS.i3 >>>> new exporters -> recompiling RTPerfTool.i3 >>>> new exporters -> recompiling RTThread.i3 >>>> new exporters -> recompiling Time.i3 >>>> new exporters -> recompiling Tick.i3 >>>> new exporters -> recompiling Date.i3 >>>> new exporters -> recompiling Text.i3 >>>> compilation failed => not building library "libm3core.a" >>>> Fatal Error: package build failed >>>> *** execution of failed *** >>>> new.elego.de [/tmp/test-cm3-20071015-004410/build/cm3/scripts] >>>> kschleiser >>>> % >>>> >>>> I could solve Umman.i3 missing off_t by importing it. >>>> >>>> Thanks in advance, >>>> Kaspar >>> > From neels at elego.de Tue Oct 16 23:44:19 2007 From: neels at elego.de (Neels Janosch Hofmeyr) Date: Tue, 16 Oct 2007 23:44:19 +0200 Subject: [M3devel] Pathname.Legal In-Reply-To: <4711F975.9070905@wichita.edu> References: <471145B0.60905@elego.de> <20071014100526.GA2601@jack.stsp.lan> <4711F975.9070905@wichita.edu> Message-ID: <471530B3.3050102@elego.de> Rodney M. Bates wrote: > Since the language itself specifies that program variables of type > CHAR are in ISO Latin-1, not just ASCII, I think extending compilers, > etc., to handle those characters makes complete sense, without even > needing to view it as support for unicode or differing locales. > > Do I understand correctly that Neels' patch extends just to ISO Latin-1? Well, the fix allows more characters. It does in no way change datatype bitwidth, any conversion or any other behavior at all. It's just an abort condition which is made more lenient, so that it allows all CHAR characters in a Pathname.T (which is a TEXT). *If* CHAR represents ISO Latin-1, then the fix extends the range of allowed characters to ISO Latin-1 only. Do you know more about this? I can only guess. Olaf Wagner guessed it's fine to submit the fix. I encountered no problems using it with large numbers of filenames. Can you think of anything that might be a problem when allowing all CHARs in a file name? Regards! Neels -- Neels Janosch Hofmeyr Software Developer neels at elego.de Public Key: http://binarchy.net/neels/neels.hofmeyr.public.key.asc elego Software Solutions GmbH http://www.elegosoft.com Gustav-Meyer-Allee 25, Geb?ude 12 HRB 77719 13355 Berlin, Germany Amtsgericht Charlottenburg Tel.: +49 30 23 45 86 96 Sitz der Gesellschaft: Berlin Fax: +49 30 23 45 86 95 Gesch?ftsf?hrer: Olaf Wagner -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: OpenPGP digital signature URL: From hosking at cs.purdue.edu Wed Oct 17 00:08:05 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Tue, 16 Oct 2007 18:08:05 -0400 Subject: [M3devel] Pathname.Legal In-Reply-To: <471530B3.3050102@elego.de> References: <471145B0.60905@elego.de> <20071014100526.GA2601@jack.stsp.lan> <4711F975.9070905@wichita.edu> <471530B3.3050102@elego.de> Message-ID: <7EE9EE85-33C3-4E7D-A1AD-DA1419CB4EC9@cs.purdue.edu> What happens on Windows? There path separators include \. On Oct 16, 2007, at 5:44 PM, Neels Janosch Hofmeyr wrote: > > Rodney M. Bates wrote: >> Since the language itself specifies that program variables of type >> CHAR are in ISO Latin-1, not just ASCII, I think extending compilers, >> etc., to handle those characters makes complete sense, without even >> needing to view it as support for unicode or differing locales. >> >> Do I understand correctly that Neels' patch extends just to ISO >> Latin-1? > > Well, the fix allows more characters. It does in no way change > datatype > bitwidth, any conversion or any other behavior at all. It's just an > abort condition which is made more lenient, so that it allows all CHAR > characters in a Pathname.T (which is a TEXT). *If* CHAR represents ISO > Latin-1, then the fix extends the range of allowed characters to ISO > Latin-1 only. > > Do you know more about this? I can only guess. Olaf Wagner guessed > it's > fine to submit the fix. I encountered no problems using it with large > numbers of filenames. > Can you think of anything that might be a problem when allowing all > CHARs in a file name? > > Regards! > Neels > > -- > Neels Janosch Hofmeyr > Software Developer > > neels at elego.de > Public Key: http://binarchy.net/neels/neels.hofmeyr.public.key.asc > > elego Software Solutions GmbH http://www.elegosoft.com > Gustav-Meyer-Allee 25, Geb?ude 12 HRB 77719 > 13355 Berlin, Germany Amtsgericht Charlottenburg > Tel.: +49 30 23 45 86 96 Sitz der Gesellschaft: Berlin > Fax: +49 30 23 45 86 95 Gesch?ftsf?hrer: Olaf Wagner > > From neels at elego.de Wed Oct 17 00:37:23 2007 From: neels at elego.de (Neels Janosch Hofmeyr) Date: Wed, 17 Oct 2007 00:37:23 +0200 Subject: [M3devel] Pathname.Legal In-Reply-To: <7EE9EE85-33C3-4E7D-A1AD-DA1419CB4EC9@cs.purdue.edu> References: <471145B0.60905@elego.de> <20071014100526.GA2601@jack.stsp.lan> <4711F975.9070905@wichita.edu> <471530B3.3050102@elego.de> <7EE9EE85-33C3-4E7D-A1AD-DA1419CB4EC9@cs.purdue.edu> Message-ID: <47153D23.9040708@elego.de> There is a different implementation of Pathname (i.e. PathnameWin32.m3 in cm3/m3-libs/libm3/src/os/WIN32) which uses \ separators. But this makes me look at the windows code: it has the same limitation! I guess I should also apply the fix there, right?? it says: CONST Legal = SET OF CHAR {'\001' .. '\177'} - SET OF CHAR {DirSepChar, ':'}; (* *** This should be as permissive as any NT file system. *) (note: \177 is in octal and is 127 in decimal) Tony Hosking wrote: > What happens on Windows? There path separators include \. > > On Oct 16, 2007, at 5:44 PM, Neels Janosch Hofmeyr wrote: > >> >> Rodney M. Bates wrote: >>> Since the language itself specifies that program variables of type >>> CHAR are in ISO Latin-1, not just ASCII, I think extending compilers, >>> etc., to handle those characters makes complete sense, without even >>> needing to view it as support for unicode or differing locales. >>> >>> Do I understand correctly that Neels' patch extends just to ISO >>> Latin-1? >> >> Well, the fix allows more characters. It does in no way change datatype >> bitwidth, any conversion or any other behavior at all. It's just an >> abort condition which is made more lenient, so that it allows all CHAR >> characters in a Pathname.T (which is a TEXT). *If* CHAR represents ISO >> Latin-1, then the fix extends the range of allowed characters to ISO >> Latin-1 only. >> >> Do you know more about this? I can only guess. Olaf Wagner guessed it's >> fine to submit the fix. I encountered no problems using it with large >> numbers of filenames. >> Can you think of anything that might be a problem when allowing all >> CHARs in a file name? >> >> Regards! >> Neels >> >> -- >> Neels Janosch Hofmeyr >> Software Developer >> >> neels at elego.de >> Public Key: http://binarchy.net/neels/neels.hofmeyr.public.key.asc >> >> elego Software Solutions GmbH http://www.elegosoft.com >> Gustav-Meyer-Allee 25, Geb?ude 12 HRB 77719 >> 13355 Berlin, Germany Amtsgericht Charlottenburg >> Tel.: +49 30 23 45 86 96 Sitz der Gesellschaft: Berlin >> Fax: +49 30 23 45 86 95 Gesch?ftsf?hrer: Olaf Wagner >> >> > -- Neels Janosch Hofmeyr Software Developer neels at elego.de Public Key: http://binarchy.net/neels/neels.hofmeyr.public.key.asc elego Software Solutions GmbH http://www.elegosoft.com Gustav-Meyer-Allee 25, Geb?ude 12 HRB 77719 13355 Berlin, Germany Amtsgericht Charlottenburg Tel.: +49 30 23 45 86 96 Sitz der Gesellschaft: Berlin Fax: +49 30 23 45 86 95 Gesch?ftsf?hrer: Olaf Wagner -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: OpenPGP digital signature URL: From mika at async.caltech.edu Wed Oct 17 01:14:54 2007 From: mika at async.caltech.edu (Mika Nystrom) Date: Tue, 16 Oct 2007 16:14:54 -0700 Subject: [M3devel] Pathname.Legal In-Reply-To: Your message of "Wed, 17 Oct 2007 00:37:23 +0200." <47153D23.9040708@elego.de> Message-ID: <200710162314.l9GNEsCt054797@camembert.async.caltech.edu> I think "/" works as a directory separator on Windows as well as "\", doesn't it? Are there other limitations? Also, the Modula-3 style nit-picker in me would prefer SET OF CHAR { FIRST(CHAR) .. LAST(CHAR) } (if that is what you really mean). Mika Neels Janosch Hofmeyr writes: >This is an OpenPGP/MIME signed message (RFC 2440 and 3156) >--------------enigEAE3E5403C2A4908483A8A10 >Content-Type: text/plain; charset=ISO-8859-1 >Content-Transfer-Encoding: quoted-printable > > >There is a different implementation of Pathname (i.e. PathnameWin32.m3 >in cm3/m3-libs/libm3/src/os/WIN32) which uses \ separators. > >But this makes me look at the windows code: it has the same limitation! > >I guess I should also apply the fix there, right?? >it says: > >CONST Legal =3D SET OF CHAR {'\001' .. '\177'} - SET OF CHAR {DirSepChar,= > >':'}; > (* *** This should be as permissive as any NT file system. *) > >(note: \177 is in octal and is 127 in decimal) > >Tony Hosking wrote: >> What happens on Windows? There path separators include \. >> >> On Oct 16, 2007, at 5:44 PM, Neels Janosch Hofmeyr wrote: >> >>> >>> Rodney M. Bates wrote: >>>> Since the language itself specifies that program variables of type >>>> CHAR are in ISO Latin-1, not just ASCII, I think extending compilers,= > >>>> etc., to handle those characters makes complete sense, without even >>>> needing to view it as support for unicode or differing locales. >>>> >>>> Do I understand correctly that Neels' patch extends just to ISO >>>> Latin-1? >>> >>> Well, the fix allows more characters. It does in no way change datatyp= >e >>> bitwidth, any conversion or any other behavior at all. It's just an >>> abort condition which is made more lenient, so that it allows all CHAR= > >>> characters in a Pathname.T (which is a TEXT). *If* CHAR represents ISO= > >>> Latin-1, then the fix extends the range of allowed characters to ISO >>> Latin-1 only. >>> >>> Do you know more about this? I can only guess. Olaf Wagner guessed it'= >s >>> fine to submit the fix. I encountered no problems using it with large >>> numbers of filenames. >>> Can you think of anything that might be a problem when allowing all >>> CHARs in a file name? >>> >>> Regards! >>> Neels >>> >>> --=20 >>> Neels Janosch Hofmeyr >>> Software Developer >>> >>> neels at elego.de >>> Public Key: http://binarchy.net/neels/neels.hofmeyr.public.key.asc >>> >>> elego Software Solutions GmbH http://www.elegosoft.com >>> Gustav-Meyer-Allee 25, Geb=E4ude 12 HRB 77719 >>> 13355 Berlin, Germany Amtsgericht Charlottenburg >>> Tel.: +49 30 23 45 86 96 Sitz der Gesellschaft: Berlin >>> Fax: +49 30 23 45 86 95 Gesch=E4ftsf=FChrer: Olaf Wagn= >er >>> >>> >> > >--=20 >Neels Janosch Hofmeyr >Software Developer > >neels at elego.de >Public Key: http://binarchy.net/neels/neels.hofmeyr.public.key.asc > >elego Software Solutions GmbH http://www.elegosoft.com >Gustav-Meyer-Allee 25, Geb=E4ude 12 HRB 77719 >13355 Berlin, Germany Amtsgericht Charlottenburg >Tel.: +49 30 23 45 86 96 Sitz der Gesellschaft: Berlin >Fax: +49 30 23 45 86 95 Gesch=E4ftsf=FChrer: Olaf Wagner > > > >--------------enigEAE3E5403C2A4908483A8A10 >Content-Type: application/pgp-signature; name="signature.asc" >Content-Description: OpenPGP digital signature >Content-Disposition: attachment; filename="signature.asc" > >-----BEGIN PGP SIGNATURE----- >Version: GnuPG v1.4.6 (GNU/Linux) > >iD8DBQFHFT0jRpHEG7B8Y+ARAlQeAKDJwIVJngSDSZy0HTvZKVXYg0PMPQCgo+Gn >3oY6Q1ZK45iODSSURAcCpiI= >=VXmb >-----END PGP SIGNATURE----- > >--------------enigEAE3E5403C2A4908483A8A10-- From jay.krell at cornell.edu Wed Oct 17 08:11:21 2007 From: jay.krell at cornell.edu (Jay) Date: Wed, 17 Oct 2007 06:11:21 +0000 Subject: [M3devel] Pathname.Legal In-Reply-To: <7EE9EE85-33C3-4E7D-A1AD-DA1419CB4EC9@cs.purdue.edu> References: <471145B0.60905@elego.de> <20071014100526.GA2601@jack.stsp.lan> <4711F975.9070905@wichita.edu> <471530B3.3050102@elego.de> <7EE9EE85-33C3-4E7D-A1AD-DA1419CB4EC9@cs.purdue.edu> Message-ID: Or colon on Macintosh? :) I have some file names with slashes in them and the command line shows them as colons. I didn't make up the file names, they were in archives that way. - Jay> From: hosking at cs.purdue.edu> Date: Tue, 16 Oct 2007 18:08:05 -0400> To: neels at elego.de> CC: m3devel at elegosoft.com> Subject: Re: [M3devel] Pathname.Legal> > What happens on Windows? There path separators include \.> > On Oct 16, 2007, at 5:44 PM, Neels Janosch Hofmeyr wrote:> > >> > Rodney M. Bates wrote:> >> Since the language itself specifies that program variables of type> >> CHAR are in ISO Latin-1, not just ASCII, I think extending compilers,> >> etc., to handle those characters makes complete sense, without even> >> needing to view it as support for unicode or differing locales.> >>> >> Do I understand correctly that Neels' patch extends just to ISO > >> Latin-1?> >> > Well, the fix allows more characters. It does in no way change > > datatype> > bitwidth, any conversion or any other behavior at all. It's just an> > abort condition which is made more lenient, so that it allows all CHAR> > characters in a Pathname.T (which is a TEXT). *If* CHAR represents ISO> > Latin-1, then the fix extends the range of allowed characters to ISO> > Latin-1 only.> >> > Do you know more about this? I can only guess. Olaf Wagner guessed > > it's> > fine to submit the fix. I encountered no problems using it with large> > numbers of filenames.> > Can you think of anything that might be a problem when allowing all> > CHARs in a file name?> >> > Regards!> > Neels> >> > -- > > Neels Janosch Hofmeyr> > Software Developer> >> > neels at elego.de> > Public Key: http://binarchy.net/neels/neels.hofmeyr.public.key.asc> >> > elego Software Solutions GmbH http://www.elegosoft.com> > Gustav-Meyer-Allee 25, Geb?ude 12 HRB 77719> > 13355 Berlin, Germany Amtsgericht Charlottenburg> > Tel.: +49 30 23 45 86 96 Sitz der Gesellschaft: Berlin> > Fax: +49 30 23 45 86 95 Gesch?ftsf?hrer: Olaf Wagner> >> >> _________________________________________________________________ Climb to the top of the charts!? Play Star Shuffle:? the word scramble challenge with star power. http://club.live.com/star_shuffle.aspx?icid=starshuffle_wlmailtextlink_oct -------------- next part -------------- An HTML attachment was scrubbed... URL: From dabenavidesd at yahoo.es Wed Oct 17 15:51:26 2007 From: dabenavidesd at yahoo.es (Daniel Alejandro Benavides D.) Date: Wed, 17 Oct 2007 15:51:26 +0200 (CEST) Subject: [M3devel] About permissions on sources in the case of sources with permissions for owner only Message-ID: <998919.97099.qm@web27103.mail.ukl.yahoo.com> Hi: I got a commentary about files produced by the compiler and the files exported to the repository (ship) When compiling a package (bilist present on directory list of http://users.informatik.uni-halle.de/~thielema/Research/datastruct.tar.bz2 ) that has read and write permissions only for the owner I got files in LINUXLIBC6 that are readable for the group and other users. But when shipped on the 'src' directory they 're just readable for the owner (root). The 'LINUXLIBC6' directory has well defned permissions on the repository. As a result I can't read it on the repository if I do not modify the flags of the files. Programs like m3browser complains about that, also another package compile that needs bilist would fail if not root: BiList.ig is contained in: bilist/LINUXLIBC6/libbilist.a: bilist/src/BiList.ig unable to open /usr/local/cm3-cvs4/pkg/bilist/src/BiList.ig danielb at danielb-desktop:~/code/m3/datastruct/datastruct/list/bilist$ ls -al src/* -rw------- 1 danielb danielb 1982 Sep 23 2003 src/BiList.ig -rw------- 1 danielb danielb 8381 Oct 17 2003 src/BiList.mg -rw------- 1 danielb danielb 488 Sep 23 2003 src/bilist.tmpl -rw------- 1 danielb danielb 185 Sep 23 2003 src/m3makefile -rw------- 1 danielb danielb 38 Sep 5 2005 src/m3overrides danielb at danielb-desktop:~/code/m3/datastruct/datastruct/list/bilist$ ls -al LINUXLIBC6/* -rw-r--r-- 1 danielb danielb 80 Oct 17 09:17 LINUXLIBC6/AtomBiList.i3 -rw-r--r-- 1 danielb danielb 6064 Oct 17 09:17 LINUXLIBC6/AtomBiList.io -rw-r--r-- 1 danielb danielb 77 Oct 17 09:17 LINUXLIBC6/AtomBiList.m3 -rw-r--r-- 1 danielb danielb 33056 Oct 17 09:17 LINUXLIBC6/AtomBiList.mo -rw-r--r-- 1 danielb danielb 81 Oct 17 09:17 LINUXLIBC6/IntBiList.i3 -rw-r--r-- 1 danielb danielb 5968 Oct 17 09:17 LINUXLIBC6/IntBiList.io -rw-r--r-- 1 danielb danielb 78 Oct 17 09:17 LINUXLIBC6/IntBiList.m3 -rw-r--r-- 1 danielb danielb 32660 Oct 17 09:17 LINUXLIBC6/IntBiList.mo -rw-r--r-- 1 danielb danielb 80 Oct 17 09:17 LINUXLIBC6/RefBiList.i3 -rw-r--r-- 1 danielb danielb 6028 Oct 17 09:17 LINUXLIBC6/RefBiList.io -rw-r--r-- 1 danielb danielb 77 Oct 17 09:17 LINUXLIBC6/RefBiList.m3 -rw-r--r-- 1 danielb danielb 32992 Oct 17 09:17 LINUXLIBC6/RefBiList.mo -rw-r--r-- 1 danielb danielb 80 Oct 17 09:17 LINUXLIBC6/TextBiList.i3 -rw-r--r-- 1 danielb danielb 6032 Oct 17 09:17 LINUXLIBC6/TextBiList.io -rw-r--r-- 1 danielb danielb 77 Oct 17 09:17 LINUXLIBC6/TextBiList.m3 -rw-r--r-- 1 danielb danielb 33056 Oct 17 09:17 LINUXLIBC6/TextBiList.mo -rw-r--r-- 1 danielb danielb 159308 Oct 17 09:17 LINUXLIBC6/libbilist.a -rw-r--r-- 1 danielb danielb 4592 Oct 17 09:17 LINUXLIBC6/libbilist.m3x lrwxrwxrwx 1 danielb danielb 14 Oct 17 09:17 LINUXLIBC6/libbilist.so -> libbilist.so.5 -rwxr-xr-x 1 danielb danielb 141021 Oct 17 09:17 LINUXLIBC6/libbilist.so.5 ls -al /usr/local/cm3-cvs4/pkg/bilist/* /usr/local/cm3-cvs4/pkg/bilist/LINUXLIBC6: total 372 drwxr-xr-x 2 root root 4096 Oct 17 09:18 . drwxr-xr-x 4 root root 4096 Oct 17 09:18 .. -rw-r--r-- 1 root root 867 Oct 17 09:17 .M3EXPORTS -rw-r--r-- 1 root root 15654 Oct 17 09:17 .M3WEB -rw-r--r-- 1 root root 80 Oct 17 09:17 AtomBiList.i3 -rw-r--r-- 1 root root 77 Oct 17 09:17 AtomBiList.m3 -rw-r--r-- 1 root root 81 Oct 17 09:17 IntBiList.i3 -rw-r--r-- 1 root root 78 Oct 17 09:17 IntBiList.m3 -rw-r--r-- 1 root root 80 Oct 17 09:17 RefBiList.i3 -rw-r--r-- 1 root root 77 Oct 17 09:17 RefBiList.m3 -rw-r--r-- 1 root root 80 Oct 17 09:17 TextBiList.i3 -rw-r--r-- 1 root root 77 Oct 17 09:17 TextBiList.m3 -rw-r--r-- 1 root root 159308 Oct 17 09:17 libbilist.a -rw-r--r-- 1 root root 4592 Oct 17 09:17 libbilist.m3x lrwxrwxrwx 1 root root 14 Oct 17 09:18 libbilist.so -> libbilist.so.5 -rwxr-xr-x 1 root root 141021 Oct 17 09:17 libbilist.so.5 /usr/local/cm3-cvs4/pkg/bilist/src: total 28 drwxr-xr-x 2 root root 4096 Oct 17 09:18 . drwxr-xr-x 4 root root 4096 Oct 17 09:18 .. -rw------- 1 root root 1982 Sep 23 2003 BiList.ig -rw------- 1 root root 8381 Oct 17 2003 BiList.mg -rw------- 1 root root 488 Sep 23 2003 bilist.tmpl danielb at danielb-desktop:~/code/m3/datastruct/datastruct/list$ --------------------------------- S? un Mejor Amante del Cine ?Quieres saber c?mo? ?Deja que otras personas te ayuden!. -------------- next part -------------- An HTML attachment was scrubbed... URL: From lemming at henning-thielemann.de Wed Oct 17 16:00:09 2007 From: lemming at henning-thielemann.de (Henning Thielemann) Date: Wed, 17 Oct 2007 16:00:09 +0200 (CEST) Subject: [M3devel] About permissions on sources in the case of sources with permissions for owner only In-Reply-To: <998919.97099.qm@web27103.mail.ukl.yahoo.com> References: <998919.97099.qm@web27103.mail.ukl.yahoo.com> Message-ID: On Wed, 17 Oct 2007, Daniel Alejandro Benavides D. wrote: > I got a commentary about files produced by the compiler and the files exported to the repository (ship) > When compiling a package (bilist present on directory list of http://users.informatik.uni-halle.de/~thielema/Research/datastruct.tar.bz2 > ) that has read and write permissions only for the owner > I got files in LINUXLIBC6 that are readable for the group and other users. > But when shipped on the 'src' directory they 're just readable for the owner (root). This is a general problem, not bound to BiList. As a work-around I wrote a script which corrects permissions after the installation. $ more cm3ship cm3 -ship (chmod -R a+r /usr/local/cm3/pkg ; chmod a+x `find /usr/local/cm3/pkg -type d`) & However, I do not want to call it 'solution'. From dabenavidesd at yahoo.es Mon Oct 22 00:03:37 2007 From: dabenavidesd at yahoo.es (Daniel Alejandro Benavides D.) Date: Mon, 22 Oct 2007 00:03:37 +0200 (CEST) Subject: [M3devel] Calling RTHeapStats.ReportReachable(); with Pthread cvs head Message-ID: <696946.98425.qm@web27109.mail.ukl.yahoo.com> Hi: Im trying to execute the following program with the Pthread cvs head implementation and I got this when executing the program: danielb at danielb-desktop:~/as207/code/m3gdb$ LINUXLIBC6/Main Entre dos enteros6 7 Estadisticas del Heap HEAP: 0xb73d2000 .. 0xb7412000 => 0.2 Mbytes *** *** runtime error: *** <*ASSERT*> failed. *** file "../src/thread/PTHREAD/ThreadPThread.m3", line 992 *** Aborted danielb at danielb-desktop:~/as207/code/m3gdb$ The assert violated in m3core/thread/PTHREAD/ThreadPthread.m3 is this: PROCEDURE ProcessOther (act: Activation; p: PROCEDURE (start, stop: ADDRESS)) = (* LL=activeMu *) VAR sp: ADDRESS; state: RTMachine.ThreadState; BEGIN <*ASSERT act.state = ActState.Stopped*> The source code of the little program is this: MODULE Main; IMPORT SIO; IMPORT RTHeapStats; IMPORT RTutils; IMPORT RTHeapDebug; VAR varA, varB, varC: INTEGER; PROCEDURE multiplicar(a,b: INTEGER): INTEGER= VAR varC: INTEGER; BEGIN varC:=a*b; RETURN varC; END multiplicar; BEGIN SIO.PutText("Entre dos enteros"); varA:=SIO.GetInt(); varB:=SIO.GetInt(); varC:=multiplicar(varA,varB); SIO.PutText("Estadisticas del Heap"); RTHeapDebug.CheckHeap(); RTHeapStats.ReportReachable(); (* RTutils.Heap(FALSE,RTutils.HeapPresentation.ByTypecode,TRUE,LAST(CARDINAL));*) SIO.PutInt(varC); END Main. According to the draft book of Michael Dagenais Building Distributed OO Applications: Modula-3 Objects at Work, RTHeapStats.ReportReachable() " ... is called to determine the number of active, reachable, objects (i.e. those which would not be garbage collected). Of the 1980 objects on the heap, only slightly more than half are still alive." According to the interface documentation: "reports the number of reachable objects and bytes from each compilation unit, thread stack, and the individual roots that reach the most bytes. The report is written to stderr. The Modula-3 process is frozen during the scanning and reporting." Obviously with the previous version of pthread the things were working fine, also with user level implementation Thanks, Daniel Benavides --------------------------------- S? un Mejor Amante del Cine ?Quieres saber c?mo? ?Deja que otras personas te ayuden!. -------------- next part -------------- An HTML attachment was scrubbed... URL: From darko at darko.org Mon Oct 22 08:04:51 2007 From: darko at darko.org (Darko) Date: Mon, 22 Oct 2007 08:04:51 +0200 Subject: [M3devel] m3gdb binary for Darwin Intel? Message-ID: <9707EBB0-6A47-426E-B81A-E1BF32D69EA1@darko.org> Does anyone know of a m3gdb binary for Mac Intel floating around anywhere? Cheers, Darko. From hosking at cs.purdue.edu Mon Oct 22 15:00:03 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Mon, 22 Oct 2007 09:00:03 -0400 Subject: [M3devel] Calling RTHeapStats.ReportReachable(); with Pthread cvs head In-Reply-To: <696946.98425.qm@web27109.mail.ukl.yahoo.com> References: <696946.98425.qm@web27109.mail.ukl.yahoo.com> Message-ID: I know what the problem is, and will fix it when I can. On Oct 21, 2007, at 6:03 PM, Daniel Alejandro Benavides D. wrote: > Hi: > Im trying to execute the following program with the Pthread cvs > head implementation and I got this when executing the program: > > danielb at danielb-desktop:~/as207/code/m3gdb$ LINUXLIBC6/Main > Entre dos enteros6 7 > Estadisticas del Heap > HEAP: 0xb73d2000 .. 0xb7412000 => 0.2 Mbytes > > > *** > *** runtime error: > *** <*ASSERT*> failed. > *** file "../src/thread/PTHREAD/ThreadPThread.m3", line 992 > *** > > Aborted > danielb at danielb-desktop:~/as207/code/m3gdb$ > > The assert violated in m3core/thread/PTHREAD/ThreadPthread.m3 is this: > PROCEDURE ProcessOther (act: Activation; p: PROCEDURE (start, > stop: ADDRESS)) = > (* LL=activeMu *) > VAR > sp: ADDRESS; > state: RTMachine.ThreadState; > BEGIN > <*ASSERT act.state = ActState.Stopped*> > > > The source code of the little program is this: > > MODULE Main; > > IMPORT SIO; > IMPORT RTHeapStats; > IMPORT RTutils; > IMPORT RTHeapDebug; > VAR > varA, varB, varC: INTEGER; > > > PROCEDURE multiplicar(a,b: INTEGER): INTEGER= > VAR > varC: INTEGER; > BEGIN > varC:=a*b; > RETURN varC; > END multiplicar; > > > BEGIN > > SIO.PutText("Entre dos enteros"); > varA:=SIO.GetInt(); > varB:=SIO.GetInt(); > varC:=multiplicar(varA,varB); > SIO.PutText("Estadisticas del Heap"); > RTHeapDebug.CheckHeap(); > RTHeapStats.ReportReachable(); > (* RTutils.Heap > (FALSE,RTutils.HeapPresentation.ByTypecode,TRUE,LAST(CARDINAL));*) > SIO.PutInt(varC); > > END Main. > > According to the draft book of Michael Dagenais Building > Distributed OO Applications: Modula-3 Objects at Work, > RTHeapStats.ReportReachable() > " ... is called to determine the number > of active, reachable, objects (i.e. those which would not be > garbage collected). Of the 1980 objects on the heap, only slightly > more than half are still alive." > > According to the interface documentation: > "reports the number of reachable objects and bytes from each > compilation unit, thread stack, and the individual roots that reach > the most bytes. The report is written to stderr. The Modula-3 > process is frozen during the scanning and reporting." > > Obviously with the previous version of pthread the things were > working fine, also with user level implementation > > Thanks, > > Daniel Benavides > > > S? un Mejor Amante del Cine > ?Quieres saber c?mo? ?Deja que otras personas te ayuden! . From hosking at cs.purdue.edu Mon Oct 22 16:09:08 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Mon, 22 Oct 2007 10:09:08 -0400 Subject: [M3devel] Calling RTHeapStats.ReportReachable(); with Pthread cvs head In-Reply-To: <696946.98425.qm@web27109.mail.ukl.yahoo.com> References: <696946.98425.qm@web27109.mail.ukl.yahoo.com> Message-ID: Please try the latest CVS head. On Oct 21, 2007, at 6:03 PM, Daniel Alejandro Benavides D. wrote: > Hi: > Im trying to execute the following program with the Pthread cvs > head implementation and I got this when executing the program: > > danielb at danielb-desktop:~/as207/code/m3gdb$ LINUXLIBC6/Main > Entre dos enteros6 7 > Estadisticas del Heap > HEAP: 0xb73d2000 .. 0xb7412000 => 0.2 Mbytes > > > *** > *** runtime error: > *** <*ASSERT*> failed. > *** file "../src/thread/PTHREAD/ThreadPThread.m3", line 992 > *** > > Aborted > danielb at danielb-desktop:~/as207/code/m3gdb$ > > The assert violated in m3core/thread/PTHREAD/ThreadPthread.m3 is this: > PROCEDURE ProcessOther (act: Activation; p: PROCEDURE (start, > stop: ADDRESS)) = > (* LL=activeMu *) > VAR > sp: ADDRESS; > state: RTMachine.ThreadState; > BEGIN > <*ASSERT act.state = ActState.Stopped*> > > > The source code of the little program is this: > > MODULE Main; > > IMPORT SIO; > IMPORT RTHeapStats; > IMPORT RTutils; > IMPORT RTHeapDebug; > VAR > varA, varB, varC: INTEGER; > > > PROCEDURE multiplicar(a,b: INTEGER): INTEGER= > VAR > varC: INTEGER; > BEGIN > varC:=a*b; > RETURN varC; > END multiplicar; > > > BEGIN > > SIO.PutText("Entre dos enteros"); > varA:=SIO.GetInt(); > varB:=SIO.GetInt(); > varC:=multiplicar(varA,varB); > SIO.PutText("Estadisticas del Heap"); > RTHeapDebug.CheckHeap(); > RTHeapStats.ReportReachable(); > (* RTutils.Heap > (FALSE,RTutils.HeapPresentation.ByTypecode,TRUE,LAST(CARDINAL));*) > SIO.PutInt(varC); > > END Main. > > According to the draft book of Michael Dagenais Building > Distributed OO Applications: Modula-3 Objects at Work, > RTHeapStats.ReportReachable() > " ... is called to determine the number > of active, reachable, objects (i.e. those which would not be > garbage collected). Of the 1980 objects on the heap, only slightly > more than half are still alive." > > According to the interface documentation: > "reports the number of reachable objects and bytes from each > compilation unit, thread stack, and the individual roots that reach > the most bytes. The report is written to stderr. The Modula-3 > process is frozen during the scanning and reporting." > > Obviously with the previous version of pthread the things were > working fine, also with user level implementation > > Thanks, > > Daniel Benavides > > > S? un Mejor Amante del Cine > ?Quieres saber c?mo? ?Deja que otras personas te ayuden! . From jay.krell at cornell.edu Wed Oct 24 12:21:52 2007 From: jay.krell at cornell.edu (Jay) Date: Wed, 24 Oct 2007 10:21:52 +0000 Subject: [M3devel] x86 int64 guidance? Message-ID: I'm looking for guidance on the 64 bit integer support in the x86 code generator.What level does it belong in? The code appears to be in three primary files, that are layered mostly like so:M3x86.m3 Stackx86.m3 Codex86.m3 Stackx86 implements, I guess, a "virtual stack" which, I guess, makes certain optimizations easy, stuff like avoiding redundant moves, because the stack knows which register corresponds to which variable. M3x86 does call directly into Codex86, a lot actually.And so of course does Stackx86 (per the layering). There is trafficing in: Operand = RECORD loc: OLoc; mvar: MVar := NoStore; reg: Regno := 0; reg2: Regno := 0; << maybe add this?? imm: INTEGER := 0; stackp: INTEGER := 0; opcode := FALSE; END; notice just one register.These are x86 registers, not some abtract thing.That is what the virtual stack contains. One might imagine the support going one level higher even,implement int64 as a record/struct, but add some notion ofadd-with-carry, sub-with-carry, multiply64, divide64,multiply64x64to32, etc.? You know, when doing add, there's no canonical requiredregister pair to use, they all work, and the upper 32 bits might evenbe thrown out, so don't even necessarily compute them. I'd be a bit wary of the carry surviving though. Or maybe a pseudo register eax_edx should be defined? I'm thinking add reg2 might be easiest, though it seems wrong -- unclean.And always compute the full add/sub/mult/div. Maybe an array of registers? - Jay _________________________________________________________________ Peek-a-boo FREE Tricks & Treats for You! http://www.reallivemoms.com?ocid=TXT_TAGHM&loc=us -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Wed Oct 24 13:07:16 2007 From: jay.krell at cornell.edu (Jay) Date: Wed, 24 Oct 2007 11:07:16 +0000 Subject: [M3devel] x86 int64 guidance? Message-ID: Ok, I have a plan. It might work or not, it might be easy or not, elegant or not. I will add reg2 and I will put in checks at the start of some functions, like binOp, and if they are given 64 bit operands, call out to something that forms two 32 bit operands and acts on them "appropriately" (it will vary). I'm thinking the changes will mostly be in codex86. And stackx86's find function will know to allocate two registers sometimes. This had some drawbacks. For inline coded things like add/adc, good. For register based functions like shift, it makes sense for, I think at the level of m3x86.m3, to force certain register allocation. You know -- if you compile C code to do these operations, add/subtract/compare are inlined and shift/mult/divide are calls out to functions. And I'm not sure..hm..yeah...shifting shows this to be wrong. The changes for shifting must be in stackx86. The original method I suggested..might work in any of the levels..special casing and all.. It just seems like there's a mix of "levels". m3x86 operates on a virtual stack of operands, high level stuff, and passes operands down to codex86.m3, low level stuff. - Jay From: jay.krell at cornell.eduTo: m3devel at elegosoft.comSubject: x86 int64 guidance?Date: Wed, 24 Oct 2007 10:21:52 +0000 I'm looking for guidance on the 64 bit integer support in the x86 code generator.What level does it belong in?The code appears to be in three primary files, that are layered mostly like so:M3x86.m3 Stackx86.m3 Codex86.m3Stackx86 implements, I guess, a "virtual stack" which, I guess, makes certain optimizations easy, stuff like avoiding redundant moves, because the stack knows which register corresponds to which variable.M3x86 does call directly into Codex86, a lot actually.And so of course does Stackx86 (per the layering).There is trafficing in: Operand = RECORD loc: OLoc; mvar: MVar := NoStore; reg: Regno := 0; reg2: Regno := 0; << maybe add this?? imm: INTEGER := 0; stackp: INTEGER := 0; opcode := FALSE; END;notice just one register.These are x86 registers, not some abtract thing.That is what the virtual stack contains.One might imagine the support going one level higher even,implement int64 as a record/struct, but add some notion ofadd-with-carry, sub-with-carry, multiply64, divide64,multiply64x64to32, etc.?You know, when doing add, there's no canonical requiredregister pair to use, they all work, and the upper 32 bits might evenbe thrown out, so don't even necessarily compute them.I'd be a bit wary of the carry surviving though.Or maybe a pseudo register eax_edx should be defined?I'm thinking add reg2 might be easiest, though it seems wrong -- unclean.And always compute the full add/sub/mult/div.Maybe an array of registers? - Jay Peek-a-boo FREE Tricks & Treats for You! Get 'em! _________________________________________________________________ Windows Live Hotmail and Microsoft Office Outlook ? together at last. ?Get it now. http://office.microsoft.com/en-us/outlook/HA102225181033.aspx?pid=CL100626971033 -------------- next part -------------- An HTML attachment was scrubbed... URL: From dabenavidesd at yahoo.es Fri Oct 26 17:49:23 2007 From: dabenavidesd at yahoo.es (Daniel Alejandro Benavides D.) Date: Fri, 26 Oct 2007 17:49:23 +0200 (CEST) Subject: [M3devel] Calling RTHeapStats.ReportReachable(); with Pthread cvs head In-Reply-To: Message-ID: <748965.91443.qm@web27112.mail.ukl.yahoo.com> Hi: Yes it's working very well. I'm sorry for the delay. Thanks. --- Tony Hosking escribi?: > Please try the latest CVS head. > > On Oct 21, 2007, at 6:03 PM, Daniel Alejandro > Benavides D. wrote: > > > Hi: > > Im trying to execute the following program with > the Pthread cvs > > head implementation and I got this when executing > the program: > > > > danielb at danielb-desktop:~/as207/code/m3gdb$ > LINUXLIBC6/Main > > Entre dos enteros6 7 > > Estadisticas del Heap > > HEAP: 0xb73d2000 .. 0xb7412000 => 0.2 Mbytes > > > > > > *** > > *** runtime error: > > *** <*ASSERT*> failed. > > *** file > "../src/thread/PTHREAD/ThreadPThread.m3", line 992 > > *** > > > > Aborted > > danielb at danielb-desktop:~/as207/code/m3gdb$ > > > > The assert violated in > m3core/thread/PTHREAD/ThreadPthread.m3 is this: > > PROCEDURE ProcessOther (act: Activation; p: > PROCEDURE (start, > > stop: ADDRESS)) = > > (* LL=activeMu *) > > VAR > > sp: ADDRESS; > > state: RTMachine.ThreadState; > > BEGIN > > <*ASSERT act.state = ActState.Stopped*> > > > > > > The source code of the little program is this: > > > > MODULE Main; > > > > IMPORT SIO; > > IMPORT RTHeapStats; > > IMPORT RTutils; > > IMPORT RTHeapDebug; > > VAR > > varA, varB, varC: INTEGER; > > > > > > PROCEDURE multiplicar(a,b: INTEGER): INTEGER= > > VAR > > varC: INTEGER; > > BEGIN > > varC:=a*b; > > RETURN varC; > > END multiplicar; > > > > > > BEGIN > > > > SIO.PutText("Entre dos enteros"); > > varA:=SIO.GetInt(); > > varB:=SIO.GetInt(); > > varC:=multiplicar(varA,varB); > > SIO.PutText("Estadisticas del Heap"); > > RTHeapDebug.CheckHeap(); > > RTHeapStats.ReportReachable(); > > (* RTutils.Heap > > > (FALSE,RTutils.HeapPresentation.ByTypecode,TRUE,LAST(CARDINAL));*) > > SIO.PutInt(varC); > > > > END Main. > > > > According to the draft book of Michael Dagenais > Building > > Distributed OO Applications: Modula-3 Objects at > Work, > > RTHeapStats.ReportReachable() > > " ... is called to determine the number > > of active, reachable, objects (i.e. those which > would not be > > garbage collected). Of the 1980 objects on the > heap, only slightly > > more than half are still alive." > > > > According to the interface documentation: > > "reports the number of reachable objects and > bytes from each > > compilation unit, thread stack, and the individual > roots that reach > > the most bytes. The report is written to stderr. > The Modula-3 > > process is frozen during the scanning and > reporting." > > > > Obviously with the previous version of pthread the > things were > > working fine, also with user level implementation > > > > Thanks, > > > > Daniel Benavides > > > > > > S? un Mejor Amante del Cine > > ?Quieres saber c?mo? ?Deja que otras personas te > ayuden! . > > ____________________________________________________________________________________ S? un Mejor Amante del Cine ?Quieres saber c?mo? ?Deja que otras personas te ayuden! http://advision.webevents.yahoo.com/reto/entretenimiento.html From dabenavidesd at yahoo.es Tue Oct 30 07:24:28 2007 From: dabenavidesd at yahoo.es (Daniel Alejandro Benavides D.) Date: Tue, 30 Oct 2007 07:24:28 +0100 (CET) Subject: [M3devel] Calling RTHeapStats.ReportReachable(); with Pthread cvs head In-Reply-To: <748965.91443.qm@web27112.mail.ukl.yahoo.com> Message-ID: <310478.49216.qm@web27114.mail.ukl.yahoo.com> Hi: About this last changes, the runtime can not properly feed shownew, with a @M3shownew=shownew. The program 'a' is just not started as it seems here, altough the window (shownew) does appear, start doesn't respond, and it stays there until aborted. Thanks --- "Daniel Alejandro Benavides D." escribi?: > Hi: > Yes it's working very well. I'm sorry for the delay. > Thanks. > --- Tony Hosking escribi?: > > > Please try the latest CVS head. > > > > On Oct 21, 2007, at 6:03 PM, Daniel Alejandro > > Benavides D. wrote: > > > > > Hi: > > > Im trying to execute the following program with > > the Pthread cvs > > > head implementation and I got this when > executing > > the program: > > > > > > danielb at danielb-desktop:~/as207/code/m3gdb$ > > LINUXLIBC6/Main > > > Entre dos enteros6 7 > > > Estadisticas del Heap > > > HEAP: 0xb73d2000 .. 0xb7412000 => 0.2 Mbytes > > > > > > > > > *** > > > *** runtime error: > > > *** <*ASSERT*> failed. > > > *** file > > "../src/thread/PTHREAD/ThreadPThread.m3", line 992 > > > *** > > > > > > Aborted > > > danielb at danielb-desktop:~/as207/code/m3gdb$ > > > > > > The assert violated in > > m3core/thread/PTHREAD/ThreadPthread.m3 is this: > > > PROCEDURE ProcessOther (act: Activation; p: > > PROCEDURE (start, > > > stop: ADDRESS)) = > > > (* LL=activeMu *) > > > VAR > > > sp: ADDRESS; > > > state: RTMachine.ThreadState; > > > BEGIN > > > <*ASSERT act.state = ActState.Stopped*> > > > > > > > > > The source code of the little program is this: > > > > > > MODULE Main; > > > > > > IMPORT SIO; > > > IMPORT RTHeapStats; > > > IMPORT RTutils; > > > IMPORT RTHeapDebug; > > > VAR > > > varA, varB, varC: INTEGER; > > > > > > > > > PROCEDURE multiplicar(a,b: INTEGER): INTEGER= > > > VAR > > > varC: INTEGER; > > > BEGIN > > > varC:=a*b; > > > RETURN varC; > > > END multiplicar; > > > > > > > > > BEGIN > > > > > > SIO.PutText("Entre dos enteros"); > > > varA:=SIO.GetInt(); > > > varB:=SIO.GetInt(); > > > varC:=multiplicar(varA,varB); > > > SIO.PutText("Estadisticas del Heap"); > > > RTHeapDebug.CheckHeap(); > > > RTHeapStats.ReportReachable(); > > > (* RTutils.Heap > > > > > > (FALSE,RTutils.HeapPresentation.ByTypecode,TRUE,LAST(CARDINAL));*) > > > SIO.PutInt(varC); > > > > > > END Main. > > > > > > According to the draft book of Michael Dagenais > > Building > > > Distributed OO Applications: Modula-3 Objects > at > > Work, > > > RTHeapStats.ReportReachable() > > > " ... is called to determine the number > > > of active, reachable, objects (i.e. those which > > would not be > > > garbage collected). Of the 1980 objects on the > > heap, only slightly > > > more than half are still alive." > > > > > > According to the interface documentation: > > > "reports the number of reachable objects and > > bytes from each > > > compilation unit, thread stack, and the > individual > > roots that reach > > > the most bytes. The report is written to stderr. > > The Modula-3 > > > process is frozen during the scanning and > > reporting." > > > > > > Obviously with the previous version of pthread > the > > things were > > > working fine, also with user level > implementation > > > > > > Thanks, > > > > > > Daniel Benavides > > > > > > > > > S? un Mejor Amante del Cine > > > ?Quieres saber c?mo? ?Deja que otras personas te > > ayuden! . > > > > > > > > > ____________________________________________________________________________________ > S? un Mejor Amante del Cine > ?Quieres saber c?mo? ?Deja que otras personas te > ayuden! > http://advision.webevents.yahoo.com/reto/entretenimiento.html > ______________________________________________ Pregunta, Responde, Descubre. Comparte tus consejos y opiniones con los usuarios de Yahoo! Respuestas http://es.answers.yahoo.com/info/welcome From hosking at cs.purdue.edu Tue Oct 30 16:40:02 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Tue, 30 Oct 2007 11:40:02 -0400 Subject: [M3devel] Calling RTHeapStats.ReportReachable(); with Pthread cvs head In-Reply-To: <310478.49216.qm@web27114.mail.ukl.yahoo.com> References: <310478.49216.qm@web27114.mail.ukl.yahoo.com> Message-ID: <96EA4DCE-DE92-4475-B3F4-273B2ED198C3@cs.purdue.edu> Hmm. showheap works fine for me on my I386_DARWIN box. What platform are you on? On Oct 30, 2007, at 2:24 AM, Daniel Alejandro Benavides D. wrote: > Hi: > About this last changes, the runtime can not properly > feed shownew, with a @M3shownew=shownew. > The program 'a' is just not started as it seems here, > altough the window (shownew) does appear, start > doesn't respond, and it stays there until aborted. > > Thanks > > --- "Daniel Alejandro Benavides D." > escribi?: > >> Hi: >> Yes it's working very well. I'm sorry for the delay. >> Thanks. >> --- Tony Hosking escribi?: >> >>> Please try the latest CVS head. >>> >>> On Oct 21, 2007, at 6:03 PM, Daniel Alejandro >>> Benavides D. wrote: >>> >>>> Hi: >>>> Im trying to execute the following program with >>> the Pthread cvs >>>> head implementation and I got this when >> executing >>> the program: >>>> >>>> danielb at danielb-desktop:~/as207/code/m3gdb$ >>> LINUXLIBC6/Main >>>> Entre dos enteros6 7 >>>> Estadisticas del Heap >>>> HEAP: 0xb73d2000 .. 0xb7412000 => 0.2 Mbytes >>>> >>>> >>>> *** >>>> *** runtime error: >>>> *** <*ASSERT*> failed. >>>> *** file >>> "../src/thread/PTHREAD/ThreadPThread.m3", line 992 >>>> *** >>>> >>>> Aborted >>>> danielb at danielb-desktop:~/as207/code/m3gdb$ >>>> >>>> The assert violated in >>> m3core/thread/PTHREAD/ThreadPthread.m3 is this: >>>> PROCEDURE ProcessOther (act: Activation; p: >>> PROCEDURE (start, >>>> stop: ADDRESS)) = >>>> (* LL=activeMu *) >>>> VAR >>>> sp: ADDRESS; >>>> state: RTMachine.ThreadState; >>>> BEGIN >>>> <*ASSERT act.state = ActState.Stopped*> >>>> >>>> >>>> The source code of the little program is this: >>>> >>>> MODULE Main; >>>> >>>> IMPORT SIO; >>>> IMPORT RTHeapStats; >>>> IMPORT RTutils; >>>> IMPORT RTHeapDebug; >>>> VAR >>>> varA, varB, varC: INTEGER; >>>> >>>> >>>> PROCEDURE multiplicar(a,b: INTEGER): INTEGER= >>>> VAR >>>> varC: INTEGER; >>>> BEGIN >>>> varC:=a*b; >>>> RETURN varC; >>>> END multiplicar; >>>> >>>> >>>> BEGIN >>>> >>>> SIO.PutText("Entre dos enteros"); >>>> varA:=SIO.GetInt(); >>>> varB:=SIO.GetInt(); >>>> varC:=multiplicar(varA,varB); >>>> SIO.PutText("Estadisticas del Heap"); >>>> RTHeapDebug.CheckHeap(); >>>> RTHeapStats.ReportReachable(); >>>> (* RTutils.Heap >>>> >>> >> > (FALSE,RTutils.HeapPresentation.ByTypecode,TRUE,LAST(CARDINAL));*) >>>> SIO.PutInt(varC); >>>> >>>> END Main. >>>> >>>> According to the draft book of Michael Dagenais >>> Building >>>> Distributed OO Applications: Modula-3 Objects >> at >>> Work, >>>> RTHeapStats.ReportReachable() >>>> " ... is called to determine the number >>>> of active, reachable, objects (i.e. those which >>> would not be >>>> garbage collected). Of the 1980 objects on the >>> heap, only slightly >>>> more than half are still alive." >>>> >>>> According to the interface documentation: >>>> "reports the number of reachable objects and >>> bytes from each >>>> compilation unit, thread stack, and the >> individual >>> roots that reach >>>> the most bytes. The report is written to stderr. >>> The Modula-3 >>>> process is frozen during the scanning and >>> reporting." >>>> >>>> Obviously with the previous version of pthread >> the >>> things were >>>> working fine, also with user level >> implementation >>>> >>>> Thanks, >>>> >>>> Daniel Benavides >>>> >>>> >>>> S? un Mejor Amante del Cine >>>> ?Quieres saber c?mo? ?Deja que otras personas te >>> ayuden! . >>> >>> >> >> >> >> >> > ______________________________________________________________________ > ______________ >> S? un Mejor Amante del Cine >> ?Quieres saber c?mo? ?Deja que otras personas te >> ayuden! >> > http://advision.webevents.yahoo.com/reto/entretenimiento.html >> > > > > > ______________________________________________ > Pregunta, Responde, Descubre. > Comparte tus consejos y opiniones con los usuarios de Yahoo! > Respuestas > http://es.answers.yahoo.com/info/welcome From dabenavidesd at yahoo.es Tue Oct 30 17:48:05 2007 From: dabenavidesd at yahoo.es (Daniel Alejandro Benavides D.) Date: Tue, 30 Oct 2007 17:48:05 +0100 (CET) Subject: [M3devel] Calling RTHeapStats.ReportReachable(); with Pthread cvs head Message-ID: <817267.35735.qm@web27105.mail.ukl.yahoo.com> Hi: LINUXLIBC6 32 bits, ubuntu dapper >Hmm. showheap works fine for me on my I386_DARWIN box. What >platform are you on? On Oct 30, 2007, at 2:24 AM, Daniel Alejandro Benavides D. wrote: > Hi: > About this last changes, the runtime can not properly > feed shownew, with a @M3shownew=shownew. > The program 'a' is just not started as it seems here, > altough the window (shownew) does appear, start > doesn't respond, and it stays there until aborted. > > Thanks > > --- "Daniel Alejandro Benavides D." > escribi?: > >> Hi: >> Yes it's working very well. I'm sorry for the delay. >> Thanks. >> --- Tony Hosking escribi?: >> >>> Please try the latest CVS head. >>> >>> On Oct 21, 2007, at 6:03 PM, Daniel Alejandro >>> Benavides D. wrote: >>> >>>> Hi: >>>> Im trying to execute the following program with >>> the Pthread cvs >>>> head implementation and I got this when >> executing >>> the program: >>>> >>>> danielb at danielb-desktop:~/as207/code/m3gdb$ >>> LINUXLIBC6/Main >>>> Entre dos enteros6 7 >>>> Estadisticas del Heap >>>> HEAP: 0xb73d2000 .. 0xb7412000 => 0.2 Mbytes >>>> >>>> >>>> *** >>>> *** runtime error: >>>> *** <*ASSERT*> failed. >>>> *** file >>> "../src/thread/PTHREAD/ThreadPThread.m3", line 992 >>>> *** >>>> >>>> Aborted >>>> danielb at danielb-desktop:~/as207/code/m3gdb$ >>>> >>>> The assert violated in >>> m3core/thread/PTHREAD/ThreadPthread.m3 is this: >>>> PROCEDURE ProcessOther (act: Activation; p: >>> PROCEDURE (start, >>>> stop: ADDRESS)) = >>>> (* LL=activeMu *) >>>> VAR >>>> sp: ADDRESS; >>>> state: RTMachine.ThreadState; >>>> BEGIN >>>> <*ASSERT act.state = ActState.Stopped*> >>>> >>>> >>>> The source code of the little program is this: >>>> >>>> MODULE Main; >>>> >>>> IMPORT SIO; >>>> IMPORT RTHeapStats; >>>> IMPORT RTutils; >>>> IMPORT RTHeapDebug; >>>> VAR >>>> varA, varB, varC: INTEGER; >>>> >>>> >>>> PROCEDURE multiplicar(a,b: INTEGER): INTEGER= >>>> VAR >>>> varC: INTEGER; >>>> BEGIN >>>> varC:=a*b; >>>> RETURN varC; >>>> END multiplicar; >>>> >>>> >>>> BEGIN >>>> >>>> SIO.PutText("Entre dos enteros"); >>>> varA:=SIO.GetInt(); >>>> varB:=SIO.GetInt(); >>>> varC:=multiplicar(varA,varB); >>>> SIO.PutText("Estadisticas del Heap"); >>>> RTHeapDebug.CheckHeap(); >>>> RTHeapStats.ReportReachable(); >>>> (* RTutils.Heap >>>> >>> >> > (FALSE,RTutils.HeapPresentation.ByTypecode,TRUE,LAST(CARDINAL));*) >>>> SIO.PutInt(varC); >>>> >>>> END Main. >>>> >>>> According to the draft book of Michael Dagenais >>> Building >>>> Distributed OO Applications: Modula-3 Objects >> at >>> Work, >>>> RTHeapStats.ReportReachable() >>>> " ... is called to determine the number >>>> of active, reachable, objects (i.e. those which >>> would not be >>>> garbage collected). Of the 1980 objects on the >>> heap, only slightly >>>> more than half are still alive." >>>> >>>> According to the interface documentation: >>>> "reports the number of reachable objects and >>> bytes from each >>>> compilation unit, thread stack, and the >> individual >>> roots that reach >>>> the most bytes. The report is written to stderr. >>> The Modula-3 >>>> process is frozen during the scanning and >>> reporting." >>>> >>>> Obviously with the previous version of pthread >> the >>> things were >>>> working fine, also with user level >> implementation >>>> >>>> Thanks, >>>> >>>> Daniel Benavides --------------------------------- --------------------------------- ?Descubre una nueva forma de obtener respuestas a tus preguntas! Entra en Yahoo! Respuestas. -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Wed Oct 31 13:12:11 2007 From: jay.krell at cornell.edu (Jay) Date: Wed, 31 Oct 2007 12:12:11 +0000 Subject: [M3devel] iterating over sets? Message-ID: Let's say I had TYPE T = SET OF { 0 .. 256 }; Must I say: VAR t: T; FOR i := FIRST(t) TO LAST(t) IF i IN t DO something with i END END Surely there's a better way involving scanning forward for the next bit more than one bit at a time? - Jay _________________________________________________________________ Boo!?Scare away worms, viruses and so much more! Try Windows Live OneCare! http://onecare.live.com/standard/en-us/purchase/trial.aspx?s_cid=wl_hotmailnews -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at cs.purdue.edu Wed Oct 31 16:06:23 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Wed, 31 Oct 2007 11:06:23 -0400 Subject: [M3devel] Solaris lstat st_nlink issue? Re: CVSup questions. In-Reply-To: References: <470F9B23.3050802@polstra.com> <34FFDD05-0343-4595-A6E6-30AAC7520C13@cs.purdue.edu> <471BE5FE.9070702@polstra.com> <0F4262B3-353B-4A6F-939A-4A38F6A70719@cs.purdue.edu> Message-ID: <72211562-F61C-4008-8BFA-FC77FEF535EB@cs.purdue.edu> Thanks, this was useful. I'm not sure when it happened but Solaris now defines nlink_t=long. This program now seems to do the right thing. I'll check in the updated now. On Oct 25, 2007, at 9:40 PM, Alex Bochannek wrote: > OK, just for laughs, I just tried this. Simple program: > > UNSAFE MODULE Main; > > IMPORT Ustat, Fmt, IO, M3toC; > > VAR stat: Ustat.struct_stat; > ret: INTEGER; > > BEGIN > ret := Ustat.lstat(M3toC.CopyTtoS("/tmp"), ADR(stat)); > IO.Put(Fmt.Unsigned(stat.st_nlink) & "\n"); > ret := Ustat.lstat(M3toC.CopyTtoS("/tmp/foo"), ADR(stat)); > IO.Put(Fmt.Unsigned(stat.st_nlink) & "\n"); > END Main. > > I run it and the output is: > > 0 > 0 > > Alex. From alexb at juniper.net Wed Oct 31 17:44:22 2007 From: alexb at juniper.net (Alex Bochannek) Date: Wed, 31 Oct 2007 09:44:22 -0700 Subject: [M3devel] Solaris lstat st_nlink issue? Re: CVSup questions. In-Reply-To: <72211562-F61C-4008-8BFA-FC77FEF535EB@cs.purdue.edu> (Tony Hosking's message of "Wed\, 31 Oct 2007 11\:06\:23 -0400") References: <470F9B23.3050802@polstra.com> <34FFDD05-0343-4595-A6E6-30AAC7520C13@cs.purdue.edu> <471BE5FE.9070702@polstra.com> <0F4262B3-353B-4A6F-939A-4A38F6A70719@cs.purdue.edu> <72211562-F61C-4008-8BFA-FC77FEF535EB@cs.purdue.edu> Message-ID: Tony Hosking writes: > Thanks, this was useful. I'm not sure when it happened but Solaris > now defines nlink_t=long. This program now seems to do the right > thing. I'll check in the updated now. >From what I can find Solaris has always had typedef ulong nlink_t. What I suspect happened here is that long != int on 64 bit Solaris. Alex. From rodney.bates at wichita.edu Wed Oct 31 22:22:26 2007 From: rodney.bates at wichita.edu (Rodney M. Bates) Date: Wed, 31 Oct 2007 15:22:26 -0600 Subject: [M3devel] iterating over sets? In-Reply-To: References: Message-ID: <4728F212.6040009@wichita.edu> I don't think it's by any means trivial. I have a set-of-integer module that handles heap-allocated sets of integers whose base range is nonstatic, and it does it essentially the way you give. It's a real mess. I converted it some years back from Modula-2, then started changing its design piecemeal, as needed by one application, so it's full of inconsistencies. I started writing a complete replacement, but have never gotten back to it. I planned to do some low-level bit-twiddling stuff for this problem, but that's down in to-be-implemented procedures. My plan is to do binary search within a word for the next nonzero bit by masking out half a Word.T, then testing it for all zero, etc., going to fourths, eighths, etc. subsequently. I plan to code it looplessly, i.e., as a tree of IFs, since a word has static size on a given machine. I thought about a way to code it that would auto-adapt to different word sizes, but don't remember that I had come up with one. For the M3 language-provided set types, I suppose something similar could be done in an unsafe module, but it would be dependent on knowing how the compiler represented the sets and LOOPHOLEing to arrays of Word.T. For the different words of a set, I think looping through them is probably the best you can do. Of course, an all-zero test on a word can be done in constant time, and is in fact, just the zero-th step of the binary-search strategy I mentioned. My partially-implemented module trims words that are all-zero off both ends, whenever they can be located without unnecessary extra work. Even so, there still can be properly embedded zero words. Trying to go beyond this starts to make it work more like the existing library Sets module, which I would expect to be better if the sets are quite sparse, but much worse (at least in space) if dense. Jay wrote: > Let's say I had > > TYPE T = SET OF { 0 .. 256 }; > > Must I say: > > VAR t: T; > FOR i := FIRST(t) TO LAST(t) > IF i IN t DO > something with i > END > END > > Surely there's a better way involving scanning forward for the next bit > more than one bit at a time? > > - Jay > > > ------------------------------------------------------------------------ > Boo! Scare away worms, viruses and so much more! Try Windows Live > OneCare! Try now! > -- ------------------------------------------------------------- Rodney M. Bates, retired assistant professor Dept. of Computer Science, Wichita State University Wichita, KS 67260-0083 316-978-3922 rodney.bates at wichita.edu From lemming at henning-thielemann.de Wed Oct 31 23:09:11 2007 From: lemming at henning-thielemann.de (Henning Thielemann) Date: Wed, 31 Oct 2007 23:09:11 +0100 (CET) Subject: [M3devel] iterating over sets? In-Reply-To: References: Message-ID: On Wed, 31 Oct 2007, Jay wrote: > Let's say I had > > TYPE T = SET OF { 0 .. 256 }; > > Must I say: > > VAR t: T; > FOR i := FIRST(t) TO LAST(t) > IF i IN t DO > something with i > END > END You may speed up search by splitting the set into subsets. E.g. IF t * T{16..31} = T{} THEN skip this block completely ELSE inspect that block in detail END;