From rodney.bates at wichita.edu Fri Jun 1 22:57:35 2007 From: rodney.bates at wichita.edu (Rodney M. Bates) Date: Fri, 01 Jun 2007 15:57:35 -0500 Subject: [M3devel] Progress bootstrapping, but still trouble In-Reply-To: <4659B097.5040908@wichita.edu> References: <4659B097.5040908@wichita.edu> Message-ID: <4660883F.6030503@wichita.edu> My first problem bootstrapping cm3: ThreadPosix.i3: missing object types: _t1541f475 imported by: TimeStamp.m3 goes away when I either 1) delete the entire cm3 distribution and do a fresh cvs checkout, or 2) do a 'do-cm3-std.sh realclean'. Thanks to Antony for making me aware of 'realclean', which I hadn't known about. I have never been able to satisfactorily clean a cm3 tree before, with 'clean' giving lots of failure messages and removing things inside LINUXLIBC6 build directories leaving things unable to build due to missing files. My second problem: rodney at runnymede:/usr/local/cm3/bin$ file m3bundle m3bundle: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped rodney at runnymede:/usr/local/cm3/bin$ ./m3bundle -bash: ./m3bundle: No such file or directory went away after some work on finding libpthreads. Thanks to Daniel's web page for getting me to looking at libpthreads. My cm3.cfg already had, inside SYSTEM_LIBS, the line: "PTHREAD" : [ "-Xlinker", "-Bdynamic", "-L/lib", "-lpthread" ], For one thing, there are three places in my distribution with non-link versions of libpthread*.so: /lib, /lib/i686, and /usr/lib. They are all different in size, and I have no clue what the differences are, but only /usr/lib has a link named libpthread.so, so I guessed that was the right place and changed cm3.cfg to look there. That didn't change anything, (same size executable), but removing the "-Xlinker", "-Bdynamic", made cm3 compile an executable for m3bundle and other things that will load and run. There is a libpthread.a in /usr/lib (and nowhere else that I found.) But this is apparently not the whole story with libraries. Another program compiles to an executable with the same problem, i.e., attempts to execute it give -bash: ./LdlBatch: No such file or directory. The other lines in my SYSTEM_LIBS also had -Xlinker", "-Bdynamic", but removing them fro"X11" line gives me this: new "Version.io" -> linking LdlBatch /usr/local/cm3/pkg/ui/LINUXLIBC6/libm3ui.a(TrestleOS.mo): In function `TrestleOS__UserName': /home/rodney/proj/m3/cm3-fresh/cm3/m3-ui/ui/LINUXLIBC6/TrestleOS.m3:32: warning: Using 'getpwuid' in statically linked applications requires at runtime the shared libraries from theglibc version used for linking /usr/lib/libX11.a(x11_trans.o): In function `_X11TransSocketOpen': /usr/include/X11/Xtrans/Xtranssock.c:468: warning: Using 'getaddrinfo' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /usr/lib/libX11.a(imLcIm.o): In function `_XimWriteCachedDefaultTree': /usr/src/rpm/BUILD/libX11-1.0.3/modules/im/ximcp/imLcIm.c:476: warning: memset used with constant zero length parameter; this could be due to transposed parameters /usr/local/cm3/pkg/tcp/LINUXLIBC6/libm3tcp.a(IP.mo): In function `IP__GetCanonicalByAddr': /home/rodney/proj/m3/cm3-fresh/cm3/m3-comm/tcp/LINUXLIBC6/IP.m3:53: warning: Using 'gethostbyaddr' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /usr/local/cm3/pkg/tcp/LINUXLIBC6/libm3tcp.a(IP.mo): In function `IP__GetHostByName': /home/rodney/proj/m3/cm3-fresh/cm3/m3-comm/tcp/LINUXLIBC6/IP.m3:21: warning: Using 'gethostbyname' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /usr/lib/libX11.a(x11_trans.o): In function `_X11TransSocketINETConnect': /usr/include/X11/Xtrans/Xtranssock.c:1670: warning: Using 'getservbyname' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /usr/lib/libX11.a(ConnDis.o): In function `GetAuthorization': /usr/src/rpm/BUILD/libX11-1.0.3/src/ConnDis.c:1232: undefined reference to `XauDisposeAuth' /usr/src/rpm/BUILD/libX11-1.0.3/src/ConnDis.c:1037: undefined reference to `XauGetBestAuthByAddr' /usr/src/rpm/BUILD/libX11-1.0.3/src/ConnDis.c:1176: undefined reference to `XdmcpWrap' /usr/lib/libX11.a(CrGlCur.o): In function `open_library': /usr/src/rpm/BUILD/libX11-1.0.3/src/CrGlCur.c:72: undefined reference to `dlopen' /usr/lib/libX11.a(CrGlCur.o): In function `fetch_symbol': /usr/src/rpm/BUILD/libX11-1.0.3/src/CrGlCur.c:107: undefined reference to `dlsym' /usr/src/rpm/BUILD/libX11-1.0.3/src/CrGlCur.c:109: undefined reference to `dlsym' collect2: ld returned 1 exit status Fatal Error: package build failed Anyone have any ideas on why neither dynamic nor static linking works, or how to figure out what version of the libraries I need? Better yet, can anyone point me to some real documentation on Linux dynamic linking in general? I've always been overwhelmed with false hits when trying to find it with a search engine. -- ------------------------------------------------------------- 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 Jun 1 23:10:47 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Fri, 1 Jun 2007 17:10:47 -0400 Subject: [M3devel] Progress bootstrapping, but still trouble In-Reply-To: <4660883F.6030503@wichita.edu> References: <4659B097.5040908@wichita.edu> <4660883F.6030503@wichita.edu> Message-ID: <2EB5C3FA-9082-4875-8BA8-F439524E2B1B@cs.purdue.edu> I'm not sure about the details of you system, but you may find the attached cm3.cfg for LINUXLIBC6 to be useful. It works for me on Fedora Core. You should modify the paths as appropriate for your Linux installation. -------------- next part -------------- A non-text attachment was scrubbed... Name: cm3.cfg Type: application/octet-stream Size: 12122 bytes Desc: not available URL: -------------- next part -------------- On Jun 1, 2007, at 4:57 PM, Rodney M. Bates wrote: > My first problem bootstrapping cm3: > > ThreadPosix.i3: missing object types: _t1541f475 > imported by: TimeStamp.m3 > > goes away when I either 1) delete the entire cm3 distribution and > do a fresh cvs checkout, > or 2) do a 'do-cm3-std.sh realclean'. > > Thanks to Antony for making me aware of 'realclean', which I hadn't > known about. I have never > been able to satisfactorily clean a cm3 tree before, with 'clean' > giving lots of failure messages > and removing things inside LINUXLIBC6 build directories leaving > things unable to build due to > missing files. > > My second problem: > > rodney at runnymede:/usr/local/cm3/bin$ file m3bundle > m3bundle: ELF 32-bit LSB executable, Intel 80386, version 1 > (SYSV), for GNU/Linux 2.6.9, > dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not > stripped > rodney at runnymede:/usr/local/cm3/bin$ ./m3bundle > -bash: ./m3bundle: No such file or directory > > went away after some work on finding libpthreads. Thanks to > Daniel's web page for getting me > to looking at libpthreads. > > My cm3.cfg already had, inside SYSTEM_LIBS, the line: > > "PTHREAD" : [ "-Xlinker", "-Bdynamic", "-L/lib", "-lpthread" ], > > For one thing, there are three places in my distribution with non- > link versions of libpthread*.so: > /lib, /lib/i686, and /usr/lib. They are all different in size, and > I have no clue what the > differences are, but only /usr/lib has a link named libpthread.so, > so I guessed that was the > right place and changed cm3.cfg to look there. > > That didn't change anything, (same size executable), but removing > the "-Xlinker", "-Bdynamic", made > cm3 compile an executable for m3bundle and other things that will > load and run. There is a > libpthread.a in /usr/lib (and nowhere else that I found.) > > But this is apparently not the whole story with libraries. > Another program compiles to an executable with the same problem, > i.e., attempts > to execute it give -bash: ./LdlBatch: No such file or directory. > The other lines > in my SYSTEM_LIBS also had -Xlinker", "-Bdynamic", but removing > them fro"X11" line > gives me this: > > new "Version.io" -> linking LdlBatch > /usr/local/cm3/pkg/ui/LINUXLIBC6/libm3ui.a(TrestleOS.mo): In > function `TrestleOS__UserName': > /home/rodney/proj/m3/cm3-fresh/cm3/m3-ui/ui/LINUXLIBC6/ > TrestleOS.m3:32: warning: Using 'getpwuid' in statically linked > applications requires at runtime the shared libraries from theglibc > version used for linking > /usr/lib/libX11.a(x11_trans.o): In function `_X11TransSocketOpen': > /usr/include/X11/Xtrans/Xtranssock.c:468: warning: Using > 'getaddrinfo' in statically linked applications requires at runtime > the shared libraries from the glibc version used for linking > /usr/lib/libX11.a(imLcIm.o): In function `_XimWriteCachedDefaultTree': > /usr/src/rpm/BUILD/libX11-1.0.3/modules/im/ximcp/imLcIm.c:476: > warning: memset used with constant zero length parameter; this > could be due to transposed parameters > /usr/local/cm3/pkg/tcp/LINUXLIBC6/libm3tcp.a(IP.mo): In function > `IP__GetCanonicalByAddr': > /home/rodney/proj/m3/cm3-fresh/cm3/m3-comm/tcp/LINUXLIBC6/IP.m3:53: > warning: Using 'gethostbyaddr' in statically linked applications > requires at runtime the shared libraries from the glibc version > used for linking > /usr/local/cm3/pkg/tcp/LINUXLIBC6/libm3tcp.a(IP.mo): In function > `IP__GetHostByName': > /home/rodney/proj/m3/cm3-fresh/cm3/m3-comm/tcp/LINUXLIBC6/IP.m3:21: > warning: Using 'gethostbyname' in statically linked applications > requires at runtime the shared libraries from the glibc version > used for linking > /usr/lib/libX11.a(x11_trans.o): In function > `_X11TransSocketINETConnect': > /usr/include/X11/Xtrans/Xtranssock.c:1670: warning: Using > 'getservbyname' in statically linked applications requires at > runtime the shared libraries from the glibc version used for linking > /usr/lib/libX11.a(ConnDis.o): In function `GetAuthorization': > /usr/src/rpm/BUILD/libX11-1.0.3/src/ConnDis.c:1232: undefined > reference to `XauDisposeAuth' > /usr/src/rpm/BUILD/libX11-1.0.3/src/ConnDis.c:1037: undefined > reference to `XauGetBestAuthByAddr' > /usr/src/rpm/BUILD/libX11-1.0.3/src/ConnDis.c:1176: undefined > reference to `XdmcpWrap' > /usr/lib/libX11.a(CrGlCur.o): In function `open_library': > /usr/src/rpm/BUILD/libX11-1.0.3/src/CrGlCur.c:72: undefined > reference to `dlopen' > /usr/lib/libX11.a(CrGlCur.o): In function `fetch_symbol': > /usr/src/rpm/BUILD/libX11-1.0.3/src/CrGlCur.c:107: undefined > reference to `dlsym' > /usr/src/rpm/BUILD/libX11-1.0.3/src/CrGlCur.c:109: undefined > reference to `dlsym' > collect2: ld returned 1 exit status > Fatal Error: package build failed > > Anyone have any ideas on why neither dynamic nor static linking > works, or how to figure out what > version of the libraries I need? Better yet, can anyone point me > to some real documentation on > Linux dynamic linking in general? I've always been overwhelmed > with false hits when trying to find > it with a search engine. > > > > > > > > > > -- > ------------------------------------------------------------- > 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 ronny.forberger at elegosoft.com Fri Jun 1 23:53:59 2007 From: ronny.forberger at elegosoft.com (Ronny Forberger) Date: Fri, 01 Jun 2007 23:53:59 +0200 Subject: [M3devel] [cm3] [partially-solved] unresolved pthread symbols during bootstrap In-Reply-To: <20070530234204.77087.qmail@web27115.mail.ukl.yahoo.com> References: <20070530234204.77087.qmail@web27115.mail.ukl.yahoo.com> Message-ID: <46609577.9040600@elegosoft.com> Hi, the pthread symbol problem has solved for me. I was using development version of cm3. Now having checked out release_cm3_5_4_0 the symbols weren't needed, not even it was necessary to add PTHREAD to any array in cm3.cfg. But I now getting another issue: Though the build process successfully went though the ./do-cm3-core.sh buildship ./install-cm3-compiler.sh upgrade ./do-cm3-std.sh buildship commands, I can't see m3build binary having been built or installed. The documentation couldn't give me any answer on here as well. Have you got ideas again ? Thank you. Ronny Daniel Alejandro Benavides D. wrote: > Hi, > Looks that you haven't used the SYSTEM_LIBORDER array, > must be "PTHREAD" there in order to really link it. > > Maybe this little guide can help. Can have several > omissions, but It works well in (K)ubuntu 6.06 and > 6.10 > http://es.geocities.com/dabenavidesd/InstallationGuidecm3-Modula-3.html#SECTION00033000000000000000 > > > --- Ronny Forberger > wrote: > >> Dear m3-Developers, >> >> I could not successfully build the cm3 compiler when >> invoking >> >> >> >> >>> ./do-cm3-std.sh buildship >>> >> from the script directory as described in the >> documentation. >> >> The build process stops by the following: >> >> >>> === package /root/cm3/m3-sys/m3cgcat === >>> +++ cm3 -build -DROOT='/root/cm3' && cm3 -ship >>> >> -DROOT='/root/cm3' +++ >> >>> --- building in LINUXLIBC6 --- >>> >>> ignoring ../src/m3overrides >>> >>> -> linking m3cgcat >>> >>> > /usr/local/cm3/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): > >> In >> >>> function `ThreadPThread__InnerLockMutex': >>> >>> > /root/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:142: > >> undefined >> >>> reference to `pthread_cond_wait' >>> >>> >> [ some similar lines removed ] >> >> >>> > /usr/local/cm3/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): > >> In >> >>> function `RTHooks__PushEFrame': >>> >>> > /root/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1429: > >> undefined >> >>> reference to `pthread_getspecific' >>> >>> > /root/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1430: > >> undefined >> >>> reference to `pthread_setspecific' >>> >>> > /usr/local/cm3/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): > >> In >> >>> function `RTHooks__PopEFrame': >>> >>> > /root/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1437: > >> undefined >> >>> reference to `pthread_setspecific' >>> >>> > /usr/local/cm3/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): > >> In >> >>> function `ThreadPThread__InitHandlers': >>> >>> > /root/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1442: > >> undefined >> >>> reference to `pthread_key_create' >>> >>> > /root/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1443: > >> undefined >> >>> reference to `pthread_setspecific' >>> >>> > /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libc.a(vfork.o): > >> In >> >>> function `vfork': >>> (.text+0x1): undefined reference to >>> >> `pthread_create' >> >>> collect2: ld returned 1 exit status >>> Fatal Error: package build failed >>> *** execution of failed *** >>> >> Looks like gcc cannot link against the pthread-lib. >> >> I have already added >> >> >>> "PTHREAD" : [ "-L/usr/lib", "-lpthread" ] >>> >> to the SYSTEM_LIBS array in cm3.cfg. >> >> This is a Debian 4.0 'etch' system (x86) where >> libpthread.a resides in >> /usr/lib. >> >> I can build trivial C programs like gcc foo.c -L >> /usr/lib -lpthread >> arccordingly which become linked against >> libpthread.a properly. >> >> >> Do you have any glues? >> >> Best regards, >> >> Ronny >> >> -- >> Ronny Forberger >> Systemadministrator >> >> elego Software Solutions GmbH >> ronny.forberger(at)elegosoft.com >> Ohmstra?e 9, 10179 Berlin HRB 77719 >> Tel.: +49 30 23 45 86 96 Amtsgericht >> Charlottenburg >> Fax: +49 30 23 45 86 95 Sitz der >> Gesellschaft: Berlin >> http://www.elegosoft.com >> Gesch?ftsf?hrer: Olaf Wagner >> >> Bitte senden Sie Ihre technischen Support-Anfragen >> an admins(at)elego.de . >> >> >> > > > > > ______________________________________________ > LLama Gratis a cualquier PC del Mundo. > Llamadas a fijos y m?viles desde 1 c?ntimo por minuto. > http://es.voice.yahoo.com > -- Ronny Forberger Systemadministrator elego Software Solutions GmbH ronny.forberger(at)elegosoft.com Ohmstra??e 9, 10179 Berlin HRB 77719 Tel.: +49 30 23 45 86 96 Amtsgericht Charlottenburg Fax: +49 30 23 45 86 95 Sitz der Gesellschaft: Berlin http://www.elegosoft.com Gesch?EURftsf?OEhrer: Olaf Wagner Bitte senden Sie Ihre technischen Support-Anfragen an admins(at)elego.de . -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at cs.purdue.edu Sat Jun 2 00:00:20 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Fri, 1 Jun 2007 18:00:20 -0400 Subject: [M3devel] [cm3] [partially-solved] unresolved pthread symbols during bootstrap In-Reply-To: <46609577.9040600@elegosoft.com> References: <20070530234204.77087.qmail@web27115.mail.ukl.yahoo.com> <46609577.9040600@elegosoft.com> Message-ID: <044271FE-469C-4076-9FB8-A50C4FEB1122@cs.purdue.edu> m3build is from the old PM3 system. You use cm3 as the new compiler with the CM3 distribution. On Jun 1, 2007, at 5:53 PM, Ronny Forberger wrote: > Hi, > > the pthread symbol problem has solved for me. I was using > development version of cm3. Now having checked out > release_cm3_5_4_0 the symbols weren't needed, not even it was > necessary to add PTHREAD to any array in cm3.cfg. > > But I now getting another issue: > > Though the build process successfully went though the > > ./do-cm3-core.sh buildship > ./install-cm3-compiler.sh upgrade > ./do-cm3-std.sh buildship > > commands, I can't see m3build binary having been built or installed. > > The documentation couldn't give me any answer on here as well. > > Have you got ideas again ? > > Thank you. > > Ronny > > > > > > > Daniel Alejandro Benavides D. wrote: >> Hi, Looks that you haven't used the SYSTEM_LIBORDER array, must be >> "PTHREAD" there in order to really link it. Maybe this little >> guide can help. Can have several omissions, but It works well in >> (K)ubuntu 6.06 and 6.10 http://es.geocities.com/dabenavidesd/ >> InstallationGuidecm3-Modula-3.html#SECTION00033000000000000000 --- >> Ronny Forberger wrote: >>> Dear m3-Developers, I could not successfully build the cm3 >>> compiler when invoking >>>> ./do-cm3-std.sh buildship >>> from the script directory as described in the documentation. The >>> build process stops by the following: >>>> === package /root/cm3/m3-sys/m3cgcat === +++ cm3 -build -DROOT='/ >>>> root/cm3' && cm3 -ship >>> -DROOT='/root/cm3' +++ >>>> --- building in LINUXLIBC6 --- ignoring ../src/m3overrides -> >>>> linking m3cgcat >> /usr/local/cm3/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): >>> In >>>> function `ThreadPThread__InnerLockMutex': >> /root/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:142: >>> undefined >>>> reference to `pthread_cond_wait' >>> [ some similar lines removed ] >> /usr/local/cm3/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): >>> In >>>> function `RTHooks__PushEFrame': >> /root/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1429: >>> undefined >>>> reference to `pthread_getspecific' >> /root/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1430: >>> undefined >>>> reference to `pthread_setspecific' >> /usr/local/cm3/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): >>> In >>>> function `RTHooks__PopEFrame': >> /root/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1437: >>> undefined >>>> reference to `pthread_setspecific' >> /usr/local/cm3/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): >>> In >>>> function `ThreadPThread__InitHandlers': >> /root/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1442: >>> undefined >>>> reference to `pthread_key_create' >> /root/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1443: >>> undefined >>>> reference to `pthread_setspecific' >> /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libc.a(vfork.o): >>> In >>>> function `vfork': (.text+0x1): undefined reference to >>> `pthread_create' >>>> collect2: ld returned 1 exit status Fatal Error: package build >>>> failed *** execution of failed *** >>> Looks like gcc cannot link against the pthread-lib. I have >>> already added >>>> "PTHREAD" : [ "-L/usr/lib", "-lpthread" ] >>> to the SYSTEM_LIBS array in cm3.cfg. This is a Debian 4.0 'etch' >>> system (x86) where libpthread.a resides in /usr/lib. I can build >>> trivial C programs like gcc foo.c -L /usr/lib -lpthread >>> arccordingly which become linked against libpthread.a properly. >>> Do you have any glues? Best regards, Ronny -- Ronny Forberger >>> Systemadministrator elego Software Solutions GmbH ronny.forberger >>> (at)elegosoft.com Ohmstra?e 9, 10179 Berlin HRB 77719 Tel.: +49 >>> 30 23 45 86 96 Amtsgericht Charlottenburg Fax: +49 30 23 45 86 95 >>> Sitz der Gesellschaft: Berlin http://www.elegosoft.com >>> Gesch?ftsf?hrer: Olaf Wagner Bitte senden Sie Ihre technischen >>> Support-Anfragen an admins(at)elego.de . >> ______________________________________________ LLama Gratis a >> cualquier PC del Mundo. Llamadas a fijos y m?viles desde 1 >> c?ntimo por minuto. http://es.voice.yahoo.com > > > -- Ronny Forberger Systemadministrator elego Software Solutions > GmbH ronny.forberger(at)elegosoft.com Ohmstra??e 9, 10179 Berlin > HRB 77719 Tel.: +49 30 23 45 86 96 Amtsgericht Charlottenburg Fax: > +49 30 23 45 86 95 Sitz der Gesellschaft: Berlin http:// > www.elegosoft.com Gesch??ftsf??hrer: Olaf Wagner Bitte senden > Sie Ihre technischen Support-Anfragen an admins(at)elego.de . From ronny.forberger at elegosoft.com Mon Jun 4 12:27:40 2007 From: ronny.forberger at elegosoft.com (Ronny Forberger) Date: Mon, 04 Jun 2007 12:27:40 +0200 Subject: [M3devel] errors building cvsup wih cm3 Message-ID: <4663E91C.1090701@elegosoft.com> Hi there, since I've been able to build the cm3 compiler successfully on Debian Linux 'etch' x86, I'm faced up to some other build problem: When trying to build cvsup-snap-16.1h from sources using cm3 my build process stops by the following error: > make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/suptcp' > cm3 > --- building in LINUXLIBC6 --- > > > Fatal Error: duplicate unit: > /usr/local/cm3/pkg/tcp/src/POSIX/SockOpt.i3 ../src/POSIX/SockOpt.i3 > > make[2]: *** [all] Error 1 > make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/suptcp' > ===> suplib > make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/suplib' > cm3 > --- building in LINUXLIBC6 --- > > new source -> compiling TokScan.i3 > "../src/TokScan.i3", line 36: unable to find interface (IP) > 1 error encountered > new source -> compiling FileAttr.i3 > "../src/FileAttr.i3", line 33: imported interface contains errors > (TokScan) > 1 error encountered > new source -> compiling FileAttrRep.i3 > "../src/FileAttrRep.i3", line 33: imported interface contains errors > (FileAttr) > 1 error encountered > new source -> compiling FileAttrOS.m3 > "../src/POSIX/FileAttrOS.m3", line 31: imported interface contains > errors (FileAttr) > "../src/POSIX/FileAttrOS.m3", line 31: imported interface contains > errors (FileAttrRep) > 2 errors encountered > new source -> compiling SupFileRec.i3 > "../src/SupFileRec.i3", line 36: imported interface contains errors > (FileAttr) > "../src/SupFileRec.i3", line 37: imported interface contains errors > (TokScan) > 2 errors encountered > new source -> compiling SupMisc.i3 > "../src/SupMisc.i3", line 37: unable to find interface (IP) > "../src/SupMisc.i3", line 37: imported interface contains errors > (SupFileRec) > "../src/SupMisc.i3", line 39: unable to find interface (SupTCP) > 3 errors encountered > new source -> compiling PathComp.m3 > "../src/PathComp.m3", line 33: imported interface contains errors > (SupMisc) > 1 error encountered > new source -> compiling ChannelMux.i3 > "../src/ChannelMux.i3", line 33: unable to find interface (IP) > "../src/ChannelMux.i3", line 34: unable to find interface (SupConnFD) > 2 errors encountered > new source -> compiling ChannelMux.m3 > "../src/ChannelMux.m3", line 32: imported interface contains errors > (ChannelMux) > "../src/ChannelMux.m3", line 35: unable to find interface (IP) > "../src/ChannelMux.m3", line 35: unable to find interface (TCP) > "../src/ChannelMux.m3", line 36: unable to find interface (SupConnFD) > 4 errors encountered > new source -> compiling AuthMD5.i3 > "../src/AuthMD5.i3", line 33: unable to find interface (IP) > 1 error encountered > new source -> compiling AuthMD5.m3 > "../src/AuthMD5.m3", line 31: imported interface contains errors (AuthMD5) > "../src/AuthMD5.m3", line 33: unable to find interface (IP) > 2 errors encountered > new source -> compiling TokScan.m3 > "../src/TokScan.m3", line 31: imported interface contains errors (TokScan) > "../src/TokScan.m3", line 34: unable to find interface (IP) > "../src/TokScan.m3", line 34: imported interface contains errors (SupMisc) > 3 errors encountered > new source -> compiling DevT.i3 > "../src/DevT.i3", line 38: imported interface contains errors (TokScan) > 1 error encountered > new source -> compiling UnixMisc.i3 > "../src/UnixMisc.i3", line 35: unable to find interface (IP) > 1 error encountered > new source -> compiling FileAttr.m3 > "../src/FileAttr.m3", line 31: imported interface contains errors > (FileAttr) > "../src/FileAttr.m3", line 31: imported interface contains errors > (FileAttrRep) > "../src/FileAttr.m3", line 34: imported interface contains errors (DevT) > "../src/FileAttr.m3", line 35: imported interface contains errors > (SupMisc) > "../src/FileAttr.m3", line 36: imported interface contains errors > (TokScan) > "../src/FileAttr.m3", line 36: imported interface contains errors > (UnixMisc) > 6 errors encountered > new source -> compiling FileID.i3 > "../src/FileID.i3", line 33: imported interface contains errors (FileAttr) > 1 error encountered > new source -> compiling FileID.m3 > "../src/FileID.m3", line 31: imported interface contains errors (FileID) > "../src/FileID.m3", line 34: imported interface contains errors (DevT) > "../src/FileID.m3", line 34: imported interface contains errors (FileAttr) > "../src/FileID.m3", line 34: imported interface contains errors > (FileAttrRep) > 4 errors encountered > new source -> compiling CVProto.i3 > "../src/CVProto.i3", line 33: imported interface contains errors > (FileAttr) > "../src/CVProto.i3", line 33: imported interface contains errors (TokScan) > 2 errors encountered > new source -> compiling CVProto.m3 > "../src/CVProto.m3", line 35: imported interface contains errors (CVProto) > "../src/CVProto.m3", line 38: imported interface contains errors (SupMisc) > "../src/CVProto.m3", line 38: imported interface contains errors (TokScan) > 3 errors encountered > new source -> compiling ErrMsg.m3 > "../src/ErrMsg.m3", line 34: unable to find interface (IP) > "../src/ErrMsg.m3", line 34: imported interface contains errors (TokScan) > "../src/ErrMsg.m3", line 36: unable to find interface (SupTCP) > 3 errors encountered > new source -> compiling DirEntry.i3 > "../src/DirEntry.i3", line 37: imported interface contains errors > (FileAttr) > 1 error encountered > new source -> compiling DirEntry.m3 > "../src/DirEntry.m3", line 31: imported interface contains errors > (DirEntry) > 1 error encountered > new source -> compiling DirEntryList.i3 > "../LINUXLIBC6/DirEntryList.i3 => > /usr/local/cm3/pkg/libm3/src/list/List.ig", line 29: imported > interface contains errors (DirEntry) > 1 error encountered > new source -> compiling DirEntryList.m3 > "../LINUXLIBC6/DirEntryList.m3", line 3: imported interface contains > errors (DirEntryList) > "../LINUXLIBC6/DirEntryList.m3 => > /usr/local/cm3/pkg/libm3/src/list/List.mg", line 11: imported > interface contains errors (DirEntry) > 2 errors encountered > new source -> compiling DirEntryListSort.i3 > "../LINUXLIBC6/DirEntryListSort.i3 => > /usr/local/cm3/pkg/libm3/src/list/ListSort.ig", line 28: imported > interface contains errors (DirEntry) > "../LINUXLIBC6/DirEntryListSort.i3 => > /usr/local/cm3/pkg/libm3/src/list/ListSort.ig", line 28: imported > interface contains errors (DirEntryList) > 2 errors encountered > new source -> compiling DirEntryListSort.m3 > "../LINUXLIBC6/DirEntryListSort.m3", line 3: imported interface > contains errors (DirEntryListSort) > "../LINUXLIBC6/DirEntryListSort.m3 => > /usr/local/cm3/pkg/libm3/src/list/ListSort.mg", line 10: imported > interface contains errors (DirEntry) > 2 errors encountered > new source -> compiling RCSDate.m3 > "../src/RCSDate.m3", line 34: imported interface contains errors (TokScan) > 1 error encountered > new source -> compiling RCSFile.i3 > "../src/RCSFile.i3", line 37: imported interface contains errors > (FileAttr) > 1 error encountered > new source -> compiling RCSDeltaClass.i3 > "../src/RCSDeltaClass.i3", line 37: imported interface contains errors > (RCSFile) > 1 error encountered > new source -> compiling RCSDelta.m3 > "../src/RCSDelta.m3", line 31: imported interface contains errors > (RCSDeltaClass) > "../src/RCSDelta.m3", line 34: imported interface contains errors > (RCSFile) > "../src/RCSDelta.m3", line 35: imported interface contains errors > (TokScan) > 3 errors encountered > new source -> compiling RCSKeyword.m3 > "../src/RCSKeyword.m3", line 34: imported interface contains errors > (RCSDeltaClass) > "../src/RCSKeyword.m3", line 35: imported interface contains errors > (SupMisc) > 2 errors encountered > new source -> compiling RCSFile.m3 > "../src/RCSFile.m3", line 31: imported interface contains errors (RCSFile) > "../src/RCSFile.m3", line 34: imported interface contains errors > (FileAttr) > "../src/RCSFile.m3", line 36: imported interface contains errors > (RCSDeltaClass) > "../src/RCSFile.m3", line 39: imported interface contains errors (TokScan) > "../src/RCSFile.m3", line 39: imported interface contains errors > (UnixMisc) > 5 errors encountered > new source -> compiling SupFileRec.m3 > "../src/SupFileRec.m3", line 31: imported interface contains errors > (SupFileRec) > "../src/SupFileRec.m3", line 34: imported interface contains errors > (FileAttr) > "../src/SupFileRec.m3", line 35: imported interface contains errors > (TokScan) > 3 errors encountered > new source -> compiling SupMisc.m3 > "../src/SupMisc.m3", line 31: imported interface contains errors (SupMisc) > "../src/SupMisc.m3", line 34: imported interface contains errors > (FileAttr) > "../src/SupMisc.m3", line 34: unable to find interface (IP) > "../src/SupMisc.m3", line 35: imported interface contains errors > (SupFileRec) > "../src/SupMisc.m3", line 36: imported interface contains errors (TokScan) > "../src/SupMisc.m3", line 37: unable to find interface (SupTCP) > 6 errors encountered > new source -> compiling FileStatus.i3 > "../src/FileStatus.i3", line 33: imported interface contains errors > (FileAttr) > 1 error encountered > new source -> compiling FileStatusRaw.i3 > "../src/FileStatusRaw.i3", line 33: imported interface contains errors > (FileStatus) > 1 error encountered > new source -> compiling FileStatus.m3 > "../src/FileStatus.m3", line 31: imported interface contains errors > (FileStatus) > "../src/FileStatus.m3", line 31: imported interface contains errors > (FileStatusRaw) > "../src/FileStatus.m3", line 34: imported interface contains errors > (FileAttr) > "../src/FileStatus.m3", line 34: imported interface contains errors > (SupMisc) > "../src/FileStatus.m3", line 34: imported interface contains errors > (TokScan) > 5 errors encountered > new source -> compiling StatusFile.i3 > "../src/StatusFile.i3", line 33: imported interface contains errors > (FileStatus) > "../src/StatusFile.i3", line 33: imported interface contains errors > (SupFileRec) > 2 errors encountered > new source -> compiling StatusFile.m3 > "../src/StatusFile.m3", line 31: imported interface contains errors > (StatusFile) > "../src/StatusFile.m3", line 34: imported interface contains errors > (FileAttr) > "../src/StatusFile.m3", line 34: imported interface contains errors > (FileStatus) > "../src/StatusFile.m3", line 34: imported interface contains errors > (FileStatusRaw) > "../src/StatusFile.m3", line 35: imported interface contains errors > (SupFileRec) > "../src/StatusFile.m3", line 35: imported interface contains errors > (SupMisc) > 6 errors encountered > new source -> compiling CVTree.i3 > "../src/CVTree.i3", line 37: imported interface contains errors (FileAttr) > 1 error encountered > new source -> compiling CVTree.m3 > "../src/CVTree.m3", line 31: imported interface contains errors (CVTree) > "../src/CVTree.m3", line 34: imported interface contains errors (DirEntry) > "../src/CVTree.m3", line 34: imported interface contains errors > (DirEntryList) > "../src/CVTree.m3", line 34: imported interface contains errors > (DirEntryListSort) > "../src/CVTree.m3", line 34: imported interface contains errors (FileAttr) > "../src/CVTree.m3", line 35: imported interface contains errors (SupMisc) > 6 errors encountered > new source -> compiling GzipRd.i3 > "../src/GzipRd.i3", line 36: unable to find interface (StreamRd) > 1 error encountered > new source -> compiling GzipRd.m3 > "../src/GzipRd.m3", line 31: imported interface contains errors (GzipRd) > "../src/GzipRd.m3", line 34: unable to find interface (StreamRdClass) > 2 errors encountered > new source -> compiling GzipWr.i3 > "../src/GzipWr.i3", line 36: unable to find interface (StreamWr) > 1 error encountered > new source -> compiling GzipWr.m3 > "../src/GzipWr.m3", line 31: imported interface contains errors (GzipWr) > "../src/GzipWr.m3", line 34: unable to find interface (StreamWrClass) > 2 errors encountered > new source -> compiling RsyncFile.i3 > "../src/RsyncFile.i3", line 33: imported interface contains errors > (FileAttr) > 1 error encountered > new source -> compiling RsyncFile.m3 > "../src/RsyncFile.m3", line 31: imported interface contains errors > (RsyncFile) > "../src/RsyncFile.m3", line 34: imported interface contains errors > (FileAttr) > "../src/RsyncFile.m3", line 35: imported interface contains errors > (UnixMisc) > 3 errors encountered > new source -> compiling SigHandler.m3 > "../src/SigHandler.m3", line 48: imported interface contains errors > (UnixMisc) > "../src/SigHandler.m3", line 50: unable to find interface (SupErrno) > 2 errors encountered > new source -> compiling UnixMisc.m3 > "../src/UnixMisc.m3", line 31: imported interface contains errors > (UnixMisc) > "../src/UnixMisc.m3", line 34: unable to find interface (IP) > 2 errors encountered > new source -> compiling Attic.i3 > "../src/Attic.i3", line 37: imported interface contains errors (FileAttr) > "../src/Attic.i3", line 37: imported interface contains errors (RCSFile) > 2 errors encountered > new source -> compiling Attic.m3 > "../src/Attic.m3", line 31: imported interface contains errors (Attic) > "../src/Attic.m3", line 34: imported interface contains errors (FileAttr) > "../src/Attic.m3", line 34: imported interface contains errors (RCSFile) > "../src/Attic.m3", line 35: imported interface contains errors (SupMisc) > "../src/Attic.m3", line 35: imported interface contains errors (UnixMisc) > 5 errors encountered > new source -> compiling DevTLinux.i3 > "../src/dev_t_linux/DevTLinux.i3", line 38: imported interface > contains errors (DevT) > 1 error encountered > new source -> compiling DevT.m3 > "../src/dev_t_linux/DevT.m3", line 31: imported interface contains > errors (DevT) > "../src/dev_t_linux/DevT.m3", line 34: imported interface contains > errors (DevTLinux) > "../src/dev_t_linux/DevT.m3", line 34: imported interface contains > errors (TokScan) > 3 errors encountered > new source -> compiling SupMiscText.m3 > "../src/text_cm3/SupMiscText.m3", line 35: imported interface contains > errors (SupMisc) > 1 error encountered > compilation failed => not building library "libsuplib.a" > Fatal Error: package build failed > make[2]: *** [all] Error 1 > make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/suplib' > ===> server > make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/server' > cm3 > --- building in LINUXLIBC6 --- > > package "suptcp" is already overridden to > /home/rforb/work/cvsup-snap-16.1h/server/src/../.., ignoring new > override to /home/rforb/work/cvsup-snap-16.1h/suplib/src/../.. > > > Fatal Error: missing source file: FileAttr.i3 > > make[2]: *** [all] Error 1 > make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/server' > ===> client > make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/client' > cm3 > --- building in LINUXLIBC6 --- > > package "suptcp" is already overridden to > /home/rforb/work/cvsup-snap-16.1h/client/src/../.., ignoring new > override to /home/rforb/work/cvsup-snap-16.1h/suplib/src/../.. > > > Fatal Error: missing source file: SupFileRec.i3 > > make[2]: *** [all] Error 1 > make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/client' > ===> cvpasswd > make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/cvpasswd' > cm3 > --- building in LINUXLIBC6 --- > > > Fatal Error: missing source file: AuthMD5.i3 > > make[2]: *** [all] Error 1 > make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/cvpasswd' > make[1]: *** [subdirs] Error 2 > make[1]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h' > make: *** [all] Error 2 Looks like aside some other errors, it doesn't find all the .i3 files, though I can see all of them existing. Do I possibly have to tell the cm3 compiler where to find them? What do all the "imported interface contains errors (...)" messages have to mean and how to fix this ? Regards, Ronny -- Ronny Forberger Systemadministrator elego Software Solutions GmbH ronny.forberger(at)elegosoft.com Ohmstra?e 9, 10179 Berlin HRB 77719 Tel.: +49 30 23 45 86 96 Amtsgericht Charlottenburg Fax: +49 30 23 45 86 95 Sitz der Gesellschaft: Berlin http://www.elegosoft.com Gesch?ftsf?hrer: Olaf Wagner Bitte senden Sie Ihre technischen Support-Anfragen an admins(at)elego.de . From jdp at polstra.com Mon Jun 4 17:11:56 2007 From: jdp at polstra.com (John Polstra) Date: Mon, 04 Jun 2007 08:11:56 -0700 Subject: [M3devel] errors building cvsup wih cm3 In-Reply-To: <4663E91C.1090701@elegosoft.com> References: <4663E91C.1090701@elegosoft.com> Message-ID: <46642BBC.90500@polstra.com> There is a patch for CVSup that you have to apply before you can build it with cm3. Look on the cm3 downloads page, and you'll find it. John Ronny Forberger wrote: > Hi there, > > since I've been able to build the cm3 compiler successfully on Debian > Linux 'etch' x86, I'm faced up to some other build problem: > > When trying to build cvsup-snap-16.1h from sources using cm3 my build > process stops by the following error: > >> make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/suptcp' >> cm3 >> --- building in LINUXLIBC6 --- >> >> >> Fatal Error: duplicate unit: >> /usr/local/cm3/pkg/tcp/src/POSIX/SockOpt.i3 ../src/POSIX/SockOpt.i3 >> >> make[2]: *** [all] Error 1 >> make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/suptcp' >> ===> suplib >> make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/suplib' >> cm3 >> --- building in LINUXLIBC6 --- >> >> new source -> compiling TokScan.i3 >> "../src/TokScan.i3", line 36: unable to find interface (IP) >> 1 error encountered >> new source -> compiling FileAttr.i3 >> "../src/FileAttr.i3", line 33: imported interface contains errors >> (TokScan) >> 1 error encountered >> new source -> compiling FileAttrRep.i3 >> "../src/FileAttrRep.i3", line 33: imported interface contains errors >> (FileAttr) >> 1 error encountered >> new source -> compiling FileAttrOS.m3 >> "../src/POSIX/FileAttrOS.m3", line 31: imported interface contains >> errors (FileAttr) >> "../src/POSIX/FileAttrOS.m3", line 31: imported interface contains >> errors (FileAttrRep) >> 2 errors encountered >> new source -> compiling SupFileRec.i3 >> "../src/SupFileRec.i3", line 36: imported interface contains errors >> (FileAttr) >> "../src/SupFileRec.i3", line 37: imported interface contains errors >> (TokScan) >> 2 errors encountered >> new source -> compiling SupMisc.i3 >> "../src/SupMisc.i3", line 37: unable to find interface (IP) >> "../src/SupMisc.i3", line 37: imported interface contains errors >> (SupFileRec) >> "../src/SupMisc.i3", line 39: unable to find interface (SupTCP) >> 3 errors encountered >> new source -> compiling PathComp.m3 >> "../src/PathComp.m3", line 33: imported interface contains errors >> (SupMisc) >> 1 error encountered >> new source -> compiling ChannelMux.i3 >> "../src/ChannelMux.i3", line 33: unable to find interface (IP) >> "../src/ChannelMux.i3", line 34: unable to find interface (SupConnFD) >> 2 errors encountered >> new source -> compiling ChannelMux.m3 >> "../src/ChannelMux.m3", line 32: imported interface contains errors >> (ChannelMux) >> "../src/ChannelMux.m3", line 35: unable to find interface (IP) >> "../src/ChannelMux.m3", line 35: unable to find interface (TCP) >> "../src/ChannelMux.m3", line 36: unable to find interface (SupConnFD) >> 4 errors encountered >> new source -> compiling AuthMD5.i3 >> "../src/AuthMD5.i3", line 33: unable to find interface (IP) >> 1 error encountered >> new source -> compiling AuthMD5.m3 >> "../src/AuthMD5.m3", line 31: imported interface contains errors >> (AuthMD5) >> "../src/AuthMD5.m3", line 33: unable to find interface (IP) >> 2 errors encountered >> new source -> compiling TokScan.m3 >> "../src/TokScan.m3", line 31: imported interface contains errors >> (TokScan) >> "../src/TokScan.m3", line 34: unable to find interface (IP) >> "../src/TokScan.m3", line 34: imported interface contains errors >> (SupMisc) >> 3 errors encountered >> new source -> compiling DevT.i3 >> "../src/DevT.i3", line 38: imported interface contains errors (TokScan) >> 1 error encountered >> new source -> compiling UnixMisc.i3 >> "../src/UnixMisc.i3", line 35: unable to find interface (IP) >> 1 error encountered >> new source -> compiling FileAttr.m3 >> "../src/FileAttr.m3", line 31: imported interface contains errors >> (FileAttr) >> "../src/FileAttr.m3", line 31: imported interface contains errors >> (FileAttrRep) >> "../src/FileAttr.m3", line 34: imported interface contains errors (DevT) >> "../src/FileAttr.m3", line 35: imported interface contains errors >> (SupMisc) >> "../src/FileAttr.m3", line 36: imported interface contains errors >> (TokScan) >> "../src/FileAttr.m3", line 36: imported interface contains errors >> (UnixMisc) >> 6 errors encountered >> new source -> compiling FileID.i3 >> "../src/FileID.i3", line 33: imported interface contains errors >> (FileAttr) >> 1 error encountered >> new source -> compiling FileID.m3 >> "../src/FileID.m3", line 31: imported interface contains errors (FileID) >> "../src/FileID.m3", line 34: imported interface contains errors (DevT) >> "../src/FileID.m3", line 34: imported interface contains errors >> (FileAttr) >> "../src/FileID.m3", line 34: imported interface contains errors >> (FileAttrRep) >> 4 errors encountered >> new source -> compiling CVProto.i3 >> "../src/CVProto.i3", line 33: imported interface contains errors >> (FileAttr) >> "../src/CVProto.i3", line 33: imported interface contains errors >> (TokScan) >> 2 errors encountered >> new source -> compiling CVProto.m3 >> "../src/CVProto.m3", line 35: imported interface contains errors >> (CVProto) >> "../src/CVProto.m3", line 38: imported interface contains errors >> (SupMisc) >> "../src/CVProto.m3", line 38: imported interface contains errors >> (TokScan) >> 3 errors encountered >> new source -> compiling ErrMsg.m3 >> "../src/ErrMsg.m3", line 34: unable to find interface (IP) >> "../src/ErrMsg.m3", line 34: imported interface contains errors (TokScan) >> "../src/ErrMsg.m3", line 36: unable to find interface (SupTCP) >> 3 errors encountered >> new source -> compiling DirEntry.i3 >> "../src/DirEntry.i3", line 37: imported interface contains errors >> (FileAttr) >> 1 error encountered >> new source -> compiling DirEntry.m3 >> "../src/DirEntry.m3", line 31: imported interface contains errors >> (DirEntry) >> 1 error encountered >> new source -> compiling DirEntryList.i3 >> "../LINUXLIBC6/DirEntryList.i3 => >> /usr/local/cm3/pkg/libm3/src/list/List.ig", line 29: imported >> interface contains errors (DirEntry) >> 1 error encountered >> new source -> compiling DirEntryList.m3 >> "../LINUXLIBC6/DirEntryList.m3", line 3: imported interface contains >> errors (DirEntryList) >> "../LINUXLIBC6/DirEntryList.m3 => >> /usr/local/cm3/pkg/libm3/src/list/List.mg", line 11: imported >> interface contains errors (DirEntry) >> 2 errors encountered >> new source -> compiling DirEntryListSort.i3 >> "../LINUXLIBC6/DirEntryListSort.i3 => >> /usr/local/cm3/pkg/libm3/src/list/ListSort.ig", line 28: imported >> interface contains errors (DirEntry) >> "../LINUXLIBC6/DirEntryListSort.i3 => >> /usr/local/cm3/pkg/libm3/src/list/ListSort.ig", line 28: imported >> interface contains errors (DirEntryList) >> 2 errors encountered >> new source -> compiling DirEntryListSort.m3 >> "../LINUXLIBC6/DirEntryListSort.m3", line 3: imported interface >> contains errors (DirEntryListSort) >> "../LINUXLIBC6/DirEntryListSort.m3 => >> /usr/local/cm3/pkg/libm3/src/list/ListSort.mg", line 10: imported >> interface contains errors (DirEntry) >> 2 errors encountered >> new source -> compiling RCSDate.m3 >> "../src/RCSDate.m3", line 34: imported interface contains errors >> (TokScan) >> 1 error encountered >> new source -> compiling RCSFile.i3 >> "../src/RCSFile.i3", line 37: imported interface contains errors >> (FileAttr) >> 1 error encountered >> new source -> compiling RCSDeltaClass.i3 >> "../src/RCSDeltaClass.i3", line 37: imported interface contains errors >> (RCSFile) >> 1 error encountered >> new source -> compiling RCSDelta.m3 >> "../src/RCSDelta.m3", line 31: imported interface contains errors >> (RCSDeltaClass) >> "../src/RCSDelta.m3", line 34: imported interface contains errors >> (RCSFile) >> "../src/RCSDelta.m3", line 35: imported interface contains errors >> (TokScan) >> 3 errors encountered >> new source -> compiling RCSKeyword.m3 >> "../src/RCSKeyword.m3", line 34: imported interface contains errors >> (RCSDeltaClass) >> "../src/RCSKeyword.m3", line 35: imported interface contains errors >> (SupMisc) >> 2 errors encountered >> new source -> compiling RCSFile.m3 >> "../src/RCSFile.m3", line 31: imported interface contains errors >> (RCSFile) >> "../src/RCSFile.m3", line 34: imported interface contains errors >> (FileAttr) >> "../src/RCSFile.m3", line 36: imported interface contains errors >> (RCSDeltaClass) >> "../src/RCSFile.m3", line 39: imported interface contains errors >> (TokScan) >> "../src/RCSFile.m3", line 39: imported interface contains errors >> (UnixMisc) >> 5 errors encountered >> new source -> compiling SupFileRec.m3 >> "../src/SupFileRec.m3", line 31: imported interface contains errors >> (SupFileRec) >> "../src/SupFileRec.m3", line 34: imported interface contains errors >> (FileAttr) >> "../src/SupFileRec.m3", line 35: imported interface contains errors >> (TokScan) >> 3 errors encountered >> new source -> compiling SupMisc.m3 >> "../src/SupMisc.m3", line 31: imported interface contains errors >> (SupMisc) >> "../src/SupMisc.m3", line 34: imported interface contains errors >> (FileAttr) >> "../src/SupMisc.m3", line 34: unable to find interface (IP) >> "../src/SupMisc.m3", line 35: imported interface contains errors >> (SupFileRec) >> "../src/SupMisc.m3", line 36: imported interface contains errors >> (TokScan) >> "../src/SupMisc.m3", line 37: unable to find interface (SupTCP) >> 6 errors encountered >> new source -> compiling FileStatus.i3 >> "../src/FileStatus.i3", line 33: imported interface contains errors >> (FileAttr) >> 1 error encountered >> new source -> compiling FileStatusRaw.i3 >> "../src/FileStatusRaw.i3", line 33: imported interface contains errors >> (FileStatus) >> 1 error encountered >> new source -> compiling FileStatus.m3 >> "../src/FileStatus.m3", line 31: imported interface contains errors >> (FileStatus) >> "../src/FileStatus.m3", line 31: imported interface contains errors >> (FileStatusRaw) >> "../src/FileStatus.m3", line 34: imported interface contains errors >> (FileAttr) >> "../src/FileStatus.m3", line 34: imported interface contains errors >> (SupMisc) >> "../src/FileStatus.m3", line 34: imported interface contains errors >> (TokScan) >> 5 errors encountered >> new source -> compiling StatusFile.i3 >> "../src/StatusFile.i3", line 33: imported interface contains errors >> (FileStatus) >> "../src/StatusFile.i3", line 33: imported interface contains errors >> (SupFileRec) >> 2 errors encountered >> new source -> compiling StatusFile.m3 >> "../src/StatusFile.m3", line 31: imported interface contains errors >> (StatusFile) >> "../src/StatusFile.m3", line 34: imported interface contains errors >> (FileAttr) >> "../src/StatusFile.m3", line 34: imported interface contains errors >> (FileStatus) >> "../src/StatusFile.m3", line 34: imported interface contains errors >> (FileStatusRaw) >> "../src/StatusFile.m3", line 35: imported interface contains errors >> (SupFileRec) >> "../src/StatusFile.m3", line 35: imported interface contains errors >> (SupMisc) >> 6 errors encountered >> new source -> compiling CVTree.i3 >> "../src/CVTree.i3", line 37: imported interface contains errors >> (FileAttr) >> 1 error encountered >> new source -> compiling CVTree.m3 >> "../src/CVTree.m3", line 31: imported interface contains errors (CVTree) >> "../src/CVTree.m3", line 34: imported interface contains errors >> (DirEntry) >> "../src/CVTree.m3", line 34: imported interface contains errors >> (DirEntryList) >> "../src/CVTree.m3", line 34: imported interface contains errors >> (DirEntryListSort) >> "../src/CVTree.m3", line 34: imported interface contains errors >> (FileAttr) >> "../src/CVTree.m3", line 35: imported interface contains errors (SupMisc) >> 6 errors encountered >> new source -> compiling GzipRd.i3 >> "../src/GzipRd.i3", line 36: unable to find interface (StreamRd) >> 1 error encountered >> new source -> compiling GzipRd.m3 >> "../src/GzipRd.m3", line 31: imported interface contains errors (GzipRd) >> "../src/GzipRd.m3", line 34: unable to find interface (StreamRdClass) >> 2 errors encountered >> new source -> compiling GzipWr.i3 >> "../src/GzipWr.i3", line 36: unable to find interface (StreamWr) >> 1 error encountered >> new source -> compiling GzipWr.m3 >> "../src/GzipWr.m3", line 31: imported interface contains errors (GzipWr) >> "../src/GzipWr.m3", line 34: unable to find interface (StreamWrClass) >> 2 errors encountered >> new source -> compiling RsyncFile.i3 >> "../src/RsyncFile.i3", line 33: imported interface contains errors >> (FileAttr) >> 1 error encountered >> new source -> compiling RsyncFile.m3 >> "../src/RsyncFile.m3", line 31: imported interface contains errors >> (RsyncFile) >> "../src/RsyncFile.m3", line 34: imported interface contains errors >> (FileAttr) >> "../src/RsyncFile.m3", line 35: imported interface contains errors >> (UnixMisc) >> 3 errors encountered >> new source -> compiling SigHandler.m3 >> "../src/SigHandler.m3", line 48: imported interface contains errors >> (UnixMisc) >> "../src/SigHandler.m3", line 50: unable to find interface (SupErrno) >> 2 errors encountered >> new source -> compiling UnixMisc.m3 >> "../src/UnixMisc.m3", line 31: imported interface contains errors >> (UnixMisc) >> "../src/UnixMisc.m3", line 34: unable to find interface (IP) >> 2 errors encountered >> new source -> compiling Attic.i3 >> "../src/Attic.i3", line 37: imported interface contains errors (FileAttr) >> "../src/Attic.i3", line 37: imported interface contains errors (RCSFile) >> 2 errors encountered >> new source -> compiling Attic.m3 >> "../src/Attic.m3", line 31: imported interface contains errors (Attic) >> "../src/Attic.m3", line 34: imported interface contains errors (FileAttr) >> "../src/Attic.m3", line 34: imported interface contains errors (RCSFile) >> "../src/Attic.m3", line 35: imported interface contains errors (SupMisc) >> "../src/Attic.m3", line 35: imported interface contains errors (UnixMisc) >> 5 errors encountered >> new source -> compiling DevTLinux.i3 >> "../src/dev_t_linux/DevTLinux.i3", line 38: imported interface >> contains errors (DevT) >> 1 error encountered >> new source -> compiling DevT.m3 >> "../src/dev_t_linux/DevT.m3", line 31: imported interface contains >> errors (DevT) >> "../src/dev_t_linux/DevT.m3", line 34: imported interface contains >> errors (DevTLinux) >> "../src/dev_t_linux/DevT.m3", line 34: imported interface contains >> errors (TokScan) >> 3 errors encountered >> new source -> compiling SupMiscText.m3 >> "../src/text_cm3/SupMiscText.m3", line 35: imported interface contains >> errors (SupMisc) >> 1 error encountered >> compilation failed => not building library "libsuplib.a" >> Fatal Error: package build failed >> make[2]: *** [all] Error 1 >> make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/suplib' >> ===> server >> make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/server' >> cm3 >> --- building in LINUXLIBC6 --- >> >> package "suptcp" is already overridden to >> /home/rforb/work/cvsup-snap-16.1h/server/src/../.., ignoring new >> override to /home/rforb/work/cvsup-snap-16.1h/suplib/src/../.. >> >> >> Fatal Error: missing source file: FileAttr.i3 >> >> make[2]: *** [all] Error 1 >> make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/server' >> ===> client >> make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/client' >> cm3 >> --- building in LINUXLIBC6 --- >> >> package "suptcp" is already overridden to >> /home/rforb/work/cvsup-snap-16.1h/client/src/../.., ignoring new >> override to /home/rforb/work/cvsup-snap-16.1h/suplib/src/../.. >> >> >> Fatal Error: missing source file: SupFileRec.i3 >> >> make[2]: *** [all] Error 1 >> make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/client' >> ===> cvpasswd >> make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/cvpasswd' >> cm3 >> --- building in LINUXLIBC6 --- >> >> >> Fatal Error: missing source file: AuthMD5.i3 >> >> make[2]: *** [all] Error 1 >> make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/cvpasswd' >> make[1]: *** [subdirs] Error 2 >> make[1]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h' >> make: *** [all] Error 2 > > > Looks like aside some other errors, it doesn't find all the .i3 files, > though I can see all of them existing. Do I possibly have to tell the > cm3 compiler where to find them? > > What do all the "imported interface contains errors (...)" messages have > to mean and how to fix this ? > > Regards, > > Ronny > > > From hosking at cs.purdue.edu Mon Jun 4 17:14:39 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Mon, 4 Jun 2007 11:14:39 -0400 Subject: [M3devel] errors building cvsup wih cm3 In-Reply-To: <4663E91C.1090701@elegosoft.com> References: <4663E91C.1090701@elegosoft.com> Message-ID: Looks like your overrides are not working properly. Did you invoke cm3 -override? On Jun 4, 2007, at 6:27 AM, Ronny Forberger wrote: >> Fatal Error: duplicate unit: /usr/local/cm3/pkg/tcp/src/POSIX/ >> SockOpt.i3 ../src/POSIX/SockOpt.i3 From hosking at cs.purdue.edu Mon Jun 4 17:15:02 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Mon, 4 Jun 2007 11:15:02 -0400 Subject: [M3devel] errors building cvsup wih cm3 In-Reply-To: <46642BBC.90500@polstra.com> References: <4663E91C.1090701@elegosoft.com> <46642BBC.90500@polstra.com> Message-ID: <94308BA0-0E13-4350-8B0C-EA833655C04A@cs.purdue.edu> Looks like John has the answers... On Jun 4, 2007, at 11:11 AM, John Polstra wrote: > There is a patch for CVSup that you have to apply before you can > build it with cm3. Look on the cm3 downloads page, and you'll find > it. > > John > > Ronny Forberger wrote: >> Hi there, >> since I've been able to build the cm3 compiler successfully on >> Debian Linux 'etch' x86, I'm faced up to some other build problem: >> When trying to build cvsup-snap-16.1h from sources using cm3 my >> build process stops by the following error: >>> make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/ >>> suptcp' >>> cm3 >>> --- building in LINUXLIBC6 --- >>> >>> >>> Fatal Error: duplicate unit: /usr/local/cm3/pkg/tcp/src/POSIX/ >>> SockOpt.i3 ../src/POSIX/SockOpt.i3 >>> >>> make[2]: *** [all] Error 1 >>> make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/ >>> suptcp' >>> ===> suplib >>> make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/ >>> suplib' >>> cm3 >>> --- building in LINUXLIBC6 --- >>> >>> new source -> compiling TokScan.i3 >>> "../src/TokScan.i3", line 36: unable to find interface (IP) >>> 1 error encountered >>> new source -> compiling FileAttr.i3 >>> "../src/FileAttr.i3", line 33: imported interface contains errors >>> (TokScan) >>> 1 error encountered >>> new source -> compiling FileAttrRep.i3 >>> "../src/FileAttrRep.i3", line 33: imported interface contains >>> errors (FileAttr) >>> 1 error encountered >>> new source -> compiling FileAttrOS.m3 >>> "../src/POSIX/FileAttrOS.m3", line 31: imported interface >>> contains errors (FileAttr) >>> "../src/POSIX/FileAttrOS.m3", line 31: imported interface >>> contains errors (FileAttrRep) >>> 2 errors encountered >>> new source -> compiling SupFileRec.i3 >>> "../src/SupFileRec.i3", line 36: imported interface contains >>> errors (FileAttr) >>> "../src/SupFileRec.i3", line 37: imported interface contains >>> errors (TokScan) >>> 2 errors encountered >>> new source -> compiling SupMisc.i3 >>> "../src/SupMisc.i3", line 37: unable to find interface (IP) >>> "../src/SupMisc.i3", line 37: imported interface contains errors >>> (SupFileRec) >>> "../src/SupMisc.i3", line 39: unable to find interface (SupTCP) >>> 3 errors encountered >>> new source -> compiling PathComp.m3 >>> "../src/PathComp.m3", line 33: imported interface contains errors >>> (SupMisc) >>> 1 error encountered >>> new source -> compiling ChannelMux.i3 >>> "../src/ChannelMux.i3", line 33: unable to find interface (IP) >>> "../src/ChannelMux.i3", line 34: unable to find interface >>> (SupConnFD) >>> 2 errors encountered >>> new source -> compiling ChannelMux.m3 >>> "../src/ChannelMux.m3", line 32: imported interface contains >>> errors (ChannelMux) >>> "../src/ChannelMux.m3", line 35: unable to find interface (IP) >>> "../src/ChannelMux.m3", line 35: unable to find interface (TCP) >>> "../src/ChannelMux.m3", line 36: unable to find interface >>> (SupConnFD) >>> 4 errors encountered >>> new source -> compiling AuthMD5.i3 >>> "../src/AuthMD5.i3", line 33: unable to find interface (IP) >>> 1 error encountered >>> new source -> compiling AuthMD5.m3 >>> "../src/AuthMD5.m3", line 31: imported interface contains errors >>> (AuthMD5) >>> "../src/AuthMD5.m3", line 33: unable to find interface (IP) >>> 2 errors encountered >>> new source -> compiling TokScan.m3 >>> "../src/TokScan.m3", line 31: imported interface contains errors >>> (TokScan) >>> "../src/TokScan.m3", line 34: unable to find interface (IP) >>> "../src/TokScan.m3", line 34: imported interface contains errors >>> (SupMisc) >>> 3 errors encountered >>> new source -> compiling DevT.i3 >>> "../src/DevT.i3", line 38: imported interface contains errors >>> (TokScan) >>> 1 error encountered >>> new source -> compiling UnixMisc.i3 >>> "../src/UnixMisc.i3", line 35: unable to find interface (IP) >>> 1 error encountered >>> new source -> compiling FileAttr.m3 >>> "../src/FileAttr.m3", line 31: imported interface contains errors >>> (FileAttr) >>> "../src/FileAttr.m3", line 31: imported interface contains errors >>> (FileAttrRep) >>> "../src/FileAttr.m3", line 34: imported interface contains errors >>> (DevT) >>> "../src/FileAttr.m3", line 35: imported interface contains errors >>> (SupMisc) >>> "../src/FileAttr.m3", line 36: imported interface contains errors >>> (TokScan) >>> "../src/FileAttr.m3", line 36: imported interface contains errors >>> (UnixMisc) >>> 6 errors encountered >>> new source -> compiling FileID.i3 >>> "../src/FileID.i3", line 33: imported interface contains errors >>> (FileAttr) >>> 1 error encountered >>> new source -> compiling FileID.m3 >>> "../src/FileID.m3", line 31: imported interface contains errors >>> (FileID) >>> "../src/FileID.m3", line 34: imported interface contains errors >>> (DevT) >>> "../src/FileID.m3", line 34: imported interface contains errors >>> (FileAttr) >>> "../src/FileID.m3", line 34: imported interface contains errors >>> (FileAttrRep) >>> 4 errors encountered >>> new source -> compiling CVProto.i3 >>> "../src/CVProto.i3", line 33: imported interface contains errors >>> (FileAttr) >>> "../src/CVProto.i3", line 33: imported interface contains errors >>> (TokScan) >>> 2 errors encountered >>> new source -> compiling CVProto.m3 >>> "../src/CVProto.m3", line 35: imported interface contains errors >>> (CVProto) >>> "../src/CVProto.m3", line 38: imported interface contains errors >>> (SupMisc) >>> "../src/CVProto.m3", line 38: imported interface contains errors >>> (TokScan) >>> 3 errors encountered >>> new source -> compiling ErrMsg.m3 >>> "../src/ErrMsg.m3", line 34: unable to find interface (IP) >>> "../src/ErrMsg.m3", line 34: imported interface contains errors >>> (TokScan) >>> "../src/ErrMsg.m3", line 36: unable to find interface (SupTCP) >>> 3 errors encountered >>> new source -> compiling DirEntry.i3 >>> "../src/DirEntry.i3", line 37: imported interface contains errors >>> (FileAttr) >>> 1 error encountered >>> new source -> compiling DirEntry.m3 >>> "../src/DirEntry.m3", line 31: imported interface contains errors >>> (DirEntry) >>> 1 error encountered >>> new source -> compiling DirEntryList.i3 >>> "../LINUXLIBC6/DirEntryList.i3 => /usr/local/cm3/pkg/libm3/src/ >>> list/List.ig", line 29: imported interface contains errors >>> (DirEntry) >>> 1 error encountered >>> new source -> compiling DirEntryList.m3 >>> "../LINUXLIBC6/DirEntryList.m3", line 3: imported interface >>> contains errors (DirEntryList) >>> "../LINUXLIBC6/DirEntryList.m3 => /usr/local/cm3/pkg/libm3/src/ >>> list/List.mg", line 11: imported interface contains errors >>> (DirEntry) >>> 2 errors encountered >>> new source -> compiling DirEntryListSort.i3 >>> "../LINUXLIBC6/DirEntryListSort.i3 => /usr/local/cm3/pkg/libm3/ >>> src/list/ListSort.ig", line 28: imported interface contains >>> errors (DirEntry) >>> "../LINUXLIBC6/DirEntryListSort.i3 => /usr/local/cm3/pkg/libm3/ >>> src/list/ListSort.ig", line 28: imported interface contains >>> errors (DirEntryList) >>> 2 errors encountered >>> new source -> compiling DirEntryListSort.m3 >>> "../LINUXLIBC6/DirEntryListSort.m3", line 3: imported interface >>> contains errors (DirEntryListSort) >>> "../LINUXLIBC6/DirEntryListSort.m3 => /usr/local/cm3/pkg/libm3/ >>> src/list/ListSort.mg", line 10: imported interface contains >>> errors (DirEntry) >>> 2 errors encountered >>> new source -> compiling RCSDate.m3 >>> "../src/RCSDate.m3", line 34: imported interface contains errors >>> (TokScan) >>> 1 error encountered >>> new source -> compiling RCSFile.i3 >>> "../src/RCSFile.i3", line 37: imported interface contains errors >>> (FileAttr) >>> 1 error encountered >>> new source -> compiling RCSDeltaClass.i3 >>> "../src/RCSDeltaClass.i3", line 37: imported interface contains >>> errors (RCSFile) >>> 1 error encountered >>> new source -> compiling RCSDelta.m3 >>> "../src/RCSDelta.m3", line 31: imported interface contains errors >>> (RCSDeltaClass) >>> "../src/RCSDelta.m3", line 34: imported interface contains errors >>> (RCSFile) >>> "../src/RCSDelta.m3", line 35: imported interface contains errors >>> (TokScan) >>> 3 errors encountered >>> new source -> compiling RCSKeyword.m3 >>> "../src/RCSKeyword.m3", line 34: imported interface contains >>> errors (RCSDeltaClass) >>> "../src/RCSKeyword.m3", line 35: imported interface contains >>> errors (SupMisc) >>> 2 errors encountered >>> new source -> compiling RCSFile.m3 >>> "../src/RCSFile.m3", line 31: imported interface contains errors >>> (RCSFile) >>> "../src/RCSFile.m3", line 34: imported interface contains errors >>> (FileAttr) >>> "../src/RCSFile.m3", line 36: imported interface contains errors >>> (RCSDeltaClass) >>> "../src/RCSFile.m3", line 39: imported interface contains errors >>> (TokScan) >>> "../src/RCSFile.m3", line 39: imported interface contains errors >>> (UnixMisc) >>> 5 errors encountered >>> new source -> compiling SupFileRec.m3 >>> "../src/SupFileRec.m3", line 31: imported interface contains >>> errors (SupFileRec) >>> "../src/SupFileRec.m3", line 34: imported interface contains >>> errors (FileAttr) >>> "../src/SupFileRec.m3", line 35: imported interface contains >>> errors (TokScan) >>> 3 errors encountered >>> new source -> compiling SupMisc.m3 >>> "../src/SupMisc.m3", line 31: imported interface contains errors >>> (SupMisc) >>> "../src/SupMisc.m3", line 34: imported interface contains errors >>> (FileAttr) >>> "../src/SupMisc.m3", line 34: unable to find interface (IP) >>> "../src/SupMisc.m3", line 35: imported interface contains errors >>> (SupFileRec) >>> "../src/SupMisc.m3", line 36: imported interface contains errors >>> (TokScan) >>> "../src/SupMisc.m3", line 37: unable to find interface (SupTCP) >>> 6 errors encountered >>> new source -> compiling FileStatus.i3 >>> "../src/FileStatus.i3", line 33: imported interface contains >>> errors (FileAttr) >>> 1 error encountered >>> new source -> compiling FileStatusRaw.i3 >>> "../src/FileStatusRaw.i3", line 33: imported interface contains >>> errors (FileStatus) >>> 1 error encountered >>> new source -> compiling FileStatus.m3 >>> "../src/FileStatus.m3", line 31: imported interface contains >>> errors (FileStatus) >>> "../src/FileStatus.m3", line 31: imported interface contains >>> errors (FileStatusRaw) >>> "../src/FileStatus.m3", line 34: imported interface contains >>> errors (FileAttr) >>> "../src/FileStatus.m3", line 34: imported interface contains >>> errors (SupMisc) >>> "../src/FileStatus.m3", line 34: imported interface contains >>> errors (TokScan) >>> 5 errors encountered >>> new source -> compiling StatusFile.i3 >>> "../src/StatusFile.i3", line 33: imported interface contains >>> errors (FileStatus) >>> "../src/StatusFile.i3", line 33: imported interface contains >>> errors (SupFileRec) >>> 2 errors encountered >>> new source -> compiling StatusFile.m3 >>> "../src/StatusFile.m3", line 31: imported interface contains >>> errors (StatusFile) >>> "../src/StatusFile.m3", line 34: imported interface contains >>> errors (FileAttr) >>> "../src/StatusFile.m3", line 34: imported interface contains >>> errors (FileStatus) >>> "../src/StatusFile.m3", line 34: imported interface contains >>> errors (FileStatusRaw) >>> "../src/StatusFile.m3", line 35: imported interface contains >>> errors (SupFileRec) >>> "../src/StatusFile.m3", line 35: imported interface contains >>> errors (SupMisc) >>> 6 errors encountered >>> new source -> compiling CVTree.i3 >>> "../src/CVTree.i3", line 37: imported interface contains errors >>> (FileAttr) >>> 1 error encountered >>> new source -> compiling CVTree.m3 >>> "../src/CVTree.m3", line 31: imported interface contains errors >>> (CVTree) >>> "../src/CVTree.m3", line 34: imported interface contains errors >>> (DirEntry) >>> "../src/CVTree.m3", line 34: imported interface contains errors >>> (DirEntryList) >>> "../src/CVTree.m3", line 34: imported interface contains errors >>> (DirEntryListSort) >>> "../src/CVTree.m3", line 34: imported interface contains errors >>> (FileAttr) >>> "../src/CVTree.m3", line 35: imported interface contains errors >>> (SupMisc) >>> 6 errors encountered >>> new source -> compiling GzipRd.i3 >>> "../src/GzipRd.i3", line 36: unable to find interface (StreamRd) >>> 1 error encountered >>> new source -> compiling GzipRd.m3 >>> "../src/GzipRd.m3", line 31: imported interface contains errors >>> (GzipRd) >>> "../src/GzipRd.m3", line 34: unable to find interface >>> (StreamRdClass) >>> 2 errors encountered >>> new source -> compiling GzipWr.i3 >>> "../src/GzipWr.i3", line 36: unable to find interface (StreamWr) >>> 1 error encountered >>> new source -> compiling GzipWr.m3 >>> "../src/GzipWr.m3", line 31: imported interface contains errors >>> (GzipWr) >>> "../src/GzipWr.m3", line 34: unable to find interface >>> (StreamWrClass) >>> 2 errors encountered >>> new source -> compiling RsyncFile.i3 >>> "../src/RsyncFile.i3", line 33: imported interface contains >>> errors (FileAttr) >>> 1 error encountered >>> new source -> compiling RsyncFile.m3 >>> "../src/RsyncFile.m3", line 31: imported interface contains >>> errors (RsyncFile) >>> "../src/RsyncFile.m3", line 34: imported interface contains >>> errors (FileAttr) >>> "../src/RsyncFile.m3", line 35: imported interface contains >>> errors (UnixMisc) >>> 3 errors encountered >>> new source -> compiling SigHandler.m3 >>> "../src/SigHandler.m3", line 48: imported interface contains >>> errors (UnixMisc) >>> "../src/SigHandler.m3", line 50: unable to find interface (SupErrno) >>> 2 errors encountered >>> new source -> compiling UnixMisc.m3 >>> "../src/UnixMisc.m3", line 31: imported interface contains errors >>> (UnixMisc) >>> "../src/UnixMisc.m3", line 34: unable to find interface (IP) >>> 2 errors encountered >>> new source -> compiling Attic.i3 >>> "../src/Attic.i3", line 37: imported interface contains errors >>> (FileAttr) >>> "../src/Attic.i3", line 37: imported interface contains errors >>> (RCSFile) >>> 2 errors encountered >>> new source -> compiling Attic.m3 >>> "../src/Attic.m3", line 31: imported interface contains errors >>> (Attic) >>> "../src/Attic.m3", line 34: imported interface contains errors >>> (FileAttr) >>> "../src/Attic.m3", line 34: imported interface contains errors >>> (RCSFile) >>> "../src/Attic.m3", line 35: imported interface contains errors >>> (SupMisc) >>> "../src/Attic.m3", line 35: imported interface contains errors >>> (UnixMisc) >>> 5 errors encountered >>> new source -> compiling DevTLinux.i3 >>> "../src/dev_t_linux/DevTLinux.i3", line 38: imported interface >>> contains errors (DevT) >>> 1 error encountered >>> new source -> compiling DevT.m3 >>> "../src/dev_t_linux/DevT.m3", line 31: imported interface >>> contains errors (DevT) >>> "../src/dev_t_linux/DevT.m3", line 34: imported interface >>> contains errors (DevTLinux) >>> "../src/dev_t_linux/DevT.m3", line 34: imported interface >>> contains errors (TokScan) >>> 3 errors encountered >>> new source -> compiling SupMiscText.m3 >>> "../src/text_cm3/SupMiscText.m3", line 35: imported interface >>> contains errors (SupMisc) >>> 1 error encountered >>> compilation failed => not building library "libsuplib.a" >>> Fatal Error: package build failed >>> make[2]: *** [all] Error 1 >>> make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/ >>> suplib' >>> ===> server >>> make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/ >>> server' >>> cm3 >>> --- building in LINUXLIBC6 --- >>> >>> package "suptcp" is already overridden to /home/rforb/work/cvsup- >>> snap-16.1h/server/src/../.., ignoring new override to /home/rforb/ >>> work/cvsup-snap-16.1h/suplib/src/../.. >>> >>> >>> Fatal Error: missing source file: FileAttr.i3 >>> >>> make[2]: *** [all] Error 1 >>> make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/ >>> server' >>> ===> client >>> make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/ >>> client' >>> cm3 >>> --- building in LINUXLIBC6 --- >>> >>> package "suptcp" is already overridden to /home/rforb/work/cvsup- >>> snap-16.1h/client/src/../.., ignoring new override to /home/rforb/ >>> work/cvsup-snap-16.1h/suplib/src/../.. >>> >>> >>> Fatal Error: missing source file: SupFileRec.i3 >>> >>> make[2]: *** [all] Error 1 >>> make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/ >>> client' >>> ===> cvpasswd >>> make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/ >>> cvpasswd' >>> cm3 >>> --- building in LINUXLIBC6 --- >>> >>> >>> Fatal Error: missing source file: AuthMD5.i3 >>> >>> make[2]: *** [all] Error 1 >>> make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/ >>> cvpasswd' >>> make[1]: *** [subdirs] Error 2 >>> make[1]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h' >>> make: *** [all] Error 2 >> Looks like aside some other errors, it doesn't find all the .i3 >> files, though I can see all of them existing. Do I possibly have >> to tell the cm3 compiler where to find them? >> What do all the "imported interface contains errors (...)" >> messages have to mean and how to fix this ? >> Regards, >> Ronny From jdp at polstra.com Mon Jun 4 17:45:06 2007 From: jdp at polstra.com (John Polstra) Date: Mon, 04 Jun 2007 08:45:06 -0700 Subject: [M3devel] errors building cvsup wih cm3 In-Reply-To: <94308BA0-0E13-4350-8B0C-EA833655C04A@cs.purdue.edu> References: <4663E91C.1090701@elegosoft.com> <46642BBC.90500@polstra.com> <94308BA0-0E13-4350-8B0C-EA833655C04A@cs.purdue.edu> Message-ID: <46643382.5010105@polstra.com> Hmm, actually you may be closer to the right answers than I was. I don't see how the lack of the patch could explain some of those errors. John Tony Hosking wrote: > Looks like John has the answers... > > On Jun 4, 2007, at 11:11 AM, John Polstra wrote: > >> There is a patch for CVSup that you have to apply before you can build >> it with cm3. Look on the cm3 downloads page, and you'll find it. >> >> John >> >> Ronny Forberger wrote: >>> Hi there, >>> since I've been able to build the cm3 compiler successfully on Debian >>> Linux 'etch' x86, I'm faced up to some other build problem: >>> When trying to build cvsup-snap-16.1h from sources using cm3 my build >>> process stops by the following error: >>>> make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/suptcp' >>>> cm3 >>>> --- building in LINUXLIBC6 --- >>>> >>>> >>>> Fatal Error: duplicate unit: >>>> /usr/local/cm3/pkg/tcp/src/POSIX/SockOpt.i3 ../src/POSIX/SockOpt.i3 >>>> >>>> make[2]: *** [all] Error 1 >>>> make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/suptcp' >>>> ===> suplib >>>> make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/suplib' >>>> cm3 >>>> --- building in LINUXLIBC6 --- >>>> >>>> new source -> compiling TokScan.i3 >>>> "../src/TokScan.i3", line 36: unable to find interface (IP) >>>> 1 error encountered >>>> new source -> compiling FileAttr.i3 >>>> "../src/FileAttr.i3", line 33: imported interface contains errors >>>> (TokScan) >>>> 1 error encountered >>>> new source -> compiling FileAttrRep.i3 >>>> "../src/FileAttrRep.i3", line 33: imported interface contains errors >>>> (FileAttr) >>>> 1 error encountered >>>> new source -> compiling FileAttrOS.m3 >>>> "../src/POSIX/FileAttrOS.m3", line 31: imported interface contains >>>> errors (FileAttr) >>>> "../src/POSIX/FileAttrOS.m3", line 31: imported interface contains >>>> errors (FileAttrRep) >>>> 2 errors encountered >>>> new source -> compiling SupFileRec.i3 >>>> "../src/SupFileRec.i3", line 36: imported interface contains errors >>>> (FileAttr) >>>> "../src/SupFileRec.i3", line 37: imported interface contains errors >>>> (TokScan) >>>> 2 errors encountered >>>> new source -> compiling SupMisc.i3 >>>> "../src/SupMisc.i3", line 37: unable to find interface (IP) >>>> "../src/SupMisc.i3", line 37: imported interface contains errors >>>> (SupFileRec) >>>> "../src/SupMisc.i3", line 39: unable to find interface (SupTCP) >>>> 3 errors encountered >>>> new source -> compiling PathComp.m3 >>>> "../src/PathComp.m3", line 33: imported interface contains errors >>>> (SupMisc) >>>> 1 error encountered >>>> new source -> compiling ChannelMux.i3 >>>> "../src/ChannelMux.i3", line 33: unable to find interface (IP) >>>> "../src/ChannelMux.i3", line 34: unable to find interface (SupConnFD) >>>> 2 errors encountered >>>> new source -> compiling ChannelMux.m3 >>>> "../src/ChannelMux.m3", line 32: imported interface contains errors >>>> (ChannelMux) >>>> "../src/ChannelMux.m3", line 35: unable to find interface (IP) >>>> "../src/ChannelMux.m3", line 35: unable to find interface (TCP) >>>> "../src/ChannelMux.m3", line 36: unable to find interface (SupConnFD) >>>> 4 errors encountered >>>> new source -> compiling AuthMD5.i3 >>>> "../src/AuthMD5.i3", line 33: unable to find interface (IP) >>>> 1 error encountered >>>> new source -> compiling AuthMD5.m3 >>>> "../src/AuthMD5.m3", line 31: imported interface contains errors >>>> (AuthMD5) >>>> "../src/AuthMD5.m3", line 33: unable to find interface (IP) >>>> 2 errors encountered >>>> new source -> compiling TokScan.m3 >>>> "../src/TokScan.m3", line 31: imported interface contains errors >>>> (TokScan) >>>> "../src/TokScan.m3", line 34: unable to find interface (IP) >>>> "../src/TokScan.m3", line 34: imported interface contains errors >>>> (SupMisc) >>>> 3 errors encountered >>>> new source -> compiling DevT.i3 >>>> "../src/DevT.i3", line 38: imported interface contains errors (TokScan) >>>> 1 error encountered >>>> new source -> compiling UnixMisc.i3 >>>> "../src/UnixMisc.i3", line 35: unable to find interface (IP) >>>> 1 error encountered >>>> new source -> compiling FileAttr.m3 >>>> "../src/FileAttr.m3", line 31: imported interface contains errors >>>> (FileAttr) >>>> "../src/FileAttr.m3", line 31: imported interface contains errors >>>> (FileAttrRep) >>>> "../src/FileAttr.m3", line 34: imported interface contains errors >>>> (DevT) >>>> "../src/FileAttr.m3", line 35: imported interface contains errors >>>> (SupMisc) >>>> "../src/FileAttr.m3", line 36: imported interface contains errors >>>> (TokScan) >>>> "../src/FileAttr.m3", line 36: imported interface contains errors >>>> (UnixMisc) >>>> 6 errors encountered >>>> new source -> compiling FileID.i3 >>>> "../src/FileID.i3", line 33: imported interface contains errors >>>> (FileAttr) >>>> 1 error encountered >>>> new source -> compiling FileID.m3 >>>> "../src/FileID.m3", line 31: imported interface contains errors >>>> (FileID) >>>> "../src/FileID.m3", line 34: imported interface contains errors (DevT) >>>> "../src/FileID.m3", line 34: imported interface contains errors >>>> (FileAttr) >>>> "../src/FileID.m3", line 34: imported interface contains errors >>>> (FileAttrRep) >>>> 4 errors encountered >>>> new source -> compiling CVProto.i3 >>>> "../src/CVProto.i3", line 33: imported interface contains errors >>>> (FileAttr) >>>> "../src/CVProto.i3", line 33: imported interface contains errors >>>> (TokScan) >>>> 2 errors encountered >>>> new source -> compiling CVProto.m3 >>>> "../src/CVProto.m3", line 35: imported interface contains errors >>>> (CVProto) >>>> "../src/CVProto.m3", line 38: imported interface contains errors >>>> (SupMisc) >>>> "../src/CVProto.m3", line 38: imported interface contains errors >>>> (TokScan) >>>> 3 errors encountered >>>> new source -> compiling ErrMsg.m3 >>>> "../src/ErrMsg.m3", line 34: unable to find interface (IP) >>>> "../src/ErrMsg.m3", line 34: imported interface contains errors >>>> (TokScan) >>>> "../src/ErrMsg.m3", line 36: unable to find interface (SupTCP) >>>> 3 errors encountered >>>> new source -> compiling DirEntry.i3 >>>> "../src/DirEntry.i3", line 37: imported interface contains errors >>>> (FileAttr) >>>> 1 error encountered >>>> new source -> compiling DirEntry.m3 >>>> "../src/DirEntry.m3", line 31: imported interface contains errors >>>> (DirEntry) >>>> 1 error encountered >>>> new source -> compiling DirEntryList.i3 >>>> "../LINUXLIBC6/DirEntryList.i3 => >>>> /usr/local/cm3/pkg/libm3/src/list/List.ig", line 29: imported >>>> interface contains errors (DirEntry) >>>> 1 error encountered >>>> new source -> compiling DirEntryList.m3 >>>> "../LINUXLIBC6/DirEntryList.m3", line 3: imported interface contains >>>> errors (DirEntryList) >>>> "../LINUXLIBC6/DirEntryList.m3 => >>>> /usr/local/cm3/pkg/libm3/src/list/List.mg", line 11: imported >>>> interface contains errors (DirEntry) >>>> 2 errors encountered >>>> new source -> compiling DirEntryListSort.i3 >>>> "../LINUXLIBC6/DirEntryListSort.i3 => >>>> /usr/local/cm3/pkg/libm3/src/list/ListSort.ig", line 28: imported >>>> interface contains errors (DirEntry) >>>> "../LINUXLIBC6/DirEntryListSort.i3 => >>>> /usr/local/cm3/pkg/libm3/src/list/ListSort.ig", line 28: imported >>>> interface contains errors (DirEntryList) >>>> 2 errors encountered >>>> new source -> compiling DirEntryListSort.m3 >>>> "../LINUXLIBC6/DirEntryListSort.m3", line 3: imported interface >>>> contains errors (DirEntryListSort) >>>> "../LINUXLIBC6/DirEntryListSort.m3 => >>>> /usr/local/cm3/pkg/libm3/src/list/ListSort.mg", line 10: imported >>>> interface contains errors (DirEntry) >>>> 2 errors encountered >>>> new source -> compiling RCSDate.m3 >>>> "../src/RCSDate.m3", line 34: imported interface contains errors >>>> (TokScan) >>>> 1 error encountered >>>> new source -> compiling RCSFile.i3 >>>> "../src/RCSFile.i3", line 37: imported interface contains errors >>>> (FileAttr) >>>> 1 error encountered >>>> new source -> compiling RCSDeltaClass.i3 >>>> "../src/RCSDeltaClass.i3", line 37: imported interface contains >>>> errors (RCSFile) >>>> 1 error encountered >>>> new source -> compiling RCSDelta.m3 >>>> "../src/RCSDelta.m3", line 31: imported interface contains errors >>>> (RCSDeltaClass) >>>> "../src/RCSDelta.m3", line 34: imported interface contains errors >>>> (RCSFile) >>>> "../src/RCSDelta.m3", line 35: imported interface contains errors >>>> (TokScan) >>>> 3 errors encountered >>>> new source -> compiling RCSKeyword.m3 >>>> "../src/RCSKeyword.m3", line 34: imported interface contains errors >>>> (RCSDeltaClass) >>>> "../src/RCSKeyword.m3", line 35: imported interface contains errors >>>> (SupMisc) >>>> 2 errors encountered >>>> new source -> compiling RCSFile.m3 >>>> "../src/RCSFile.m3", line 31: imported interface contains errors >>>> (RCSFile) >>>> "../src/RCSFile.m3", line 34: imported interface contains errors >>>> (FileAttr) >>>> "../src/RCSFile.m3", line 36: imported interface contains errors >>>> (RCSDeltaClass) >>>> "../src/RCSFile.m3", line 39: imported interface contains errors >>>> (TokScan) >>>> "../src/RCSFile.m3", line 39: imported interface contains errors >>>> (UnixMisc) >>>> 5 errors encountered >>>> new source -> compiling SupFileRec.m3 >>>> "../src/SupFileRec.m3", line 31: imported interface contains errors >>>> (SupFileRec) >>>> "../src/SupFileRec.m3", line 34: imported interface contains errors >>>> (FileAttr) >>>> "../src/SupFileRec.m3", line 35: imported interface contains errors >>>> (TokScan) >>>> 3 errors encountered >>>> new source -> compiling SupMisc.m3 >>>> "../src/SupMisc.m3", line 31: imported interface contains errors >>>> (SupMisc) >>>> "../src/SupMisc.m3", line 34: imported interface contains errors >>>> (FileAttr) >>>> "../src/SupMisc.m3", line 34: unable to find interface (IP) >>>> "../src/SupMisc.m3", line 35: imported interface contains errors >>>> (SupFileRec) >>>> "../src/SupMisc.m3", line 36: imported interface contains errors >>>> (TokScan) >>>> "../src/SupMisc.m3", line 37: unable to find interface (SupTCP) >>>> 6 errors encountered >>>> new source -> compiling FileStatus.i3 >>>> "../src/FileStatus.i3", line 33: imported interface contains errors >>>> (FileAttr) >>>> 1 error encountered >>>> new source -> compiling FileStatusRaw.i3 >>>> "../src/FileStatusRaw.i3", line 33: imported interface contains >>>> errors (FileStatus) >>>> 1 error encountered >>>> new source -> compiling FileStatus.m3 >>>> "../src/FileStatus.m3", line 31: imported interface contains errors >>>> (FileStatus) >>>> "../src/FileStatus.m3", line 31: imported interface contains errors >>>> (FileStatusRaw) >>>> "../src/FileStatus.m3", line 34: imported interface contains errors >>>> (FileAttr) >>>> "../src/FileStatus.m3", line 34: imported interface contains errors >>>> (SupMisc) >>>> "../src/FileStatus.m3", line 34: imported interface contains errors >>>> (TokScan) >>>> 5 errors encountered >>>> new source -> compiling StatusFile.i3 >>>> "../src/StatusFile.i3", line 33: imported interface contains errors >>>> (FileStatus) >>>> "../src/StatusFile.i3", line 33: imported interface contains errors >>>> (SupFileRec) >>>> 2 errors encountered >>>> new source -> compiling StatusFile.m3 >>>> "../src/StatusFile.m3", line 31: imported interface contains errors >>>> (StatusFile) >>>> "../src/StatusFile.m3", line 34: imported interface contains errors >>>> (FileAttr) >>>> "../src/StatusFile.m3", line 34: imported interface contains errors >>>> (FileStatus) >>>> "../src/StatusFile.m3", line 34: imported interface contains errors >>>> (FileStatusRaw) >>>> "../src/StatusFile.m3", line 35: imported interface contains errors >>>> (SupFileRec) >>>> "../src/StatusFile.m3", line 35: imported interface contains errors >>>> (SupMisc) >>>> 6 errors encountered >>>> new source -> compiling CVTree.i3 >>>> "../src/CVTree.i3", line 37: imported interface contains errors >>>> (FileAttr) >>>> 1 error encountered >>>> new source -> compiling CVTree.m3 >>>> "../src/CVTree.m3", line 31: imported interface contains errors >>>> (CVTree) >>>> "../src/CVTree.m3", line 34: imported interface contains errors >>>> (DirEntry) >>>> "../src/CVTree.m3", line 34: imported interface contains errors >>>> (DirEntryList) >>>> "../src/CVTree.m3", line 34: imported interface contains errors >>>> (DirEntryListSort) >>>> "../src/CVTree.m3", line 34: imported interface contains errors >>>> (FileAttr) >>>> "../src/CVTree.m3", line 35: imported interface contains errors >>>> (SupMisc) >>>> 6 errors encountered >>>> new source -> compiling GzipRd.i3 >>>> "../src/GzipRd.i3", line 36: unable to find interface (StreamRd) >>>> 1 error encountered >>>> new source -> compiling GzipRd.m3 >>>> "../src/GzipRd.m3", line 31: imported interface contains errors >>>> (GzipRd) >>>> "../src/GzipRd.m3", line 34: unable to find interface (StreamRdClass) >>>> 2 errors encountered >>>> new source -> compiling GzipWr.i3 >>>> "../src/GzipWr.i3", line 36: unable to find interface (StreamWr) >>>> 1 error encountered >>>> new source -> compiling GzipWr.m3 >>>> "../src/GzipWr.m3", line 31: imported interface contains errors >>>> (GzipWr) >>>> "../src/GzipWr.m3", line 34: unable to find interface (StreamWrClass) >>>> 2 errors encountered >>>> new source -> compiling RsyncFile.i3 >>>> "../src/RsyncFile.i3", line 33: imported interface contains errors >>>> (FileAttr) >>>> 1 error encountered >>>> new source -> compiling RsyncFile.m3 >>>> "../src/RsyncFile.m3", line 31: imported interface contains errors >>>> (RsyncFile) >>>> "../src/RsyncFile.m3", line 34: imported interface contains errors >>>> (FileAttr) >>>> "../src/RsyncFile.m3", line 35: imported interface contains errors >>>> (UnixMisc) >>>> 3 errors encountered >>>> new source -> compiling SigHandler.m3 >>>> "../src/SigHandler.m3", line 48: imported interface contains errors >>>> (UnixMisc) >>>> "../src/SigHandler.m3", line 50: unable to find interface (SupErrno) >>>> 2 errors encountered >>>> new source -> compiling UnixMisc.m3 >>>> "../src/UnixMisc.m3", line 31: imported interface contains errors >>>> (UnixMisc) >>>> "../src/UnixMisc.m3", line 34: unable to find interface (IP) >>>> 2 errors encountered >>>> new source -> compiling Attic.i3 >>>> "../src/Attic.i3", line 37: imported interface contains errors >>>> (FileAttr) >>>> "../src/Attic.i3", line 37: imported interface contains errors >>>> (RCSFile) >>>> 2 errors encountered >>>> new source -> compiling Attic.m3 >>>> "../src/Attic.m3", line 31: imported interface contains errors (Attic) >>>> "../src/Attic.m3", line 34: imported interface contains errors >>>> (FileAttr) >>>> "../src/Attic.m3", line 34: imported interface contains errors >>>> (RCSFile) >>>> "../src/Attic.m3", line 35: imported interface contains errors >>>> (SupMisc) >>>> "../src/Attic.m3", line 35: imported interface contains errors >>>> (UnixMisc) >>>> 5 errors encountered >>>> new source -> compiling DevTLinux.i3 >>>> "../src/dev_t_linux/DevTLinux.i3", line 38: imported interface >>>> contains errors (DevT) >>>> 1 error encountered >>>> new source -> compiling DevT.m3 >>>> "../src/dev_t_linux/DevT.m3", line 31: imported interface contains >>>> errors (DevT) >>>> "../src/dev_t_linux/DevT.m3", line 34: imported interface contains >>>> errors (DevTLinux) >>>> "../src/dev_t_linux/DevT.m3", line 34: imported interface contains >>>> errors (TokScan) >>>> 3 errors encountered >>>> new source -> compiling SupMiscText.m3 >>>> "../src/text_cm3/SupMiscText.m3", line 35: imported interface >>>> contains errors (SupMisc) >>>> 1 error encountered >>>> compilation failed => not building library "libsuplib.a" >>>> Fatal Error: package build failed >>>> make[2]: *** [all] Error 1 >>>> make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/suplib' >>>> ===> server >>>> make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/server' >>>> cm3 >>>> --- building in LINUXLIBC6 --- >>>> >>>> package "suptcp" is already overridden to >>>> /home/rforb/work/cvsup-snap-16.1h/server/src/../.., ignoring new >>>> override to /home/rforb/work/cvsup-snap-16.1h/suplib/src/../.. >>>> >>>> >>>> Fatal Error: missing source file: FileAttr.i3 >>>> >>>> make[2]: *** [all] Error 1 >>>> make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/server' >>>> ===> client >>>> make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/client' >>>> cm3 >>>> --- building in LINUXLIBC6 --- >>>> >>>> package "suptcp" is already overridden to >>>> /home/rforb/work/cvsup-snap-16.1h/client/src/../.., ignoring new >>>> override to /home/rforb/work/cvsup-snap-16.1h/suplib/src/../.. >>>> >>>> >>>> Fatal Error: missing source file: SupFileRec.i3 >>>> >>>> make[2]: *** [all] Error 1 >>>> make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/client' >>>> ===> cvpasswd >>>> make[2]: Entering directory >>>> `/home/rforb/work/cvsup-snap-16.1h/cvpasswd' >>>> cm3 >>>> --- building in LINUXLIBC6 --- >>>> >>>> >>>> Fatal Error: missing source file: AuthMD5.i3 >>>> >>>> make[2]: *** [all] Error 1 >>>> make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/cvpasswd' >>>> make[1]: *** [subdirs] Error 2 >>>> make[1]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h' >>>> make: *** [all] Error 2 >>> Looks like aside some other errors, it doesn't find all the .i3 >>> files, though I can see all of them existing. Do I possibly have to >>> tell the cm3 compiler where to find them? >>> What do all the "imported interface contains errors (...)" messages >>> have to mean and how to fix this ? >>> Regards, >>> Ronny > From hosking at cs.purdue.edu Mon Jun 4 21:37:27 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Mon, 4 Jun 2007 15:37:27 -0400 Subject: [M3devel] Virtual-Memory synchronized GC Message-ID: I would like to remove the now-deprecated VM-synchronized GC support so as to be able to tidy up the GC implementation, making it more easily maintained, and in preparation for further improvements to GC. Is there anyone who has an interest in seeing VM-synchronized GC continuing to be supported? Antony Hosking | Associate Professor Dept of Computer Science | Office: +1 765 494-6001 Purdue University | Mobile: +1 765 427-5484 250 N. University Street | Email: hosking at cs.purdue.edu West Lafayette, IN 47907-2066 | http://www.cs.purdue.edu/~hosking _--_|\ / \ \_.--._/ ) v / From dabenavidesd at yahoo.es Tue Jun 5 04:30:41 2007 From: dabenavidesd at yahoo.es (Daniel Alejandro Benavides D.) Date: Tue, 5 Jun 2007 04:30:41 +0200 (CEST) Subject: [M3devel] errors building cvsup wih cm3 In-Reply-To: <46643382.5010105@polstra.com> Message-ID: <20070605023041.71990.qmail@web27105.mail.ukl.yahoo.com> Hi, One of the problems I had when compiling cvsup with current cm3 on suplib/src/FileAttr.m3 when calling utime.gettimeofday because of the definition of the function Utime <*EXTERNAL*> PROCEDURE gettimeofday (VAR t: struct_timeval; z: UNTRACED REF struct_timezone := NIL): int in the z parameter have changed, the patch was written before this change in the procedure. The FileAttr.m3 uses the function on line 746: EVAL Utime.gettimeofday(times[0], tz); tz is declared before in line 744: tz: UNTRACED REF Utime.struct_timezone:=NIL; The program compiles as explained in the guide: http://es.geocities.com/dabenavidesd/InstallationGuidecm3-Modula-3.html#SECTION00060000000000000000 I didnt have any more problems compiling cvsup with cm3. Sorry by the late posting of this issue. --- John Polstra wrote: > Hmm, actually you may be closer to the right answers > than I was. I > don't see how the lack of the patch could explain > some of those errors. > > John > > > Tony Hosking wrote: > > Looks like John has the answers... > > > > On Jun 4, 2007, at 11:11 AM, John Polstra wrote: > > > >> There is a patch for CVSup that you have to apply > before you can build > >> it with cm3. Look on the cm3 downloads page, and > you'll find it. > >> > >> John > >> > >> Ronny Forberger wrote: > >>> Hi there, > >>> since I've been able to build the cm3 compiler > successfully on Debian > >>> Linux 'etch' x86, I'm faced up to some other > build problem: > >>> When trying to build cvsup-snap-16.1h from > sources using cm3 my build > >>> process stops by the following error: > >>>> make[2]: Entering directory > `/home/rforb/work/cvsup-snap-16.1h/suptcp' > >>>> cm3 > >>>> --- building in LINUXLIBC6 --- > >>>> > >>>> > >>>> Fatal Error: duplicate unit: > >>>> /usr/local/cm3/pkg/tcp/src/POSIX/SockOpt.i3 > ../src/POSIX/SockOpt.i3 > >>>> > >>>> make[2]: *** [all] Error 1 > >>>> make[2]: Leaving directory > `/home/rforb/work/cvsup-snap-16.1h/suptcp' > >>>> ===> suplib > >>>> make[2]: Entering directory > `/home/rforb/work/cvsup-snap-16.1h/suplib' > >>>> cm3 > >>>> --- building in LINUXLIBC6 --- > >>>> > >>>> new source -> compiling TokScan.i3 > >>>> "../src/TokScan.i3", line 36: unable to find > interface (IP) > >>>> 1 error encountered > >>>> new source -> compiling FileAttr.i3 > >>>> "../src/FileAttr.i3", line 33: imported > interface contains errors > >>>> (TokScan) > >>>> 1 error encountered > >>>> new source -> compiling FileAttrRep.i3 > >>>> "../src/FileAttrRep.i3", line 33: imported > interface contains errors > >>>> (FileAttr) > >>>> 1 error encountered > >>>> new source -> compiling FileAttrOS.m3 > >>>> "../src/POSIX/FileAttrOS.m3", line 31: imported > interface contains > >>>> errors (FileAttr) > >>>> "../src/POSIX/FileAttrOS.m3", line 31: imported > interface contains > >>>> errors (FileAttrRep) > >>>> 2 errors encountered > >>>> new source -> compiling SupFileRec.i3 > >>>> "../src/SupFileRec.i3", line 36: imported > interface contains errors > >>>> (FileAttr) > >>>> "../src/SupFileRec.i3", line 37: imported > interface contains errors > >>>> (TokScan) > >>>> 2 errors encountered > >>>> new source -> compiling SupMisc.i3 > >>>> "../src/SupMisc.i3", line 37: unable to find > interface (IP) > >>>> "../src/SupMisc.i3", line 37: imported > interface contains errors > >>>> (SupFileRec) > >>>> "../src/SupMisc.i3", line 39: unable to find > interface (SupTCP) > >>>> 3 errors encountered > >>>> new source -> compiling PathComp.m3 > >>>> "../src/PathComp.m3", line 33: imported > interface contains errors > >>>> (SupMisc) > >>>> 1 error encountered > >>>> new source -> compiling ChannelMux.i3 > >>>> "../src/ChannelMux.i3", line 33: unable to find > interface (IP) > >>>> "../src/ChannelMux.i3", line 34: unable to find > interface (SupConnFD) > >>>> 2 errors encountered > >>>> new source -> compiling ChannelMux.m3 > >>>> "../src/ChannelMux.m3", line 32: imported > interface contains errors > >>>> (ChannelMux) > >>>> "../src/ChannelMux.m3", line 35: unable to find > interface (IP) > >>>> "../src/ChannelMux.m3", line 35: unable to find > interface (TCP) > >>>> "../src/ChannelMux.m3", line 36: unable to find > interface (SupConnFD) > >>>> 4 errors encountered > >>>> new source -> compiling AuthMD5.i3 > >>>> "../src/AuthMD5.i3", line 33: unable to find > interface (IP) > >>>> 1 error encountered > >>>> new source -> compiling AuthMD5.m3 > >>>> "../src/AuthMD5.m3", line 31: imported > interface contains errors > >>>> (AuthMD5) > >>>> "../src/AuthMD5.m3", line 33: unable to find > interface (IP) > >>>> 2 errors encountered > >>>> new source -> compiling TokScan.m3 > >>>> "../src/TokScan.m3", line 31: imported > interface contains errors > >>>> (TokScan) > >>>> "../src/TokScan.m3", line 34: unable to find > interface (IP) > >>>> "../src/TokScan.m3", line 34: imported > interface contains errors > >>>> (SupMisc) > >>>> 3 errors encountered > >>>> new source -> compiling DevT.i3 > >>>> "../src/DevT.i3", line 38: imported interface > contains errors (TokScan) > >>>> 1 error encountered > >>>> new source -> compiling UnixMisc.i3 > >>>> "../src/UnixMisc.i3", line 35: unable to find > interface (IP) > >>>> 1 error encountered > >>>> new source -> compiling FileAttr.m3 > >>>> "../src/FileAttr.m3", line 31: imported > interface contains errors > >>>> (FileAttr) > >>>> "../src/FileAttr.m3", line 31: imported > interface contains errors > >>>> (FileAttrRep) > >>>> "../src/FileAttr.m3", line 34: imported > interface contains errors > >>>> (DevT) > >>>> "../src/FileAttr.m3", line 35: imported > interface contains errors > >>>> (SupMisc) > >>>> "../src/FileAttr.m3", line 36: imported > interface contains errors > >>>> (TokScan) > >>>> "../src/FileAttr.m3", line 36: imported > interface contains errors > >>>> (UnixMisc) > >>>> 6 errors encountered > >>>> new source -> compiling FileID.i3 > >>>> "../src/FileID.i3", line 33: imported interface > contains errors > >>>> (FileAttr) > >>>> 1 error encountered > >>>> new source -> compiling FileID.m3 > >>>> "../src/FileID.m3", line 31: imported interface > contains errors > >>>> (FileID) > >>>> "../src/FileID.m3", line 34: imported interface > contains errors (DevT) > >>>> "../src/FileID.m3", line 34: imported interface > contains errors > >>>> (FileAttr) > >>>> "../src/FileID.m3", line 34: imported interface > contains errors > >>>> (FileAttrRep) > >>>> 4 errors encountered > >>>> new source -> compiling CVProto.i3 > >>>> "../src/CVProto.i3", line 33: imported > interface contains errors > >>>> (FileAttr) > >>>> "../src/CVProto.i3", line 33: imported > interface contains errors > >>>> (TokScan) > >>>> 2 errors encountered > >>>> new source -> compiling CVProto.m3 > >>>> "../src/CVProto.m3", line 35: imported > interface contains errors > >>>> (CVProto) > >>>> "../src/CVProto.m3", line 38: imported > interface contains errors > >>>> (SupMisc) > >>>> "../src/CVProto.m3", line 38: imported > interface contains errors > >>>> (TokScan) > >>>> 3 errors encountered > >>>> new source -> compiling ErrMsg.m3 > >>>> "../src/ErrMsg.m3", line 34: unable to find > interface (IP) > >>>> "../src/ErrMsg.m3", line 34: imported interface > contains errors > >>>> (TokScan) > === message truncated === ______________________________________________ LLama Gratis a cualquier PC del Mundo. Llamadas a fijos y m?viles desde 1 c?ntimo por minuto. http://es.voice.yahoo.com From dabenavidesd at yahoo.es Tue Jun 5 06:22:28 2007 From: dabenavidesd at yahoo.es (Daniel Alejandro Benavides D.) Date: Tue, 5 Jun 2007 06:22:28 +0200 (CEST) Subject: [M3devel] errors building cvsup wih cm3 In-Reply-To: <20070605023041.71990.qmail@web27105.mail.ukl.yahoo.com> Message-ID: <780447.73599.qm@web27104.mail.ukl.yahoo.com> Hi, I have actually wrote a little omission, the current declaration of the varible on the suplib/src/FileAttr.m3, line 744 is: tz: Utime.struct_timezone; So as the compiler complains I have change it to tz: UNTRACED REF Utime.struct_timezone:=NIL; Thanks, --- "Daniel Alejandro Benavides D." wrote: > Hi, > One of the problems I had when compiling cvsup with > current cm3 on suplib/src/FileAttr.m3 > when calling utime.gettimeofday because of the > definition of the function Utime > <*EXTERNAL*> > PROCEDURE gettimeofday (VAR t: struct_timeval; > z: UNTRACED REF > struct_timezone := NIL): int > > in the z parameter have changed, the patch was > written > before this change in the procedure. > > The FileAttr.m3 uses the function on line 746: > EVAL Utime.gettimeofday(times[0], tz); > > tz is declared before in line 744: > tz: UNTRACED REF Utime.struct_timezone:=NIL; > > The program compiles as explained in the guide: > http://es.geocities.com/dabenavidesd/InstallationGuidecm3-Modula-3.html#SECTION00060000000000000000 > > I didnt have any more problems compiling cvsup with > cm3. > > Sorry by the late posting of this issue. > > > --- John Polstra wrote: > > > Hmm, actually you may be closer to the right > answers > > than I was. I > > don't see how the lack of the patch could explain > > some of those errors. > > > > John > > > > > > Tony Hosking wrote: > > > Looks like John has the answers... > > > > > > On Jun 4, 2007, at 11:11 AM, John Polstra wrote: > > > > > >> There is a patch for CVSup that you have to > apply > > before you can build > > >> it with cm3. Look on the cm3 downloads page, > and > > you'll find it. > > >> > > >> John > > >> > > >> Ronny Forberger wrote: > > >>> Hi there, > > >>> since I've been able to build the cm3 compiler > > successfully on Debian > > >>> Linux 'etch' x86, I'm faced up to some other > > build problem: > > >>> When trying to build cvsup-snap-16.1h from > > sources using cm3 my build > > >>> process stops by the following error: > > >>>> make[2]: Entering directory > > `/home/rforb/work/cvsup-snap-16.1h/suptcp' > > >>>> cm3 > > >>>> --- building in LINUXLIBC6 --- > > >>>> > > >>>> > > >>>> Fatal Error: duplicate unit: > > >>>> /usr/local/cm3/pkg/tcp/src/POSIX/SockOpt.i3 > > ../src/POSIX/SockOpt.i3 > > >>>> > > >>>> make[2]: *** [all] Error 1 > > >>>> make[2]: Leaving directory > > `/home/rforb/work/cvsup-snap-16.1h/suptcp' > > >>>> ===> suplib > > >>>> make[2]: Entering directory > > `/home/rforb/work/cvsup-snap-16.1h/suplib' > > >>>> cm3 > > >>>> --- building in LINUXLIBC6 --- > > >>>> > > >>>> new source -> compiling TokScan.i3 > > >>>> "../src/TokScan.i3", line 36: unable to find > > interface (IP) > > >>>> 1 error encountered > > >>>> new source -> compiling FileAttr.i3 > > >>>> "../src/FileAttr.i3", line 33: imported > > interface contains errors > > >>>> (TokScan) > > >>>> 1 error encountered > > >>>> new source -> compiling FileAttrRep.i3 > > >>>> "../src/FileAttrRep.i3", line 33: imported > > interface contains errors > > >>>> (FileAttr) > > >>>> 1 error encountered > > >>>> new source -> compiling FileAttrOS.m3 > > >>>> "../src/POSIX/FileAttrOS.m3", line 31: > imported > > interface contains > > >>>> errors (FileAttr) > > >>>> "../src/POSIX/FileAttrOS.m3", line 31: > imported > > interface contains > > >>>> errors (FileAttrRep) > > >>>> 2 errors encountered > > >>>> new source -> compiling SupFileRec.i3 > > >>>> "../src/SupFileRec.i3", line 36: imported > > interface contains errors > > >>>> (FileAttr) > > >>>> "../src/SupFileRec.i3", line 37: imported > > interface contains errors > > >>>> (TokScan) > > >>>> 2 errors encountered > > >>>> new source -> compiling SupMisc.i3 > > >>>> "../src/SupMisc.i3", line 37: unable to find > > interface (IP) > > >>>> "../src/SupMisc.i3", line 37: imported > > interface contains errors > > >>>> (SupFileRec) > > >>>> "../src/SupMisc.i3", line 39: unable to find > > interface (SupTCP) > > >>>> 3 errors encountered > > >>>> new source -> compiling PathComp.m3 > > >>>> "../src/PathComp.m3", line 33: imported > > interface contains errors > > >>>> (SupMisc) > > >>>> 1 error encountered > > >>>> new source -> compiling ChannelMux.i3 > > >>>> "../src/ChannelMux.i3", line 33: unable to > find > > interface (IP) > > >>>> "../src/ChannelMux.i3", line 34: unable to > find > > interface (SupConnFD) > > >>>> 2 errors encountered > > >>>> new source -> compiling ChannelMux.m3 > > >>>> "../src/ChannelMux.m3", line 32: imported > > interface contains errors > > >>>> (ChannelMux) > > >>>> "../src/ChannelMux.m3", line 35: unable to > find > > interface (IP) > > >>>> "../src/ChannelMux.m3", line 35: unable to > find > > interface (TCP) > > >>>> "../src/ChannelMux.m3", line 36: unable to > find > > interface (SupConnFD) > > >>>> 4 errors encountered > > >>>> new source -> compiling AuthMD5.i3 > > >>>> "../src/AuthMD5.i3", line 33: unable to find > > interface (IP) > > >>>> 1 error encountered > > >>>> new source -> compiling AuthMD5.m3 > > >>>> "../src/AuthMD5.m3", line 31: imported > > interface contains errors > > >>>> (AuthMD5) > > >>>> "../src/AuthMD5.m3", line 33: unable to find > > interface (IP) > > >>>> 2 errors encountered > > >>>> new source -> compiling TokScan.m3 > > >>>> "../src/TokScan.m3", line 31: imported > > interface contains errors > > >>>> (TokScan) > > >>>> "../src/TokScan.m3", line 34: unable to find > > interface (IP) > > >>>> "../src/TokScan.m3", line 34: imported > > interface contains errors > > >>>> (SupMisc) > > >>>> 3 errors encountered > > >>>> new source -> compiling DevT.i3 > > >>>> "../src/DevT.i3", line 38: imported interface > > contains errors (TokScan) > > >>>> 1 error encountered > > >>>> new source -> compiling UnixMisc.i3 > > >>>> "../src/UnixMisc.i3", line 35: unable to find > > interface (IP) > > >>>> 1 error encountered > > >>>> new source -> compiling FileAttr.m3 > > >>>> "../src/FileAttr.m3", line 31: imported > > interface contains errors > > >>>> (FileAttr) > > >>>> "../src/FileAttr.m3", line 31: imported > > interface contains errors > > >>>> (FileAttrRep) > > >>>> "../src/FileAttr.m3", line 34: imported > > interface contains errors > > >>>> (DevT) > > >>>> "../src/FileAttr.m3", line 35: imported > > interface contains errors > > >>>> (SupMisc) > > >>>> "../src/FileAttr.m3", line 36: imported > > interface contains errors > > >>>> (TokScan) > > >>>> "../src/FileAttr.m3", line 36: imported > > interface contains errors > > >>>> (UnixMisc) > > >>>> 6 errors encountered > > >>>> new source -> compiling FileID.i3 > > >>>> "../src/FileID.i3", line 33: imported > interface > === message truncated === ______________________________________________ LLama Gratis a cualquier PC del Mundo. Llamadas a fijos y m?viles desde 1 c?ntimo por minuto. http://es.voice.yahoo.com From wagner at elegosoft.com Tue Jun 5 09:26:17 2007 From: wagner at elegosoft.com (Olaf Wagner) Date: Tue, 5 Jun 2007 09:26:17 +0200 (CEST) Subject: [M3devel] Virtual-Memory synchronized GC In-Reply-To: References: Message-ID: <41733.194.138.127.36.1181028377.squirrel@mail.elegosoft.com> On Mon, June 4, 2007 9:37 pm, Tony Hosking wrote: > I would like to remove the now-deprecated VM-synchronized GC support > so as to be able to tidy up the GC implementation, making it more > easily maintained, and in preparation for further improvements to > GC. Is there anyone who has an interest in seeing VM-synchronized GC > continuing to be supported? I wouldn't mind if you remove the old gargabe collection scheme, as the new one seems to have proven its stability. Olaf -- Olaf Wagner -- elego Software Solutions GmbH, Ohmstr. 9, 10179 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 ronny.forberger at elegosoft.com Tue Jun 5 10:59:51 2007 From: ronny.forberger at elegosoft.com (Ronny Forberger) Date: Tue, 05 Jun 2007 10:59:51 +0200 Subject: [M3devel] errors building cvsup wih cm3 In-Reply-To: <46642BBC.90500@polstra.com> References: <4663E91C.1090701@elegosoft.com> <46642BBC.90500@polstra.com> Message-ID: <46652607.6060403@elegosoft.com> Thanks, I didn't know about the patch. But now having applied the patch I'm still getting strange errors running make: > new source -> compiling Main.m3 > -> linking cvpasswd > > Fatal Error: incomplete program > > FileAttr.GetLinkCount: is exported, but not implemented: FileAttr.i3 > FileAttr.SetSize: is exported, but not implemented: FileAttr.i3 > FileAttr.MaskOut: is exported, but not implemented: FileAttr.i3 > FileAttr.DecodeAttrTypes: is exported, but not implemented: FileAttr.i3 > FileAttr.Merge: is exported, but not implemented: FileAttr.i3 > FileAttr.Override: is exported, but not implemented: FileAttr.i3 > FileAttr.GetSize: is exported, but not implemented: FileAttr.i3 > FileAttr.GetLinkTarget: is exported, but not implemented: FileAttr.i3 > FileAttr.EncodeAttrTypes: is exported, but not implemented: FileAttr.i3 > FileAttr.GetMask: is exported, but not implemented: FileAttr.i3 > FileAttr.FromFD: is exported, but not implemented: FileAttr.i3 > FileAttr.ForCheckout: is exported, but not implemented: FileAttr.i3 > FileAttr.FromFile: is exported, but not implemented: FileAttr.i3 > FileAttr.IsSupported: is exported, but not implemented: FileAttr.i3 > FileAttr.HardLink: is exported, but not implemented: FileAttr.i3 > FileAttr.Delete: is exported, but not implemented: FileAttr.i3 > FileAttr.GetMode: is exported, but not implemented: FileAttr.i3 > FileAttr.FromStat: is exported, but not implemented: FileAttr.i3 > RCSFile.m3 > FileAttr.FromPathname: is exported, but not implemented: FileAttr.i3 > SupMisc.m3 > FileAttr.GetModTime: is exported, but not implemented: FileAttr.i3 > RCSFile.m3 > FileAttr.MakeNode: is exported, but not implemented: FileAttr.i3 > SupMisc.m3 > FileAttr.Umask: is exported, but not implemented: FileAttr.i3 SupMisc.m3 > FileAttr.Install: is exported, but not implemented: FileAttr.i3 > SupMisc.m3 > FileAttr.MergeDefault: is exported, but not implemented: FileAttr.i3 > SupMisc.m3 > FileAttr.Decode: is exported, but not implemented: FileAttr.i3 > FileAttr.Equal: is exported, but not implemented: FileAttr.i3 > FileAttr.Encode: is exported, but not implemented: FileAttr.i3 > make[2]: *** [all] Error 1 > make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/cvpasswd' > make[1]: *** [subdirs] Error 2 > make[1]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h' > make: *** [all] Error 2 These messages repeat for all binary programs to be linked. So, any ideas again ? Ronny John Polstra wrote: > There is a patch for CVSup that you have to apply before you can build > it with cm3. Look on the cm3 downloads page, and you'll find it. > > John > > Ronny Forberger wrote: > >> Hi there, >> >> since I've been able to build the cm3 compiler successfully on Debian >> Linux 'etch' x86, I'm faced up to some other build problem: >> >> When trying to build cvsup-snap-16.1h from sources using cm3 my build >> process stops by the following error: >> >>> make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/suptcp' >>> cm3 >>> --- building in LINUXLIBC6 --- >>> >>> >>> Fatal Error: duplicate unit: >>> /usr/local/cm3/pkg/tcp/src/POSIX/SockOpt.i3 ../src/POSIX/SockOpt.i3 >>> >>> make[2]: *** [all] Error 1 >>> make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/suptcp' >>> ===> suplib >>> make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/suplib' >>> cm3 >>> --- building in LINUXLIBC6 --- >>> >>> new source -> compiling TokScan.i3 >>> "../src/TokScan.i3", line 36: unable to find interface (IP) >>> 1 error encountered >>> new source -> compiling FileAttr.i3 >>> "../src/FileAttr.i3", line 33: imported interface contains errors >>> (TokScan) >>> 1 error encountered >>> new source -> compiling FileAttrRep.i3 >>> "../src/FileAttrRep.i3", line 33: imported interface contains errors >>> (FileAttr) >>> 1 error encountered >>> new source -> compiling FileAttrOS.m3 >>> "../src/POSIX/FileAttrOS.m3", line 31: imported interface contains >>> errors (FileAttr) >>> "../src/POSIX/FileAttrOS.m3", line 31: imported interface contains >>> errors (FileAttrRep) >>> 2 errors encountered >>> new source -> compiling SupFileRec.i3 >>> "../src/SupFileRec.i3", line 36: imported interface contains errors >>> (FileAttr) >>> "../src/SupFileRec.i3", line 37: imported interface contains errors >>> (TokScan) >>> 2 errors encountered >>> new source -> compiling SupMisc.i3 >>> "../src/SupMisc.i3", line 37: unable to find interface (IP) >>> "../src/SupMisc.i3", line 37: imported interface contains errors >>> (SupFileRec) >>> "../src/SupMisc.i3", line 39: unable to find interface (SupTCP) >>> 3 errors encountered >>> new source -> compiling PathComp.m3 >>> "../src/PathComp.m3", line 33: imported interface contains errors >>> (SupMisc) >>> 1 error encountered >>> new source -> compiling ChannelMux.i3 >>> "../src/ChannelMux.i3", line 33: unable to find interface (IP) >>> "../src/ChannelMux.i3", line 34: unable to find interface (SupConnFD) >>> 2 errors encountered >>> new source -> compiling ChannelMux.m3 >>> "../src/ChannelMux.m3", line 32: imported interface contains errors >>> (ChannelMux) >>> "../src/ChannelMux.m3", line 35: unable to find interface (IP) >>> "../src/ChannelMux.m3", line 35: unable to find interface (TCP) >>> "../src/ChannelMux.m3", line 36: unable to find interface (SupConnFD) >>> 4 errors encountered >>> new source -> compiling AuthMD5.i3 >>> "../src/AuthMD5.i3", line 33: unable to find interface (IP) >>> 1 error encountered >>> new source -> compiling AuthMD5.m3 >>> "../src/AuthMD5.m3", line 31: imported interface contains errors >>> (AuthMD5) >>> "../src/AuthMD5.m3", line 33: unable to find interface (IP) >>> 2 errors encountered >>> new source -> compiling TokScan.m3 >>> "../src/TokScan.m3", line 31: imported interface contains errors >>> (TokScan) >>> "../src/TokScan.m3", line 34: unable to find interface (IP) >>> "../src/TokScan.m3", line 34: imported interface contains errors >>> (SupMisc) >>> 3 errors encountered >>> new source -> compiling DevT.i3 >>> "../src/DevT.i3", line 38: imported interface contains errors (TokScan) >>> 1 error encountered >>> new source -> compiling UnixMisc.i3 >>> "../src/UnixMisc.i3", line 35: unable to find interface (IP) >>> 1 error encountered >>> new source -> compiling FileAttr.m3 >>> "../src/FileAttr.m3", line 31: imported interface contains errors >>> (FileAttr) >>> "../src/FileAttr.m3", line 31: imported interface contains errors >>> (FileAttrRep) >>> "../src/FileAttr.m3", line 34: imported interface contains errors >>> (DevT) >>> "../src/FileAttr.m3", line 35: imported interface contains errors >>> (SupMisc) >>> "../src/FileAttr.m3", line 36: imported interface contains errors >>> (TokScan) >>> "../src/FileAttr.m3", line 36: imported interface contains errors >>> (UnixMisc) >>> 6 errors encountered >>> new source -> compiling FileID.i3 >>> "../src/FileID.i3", line 33: imported interface contains errors >>> (FileAttr) >>> 1 error encountered >>> new source -> compiling FileID.m3 >>> "../src/FileID.m3", line 31: imported interface contains errors >>> (FileID) >>> "../src/FileID.m3", line 34: imported interface contains errors (DevT) >>> "../src/FileID.m3", line 34: imported interface contains errors >>> (FileAttr) >>> "../src/FileID.m3", line 34: imported interface contains errors >>> (FileAttrRep) >>> 4 errors encountered >>> new source -> compiling CVProto.i3 >>> "../src/CVProto.i3", line 33: imported interface contains errors >>> (FileAttr) >>> "../src/CVProto.i3", line 33: imported interface contains errors >>> (TokScan) >>> 2 errors encountered >>> new source -> compiling CVProto.m3 >>> "../src/CVProto.m3", line 35: imported interface contains errors >>> (CVProto) >>> "../src/CVProto.m3", line 38: imported interface contains errors >>> (SupMisc) >>> "../src/CVProto.m3", line 38: imported interface contains errors >>> (TokScan) >>> 3 errors encountered >>> new source -> compiling ErrMsg.m3 >>> "../src/ErrMsg.m3", line 34: unable to find interface (IP) >>> "../src/ErrMsg.m3", line 34: imported interface contains errors >>> (TokScan) >>> "../src/ErrMsg.m3", line 36: unable to find interface (SupTCP) >>> 3 errors encountered >>> new source -> compiling DirEntry.i3 >>> "../src/DirEntry.i3", line 37: imported interface contains errors >>> (FileAttr) >>> 1 error encountered >>> new source -> compiling DirEntry.m3 >>> "../src/DirEntry.m3", line 31: imported interface contains errors >>> (DirEntry) >>> 1 error encountered >>> new source -> compiling DirEntryList.i3 >>> "../LINUXLIBC6/DirEntryList.i3 => >>> /usr/local/cm3/pkg/libm3/src/list/List.ig", line 29: imported >>> interface contains errors (DirEntry) >>> 1 error encountered >>> new source -> compiling DirEntryList.m3 >>> "../LINUXLIBC6/DirEntryList.m3", line 3: imported interface contains >>> errors (DirEntryList) >>> "../LINUXLIBC6/DirEntryList.m3 => >>> /usr/local/cm3/pkg/libm3/src/list/List.mg", line 11: imported >>> interface contains errors (DirEntry) >>> 2 errors encountered >>> new source -> compiling DirEntryListSort.i3 >>> "../LINUXLIBC6/DirEntryListSort.i3 => >>> /usr/local/cm3/pkg/libm3/src/list/ListSort.ig", line 28: imported >>> interface contains errors (DirEntry) >>> "../LINUXLIBC6/DirEntryListSort.i3 => >>> /usr/local/cm3/pkg/libm3/src/list/ListSort.ig", line 28: imported >>> interface contains errors (DirEntryList) >>> 2 errors encountered >>> new source -> compiling DirEntryListSort.m3 >>> "../LINUXLIBC6/DirEntryListSort.m3", line 3: imported interface >>> contains errors (DirEntryListSort) >>> "../LINUXLIBC6/DirEntryListSort.m3 => >>> /usr/local/cm3/pkg/libm3/src/list/ListSort.mg", line 10: imported >>> interface contains errors (DirEntry) >>> 2 errors encountered >>> new source -> compiling RCSDate.m3 >>> "../src/RCSDate.m3", line 34: imported interface contains errors >>> (TokScan) >>> 1 error encountered >>> new source -> compiling RCSFile.i3 >>> "../src/RCSFile.i3", line 37: imported interface contains errors >>> (FileAttr) >>> 1 error encountered >>> new source -> compiling RCSDeltaClass.i3 >>> "../src/RCSDeltaClass.i3", line 37: imported interface contains >>> errors (RCSFile) >>> 1 error encountered >>> new source -> compiling RCSDelta.m3 >>> "../src/RCSDelta.m3", line 31: imported interface contains errors >>> (RCSDeltaClass) >>> "../src/RCSDelta.m3", line 34: imported interface contains errors >>> (RCSFile) >>> "../src/RCSDelta.m3", line 35: imported interface contains errors >>> (TokScan) >>> 3 errors encountered >>> new source -> compiling RCSKeyword.m3 >>> "../src/RCSKeyword.m3", line 34: imported interface contains errors >>> (RCSDeltaClass) >>> "../src/RCSKeyword.m3", line 35: imported interface contains errors >>> (SupMisc) >>> 2 errors encountered >>> new source -> compiling RCSFile.m3 >>> "../src/RCSFile.m3", line 31: imported interface contains errors >>> (RCSFile) >>> "../src/RCSFile.m3", line 34: imported interface contains errors >>> (FileAttr) >>> "../src/RCSFile.m3", line 36: imported interface contains errors >>> (RCSDeltaClass) >>> "../src/RCSFile.m3", line 39: imported interface contains errors >>> (TokScan) >>> "../src/RCSFile.m3", line 39: imported interface contains errors >>> (UnixMisc) >>> 5 errors encountered >>> new source -> compiling SupFileRec.m3 >>> "../src/SupFileRec.m3", line 31: imported interface contains errors >>> (SupFileRec) >>> "../src/SupFileRec.m3", line 34: imported interface contains errors >>> (FileAttr) >>> "../src/SupFileRec.m3", line 35: imported interface contains errors >>> (TokScan) >>> 3 errors encountered >>> new source -> compiling SupMisc.m3 >>> "../src/SupMisc.m3", line 31: imported interface contains errors >>> (SupMisc) >>> "../src/SupMisc.m3", line 34: imported interface contains errors >>> (FileAttr) >>> "../src/SupMisc.m3", line 34: unable to find interface (IP) >>> "../src/SupMisc.m3", line 35: imported interface contains errors >>> (SupFileRec) >>> "../src/SupMisc.m3", line 36: imported interface contains errors >>> (TokScan) >>> "../src/SupMisc.m3", line 37: unable to find interface (SupTCP) >>> 6 errors encountered >>> new source -> compiling FileStatus.i3 >>> "../src/FileStatus.i3", line 33: imported interface contains errors >>> (FileAttr) >>> 1 error encountered >>> new source -> compiling FileStatusRaw.i3 >>> "../src/FileStatusRaw.i3", line 33: imported interface contains >>> errors (FileStatus) >>> 1 error encountered >>> new source -> compiling FileStatus.m3 >>> "../src/FileStatus.m3", line 31: imported interface contains errors >>> (FileStatus) >>> "../src/FileStatus.m3", line 31: imported interface contains errors >>> (FileStatusRaw) >>> "../src/FileStatus.m3", line 34: imported interface contains errors >>> (FileAttr) >>> "../src/FileStatus.m3", line 34: imported interface contains errors >>> (SupMisc) >>> "../src/FileStatus.m3", line 34: imported interface contains errors >>> (TokScan) >>> 5 errors encountered >>> new source -> compiling StatusFile.i3 >>> "../src/StatusFile.i3", line 33: imported interface contains errors >>> (FileStatus) >>> "../src/StatusFile.i3", line 33: imported interface contains errors >>> (SupFileRec) >>> 2 errors encountered >>> new source -> compiling StatusFile.m3 >>> "../src/StatusFile.m3", line 31: imported interface contains errors >>> (StatusFile) >>> "../src/StatusFile.m3", line 34: imported interface contains errors >>> (FileAttr) >>> "../src/StatusFile.m3", line 34: imported interface contains errors >>> (FileStatus) >>> "../src/StatusFile.m3", line 34: imported interface contains errors >>> (FileStatusRaw) >>> "../src/StatusFile.m3", line 35: imported interface contains errors >>> (SupFileRec) >>> "../src/StatusFile.m3", line 35: imported interface contains errors >>> (SupMisc) >>> 6 errors encountered >>> new source -> compiling CVTree.i3 >>> "../src/CVTree.i3", line 37: imported interface contains errors >>> (FileAttr) >>> 1 error encountered >>> new source -> compiling CVTree.m3 >>> "../src/CVTree.m3", line 31: imported interface contains errors >>> (CVTree) >>> "../src/CVTree.m3", line 34: imported interface contains errors >>> (DirEntry) >>> "../src/CVTree.m3", line 34: imported interface contains errors >>> (DirEntryList) >>> "../src/CVTree.m3", line 34: imported interface contains errors >>> (DirEntryListSort) >>> "../src/CVTree.m3", line 34: imported interface contains errors >>> (FileAttr) >>> "../src/CVTree.m3", line 35: imported interface contains errors >>> (SupMisc) >>> 6 errors encountered >>> new source -> compiling GzipRd.i3 >>> "../src/GzipRd.i3", line 36: unable to find interface (StreamRd) >>> 1 error encountered >>> new source -> compiling GzipRd.m3 >>> "../src/GzipRd.m3", line 31: imported interface contains errors >>> (GzipRd) >>> "../src/GzipRd.m3", line 34: unable to find interface (StreamRdClass) >>> 2 errors encountered >>> new source -> compiling GzipWr.i3 >>> "../src/GzipWr.i3", line 36: unable to find interface (StreamWr) >>> 1 error encountered >>> new source -> compiling GzipWr.m3 >>> "../src/GzipWr.m3", line 31: imported interface contains errors >>> (GzipWr) >>> "../src/GzipWr.m3", line 34: unable to find interface (StreamWrClass) >>> 2 errors encountered >>> new source -> compiling RsyncFile.i3 >>> "../src/RsyncFile.i3", line 33: imported interface contains errors >>> (FileAttr) >>> 1 error encountered >>> new source -> compiling RsyncFile.m3 >>> "../src/RsyncFile.m3", line 31: imported interface contains errors >>> (RsyncFile) >>> "../src/RsyncFile.m3", line 34: imported interface contains errors >>> (FileAttr) >>> "../src/RsyncFile.m3", line 35: imported interface contains errors >>> (UnixMisc) >>> 3 errors encountered >>> new source -> compiling SigHandler.m3 >>> "../src/SigHandler.m3", line 48: imported interface contains errors >>> (UnixMisc) >>> "../src/SigHandler.m3", line 50: unable to find interface (SupErrno) >>> 2 errors encountered >>> new source -> compiling UnixMisc.m3 >>> "../src/UnixMisc.m3", line 31: imported interface contains errors >>> (UnixMisc) >>> "../src/UnixMisc.m3", line 34: unable to find interface (IP) >>> 2 errors encountered >>> new source -> compiling Attic.i3 >>> "../src/Attic.i3", line 37: imported interface contains errors >>> (FileAttr) >>> "../src/Attic.i3", line 37: imported interface contains errors >>> (RCSFile) >>> 2 errors encountered >>> new source -> compiling Attic.m3 >>> "../src/Attic.m3", line 31: imported interface contains errors (Attic) >>> "../src/Attic.m3", line 34: imported interface contains errors >>> (FileAttr) >>> "../src/Attic.m3", line 34: imported interface contains errors >>> (RCSFile) >>> "../src/Attic.m3", line 35: imported interface contains errors >>> (SupMisc) >>> "../src/Attic.m3", line 35: imported interface contains errors >>> (UnixMisc) >>> 5 errors encountered >>> new source -> compiling DevTLinux.i3 >>> "../src/dev_t_linux/DevTLinux.i3", line 38: imported interface >>> contains errors (DevT) >>> 1 error encountered >>> new source -> compiling DevT.m3 >>> "../src/dev_t_linux/DevT.m3", line 31: imported interface contains >>> errors (DevT) >>> "../src/dev_t_linux/DevT.m3", line 34: imported interface contains >>> errors (DevTLinux) >>> "../src/dev_t_linux/DevT.m3", line 34: imported interface contains >>> errors (TokScan) >>> 3 errors encountered >>> new source -> compiling SupMiscText.m3 >>> "../src/text_cm3/SupMiscText.m3", line 35: imported interface >>> contains errors (SupMisc) >>> 1 error encountered >>> compilation failed => not building library "libsuplib.a" >>> Fatal Error: package build failed >>> make[2]: *** [all] Error 1 >>> make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/suplib' >>> ===> server >>> make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/server' >>> cm3 >>> --- building in LINUXLIBC6 --- >>> >>> package "suptcp" is already overridden to >>> /home/rforb/work/cvsup-snap-16.1h/server/src/../.., ignoring new >>> override to /home/rforb/work/cvsup-snap-16.1h/suplib/src/../.. >>> >>> >>> Fatal Error: missing source file: FileAttr.i3 >>> >>> make[2]: *** [all] Error 1 >>> make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/server' >>> ===> client >>> make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/client' >>> cm3 >>> --- building in LINUXLIBC6 --- >>> >>> package "suptcp" is already overridden to >>> /home/rforb/work/cvsup-snap-16.1h/client/src/../.., ignoring new >>> override to /home/rforb/work/cvsup-snap-16.1h/suplib/src/../.. >>> >>> >>> Fatal Error: missing source file: SupFileRec.i3 >>> >>> make[2]: *** [all] Error 1 >>> make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/client' >>> ===> cvpasswd >>> make[2]: Entering directory >>> `/home/rforb/work/cvsup-snap-16.1h/cvpasswd' >>> cm3 >>> --- building in LINUXLIBC6 --- >>> >>> >>> Fatal Error: missing source file: AuthMD5.i3 >>> >>> make[2]: *** [all] Error 1 >>> make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/cvpasswd' >>> make[1]: *** [subdirs] Error 2 >>> make[1]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h' >>> make: *** [all] Error 2 >> >> >> >> Looks like aside some other errors, it doesn't find all the .i3 >> files, though I can see all of them existing. Do I possibly have to >> tell the cm3 compiler where to find them? >> >> What do all the "imported interface contains errors (...)" messages >> have to mean and how to fix this ? >> >> Regards, >> >> Ronny >> >> >> -- Ronny Forberger Systemadministrator elego Software Solutions GmbH ronny.forberger(at)elegosoft.com Ohmstra?e 9, 10179 Berlin HRB 77719 Tel.: +49 30 23 45 86 96 Amtsgericht Charlottenburg Fax: +49 30 23 45 86 95 Sitz der Gesellschaft: Berlin http://www.elegosoft.com Gesch?ftsf?hrer: Olaf Wagner Bitte senden Sie Ihre technischen Support-Anfragen an admins(at)elego.de . From ronny.forberger at elegosoft.com Thu Jun 7 13:53:42 2007 From: ronny.forberger at elegosoft.com (Ronny Forberger) Date: Thu, 07 Jun 2007 13:53:42 +0200 Subject: [M3devel] errors building cvsup wih cm3 In-Reply-To: <20070605023041.71990.qmail@web27105.mail.ukl.yahoo.com> References: <20070605023041.71990.qmail@web27105.mail.ukl.yahoo.com> Message-ID: <4667F1C6.2030709@elegosoft.com> Hi, with this solution I was able to build cvsup with cm3. Thanks to all. Ronny Daniel Alejandro Benavides D. wrote: >Hi, >One of the problems I had when compiling cvsup with >current cm3 on suplib/src/FileAttr.m3 >when calling utime.gettimeofday because of the >definition of the function Utime ><*EXTERNAL*> >PROCEDURE gettimeofday (VAR t: struct_timeval; > z: UNTRACED REF >struct_timezone := NIL): int > >in the z parameter have changed, the patch was written >before this change in the procedure. > >The FileAttr.m3 uses the function on line 746: >EVAL Utime.gettimeofday(times[0], tz); > >tz is declared before in line 744: >tz: UNTRACED REF Utime.struct_timezone:=NIL; > >The program compiles as explained in the guide: >http://es.geocities.com/dabenavidesd/InstallationGuidecm3-Modula-3.html#SECTION00060000000000000000 > >I didnt have any more problems compiling cvsup with >cm3. > >Sorry by the late posting of this issue. > > >--- John Polstra wrote: > > > >>Hmm, actually you may be closer to the right answers >>than I was. I >>don't see how the lack of the patch could explain >>some of those errors. >> >>John >> >> >>Tony Hosking wrote: >> >> >>>Looks like John has the answers... >>> >>>On Jun 4, 2007, at 11:11 AM, John Polstra wrote: >>> >>> >>> >>>>There is a patch for CVSup that you have to apply >>>> >>>> >>before you can build >> >> >>>>it with cm3. Look on the cm3 downloads page, and >>>> >>>> >>you'll find it. >> >> >>>>John >>>> >>>>Ronny Forberger wrote: >>>> >>>> >>>>>Hi there, >>>>>since I've been able to build the cm3 compiler >>>>> >>>>> >>successfully on Debian >> >> >>>>>Linux 'etch' x86, I'm faced up to some other >>>>> >>>>> >>build problem: >> >> >>>>>When trying to build cvsup-snap-16.1h from >>>>> >>>>> >>sources using cm3 my build >> >> >>>>>process stops by the following error: >>>>> >>>>> >>>>>>make[2]: Entering directory >>>>>> >>>>>> >>`/home/rforb/work/cvsup-snap-16.1h/suptcp' >> >> >>>>>>cm3 >>>>>>--- building in LINUXLIBC6 --- >>>>>> >>>>>> >>>>>>Fatal Error: duplicate unit: >>>>>>/usr/local/cm3/pkg/tcp/src/POSIX/SockOpt.i3 >>>>>> >>>>>> >>../src/POSIX/SockOpt.i3 >> >> >>>>>>make[2]: *** [all] Error 1 >>>>>>make[2]: Leaving directory >>>>>> >>>>>> >>`/home/rforb/work/cvsup-snap-16.1h/suptcp' >> >> >>>>>>===> suplib >>>>>>make[2]: Entering directory >>>>>> >>>>>> >>`/home/rforb/work/cvsup-snap-16.1h/suplib' >> >> >>>>>>cm3 >>>>>>--- building in LINUXLIBC6 --- >>>>>> >>>>>>new source -> compiling TokScan.i3 >>>>>>"../src/TokScan.i3", line 36: unable to find >>>>>> >>>>>> >>interface (IP) >> >> >>>>>>1 error encountered >>>>>>new source -> compiling FileAttr.i3 >>>>>>"../src/FileAttr.i3", line 33: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(TokScan) >>>>>>1 error encountered >>>>>>new source -> compiling FileAttrRep.i3 >>>>>>"../src/FileAttrRep.i3", line 33: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(FileAttr) >>>>>>1 error encountered >>>>>>new source -> compiling FileAttrOS.m3 >>>>>>"../src/POSIX/FileAttrOS.m3", line 31: imported >>>>>> >>>>>> >>interface contains >> >> >>>>>>errors (FileAttr) >>>>>>"../src/POSIX/FileAttrOS.m3", line 31: imported >>>>>> >>>>>> >>interface contains >> >> >>>>>>errors (FileAttrRep) >>>>>>2 errors encountered >>>>>>new source -> compiling SupFileRec.i3 >>>>>>"../src/SupFileRec.i3", line 36: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(FileAttr) >>>>>>"../src/SupFileRec.i3", line 37: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(TokScan) >>>>>>2 errors encountered >>>>>>new source -> compiling SupMisc.i3 >>>>>>"../src/SupMisc.i3", line 37: unable to find >>>>>> >>>>>> >>interface (IP) >> >> >>>>>>"../src/SupMisc.i3", line 37: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(SupFileRec) >>>>>>"../src/SupMisc.i3", line 39: unable to find >>>>>> >>>>>> >>interface (SupTCP) >> >> >>>>>>3 errors encountered >>>>>>new source -> compiling PathComp.m3 >>>>>>"../src/PathComp.m3", line 33: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(SupMisc) >>>>>>1 error encountered >>>>>>new source -> compiling ChannelMux.i3 >>>>>>"../src/ChannelMux.i3", line 33: unable to find >>>>>> >>>>>> >>interface (IP) >> >> >>>>>>"../src/ChannelMux.i3", line 34: unable to find >>>>>> >>>>>> >>interface (SupConnFD) >> >> >>>>>>2 errors encountered >>>>>>new source -> compiling ChannelMux.m3 >>>>>>"../src/ChannelMux.m3", line 32: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(ChannelMux) >>>>>>"../src/ChannelMux.m3", line 35: unable to find >>>>>> >>>>>> >>interface (IP) >> >> >>>>>>"../src/ChannelMux.m3", line 35: unable to find >>>>>> >>>>>> >>interface (TCP) >> >> >>>>>>"../src/ChannelMux.m3", line 36: unable to find >>>>>> >>>>>> >>interface (SupConnFD) >> >> >>>>>>4 errors encountered >>>>>>new source -> compiling AuthMD5.i3 >>>>>>"../src/AuthMD5.i3", line 33: unable to find >>>>>> >>>>>> >>interface (IP) >> >> >>>>>>1 error encountered >>>>>>new source -> compiling AuthMD5.m3 >>>>>>"../src/AuthMD5.m3", line 31: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(AuthMD5) >>>>>>"../src/AuthMD5.m3", line 33: unable to find >>>>>> >>>>>> >>interface (IP) >> >> >>>>>>2 errors encountered >>>>>>new source -> compiling TokScan.m3 >>>>>>"../src/TokScan.m3", line 31: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(TokScan) >>>>>>"../src/TokScan.m3", line 34: unable to find >>>>>> >>>>>> >>interface (IP) >> >> >>>>>>"../src/TokScan.m3", line 34: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(SupMisc) >>>>>>3 errors encountered >>>>>>new source -> compiling DevT.i3 >>>>>>"../src/DevT.i3", line 38: imported interface >>>>>> >>>>>> >>contains errors (TokScan) >> >> >>>>>>1 error encountered >>>>>>new source -> compiling UnixMisc.i3 >>>>>>"../src/UnixMisc.i3", line 35: unable to find >>>>>> >>>>>> >>interface (IP) >> >> >>>>>>1 error encountered >>>>>>new source -> compiling FileAttr.m3 >>>>>>"../src/FileAttr.m3", line 31: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(FileAttr) >>>>>>"../src/FileAttr.m3", line 31: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(FileAttrRep) >>>>>>"../src/FileAttr.m3", line 34: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(DevT) >>>>>>"../src/FileAttr.m3", line 35: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(SupMisc) >>>>>>"../src/FileAttr.m3", line 36: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(TokScan) >>>>>>"../src/FileAttr.m3", line 36: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(UnixMisc) >>>>>>6 errors encountered >>>>>>new source -> compiling FileID.i3 >>>>>>"../src/FileID.i3", line 33: imported interface >>>>>> >>>>>> >>contains errors >> >> >>>>>>(FileAttr) >>>>>>1 error encountered >>>>>>new source -> compiling FileID.m3 >>>>>>"../src/FileID.m3", line 31: imported interface >>>>>> >>>>>> >>contains errors >> >> >>>>>>(FileID) >>>>>>"../src/FileID.m3", line 34: imported interface >>>>>> >>>>>> >>contains errors (DevT) >> >> >>>>>>"../src/FileID.m3", line 34: imported interface >>>>>> >>>>>> >>contains errors >> >> >>>>>>(FileAttr) >>>>>>"../src/FileID.m3", line 34: imported interface >>>>>> >>>>>> >>contains errors >> >> >>>>>>(FileAttrRep) >>>>>>4 errors encountered >>>>>>new source -> compiling CVProto.i3 >>>>>>"../src/CVProto.i3", line 33: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(FileAttr) >>>>>>"../src/CVProto.i3", line 33: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(TokScan) >>>>>>2 errors encountered >>>>>>new source -> compiling CVProto.m3 >>>>>>"../src/CVProto.m3", line 35: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(CVProto) >>>>>>"../src/CVProto.m3", line 38: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(SupMisc) >>>>>>"../src/CVProto.m3", line 38: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(TokScan) >>>>>>3 errors encountered >>>>>>new source -> compiling ErrMsg.m3 >>>>>>"../src/ErrMsg.m3", line 34: unable to find >>>>>> >>>>>> >>interface (IP) >> >> >>>>>>"../src/ErrMsg.m3", line 34: imported interface >>>>>> >>>>>> >>contains errors >> >> >>>>>>(TokScan) >>>>>> >>>>>> >=== message truncated === > > > > >______________________________________________ >LLama Gratis a cualquier PC del Mundo. >Llamadas a fijos y m?viles desde 1 c?ntimo por minuto. >http://es.voice.yahoo.com > > -- Ronny Forberger Systemadministrator elego Software Solutions GmbH ronny.forberger(at)elegosoft.com Ohmstra?e 9, 10179 Berlin HRB 77719 Tel.: +49 30 23 45 86 96 Amtsgericht Charlottenburg Fax: +49 30 23 45 86 95 Sitz der Gesellschaft: Berlin http://www.elegosoft.com Gesch?ftsf?hrer: Olaf Wagner Bitte senden Sie Ihre technischen Support-Anfragen an admins(at)elego.de . -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at cs.purdue.edu Thu Jun 21 17:04:02 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Thu, 21 Jun 2007 11:04:02 -0400 Subject: [M3devel] NT386 (win32) targets and dll2lib Message-ID: I am not familiar with the build strategy for libraries on Win32, but I am aware of the use of the command dll2lib being used to insert argument checks on library calls in support of the old style incremental/generational GC based on memory protection. With the new compiler-supported incremental/generational GC, the calls to m3_arg_check/RTHeapDep__CheckArgs for library calls are no longer needed, and I was hoping to eliminate the RTHeapDep code completely for all targets. Is there anyone out there familiar with the functionality of dll2lib who would be willing to remove insertion of the no longer needed checks? Thanks, Tony From hosking at cs.purdue.edu Thu Jun 21 21:07:09 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Thu, 21 Jun 2007 15:07:09 -0400 Subject: [M3devel] NT386 (win32) targets and dll2lib In-Reply-To: References: Message-ID: <80BE9586-8838-4105-A8C9-7D73CE1C1DD4@cs.purdue.edu> Maybe it is never actually used. If so, then great -- we can simply remove it and I can breathe easy. On Jun 21, 2007, at 1:23 PM, j k wrote: > You are correct it does stuff like that. I find that surprising > given a lack of type info. > I still don't think it is even used but have to look further. > > - Jay > >> From: Tony Hosking >> To: Modula-3 developers >> Subject: [M3devel] NT386 (win32) targets and dll2lib >> Date: Thu, 21 Jun 2007 11:04:02 -0400 >> >> I am not familiar with the build strategy for libraries on Win32, >> but I am aware of the use of the command dll2lib being used to >> insert argument checks on library calls in support of the old >> style incremental/generational GC based on memory protection. >> With the new compiler-supported incremental/generational GC, the >> calls to m3_arg_check/RTHeapDep__CheckArgs for library calls are >> no longer needed, and I was hoping to eliminate the RTHeapDep >> code completely for all targets. Is there anyone out there >> familiar with the functionality of dll2lib who would be willing >> to remove insertion of the no longer needed checks? >> >> Thanks, >> >> Tony >> > > _________________________________________________________________ > Get a preview of Live Earth, the hottest event this summer - only > on MSN http://liveearth.msn.com?source=msntaglineliveearthhm From mika at async.caltech.edu Sat Jun 23 09:34:13 2007 From: mika at async.caltech.edu (Mika Nystrom) Date: Sat, 23 Jun 2007 00:34:13 -0700 Subject: [M3devel] strange errors... Message-ID: <200706230734.l5N7YDeY069196@camembert.async.caltech.edu> Hello everyone, I am in the process of trying to consolidate build systems for a few software packages I am maintaining. Currently, I am using an old PM3 on FreeBSD4, an ancient PM3 (from Klagenfurt?) for Windows (NT386GNU), and trying to get the latest CM3 from cvs up and compiling things on PPC_DARWIN. Ideally, I'd like to standardize everything on the new PM3---mainly so that I can use pickles (and Network Objects) across all three systems. I'd also like to add Linux to the mix. It's natural for me to start with CM3 on Darwin, as there's no alternative. But I am getting some assertions failing. Everything in the CM3 distribution compiles fine, and I believe I have compiled the libraries a few times (that is, including with themselves), and updated the compiler, too (using boot-cm3-with-m3.sh). I just cvs updated tonight. Here's what I'm running into: /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/CHP.t -o CHPTok.i3 *** *** runtime error: *** <*ASSERT*> failed. *** file "../src/runtime/common/RTCollector.m3", line 2314 *** Abort Also: /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/PRS.t -o PRSTok.i3 Illegal instruction As you can see, these things are coming from the caltech_parser. I am using our local version, but I don't think it is very different from what is in the CM3 tree. Examining the first error (the failed assertion) more closely, I see the following: (gdb) list 108 wr := FileWr.Open(Pathname.ReplaceExt(tp.out, "m3")); 109 EXCEPT OSError.E => 110 Debug.Error("Cannot open tok implementation output file: " & 111 Pathname.ReplaceExt(tp.out, "m3")); 112 END; 113 Wr.PutText(wr, subs.apply(Bundle.Get(Form, "tokform.m3"))); 114 Wr.Close(wr); 115 END Main. (gdb) where #0 0x9004308c in kill () #1 0x9009fb3c in abort () #2 0x00096f50 in RTOS__Crash () at RTOS.m3:20 #3 0x0005bd40 in RTProcess__Crash (M3_Bd56fi_msg=0x0) at RTProcess.m3:65 #4 0x0008e4e0 in RTError__EndError (M3_AicXUJ_crash=1 '\001') at RTError.m3:115 #5 0x0008e08c in RTError__MsgS (M3_AJWxb1_file=0xc63d8, M3_AcxOUs_line=2314, M3_Bd56fi_msgA=0xca3d0, M3_Bd56fi_msgB=0xcbe90, M3_Bd56fi_msgC=0xca3d0) at RTError.m3:40 #6 0x0008eb88 in RTException__Crash (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0', M3_AJWxb1_rte=0xcb538) at RTException.m3:79 #7 0x0008e74c in RTException__DefaultBackstop (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:39 #8 0x0008e614 in RTException__InvokeBackstop (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:25 #9 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at RTExFrame.m3:29 #10 0x0008e840 in RTException__DefaultBackstop (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:47 #11 0x0008e614 in RTException__InvokeBackstop (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:25 #12 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at RTExFrame.m3:29 #13 0x00079740 in RTHooks__ReportFault (M3_AJWxb1_module=0xb3eb8, M3_AcxOUs_info=74048) at RTHooks.m3:110 #14 0x0006ff4c in _m3_fault (M3_AcxOUs_arg=74048) #15 0x0006bcf4 in RTHooks__CheckStoreTraced (M3_Af40ku_ref=0xb2415c) at RTCollector.m3:2314 #16 0x000700e4 in ThreadPThread__InnerLockMutex (M3_AYIbX3_m=0xb2415c, M3_BXP32l_self=0xb24014) at ThreadPThread.m3:126 #17 0x000704d8 in ThreadPThread__LockMutex (M3_AYIbX3_m=0xb2415c) at ThreadPThread.m3:153 #18 0x00019b24 in Wr__PutText (M3_BxxOH1_wr=0xb2415c, M3_Bd56fi_t=0xb44d5c) at Wr.m3:93 #19 0x00003f74 in Main_M3 (M3_AcxOUs_mode=1) at Main.m3:113 #20 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at RTLinker.m3:399 #21 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at RTLinker.m3:113 #22 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at RTLinker.m3:122 #23 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) at _m3main.mc:4 (gdb) The second error: Program received signal EXC_BAD_INSTRUCTION, Illegal instruction/operand. 0x00b111ac in ?? () (gdb) where #0 0x00b111ac in ?? () #1 0x0001214c in TextSubs__Apply (M3_CN69dV_self=0xb26450, M3_Bd56fi_src=0xb21cec) at TextSubs.m3:63 #2 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at RTLinker.m3:399 #3 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at RTLinker.m3:113 #4 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at RTLinker.m3:122 #5 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) at _m3main.mc:4 (gdb) list 58 BEGIN 59 WHILE pos < textLen DO 60 c := Text.GetChar(src, pos); 61 IF c IN self.starts THEN 62 (* S("analysing: " & Text.Sub(src, pos), DebugLevel); *) 63 iter := self.tbl.iterateOrdered(); 64 ind := pos; 65 original := ""; 66 REPEAT 67 INC(ind); (gdb) Any ideas what to look at? I don't know if this is relevant: [lapdog:~/t/cit_parse/PPC_DARWIN] mika% uname -a Darwin lapdog.local 7.9.0 Darwin Kernel Version 7.9.0: Wed Mar 30 20:11:17 PST 2005; root:xnu/xnu-517.12.7.obj~1/RELEASE_PPC Power Macintosh powerpc [lapdog:~/t/cit_parse/PPC_DARWIN] mika% gcc -v Reading specs from /usr/libexec/gcc/darwin/ppc/3.3/specs Thread model: posix gcc version 3.3 20030304 (Apple Computer, Inc. build 1666) Mika P.S. Am I correct in assuming that I can get CM3 to build on Windows? I could switch to CM3 on Unix any time, of course, but I've never had luck with it on Windows, which is why I am using the ancient Klagenfurt PM3, which comes on 40-odd "floppies" and a .EXE that unpacks them into C: (and installation instructions only in German). If CM3 doesn't work on Windows, I am essentially wasting my time, as the current project I am working on absolutely requires that the software run on Windows 2003 Server (yes, it sucks, but what can you do?) The very old PM3 at least kind of hobbles along on this platform---actually, better than that; it does Trestle natively under Windows (no X required), at least on SOME Windows machines. P.P.S. Sorry for all the postscripts, but is it true that the build system has been changed so that building with overrides (cm3 -x) requires having the compiler sources available? It didn't use to be that way, but I can't get Network Objects to work with overrides now unless I have the sources available... It's a bit of a pain because it means that every user has to have the compiler sources, or else ship everything, or was that not the intention? From hosking at cs.purdue.edu Sat Jun 23 17:47:55 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Sat, 23 Jun 2007 11:47:55 -0400 Subject: [M3devel] strange errors... In-Reply-To: <200706230734.l5N7YDeY069196@camembert.async.caltech.edu> References: <200706230734.l5N7YDeY069196@camembert.async.caltech.edu> Message-ID: That sounds like you forgot to execute "do-cm3-std.sh realclean" before initiating the build. These sorts of errors sometimes arise if there are old build directories lying around. On Jun 23, 2007, at 3:34 AM, Mika Nystrom wrote: > Hello everyone, > > I am in the process of trying to consolidate build systems for a > few software packages I am maintaining. Currently, I am using an > old PM3 on FreeBSD4, an ancient PM3 (from Klagenfurt?) for Windows > (NT386GNU), and trying to get the latest CM3 from cvs up and compiling > things on PPC_DARWIN. Ideally, I'd like to standardize everything > on the new PM3---mainly so that I can use pickles (and Network > Objects) across all three systems. I'd also like to add Linux to > the mix. > > It's natural for me to start with CM3 on Darwin, as there's no > alternative. But I am getting some assertions failing. Everything > in the CM3 distribution compiles fine, and I believe I have compiled > the libraries a few times (that is, including with themselves), and > updated the compiler, too (using boot-cm3-with-m3.sh). I just cvs > updated tonight. > > Here's what I'm running into: > > /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/CHP.t -o CHPTok.i3 > > > *** > *** runtime error: > *** <*ASSERT*> failed. > *** file "../src/runtime/common/RTCollector.m3", line 2314 > *** > > Abort > > Also: > > /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/PRS.t -o PRSTok.i3 > Illegal instruction > > As you can see, these things are coming from the caltech_parser. I > am using > our local version, but I don't think it is very different from what > is in the > CM3 tree. > > > Examining the first error (the failed assertion) more closely, I see > the following: > > (gdb) list > 108 wr := FileWr.Open(Pathname.ReplaceExt(tp.out, "m3")); > 109 EXCEPT OSError.E => > 110 Debug.Error("Cannot open tok implementation output > file: " & > 111 Pathname.ReplaceExt(tp.out, "m3")); > 112 END; > 113 Wr.PutText(wr, subs.apply(Bundle.Get(Form, "tokform.m3"))); > 114 Wr.Close(wr); > 115 END Main. > (gdb) where > #0 0x9004308c in kill () > #1 0x9009fb3c in abort () > #2 0x00096f50 in RTOS__Crash () at RTOS.m3:20 > #3 0x0005bd40 in RTProcess__Crash (M3_Bd56fi_msg=0x0) at > RTProcess.m3:65 > #4 0x0008e4e0 in RTError__EndError (M3_AicXUJ_crash=1 '\001') at > RTError.m3:115 > #5 0x0008e08c in RTError__MsgS (M3_AJWxb1_file=0xc63d8, > M3_AcxOUs_line=2314, M3_Bd56fi_msgA=0xca3d0, > M3_Bd56fi_msgB=0xcbe90, M3_Bd56fi_msgC=0xca3d0) at RTError.m3:40 > #6 0x0008eb88 in RTException__Crash (M3_Cblw37_a=0xbfffee00, > M3_AicXUJ_raises=0 '\0', M3_AJWxb1_rte=0xcb538) at RTException.m3:79 > #7 0x0008e74c in RTException__DefaultBackstop > (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:39 > #8 0x0008e614 in RTException__InvokeBackstop > (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:25 > #9 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at > RTExFrame.m3:29 > #10 0x0008e840 in RTException__DefaultBackstop > (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:47 > #11 0x0008e614 in RTException__InvokeBackstop > (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:25 > #12 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at > RTExFrame.m3:29 > #13 0x00079740 in RTHooks__ReportFault (M3_AJWxb1_module=0xb3eb8, > M3_AcxOUs_info=74048) at RTHooks.m3:110 > #14 0x0006ff4c in _m3_fault (M3_AcxOUs_arg=74048) > #15 0x0006bcf4 in RTHooks__CheckStoreTraced > (M3_Af40ku_ref=0xb2415c) at RTCollector.m3:2314 > #16 0x000700e4 in ThreadPThread__InnerLockMutex > (M3_AYIbX3_m=0xb2415c, M3_BXP32l_self=0xb24014) at > ThreadPThread.m3:126 > #17 0x000704d8 in ThreadPThread__LockMutex (M3_AYIbX3_m=0xb2415c) > at ThreadPThread.m3:153 > #18 0x00019b24 in Wr__PutText (M3_BxxOH1_wr=0xb2415c, > M3_Bd56fi_t=0xb44d5c) at Wr.m3:93 > #19 0x00003f74 in Main_M3 (M3_AcxOUs_mode=1) at Main.m3:113 > #20 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at > RTLinker.m3:399 > #21 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at > RTLinker.m3:113 > #22 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at > RTLinker.m3:122 > #23 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) > at _m3main.mc:4 > (gdb) > > The second error: > > Program received signal EXC_BAD_INSTRUCTION, Illegal instruction/ > operand. > 0x00b111ac in ?? () > (gdb) where > #0 0x00b111ac in ?? () > #1 0x0001214c in TextSubs__Apply (M3_CN69dV_self=0xb26450, > M3_Bd56fi_src=0xb21cec) at TextSubs.m3:63 > #2 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at > RTLinker.m3:399 > #3 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at > RTLinker.m3:113 > #4 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at > RTLinker.m3:122 > #5 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) > at _m3main.mc:4 > (gdb) list > 58 BEGIN > 59 WHILE pos < textLen DO > 60 c := Text.GetChar(src, pos); > 61 IF c IN self.starts THEN > 62 (* S("analysing: " & Text.Sub(src, pos), > DebugLevel); *) > 63 iter := self.tbl.iterateOrdered(); > 64 ind := pos; > 65 original := ""; > 66 REPEAT > 67 INC(ind); > (gdb) > > Any ideas what to look at? > > I don't know if this is relevant: > > [lapdog:~/t/cit_parse/PPC_DARWIN] mika% uname -a > Darwin lapdog.local 7.9.0 Darwin Kernel Version 7.9.0: Wed Mar 30 > 20:11:17 PST 2005; root:xnu/xnu-517.12.7.obj~1/RELEASE_PPC Power > Macintosh powerpc > [lapdog:~/t/cit_parse/PPC_DARWIN] mika% gcc -v > Reading specs from /usr/libexec/gcc/darwin/ppc/3.3/specs > Thread model: posix > gcc version 3.3 20030304 (Apple Computer, Inc. build 1666) > > Mika > > P.S. Am I correct in assuming that I can get CM3 to build on Windows? > I could switch to CM3 on Unix any time, of course, but I've never > had luck with it on Windows, which is why I am using the ancient > Klagenfurt PM3, which comes on 40-odd "floppies" and a .EXE that > unpacks them into C: (and installation instructions only in German). > If CM3 doesn't work on Windows, I am essentially wasting my time, > as the current project I am working on absolutely requires that the > software run on Windows 2003 Server (yes, it sucks, but what can > you do?) The very old PM3 at least kind of hobbles along on this > platform---actually, better than that; it does Trestle natively > under Windows (no X required), at least on SOME Windows machines. > > P.P.S. Sorry for all the postscripts, but is it true that the > build system has been changed so that building with overrides (cm3 -x) > requires having the compiler sources available? It didn't use to > be that way, but I can't get Network Objects to work with overrides > now unless I have the sources available... It's a bit of a pain > because it means that every user has to have the compiler sources, > or else ship everything, or was that not the intention? From rcoleburn at scires.com Sat Jun 23 20:36:32 2007 From: rcoleburn at scires.com (Randy Coleburn) Date: Sat, 23 Jun 2007 14:36:32 -0400 Subject: [M3devel] strange errors... In-Reply-To: <200706230734.l5N7YDeY069196@camembert.async.caltech.edu> References: <200706230734.l5N7YDeY069196@camembert.async.caltech.edu> Message-ID: <467D3000.1E75.00D7.1@scires.com> Mika: I've used CM3 (v4.1) on Windows for years with Trestle, FormsVBT, NetObjects, etc.. Make sure to use the v2 of Network Objects. I haven't moved up to the most recent version yet. I tried some time ago, but ran into some problems with Bundles not working correctly. Maybe this is fixed now. I should try again. Regards, Randy Coleburn >>> Mika Nystrom 6/23/2007 3:34 AM >>> Hello everyone, I am in the process of trying to consolidate build systems for a few software packages I am maintaining. Currently, I am using an old PM3 on FreeBSD4, an ancient PM3 (from Klagenfurt?) for Windows (NT386GNU), and trying to get the latest CM3 from cvs up and compiling things on PPC_DARWIN. Ideally, I'd like to standardize everything on the new PM3---mainly so that I can use pickles (and Network Objects) across all three systems. I'd also like to add Linux to the mix. It's natural for me to start with CM3 on Darwin, as there's no alternative. But I am getting some assertions failing. Everything in the CM3 distribution compiles fine, and I believe I have compiled the libraries a few times (that is, including with themselves), and updated the compiler, too (using boot-cm3-with-m3.sh). I just cvs updated tonight. Here's what I'm running into: /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/CHP.t -o CHPTok.i3 *** *** runtime error: *** <*ASSERT*> failed. *** file "../src/runtime/common/RTCollector.m3", line 2314 *** Abort Also: /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/PRS.t -o PRSTok.i3 Illegal instruction As you can see, these things are coming from the caltech_parser. I am using our local version, but I don't think it is very different from what is in the CM3 tree. Examining the first error (the failed assertion) more closely, I see the following: (gdb) list 108 wr := FileWr.Open(Pathname.ReplaceExt(tp.out, "m3")); 109 EXCEPT OSError.E => 110 Debug.Error("Cannot open tok implementation output file: " & 111 Pathname.ReplaceExt(tp.out, "m3")); 112 END; 113 Wr.PutText(wr, subs.apply(Bundle.Get(Form, "tokform.m3"))); 114 Wr.Close(wr); 115 END Main. (gdb) where #0 0x9004308c in kill () #1 0x9009fb3c in abort () #2 0x00096f50 in RTOS__Crash () at RTOS.m3:20 #3 0x0005bd40 in RTProcess__Crash (M3_Bd56fi_msg=0x0) at RTProcess.m3:65 #4 0x0008e4e0 in RTError__EndError (M3_AicXUJ_crash=1 '\001') at RTError.m3:115 #5 0x0008e08c in RTError__MsgS (M3_AJWxb1_file=0xc63d8, M3_AcxOUs_line=2314, M3_Bd56fi_msgA=0xca3d0, M3_Bd56fi_msgB=0xcbe90, M3_Bd56fi_msgC=0xca3d0) at RTError.m3:40 #6 0x0008eb88 in RTException__Crash (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0', M3_AJWxb1_rte=0xcb538) at RTException.m3:79 #7 0x0008e74c in RTException__DefaultBackstop (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:39 #8 0x0008e614 in RTException__InvokeBackstop (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:25 #9 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at RTExFrame.m3:29 #10 0x0008e840 in RTException__DefaultBackstop (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:47 #11 0x0008e614 in RTException__InvokeBackstop (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:25 #12 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at RTExFrame.m3:29 #13 0x00079740 in RTHooks__ReportFault (M3_AJWxb1_module=0xb3eb8, M3_AcxOUs_info=74048) at RTHooks.m3:110 #14 0x0006ff4c in _m3_fault (M3_AcxOUs_arg=74048) #15 0x0006bcf4 in RTHooks__CheckStoreTraced (M3_Af40ku_ref=0xb2415c) at RTCollector.m3:2314 #16 0x000700e4 in ThreadPThread__InnerLockMutex (M3_AYIbX3_m=0xb2415c, M3_BXP32l_self=0xb24014) at ThreadPThread.m3:126 #17 0x000704d8 in ThreadPThread__LockMutex (M3_AYIbX3_m=0xb2415c) at ThreadPThread.m3:153 #18 0x00019b24 in Wr__PutText (M3_BxxOH1_wr=0xb2415c, M3_Bd56fi_t=0xb44d5c) at Wr.m3:93 #19 0x00003f74 in Main_M3 (M3_AcxOUs_mode=1) at Main.m3:113 #20 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at RTLinker.m3:399 #21 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at RTLinker.m3:113 #22 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at RTLinker.m3:122 #23 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) at _m3main.mc:4 (gdb) The second error: Program received signal EXC_BAD_INSTRUCTION, Illegal instruction/operand. 0x00b111ac in ?? () (gdb) where #0 0x00b111ac in ?? () #1 0x0001214c in TextSubs__Apply (M3_CN69dV_self=0xb26450, M3_Bd56fi_src=0xb21cec) at TextSubs.m3:63 #2 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at RTLinker.m3:399 #3 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at RTLinker.m3:113 #4 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at RTLinker.m3:122 #5 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) at _m3main.mc:4 (gdb) list 58 BEGIN 59 WHILE pos < textLen DO 60 c := Text.GetChar(src, pos); 61 IF c IN self.starts THEN 62 (* S("analysing: " & Text.Sub(src, pos), DebugLevel); *) 63 iter := self.tbl.iterateOrdered(); 64 ind := pos; 65 original := ""; 66 REPEAT 67 INC(ind); (gdb) Any ideas what to look at? I don't know if this is relevant: [lapdog:~/t/cit_parse/PPC_DARWIN] mika% uname -a Darwin lapdog.local 7.9.0 Darwin Kernel Version 7.9.0: Wed Mar 30 20:11:17 PST 2005; root:xnu/xnu-517.12.7.obj~1/RELEASE_PPC Power Macintosh powerpc [lapdog:~/t/cit_parse/PPC_DARWIN] mika% gcc -v Reading specs from /usr/libexec/gcc/darwin/ppc/3.3/specs Thread model: posix gcc version 3.3 20030304 (Apple Computer, Inc. build 1666) Mika P.S. Am I correct in assuming that I can get CM3 to build on Windows? I could switch to CM3 on Unix any time, of course, but I've never had luck with it on Windows, which is why I am using the ancient Klagenfurt PM3, which comes on 40-odd "floppies" and a .EXE that unpacks them into C: (and installation instructions only in German). If CM3 doesn't work on Windows, I am essentially wasting my time, as the current project I am working on absolutely requires that the software run on Windows 2003 Server (yes, it sucks, but what can you do?) The very old PM3 at least kind of hobbles along on this platform---actually, better than that; it does Trestle natively under Windows (no X required), at least on SOME Windows machines. P.P.S. Sorry for all the postscripts, but is it true that the build system has been changed so that building with overrides (cm3 -x) requires having the compiler sources available? It didn't use to be that way, but I can't get Network Objects to work with overrides now unless I have the sources available... It's a bit of a pain because it means that every user has to have the compiler sources, or else ship everything, or was that not the intention? -------------- next part -------------- An HTML attachment was scrubbed... URL: From mika at async.caltech.edu Sat Jun 23 20:38:27 2007 From: mika at async.caltech.edu (Mika Nystrom) Date: Sat, 23 Jun 2007 11:38:27 -0700 Subject: [M3devel] strange errors... In-Reply-To: Your message of "Sat, 23 Jun 2007 11:47:55 EDT." Message-ID: <200706231838.l5NIcRef079333@camembert.async.caltech.edu> Ok, I'm sorry if I seem a bit dimwitted in the morning like this, but how exactly does one get started? I wish there were a file called "GETTING_STARTED" or something like that in scripts... My Mac is very slow so I switched to my FreeBSD/i386 system (which has PM3 happily installed on it) and tried to install CM3 from scratch. Here are the exact commands I typed. rm -rf /usr/local/cm3/* cd ~/cm3-cvs mkdir boot cd boot tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz ./cminstall # now I seem to have some kind of cm3 installed, /usr/local/cm3/bin/cm3 cd cm3 # location of my CM3 checkout cvs update -d . cd scripts ./boot-cm3-with-m3.sh realclean ./do-cm3-std.sh realclean ./upgrade.sh # fails here, libm3 not compiled ./boot-cm3-with-m3.sh build # builds cm3, but fails on cminstall, patternmatching not built ./do-cm3-std.sh build # OK ./do-cm3-std.sh buildship # OK ./boot-cm3-with-m3.sh realclean # start over ./boot-cm3-with-m3.sh build # OK ./boot-cm3-with-m3.sh buildship # OK ./do-cm3-std.sh realclean # OK ./do-cm3-std.sh build # dies miserably... maybe the compiler can't handle the new libraries? ./install-cm3-compiler.sh upgrade # OK, new cm3 binary installed After all that, "game over." I have a cm3 that segfaults. Text.i3: In function 'Text_I3': Text.i3:81: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See for instructions. compilation failed => not building library "libm3core.a" Fatal Error: package build failed *** execution of failed *** I can't seem to get either m3gdb or gdb to say anything reasonable either. ktrace shows nothing out of the ordinary. ----- Meanwhile, my Mac got through "do-cm3-std.sh realclean" and "do-cm3-std.sh buildship" but my compiles are still dying on the same assertion tickled by ktok. On that machine I have INSTALLROOT set to ~/cm3, but hopefully that has nothing to do with it... ----- Does do-cm3-std.sh realclean clean EVERYTHING? If so my Mac should really have a fresh setup. The FreeBSD, I am not sure, maybe the old binary version just doesn't work right? Of course I could try bootstrapping with PM3 as well... but really, there's an "approved" process to get from a blank system, no? Mika Tony Hosking writes: >That sounds like you forgot to execute "do-cm3-std.sh realclean" >before initiating the build. These sorts of errors sometimes arise >if there are old build directories lying around. > > >On Jun 23, 2007, at 3:34 AM, Mika Nystrom wrote: > >> Hello everyone, >> >> I am in the process of trying to consolidate build systems for a >> few software packages I am maintaining. Currently, I am using an >> old PM3 on FreeBSD4, an ancient PM3 (from Klagenfurt?) for Windows >> (NT386GNU), and trying to get the latest CM3 from cvs up and compiling >> things on PPC_DARWIN. Ideally, I'd like to standardize everything >> on the new PM3---mainly so that I can use pickles (and Network >> Objects) across all three systems. I'd also like to add Linux to >> the mix. >> >> It's natural for me to start with CM3 on Darwin, as there's no >> alternative. But I am getting some assertions failing. Everything >> in the CM3 distribution compiles fine, and I believe I have compiled >> the libraries a few times (that is, including with themselves), and >> updated the compiler, too (using boot-cm3-with-m3.sh). I just cvs >> updated tonight. >> >> Here's what I'm running into: >> >> /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/CHP.t -o CHPTok.i3 >> >> >> *** >> *** runtime error: >> *** <*ASSERT*> failed. >> *** file "../src/runtime/common/RTCollector.m3", line 2314 >> *** >> >> Abort >> >> Also: >> >> /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/PRS.t -o PRSTok.i3 >> Illegal instruction >> >> As you can see, these things are coming from the caltech_parser. I > am using >> our local version, but I don't think it is very different from what >> is in the >> CM3 tree. >> >> >> Examining the first error (the failed assertion) more closely, I see >> the following: >> >> (gdb) list >> 108 wr := FileWr.Open(Pathname.ReplaceExt(tp.out, "m3")); >> 109 EXCEPT OSError.E => >> 110 Debug.Error("Cannot open tok implementation output >> file: " & >> 111 Pathname.ReplaceExt(tp.out, "m3")); >> 112 END; >> 113 Wr.PutText(wr, subs.apply(Bundle.Get(Form, "tokform.m3"))); >> 114 Wr.Close(wr); >> 115 END Main. >> (gdb) where >> #0 0x9004308c in kill () >> #1 0x9009fb3c in abort () >> #2 0x00096f50 in RTOS__Crash () at RTOS.m3:20 >> #3 0x0005bd40 in RTProcess__Crash (M3_Bd56fi_msg=0x0) at >> RTProcess.m3:65 >> #4 0x0008e4e0 in RTError__EndError (M3_AicXUJ_crash=1 '\001') at >> RTError.m3:115 >> #5 0x0008e08c in RTError__MsgS (M3_AJWxb1_file=0xc63d8, >> M3_AcxOUs_line=2314, M3_Bd56fi_msgA=0xca3d0, >> M3_Bd56fi_msgB=0xcbe90, M3_Bd56fi_msgC=0xca3d0) at RTError.m3:40 >> #6 0x0008eb88 in RTException__Crash (M3_Cblw37_a=0xbfffee00, >> M3_AicXUJ_raises=0 '\0', M3_AJWxb1_rte=0xcb538) at RTException.m3:79 >> #7 0x0008e74c in RTException__DefaultBackstop >> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:39 >> #8 0x0008e614 in RTException__InvokeBackstop >> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:25 >> #9 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at >> RTExFrame.m3:29 >> #10 0x0008e840 in RTException__DefaultBackstop >> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:47 >> #11 0x0008e614 in RTException__InvokeBackstop >> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:25 >> #12 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at >> RTExFrame.m3:29 >> #13 0x00079740 in RTHooks__ReportFault (M3_AJWxb1_module=0xb3eb8, >> M3_AcxOUs_info=74048) at RTHooks.m3:110 >> #14 0x0006ff4c in _m3_fault (M3_AcxOUs_arg=74048) >> #15 0x0006bcf4 in RTHooks__CheckStoreTraced >> (M3_Af40ku_ref=0xb2415c) at RTCollector.m3:2314 >> #16 0x000700e4 in ThreadPThread__InnerLockMutex >> (M3_AYIbX3_m=0xb2415c, M3_BXP32l_self=0xb24014) at >> ThreadPThread.m3:126 >> #17 0x000704d8 in ThreadPThread__LockMutex (M3_AYIbX3_m=0xb2415c) >> at ThreadPThread.m3:153 >> #18 0x00019b24 in Wr__PutText (M3_BxxOH1_wr=0xb2415c, >> M3_Bd56fi_t=0xb44d5c) at Wr.m3:93 >> #19 0x00003f74 in Main_M3 (M3_AcxOUs_mode=1) at Main.m3:113 >> #20 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at >> RTLinker.m3:399 >> #21 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at >> RTLinker.m3:113 >> #22 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at >> RTLinker.m3:122 >> #23 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) >> at _m3main.mc:4 >> (gdb) >> >> The second error: >> >> Program received signal EXC_BAD_INSTRUCTION, Illegal instruction/ >> operand. >> 0x00b111ac in ?? () >> (gdb) where >> #0 0x00b111ac in ?? () >> #1 0x0001214c in TextSubs__Apply (M3_CN69dV_self=0xb26450, >> M3_Bd56fi_src=0xb21cec) at TextSubs.m3:63 >> #2 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at >> RTLinker.m3:399 >> #3 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at >> RTLinker.m3:113 >> #4 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at >> RTLinker.m3:122 >> #5 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) >> at _m3main.mc:4 >> (gdb) list >> 58 BEGIN >> 59 WHILE pos < textLen DO >> 60 c := Text.GetChar(src, pos); >> 61 IF c IN self.starts THEN >> 62 (* S("analysing: " & Text.Sub(src, pos), >> DebugLevel); *) >> 63 iter := self.tbl.iterateOrdered(); >> 64 ind := pos; >> 65 original := ""; >> 66 REPEAT >> 67 INC(ind); >> (gdb) >> >> Any ideas what to look at? >> >> I don't know if this is relevant: >> >> [lapdog:~/t/cit_parse/PPC_DARWIN] mika% uname -a >> Darwin lapdog.local 7.9.0 Darwin Kernel Version 7.9.0: Wed Mar 30 >> 20:11:17 PST 2005; root:xnu/xnu-517.12.7.obj~1/RELEASE_PPC Power >> Macintosh powerpc >> [lapdog:~/t/cit_parse/PPC_DARWIN] mika% gcc -v >> Reading specs from /usr/libexec/gcc/darwin/ppc/3.3/specs >> Thread model: posix >> gcc version 3.3 20030304 (Apple Computer, Inc. build 1666) >> >> Mika >> >> P.S. Am I correct in assuming that I can get CM3 to build on Windows? >> I could switch to CM3 on Unix any time, of course, but I've never >> had luck with it on Windows, which is why I am using the ancient >> Klagenfurt PM3, which comes on 40-odd "floppies" and a .EXE that >> unpacks them into C: (and installation instructions only in German). >> If CM3 doesn't work on Windows, I am essentially wasting my time, >> as the current project I am working on absolutely requires that the >> software run on Windows 2003 Server (yes, it sucks, but what can >> you do?) The very old PM3 at least kind of hobbles along on this >> platform---actually, better than that; it does Trestle natively >> under Windows (no X required), at least on SOME Windows machines. >> >> P.P.S. Sorry for all the postscripts, but is it true that the >> build system has been changed so that building with overrides (cm3 -x) >> requires having the compiler sources available? It didn't use to >> be that way, but I can't get Network Objects to work with overrides >> now unless I have the sources available... It's a bit of a pain >> because it means that every user has to have the compiler sources, >> or else ship everything, or was that not the intention? From jayk123 at hotmail.com Sun Jun 24 01:03:43 2007 From: jayk123 at hotmail.com (j k) Date: Sat, 23 Jun 2007 23:03:43 +0000 Subject: [M3devel] strange errors... In-Reply-To: <467D3000.1E75.00D7.1@scires.com> Message-ID: Windows should be in pretty good shape. I had it working a few months ago at least. It can at least build itself repeatedly and run a few GUI apps. I had it working with various versions of Visual C++ from 2.0 to 8.0, including almost everything in between -- the main issue is really just my dependency on link /dump to grok import .libs. I didn't realize how much link /dump had changed through the years. Try using the latest cm3 binary release and upgrading to the latest CVS with it. If anyone is interested in being able to go from DEC SRC to CVS let me know. I never tried that..and it annoys me that it requires applying source diffs... - Jay >From: "Randy Coleburn" >To: "Mika Nystrom" , >CC: mika at camembert.async.caltech.edu >Subject: Re: [M3devel] strange errors... >Date: Sat, 23 Jun 2007 14:36:32 -0400 > >Mika: >I've used CM3 (v4.1) on Windows for years with Trestle, FormsVBT, >NetObjects, etc.. >Make sure to use the v2 of Network Objects. >I haven't moved up to the most recent version yet. I tried some time >ago, but ran into some problems with Bundles not working correctly. >Maybe this is fixed now. I should try again. >Regards, >Randy Coleburn > > >>> Mika Nystrom 6/23/2007 3:34 AM >>> >Hello everyone, > >I am in the process of trying to consolidate build systems for a >few software packages I am maintaining. Currently, I am using an >old PM3 on FreeBSD4, an ancient PM3 (from Klagenfurt?) for Windows >(NT386GNU), and trying to get the latest CM3 from cvs up and compiling >things on PPC_DARWIN. Ideally, I'd like to standardize everything >on the new PM3---mainly so that I can use pickles (and Network >Objects) across all three systems. I'd also like to add Linux to >the mix. > >It's natural for me to start with CM3 on Darwin, as there's no >alternative. But I am getting some assertions failing. Everything >in the CM3 distribution compiles fine, and I believe I have compiled >the libraries a few times (that is, including with themselves), and >updated the compiler, too (using boot-cm3-with-m3.sh). I just cvs >updated tonight. > >Here's what I'm running into: > >/Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/CHP.t -o CHPTok.i3 > > >*** >*** runtime error: >*** <*ASSERT*> failed. >*** file "../src/runtime/common/RTCollector.m3", line 2314 >*** > >Abort > >Also: > >/Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/PRS.t -o PRSTok.i3 >Illegal instruction > >As you can see, these things are coming from the caltech_parser. I am >using >our local version, but I don't think it is very different from what is >in the >CM3 tree. > > >Examining the first error (the failed assertion) more closely, I see >the following: > >(gdb) list >108 wr := FileWr.Open(Pathname.ReplaceExt(tp.out, "m3")); >109 EXCEPT OSError.E => >110 Debug.Error("Cannot open tok implementation output file: " >& >111 Pathname.ReplaceExt(tp.out, "m3")); >112 END; >113 Wr.PutText(wr, subs.apply(Bundle.Get(Form, "tokform.m3"))); >114 Wr.Close(wr); >115 END Main. >(gdb) where >#0 0x9004308c in kill () >#1 0x9009fb3c in abort () >#2 0x00096f50 in RTOS__Crash () at RTOS.m3:20 >#3 0x0005bd40 in RTProcess__Crash (M3_Bd56fi_msg=0x0) at >RTProcess.m3:65 >#4 0x0008e4e0 in RTError__EndError (M3_AicXUJ_crash=1 '\001') at >RTError.m3:115 >#5 0x0008e08c in RTError__MsgS (M3_AJWxb1_file=0xc63d8, >M3_AcxOUs_line=2314, M3_Bd56fi_msgA=0xca3d0, M3_Bd56fi_msgB=0xcbe90, >M3_Bd56fi_msgC=0xca3d0) at RTError.m3:40 >#6 0x0008eb88 in RTException__Crash (M3_Cblw37_a=0xbfffee00, >M3_AicXUJ_raises=0 '\0', M3_AJWxb1_rte=0xcb538) at RTException.m3:79 >#7 0x0008e74c in RTException__DefaultBackstop (M3_Cblw37_a=0xbfffee00, >M3_AicXUJ_raises=0 '\0') at RTException.m3:39 >#8 0x0008e614 in RTException__InvokeBackstop (M3_Cblw37_a=0xbfffee00, >M3_AicXUJ_raises=0 '\0') at RTException.m3:25 >#9 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at >RTExFrame.m3:29 >#10 0x0008e840 in RTException__DefaultBackstop (M3_Cblw37_a=0xbfffee00, >M3_AicXUJ_raises=0 '\0') at RTException.m3:47 >#11 0x0008e614 in RTException__InvokeBackstop (M3_Cblw37_a=0xbfffee00, >M3_AicXUJ_raises=0 '\0') at RTException.m3:25 >#12 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at >RTExFrame.m3:29 >#13 0x00079740 in RTHooks__ReportFault (M3_AJWxb1_module=0xb3eb8, >M3_AcxOUs_info=74048) at RTHooks.m3:110 >#14 0x0006ff4c in _m3_fault (M3_AcxOUs_arg=74048) >#15 0x0006bcf4 in RTHooks__CheckStoreTraced (M3_Af40ku_ref=0xb2415c) at >RTCollector.m3:2314 >#16 0x000700e4 in ThreadPThread__InnerLockMutex (M3_AYIbX3_m=0xb2415c, >M3_BXP32l_self=0xb24014) at ThreadPThread.m3:126 >#17 0x000704d8 in ThreadPThread__LockMutex (M3_AYIbX3_m=0xb2415c) at >ThreadPThread.m3:153 >#18 0x00019b24 in Wr__PutText (M3_BxxOH1_wr=0xb2415c, >M3_Bd56fi_t=0xb44d5c) at Wr.m3:93 >#19 0x00003f74 in Main_M3 (M3_AcxOUs_mode=1) at Main.m3:113 >#20 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at >RTLinker.m3:399 >#21 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at >RTLinker.m3:113 >#22 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at >RTLinker.m3:122 >#23 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) at >_m3main.mc:4 >(gdb) > >The second error: > >Program received signal EXC_BAD_INSTRUCTION, Illegal >instruction/operand. >0x00b111ac in ?? () >(gdb) where >#0 0x00b111ac in ?? () >#1 0x0001214c in TextSubs__Apply (M3_CN69dV_self=0xb26450, >M3_Bd56fi_src=0xb21cec) at TextSubs.m3:63 >#2 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at >RTLinker.m3:399 >#3 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at >RTLinker.m3:113 >#4 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at >RTLinker.m3:122 >#5 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) at >_m3main.mc:4 >(gdb) list >58 BEGIN >59 WHILE pos < textLen DO >60 c := Text.GetChar(src, pos); >61 IF c IN self.starts THEN >62 (* S("analysing: " & Text.Sub(src, pos), DebugLevel); >*) >63 iter := self.tbl.iterateOrdered(); >64 ind := pos; >65 original := ""; >66 REPEAT >67 INC(ind); >(gdb) > >Any ideas what to look at? > >I don't know if this is relevant: > >[lapdog:~/t/cit_parse/PPC_DARWIN] mika% uname -a >Darwin lapdog.local 7.9.0 Darwin Kernel Version 7.9.0: Wed Mar 30 >20:11:17 PST 2005; root:xnu/xnu-517.12.7.obj~1/RELEASE_PPC Power >Macintosh powerpc >[lapdog:~/t/cit_parse/PPC_DARWIN] mika% gcc -v >Reading specs from /usr/libexec/gcc/darwin/ppc/3.3/specs >Thread model: posix >gcc version 3.3 20030304 (Apple Computer, Inc. build 1666) > > Mika > >P.S. Am I correct in assuming that I can get CM3 to build on Windows? >I could switch to CM3 on Unix any time, of course, but I've never >had luck with it on Windows, which is why I am using the ancient >Klagenfurt PM3, which comes on 40-odd "floppies" and a .EXE that >unpacks them into C: (and installation instructions only in German). >If CM3 doesn't work on Windows, I am essentially wasting my time, >as the current project I am working on absolutely requires that the >software run on Windows 2003 Server (yes, it sucks, but what can >you do?) The very old PM3 at least kind of hobbles along on this >platform---actually, better than that; it does Trestle natively >under Windows (no X required), at least on SOME Windows machines. > >P.P.S. Sorry for all the postscripts, but is it true that the >build system has been changed so that building with overrides (cm3 -x) >requires having the compiler sources available? It didn't use to >be that way, but I can't get Network Objects to work with overrides >now unless I have the sources available... It's a bit of a pain >because it means that every user has to have the compiler sources, >or else ship everything, or was that not the intention? > _________________________________________________________________ Like puzzles? Play free games & earn great prizes. Play Clink now. http://club.live.com/clink.aspx?icid=clink_hotmailtextlink2 From hosking at cs.purdue.edu Sun Jun 24 16:42:54 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Sun, 24 Jun 2007 10:42:54 -0400 Subject: [M3devel] strange errors... In-Reply-To: References: <200706231838.l5NIcRef079333@camembert.async.caltech.edu> Message-ID: <2A551B65-2E7D-4A16-B59F-9ED3C507788F@cs.purdue.edu> PS Pleas note that the instructions I gave below are for the current version of the CVS head, which no longer needs to build m3gc-simple/ m3gc-enhanced. On Jun 24, 2007, at 10:38 AM, Tony Hosking wrote: > Sounds like we really need some work done in this area. I very > rarely use the build scripts, since I bootstrap manually from old > compilers to new compilers rather than use the scripts. I suggest > the following approach, which I hope you will try, and then report > back on. > > Install the bootstrap compiler as you did originally: > >> rm -rf /usr/local/cm3/* >> >> cd ~/cm3-cvs >> mkdir boot >> cd boot >> tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz >> ./cminstall > > Now you will have some kind of cm3 installed, presumably in /usr/ > local/cm3/bin/cm3. > > Make sure you have a fresh CVS checkout in directory cm3 (let's > assume this is in your home directory ~/cm3). Also, make sure you > have an up-to-date version of the CM3 backend compiler cm3cg > installed by executing the following: > > STEP 0: > > export CM3=/usr/local/cm3/bin/cm3 > cd ~/cm3/m3-sys/m3cc > $CM3 > $CM3 -ship > > You can skip this last step if you know your backend compiler is up > to date. > > Now, let's build the new compiler from scratch (this is the > sequence I use regularly to test changes to the run-time system > whenever I make them): > > STEP 1: > > cd ~/cm3/m3-libs/m3core > $CM3 > $CM3 -ship > cd ~/cm3/m3-libs/libm3 > $CM3 > $CM3 -ship > cd ~/cm3/m3-sys/m3middle > $CM3 > $CM3 -ship > cd ~/cm3/m3-sys/m3linker > $CM3 > $CM3 -ship > cd ~/cm3/m3-sys/m3front > $CM3 > $CM3 -ship > cd ~/cm3/m3-sys/m3quake > $CM3 > $CM3 -ship > cd ~/cm3/m3-sys/cm3 > $CM3 > $CM3 -ship > > At this point you should have a bootstrapped version of cm3 > installed in the directory /usr/local/cm3/pkg/cm3/TARGET/cm3 (where > TARGET is the CM3 target platform you are building on -- e.g., > LINUXLIBC6, PPC_DARWIN, ...). Note that this did not overwrite > your original installed compiler in /usr/local/cm3/bin/cm3. We > are now going to test the new compiler, which was built using the > old compiler, by bootstrapping it one more time. > > From here on out, please replace TARGET with your target platform > as appropriate. > > STEP 2: > > export CM3=/usr/local/cm3/pkg/cm3/TARGET/cm3 > cd ~/cm3/scripts > ./do-cm3-std.sh realclean > REPEAT STEP 1 to rebuild the libraries and the compiler using the > STEP 1 bootstrap compiler. > > Now you have a STEP 2 bootstrap compiler installed in /usr/local/ > cm3/pkg/cm3/TARGET/cm3. Let's assume the new compiler now works > properly since it successfully bootstrapped itself, but to be sure > we can now use it to rebuild the world: > > cd ~/cm3/scripts > ./do-cm3-std.sh realclean > ./do-cm3-std.sh buildship > > Assuming this succeeded then we can be pretty sure /usr/local/cm3/ > pkg/cm3/TARGET/cm3 is good, so we can make it our default compiler > by replacing the original /usr/local/cm3/bin/cm3: > > cp $CM3 /usr/local/cm3/bin/cm3 > > On Jun 23, 2007, at 2:38 PM, Mika Nystrom wrote: > >> Ok, I'm sorry if I seem a bit dimwitted in the morning like this, >> but how exactly does one get started? I wish there were a file >> called >> "GETTING_STARTED" or something like that in scripts... >> >> My Mac is very slow so I switched to my FreeBSD/i386 system (which >> has >> PM3 happily installed on it) and tried to install CM3 from scratch. >> Here are the exact commands I typed. >> >> >> rm -rf /usr/local/cm3/* >> >> cd ~/cm3-cvs >> mkdir boot >> cd boot >> tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz >> ./cminstall >> >> # now I seem to have some kind of cm3 installed, /usr/local/cm3/ >> bin/cm3 >> >> cd cm3 # location of my CM3 checkout >> cvs update -d . >> >> cd scripts >> ./boot-cm3-with-m3.sh realclean >> ./do-cm3-std.sh realclean >> >> ./upgrade.sh # fails here, libm3 not compiled >> ./boot-cm3-with-m3.sh build # builds cm3, but fails on >> cminstall, patternmatching not built >> >> ./do-cm3-std.sh build # OK >> ./do-cm3-std.sh buildship # OK >> >> ./boot-cm3-with-m3.sh realclean # start over >> ./boot-cm3-with-m3.sh build # OK >> ./boot-cm3-with-m3.sh buildship # OK >> >> ./do-cm3-std.sh realclean # OK >> ./do-cm3-std.sh build # dies miserably... maybe the >> compiler can't handle the new libraries? >> >> ./install-cm3-compiler.sh upgrade # OK, new cm3 binary installed >> >> After all that, "game over." I have a cm3 that segfaults. >> >> Text.i3: In function 'Text_I3': >> Text.i3:81: internal compiler error: Segmentation fault >> Please submit a full bug report, >> with preprocessed source if appropriate. >> See for instructions. >> compilation failed => not building library "libm3core.a" >> Fatal Error: package build failed >> *** execution of failed *** >> >> I can't seem to get either m3gdb or gdb to say anything reasonable >> either. ktrace shows nothing out of the ordinary. >> >> ----- >> >> Meanwhile, my Mac got through "do-cm3-std.sh realclean" and >> "do-cm3-std.sh buildship" but my compiles are still dying on the >> same assertion tickled by ktok. On that machine I have INSTALLROOT >> set to ~/cm3, but hopefully that has nothing to do with it... >> >> ----- >> >> Does do-cm3-std.sh realclean clean EVERYTHING? If so my Mac should >> really have a fresh setup. The FreeBSD, I am not sure, maybe the >> old binary version just doesn't work right? Of course I could try >> bootstrapping with PM3 as well... but really, there's an "approved" >> process to get from a blank system, no? >> >> Mika >> >> >> >> >> Tony Hosking writes: >>> That sounds like you forgot to execute "do-cm3-std.sh realclean" >>> before initiating the build. These sorts of errors sometimes arise >>> if there are old build directories lying around. >>> >>> >>> On Jun 23, 2007, at 3:34 AM, Mika Nystrom wrote: >>> >>>> Hello everyone, >>>> >>>> I am in the process of trying to consolidate build systems for a >>>> few software packages I am maintaining. Currently, I am using an >>>> old PM3 on FreeBSD4, an ancient PM3 (from Klagenfurt?) for Windows >>>> (NT386GNU), and trying to get the latest CM3 from cvs up and >>>> compiling >>>> things on PPC_DARWIN. Ideally, I'd like to standardize everything >>>> on the new PM3---mainly so that I can use pickles (and Network >>>> Objects) across all three systems. I'd also like to add Linux to >>>> the mix. >>>> >>>> It's natural for me to start with CM3 on Darwin, as there's no >>>> alternative. But I am getting some assertions failing. Everything >>>> in the CM3 distribution compiles fine, and I believe I have >>>> compiled >>>> the libraries a few times (that is, including with themselves), and >>>> updated the compiler, too (using boot-cm3-with-m3.sh). I just cvs >>>> updated tonight. >>>> >>>> Here's what I'm running into: >>>> >>>> /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/CHP.t -o >>>> CHPTok.i3 >>>> >>>> >>>> *** >>>> *** runtime error: >>>> *** <*ASSERT*> failed. >>>> *** file "../src/runtime/common/RTCollector.m3", line 2314 >>>> *** >>>> >>>> Abort >>>> >>>> Also: >>>> >>>> /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/PRS.t -o >>>> PRSTok.i3 >>>> Illegal instruction >>>> >>>> As you can see, these things are coming from the caltech_parser. I >>> am using >>>> our local version, but I don't think it is very different from what >>>> is in the >>>> CM3 tree. >>>> >>>> >>>> Examining the first error (the failed assertion) more closely, I >>>> see >>>> the following: >>>> >>>> (gdb) list >>>> 108 wr := FileWr.Open(Pathname.ReplaceExt(tp.out, "m3")); >>>> 109 EXCEPT OSError.E => >>>> 110 Debug.Error("Cannot open tok implementation output >>>> file: " & >>>> 111 Pathname.ReplaceExt(tp.out, "m3")); >>>> 112 END; >>>> 113 Wr.PutText(wr, subs.apply(Bundle.Get(Form, >>>> "tokform.m3"))); >>>> 114 Wr.Close(wr); >>>> 115 END Main. >>>> (gdb) where >>>> #0 0x9004308c in kill () >>>> #1 0x9009fb3c in abort () >>>> #2 0x00096f50 in RTOS__Crash () at RTOS.m3:20 >>>> #3 0x0005bd40 in RTProcess__Crash (M3_Bd56fi_msg=0x0) at >>>> RTProcess.m3:65 >>>> #4 0x0008e4e0 in RTError__EndError (M3_AicXUJ_crash=1 '\001') at >>>> RTError.m3:115 >>>> #5 0x0008e08c in RTError__MsgS (M3_AJWxb1_file=0xc63d8, >>>> M3_AcxOUs_line=2314, M3_Bd56fi_msgA=0xca3d0, >>>> M3_Bd56fi_msgB=0xcbe90, M3_Bd56fi_msgC=0xca3d0) at RTError.m3:40 >>>> #6 0x0008eb88 in RTException__Crash (M3_Cblw37_a=0xbfffee00, >>>> M3_AicXUJ_raises=0 '\0', M3_AJWxb1_rte=0xcb538) at >>>> RTException.m3:79 >>>> #7 0x0008e74c in RTException__DefaultBackstop >>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>> RTException.m3:39 >>>> #8 0x0008e614 in RTException__InvokeBackstop >>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>> RTException.m3:25 >>>> #9 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at >>>> RTExFrame.m3:29 >>>> #10 0x0008e840 in RTException__DefaultBackstop >>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>> RTException.m3:47 >>>> #11 0x0008e614 in RTException__InvokeBackstop >>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>> RTException.m3:25 >>>> #12 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at >>>> RTExFrame.m3:29 >>>> #13 0x00079740 in RTHooks__ReportFault (M3_AJWxb1_module=0xb3eb8, >>>> M3_AcxOUs_info=74048) at RTHooks.m3:110 >>>> #14 0x0006ff4c in _m3_fault (M3_AcxOUs_arg=74048) >>>> #15 0x0006bcf4 in RTHooks__CheckStoreTraced >>>> (M3_Af40ku_ref=0xb2415c) at RTCollector.m3:2314 >>>> #16 0x000700e4 in ThreadPThread__InnerLockMutex >>>> (M3_AYIbX3_m=0xb2415c, M3_BXP32l_self=0xb24014) at >>>> ThreadPThread.m3:126 >>>> #17 0x000704d8 in ThreadPThread__LockMutex (M3_AYIbX3_m=0xb2415c) >>>> at ThreadPThread.m3:153 >>>> #18 0x00019b24 in Wr__PutText (M3_BxxOH1_wr=0xb2415c, >>>> M3_Bd56fi_t=0xb44d5c) at Wr.m3:93 >>>> #19 0x00003f74 in Main_M3 (M3_AcxOUs_mode=1) at Main.m3:113 >>>> #20 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at >>>> RTLinker.m3:399 >>>> #21 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at >>>> RTLinker.m3:113 >>>> #22 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at >>>> RTLinker.m3:122 >>>> #23 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) >>>> at _m3main.mc:4 >>>> (gdb) >>>> >>>> The second error: >>>> >>>> Program received signal EXC_BAD_INSTRUCTION, Illegal instruction/ >>>> operand. >>>> 0x00b111ac in ?? () >>>> (gdb) where >>>> #0 0x00b111ac in ?? () >>>> #1 0x0001214c in TextSubs__Apply (M3_CN69dV_self=0xb26450, >>>> M3_Bd56fi_src=0xb21cec) at TextSubs.m3:63 >>>> #2 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at >>>> RTLinker.m3:399 >>>> #3 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at >>>> RTLinker.m3:113 >>>> #4 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at >>>> RTLinker.m3:122 >>>> #5 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) >>>> at _m3main.mc:4 >>>> (gdb) list >>>> 58 BEGIN >>>> 59 WHILE pos < textLen DO >>>> 60 c := Text.GetChar(src, pos); >>>> 61 IF c IN self.starts THEN >>>> 62 (* S("analysing: " & Text.Sub(src, pos), >>>> DebugLevel); *) >>>> 63 iter := self.tbl.iterateOrdered(); >>>> 64 ind := pos; >>>> 65 original := ""; >>>> 66 REPEAT >>>> 67 INC(ind); >>>> (gdb) >>>> >>>> Any ideas what to look at? >>>> >>>> I don't know if this is relevant: >>>> >>>> [lapdog:~/t/cit_parse/PPC_DARWIN] mika% uname -a >>>> Darwin lapdog.local 7.9.0 Darwin Kernel Version 7.9.0: Wed Mar 30 >>>> 20:11:17 PST 2005; root:xnu/xnu-517.12.7.obj~1/RELEASE_PPC Power >>>> Macintosh powerpc >>>> [lapdog:~/t/cit_parse/PPC_DARWIN] mika% gcc -v >>>> Reading specs from /usr/libexec/gcc/darwin/ppc/3.3/specs >>>> Thread model: posix >>>> gcc version 3.3 20030304 (Apple Computer, Inc. build 1666) >>>> >>>> Mika >>>> >>>> P.S. Am I correct in assuming that I can get CM3 to build on >>>> Windows? >>>> I could switch to CM3 on Unix any time, of course, but I've never >>>> had luck with it on Windows, which is why I am using the ancient >>>> Klagenfurt PM3, which comes on 40-odd "floppies" and a .EXE that >>>> unpacks them into C: (and installation instructions only in >>>> German). >>>> If CM3 doesn't work on Windows, I am essentially wasting my time, >>>> as the current project I am working on absolutely requires that the >>>> software run on Windows 2003 Server (yes, it sucks, but what can >>>> you do?) The very old PM3 at least kind of hobbles along on this >>>> platform---actually, better than that; it does Trestle natively >>>> under Windows (no X required), at least on SOME Windows machines. >>>> >>>> P.P.S. Sorry for all the postscripts, but is it true that the >>>> build system has been changed so that building with overrides >>>> (cm3 -x) >>>> requires having the compiler sources available? It didn't use to >>>> be that way, but I can't get Network Objects to work with overrides >>>> now unless I have the sources available... It's a bit of a pain >>>> because it means that every user has to have the compiler sources, >>>> or else ship everything, or was that not the intention? > From hosking at cs.purdue.edu Sun Jun 24 16:38:34 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Sun, 24 Jun 2007 10:38:34 -0400 Subject: [M3devel] strange errors... In-Reply-To: <200706231838.l5NIcRef079333@camembert.async.caltech.edu> References: <200706231838.l5NIcRef079333@camembert.async.caltech.edu> Message-ID: Sounds like we really need some work done in this area. I very rarely use the build scripts, since I bootstrap manually from old compilers to new compilers rather than use the scripts. I suggest the following approach, which I hope you will try, and then report back on. Install the bootstrap compiler as you did originally: > rm -rf /usr/local/cm3/* > > cd ~/cm3-cvs > mkdir boot > cd boot > tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz > ./cminstall Now you will have some kind of cm3 installed, presumably in /usr/ local/cm3/bin/cm3. Make sure you have a fresh CVS checkout in directory cm3 (let's assume this is in your home directory ~/cm3). Also, make sure you have an up-to-date version of the CM3 backend compiler cm3cg installed by executing the following: STEP 0: export CM3=/usr/local/cm3/bin/cm3 cd ~/cm3/m3-sys/m3cc $CM3 $CM3 -ship You can skip this last step if you know your backend compiler is up to date. Now, let's build the new compiler from scratch (this is the sequence I use regularly to test changes to the run-time system whenever I make them): STEP 1: cd ~/cm3/m3-libs/m3core $CM3 $CM3 -ship cd ~/cm3/m3-libs/libm3 $CM3 $CM3 -ship cd ~/cm3/m3-sys/m3middle $CM3 $CM3 -ship cd ~/cm3/m3-sys/m3linker $CM3 $CM3 -ship cd ~/cm3/m3-sys/m3front $CM3 $CM3 -ship cd ~/cm3/m3-sys/m3quake $CM3 $CM3 -ship cd ~/cm3/m3-sys/cm3 $CM3 $CM3 -ship At this point you should have a bootstrapped version of cm3 installed in the directory /usr/local/cm3/pkg/cm3/TARGET/cm3 (where TARGET is the CM3 target platform you are building on -- e.g., LINUXLIBC6, PPC_DARWIN, ...). Note that this did not overwrite your original installed compiler in /usr/local/cm3/bin/cm3. We are now going to test the new compiler, which was built using the old compiler, by bootstrapping it one more time. From here on out, please replace TARGET with your target platform as appropriate. STEP 2: export CM3=/usr/local/cm3/pkg/cm3/TARGET/cm3 cd ~/cm3/scripts ./do-cm3-std.sh realclean REPEAT STEP 1 to rebuild the libraries and the compiler using the STEP 1 bootstrap compiler. Now you have a STEP 2 bootstrap compiler installed in /usr/local/cm3/ pkg/cm3/TARGET/cm3. Let's assume the new compiler now works properly since it successfully bootstrapped itself, but to be sure we can now use it to rebuild the world: cd ~/cm3/scripts ./do-cm3-std.sh realclean ./do-cm3-std.sh buildship Assuming this succeeded then we can be pretty sure /usr/local/cm3/pkg/ cm3/TARGET/cm3 is good, so we can make it our default compiler by replacing the original /usr/local/cm3/bin/cm3: cp $CM3 /usr/local/cm3/bin/cm3 On Jun 23, 2007, at 2:38 PM, Mika Nystrom wrote: > Ok, I'm sorry if I seem a bit dimwitted in the morning like this, > but how exactly does one get started? I wish there were a file called > "GETTING_STARTED" or something like that in scripts... > > My Mac is very slow so I switched to my FreeBSD/i386 system (which has > PM3 happily installed on it) and tried to install CM3 from scratch. > Here are the exact commands I typed. > > > rm -rf /usr/local/cm3/* > > cd ~/cm3-cvs > mkdir boot > cd boot > tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz > ./cminstall > > # now I seem to have some kind of cm3 installed, /usr/local/cm3/bin/ > cm3 > > cd cm3 # location of my CM3 checkout > cvs update -d . > > cd scripts > ./boot-cm3-with-m3.sh realclean > ./do-cm3-std.sh realclean > > ./upgrade.sh # fails here, libm3 not compiled > ./boot-cm3-with-m3.sh build # builds cm3, but fails on > cminstall, patternmatching not built > > ./do-cm3-std.sh build # OK > ./do-cm3-std.sh buildship # OK > > ./boot-cm3-with-m3.sh realclean # start over > ./boot-cm3-with-m3.sh build # OK > ./boot-cm3-with-m3.sh buildship # OK > > ./do-cm3-std.sh realclean # OK > ./do-cm3-std.sh build # dies miserably... maybe the > compiler can't handle the new libraries? > > ./install-cm3-compiler.sh upgrade # OK, new cm3 binary installed > > After all that, "game over." I have a cm3 that segfaults. > > Text.i3: In function 'Text_I3': > Text.i3:81: internal compiler error: Segmentation fault > Please submit a full bug report, > with preprocessed source if appropriate. > See for instructions. > compilation failed => not building library "libm3core.a" > Fatal Error: package build failed > *** execution of failed *** > > I can't seem to get either m3gdb or gdb to say anything reasonable > either. ktrace shows nothing out of the ordinary. > > ----- > > Meanwhile, my Mac got through "do-cm3-std.sh realclean" and > "do-cm3-std.sh buildship" but my compiles are still dying on the > same assertion tickled by ktok. On that machine I have INSTALLROOT > set to ~/cm3, but hopefully that has nothing to do with it... > > ----- > > Does do-cm3-std.sh realclean clean EVERYTHING? If so my Mac should > really have a fresh setup. The FreeBSD, I am not sure, maybe the > old binary version just doesn't work right? Of course I could try > bootstrapping with PM3 as well... but really, there's an "approved" > process to get from a blank system, no? > > Mika > > > > > Tony Hosking writes: >> That sounds like you forgot to execute "do-cm3-std.sh realclean" >> before initiating the build. These sorts of errors sometimes arise >> if there are old build directories lying around. >> >> >> On Jun 23, 2007, at 3:34 AM, Mika Nystrom wrote: >> >>> Hello everyone, >>> >>> I am in the process of trying to consolidate build systems for a >>> few software packages I am maintaining. Currently, I am using an >>> old PM3 on FreeBSD4, an ancient PM3 (from Klagenfurt?) for Windows >>> (NT386GNU), and trying to get the latest CM3 from cvs up and >>> compiling >>> things on PPC_DARWIN. Ideally, I'd like to standardize everything >>> on the new PM3---mainly so that I can use pickles (and Network >>> Objects) across all three systems. I'd also like to add Linux to >>> the mix. >>> >>> It's natural for me to start with CM3 on Darwin, as there's no >>> alternative. But I am getting some assertions failing. Everything >>> in the CM3 distribution compiles fine, and I believe I have compiled >>> the libraries a few times (that is, including with themselves), and >>> updated the compiler, too (using boot-cm3-with-m3.sh). I just cvs >>> updated tonight. >>> >>> Here's what I'm running into: >>> >>> /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/CHP.t -o >>> CHPTok.i3 >>> >>> >>> *** >>> *** runtime error: >>> *** <*ASSERT*> failed. >>> *** file "../src/runtime/common/RTCollector.m3", line 2314 >>> *** >>> >>> Abort >>> >>> Also: >>> >>> /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/PRS.t -o >>> PRSTok.i3 >>> Illegal instruction >>> >>> As you can see, these things are coming from the caltech_parser. I >> am using >>> our local version, but I don't think it is very different from what >>> is in the >>> CM3 tree. >>> >>> >>> Examining the first error (the failed assertion) more closely, I see >>> the following: >>> >>> (gdb) list >>> 108 wr := FileWr.Open(Pathname.ReplaceExt(tp.out, "m3")); >>> 109 EXCEPT OSError.E => >>> 110 Debug.Error("Cannot open tok implementation output >>> file: " & >>> 111 Pathname.ReplaceExt(tp.out, "m3")); >>> 112 END; >>> 113 Wr.PutText(wr, subs.apply(Bundle.Get(Form, >>> "tokform.m3"))); >>> 114 Wr.Close(wr); >>> 115 END Main. >>> (gdb) where >>> #0 0x9004308c in kill () >>> #1 0x9009fb3c in abort () >>> #2 0x00096f50 in RTOS__Crash () at RTOS.m3:20 >>> #3 0x0005bd40 in RTProcess__Crash (M3_Bd56fi_msg=0x0) at >>> RTProcess.m3:65 >>> #4 0x0008e4e0 in RTError__EndError (M3_AicXUJ_crash=1 '\001') at >>> RTError.m3:115 >>> #5 0x0008e08c in RTError__MsgS (M3_AJWxb1_file=0xc63d8, >>> M3_AcxOUs_line=2314, M3_Bd56fi_msgA=0xca3d0, >>> M3_Bd56fi_msgB=0xcbe90, M3_Bd56fi_msgC=0xca3d0) at RTError.m3:40 >>> #6 0x0008eb88 in RTException__Crash (M3_Cblw37_a=0xbfffee00, >>> M3_AicXUJ_raises=0 '\0', M3_AJWxb1_rte=0xcb538) at RTException.m3:79 >>> #7 0x0008e74c in RTException__DefaultBackstop >>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>> RTException.m3:39 >>> #8 0x0008e614 in RTException__InvokeBackstop >>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>> RTException.m3:25 >>> #9 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at >>> RTExFrame.m3:29 >>> #10 0x0008e840 in RTException__DefaultBackstop >>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>> RTException.m3:47 >>> #11 0x0008e614 in RTException__InvokeBackstop >>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>> RTException.m3:25 >>> #12 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at >>> RTExFrame.m3:29 >>> #13 0x00079740 in RTHooks__ReportFault (M3_AJWxb1_module=0xb3eb8, >>> M3_AcxOUs_info=74048) at RTHooks.m3:110 >>> #14 0x0006ff4c in _m3_fault (M3_AcxOUs_arg=74048) >>> #15 0x0006bcf4 in RTHooks__CheckStoreTraced >>> (M3_Af40ku_ref=0xb2415c) at RTCollector.m3:2314 >>> #16 0x000700e4 in ThreadPThread__InnerLockMutex >>> (M3_AYIbX3_m=0xb2415c, M3_BXP32l_self=0xb24014) at >>> ThreadPThread.m3:126 >>> #17 0x000704d8 in ThreadPThread__LockMutex (M3_AYIbX3_m=0xb2415c) >>> at ThreadPThread.m3:153 >>> #18 0x00019b24 in Wr__PutText (M3_BxxOH1_wr=0xb2415c, >>> M3_Bd56fi_t=0xb44d5c) at Wr.m3:93 >>> #19 0x00003f74 in Main_M3 (M3_AcxOUs_mode=1) at Main.m3:113 >>> #20 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at >>> RTLinker.m3:399 >>> #21 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at >>> RTLinker.m3:113 >>> #22 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at >>> RTLinker.m3:122 >>> #23 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) >>> at _m3main.mc:4 >>> (gdb) >>> >>> The second error: >>> >>> Program received signal EXC_BAD_INSTRUCTION, Illegal instruction/ >>> operand. >>> 0x00b111ac in ?? () >>> (gdb) where >>> #0 0x00b111ac in ?? () >>> #1 0x0001214c in TextSubs__Apply (M3_CN69dV_self=0xb26450, >>> M3_Bd56fi_src=0xb21cec) at TextSubs.m3:63 >>> #2 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at >>> RTLinker.m3:399 >>> #3 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at >>> RTLinker.m3:113 >>> #4 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at >>> RTLinker.m3:122 >>> #5 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) >>> at _m3main.mc:4 >>> (gdb) list >>> 58 BEGIN >>> 59 WHILE pos < textLen DO >>> 60 c := Text.GetChar(src, pos); >>> 61 IF c IN self.starts THEN >>> 62 (* S("analysing: " & Text.Sub(src, pos), >>> DebugLevel); *) >>> 63 iter := self.tbl.iterateOrdered(); >>> 64 ind := pos; >>> 65 original := ""; >>> 66 REPEAT >>> 67 INC(ind); >>> (gdb) >>> >>> Any ideas what to look at? >>> >>> I don't know if this is relevant: >>> >>> [lapdog:~/t/cit_parse/PPC_DARWIN] mika% uname -a >>> Darwin lapdog.local 7.9.0 Darwin Kernel Version 7.9.0: Wed Mar 30 >>> 20:11:17 PST 2005; root:xnu/xnu-517.12.7.obj~1/RELEASE_PPC Power >>> Macintosh powerpc >>> [lapdog:~/t/cit_parse/PPC_DARWIN] mika% gcc -v >>> Reading specs from /usr/libexec/gcc/darwin/ppc/3.3/specs >>> Thread model: posix >>> gcc version 3.3 20030304 (Apple Computer, Inc. build 1666) >>> >>> Mika >>> >>> P.S. Am I correct in assuming that I can get CM3 to build on >>> Windows? >>> I could switch to CM3 on Unix any time, of course, but I've never >>> had luck with it on Windows, which is why I am using the ancient >>> Klagenfurt PM3, which comes on 40-odd "floppies" and a .EXE that >>> unpacks them into C: (and installation instructions only in German). >>> If CM3 doesn't work on Windows, I am essentially wasting my time, >>> as the current project I am working on absolutely requires that the >>> software run on Windows 2003 Server (yes, it sucks, but what can >>> you do?) The very old PM3 at least kind of hobbles along on this >>> platform---actually, better than that; it does Trestle natively >>> under Windows (no X required), at least on SOME Windows machines. >>> >>> P.P.S. Sorry for all the postscripts, but is it true that the >>> build system has been changed so that building with overrides >>> (cm3 -x) >>> requires having the compiler sources available? It didn't use to >>> be that way, but I can't get Network Objects to work with overrides >>> now unless I have the sources available... It's a bit of a pain >>> because it means that every user has to have the compiler sources, >>> or else ship everything, or was that not the intention? From dragisha at m3w.org Sun Jun 24 22:21:59 2007 From: dragisha at m3w.org (=?UTF-8?Q?Dragi=C5=A1a_Duri=C4=87?=) Date: Sun, 24 Jun 2007 22:21:59 +0200 Subject: [M3devel] [M3commit] CVS Update: cm3 In-Reply-To: <20070624195136.B288210D42D0@birch.elegosoft.com> References: <20070624195136.B288210D42D0@birch.elegosoft.com> Message-ID: <1182716519.9643.1.camel@faramir.m3w.org> This is for using LINUXLIBC6 as target on AMD64, not LINUXAMD64 solved? What is ETA for LINUXAMD64? dd On Sun, 2007-06-24 at 21:51 +0000, Antony Hosking wrote: > CVSROOT: /usr/cvs > Changes by: hosking at birch. 07/06/24 21:51:36 > > Modified files: > cm3/m3-sys/cminstall/src/config/: LINUXLIBC6 > > Log message: > Add explicit use of 32-bit backend tools for LINUXLIBC6 target, so > things work properly on x86_64 machines. (LINUXLIBC6 assumes a 32-bit > INTEGER target even though the host machine might be able to do > 64-bits). > -- Dragi?a Duri? From hosking at cs.purdue.edu Sun Jun 24 22:57:27 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Sun, 24 Jun 2007 16:57:27 -0400 Subject: [M3devel] [M3commit] CVS Update: cm3 In-Reply-To: <1182716519.9643.1.camel@faramir.m3w.org> References: <20070624195136.B288210D42D0@birch.elegosoft.com> <1182716519.9643.1.camel@faramir.m3w.org> Message-ID: Yes, LINUXLIBC6 can be used as a 32-bit target on AMD64 so long as m3cc is built appropriately. I haven't checked in the fix for the m3cc m3makefile yet, but what is needed is to make sure to configure the build of the gcc-based backend with --enable-targets=x86-linux to make sure you get one that targets 32 bits instead of 64. On Jun 24, 2007, at 4:21 PM, Dragi?a Duri? wrote: > This is for using LINUXLIBC6 as target on AMD64, not LINUXAMD64 > solved? > > What is ETA for LINUXAMD64? Not sure. I don't know when I'll get a chance to work on it, but I don't think it will be too difficult. It will need to be a different target, say x86_64_LINUX perhaps. > > dd > > On Sun, 2007-06-24 at 21:51 +0000, Antony Hosking wrote: >> CVSROOT: /usr/cvs >> Changes by: hosking at birch. 07/06/24 21:51:36 >> >> Modified files: >> cm3/m3-sys/cminstall/src/config/: LINUXLIBC6 >> >> Log message: >> Add explicit use of 32-bit backend tools for LINUXLIBC6 target, so >> things work properly on x86_64 machines. (LINUXLIBC6 assumes a >> 32-bit >> INTEGER target even though the host machine might be able to do >> 64-bits). >> > -- > Dragi?a Duri? From hosking at cs.purdue.edu Sun Jun 24 22:59:17 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Sun, 24 Jun 2007 16:59:17 -0400 Subject: [M3devel] [M3commit] CVS Update: cm3 In-Reply-To: <1182716519.9643.1.camel@faramir.m3w.org> References: <20070624195136.B288210D42D0@birch.elegosoft.com> <1182716519.9643.1.camel@faramir.m3w.org> Message-ID: Is anyone out there already working on LINUXAMD64? On Jun 24, 2007, at 4:21 PM, Dragi?a Duri? wrote: > This is for using LINUXLIBC6 as target on AMD64, not LINUXAMD64 > solved? > > What is ETA for LINUXAMD64? > > dd > > On Sun, 2007-06-24 at 21:51 +0000, Antony Hosking wrote: >> CVSROOT: /usr/cvs >> Changes by: hosking at birch. 07/06/24 21:51:36 >> >> Modified files: >> cm3/m3-sys/cminstall/src/config/: LINUXLIBC6 >> >> Log message: >> Add explicit use of 32-bit backend tools for LINUXLIBC6 target, so >> things work properly on x86_64 machines. (LINUXLIBC6 assumes a >> 32-bit >> INTEGER target even though the host machine might be able to do >> 64-bits). >> > -- > Dragi?a Duri? From stsp at elego.de Sun Jun 24 23:13:08 2007 From: stsp at elego.de (Stefan Sperling) Date: Sun, 24 Jun 2007 23:13:08 +0200 Subject: [M3devel] [M3commit] CVS Update: cm3 In-Reply-To: References: <20070624195136.B288210D42D0@birch.elegosoft.com> <1182716519.9643.1.camel@faramir.m3w.org> Message-ID: <20070624211308.GA2750@ted.stsp.lan> On Sun, Jun 24, 2007 at 04:57:27PM -0400, Tony Hosking wrote: > On Jun 24, 2007, at 4:21 PM, Dragi?a Duri?? wrote: > > > This is for using LINUXLIBC6 as target on AMD64, not LINUXAMD64 solved? > > > > What is ETA for LINUXAMD64? > > Not sure. I don't know when I'll get a chance to work on it, but I don't > think it will be too difficult. It will need to be a different target, say > x86_64_LINUX perhaps. A diff against a very old version is still sitting here: http://www.stsp.name/cm3/cm3-linux-amd64-2005-04-18.patch We don't have to start from scratch. Maybe elego will let me spend some time on this again some day, we'll see. -- stefan http://stsp.name PGP Key: 0xF59D25F0 -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 187 bytes Desc: not available URL: From mika at async.caltech.edu Mon Jun 25 04:53:56 2007 From: mika at async.caltech.edu (Mika Nystrom) Date: Sun, 24 Jun 2007 19:53:56 -0700 Subject: [M3devel] strange errors... In-Reply-To: Your message of "Sun, 24 Jun 2007 10:38:34 EDT." Message-ID: <200706250253.l5P2rvOu013096@camembert.async.caltech.edu> Tony Hosking writes: ... > >Install the bootstrap compiler as you did originally: > >> rm -rf /usr/local/cm3/* >> >> cd ~/cm3-cvs >> mkdir boot >> cd boot >> tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz >> ./cminstall > >Now you will have some kind of cm3 installed, presumably in /usr/ >local/cm3/bin/cm3. > >Make sure you have a fresh CVS checkout in directory cm3 (let's >assume this is in your home directory ~/cm3). Also, make sure you >have an up-to-date version of the CM3 backend compiler cm3cg >installed by executing the following: > >STEP 0: > >export CM3=/usr/local/cm3/bin/cm3 >cd ~/cm3/m3-sys/m3cc >$CM3 >$CM3 -ship > >You can skip this last step if you know your backend compiler is up >to date. Ok, I did a completely fresh checkout (into an empty directory) and proceeded in accordance with the above instructions. At this point (that is, after shipping the new cm3cg), I have a segfaulting cm3. This is on the following system: (130)rover:~/cm3-cvs/fresh/cm3/m3-libs/m3core>uname -a FreeBSD rover 5.5-RELEASE FreeBSD 5.5-RELEASE #3: Sat May 12 14:03:45 PDT 2007 mika at rover:/usr/src/sys/i386/compile/ROVER i386 (131)rover:~/cm3-cvs/fresh/cm3/m3-libs/m3core>gcc -v Using built-in specs. Configured with: FreeBSD/i386 system compiler Thread model: posix gcc version 3.4.2 [FreeBSD] 20040728 (132)rover:~/cm3-cvs/fresh/cm3/m3-libs/m3core>cm3 -version Critical Mass Modula-3 version d5.3.1 last updated: 2005-10-05 configuration: /usr/local/cm3/bin/cm3.cfg I'm trying it on Darwin too, but as usual that machine is a couple of steps behind... Mika > >Now, let's build the new compiler from scratch (this is the sequence >I use regularly to test changes to the run-time system whenever I >make them): > >STEP 1: > >cd ~/cm3/m3-libs/m3core >$CM3 >$CM3 -ship >cd ~/cm3/m3-libs/libm3 >$CM3 >$CM3 -ship >cd ~/cm3/m3-sys/m3middle >$CM3 >$CM3 -ship >cd ~/cm3/m3-sys/m3linker >$CM3 >$CM3 -ship >cd ~/cm3/m3-sys/m3front >$CM3 >$CM3 -ship >cd ~/cm3/m3-sys/m3quake >$CM3 >$CM3 -ship >cd ~/cm3/m3-sys/cm3 >$CM3 >$CM3 -ship > >At this point you should have a bootstrapped version of cm3 installed >in the directory /usr/local/cm3/pkg/cm3/TARGET/cm3 (where TARGET is >the CM3 target platform you are building on -- e.g., LINUXLIBC6, >PPC_DARWIN, ...). Note that this did not overwrite your original >installed compiler in /usr/local/cm3/bin/cm3. We >are now going to test the new compiler, which was built using the old >compiler, by bootstrapping it one more time. > > From here on out, please replace TARGET with your target platform as >appropriate. > >STEP 2: > >export CM3=/usr/local/cm3/pkg/cm3/TARGET/cm3 >cd ~/cm3/scripts >./do-cm3-std.sh realclean >REPEAT STEP 1 to rebuild the libraries and the compiler using the >STEP 1 bootstrap compiler. > >Now you have a STEP 2 bootstrap compiler installed in /usr/local/cm3/ >pkg/cm3/TARGET/cm3. Let's assume the new compiler now works properly >since it successfully bootstrapped itself, but to be sure we can now >use it to rebuild the world: > >cd ~/cm3/scripts >./do-cm3-std.sh realclean >./do-cm3-std.sh buildship > >Assuming this succeeded then we can be pretty sure /usr/local/cm3/pkg/ >cm3/TARGET/cm3 is good, so we can make it our default compiler by >replacing the original /usr/local/cm3/bin/cm3: > >cp $CM3 /usr/local/cm3/bin/cm3 > >On Jun 23, 2007, at 2:38 PM, Mika Nystrom wrote: > >> Ok, I'm sorry if I seem a bit dimwitted in the morning like this, >> but how exactly does one get started? I wish there were a file called >> "GETTING_STARTED" or something like that in scripts... >> >> My Mac is very slow so I switched to my FreeBSD/i386 system (which has >> PM3 happily installed on it) and tried to install CM3 from scratch. ... From hosking at cs.purdue.edu Mon Jun 25 05:40:21 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Sun, 24 Jun 2007 23:40:21 -0400 Subject: [M3devel] strange errors... In-Reply-To: <200706250253.l5P2rvOu013096@camembert.async.caltech.edu> References: <200706250253.l5P2rvOu013096@camembert.async.caltech.edu> Message-ID: <8324E836-B2A7-4DDC-829E-CECC25ED669A@cs.purdue.edu> cm3 should not segfault if you simply install a new cm3cg, since all it does is exec cm3cg. On Jun 24, 2007, at 10:53 PM, Mika Nystrom wrote: > Tony Hosking writes: > ... >> >> Install the bootstrap compiler as you did originally: >> >>> rm -rf /usr/local/cm3/* >>> >>> cd ~/cm3-cvs >>> mkdir boot >>> cd boot >>> tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz >>> ./cminstall >> >> Now you will have some kind of cm3 installed, presumably in /usr/ >> local/cm3/bin/cm3. >> >> Make sure you have a fresh CVS checkout in directory cm3 (let's >> assume this is in your home directory ~/cm3). Also, make sure you >> have an up-to-date version of the CM3 backend compiler cm3cg >> installed by executing the following: >> >> STEP 0: >> >> export CM3=/usr/local/cm3/bin/cm3 >> cd ~/cm3/m3-sys/m3cc >> $CM3 >> $CM3 -ship >> >> You can skip this last step if you know your backend compiler is up >> to date. > > Ok, I did a completely fresh checkout (into an empty directory) and > proceeded in accordance with the above instructions. At this point > (that is, after shipping the new cm3cg), I have a segfaulting cm3. > > This is on the following system: > > (130)rover:~/cm3-cvs/fresh/cm3/m3-libs/m3core>uname -a > FreeBSD rover 5.5-RELEASE FreeBSD 5.5-RELEASE #3: Sat May 12 > 14:03:45 PDT 2007 mika at rover:/usr/src/sys/i386/compile/ROVER i386 > (131)rover:~/cm3-cvs/fresh/cm3/m3-libs/m3core>gcc -v > Using built-in specs. > Configured with: FreeBSD/i386 system compiler > Thread model: posix > gcc version 3.4.2 [FreeBSD] 20040728 > (132)rover:~/cm3-cvs/fresh/cm3/m3-libs/m3core>cm3 -version > Critical Mass Modula-3 version d5.3.1 > last updated: 2005-10-05 > configuration: /usr/local/cm3/bin/cm3.cfg > > I'm trying it on Darwin too, but as usual that machine is a couple > of steps behind... > > Mika > > >> >> Now, let's build the new compiler from scratch (this is the sequence >> I use regularly to test changes to the run-time system whenever I >> make them): >> >> STEP 1: >> >> cd ~/cm3/m3-libs/m3core >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-libs/libm3 >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-sys/m3middle >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-sys/m3linker >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-sys/m3front >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-sys/m3quake >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-sys/cm3 >> $CM3 >> $CM3 -ship >> >> At this point you should have a bootstrapped version of cm3 installed >> in the directory /usr/local/cm3/pkg/cm3/TARGET/cm3 (where TARGET is >> the CM3 target platform you are building on -- e.g., LINUXLIBC6, >> PPC_DARWIN, ...). Note that this did not overwrite your original >> installed compiler in /usr/local/cm3/bin/cm3. We >> are now going to test the new compiler, which was built using the old >> compiler, by bootstrapping it one more time. >> >> From here on out, please replace TARGET with your target platform as >> appropriate. >> >> STEP 2: >> >> export CM3=/usr/local/cm3/pkg/cm3/TARGET/cm3 >> cd ~/cm3/scripts >> ./do-cm3-std.sh realclean >> REPEAT STEP 1 to rebuild the libraries and the compiler using the >> STEP 1 bootstrap compiler. >> >> Now you have a STEP 2 bootstrap compiler installed in /usr/local/cm3/ >> pkg/cm3/TARGET/cm3. Let's assume the new compiler now works properly >> since it successfully bootstrapped itself, but to be sure we can now >> use it to rebuild the world: >> >> cd ~/cm3/scripts >> ./do-cm3-std.sh realclean >> ./do-cm3-std.sh buildship >> >> Assuming this succeeded then we can be pretty sure /usr/local/cm3/ >> pkg/ >> cm3/TARGET/cm3 is good, so we can make it our default compiler by >> replacing the original /usr/local/cm3/bin/cm3: >> >> cp $CM3 /usr/local/cm3/bin/cm3 >> >> On Jun 23, 2007, at 2:38 PM, Mika Nystrom wrote: >> >>> Ok, I'm sorry if I seem a bit dimwitted in the morning like this, >>> but how exactly does one get started? I wish there were a file >>> called >>> "GETTING_STARTED" or something like that in scripts... >>> >>> My Mac is very slow so I switched to my FreeBSD/i386 system >>> (which has >>> PM3 happily installed on it) and tried to install CM3 from scratch. > ... From mika at async.caltech.edu Mon Jun 25 05:47:03 2007 From: mika at async.caltech.edu (Mika Nystrom) Date: Sun, 24 Jun 2007 20:47:03 -0700 Subject: [M3devel] strange errors... In-Reply-To: Your message of "Sun, 24 Jun 2007 23:40:21 EDT." <8324E836-B2A7-4DDC-829E-CECC25ED669A@cs.purdue.edu> Message-ID: <200706250347.l5P3l3PR013930@camembert.async.caltech.edu> Yes, cm3 is just reporting it, I think. I assume it's cm3cg that's segfaulting: (compiling m3core) --- building in FreeBSD4 --- ignoring ../src/m3overrides new source -> compiling RTHooks.i3 RTHooks.i3: In function 'RTHooks_I3': RTHooks.i3:146: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See for instructions. new source -> compiling RT0.i3 RT0.i3: In function 'RT0_I3': RT0.i3:230: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. ... etc etc ... Tony Hosking writes: >cm3 should not segfault if you simply install a new cm3cg, since all >it does is exec cm3cg. > >On Jun 24, 2007, at 10:53 PM, Mika Nystrom wrote: > >> Tony Hosking writes: >> ... >>> >>> Install the bootstrap compiler as you did originally: >>> >>>> rm -rf /usr/local/cm3/* >>>> >>>> cd ~/cm3-cvs >>>> mkdir boot >>>> cd boot >>>> tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz >>>> ./cminstall >>> >>> Now you will have some kind of cm3 installed, presumably in /usr/ >>> local/cm3/bin/cm3. >>> >>> Make sure you have a fresh CVS checkout in directory cm3 (let's >>> assume this is in your home directory ~/cm3). Also, make sure you >>> have an up-to-date version of the CM3 backend compiler cm3cg >>> installed by executing the following: >>> >>> STEP 0: >>> >>> export CM3=/usr/local/cm3/bin/cm3 >>> cd ~/cm3/m3-sys/m3cc >>> $CM3 >>> $CM3 -ship >>> >>> You can skip this last step if you know your backend compiler is up >>> to date. >> >> Ok, I did a completely fresh checkout (into an empty directory) and >> proceeded in accordance with the above instructions. At this point >> (that is, after shipping the new cm3cg), I have a segfaulting cm3. >> >> This is on the following system: >> >> (130)rover:~/cm3-cvs/fresh/cm3/m3-libs/m3core>uname -a >> FreeBSD rover 5.5-RELEASE FreeBSD 5.5-RELEASE #3: Sat May 12 >> 14:03:45 PDT 2007 mika at rover:/usr/src/sys/i386/compile/ROVER i386 >> (131)rover:~/cm3-cvs/fresh/cm3/m3-libs/m3core>gcc -v >> Using built-in specs. >> Configured with: FreeBSD/i386 system compiler >> Thread model: posix >> gcc version 3.4.2 [FreeBSD] 20040728 >> (132)rover:~/cm3-cvs/fresh/cm3/m3-libs/m3core>cm3 -version >> Critical Mass Modula-3 version d5.3.1 >> last updated: 2005-10-05 >> configuration: /usr/local/cm3/bin/cm3.cfg >> >> I'm trying it on Darwin too, but as usual that machine is a couple >> of steps behind... >> >> Mika >> >> >>> >>> Now, let's build the new compiler from scratch (this is the sequence >>> I use regularly to test changes to the run-time system whenever I >>> make them): >>> >>> STEP 1: >>> >>> cd ~/cm3/m3-libs/m3core >>> $CM3 >>> $CM3 -ship >>> cd ~/cm3/m3-libs/libm3 >>> $CM3 >>> $CM3 -ship >>> cd ~/cm3/m3-sys/m3middle >>> $CM3 >>> $CM3 -ship >>> cd ~/cm3/m3-sys/m3linker >>> $CM3 >>> $CM3 -ship >>> cd ~/cm3/m3-sys/m3front >>> $CM3 >>> $CM3 -ship >>> cd ~/cm3/m3-sys/m3quake >>> $CM3 >>> $CM3 -ship >>> cd ~/cm3/m3-sys/cm3 >>> $CM3 >>> $CM3 -ship >>> >>> At this point you should have a bootstrapped version of cm3 installed >>> in the directory /usr/local/cm3/pkg/cm3/TARGET/cm3 (where TARGET is >>> the CM3 target platform you are building on -- e.g., LINUXLIBC6, >>> PPC_DARWIN, ...). Note that this did not overwrite your original >>> installed compiler in /usr/local/cm3/bin/cm3. We >>> are now going to test the new compiler, which was built using the old >>> compiler, by bootstrapping it one more time. >>> >>> From here on out, please replace TARGET with your target platform as >>> appropriate. >>> >>> STEP 2: >>> >>> export CM3=/usr/local/cm3/pkg/cm3/TARGET/cm3 >>> cd ~/cm3/scripts >>> ./do-cm3-std.sh realclean >>> REPEAT STEP 1 to rebuild the libraries and the compiler using the >>> STEP 1 bootstrap compiler. >>> >>> Now you have a STEP 2 bootstrap compiler installed in /usr/local/cm3/ >>> pkg/cm3/TARGET/cm3. Let's assume the new compiler now works properly >>> since it successfully bootstrapped itself, but to be sure we can now >>> use it to rebuild the world: >>> >>> cd ~/cm3/scripts >>> ./do-cm3-std.sh realclean >>> ./do-cm3-std.sh buildship >>> >>> Assuming this succeeded then we can be pretty sure /usr/local/cm3/ >>> pkg/ >>> cm3/TARGET/cm3 is good, so we can make it our default compiler by >>> replacing the original /usr/local/cm3/bin/cm3: >>> >>> cp $CM3 /usr/local/cm3/bin/cm3 >>> >>> On Jun 23, 2007, at 2:38 PM, Mika Nystrom wrote: >>> >>>> Ok, I'm sorry if I seem a bit dimwitted in the morning like this, >>>> but how exactly does one get started? I wish there were a file >>>> called >>>> "GETTING_STARTED" or something like that in scripts... >>>> >>>> My Mac is very slow so I switched to my FreeBSD/i386 system >>>> (which has >>>> PM3 happily installed on it) and tried to install CM3 from scratch. >> ... From wagner at elegosoft.com Mon Jun 25 09:07:37 2007 From: wagner at elegosoft.com (Olaf Wagner) Date: Mon, 25 Jun 2007 09:07:37 +0200 (CEST) Subject: [M3devel] strange errors... In-Reply-To: <200706250347.l5P3l3PR013930@camembert.async.caltech.edu> References: <200706250347.l5P3l3PR013930@camembert.async.caltech.edu> Message-ID: <38249.194.138.127.36.1182755257.squirrel@mail.elegosoft.com> On Mon, June 25, 2007 5:47 am, Mika Nystrom wrote: > Yes, cm3 is just reporting it, I think. I assume it's cm3cg that's > segfaulting: > > (compiling m3core) > > --- building in FreeBSD4 --- > > ignoring ../src/m3overrides > > new source -> compiling RTHooks.i3 > RTHooks.i3: In function 'RTHooks_I3': > RTHooks.i3:146: internal compiler error: Segmentation fault > Please submit a full bug report, > with preprocessed source if appropriate. > See for instructions. > new source -> compiling RT0.i3 > RT0.i3: In function 'RT0_I3': > RT0.i3:230: internal compiler error: Segmentation fault > Please submit a full bug report, > with preprocessed source if appropriate. This looks really broken :-( Please use the cm3 options -commands to see the actual backend executions and -keep to save the input data which provokes gcc to give up. You can then use gdb on cm3cg to get a backtrace and try to figure out what's going wrong. A backtrace of cm3cg will probably be most helpful. Olaf PS: As for automation of the installation and upgrade process, this used to work fine some time ago. The problem seems to be that nobody really does extensive testing of fresh installations unless Elego pays some student for release engineering :-/ I think we should just try to keep the existing installation scripts up-to-date; perhaps add a bit more information. For example, if the m3gc-xxx packages are not needed anymore, we should simply remove them from all current scripts. It would also be helpful if we had a tinderbox system that does regular builds at least on some reference platforms. PPS: Antony, did you change anything recently regarding code generation that could cause such failures as above? -- Olaf Wagner -- elego Software Solutions GmbH, Ohmstr. 9, 10179 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 mika at async.caltech.edu Mon Jun 25 10:03:54 2007 From: mika at async.caltech.edu (Mika Nystrom) Date: Mon, 25 Jun 2007 01:03:54 -0700 Subject: [M3devel] strange errors... In-Reply-To: Your message of "Mon, 25 Jun 2007 09:07:37 +0200." <38249.194.138.127.36.1182755257.squirrel@mail.elegosoft.com> Message-ID: <200706250803.l5P83ssv018074@camembert.async.caltech.edu> Guten Tag Olaf! --- building in FreeBSD4 --- cd FreeBSD4 ignoring ../src/m3overrides rm .M3SHIP rm .M3OVERRIDES inhale libm3core.m3x new source -> compiling RTHooks.i3 m3front ../src/runtime/common/RTHooks.i3 -w1 /usr/local/cm3/bin/cm3cg -quiet RTHooks.ic -o RTHooks.is -g RTHooks.i3: In function 'RTHooks_I3': RTHooks.i3:146: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See for instructions. rm RTHooks.is I figured that building cm3cg with debugging symbols involves running "cm3 -DM3CC_CFLAGS=-g" (not completely obvious), and obtained the following: (gdb) run -quiet RTHooks.ic -o RTHooks.is -g Starting program: /usr/local/cm3/bin/cm3cg -quiet RTHooks.ic -o RTHooks.is -g Program received signal SIGSEGV, Segmentation fault0x080f614b in gen_field_die (decl=0x6873f228, context_die=0x68714208) at ../../gcc/gcc/dwarf2out.c:12079 12079 if (TREE_CODE (DECL_FIELD_CONTEXT (decl)) != UNION_TYPE) (gdb) where #0 0x080f614b in gen_field_die (decl=0x6873f228, context_die=0x68714208) at ../../gcc/gcc/dwarf2out.c:12079 #1 0x080f7ad6 in gen_decl_die (decl=0x6873f228, context_die=0x68714208) at ../../gcc/gcc/dwarf2out.c:13121 #2 0x080f671d in gen_member_die (type=0x6873f33c, context_die=0x68714208) at ../../gcc/gcc/dwarf2out.c:12280 #3 0x080f69e4 in gen_struct_or_union_type_die (type=0x6873f33c, context_die=0x68714138) at ../../gcc/gcc/dwarf2out.c:12357 #4 0x080f6f0f in gen_type_die (type=0x6873f33c, context_die=0x68714138) at ../../gcc/gcc/dwarf2out.c:12562 #5 0x080f79a0 in gen_decl_die (decl=0x6871c548, context_die=0x68714138) at ../../gcc/gcc/dwarf2out.c:13072 #6 0x080f808b in dwarf2out_decl (decl=0x6871c548) at ../../gcc/gcc/dwarf2out.c:13371 #7 0x080f7ceb in dwarf2out_type_decl (decl=0x6871c548, local=0) at ../../gcc/gcc/dwarf2out.c:13183 #8 0x0804c48b in debug_struct () at ../../gcc/gcc/m3cg/parse.c:1762 #9 0x0804de17 in m3cg_declare_formal () at ../../gcc/gcc/m3cg/parse.c:2463 #10 0x08053941 in m3_parse_file (xx=0) at ../../gcc/gcc/m3cg/parse.c:4773 #11 0x082eec3b in compile_file () at ../../gcc/gcc/toplev.c:991 #12 0x082f018a in do_compile () at ../../gcc/gcc/toplev.c:1949 #13 0x082f01f2 in toplev_main (argc=6, argv=0xbfbfe3bc) at ../../gcc/gcc/toplev.c:1981 #14 0x0805a2ae in main (argc=6, argv=0xbfbfe3bc) at ../../gcc/gcc/main.c:35 (gdb) print decl $1 = 0x6873f228 (gdb) whatis decl type = tree (gdb) print *decl $2 = {common = {chain = 0x6873f284, type = 0x68716284, ann = 0x0, code = FIELD_DECL, ... [large data structure follows] (gdb) whatis context_die type = dw_die_ref (gdb) print *context_die $5 = {die_tag = DW_TAG_structure_type, die_symbol = 0x0, die_attr = 0x68708fc0, die_parent = 0x68714138, die_child = 0x6871423c, die_sib = 0x0, die_definition = 0x0, die_offset = 0, die_abbrev = 0, die_mark = 0, decl_id = 0} Here I must confess I have never debugged parts of gcc before... If it helps, I put RTHooks.ic at http://www.async.caltech.edu/~mika/RTHooks.ic Maybe someone can use this to tell whether it is m3front or cm3cg that is (more) broken. Are the .ic files architecture-independent? Mika "Olaf Wagner" writes: >On Mon, June 25, 2007 5:47 am, Mika Nystrom wrote: >> Yes, cm3 is just reporting it, I think. I assume it's cm3cg that's >> segfaulting: >> >> (compiling m3core) >> > --- building in FreeBSD4 --- >> >> ignoring ../src/m3overrides >> >> new source -> compiling RTHooks.i3 >> RTHooks.i3: In function 'RTHooks_I3': >> RTHooks.i3:146: internal compiler error: Segmentation fault >> Please submit a full bug report, >> with preprocessed source if appropriate. >> See for instructions. >> new source -> compiling RT0.i3 >> RT0.i3: In function 'RT0_I3': >> RT0.i3:230: internal compiler error: Segmentation fault >> Please submit a full bug report, >> with preprocessed source if appropriate. > >This looks really broken :-( >Please use the cm3 options -commands to see the actual backend executions >and -keep to save the input data which provokes gcc to give up. >You can then use gdb on cm3cg to get a backtrace and try to figure out >what's going wrong. A backtrace of cm3cg will probably be most helpful. > >Olaf > >PS: As for automation of the installation and upgrade process, this > used to work fine some time ago. The problem seems to be that nobody > really does extensive testing of fresh installations unless Elego > pays some student for release engineering :-/ I think we should > just try to keep the existing installation scripts up-to-date; > perhaps add a bit more information. For example, if the m3gc-xxx > packages are not needed anymore, we should simply remove them from > all current scripts. It would also be helpful if we had a tinderbox > system that does regular builds at least on some reference platforms. >PPS: Antony, did you change anything recently regarding code generation > that could cause such failures as above? >-- >Olaf Wagner -- elego Software Solutions GmbH, Ohmstr. 9, 10179 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 jayk123 at hotmail.com Mon Jun 25 13:19:56 2007 From: jayk123 at hotmail.com (j k) Date: Mon, 25 Jun 2007 11:19:56 +0000 Subject: [M3devel] strange errors... In-Reply-To: Message-ID: Tony the scripts I think are a very very close approximation of what you list. I ported the Unix shell versions to NT cmd. They were working well a few months ago. The M3 build system bugs me. 1) too many languages 2) the need to know your dependency graph in order to build -- could something not look from some "root" and build everything that is out of date in the right order, or given an unordered list of packages, build them in the right order? I realize this is asking more than most other systems provide. Most C/C++ systems depend on the fact that "headers" are all hand authored and available up front and require no "build". In Windows, if you use midl or managed code/CLR/.NET you run into these same issues as M3 has since "headers" are now "build outputs" and producing them can depend on having dependent "headers" already built. - Jay >From: Tony Hosking >To: Mika Nystrom >CC: mika at camembert.async.caltech.edu, m3devel at elegosoft.de >Subject: Re: [M3devel] strange errors... >Date: Sun, 24 Jun 2007 10:38:34 -0400 > >Sounds like we really need some work done in this area. I very rarely use >the build scripts, since I bootstrap manually from old compilers to new >compilers rather than use the scripts. I suggest the following approach, >which I hope you will try, and then report back on. > >Install the bootstrap compiler as you did originally: > >>rm -rf /usr/local/cm3/* >> >>cd ~/cm3-cvs >>mkdir boot >>cd boot >>tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz >>./cminstall > >Now you will have some kind of cm3 installed, presumably in /usr/ >local/cm3/bin/cm3. > >Make sure you have a fresh CVS checkout in directory cm3 (let's assume >this is in your home directory ~/cm3). Also, make sure you have an >up-to-date version of the CM3 backend compiler cm3cg installed by >executing the following: > >STEP 0: > >export CM3=/usr/local/cm3/bin/cm3 >cd ~/cm3/m3-sys/m3cc >$CM3 >$CM3 -ship > >You can skip this last step if you know your backend compiler is up to >date. > >Now, let's build the new compiler from scratch (this is the sequence I use >regularly to test changes to the run-time system whenever I make them): > >STEP 1: > >cd ~/cm3/m3-libs/m3core >$CM3 >$CM3 -ship >cd ~/cm3/m3-libs/libm3 >$CM3 >$CM3 -ship >cd ~/cm3/m3-sys/m3middle >$CM3 >$CM3 -ship >cd ~/cm3/m3-sys/m3linker >$CM3 >$CM3 -ship >cd ~/cm3/m3-sys/m3front >$CM3 >$CM3 -ship >cd ~/cm3/m3-sys/m3quake >$CM3 >$CM3 -ship >cd ~/cm3/m3-sys/cm3 >$CM3 >$CM3 -ship > >At this point you should have a bootstrapped version of cm3 installed in >the directory /usr/local/cm3/pkg/cm3/TARGET/cm3 (where TARGET is the CM3 >target platform you are building on -- e.g., LINUXLIBC6, PPC_DARWIN, ...). > Note that this did not overwrite your original installed compiler in >/usr/local/cm3/bin/cm3. We >are now going to test the new compiler, which was built using the old >compiler, by bootstrapping it one more time. > >From here on out, please replace TARGET with your target platform as >appropriate. > >STEP 2: > >export CM3=/usr/local/cm3/pkg/cm3/TARGET/cm3 >cd ~/cm3/scripts >./do-cm3-std.sh realclean >REPEAT STEP 1 to rebuild the libraries and the compiler using the STEP 1 >bootstrap compiler. > >Now you have a STEP 2 bootstrap compiler installed in /usr/local/cm3/ >pkg/cm3/TARGET/cm3. Let's assume the new compiler now works properly >since it successfully bootstrapped itself, but to be sure we can now use >it to rebuild the world: > >cd ~/cm3/scripts >./do-cm3-std.sh realclean >./do-cm3-std.sh buildship > >Assuming this succeeded then we can be pretty sure /usr/local/cm3/pkg/ >cm3/TARGET/cm3 is good, so we can make it our default compiler by >replacing the original /usr/local/cm3/bin/cm3: > >cp $CM3 /usr/local/cm3/bin/cm3 > >On Jun 23, 2007, at 2:38 PM, Mika Nystrom wrote: > >>Ok, I'm sorry if I seem a bit dimwitted in the morning like this, >>but how exactly does one get started? I wish there were a file called >>"GETTING_STARTED" or something like that in scripts... >> >>My Mac is very slow so I switched to my FreeBSD/i386 system (which has >>PM3 happily installed on it) and tried to install CM3 from scratch. >>Here are the exact commands I typed. >> >> >>rm -rf /usr/local/cm3/* >> >>cd ~/cm3-cvs >>mkdir boot >>cd boot >>tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz >>./cminstall >> >># now I seem to have some kind of cm3 installed, /usr/local/cm3/bin/ cm3 >> >>cd cm3 # location of my CM3 checkout >>cvs update -d . >> >>cd scripts >>./boot-cm3-with-m3.sh realclean >>./do-cm3-std.sh realclean >> >>./upgrade.sh # fails here, libm3 not compiled >>./boot-cm3-with-m3.sh build # builds cm3, but fails on cminstall, >>patternmatching not built >> >>./do-cm3-std.sh build # OK >>./do-cm3-std.sh buildship # OK >> >>./boot-cm3-with-m3.sh realclean # start over >>./boot-cm3-with-m3.sh build # OK >>./boot-cm3-with-m3.sh buildship # OK >> >>./do-cm3-std.sh realclean # OK >>./do-cm3-std.sh build # dies miserably... maybe the compiler >>can't handle the new libraries? >> >>./install-cm3-compiler.sh upgrade # OK, new cm3 binary installed >> >>After all that, "game over." I have a cm3 that segfaults. >> >>Text.i3: In function 'Text_I3': >>Text.i3:81: internal compiler error: Segmentation fault >>Please submit a full bug report, >>with preprocessed source if appropriate. >>See for instructions. >>compilation failed => not building library "libm3core.a" >>Fatal Error: package build failed >> *** execution of failed *** >> >>I can't seem to get either m3gdb or gdb to say anything reasonable >>either. ktrace shows nothing out of the ordinary. >> >>----- >> >>Meanwhile, my Mac got through "do-cm3-std.sh realclean" and >>"do-cm3-std.sh buildship" but my compiles are still dying on the >>same assertion tickled by ktok. On that machine I have INSTALLROOT >>set to ~/cm3, but hopefully that has nothing to do with it... >> >>----- >> >>Does do-cm3-std.sh realclean clean EVERYTHING? If so my Mac should >>really have a fresh setup. The FreeBSD, I am not sure, maybe the >>old binary version just doesn't work right? Of course I could try >>bootstrapping with PM3 as well... but really, there's an "approved" >>process to get from a blank system, no? >> >> Mika >> >> >> >> >>Tony Hosking writes: >>>That sounds like you forgot to execute "do-cm3-std.sh realclean" >>>before initiating the build. These sorts of errors sometimes arise >>>if there are old build directories lying around. >>> >>> >>>On Jun 23, 2007, at 3:34 AM, Mika Nystrom wrote: >>> >>>>Hello everyone, >>>> >>>>I am in the process of trying to consolidate build systems for a >>>>few software packages I am maintaining. Currently, I am using an >>>>old PM3 on FreeBSD4, an ancient PM3 (from Klagenfurt?) for Windows >>>>(NT386GNU), and trying to get the latest CM3 from cvs up and compiling >>>>things on PPC_DARWIN. Ideally, I'd like to standardize everything >>>>on the new PM3---mainly so that I can use pickles (and Network >>>>Objects) across all three systems. I'd also like to add Linux to >>>>the mix. >>>> >>>>It's natural for me to start with CM3 on Darwin, as there's no >>>>alternative. But I am getting some assertions failing. Everything >>>>in the CM3 distribution compiles fine, and I believe I have compiled >>>>the libraries a few times (that is, including with themselves), and >>>>updated the compiler, too (using boot-cm3-with-m3.sh). I just cvs >>>>updated tonight. >>>> >>>>Here's what I'm running into: >>>> >>>>/Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/CHP.t -o CHPTok.i3 >>>> >>>> >>>>*** >>>>*** runtime error: >>>>*** <*ASSERT*> failed. >>>>*** file "../src/runtime/common/RTCollector.m3", line 2314 >>>>*** >>>> >>>>Abort >>>> >>>>Also: >>>> >>>>/Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/PRS.t -o PRSTok.i3 >>>>Illegal instruction >>>> >>>>As you can see, these things are coming from the caltech_parser. I >>>am using >>>>our local version, but I don't think it is very different from what >>>>is in the >>>>CM3 tree. >>>> >>>> >>>>Examining the first error (the failed assertion) more closely, I see >>>>the following: >>>> >>>>(gdb) list >>>>108 wr := FileWr.Open(Pathname.ReplaceExt(tp.out, "m3")); >>>>109 EXCEPT OSError.E => >>>>110 Debug.Error("Cannot open tok implementation output >>>>file: " & >>>>111 Pathname.ReplaceExt(tp.out, "m3")); >>>>112 END; >>>>113 Wr.PutText(wr, subs.apply(Bundle.Get(Form, "tokform.m3"))); >>>>114 Wr.Close(wr); >>>>115 END Main. >>>>(gdb) where >>>>#0 0x9004308c in kill () >>>>#1 0x9009fb3c in abort () >>>>#2 0x00096f50 in RTOS__Crash () at RTOS.m3:20 >>>>#3 0x0005bd40 in RTProcess__Crash (M3_Bd56fi_msg=0x0) at >>>>RTProcess.m3:65 >>>>#4 0x0008e4e0 in RTError__EndError (M3_AicXUJ_crash=1 '\001') at >>>>RTError.m3:115 >>>>#5 0x0008e08c in RTError__MsgS (M3_AJWxb1_file=0xc63d8, >>>>M3_AcxOUs_line=2314, M3_Bd56fi_msgA=0xca3d0, >>>>M3_Bd56fi_msgB=0xcbe90, M3_Bd56fi_msgC=0xca3d0) at RTError.m3:40 >>>>#6 0x0008eb88 in RTException__Crash (M3_Cblw37_a=0xbfffee00, >>>>M3_AicXUJ_raises=0 '\0', M3_AJWxb1_rte=0xcb538) at RTException.m3:79 >>>>#7 0x0008e74c in RTException__DefaultBackstop >>>>(M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:39 >>>>#8 0x0008e614 in RTException__InvokeBackstop >>>>(M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:25 >>>>#9 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at >>>>RTExFrame.m3:29 >>>>#10 0x0008e840 in RTException__DefaultBackstop >>>>(M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:47 >>>>#11 0x0008e614 in RTException__InvokeBackstop >>>>(M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:25 >>>>#12 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at >>>>RTExFrame.m3:29 >>>>#13 0x00079740 in RTHooks__ReportFault (M3_AJWxb1_module=0xb3eb8, >>>>M3_AcxOUs_info=74048) at RTHooks.m3:110 >>>>#14 0x0006ff4c in _m3_fault (M3_AcxOUs_arg=74048) >>>>#15 0x0006bcf4 in RTHooks__CheckStoreTraced >>>>(M3_Af40ku_ref=0xb2415c) at RTCollector.m3:2314 >>>>#16 0x000700e4 in ThreadPThread__InnerLockMutex >>>>(M3_AYIbX3_m=0xb2415c, M3_BXP32l_self=0xb24014) at >>>>ThreadPThread.m3:126 >>>>#17 0x000704d8 in ThreadPThread__LockMutex (M3_AYIbX3_m=0xb2415c) >>>>at ThreadPThread.m3:153 >>>>#18 0x00019b24 in Wr__PutText (M3_BxxOH1_wr=0xb2415c, >>>>M3_Bd56fi_t=0xb44d5c) at Wr.m3:93 >>>>#19 0x00003f74 in Main_M3 (M3_AcxOUs_mode=1) at Main.m3:113 >>>>#20 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at >>>>RTLinker.m3:399 >>>>#21 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at >>>>RTLinker.m3:113 >>>>#22 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at >>>>RTLinker.m3:122 >>>>#23 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) >>>>at _m3main.mc:4 >>>>(gdb) >>>> >>>>The second error: >>>> >>>>Program received signal EXC_BAD_INSTRUCTION, Illegal instruction/ >>>>operand. >>>>0x00b111ac in ?? () >>>>(gdb) where >>>>#0 0x00b111ac in ?? () >>>>#1 0x0001214c in TextSubs__Apply (M3_CN69dV_self=0xb26450, >>>>M3_Bd56fi_src=0xb21cec) at TextSubs.m3:63 >>>>#2 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at >>>>RTLinker.m3:399 >>>>#3 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at >>>>RTLinker.m3:113 >>>>#4 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at >>>>RTLinker.m3:122 >>>>#5 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) >>>>at _m3main.mc:4 >>>>(gdb) list >>>>58 BEGIN >>>>59 WHILE pos < textLen DO >>>>60 c := Text.GetChar(src, pos); >>>>61 IF c IN self.starts THEN >>>>62 (* S("analysing: " & Text.Sub(src, pos), >>>>DebugLevel); *) >>>>63 iter := self.tbl.iterateOrdered(); >>>>64 ind := pos; >>>>65 original := ""; >>>>66 REPEAT >>>>67 INC(ind); >>>>(gdb) >>>> >>>>Any ideas what to look at? >>>> >>>>I don't know if this is relevant: >>>> >>>>[lapdog:~/t/cit_parse/PPC_DARWIN] mika% uname -a >>>>Darwin lapdog.local 7.9.0 Darwin Kernel Version 7.9.0: Wed Mar 30 >>>>20:11:17 PST 2005; root:xnu/xnu-517.12.7.obj~1/RELEASE_PPC Power >>>>Macintosh powerpc >>>>[lapdog:~/t/cit_parse/PPC_DARWIN] mika% gcc -v >>>>Reading specs from /usr/libexec/gcc/darwin/ppc/3.3/specs >>>>Thread model: posix >>>>gcc version 3.3 20030304 (Apple Computer, Inc. build 1666) >>>> >>>> Mika >>>> >>>>P.S. Am I correct in assuming that I can get CM3 to build on Windows? >>>>I could switch to CM3 on Unix any time, of course, but I've never >>>>had luck with it on Windows, which is why I am using the ancient >>>>Klagenfurt PM3, which comes on 40-odd "floppies" and a .EXE that >>>>unpacks them into C: (and installation instructions only in German). >>>>If CM3 doesn't work on Windows, I am essentially wasting my time, >>>>as the current project I am working on absolutely requires that the >>>>software run on Windows 2003 Server (yes, it sucks, but what can >>>>you do?) The very old PM3 at least kind of hobbles along on this >>>>platform---actually, better than that; it does Trestle natively >>>>under Windows (no X required), at least on SOME Windows machines. >>>> >>>>P.P.S. Sorry for all the postscripts, but is it true that the >>>>build system has been changed so that building with overrides (cm3 -x) >>>>requires having the compiler sources available? It didn't use to >>>>be that way, but I can't get Network Objects to work with overrides >>>>now unless I have the sources available... It's a bit of a pain >>>>because it means that every user has to have the compiler sources, >>>>or else ship everything, or was that not the intention? > _________________________________________________________________ Don?t miss your chance to WIN $10,000 and other great prizes from Microsoft Office Live http://clk.atdmt.com/MRT/go/aub0540003042mrt/direct/01/ From hosking at cs.purdue.edu Mon Jun 25 16:23:25 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Mon, 25 Jun 2007 10:23:25 -0400 Subject: [M3devel] strange errors... In-Reply-To: <200706250803.l5P83ssv018074@camembert.async.caltech.edu> References: <200706250803.l5P83ssv018074@camembert.async.caltech.edu> Message-ID: This looks like a debug symbol problem that others have reported. Please try the following: replace the -g option to the backend in your cm3.cfg with -gstabs or -gstabs+ and let me know what happens. On Jun 25, 2007, at 4:03 AM, Mika Nystrom wrote: > Guten Tag Olaf! > > --- building in FreeBSD4 --- > > cd FreeBSD4 > ignoring ../src/m3overrides > > rm .M3SHIP > rm .M3OVERRIDES > inhale libm3core.m3x > > new source -> compiling RTHooks.i3 > m3front ../src/runtime/common/RTHooks.i3 -w1 > /usr/local/cm3/bin/cm3cg -quiet RTHooks.ic -o RTHooks.is -g > RTHooks.i3: In function 'RTHooks_I3': > RTHooks.i3:146: internal compiler error: Segmentation fault > Please submit a full bug report, > with preprocessed source if appropriate. > See for instructions. > rm RTHooks.is > > > I figured that building cm3cg with debugging symbols involves > running "cm3 -DM3CC_CFLAGS=-g" (not completely obvious), and > obtained the following: > > (gdb) run -quiet RTHooks.ic -o RTHooks.is -g > Starting program: /usr/local/cm3/bin/cm3cg -quiet RTHooks.ic -o > RTHooks.is -g > > Program received signal SIGSEGV, Segmentation fault0x080f614b in > gen_field_die (decl=0x6873f228, context_die=0x68714208) at ../../ > gcc/gcc/dwarf2out.c:12079 > 12079 if (TREE_CODE (DECL_FIELD_CONTEXT (decl)) != UNION_TYPE) > (gdb) where > #0 0x080f614b in gen_field_die (decl=0x6873f228, > context_die=0x68714208) at ../../gcc/gcc/dwarf2out.c:12079 > #1 0x080f7ad6 in gen_decl_die (decl=0x6873f228, > context_die=0x68714208) at ../../gcc/gcc/dwarf2out.c:13121 > #2 0x080f671d in gen_member_die (type=0x6873f33c, > context_die=0x68714208) at ../../gcc/gcc/dwarf2out.c:12280 > #3 0x080f69e4 in gen_struct_or_union_type_die (type=0x6873f33c, > context_die=0x68714138) at ../../gcc/gcc/dwarf2out.c:12357 > #4 0x080f6f0f in gen_type_die (type=0x6873f33c, > context_die=0x68714138) at ../../gcc/gcc/dwarf2out.c:12562 > #5 0x080f79a0 in gen_decl_die (decl=0x6871c548, > context_die=0x68714138) at ../../gcc/gcc/dwarf2out.c:13072 > #6 0x080f808b in dwarf2out_decl (decl=0x6871c548) at ../../gcc/gcc/ > dwarf2out.c:13371 > #7 0x080f7ceb in dwarf2out_type_decl (decl=0x6871c548, local=0) > at ../../gcc/gcc/dwarf2out.c:13183 > #8 0x0804c48b in debug_struct () at ../../gcc/gcc/m3cg/parse.c:1762 > #9 0x0804de17 in m3cg_declare_formal () at ../../gcc/gcc/m3cg/ > parse.c:2463 > #10 0x08053941 in m3_parse_file (xx=0) at ../../gcc/gcc/m3cg/ > parse.c:4773 > #11 0x082eec3b in compile_file () at ../../gcc/gcc/toplev.c:991 > #12 0x082f018a in do_compile () at ../../gcc/gcc/toplev.c:1949 > #13 0x082f01f2 in toplev_main (argc=6, argv=0xbfbfe3bc) at ../../ > gcc/gcc/toplev.c:1981 > #14 0x0805a2ae in main (argc=6, argv=0xbfbfe3bc) at ../../gcc/gcc/ > main.c:35 > (gdb) print decl > $1 = 0x6873f228 > (gdb) whatis decl > type = tree > (gdb) print *decl > $2 = {common = {chain = 0x6873f284, type = 0x68716284, ann = 0x0, > code = FIELD_DECL, ... [large data structure follows] > (gdb) whatis context_die > type = dw_die_ref > (gdb) print *context_die > $5 = {die_tag = DW_TAG_structure_type, die_symbol = 0x0, die_attr = > 0x68708fc0, die_parent = 0x68714138, die_child = 0x6871423c, > die_sib = 0x0, die_definition = 0x0, die_offset = 0, > die_abbrev = 0, die_mark = 0, decl_id = 0} > > > Here I must confess I have never debugged parts of gcc before... > > If it helps, I put RTHooks.ic at http://www.async.caltech.edu/~mika/ > RTHooks.ic > Maybe someone can use this to tell whether it is m3front or cm3cg > that is (more) broken. > > Are the .ic files architecture-independent? > > Mika > > > > "Olaf Wagner" writes: >> On Mon, June 25, 2007 5:47 am, Mika Nystrom wrote: >>> Yes, cm3 is just reporting it, I think. I assume it's cm3cg that's >>> segfaulting: >>> >>> (compiling m3core) >>> >> --- building in FreeBSD4 --- >>> >>> ignoring ../src/m3overrides >>> >>> new source -> compiling RTHooks.i3 >>> RTHooks.i3: In function 'RTHooks_I3': >>> RTHooks.i3:146: internal compiler error: Segmentation fault >>> Please submit a full bug report, >>> with preprocessed source if appropriate. >>> See for instructions. >>> new source -> compiling RT0.i3 >>> RT0.i3: In function 'RT0_I3': >>> RT0.i3:230: internal compiler error: Segmentation fault >>> Please submit a full bug report, >>> with preprocessed source if appropriate. >> >> This looks really broken :-( >> Please use the cm3 options -commands to see the actual backend >> executions >> and -keep to save the input data which provokes gcc to give up. >> You can then use gdb on cm3cg to get a backtrace and try to figure >> out >> what's going wrong. A backtrace of cm3cg will probably be most >> helpful. >> >> Olaf >> >> PS: As for automation of the installation and upgrade process, this >> used to work fine some time ago. The problem seems to be that >> nobody >> really does extensive testing of fresh installations unless Elego >> pays some student for release engineering :-/ I think we should >> just try to keep the existing installation scripts up-to-date; >> perhaps add a bit more information. For example, if the m3gc-xxx >> packages are not needed anymore, we should simply remove them from >> all current scripts. It would also be helpful if we had a >> tinderbox >> system that does regular builds at least on some reference >> platforms. >> PPS: Antony, did you change anything recently regarding code >> generation >> that could cause such failures as above? >> -- >> Olaf Wagner -- elego Software Solutions GmbH, Ohmstr. 9, 10179 >> 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 wagner at elegosoft.com Mon Jun 25 16:46:46 2007 From: wagner at elegosoft.com (Olaf Wagner) Date: Mon, 25 Jun 2007 16:46:46 +0200 (CEST) Subject: [M3devel] strange errors... In-Reply-To: References: <200706250803.l5P83ssv018074@camembert.async.caltech.edu> Message-ID: <64394.194.138.127.36.1182782806.squirrel@mail.elegosoft.com> On Mon, June 25, 2007 4:23 pm, Tony Hosking wrote: > This looks like a debug symbol problem that others have reported. > Please try the following: replace the -g option to the backend in > your cm3.cfg with -gstabs or -gstabs+ and let me know what happens. > > On Jun 25, 2007, at 4:03 AM, Mika Nystrom wrote: > >> Guten Tag Olaf! >> >> --- building in FreeBSD4 --- >> >> cd FreeBSD4 >> ignoring ../src/m3overrides >> >> rm .M3SHIP >> rm .M3OVERRIDES >> inhale libm3core.m3x >> >> new source -> compiling RTHooks.i3 >> m3front ../src/runtime/common/RTHooks.i3 -w1 >> /usr/local/cm3/bin/cm3cg -quiet RTHooks.ic -o RTHooks.is -g Great! I knew there was something familiar, but I couldn't remember what it was. The new backend is actually called with -g instead of -gstabs in Myka's installation. I thought we had changed all the -g occurences in the configuration templates... It seems we've overlooked some... Olaf -- Olaf Wagner -- elego Software Solutions GmbH, Ohmstr. 9, 10179 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 rodney.bates at wichita.edu Mon Jun 25 20:54:31 2007 From: rodney.bates at wichita.edu (Rodney M. Bates) Date: Mon, 25 Jun 2007 13:54:31 -0500 Subject: [M3devel] strange errors... In-Reply-To: <64394.194.138.127.36.1182782806.squirrel@mail.elegosoft.com> References: <200706250803.l5P83ssv018074@camembert.async.caltech.edu> <64394.194.138.127.36.1182782806.squirrel@mail.elegosoft.com> Message-ID: <46800F67.9080007@wichita.edu> To get the most from m3gdb, make it -gstabs+. Olaf Wagner wrote: > On Mon, June 25, 2007 4:23 pm, Tony Hosking wrote: > >>This looks like a debug symbol problem that others have reported. >>Please try the following: replace the -g option to the backend in >>your cm3.cfg with -gstabs or -gstabs+ and let me know what happens. >> >>On Jun 25, 2007, at 4:03 AM, Mika Nystrom wrote: >> >> >>>Guten Tag Olaf! >>> >>>--- building in FreeBSD4 --- >>> >>>cd FreeBSD4 >>>ignoring ../src/m3overrides >>> >>>rm .M3SHIP >>>rm .M3OVERRIDES >>>inhale libm3core.m3x >>> >>>new source -> compiling RTHooks.i3 >>>m3front ../src/runtime/common/RTHooks.i3 -w1 >>>/usr/local/cm3/bin/cm3cg -quiet RTHooks.ic -o RTHooks.is -g > > > Great! I knew there was something familiar, but I couldn't remember > what it was. The new backend is actually called with -g instead > of -gstabs in Myka's installation. I thought we had changed all the > -g occurences in the configuration templates... It seems we've overlooked > some... > > Olaf -- ------------------------------------------------------------- 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 mika at async.caltech.edu Mon Jun 25 21:05:58 2007 From: mika at async.caltech.edu (Mika Nystrom) Date: Mon, 25 Jun 2007 12:05:58 -0700 Subject: [M3devel] strange errors... In-Reply-To: Your message of "Sun, 24 Jun 2007 10:38:34 EDT." Message-ID: <200706251905.l5PJ5wgF029978@camembert.async.caltech.edu> Indeed, -g was one of the culprits. I changed it to -gstabs+ and got a bit further... (please scroll down to STEP 2, sorry) Tony Hosking writes: >Sounds like we really need some work done in this area. I very >rarely use the build scripts, since I bootstrap manually from old >compilers to new compilers rather than use the scripts. I suggest >the following approach, which I hope you will try, and then report >back on. > >Install the bootstrap compiler as you did originally: > >> rm -rf /usr/local/cm3/* >> >> cd ~/cm3-cvs >> mkdir boot >> cd boot >> tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz >> ./cminstall > >Now you will have some kind of cm3 installed, presumably in /usr/ >local/cm3/bin/cm3. > >Make sure you have a fresh CVS checkout in directory cm3 (let's >assume this is in your home directory ~/cm3). Also, make sure you >have an up-to-date version of the CM3 backend compiler cm3cg >installed by executing the following: > >STEP 0: > >export CM3=/usr/local/cm3/bin/cm3 >cd ~/cm3/m3-sys/m3cc >$CM3 >$CM3 -ship > >You can skip this last step if you know your backend compiler is up >to date. > >Now, let's build the new compiler from scratch (this is the sequence >I use regularly to test changes to the run-time system whenever I >make them): > >STEP 1: > >cd ~/cm3/m3-libs/m3core >$CM3 >$CM3 -ship >cd ~/cm3/m3-libs/libm3 >$CM3 >$CM3 -ship >cd ~/cm3/m3-sys/m3middle >$CM3 >$CM3 -ship >cd ~/cm3/m3-sys/m3linker >$CM3 >$CM3 -ship >cd ~/cm3/m3-sys/m3front >$CM3 >$CM3 -ship >cd ~/cm3/m3-sys/m3quake >$CM3 >$CM3 -ship >cd ~/cm3/m3-sys/cm3 >$CM3 >$CM3 -ship > >At this point you should have a bootstrapped version of cm3 installed >in the directory /usr/local/cm3/pkg/cm3/TARGET/cm3 (where TARGET is >the CM3 target platform you are building on -- e.g., LINUXLIBC6, >PPC_DARWIN, ...). Note that this did not overwrite your original >installed compiler in /usr/local/cm3/bin/cm3. We >are now going to test the new compiler, which was built using the old >compiler, by bootstrapping it one more time. > > From here on out, please replace TARGET with your target platform as >appropriate. > >STEP 2: > >export CM3=/usr/local/cm3/pkg/cm3/TARGET/cm3 >cd ~/cm3/scripts >./do-cm3-std.sh realclean >REPEAT STEP 1 to rebuild the libraries and the compiler using the >STEP 1 bootstrap compiler. > >Now you have a STEP 2 bootstrap compiler installed in /usr/local/cm3/ >pkg/cm3/TARGET/cm3. Let's assume the new compiler now works properly >since it successfully bootstrapped itself, but to be sure we can now >use it to rebuild the world: Ok, I got this far. I built the step 1 (m3core...cm3), set my compiler to the newly-built compiler, and rebuilt (m3core...cm3). No errors anywhere, beautiful. > >cd ~/cm3/scripts >./do-cm3-std.sh realclean >./do-cm3-std.sh buildship Here's where it dies: ./do-cm3-std.sh buildship CM3C = /big/home2/mika/2/cm3-cvs/fresh/cm3/scripts/pkgmap.sh -c "/usr/local/cm3/pkg/cm3/FreeBSD4/cm3 -build -DROOT='/big/home2/mika/2/cm3-cvs/fresh/cm3' && /usr/local/cm3/pkg/cm3/FreeBSD4/cm3 -ship -DROOT='/big/home2/mika/2/cm3-cvs/fresh/cm3' " m3core libm3 patternmatching m3middle m3quake m3scanner m3tools m3cgcat m3cggen m3gdb m3bundle arithmetic bitvector digraph parseparams realgeometry set slisp sortedtableextras table-list tempfiles tcp udp libsio libbuf debug listfuncs embutils m3tk-misc http binIO commandrw m3tk mtex m3totex m3tohtml m3scan m3markup m3browser cmpdir cmpfp dirfp uniq netobj netobjd stubgen events rdwr sharedobj sharedobjgen odbc postgres95 db smalldb stable stablegen X11R4 ui PEX vbtkit cmvbt jvideo videovbt web formsvbtpixmaps formsvbt formsview formsedit codeview mg mgkit opengl anim3D zeus m3zume synloc synex metasyn obliqrt obliqparse obliqprint obliq obliqlibemb obliqlibm3 obliqlibui obliqlibanim obliqsrvstd obliqsrvui obliqbinmin obliqbinstd obliqbin! ui obliqbinanim visualobliq vocgi voquery vorun webvbt recordheap rehearsecode replayheap showheap shownew showthread pkl-fonts juno-machine juno-compiler juno-app cube calculator fisheye mentor === package /big/home2/mika/2/cm3-cvs/fresh/cm3/m3-libs/m3core === +++ /usr/local/cm3/pkg/cm3/FreeBSD4/cm3 -build -DROOT='/big/home2/mika/2/cm3-cvs/fresh/cm3' && /usr/local/cm3/pkg/cm3/FreeBSD4/cm3 -ship -DROOT='/big/home2/mika/2/cm3-cvs/fresh/cm3' +++ *** *** runtime error: *** <*ASSERT*> failed. *** file "../src/runtime/common/RTCollector.m3", line 690 *** *** *** runtime error: *** <*ASSERT*> failed. *** file "../src/runtime/common/RTCollector.m3", line 690 *** Abort trap *** execution of failed *** This time it appears to be cm3 itself that's crashing: (310)rover:~/cm3-cvs/fresh/cm3/m3-libs/m3core>$CM3 -keep -commands *** *** runtime error: *** <*ASSERT*> failed. *** file "../src/runtime/common/RTCollector.m3", line 690 *** *** *** runtime error: *** <*ASSERT*> failed. *** file "../src/runtime/common/RTCollector.m3", line 690 *** Abort What follows is what m3gdb has to say about this. I take it that the last error message comes from my -gstabs+ option. m3gdb doesn't like this new binary: it can't print variables and sometimes crashes trying. Would I have better luck with "-gstabs", do you think? Or do I just need to fix the compile process and install a new m3gdb? (I take it there is a newer one: mine is very old. But I remember that m3gdb doesn't always work that well...) Mika #1 16_81a619d in __raise () #2 16_81a3b8f in abort () #3 16_8178d16 in RTOS.Crash () at RTOS.m3:20 #4 16_8171fd2 in RTProcess.Crash (msg=NIL) at RTProcess.m3:65 #5 16_8170428 in RTError.EndError (crash=TRUE) at RTError.m3:115 #6 16_8170169 in RTError.MsgS (file=16_820a508, line=690, msgA=16_820bfe8, msgB=16_8208170, msgC=16_820bfe8) at RTError.m3:40 #7 16_81707ec in RTException.Crash (a=RECORD exception = 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; END, raises=FALSE, rte=16_8208020) at RTException.m3:79 #8 16_8170550 in RTException.DefaultBackstop (a=RECORD exception = 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; END, raises=FALSE) at RTException.m3:39 #9 16_81704b4 in RTException.InvokeBackstop (a=RECORD exception = 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; END, raises=FALSE) at RTException.m3:25 #10 16_8179ca7 in RTException.Raise (act=RECORD exception = 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; END) at RTExFrame.m3:29 #11 16_81705f0 in RTException.DefaultBackstop (a=RECORD exception = 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; END, raises=FALSE) at RTException.m3:47 #12 16_81704b4 in RTException.InvokeBackstop (a=RECORD exception = 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; END, raises=FALSE) at RTException.m3:25 #13 16_8179ca7 in RTException.Raise (act=RECORD exception = 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; END) at RTExFrame.m3:29 #14 16_8160bba in RTHooks.ReportFault (module=16_820a680, info=22080) at RTHooks.m3:110 #15 16_816e251 in _m3_fault (arg=22080) at RTCollector.m3:0 #16 16_81649b7 in RTCollector.CollectorOn () at RTCollector.m3:690 #17 16_816b595 in RTHooks.CheckLoadTracedRef (ref=16_681b3300) at RTCollector.m3:2296 #18 16_814400c in Stdio.ShutDown () at Stdio.m3:43 #19 16_8171f51 in RTProcess.InvokeExitors () at RTProcess.m3:40 #20 16_8171fc5 in RTProcess.Crash (msg=NIL) at RTProcess.m3:61 #21 16_8170428 in RTError.EndError (crash=TRUE) at RTError.m3:115 #22 16_8170169 in RTError.MsgS (file=16_820a508, line=690, msgA=16_820bfe8, msgB=16_8208170, msgC=16_820bfe8) at RTError.m3:40 #23 16_81707ec in RTException.Crash (a=RECORD exception = 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; END, raises=FALSE, rte=16_8208020) at RTException.m3:79 #24 16_8170550 in RTException.DefaultBackstop (a=RECORD exception = 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; END, raises=FALSE) at RTException.m3:39 #25 16_81704b4 in RTException.InvokeBackstop (a=RECORD exception = 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; END, raises=FALSE) at RTException.m3:25 #26 16_8179ca7 in RTException.Raise (act=RECORD exception = 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; END) at RTExFrame.m3:29 #27 16_81705f0 in RTException.DefaultBackstop (a=RECORD exception = 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; END, raises=FALSE) at RTException.m3:47 #28 16_81704b4 in RTException.InvokeBackstop (a=RECORD exception = 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; END, raises=FALSE) at RTException.m3:25 #29 16_8179ca7 in RTException.Raise (act=RECORD exception = 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; END) at RTExFrame.m3:29 #30 16_8160bba in RTHooks.ReportFault (module=16_820a680, info=22080) at RTHooks.m3:110 #31 16_816e251 in _m3_fault (arg=22080) at RTCollector.m3:0 #32 16_81649b7 in RTCollector.CollectorOn () at RTCollector.m3:690 #33 16_816b595 in RTHooks.CheckLoadTracedRef (ref=16_681b3004) at RTCollector.m3:2296 #34 16_817c41e in ThreadF.ProcessStacks (p=16_816415e) at ThreadPosix.m3:522 #35 16_8165213 in RTCollector.CollectSomeInStateZero () at RTCollector.m3:845 #36 16_8164d2c in RTCollector.CollectSome () at RTCollector.m3:741 #37 16_816487b in RTCollector.CollectEnough () at RTCollector.m3:659 #38 16_81673cd in RTHeapRep.AllocTraced (def=16_81f8f38, dataSize=8200, dataAlignment=4, initProc=16_bfbfe0f4, pool=RECORD desc = RECORD space = Current; generation = Younger; pure = FALSE; note = Allocated; gray = FALSE; clean = FALSE; continued = FALSE; link = 0; END; notAfter = {Copied}; page = 0; stack = 0; next = NIL; limit = NIL; busy = FALSE; END) at RTCollector.m3:1417 #39 16_816218e in RTAllocator.GetOpenArray (def=16_81f8f38, s=[2048]) at RTAllocator.m3:308 #40 16_8161737 in RTHooks.AllocateOpenArray (defn=16_81f8f38, s=[2048]) at RTAllocator.m3:156 #41 16_8129d56 in M3ID_M3 (mode=1) at M3ID.m3:40 #42 16_816f802 in RTLinker.RunMainBody (m=16_81f8cc0) at RTLinker.m3:399 #43 16_816f6ca in RTLinker.RunMainBody (m=16_81c0880) at RTLinker.m3:379 #44 16_816f6ca in RTLinker.RunMainBody (m=16_81c06a0) at RTLinker.m3:379 #45 16_816f6ca in RTLinker.RunMainBody (m=16_81bc920) at RTLinker.m3:379 #46 16_816ed2d in RTLinker.AddUnitI (m=16_81bc920) at RTLinker.m3:113 #47 16_816edb4 in RTLinker.AddUnit (b=16_8065527) at RTLinker.m3:122 module "_m3main": missing debug info for global data (gdb) up 32 #32 16_81649b7 in RTCollector.CollectorOn () at RTCollector.m3:690 RTCollector.m3:690: No such file or directory. (gdb) Suspended (360)rover:~/cm3-cvs/fresh/cm3/m3-libs/m3core>find ../.. -name RTCollector.m3 ../../m3-libs/m3core/src/runtime/common/RTCollector.m3 (361)rover:~/cm3-cvs/fresh/cm3/m3-libs/m3core>fg m3gdb /usr/local/cm3/pkg/cm3/FreeBSD4/cm3 (gdb) dir ../../m3-libs/m3core/src/runtime/common/ Source directories searched: /big/home2/mika/2/cm3-cvs/fresh/cm3/m3-libs/m3core/../../m3-libs/m3core/src/runtime/common:$cdir:$cwd (gdb) list 685 VAR timeOnEntry, timeOnExit: Time.T; (* time of collector entry/exit *) 686 687 PROCEDURE CollectorOn () = 688 (* LL >= RTOS.LockHeap *) 689 BEGIN 690 <* ASSERT NOT collectorOn *> 691 collectorOn := TRUE; 692 693 IF incremental AND NOT RTLinker.incremental 694 OR generational AND NOT RTLinker.generational THEN (gdb) print collectorOn can't find identifier: collectorOn (gdb) up #33 16_816b595 in RTHooks.CheckLoadTracedRef (ref=16_681b3004) at RTCollector.m3:2296 2296 CollectorOn(); (gdb) print collectorOn can't find identifier: collectorOn (gdb) print ref Segmentation fault > >Assuming this succeeded then we can be pretty sure /usr/local/cm3/pkg/ >cm3/TARGET/cm3 is good, so we can make it our default compiler by >replacing the original /usr/local/cm3/bin/cm3: > >cp $CM3 /usr/local/cm3/bin/cm3 > >On Jun 23, 2007, at 2:38 PM, Mika Nystrom wrote: > >> Ok, I'm sorry if I seem a bit dimwitted in the morning like this, >> but how exactly does one get started? I wish there were a file called >> "GETTING_STARTED" or something like that in scripts... >> >> My Mac is very slow so I switched to my FreeBSD/i386 system (which has >> PM3 happily installed on it) and tried to install CM3 from scratch. >> Here are the exact commands I typed. >> >> >> rm -rf /usr/local/cm3/* >> >> cd ~/cm3-cvs >> mkdir boot >> cd boot >> tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz >> ./cminstall >> >> # now I seem to have some kind of cm3 installed, /usr/local/cm3/bin/ >> cm3 >> >> cd cm3 # location of my CM3 checkout >> cvs update -d . >> >> cd scripts >> ./boot-cm3-with-m3.sh realclean >> ./do-cm3-std.sh realclean >> >> ./upgrade.sh # fails here, libm3 not compiled >> ./boot-cm3-with-m3.sh build # builds cm3, but fails on >> cminstall, patternmatching not built >> >> ./do-cm3-std.sh build # OK >> ./do-cm3-std.sh buildship # OK >> >> ./boot-cm3-with-m3.sh realclean # start over >> ./boot-cm3-with-m3.sh build # OK >> ./boot-cm3-with-m3.sh buildship # OK >> >> ./do-cm3-std.sh realclean # OK >> ./do-cm3-std.sh build # dies miserably... maybe the >> compiler can't handle the new libraries? >> >> ./install-cm3-compiler.sh upgrade # OK, new cm3 binary installed >> >> After all that, "game over." I have a cm3 that segfaults. >> >> Text.i3: In function 'Text_I3': >> Text.i3:81: internal compiler error: Segmentation fault >> Please submit a full bug report, >> with preprocessed source if appropriate. >> See for instructions. >> compilation failed => not building library "libm3core.a" >> Fatal Error: package build failed >> *** execution of failed *** >> >> I can't seem to get either m3gdb or gdb to say anything reasonable >> either. ktrace shows nothing out of the ordinary. >> >> ----- >> >> Meanwhile, my Mac got through "do-cm3-std.sh realclean" and >> "do-cm3-std.sh buildship" but my compiles are still dying on the >> same assertion tickled by ktok. On that machine I have INSTALLROOT >> set to ~/cm3, but hopefully that has nothing to do with it... >> >> ----- >> >> Does do-cm3-std.sh realclean clean EVERYTHING? If so my Mac should >> really have a fresh setup. The FreeBSD, I am not sure, maybe the >> old binary version just doesn't work right? Of course I could try >> bootstrapping with PM3 as well... but really, there's an "approved" >> process to get from a blank system, no? >> >> Mika >> >> >> >> >> Tony Hosking writes: >>> That sounds like you forgot to execute "do-cm3-std.sh realclean" >>> before initiating the build. These sorts of errors sometimes arise >>> if there are old build directories lying around. >>> >>> >>> On Jun 23, 2007, at 3:34 AM, Mika Nystrom wrote: >>> >>>> Hello everyone, >>>> >>>> I am in the process of trying to consolidate build systems for a >>>> few software packages I am maintaining. Currently, I am using an >>>> old PM3 on FreeBSD4, an ancient PM3 (from Klagenfurt?) for Windows >>>> (NT386GNU), and trying to get the latest CM3 from cvs up and >>>> compiling >>>> things on PPC_DARWIN. Ideally, I'd like to standardize everything >>>> on the new PM3---mainly so that I can use pickles (and Network >>>> Objects) across all three systems. I'd also like to add Linux to >>>> the mix. >>>> >>>> It's natural for me to start with CM3 on Darwin, as there's no >>>> alternative. But I am getting some assertions failing. Everything >>>> in the CM3 distribution compiles fine, and I believe I have compiled >>>> the libraries a few times (that is, including with themselves), and >>>> updated the compiler, too (using boot-cm3-with-m3.sh). I just cvs >>>> updated tonight. >>>> >>>> Here's what I'm running into: >>>> >>>> /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/CHP.t -o >>>> CHPTok.i3 >>>> >>>> >>>> *** >>>> *** runtime error: >>>> *** <*ASSERT*> failed. >>>> *** file "../src/runtime/common/RTCollector.m3", line 2314 >>>> *** >>>> >>>> Abort >>>> >>>> Also: >>>> >>>> /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/PRS.t -o >>>> PRSTok.i3 >>>> Illegal instruction >>>> >>>> As you can see, these things are coming from the caltech_parser. I >>> am using >>>> our local version, but I don't think it is very different from what >>>> is in the >>>> CM3 tree. >>>> >>>> >>>> Examining the first error (the failed assertion) more closely, I see >>>> the following: >>>> >>>> (gdb) list >>>> 108 wr := FileWr.Open(Pathname.ReplaceExt(tp.out, "m3")); >>>> 109 EXCEPT OSError.E => >>>> 110 Debug.Error("Cannot open tok implementation output >>>> file: " & >>>> 111 Pathname.ReplaceExt(tp.out, "m3")); >>>> 112 END; >>>> 113 Wr.PutText(wr, subs.apply(Bundle.Get(Form, >>>> "tokform.m3"))); >>>> 114 Wr.Close(wr); >>>> 115 END Main. >>>> (gdb) where >>>> #0 0x9004308c in kill () >>>> #1 0x9009fb3c in abort () >>>> #2 0x00096f50 in RTOS__Crash () at RTOS.m3:20 >>>> #3 0x0005bd40 in RTProcess__Crash (M3_Bd56fi_msg=0x0) at >>>> RTProcess.m3:65 >>>> #4 0x0008e4e0 in RTError__EndError (M3_AicXUJ_crash=1 '\001') at >>>> RTError.m3:115 >>>> #5 0x0008e08c in RTError__MsgS (M3_AJWxb1_file=0xc63d8, >>>> M3_AcxOUs_line=2314, M3_Bd56fi_msgA=0xca3d0, >>>> M3_Bd56fi_msgB=0xcbe90, M3_Bd56fi_msgC=0xca3d0) at RTError.m3:40 >>>> #6 0x0008eb88 in RTException__Crash (M3_Cblw37_a=0xbfffee00, >>>> M3_AicXUJ_raises=0 '\0', M3_AJWxb1_rte=0xcb538) at RTException.m3:79 >>>> #7 0x0008e74c in RTException__DefaultBackstop >>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>> RTException.m3:39 >>>> #8 0x0008e614 in RTException__InvokeBackstop >>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>> RTException.m3:25 >>>> #9 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at >>>> RTExFrame.m3:29 >>>> #10 0x0008e840 in RTException__DefaultBackstop >>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>> RTException.m3:47 >>>> #11 0x0008e614 in RTException__InvokeBackstop >>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>> RTException.m3:25 >>>> #12 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at >>>> RTExFrame.m3:29 >>>> #13 0x00079740 in RTHooks__ReportFault (M3_AJWxb1_module=0xb3eb8, >>>> M3_AcxOUs_info=74048) at RTHooks.m3:110 >>>> #14 0x0006ff4c in _m3_fault (M3_AcxOUs_arg=74048) >>>> #15 0x0006bcf4 in RTHooks__CheckStoreTraced >>>> (M3_Af40ku_ref=0xb2415c) at RTCollector.m3:2314 >>>> #16 0x000700e4 in ThreadPThread__InnerLockMutex >>>> (M3_AYIbX3_m=0xb2415c, M3_BXP32l_self=0xb24014) at >>>> ThreadPThread.m3:126 >>>> #17 0x000704d8 in ThreadPThread__LockMutex (M3_AYIbX3_m=0xb2415c) >>>> at ThreadPThread.m3:153 >>>> #18 0x00019b24 in Wr__PutText (M3_BxxOH1_wr=0xb2415c, >>>> M3_Bd56fi_t=0xb44d5c) at Wr.m3:93 >>>> #19 0x00003f74 in Main_M3 (M3_AcxOUs_mode=1) at Main.m3:113 >>>> #20 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at >>>> RTLinker.m3:399 >>>> #21 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at >>>> RTLinker.m3:113 >>>> #22 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at >>>> RTLinker.m3:122 >>>> #23 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) >>>> at _m3main.mc:4 >>>> (gdb) >>>> >>>> The second error: >>>> >>>> Program received signal EXC_BAD_INSTRUCTION, Illegal instruction/ >>>> operand. >>>> 0x00b111ac in ?? () >>>> (gdb) where >>>> #0 0x00b111ac in ?? () >>>> #1 0x0001214c in TextSubs__Apply (M3_CN69dV_self=0xb26450, >>>> M3_Bd56fi_src=0xb21cec) at TextSubs.m3:63 >>>> #2 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at >>>> RTLinker.m3:399 >>>> #3 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at >>>> RTLinker.m3:113 >>>> #4 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at >>>> RTLinker.m3:122 >>>> #5 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) >>>> at _m3main.mc:4 >>>> (gdb) list >>>> 58 BEGIN >>>> 59 WHILE pos < textLen DO >>>> 60 c := Text.GetChar(src, pos); >>>> 61 IF c IN self.starts THEN >>>> 62 (* S("analysing: " & Text.Sub(src, pos), >>>> DebugLevel); *) >>>> 63 iter := self.tbl.iterateOrdered(); >>>> 64 ind := pos; >>>> 65 original := ""; >>>> 66 REPEAT >>>> 67 INC(ind); >>>> (gdb) >>>> >>>> Any ideas what to look at? >>>> >>>> I don't know if this is relevant: >>>> >>>> [lapdog:~/t/cit_parse/PPC_DARWIN] mika% uname -a >>>> Darwin lapdog.local 7.9.0 Darwin Kernel Version 7.9.0: Wed Mar 30 >>>> 20:11:17 PST 2005; root:xnu/xnu-517.12.7.obj~1/RELEASE_PPC Power >>>> Macintosh powerpc >>>> [lapdog:~/t/cit_parse/PPC_DARWIN] mika% gcc -v >>>> Reading specs from /usr/libexec/gcc/darwin/ppc/3.3/specs >>>> Thread model: posix >>>> gcc version 3.3 20030304 (Apple Computer, Inc. build 1666) >>>> >>>> Mika >>>> >>>> P.S. Am I correct in assuming that I can get CM3 to build on >>>> Windows? >>>> I could switch to CM3 on Unix any time, of course, but I've never >>>> had luck with it on Windows, which is why I am using the ancient >>>> Klagenfurt PM3, which comes on 40-odd "floppies" and a .EXE that >>>> unpacks them into C: (and installation instructions only in German). >>>> If CM3 doesn't work on Windows, I am essentially wasting my time, >>>> as the current project I am working on absolutely requires that the >>>> software run on Windows 2003 Server (yes, it sucks, but what can >>>> you do?) The very old PM3 at least kind of hobbles along on this >>>> platform---actually, better than that; it does Trestle natively >>>> under Windows (no X required), at least on SOME Windows machines. >>>> >>>> P.P.S. Sorry for all the postscripts, but is it true that the >>>> build system has been changed so that building with overrides >>>> (cm3 -x) >>>> requires having the compiler sources available? It didn't use to >>>> be that way, but I can't get Network Objects to work with overrides >>>> now unless I have the sources available... It's a bit of a pain >>>> because it means that every user has to have the compiler sources, >>>> or else ship everything, or was that not the intention? From hosking at cs.purdue.edu Mon Jun 25 23:59:56 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Mon, 25 Jun 2007 17:59:56 -0400 Subject: [M3devel] strange errors... In-Reply-To: <200706251905.l5PJ5wgF029978@camembert.async.caltech.edu> References: <200706251905.l5PJ5wgF029978@camembert.async.caltech.edu> Message-ID: Hi Mika, This is a bug I was unaware of that presents when the new incremental/ generational GC runs with the old user-level threads code. I need to spend some time looking into this, but for now I suggest you invoke cm3-new with the @M3noincremental runtime option and see if you get any further. You can simply do: export CM3="/usr/local/cm3/pkg/cm3/FreeBSD4/cm3 @M3noincremental" cd ~/cm3/scripts ./do-cm3-std.sh realclean ./do-cm3-std.sh buildship On Jun 25, 2007, at 3:05 PM, Mika Nystrom wrote: > Indeed, -g was one of the culprits. I changed it to -gstabs+ and > got a bit further... (please scroll down to STEP 2, sorry) > > Tony Hosking writes: >> Sounds like we really need some work done in this area. I very >> rarely use the build scripts, since I bootstrap manually from old >> compilers to new compilers rather than use the scripts. I suggest >> the following approach, which I hope you will try, and then report >> back on. >> >> Install the bootstrap compiler as you did originally: >> >>> rm -rf /usr/local/cm3/* >>> >>> cd ~/cm3-cvs >>> mkdir boot >>> cd boot >>> tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz >>> ./cminstall >> >> Now you will have some kind of cm3 installed, presumably in /usr/ >> local/cm3/bin/cm3. >> >> Make sure you have a fresh CVS checkout in directory cm3 (let's >> assume this is in your home directory ~/cm3). Also, make sure you >> have an up-to-date version of the CM3 backend compiler cm3cg >> installed by executing the following: >> >> STEP 0: >> >> export CM3=/usr/local/cm3/bin/cm3 >> cd ~/cm3/m3-sys/m3cc >> $CM3 >> $CM3 -ship >> >> You can skip this last step if you know your backend compiler is up >> to date. >> >> Now, let's build the new compiler from scratch (this is the sequence >> I use regularly to test changes to the run-time system whenever I >> make them): >> >> STEP 1: >> >> cd ~/cm3/m3-libs/m3core >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-libs/libm3 >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-sys/m3middle >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-sys/m3linker >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-sys/m3front >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-sys/m3quake >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-sys/cm3 >> $CM3 >> $CM3 -ship >> >> At this point you should have a bootstrapped version of cm3 installed >> in the directory /usr/local/cm3/pkg/cm3/TARGET/cm3 (where TARGET is >> the CM3 target platform you are building on -- e.g., LINUXLIBC6, >> PPC_DARWIN, ...). Note that this did not overwrite your original >> installed compiler in /usr/local/cm3/bin/cm3. We >> are now going to test the new compiler, which was built using the old >> compiler, by bootstrapping it one more time. >> >> From here on out, please replace TARGET with your target platform as >> appropriate. >> >> STEP 2: >> >> export CM3=/usr/local/cm3/pkg/cm3/TARGET/cm3 >> cd ~/cm3/scripts >> ./do-cm3-std.sh realclean >> REPEAT STEP 1 to rebuild the libraries and the compiler using the >> STEP 1 bootstrap compiler. >> >> Now you have a STEP 2 bootstrap compiler installed in /usr/local/cm3/ >> pkg/cm3/TARGET/cm3. Let's assume the new compiler now works properly >> since it successfully bootstrapped itself, but to be sure we can now >> use it to rebuild the world: > > Ok, I got this far. I built the step 1 (m3core...cm3), set my > compiler to the newly-built compiler, and rebuilt (m3core...cm3). > No errors anywhere, beautiful. > >> >> cd ~/cm3/scripts >> ./do-cm3-std.sh realclean >> ./do-cm3-std.sh buildship > > Here's where it dies: > > ./do-cm3-std.sh buildship > CM3C = > /big/home2/mika/2/cm3-cvs/fresh/cm3/scripts/pkgmap.sh -c "/usr/ > local/cm3/pkg/cm3/FreeBSD4/cm3 -build -DROOT='/big/home2/mika/2/ > cm3-cvs/fresh/cm3' && /usr/local/cm3/pkg/cm3/FreeBSD4/cm3 -ship - > DROOT='/big/home2/mika/2/cm3-cvs/fresh/cm3' " m3core libm3 > patternmatching m3middle m3quake m3scanner m3tools m3cgcat m3cggen > m3gdb m3bundle arithmetic bitvector digraph parseparams > realgeometry set slisp sortedtableextras table-list tempfiles tcp > udp libsio libbuf debug listfuncs embutils m3tk-misc http binIO > commandrw m3tk mtex m3totex m3tohtml m3scan m3markup m3browser > cmpdir cmpfp dirfp uniq netobj netobjd stubgen events rdwr > sharedobj sharedobjgen odbc postgres95 db smalldb stable stablegen > X11R4 ui PEX vbtkit cmvbt jvideo videovbt web formsvbtpixmaps > formsvbt formsview formsedit codeview mg mgkit opengl anim3D zeus > m3zume synloc synex metasyn obliqrt obliqparse obliqprint obliq > obliqlibemb obliqlibm3 obliqlibui obliqlibanim obliqsrvstd > obliqsrvui obliqbinmin obliqbinstd obliqbin! > ui obliqbinanim visualobliq vocgi voquery vorun webvbt recordheap > rehearsecode replayheap showheap shownew showthread pkl-fonts juno- > machine juno-compiler juno-app cube calculator fisheye mentor > === package /big/home2/mika/2/cm3-cvs/fresh/cm3/m3-libs/m3core === > +++ /usr/local/cm3/pkg/cm3/FreeBSD4/cm3 -build -DROOT='/big/home2/ > mika/2/cm3-cvs/fresh/cm3' && /usr/local/cm3/pkg/cm3/FreeBSD4/cm3 - > ship -DROOT='/big/home2/mika/2/cm3-cvs/fresh/cm3' +++ > > > *** > *** runtime error: > *** <*ASSERT*> failed. > *** file "../src/runtime/common/RTCollector.m3", line 690 > *** > > > > *** > *** runtime error: > *** <*ASSERT*> failed. > *** file "../src/runtime/common/RTCollector.m3", line 690 > *** > > Abort trap > *** execution of failed *** > > This time it appears to be cm3 itself that's crashing: > > (310)rover:~/cm3-cvs/fresh/cm3/m3-libs/m3core>$CM3 -keep -commands > > > *** > *** runtime error: > *** <*ASSERT*> failed. > *** file "../src/runtime/common/RTCollector.m3", line 690 > *** > > > > *** > *** runtime error: > *** <*ASSERT*> failed. > *** file "../src/runtime/common/RTCollector.m3", line 690 > *** > > Abort > > What follows is what m3gdb has to say about this. I take it that > the last error message comes from my -gstabs+ option. m3gdb doesn't > like this new binary: it can't print variables and sometimes crashes > trying. Would I have better luck with "-gstabs", do you think? Or > do I just need to fix the compile process and install a new m3gdb? > (I take it there is a newer one: mine is very old. But I remember > that m3gdb doesn't always work that well...) > > Mika > > #1 16_81a619d in __raise () > #2 16_81a3b8f in abort () > #3 16_8178d16 in RTOS.Crash () at RTOS.m3:20 > #4 16_8171fd2 in RTProcess.Crash (msg=NIL) at RTProcess.m3:65 > #5 16_8170428 in RTError.EndError (crash=TRUE) at RTError.m3:115 > #6 16_8170169 in RTError.MsgS (file=16_820a508, line=690, > msgA=16_820bfe8, msgB=16_8208170, msgC=16_820bfe8) at RTError.m3:40 > #7 16_81707ec in RTException.Crash (a=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; > END, raises=FALSE, rte=16_8208020) at RTException.m3:79 > #8 16_8170550 in RTException.DefaultBackstop (a=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; > un_arg = NIL; END, raises=FALSE) at RTException.m3:39 > #9 16_81704b4 in RTException.InvokeBackstop (a=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; > un_arg = NIL; END, raises=FALSE) at RTException.m3:25 > #10 16_8179ca7 in RTException.Raise (act=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; > END) at RTExFrame.m3:29 > #11 16_81705f0 in RTException.DefaultBackstop (a=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; > un_arg = NIL; END, raises=FALSE) at RTException.m3:47 > #12 16_81704b4 in RTException.InvokeBackstop (a=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; > un_arg = NIL; END, raises=FALSE) at RTException.m3:25 > #13 16_8179ca7 in RTException.Raise (act=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; > END) at RTExFrame.m3:29 > #14 16_8160bba in RTHooks.ReportFault (module=16_820a680, > info=22080) at RTHooks.m3:110 > #15 16_816e251 in _m3_fault (arg=22080) at RTCollector.m3:0 > #16 16_81649b7 in RTCollector.CollectorOn () at RTCollector.m3:690 > #17 16_816b595 in RTHooks.CheckLoadTracedRef (ref=16_681b3300) at > RTCollector.m3:2296 > #18 16_814400c in Stdio.ShutDown () at Stdio.m3:43 > #19 16_8171f51 in RTProcess.InvokeExitors () at RTProcess.m3:40 > #20 16_8171fc5 in RTProcess.Crash (msg=NIL) at RTProcess.m3:61 > #21 16_8170428 in RTError.EndError (crash=TRUE) at RTError.m3:115 > #22 16_8170169 in RTError.MsgS (file=16_820a508, line=690, > msgA=16_820bfe8, msgB=16_8208170, msgC=16_820bfe8) at RTError.m3:40 > #23 16_81707ec in RTException.Crash (a=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; > END, raises=FALSE, rte=16_8208020) at RTException.m3:79 > #24 16_8170550 in RTException.DefaultBackstop (a=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; > un_arg = NIL; END, raises=FALSE) at RTException.m3:39 > #25 16_81704b4 in RTException.InvokeBackstop (a=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; > un_arg = NIL; END, raises=FALSE) at RTException.m3:25 > #26 16_8179ca7 in RTException.Raise (act=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; > END) at RTExFrame.m3:29 > #27 16_81705f0 in RTException.DefaultBackstop (a=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; > un_arg = NIL; END, raises=FALSE) at RTException.m3:47 > #28 16_81704b4 in RTException.InvokeBackstop (a=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; > un_arg = NIL; END, raises=FALSE) at RTException.m3:25 > #29 16_8179ca7 in RTException.Raise (act=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; > END) at RTExFrame.m3:29 > #30 16_8160bba in RTHooks.ReportFault (module=16_820a680, > info=22080) at RTHooks.m3:110 > #31 16_816e251 in _m3_fault (arg=22080) at RTCollector.m3:0 > #32 16_81649b7 in RTCollector.CollectorOn () at RTCollector.m3:690 > #33 16_816b595 in RTHooks.CheckLoadTracedRef (ref=16_681b3004) at > RTCollector.m3:2296 > #34 16_817c41e in ThreadF.ProcessStacks (p=16_816415e) at > ThreadPosix.m3:522 > #35 16_8165213 in RTCollector.CollectSomeInStateZero () at > RTCollector.m3:845 > #36 16_8164d2c in RTCollector.CollectSome () at RTCollector.m3:741 > #37 16_816487b in RTCollector.CollectEnough () at RTCollector.m3:659 > #38 16_81673cd in RTHeapRep.AllocTraced (def=16_81f8f38, > dataSize=8200, dataAlignment=4, initProc=16_bfbfe0f4, pool=RECORD > desc = RECORD space = Current; generation = Younger; pure = FALSE; > note = Allocated; gray = FALSE; clean = FALSE; continued = > FALSE; link = 0; END; notAfter = {Copied}; page = 0; stack = 0; > next = NIL; limit = NIL; busy = FALSE; END) > at RTCollector.m3:1417 > #39 16_816218e in RTAllocator.GetOpenArray (def=16_81f8f38, s= > [2048]) at RTAllocator.m3:308 > #40 16_8161737 in RTHooks.AllocateOpenArray (defn=16_81f8f38, s= > [2048]) at RTAllocator.m3:156 > #41 16_8129d56 in M3ID_M3 (mode=1) at M3ID.m3:40 > #42 16_816f802 in RTLinker.RunMainBody (m=16_81f8cc0) at > RTLinker.m3:399 > #43 16_816f6ca in RTLinker.RunMainBody (m=16_81c0880) at > RTLinker.m3:379 > #44 16_816f6ca in RTLinker.RunMainBody (m=16_81c06a0) at > RTLinker.m3:379 > #45 16_816f6ca in RTLinker.RunMainBody (m=16_81bc920) at > RTLinker.m3:379 > #46 16_816ed2d in RTLinker.AddUnitI (m=16_81bc920) at RTLinker.m3:113 > #47 16_816edb4 in RTLinker.AddUnit (b=16_8065527) at RTLinker.m3:122 > module "_m3main": missing debug info for global data > > (gdb) up 32 > #32 16_81649b7 in RTCollector.CollectorOn () at RTCollector.m3:690 > RTCollector.m3:690: No such file or directory. > (gdb) > Suspended > (360)rover:~/cm3-cvs/fresh/cm3/m3-libs/m3core>find ../.. -name > RTCollector.m3 > ../../m3-libs/m3core/src/runtime/common/RTCollector.m3 > (361)rover:~/cm3-cvs/fresh/cm3/m3-libs/m3core>fg > m3gdb /usr/local/cm3/pkg/cm3/FreeBSD4/cm3 > (gdb) dir ../../m3-libs/m3core/src/runtime/common/ > Source directories searched: /big/home2/mika/2/cm3-cvs/fresh/cm3/m3- > libs/m3core/../../m3-libs/m3core/src/runtime/common:$cdir:$cwd > (gdb) list > 685 VAR timeOnEntry, timeOnExit: Time.T; (* time of > collector entry/exit *) > 686 > 687 PROCEDURE CollectorOn () = > 688 (* LL >= RTOS.LockHeap *) > 689 BEGIN > 690 <* ASSERT NOT collectorOn *> > 691 collectorOn := TRUE; > 692 > 693 IF incremental AND NOT RTLinker.incremental > 694 OR generational AND NOT RTLinker.generational THEN > (gdb) print collectorOn > can't find identifier: collectorOn > (gdb) up > #33 16_816b595 in RTHooks.CheckLoadTracedRef (ref=16_681b3004) at > RTCollector.m3:2296 > 2296 CollectorOn(); > (gdb) print collectorOn > can't find identifier: collectorOn > (gdb) print ref > Segmentation fault > > > > >> >> Assuming this succeeded then we can be pretty sure /usr/local/cm3/ >> pkg/ >> cm3/TARGET/cm3 is good, so we can make it our default compiler by >> replacing the original /usr/local/cm3/bin/cm3: >> >> cp $CM3 /usr/local/cm3/bin/cm3 >> >> On Jun 23, 2007, at 2:38 PM, Mika Nystrom wrote: >> >>> Ok, I'm sorry if I seem a bit dimwitted in the morning like this, >>> but how exactly does one get started? I wish there were a file >>> called >>> "GETTING_STARTED" or something like that in scripts... >>> >>> My Mac is very slow so I switched to my FreeBSD/i386 system >>> (which has >>> PM3 happily installed on it) and tried to install CM3 from scratch. >>> Here are the exact commands I typed. >>> >>> >>> rm -rf /usr/local/cm3/* >>> >>> cd ~/cm3-cvs >>> mkdir boot >>> cd boot >>> tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz >>> ./cminstall >>> >>> # now I seem to have some kind of cm3 installed, /usr/local/cm3/bin/ >>> cm3 >>> >>> cd cm3 # location of my CM3 checkout >>> cvs update -d . >>> >>> cd scripts >>> ./boot-cm3-with-m3.sh realclean >>> ./do-cm3-std.sh realclean >>> >>> ./upgrade.sh # fails here, libm3 not compiled >>> ./boot-cm3-with-m3.sh build # builds cm3, but fails on >>> cminstall, patternmatching not built >>> >>> ./do-cm3-std.sh build # OK >>> ./do-cm3-std.sh buildship # OK >>> >>> ./boot-cm3-with-m3.sh realclean # start over >>> ./boot-cm3-with-m3.sh build # OK >>> ./boot-cm3-with-m3.sh buildship # OK >>> >>> ./do-cm3-std.sh realclean # OK >>> ./do-cm3-std.sh build # dies miserably... maybe the >>> compiler can't handle the new libraries? >>> >>> ./install-cm3-compiler.sh upgrade # OK, new cm3 binary installed >>> >>> After all that, "game over." I have a cm3 that segfaults. >>> >>> Text.i3: In function 'Text_I3': >>> Text.i3:81: internal compiler error: Segmentation fault >>> Please submit a full bug report, >>> with preprocessed source if appropriate. >>> See for instructions. >>> compilation failed => not building library "libm3core.a" >>> Fatal Error: package build failed >>> *** execution of failed *** >>> >>> I can't seem to get either m3gdb or gdb to say anything reasonable >>> either. ktrace shows nothing out of the ordinary. >>> >>> ----- >>> >>> Meanwhile, my Mac got through "do-cm3-std.sh realclean" and >>> "do-cm3-std.sh buildship" but my compiles are still dying on the >>> same assertion tickled by ktok. On that machine I have INSTALLROOT >>> set to ~/cm3, but hopefully that has nothing to do with it... >>> >>> ----- >>> >>> Does do-cm3-std.sh realclean clean EVERYTHING? If so my Mac should >>> really have a fresh setup. The FreeBSD, I am not sure, maybe the >>> old binary version just doesn't work right? Of course I could try >>> bootstrapping with PM3 as well... but really, there's an "approved" >>> process to get from a blank system, no? >>> >>> Mika >>> >>> >>> >>> >>> Tony Hosking writes: >>>> That sounds like you forgot to execute "do-cm3-std.sh realclean" >>>> before initiating the build. These sorts of errors sometimes arise >>>> if there are old build directories lying around. >>>> >>>> >>>> On Jun 23, 2007, at 3:34 AM, Mika Nystrom wrote: >>>> >>>>> Hello everyone, >>>>> >>>>> I am in the process of trying to consolidate build systems for a >>>>> few software packages I am maintaining. Currently, I am using an >>>>> old PM3 on FreeBSD4, an ancient PM3 (from Klagenfurt?) for Windows >>>>> (NT386GNU), and trying to get the latest CM3 from cvs up and >>>>> compiling >>>>> things on PPC_DARWIN. Ideally, I'd like to standardize everything >>>>> on the new PM3---mainly so that I can use pickles (and Network >>>>> Objects) across all three systems. I'd also like to add Linux to >>>>> the mix. >>>>> >>>>> It's natural for me to start with CM3 on Darwin, as there's no >>>>> alternative. But I am getting some assertions failing. >>>>> Everything >>>>> in the CM3 distribution compiles fine, and I believe I have >>>>> compiled >>>>> the libraries a few times (that is, including with themselves), >>>>> and >>>>> updated the compiler, too (using boot-cm3-with-m3.sh). I just cvs >>>>> updated tonight. >>>>> >>>>> Here's what I'm running into: >>>>> >>>>> /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/CHP.t -o >>>>> CHPTok.i3 >>>>> >>>>> >>>>> *** >>>>> *** runtime error: >>>>> *** <*ASSERT*> failed. >>>>> *** file "../src/runtime/common/RTCollector.m3", line 2314 >>>>> *** >>>>> >>>>> Abort >>>>> >>>>> Also: >>>>> >>>>> /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/PRS.t -o >>>>> PRSTok.i3 >>>>> Illegal instruction >>>>> >>>>> As you can see, these things are coming from the >>>>> caltech_parser. I >>>> am using >>>>> our local version, but I don't think it is very different from >>>>> what >>>>> is in the >>>>> CM3 tree. >>>>> >>>>> >>>>> Examining the first error (the failed assertion) more closely, >>>>> I see >>>>> the following: >>>>> >>>>> (gdb) list >>>>> 108 wr := FileWr.Open(Pathname.ReplaceExt(tp.out, "m3")); >>>>> 109 EXCEPT OSError.E => >>>>> 110 Debug.Error("Cannot open tok implementation output >>>>> file: " & >>>>> 111 Pathname.ReplaceExt(tp.out, "m3")); >>>>> 112 END; >>>>> 113 Wr.PutText(wr, subs.apply(Bundle.Get(Form, >>>>> "tokform.m3"))); >>>>> 114 Wr.Close(wr); >>>>> 115 END Main. >>>>> (gdb) where >>>>> #0 0x9004308c in kill () >>>>> #1 0x9009fb3c in abort () >>>>> #2 0x00096f50 in RTOS__Crash () at RTOS.m3:20 >>>>> #3 0x0005bd40 in RTProcess__Crash (M3_Bd56fi_msg=0x0) at >>>>> RTProcess.m3:65 >>>>> #4 0x0008e4e0 in RTError__EndError (M3_AicXUJ_crash=1 '\001') at >>>>> RTError.m3:115 >>>>> #5 0x0008e08c in RTError__MsgS (M3_AJWxb1_file=0xc63d8, >>>>> M3_AcxOUs_line=2314, M3_Bd56fi_msgA=0xca3d0, >>>>> M3_Bd56fi_msgB=0xcbe90, M3_Bd56fi_msgC=0xca3d0) at RTError.m3:40 >>>>> #6 0x0008eb88 in RTException__Crash (M3_Cblw37_a=0xbfffee00, >>>>> M3_AicXUJ_raises=0 '\0', M3_AJWxb1_rte=0xcb538) at >>>>> RTException.m3:79 >>>>> #7 0x0008e74c in RTException__DefaultBackstop >>>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>>> RTException.m3:39 >>>>> #8 0x0008e614 in RTException__InvokeBackstop >>>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>>> RTException.m3:25 >>>>> #9 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at >>>>> RTExFrame.m3:29 >>>>> #10 0x0008e840 in RTException__DefaultBackstop >>>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>>> RTException.m3:47 >>>>> #11 0x0008e614 in RTException__InvokeBackstop >>>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>>> RTException.m3:25 >>>>> #12 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at >>>>> RTExFrame.m3:29 >>>>> #13 0x00079740 in RTHooks__ReportFault (M3_AJWxb1_module=0xb3eb8, >>>>> M3_AcxOUs_info=74048) at RTHooks.m3:110 >>>>> #14 0x0006ff4c in _m3_fault (M3_AcxOUs_arg=74048) >>>>> #15 0x0006bcf4 in RTHooks__CheckStoreTraced >>>>> (M3_Af40ku_ref=0xb2415c) at RTCollector.m3:2314 >>>>> #16 0x000700e4 in ThreadPThread__InnerLockMutex >>>>> (M3_AYIbX3_m=0xb2415c, M3_BXP32l_self=0xb24014) at >>>>> ThreadPThread.m3:126 >>>>> #17 0x000704d8 in ThreadPThread__LockMutex (M3_AYIbX3_m=0xb2415c) >>>>> at ThreadPThread.m3:153 >>>>> #18 0x00019b24 in Wr__PutText (M3_BxxOH1_wr=0xb2415c, >>>>> M3_Bd56fi_t=0xb44d5c) at Wr.m3:93 >>>>> #19 0x00003f74 in Main_M3 (M3_AcxOUs_mode=1) at Main.m3:113 >>>>> #20 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at >>>>> RTLinker.m3:399 >>>>> #21 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at >>>>> RTLinker.m3:113 >>>>> #22 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at >>>>> RTLinker.m3:122 >>>>> #23 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) >>>>> at _m3main.mc:4 >>>>> (gdb) >>>>> >>>>> The second error: >>>>> >>>>> Program received signal EXC_BAD_INSTRUCTION, Illegal instruction/ >>>>> operand. >>>>> 0x00b111ac in ?? () >>>>> (gdb) where >>>>> #0 0x00b111ac in ?? () >>>>> #1 0x0001214c in TextSubs__Apply (M3_CN69dV_self=0xb26450, >>>>> M3_Bd56fi_src=0xb21cec) at TextSubs.m3:63 >>>>> #2 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at >>>>> RTLinker.m3:399 >>>>> #3 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at >>>>> RTLinker.m3:113 >>>>> #4 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at >>>>> RTLinker.m3:122 >>>>> #5 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) >>>>> at _m3main.mc:4 >>>>> (gdb) list >>>>> 58 BEGIN >>>>> 59 WHILE pos < textLen DO >>>>> 60 c := Text.GetChar(src, pos); >>>>> 61 IF c IN self.starts THEN >>>>> 62 (* S("analysing: " & Text.Sub(src, pos), >>>>> DebugLevel); *) >>>>> 63 iter := self.tbl.iterateOrdered(); >>>>> 64 ind := pos; >>>>> 65 original := ""; >>>>> 66 REPEAT >>>>> 67 INC(ind); >>>>> (gdb) >>>>> >>>>> Any ideas what to look at? >>>>> >>>>> I don't know if this is relevant: >>>>> >>>>> [lapdog:~/t/cit_parse/PPC_DARWIN] mika% uname -a >>>>> Darwin lapdog.local 7.9.0 Darwin Kernel Version 7.9.0: Wed Mar 30 >>>>> 20:11:17 PST 2005; root:xnu/xnu-517.12.7.obj~1/RELEASE_PPC Power >>>>> Macintosh powerpc >>>>> [lapdog:~/t/cit_parse/PPC_DARWIN] mika% gcc -v >>>>> Reading specs from /usr/libexec/gcc/darwin/ppc/3.3/specs >>>>> Thread model: posix >>>>> gcc version 3.3 20030304 (Apple Computer, Inc. build 1666) >>>>> >>>>> Mika >>>>> >>>>> P.S. Am I correct in assuming that I can get CM3 to build on >>>>> Windows? >>>>> I could switch to CM3 on Unix any time, of course, but I've never >>>>> had luck with it on Windows, which is why I am using the ancient >>>>> Klagenfurt PM3, which comes on 40-odd "floppies" and a .EXE that >>>>> unpacks them into C: (and installation instructions only in >>>>> German). >>>>> If CM3 doesn't work on Windows, I am essentially wasting my time, >>>>> as the current project I am working on absolutely requires that >>>>> the >>>>> software run on Windows 2003 Server (yes, it sucks, but what can >>>>> you do?) The very old PM3 at least kind of hobbles along on this >>>>> platform---actually, better than that; it does Trestle natively >>>>> under Windows (no X required), at least on SOME Windows machines. >>>>> >>>>> P.P.S. Sorry for all the postscripts, but is it true that the >>>>> build system has been changed so that building with overrides >>>>> (cm3 -x) >>>>> requires having the compiler sources available? It didn't use to >>>>> be that way, but I can't get Network Objects to work with >>>>> overrides >>>>> now unless I have the sources available... It's a bit of a pain >>>>> because it means that every user has to have the compiler sources, >>>>> or else ship everything, or was that not the intention? From mika at async.caltech.edu Tue Jun 26 01:56:53 2007 From: mika at async.caltech.edu (Mika Nystrom) Date: Mon, 25 Jun 2007 16:56:53 -0700 Subject: [M3devel] strange errors... In-Reply-To: Your message of "Mon, 25 Jun 2007 17:59:56 EDT." Message-ID: <200706252356.l5PNurXI035053@camembert.async.caltech.edu> Tony Hosking writes: >Hi Mika, > >This is a bug I was unaware of that presents when the new incremental/ >generational GC runs with the old user-level threads code. I need to >spend some time looking into this, but for now I suggest you invoke >cm3-new with the @M3noincremental runtime option and see if you get >any further. You can simply do: > >export CM3="/usr/local/cm3/pkg/cm3/FreeBSD4/cm3 @M3noincremental" >cd ~/cm3/scripts >./do-cm3-std.sh realclean >./do-cm3-std.sh buildship Hmm, no, sorry... it still dies in exactly the same way. @M3nogc lets it run all the way until m3bundle though (which doesn't get the flag, so it dies, again, at line 690). Mika From hosking at cs.purdue.edu Tue Jun 26 05:23:18 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Mon, 25 Jun 2007 23:23:18 -0400 Subject: [M3devel] strange errors... In-Reply-To: <200706252356.l5PNurXI035053@camembert.async.caltech.edu> References: <200706252356.l5PNurXI035053@camembert.async.caltech.edu> Message-ID: <8ED38EBB-5583-4402-8D8B-AC7F756F7292@cs.purdue.edu> OK, sounds like I have a bug to catch. On Jun 25, 2007, at 7:56 PM, Mika Nystrom wrote: > Tony Hosking writes: >> Hi Mika, >> >> This is a bug I was unaware of that presents when the new >> incremental/ >> generational GC runs with the old user-level threads code. I need to >> spend some time looking into this, but for now I suggest you invoke >> cm3-new with the @M3noincremental runtime option and see if you get >> any further. You can simply do: >> >> export CM3="/usr/local/cm3/pkg/cm3/FreeBSD4/cm3 @M3noincremental" >> cd ~/cm3/scripts >> ./do-cm3-std.sh realclean >> ./do-cm3-std.sh buildship > > Hmm, no, sorry... it still dies in exactly the same way. @M3nogc lets > it run all the way until m3bundle though (which doesn't get the flag, > so it dies, again, at line 690). > > Mika From mika at async.caltech.edu Tue Jun 26 09:56:23 2007 From: mika at async.caltech.edu (Mika Nystrom) Date: Tue, 26 Jun 2007 00:56:23 -0700 Subject: [M3devel] strange errors... In-Reply-To: Your message of "Sun, 24 Jun 2007 10:38:34 EDT." Message-ID: <200706260756.l5Q7uNuW042533@camembert.async.caltech.edu> I am still working on this, now on my Mac, and it's going better there. I have some observations resulting from trying to follow your instructions to the letter. What I did was I deleted all traces of cm3 from my machine and started by downloading the new 5.4.0 version to bootstrap with. I installed that according to the instructions on the elegosoft site, without any modifications whatsoever. It runs most things fine, but Juno-2 crashes in the garbage collector (not line 690!). I am now recompiling the CVS head and ran into two minor problems so far: 1. do-cm3-std.sh realclean doesn't clean all the directories. At minimum, it skips the following (but there may be others): m3linker, m3front, cm3. 2. Even the distributed version 5.4.0 has an incompatible (relative to the CVS head) cm3.cfg. I looked at a few different versions I have, which I think were inspired by one you (Tony) sent to me about a year ago and decided I would just add a line for PTHREADS. No big deal, but it's somewhat mysterious... and I don't see any guidance in the distribution on the cm3.cfg file. Of course this is the reason my FreeBSD installation uses the old threading library instead of pthreads. Mika Tony Hosking writes: >Sounds like we really need some work done in this area. I very >rarely use the build scripts, since I bootstrap manually from old >compilers to new compilers rather than use the scripts. I suggest >the following approach, which I hope you will try, and then report >back on. > >Install the bootstrap compiler as you did originally: > >> rm -rf /usr/local/cm3/* >> >> cd ~/cm3-cvs >> mkdir boot >> cd boot >> tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz >> ./cminstall > >Now you will have some kind of cm3 installed, presumably in /usr/ >local/cm3/bin/cm3. > >Make sure you have a fresh CVS checkout in directory cm3 (let's >assume this is in your home directory ~/cm3). Also, make sure you >have an up-to-date version of the CM3 backend compiler cm3cg >installed by executing the following: > >STEP 0: > >export CM3=/usr/local/cm3/bin/cm3 >cd ~/cm3/m3-sys/m3cc >$CM3 >$CM3 -ship > >You can skip this last step if you know your backend compiler is up >to date. > >Now, let's build the new compiler from scratch (this is the sequence >I use regularly to test changes to the run-time system whenever I >make them): > >STEP 1: > >cd ~/cm3/m3-libs/m3core >$CM3 >$CM3 -ship >cd ~/cm3/m3-libs/libm3 >$CM3 >$CM3 -ship >cd ~/cm3/m3-sys/m3middle >$CM3 >$CM3 -ship >cd ~/cm3/m3-sys/m3linker >$CM3 >$CM3 -ship >cd ~/cm3/m3-sys/m3front >$CM3 >$CM3 -ship >cd ~/cm3/m3-sys/m3quake >$CM3 >$CM3 -ship >cd ~/cm3/m3-sys/cm3 >$CM3 >$CM3 -ship > >At this point you should have a bootstrapped version of cm3 installed >in the directory /usr/local/cm3/pkg/cm3/TARGET/cm3 (where TARGET is >the CM3 target platform you are building on -- e.g., LINUXLIBC6, >PPC_DARWIN, ...). Note that this did not overwrite your original >installed compiler in /usr/local/cm3/bin/cm3. We >are now going to test the new compiler, which was built using the old >compiler, by bootstrapping it one more time. > > From here on out, please replace TARGET with your target platform as >appropriate. > >STEP 2: > >export CM3=/usr/local/cm3/pkg/cm3/TARGET/cm3 >cd ~/cm3/scripts >./do-cm3-std.sh realclean >REPEAT STEP 1 to rebuild the libraries and the compiler using the >STEP 1 bootstrap compiler. > >Now you have a STEP 2 bootstrap compiler installed in /usr/local/cm3/ >pkg/cm3/TARGET/cm3. Let's assume the new compiler now works properly >since it successfully bootstrapped itself, but to be sure we can now >use it to rebuild the world: > >cd ~/cm3/scripts >./do-cm3-std.sh realclean >./do-cm3-std.sh buildship > >Assuming this succeeded then we can be pretty sure /usr/local/cm3/pkg/ >cm3/TARGET/cm3 is good, so we can make it our default compiler by >replacing the original /usr/local/cm3/bin/cm3: > >cp $CM3 /usr/local/cm3/bin/cm3 > >On Jun 23, 2007, at 2:38 PM, Mika Nystrom wrote: > >> Ok, I'm sorry if I seem a bit dimwitted in the morning like this, >> but how exactly does one get started? I wish there were a file called >> "GETTING_STARTED" or something like that in scripts... >> >> My Mac is very slow so I switched to my FreeBSD/i386 system (which has >> PM3 happily installed on it) and tried to install CM3 from scratch. >> Here are the exact commands I typed. >> >> >> rm -rf /usr/local/cm3/* >> >> cd ~/cm3-cvs >> mkdir boot >> cd boot >> tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz >> ./cminstall >> >> # now I seem to have some kind of cm3 installed, /usr/local/cm3/bin/ >> cm3 >> >> cd cm3 # location of my CM3 checkout >> cvs update -d . >> >> cd scripts >> ./boot-cm3-with-m3.sh realclean >> ./do-cm3-std.sh realclean >> >> ./upgrade.sh # fails here, libm3 not compiled >> ./boot-cm3-with-m3.sh build # builds cm3, but fails on >> cminstall, patternmatching not built >> >> ./do-cm3-std.sh build # OK >> ./do-cm3-std.sh buildship # OK >> >> ./boot-cm3-with-m3.sh realclean # start over >> ./boot-cm3-with-m3.sh build # OK >> ./boot-cm3-with-m3.sh buildship # OK >> >> ./do-cm3-std.sh realclean # OK >> ./do-cm3-std.sh build # dies miserably... maybe the >> compiler can't handle the new libraries? >> >> ./install-cm3-compiler.sh upgrade # OK, new cm3 binary installed >> >> After all that, "game over." I have a cm3 that segfaults. >> >> Text.i3: In function 'Text_I3': >> Text.i3:81: internal compiler error: Segmentation fault >> Please submit a full bug report, >> with preprocessed source if appropriate. >> See for instructions. >> compilation failed => not building library "libm3core.a" >> Fatal Error: package build failed >> *** execution of failed *** >> >> I can't seem to get either m3gdb or gdb to say anything reasonable >> either. ktrace shows nothing out of the ordinary. >> >> ----- >> >> Meanwhile, my Mac got through "do-cm3-std.sh realclean" and >> "do-cm3-std.sh buildship" but my compiles are still dying on the >> same assertion tickled by ktok. On that machine I have INSTALLROOT >> set to ~/cm3, but hopefully that has nothing to do with it... >> >> ----- >> >> Does do-cm3-std.sh realclean clean EVERYTHING? If so my Mac should >> really have a fresh setup. The FreeBSD, I am not sure, maybe the >> old binary version just doesn't work right? Of course I could try >> bootstrapping with PM3 as well... but really, there's an "approved" >> process to get from a blank system, no? >> >> Mika >> >> >> >> >> Tony Hosking writes: >>> That sounds like you forgot to execute "do-cm3-std.sh realclean" >>> before initiating the build. These sorts of errors sometimes arise >>> if there are old build directories lying around. >>> >>> >>> On Jun 23, 2007, at 3:34 AM, Mika Nystrom wrote: >>> >>>> Hello everyone, >>>> >>>> I am in the process of trying to consolidate build systems for a >>>> few software packages I am maintaining. Currently, I am using an >>>> old PM3 on FreeBSD4, an ancient PM3 (from Klagenfurt?) for Windows >>>> (NT386GNU), and trying to get the latest CM3 from cvs up and >>>> compiling >>>> things on PPC_DARWIN. Ideally, I'd like to standardize everything >>>> on the new PM3---mainly so that I can use pickles (and Network >>>> Objects) across all three systems. I'd also like to add Linux to >>>> the mix. >>>> >>>> It's natural for me to start with CM3 on Darwin, as there's no >>>> alternative. But I am getting some assertions failing. Everything >>>> in the CM3 distribution compiles fine, and I believe I have compiled >>>> the libraries a few times (that is, including with themselves), and >>>> updated the compiler, too (using boot-cm3-with-m3.sh). I just cvs >>>> updated tonight. >>>> >>>> Here's what I'm running into: >>>> >>>> /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/CHP.t -o >>>> CHPTok.i3 >>>> >>>> >>>> *** >>>> *** runtime error: >>>> *** <*ASSERT*> failed. >>>> *** file "../src/runtime/common/RTCollector.m3", line 2314 >>>> *** >>>> >>>> Abort >>>> >>>> Also: >>>> >>>> /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/PRS.t -o >>>> PRSTok.i3 >>>> Illegal instruction >>>> >>>> As you can see, these things are coming from the caltech_parser. I >>> am using >>>> our local version, but I don't think it is very different from what >>>> is in the >>>> CM3 tree. >>>> >>>> >>>> Examining the first error (the failed assertion) more closely, I see >>>> the following: >>>> >>>> (gdb) list >>>> 108 wr := FileWr.Open(Pathname.ReplaceExt(tp.out, "m3")); >>>> 109 EXCEPT OSError.E => >>>> 110 Debug.Error("Cannot open tok implementation output >>>> file: " & >>>> 111 Pathname.ReplaceExt(tp.out, "m3")); >>>> 112 END; >>>> 113 Wr.PutText(wr, subs.apply(Bundle.Get(Form, >>>> "tokform.m3"))); >>>> 114 Wr.Close(wr); >>>> 115 END Main. >>>> (gdb) where >>>> #0 0x9004308c in kill () >>>> #1 0x9009fb3c in abort () >>>> #2 0x00096f50 in RTOS__Crash () at RTOS.m3:20 >>>> #3 0x0005bd40 in RTProcess__Crash (M3_Bd56fi_msg=0x0) at >>>> RTProcess.m3:65 >>>> #4 0x0008e4e0 in RTError__EndError (M3_AicXUJ_crash=1 '\001') at >>>> RTError.m3:115 >>>> #5 0x0008e08c in RTError__MsgS (M3_AJWxb1_file=0xc63d8, >>>> M3_AcxOUs_line=2314, M3_Bd56fi_msgA=0xca3d0, >>>> M3_Bd56fi_msgB=0xcbe90, M3_Bd56fi_msgC=0xca3d0) at RTError.m3:40 >>>> #6 0x0008eb88 in RTException__Crash (M3_Cblw37_a=0xbfffee00, >>>> M3_AicXUJ_raises=0 '\0', M3_AJWxb1_rte=0xcb538) at RTException.m3:79 >>>> #7 0x0008e74c in RTException__DefaultBackstop >>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>> RTException.m3:39 >>>> #8 0x0008e614 in RTException__InvokeBackstop >>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>> RTException.m3:25 >>>> #9 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at >>>> RTExFrame.m3:29 >>>> #10 0x0008e840 in RTException__DefaultBackstop >>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>> RTException.m3:47 >>>> #11 0x0008e614 in RTException__InvokeBackstop >>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>> RTException.m3:25 >>>> #12 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at >>>> RTExFrame.m3:29 >>>> #13 0x00079740 in RTHooks__ReportFault (M3_AJWxb1_module=0xb3eb8, >>>> M3_AcxOUs_info=74048) at RTHooks.m3:110 >>>> #14 0x0006ff4c in _m3_fault (M3_AcxOUs_arg=74048) >>>> #15 0x0006bcf4 in RTHooks__CheckStoreTraced >>>> (M3_Af40ku_ref=0xb2415c) at RTCollector.m3:2314 >>>> #16 0x000700e4 in ThreadPThread__InnerLockMutex >>>> (M3_AYIbX3_m=0xb2415c, M3_BXP32l_self=0xb24014) at >>>> ThreadPThread.m3:126 >>>> #17 0x000704d8 in ThreadPThread__LockMutex (M3_AYIbX3_m=0xb2415c) >>>> at ThreadPThread.m3:153 >>>> #18 0x00019b24 in Wr__PutText (M3_BxxOH1_wr=0xb2415c, >>>> M3_Bd56fi_t=0xb44d5c) at Wr.m3:93 >>>> #19 0x00003f74 in Main_M3 (M3_AcxOUs_mode=1) at Main.m3:113 >>>> #20 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at >>>> RTLinker.m3:399 >>>> #21 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at >>>> RTLinker.m3:113 >>>> #22 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at >>>> RTLinker.m3:122 >>>> #23 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) >>>> at _m3main.mc:4 >>>> (gdb) >>>> >>>> The second error: >>>> >>>> Program received signal EXC_BAD_INSTRUCTION, Illegal instruction/ >>>> operand. >>>> 0x00b111ac in ?? () >>>> (gdb) where >>>> #0 0x00b111ac in ?? () >>>> #1 0x0001214c in TextSubs__Apply (M3_CN69dV_self=0xb26450, >>>> M3_Bd56fi_src=0xb21cec) at TextSubs.m3:63 >>>> #2 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at >>>> RTLinker.m3:399 >>>> #3 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at >>>> RTLinker.m3:113 >>>> #4 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at >>>> RTLinker.m3:122 >>>> #5 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) >>>> at _m3main.mc:4 >>>> (gdb) list >>>> 58 BEGIN >>>> 59 WHILE pos < textLen DO >>>> 60 c := Text.GetChar(src, pos); >>>> 61 IF c IN self.starts THEN >>>> 62 (* S("analysing: " & Text.Sub(src, pos), >>>> DebugLevel); *) >>>> 63 iter := self.tbl.iterateOrdered(); >>>> 64 ind := pos; >>>> 65 original := ""; >>>> 66 REPEAT >>>> 67 INC(ind); >>>> (gdb) >>>> >>>> Any ideas what to look at? >>>> >>>> I don't know if this is relevant: >>>> >>>> [lapdog:~/t/cit_parse/PPC_DARWIN] mika% uname -a >>>> Darwin lapdog.local 7.9.0 Darwin Kernel Version 7.9.0: Wed Mar 30 >>>> 20:11:17 PST 2005; root:xnu/xnu-517.12.7.obj~1/RELEASE_PPC Power >>>> Macintosh powerpc >>>> [lapdog:~/t/cit_parse/PPC_DARWIN] mika% gcc -v >>>> Reading specs from /usr/libexec/gcc/darwin/ppc/3.3/specs >>>> Thread model: posix >>>> gcc version 3.3 20030304 (Apple Computer, Inc. build 1666) >>>> >>>> Mika >>>> >>>> P.S. Am I correct in assuming that I can get CM3 to build on >>>> Windows? >>>> I could switch to CM3 on Unix any time, of course, but I've never >>>> had luck with it on Windows, which is why I am using the ancient >>>> Klagenfurt PM3, which comes on 40-odd "floppies" and a .EXE that >>>> unpacks them into C: (and installation instructions only in German). >>>> If CM3 doesn't work on Windows, I am essentially wasting my time, >>>> as the current project I am working on absolutely requires that the >>>> software run on Windows 2003 Server (yes, it sucks, but what can >>>> you do?) The very old PM3 at least kind of hobbles along on this >>>> platform---actually, better than that; it does Trestle natively >>>> under Windows (no X required), at least on SOME Windows machines. >>>> >>>> P.P.S. Sorry for all the postscripts, but is it true that the >>>> build system has been changed so that building with overrides >>>> (cm3 -x) >>>> requires having the compiler sources available? It didn't use to >>>> be that way, but I can't get Network Objects to work with overrides >>>> now unless I have the sources available... It's a bit of a pain >>>> because it means that every user has to have the compiler sources, >>>> or else ship everything, or was that not the intention? From dragisha at m3w.org Tue Jun 26 10:27:54 2007 From: dragisha at m3w.org (=?UTF-8?Q?Dragi=C5=A1a_Duri=C4=87?=) Date: Tue, 26 Jun 2007 10:27:54 +0200 Subject: [M3devel] dynamic loading - few angles Message-ID: <1182846474.9643.34.camel@faramir.m3w.org> In CM3 documentation "support for dynamic loading" is mentioned... I would like to know if anyone used these abilities? I've had success loading and using sets of modules packaged as .so, after little tweak to RTHeapMap. I will either post that patch here, or import to CVS, if there's interest. But... During that, and right now... I am thinking about whole Modula-3 program being .so - so we can make extensions to Apache, or PostgreSQL, or whatever other program can be extended in such a way. It really (IMnsHO) is no big problem, except _m3main.ms must be generated differently, and maybe some cleanup code added/linked to "master" runtime. Maybe something more? As I never looked in code generation, is there someone who can do this for CM3? dd -- Dragi?a Duri? From hosking at cs.purdue.edu Tue Jun 26 17:53:49 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Tue, 26 Jun 2007 11:53:49 -0400 Subject: [M3devel] strange errors... In-Reply-To: <200706260756.l5Q7uNuW042533@camembert.async.caltech.edu> References: <200706260756.l5Q7uNuW042533@camembert.async.caltech.edu> Message-ID: <4A580928-5698-4644-8E7D-A2203D7EDF28@cs.purdue.edu> For PPC_DARWIN Mac I suggest you start with the build I have in ftp:// ftp.cs.purdue.edu/pub/hosking/m3/PPC_DARWIN. Grab each of cm3cg.gz cm3.gz and cm3.cfg. That has everything needed for building on OS X Tiger. FreeBSD doesn't have PTHREADS support yet, though it should be straightforward. I just don't have access to a Free BSD system on which to do the PTHREADS port -- it's just a matter of getting the pthread header information into M3 interface files. See the LINUXLIBC6 stuff for guidance. On Jun 26, 2007, at 3:56 AM, Mika Nystrom wrote: > > I am still working on this, now on my Mac, and it's going better > there. > > I have some observations resulting from trying to follow your > instructions to the letter. What I did was I deleted all traces > of cm3 from my machine and started by downloading the new 5.4.0 > version to bootstrap with. I installed that according to the > instructions on the elegosoft site, without any modifications > whatsoever. It runs most things fine, but Juno-2 crashes in the > garbage collector (not line 690!). I am now recompiling the > CVS head and ran into two minor problems so far: > > 1. do-cm3-std.sh realclean doesn't clean all the directories. > At minimum, it skips the following (but there may be others): > m3linker, m3front, cm3. Yeah, those are only built by boot-cm3-core.sh, so not surprised that do-cm3-std.sh doesn't clean them. I should have been explicit and had you "rm -rf TARGET" for each package to make sure you start clean. > 2. Even the distributed version 5.4.0 has an incompatible (relative > to the CVS head) cm3.cfg. I looked at a few different versions I > have, which I think were inspired by one you (Tony) sent to me about > a year ago and decided I would just add a line for PTHREADS. No big > deal, but it's somewhat mysterious... and I don't see any guidance > in the distribution on the cm3.cfg file. Of course this is the > reason my FreeBSD installation uses the old threading library instead > of pthreads. Please see my cm3.cfg on my ftp site. > > Mika > > Tony Hosking writes: >> Sounds like we really need some work done in this area. I very >> rarely use the build scripts, since I bootstrap manually from old >> compilers to new compilers rather than use the scripts. I suggest >> the following approach, which I hope you will try, and then report >> back on. >> >> Install the bootstrap compiler as you did originally: >> >>> rm -rf /usr/local/cm3/* >>> >>> cd ~/cm3-cvs >>> mkdir boot >>> cd boot >>> tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz >>> ./cminstall >> >> Now you will have some kind of cm3 installed, presumably in /usr/ >> local/cm3/bin/cm3. >> >> Make sure you have a fresh CVS checkout in directory cm3 (let's >> assume this is in your home directory ~/cm3). Also, make sure you >> have an up-to-date version of the CM3 backend compiler cm3cg >> installed by executing the following: >> >> STEP 0: >> >> export CM3=/usr/local/cm3/bin/cm3 >> cd ~/cm3/m3-sys/m3cc >> $CM3 >> $CM3 -ship >> >> You can skip this last step if you know your backend compiler is up >> to date. >> >> Now, let's build the new compiler from scratch (this is the sequence >> I use regularly to test changes to the run-time system whenever I >> make them): >> >> STEP 1: >> >> cd ~/cm3/m3-libs/m3core >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-libs/libm3 >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-sys/m3middle >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-sys/m3linker >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-sys/m3front >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-sys/m3quake >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-sys/cm3 >> $CM3 >> $CM3 -ship >> >> At this point you should have a bootstrapped version of cm3 installed >> in the directory /usr/local/cm3/pkg/cm3/TARGET/cm3 (where TARGET is >> the CM3 target platform you are building on -- e.g., LINUXLIBC6, >> PPC_DARWIN, ...). Note that this did not overwrite your original >> installed compiler in /usr/local/cm3/bin/cm3. We >> are now going to test the new compiler, which was built using the old >> compiler, by bootstrapping it one more time. >> >> From here on out, please replace TARGET with your target platform as >> appropriate. >> >> STEP 2: >> >> export CM3=/usr/local/cm3/pkg/cm3/TARGET/cm3 >> cd ~/cm3/scripts >> ./do-cm3-std.sh realclean >> REPEAT STEP 1 to rebuild the libraries and the compiler using the >> STEP 1 bootstrap compiler. >> >> Now you have a STEP 2 bootstrap compiler installed in /usr/local/cm3/ >> pkg/cm3/TARGET/cm3. Let's assume the new compiler now works properly >> since it successfully bootstrapped itself, but to be sure we can now >> use it to rebuild the world: >> >> cd ~/cm3/scripts >> ./do-cm3-std.sh realclean >> ./do-cm3-std.sh buildship >> >> Assuming this succeeded then we can be pretty sure /usr/local/cm3/ >> pkg/ >> cm3/TARGET/cm3 is good, so we can make it our default compiler by >> replacing the original /usr/local/cm3/bin/cm3: >> >> cp $CM3 /usr/local/cm3/bin/cm3 >> >> On Jun 23, 2007, at 2:38 PM, Mika Nystrom wrote: >> >>> Ok, I'm sorry if I seem a bit dimwitted in the morning like this, >>> but how exactly does one get started? I wish there were a file >>> called >>> "GETTING_STARTED" or something like that in scripts... >>> >>> My Mac is very slow so I switched to my FreeBSD/i386 system >>> (which has >>> PM3 happily installed on it) and tried to install CM3 from scratch. >>> Here are the exact commands I typed. >>> >>> >>> rm -rf /usr/local/cm3/* >>> >>> cd ~/cm3-cvs >>> mkdir boot >>> cd boot >>> tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz >>> ./cminstall >>> >>> # now I seem to have some kind of cm3 installed, /usr/local/cm3/bin/ >>> cm3 >>> >>> cd cm3 # location of my CM3 checkout >>> cvs update -d . >>> >>> cd scripts >>> ./boot-cm3-with-m3.sh realclean >>> ./do-cm3-std.sh realclean >>> >>> ./upgrade.sh # fails here, libm3 not compiled >>> ./boot-cm3-with-m3.sh build # builds cm3, but fails on >>> cminstall, patternmatching not built >>> >>> ./do-cm3-std.sh build # OK >>> ./do-cm3-std.sh buildship # OK >>> >>> ./boot-cm3-with-m3.sh realclean # start over >>> ./boot-cm3-with-m3.sh build # OK >>> ./boot-cm3-with-m3.sh buildship # OK >>> >>> ./do-cm3-std.sh realclean # OK >>> ./do-cm3-std.sh build # dies miserably... maybe the >>> compiler can't handle the new libraries? >>> >>> ./install-cm3-compiler.sh upgrade # OK, new cm3 binary installed >>> >>> After all that, "game over." I have a cm3 that segfaults. >>> >>> Text.i3: In function 'Text_I3': >>> Text.i3:81: internal compiler error: Segmentation fault >>> Please submit a full bug report, >>> with preprocessed source if appropriate. >>> See for instructions. >>> compilation failed => not building library "libm3core.a" >>> Fatal Error: package build failed >>> *** execution of failed *** >>> >>> I can't seem to get either m3gdb or gdb to say anything reasonable >>> either. ktrace shows nothing out of the ordinary. >>> >>> ----- >>> >>> Meanwhile, my Mac got through "do-cm3-std.sh realclean" and >>> "do-cm3-std.sh buildship" but my compiles are still dying on the >>> same assertion tickled by ktok. On that machine I have INSTALLROOT >>> set to ~/cm3, but hopefully that has nothing to do with it... >>> >>> ----- >>> >>> Does do-cm3-std.sh realclean clean EVERYTHING? If so my Mac should >>> really have a fresh setup. The FreeBSD, I am not sure, maybe the >>> old binary version just doesn't work right? Of course I could try >>> bootstrapping with PM3 as well... but really, there's an "approved" >>> process to get from a blank system, no? >>> >>> Mika >>> >>> >>> >>> >>> Tony Hosking writes: >>>> That sounds like you forgot to execute "do-cm3-std.sh realclean" >>>> before initiating the build. These sorts of errors sometimes arise >>>> if there are old build directories lying around. >>>> >>>> >>>> On Jun 23, 2007, at 3:34 AM, Mika Nystrom wrote: >>>> >>>>> Hello everyone, >>>>> >>>>> I am in the process of trying to consolidate build systems for a >>>>> few software packages I am maintaining. Currently, I am using an >>>>> old PM3 on FreeBSD4, an ancient PM3 (from Klagenfurt?) for Windows >>>>> (NT386GNU), and trying to get the latest CM3 from cvs up and >>>>> compiling >>>>> things on PPC_DARWIN. Ideally, I'd like to standardize everything >>>>> on the new PM3---mainly so that I can use pickles (and Network >>>>> Objects) across all three systems. I'd also like to add Linux to >>>>> the mix. >>>>> >>>>> It's natural for me to start with CM3 on Darwin, as there's no >>>>> alternative. But I am getting some assertions failing. >>>>> Everything >>>>> in the CM3 distribution compiles fine, and I believe I have >>>>> compiled >>>>> the libraries a few times (that is, including with themselves), >>>>> and >>>>> updated the compiler, too (using boot-cm3-with-m3.sh). I just cvs >>>>> updated tonight. >>>>> >>>>> Here's what I'm running into: >>>>> >>>>> /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/CHP.t -o >>>>> CHPTok.i3 >>>>> >>>>> >>>>> *** >>>>> *** runtime error: >>>>> *** <*ASSERT*> failed. >>>>> *** file "../src/runtime/common/RTCollector.m3", line 2314 >>>>> *** >>>>> >>>>> Abort >>>>> >>>>> Also: >>>>> >>>>> /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/PRS.t -o >>>>> PRSTok.i3 >>>>> Illegal instruction >>>>> >>>>> As you can see, these things are coming from the >>>>> caltech_parser. I >>>> am using >>>>> our local version, but I don't think it is very different from >>>>> what >>>>> is in the >>>>> CM3 tree. >>>>> >>>>> >>>>> Examining the first error (the failed assertion) more closely, >>>>> I see >>>>> the following: >>>>> >>>>> (gdb) list >>>>> 108 wr := FileWr.Open(Pathname.ReplaceExt(tp.out, "m3")); >>>>> 109 EXCEPT OSError.E => >>>>> 110 Debug.Error("Cannot open tok implementation output >>>>> file: " & >>>>> 111 Pathname.ReplaceExt(tp.out, "m3")); >>>>> 112 END; >>>>> 113 Wr.PutText(wr, subs.apply(Bundle.Get(Form, >>>>> "tokform.m3"))); >>>>> 114 Wr.Close(wr); >>>>> 115 END Main. >>>>> (gdb) where >>>>> #0 0x9004308c in kill () >>>>> #1 0x9009fb3c in abort () >>>>> #2 0x00096f50 in RTOS__Crash () at RTOS.m3:20 >>>>> #3 0x0005bd40 in RTProcess__Crash (M3_Bd56fi_msg=0x0) at >>>>> RTProcess.m3:65 >>>>> #4 0x0008e4e0 in RTError__EndError (M3_AicXUJ_crash=1 '\001') at >>>>> RTError.m3:115 >>>>> #5 0x0008e08c in RTError__MsgS (M3_AJWxb1_file=0xc63d8, >>>>> M3_AcxOUs_line=2314, M3_Bd56fi_msgA=0xca3d0, >>>>> M3_Bd56fi_msgB=0xcbe90, M3_Bd56fi_msgC=0xca3d0) at RTError.m3:40 >>>>> #6 0x0008eb88 in RTException__Crash (M3_Cblw37_a=0xbfffee00, >>>>> M3_AicXUJ_raises=0 '\0', M3_AJWxb1_rte=0xcb538) at >>>>> RTException.m3:79 >>>>> #7 0x0008e74c in RTException__DefaultBackstop >>>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>>> RTException.m3:39 >>>>> #8 0x0008e614 in RTException__InvokeBackstop >>>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>>> RTException.m3:25 >>>>> #9 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at >>>>> RTExFrame.m3:29 >>>>> #10 0x0008e840 in RTException__DefaultBackstop >>>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>>> RTException.m3:47 >>>>> #11 0x0008e614 in RTException__InvokeBackstop >>>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>>> RTException.m3:25 >>>>> #12 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at >>>>> RTExFrame.m3:29 >>>>> #13 0x00079740 in RTHooks__ReportFault (M3_AJWxb1_module=0xb3eb8, >>>>> M3_AcxOUs_info=74048) at RTHooks.m3:110 >>>>> #14 0x0006ff4c in _m3_fault (M3_AcxOUs_arg=74048) >>>>> #15 0x0006bcf4 in RTHooks__CheckStoreTraced >>>>> (M3_Af40ku_ref=0xb2415c) at RTCollector.m3:2314 >>>>> #16 0x000700e4 in ThreadPThread__InnerLockMutex >>>>> (M3_AYIbX3_m=0xb2415c, M3_BXP32l_self=0xb24014) at >>>>> ThreadPThread.m3:126 >>>>> #17 0x000704d8 in ThreadPThread__LockMutex (M3_AYIbX3_m=0xb2415c) >>>>> at ThreadPThread.m3:153 >>>>> #18 0x00019b24 in Wr__PutText (M3_BxxOH1_wr=0xb2415c, >>>>> M3_Bd56fi_t=0xb44d5c) at Wr.m3:93 >>>>> #19 0x00003f74 in Main_M3 (M3_AcxOUs_mode=1) at Main.m3:113 >>>>> #20 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at >>>>> RTLinker.m3:399 >>>>> #21 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at >>>>> RTLinker.m3:113 >>>>> #22 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at >>>>> RTLinker.m3:122 >>>>> #23 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) >>>>> at _m3main.mc:4 >>>>> (gdb) >>>>> >>>>> The second error: >>>>> >>>>> Program received signal EXC_BAD_INSTRUCTION, Illegal instruction/ >>>>> operand. >>>>> 0x00b111ac in ?? () >>>>> (gdb) where >>>>> #0 0x00b111ac in ?? () >>>>> #1 0x0001214c in TextSubs__Apply (M3_CN69dV_self=0xb26450, >>>>> M3_Bd56fi_src=0xb21cec) at TextSubs.m3:63 >>>>> #2 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at >>>>> RTLinker.m3:399 >>>>> #3 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at >>>>> RTLinker.m3:113 >>>>> #4 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at >>>>> RTLinker.m3:122 >>>>> #5 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) >>>>> at _m3main.mc:4 >>>>> (gdb) list >>>>> 58 BEGIN >>>>> 59 WHILE pos < textLen DO >>>>> 60 c := Text.GetChar(src, pos); >>>>> 61 IF c IN self.starts THEN >>>>> 62 (* S("analysing: " & Text.Sub(src, pos), >>>>> DebugLevel); *) >>>>> 63 iter := self.tbl.iterateOrdered(); >>>>> 64 ind := pos; >>>>> 65 original := ""; >>>>> 66 REPEAT >>>>> 67 INC(ind); >>>>> (gdb) >>>>> >>>>> Any ideas what to look at? >>>>> >>>>> I don't know if this is relevant: >>>>> >>>>> [lapdog:~/t/cit_parse/PPC_DARWIN] mika% uname -a >>>>> Darwin lapdog.local 7.9.0 Darwin Kernel Version 7.9.0: Wed Mar 30 >>>>> 20:11:17 PST 2005; root:xnu/xnu-517.12.7.obj~1/RELEASE_PPC Power >>>>> Macintosh powerpc >>>>> [lapdog:~/t/cit_parse/PPC_DARWIN] mika% gcc -v >>>>> Reading specs from /usr/libexec/gcc/darwin/ppc/3.3/specs >>>>> Thread model: posix >>>>> gcc version 3.3 20030304 (Apple Computer, Inc. build 1666) >>>>> >>>>> Mika >>>>> >>>>> P.S. Am I correct in assuming that I can get CM3 to build on >>>>> Windows? >>>>> I could switch to CM3 on Unix any time, of course, but I've never >>>>> had luck with it on Windows, which is why I am using the ancient >>>>> Klagenfurt PM3, which comes on 40-odd "floppies" and a .EXE that >>>>> unpacks them into C: (and installation instructions only in >>>>> German). >>>>> If CM3 doesn't work on Windows, I am essentially wasting my time, >>>>> as the current project I am working on absolutely requires that >>>>> the >>>>> software run on Windows 2003 Server (yes, it sucks, but what can >>>>> you do?) The very old PM3 at least kind of hobbles along on this >>>>> platform---actually, better than that; it does Trestle natively >>>>> under Windows (no X required), at least on SOME Windows machines. >>>>> >>>>> P.P.S. Sorry for all the postscripts, but is it true that the >>>>> build system has been changed so that building with overrides >>>>> (cm3 -x) >>>>> requires having the compiler sources available? It didn't use to >>>>> be that way, but I can't get Network Objects to work with >>>>> overrides >>>>> now unless I have the sources available... It's a bit of a pain >>>>> because it means that every user has to have the compiler sources, >>>>> or else ship everything, or was that not the intention? From hosking at cs.purdue.edu Tue Jun 26 17:55:06 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Tue, 26 Jun 2007 11:55:06 -0400 Subject: [M3devel] dynamic loading - few angles In-Reply-To: <1182846474.9643.34.camel@faramir.m3w.org> References: <1182846474.9643.34.camel@faramir.m3w.org> Message-ID: <263FF7C3-6DBD-40A9-9884-8A5379710E14@cs.purdue.edu> I'm curious about your tweak to RTHeapMap. Can you e-mail the patch? On Jun 26, 2007, at 4:27 AM, Dragi?a Duri? wrote: > In CM3 documentation "support for dynamic loading" is mentioned... I > would like to know if anyone used these abilities? > > I've had success loading and using sets of modules packaged as .so, > after little tweak to RTHeapMap. I will either post that patch > here, or > import to CVS, if there's interest. > > But... During that, and right now... I am thinking about whole > Modula-3 > program being .so - so we can make extensions to Apache, or > PostgreSQL, > or whatever other program can be extended in such a way. > > It really (IMnsHO) is no big problem, except _m3main.ms must be > generated differently, and maybe some cleanup code added/linked to > "master" runtime. Maybe something more? As I never looked in code > generation, is there someone who can do this for CM3? > > dd > > -- > Dragi?a Duri? From hosking at cs.purdue.edu Thu Jun 28 16:53:25 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Thu, 28 Jun 2007 10:53:25 -0400 Subject: [M3devel] strange errors... In-Reply-To: <200706251905.l5PJ5wgF029978@camembert.async.caltech.edu> References: <200706251905.l5PJ5wgF029978@camembert.async.caltech.edu> Message-ID: I've just checked in a fix to ThreadPosix.m3 that eliminates your problem with user-level threads. I have tested this on I386_DARWIN and it appears to be working just fine now. Please try again with the updated ThreadPosix.m3. On Jun 25, 2007, at 3:05 PM, Mika Nystrom wrote: > Indeed, -g was one of the culprits. I changed it to -gstabs+ and > got a bit further... (please scroll down to STEP 2, sorry) > > Tony Hosking writes: >> Sounds like we really need some work done in this area. I very >> rarely use the build scripts, since I bootstrap manually from old >> compilers to new compilers rather than use the scripts. I suggest >> the following approach, which I hope you will try, and then report >> back on. >> >> Install the bootstrap compiler as you did originally: >> >>> rm -rf /usr/local/cm3/* >>> >>> cd ~/cm3-cvs >>> mkdir boot >>> cd boot >>> tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz >>> ./cminstall >> >> Now you will have some kind of cm3 installed, presumably in /usr/ >> local/cm3/bin/cm3. >> >> Make sure you have a fresh CVS checkout in directory cm3 (let's >> assume this is in your home directory ~/cm3). Also, make sure you >> have an up-to-date version of the CM3 backend compiler cm3cg >> installed by executing the following: >> >> STEP 0: >> >> export CM3=/usr/local/cm3/bin/cm3 >> cd ~/cm3/m3-sys/m3cc >> $CM3 >> $CM3 -ship >> >> You can skip this last step if you know your backend compiler is up >> to date. >> >> Now, let's build the new compiler from scratch (this is the sequence >> I use regularly to test changes to the run-time system whenever I >> make them): >> >> STEP 1: >> >> cd ~/cm3/m3-libs/m3core >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-libs/libm3 >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-sys/m3middle >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-sys/m3linker >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-sys/m3front >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-sys/m3quake >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-sys/cm3 >> $CM3 >> $CM3 -ship >> >> At this point you should have a bootstrapped version of cm3 installed >> in the directory /usr/local/cm3/pkg/cm3/TARGET/cm3 (where TARGET is >> the CM3 target platform you are building on -- e.g., LINUXLIBC6, >> PPC_DARWIN, ...). Note that this did not overwrite your original >> installed compiler in /usr/local/cm3/bin/cm3. We >> are now going to test the new compiler, which was built using the old >> compiler, by bootstrapping it one more time. >> >> From here on out, please replace TARGET with your target platform as >> appropriate. >> >> STEP 2: >> >> export CM3=/usr/local/cm3/pkg/cm3/TARGET/cm3 >> cd ~/cm3/scripts >> ./do-cm3-std.sh realclean >> REPEAT STEP 1 to rebuild the libraries and the compiler using the >> STEP 1 bootstrap compiler. >> >> Now you have a STEP 2 bootstrap compiler installed in /usr/local/cm3/ >> pkg/cm3/TARGET/cm3. Let's assume the new compiler now works properly >> since it successfully bootstrapped itself, but to be sure we can now >> use it to rebuild the world: > > Ok, I got this far. I built the step 1 (m3core...cm3), set my > compiler to the newly-built compiler, and rebuilt (m3core...cm3). > No errors anywhere, beautiful. > >> >> cd ~/cm3/scripts >> ./do-cm3-std.sh realclean >> ./do-cm3-std.sh buildship > > Here's where it dies: > > ./do-cm3-std.sh buildship > CM3C = > /big/home2/mika/2/cm3-cvs/fresh/cm3/scripts/pkgmap.sh -c "/usr/ > local/cm3/pkg/cm3/FreeBSD4/cm3 -build -DROOT='/big/home2/mika/2/ > cm3-cvs/fresh/cm3' && /usr/local/cm3/pkg/cm3/FreeBSD4/cm3 -ship - > DROOT='/big/home2/mika/2/cm3-cvs/fresh/cm3' " m3core libm3 > patternmatching m3middle m3quake m3scanner m3tools m3cgcat m3cggen > m3gdb m3bundle arithmetic bitvector digraph parseparams > realgeometry set slisp sortedtableextras table-list tempfiles tcp > udp libsio libbuf debug listfuncs embutils m3tk-misc http binIO > commandrw m3tk mtex m3totex m3tohtml m3scan m3markup m3browser > cmpdir cmpfp dirfp uniq netobj netobjd stubgen events rdwr > sharedobj sharedobjgen odbc postgres95 db smalldb stable stablegen > X11R4 ui PEX vbtkit cmvbt jvideo videovbt web formsvbtpixmaps > formsvbt formsview formsedit codeview mg mgkit opengl anim3D zeus > m3zume synloc synex metasyn obliqrt obliqparse obliqprint obliq > obliqlibemb obliqlibm3 obliqlibui obliqlibanim obliqsrvstd > obliqsrvui obliqbinmin obliqbinstd obliqbin! > ui obliqbinanim visualobliq vocgi voquery vorun webvbt recordheap > rehearsecode replayheap showheap shownew showthread pkl-fonts juno- > machine juno-compiler juno-app cube calculator fisheye mentor > === package /big/home2/mika/2/cm3-cvs/fresh/cm3/m3-libs/m3core === > +++ /usr/local/cm3/pkg/cm3/FreeBSD4/cm3 -build -DROOT='/big/home2/ > mika/2/cm3-cvs/fresh/cm3' && /usr/local/cm3/pkg/cm3/FreeBSD4/cm3 - > ship -DROOT='/big/home2/mika/2/cm3-cvs/fresh/cm3' +++ > > > *** > *** runtime error: > *** <*ASSERT*> failed. > *** file "../src/runtime/common/RTCollector.m3", line 690 > *** > > > > *** > *** runtime error: > *** <*ASSERT*> failed. > *** file "../src/runtime/common/RTCollector.m3", line 690 > *** > > Abort trap > *** execution of failed *** > > This time it appears to be cm3 itself that's crashing: > > (310)rover:~/cm3-cvs/fresh/cm3/m3-libs/m3core>$CM3 -keep -commands > > > *** > *** runtime error: > *** <*ASSERT*> failed. > *** file "../src/runtime/common/RTCollector.m3", line 690 > *** > > > > *** > *** runtime error: > *** <*ASSERT*> failed. > *** file "../src/runtime/common/RTCollector.m3", line 690 > *** > > Abort > > What follows is what m3gdb has to say about this. I take it that > the last error message comes from my -gstabs+ option. m3gdb doesn't > like this new binary: it can't print variables and sometimes crashes > trying. Would I have better luck with "-gstabs", do you think? Or > do I just need to fix the compile process and install a new m3gdb? > (I take it there is a newer one: mine is very old. But I remember > that m3gdb doesn't always work that well...) > > Mika > > #1 16_81a619d in __raise () > #2 16_81a3b8f in abort () > #3 16_8178d16 in RTOS.Crash () at RTOS.m3:20 > #4 16_8171fd2 in RTProcess.Crash (msg=NIL) at RTProcess.m3:65 > #5 16_8170428 in RTError.EndError (crash=TRUE) at RTError.m3:115 > #6 16_8170169 in RTError.MsgS (file=16_820a508, line=690, > msgA=16_820bfe8, msgB=16_8208170, msgC=16_820bfe8) at RTError.m3:40 > #7 16_81707ec in RTException.Crash (a=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; > END, raises=FALSE, rte=16_8208020) at RTException.m3:79 > #8 16_8170550 in RTException.DefaultBackstop (a=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; > un_arg = NIL; END, raises=FALSE) at RTException.m3:39 > #9 16_81704b4 in RTException.InvokeBackstop (a=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; > un_arg = NIL; END, raises=FALSE) at RTException.m3:25 > #10 16_8179ca7 in RTException.Raise (act=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; > END) at RTExFrame.m3:29 > #11 16_81705f0 in RTException.DefaultBackstop (a=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; > un_arg = NIL; END, raises=FALSE) at RTException.m3:47 > #12 16_81704b4 in RTException.InvokeBackstop (a=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; > un_arg = NIL; END, raises=FALSE) at RTException.m3:25 > #13 16_8179ca7 in RTException.Raise (act=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; > END) at RTExFrame.m3:29 > #14 16_8160bba in RTHooks.ReportFault (module=16_820a680, > info=22080) at RTHooks.m3:110 > #15 16_816e251 in _m3_fault (arg=22080) at RTCollector.m3:0 > #16 16_81649b7 in RTCollector.CollectorOn () at RTCollector.m3:690 > #17 16_816b595 in RTHooks.CheckLoadTracedRef (ref=16_681b3300) at > RTCollector.m3:2296 > #18 16_814400c in Stdio.ShutDown () at Stdio.m3:43 > #19 16_8171f51 in RTProcess.InvokeExitors () at RTProcess.m3:40 > #20 16_8171fc5 in RTProcess.Crash (msg=NIL) at RTProcess.m3:61 > #21 16_8170428 in RTError.EndError (crash=TRUE) at RTError.m3:115 > #22 16_8170169 in RTError.MsgS (file=16_820a508, line=690, > msgA=16_820bfe8, msgB=16_8208170, msgC=16_820bfe8) at RTError.m3:40 > #23 16_81707ec in RTException.Crash (a=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; > END, raises=FALSE, rte=16_8208020) at RTException.m3:79 > #24 16_8170550 in RTException.DefaultBackstop (a=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; > un_arg = NIL; END, raises=FALSE) at RTException.m3:39 > #25 16_81704b4 in RTException.InvokeBackstop (a=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; > un_arg = NIL; END, raises=FALSE) at RTException.m3:25 > #26 16_8179ca7 in RTException.Raise (act=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; > END) at RTExFrame.m3:29 > #27 16_81705f0 in RTException.DefaultBackstop (a=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; > un_arg = NIL; END, raises=FALSE) at RTException.m3:47 > #28 16_81704b4 in RTException.InvokeBackstop (a=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; > un_arg = NIL; END, raises=FALSE) at RTException.m3:25 > #29 16_8179ca7 in RTException.Raise (act=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; > END) at RTExFrame.m3:29 > #30 16_8160bba in RTHooks.ReportFault (module=16_820a680, > info=22080) at RTHooks.m3:110 > #31 16_816e251 in _m3_fault (arg=22080) at RTCollector.m3:0 > #32 16_81649b7 in RTCollector.CollectorOn () at RTCollector.m3:690 > #33 16_816b595 in RTHooks.CheckLoadTracedRef (ref=16_681b3004) at > RTCollector.m3:2296 > #34 16_817c41e in ThreadF.ProcessStacks (p=16_816415e) at > ThreadPosix.m3:522 > #35 16_8165213 in RTCollector.CollectSomeInStateZero () at > RTCollector.m3:845 > #36 16_8164d2c in RTCollector.CollectSome () at RTCollector.m3:741 > #37 16_816487b in RTCollector.CollectEnough () at RTCollector.m3:659 > #38 16_81673cd in RTHeapRep.AllocTraced (def=16_81f8f38, > dataSize=8200, dataAlignment=4, initProc=16_bfbfe0f4, pool=RECORD > desc = RECORD space = Current; generation = Younger; pure = FALSE; > note = Allocated; gray = FALSE; clean = FALSE; continued = > FALSE; link = 0; END; notAfter = {Copied}; page = 0; stack = 0; > next = NIL; limit = NIL; busy = FALSE; END) > at RTCollector.m3:1417 > #39 16_816218e in RTAllocator.GetOpenArray (def=16_81f8f38, s= > [2048]) at RTAllocator.m3:308 > #40 16_8161737 in RTHooks.AllocateOpenArray (defn=16_81f8f38, s= > [2048]) at RTAllocator.m3:156 > #41 16_8129d56 in M3ID_M3 (mode=1) at M3ID.m3:40 > #42 16_816f802 in RTLinker.RunMainBody (m=16_81f8cc0) at > RTLinker.m3:399 > #43 16_816f6ca in RTLinker.RunMainBody (m=16_81c0880) at > RTLinker.m3:379 > #44 16_816f6ca in RTLinker.RunMainBody (m=16_81c06a0) at > RTLinker.m3:379 > #45 16_816f6ca in RTLinker.RunMainBody (m=16_81bc920) at > RTLinker.m3:379 > #46 16_816ed2d in RTLinker.AddUnitI (m=16_81bc920) at RTLinker.m3:113 > #47 16_816edb4 in RTLinker.AddUnit (b=16_8065527) at RTLinker.m3:122 > module "_m3main": missing debug info for global data > > (gdb) up 32 > #32 16_81649b7 in RTCollector.CollectorOn () at RTCollector.m3:690 > RTCollector.m3:690: No such file or directory. > (gdb) > Suspended > (360)rover:~/cm3-cvs/fresh/cm3/m3-libs/m3core>find ../.. -name > RTCollector.m3 > ../../m3-libs/m3core/src/runtime/common/RTCollector.m3 > (361)rover:~/cm3-cvs/fresh/cm3/m3-libs/m3core>fg > m3gdb /usr/local/cm3/pkg/cm3/FreeBSD4/cm3 > (gdb) dir ../../m3-libs/m3core/src/runtime/common/ > Source directories searched: /big/home2/mika/2/cm3-cvs/fresh/cm3/m3- > libs/m3core/../../m3-libs/m3core/src/runtime/common:$cdir:$cwd > (gdb) list > 685 VAR timeOnEntry, timeOnExit: Time.T; (* time of > collector entry/exit *) > 686 > 687 PROCEDURE CollectorOn () = > 688 (* LL >= RTOS.LockHeap *) > 689 BEGIN > 690 <* ASSERT NOT collectorOn *> > 691 collectorOn := TRUE; > 692 > 693 IF incremental AND NOT RTLinker.incremental > 694 OR generational AND NOT RTLinker.generational THEN > (gdb) print collectorOn > can't find identifier: collectorOn > (gdb) up > #33 16_816b595 in RTHooks.CheckLoadTracedRef (ref=16_681b3004) at > RTCollector.m3:2296 > 2296 CollectorOn(); > (gdb) print collectorOn > can't find identifier: collectorOn > (gdb) print ref > Segmentation fault > > > > >> >> Assuming this succeeded then we can be pretty sure /usr/local/cm3/ >> pkg/ >> cm3/TARGET/cm3 is good, so we can make it our default compiler by >> replacing the original /usr/local/cm3/bin/cm3: >> >> cp $CM3 /usr/local/cm3/bin/cm3 >> >> On Jun 23, 2007, at 2:38 PM, Mika Nystrom wrote: >> >>> Ok, I'm sorry if I seem a bit dimwitted in the morning like this, >>> but how exactly does one get started? I wish there were a file >>> called >>> "GETTING_STARTED" or something like that in scripts... >>> >>> My Mac is very slow so I switched to my FreeBSD/i386 system >>> (which has >>> PM3 happily installed on it) and tried to install CM3 from scratch. >>> Here are the exact commands I typed. >>> >>> >>> rm -rf /usr/local/cm3/* >>> >>> cd ~/cm3-cvs >>> mkdir boot >>> cd boot >>> tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz >>> ./cminstall >>> >>> # now I seem to have some kind of cm3 installed, /usr/local/cm3/bin/ >>> cm3 >>> >>> cd cm3 # location of my CM3 checkout >>> cvs update -d . >>> >>> cd scripts >>> ./boot-cm3-with-m3.sh realclean >>> ./do-cm3-std.sh realclean >>> >>> ./upgrade.sh # fails here, libm3 not compiled >>> ./boot-cm3-with-m3.sh build # builds cm3, but fails on >>> cminstall, patternmatching not built >>> >>> ./do-cm3-std.sh build # OK >>> ./do-cm3-std.sh buildship # OK >>> >>> ./boot-cm3-with-m3.sh realclean # start over >>> ./boot-cm3-with-m3.sh build # OK >>> ./boot-cm3-with-m3.sh buildship # OK >>> >>> ./do-cm3-std.sh realclean # OK >>> ./do-cm3-std.sh build # dies miserably... maybe the >>> compiler can't handle the new libraries? >>> >>> ./install-cm3-compiler.sh upgrade # OK, new cm3 binary installed >>> >>> After all that, "game over." I have a cm3 that segfaults. >>> >>> Text.i3: In function 'Text_I3': >>> Text.i3:81: internal compiler error: Segmentation fault >>> Please submit a full bug report, >>> with preprocessed source if appropriate. >>> See for instructions. >>> compilation failed => not building library "libm3core.a" >>> Fatal Error: package build failed >>> *** execution of failed *** >>> >>> I can't seem to get either m3gdb or gdb to say anything reasonable >>> either. ktrace shows nothing out of the ordinary. >>> >>> ----- >>> >>> Meanwhile, my Mac got through "do-cm3-std.sh realclean" and >>> "do-cm3-std.sh buildship" but my compiles are still dying on the >>> same assertion tickled by ktok. On that machine I have INSTALLROOT >>> set to ~/cm3, but hopefully that has nothing to do with it... >>> >>> ----- >>> >>> Does do-cm3-std.sh realclean clean EVERYTHING? If so my Mac should >>> really have a fresh setup. The FreeBSD, I am not sure, maybe the >>> old binary version just doesn't work right? Of course I could try >>> bootstrapping with PM3 as well... but really, there's an "approved" >>> process to get from a blank system, no? >>> >>> Mika >>> >>> >>> >>> >>> Tony Hosking writes: >>>> That sounds like you forgot to execute "do-cm3-std.sh realclean" >>>> before initiating the build. These sorts of errors sometimes arise >>>> if there are old build directories lying around. >>>> >>>> >>>> On Jun 23, 2007, at 3:34 AM, Mika Nystrom wrote: >>>> >>>>> Hello everyone, >>>>> >>>>> I am in the process of trying to consolidate build systems for a >>>>> few software packages I am maintaining. Currently, I am using an >>>>> old PM3 on FreeBSD4, an ancient PM3 (from Klagenfurt?) for Windows >>>>> (NT386GNU), and trying to get the latest CM3 from cvs up and >>>>> compiling >>>>> things on PPC_DARWIN. Ideally, I'd like to standardize everything >>>>> on the new PM3---mainly so that I can use pickles (and Network >>>>> Objects) across all three systems. I'd also like to add Linux to >>>>> the mix. >>>>> >>>>> It's natural for me to start with CM3 on Darwin, as there's no >>>>> alternative. But I am getting some assertions failing. >>>>> Everything >>>>> in the CM3 distribution compiles fine, and I believe I have >>>>> compiled >>>>> the libraries a few times (that is, including with themselves), >>>>> and >>>>> updated the compiler, too (using boot-cm3-with-m3.sh). I just cvs >>>>> updated tonight. >>>>> >>>>> Here's what I'm running into: >>>>> >>>>> /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/CHP.t -o >>>>> CHPTok.i3 >>>>> >>>>> >>>>> *** >>>>> *** runtime error: >>>>> *** <*ASSERT*> failed. >>>>> *** file "../src/runtime/common/RTCollector.m3", line 2314 >>>>> *** >>>>> >>>>> Abort >>>>> >>>>> Also: >>>>> >>>>> /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/PRS.t -o >>>>> PRSTok.i3 >>>>> Illegal instruction >>>>> >>>>> As you can see, these things are coming from the >>>>> caltech_parser. I >>>> am using >>>>> our local version, but I don't think it is very different from >>>>> what >>>>> is in the >>>>> CM3 tree. >>>>> >>>>> >>>>> Examining the first error (the failed assertion) more closely, >>>>> I see >>>>> the following: >>>>> >>>>> (gdb) list >>>>> 108 wr := FileWr.Open(Pathname.ReplaceExt(tp.out, "m3")); >>>>> 109 EXCEPT OSError.E => >>>>> 110 Debug.Error("Cannot open tok implementation output >>>>> file: " & >>>>> 111 Pathname.ReplaceExt(tp.out, "m3")); >>>>> 112 END; >>>>> 113 Wr.PutText(wr, subs.apply(Bundle.Get(Form, >>>>> "tokform.m3"))); >>>>> 114 Wr.Close(wr); >>>>> 115 END Main. >>>>> (gdb) where >>>>> #0 0x9004308c in kill () >>>>> #1 0x9009fb3c in abort () >>>>> #2 0x00096f50 in RTOS__Crash () at RTOS.m3:20 >>>>> #3 0x0005bd40 in RTProcess__Crash (M3_Bd56fi_msg=0x0) at >>>>> RTProcess.m3:65 >>>>> #4 0x0008e4e0 in RTError__EndError (M3_AicXUJ_crash=1 '\001') at >>>>> RTError.m3:115 >>>>> #5 0x0008e08c in RTError__MsgS (M3_AJWxb1_file=0xc63d8, >>>>> M3_AcxOUs_line=2314, M3_Bd56fi_msgA=0xca3d0, >>>>> M3_Bd56fi_msgB=0xcbe90, M3_Bd56fi_msgC=0xca3d0) at RTError.m3:40 >>>>> #6 0x0008eb88 in RTException__Crash (M3_Cblw37_a=0xbfffee00, >>>>> M3_AicXUJ_raises=0 '\0', M3_AJWxb1_rte=0xcb538) at >>>>> RTException.m3:79 >>>>> #7 0x0008e74c in RTException__DefaultBackstop >>>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>>> RTException.m3:39 >>>>> #8 0x0008e614 in RTException__InvokeBackstop >>>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>>> RTException.m3:25 >>>>> #9 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at >>>>> RTExFrame.m3:29 >>>>> #10 0x0008e840 in RTException__DefaultBackstop >>>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>>> RTException.m3:47 >>>>> #11 0x0008e614 in RTException__InvokeBackstop >>>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>>> RTException.m3:25 >>>>> #12 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at >>>>> RTExFrame.m3:29 >>>>> #13 0x00079740 in RTHooks__ReportFault (M3_AJWxb1_module=0xb3eb8, >>>>> M3_AcxOUs_info=74048) at RTHooks.m3:110 >>>>> #14 0x0006ff4c in _m3_fault (M3_AcxOUs_arg=74048) >>>>> #15 0x0006bcf4 in RTHooks__CheckStoreTraced >>>>> (M3_Af40ku_ref=0xb2415c) at RTCollector.m3:2314 >>>>> #16 0x000700e4 in ThreadPThread__InnerLockMutex >>>>> (M3_AYIbX3_m=0xb2415c, M3_BXP32l_self=0xb24014) at >>>>> ThreadPThread.m3:126 >>>>> #17 0x000704d8 in ThreadPThread__LockMutex (M3_AYIbX3_m=0xb2415c) >>>>> at ThreadPThread.m3:153 >>>>> #18 0x00019b24 in Wr__PutText (M3_BxxOH1_wr=0xb2415c, >>>>> M3_Bd56fi_t=0xb44d5c) at Wr.m3:93 >>>>> #19 0x00003f74 in Main_M3 (M3_AcxOUs_mode=1) at Main.m3:113 >>>>> #20 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at >>>>> RTLinker.m3:399 >>>>> #21 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at >>>>> RTLinker.m3:113 >>>>> #22 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at >>>>> RTLinker.m3:122 >>>>> #23 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) >>>>> at _m3main.mc:4 >>>>> (gdb) >>>>> >>>>> The second error: >>>>> >>>>> Program received signal EXC_BAD_INSTRUCTION, Illegal instruction/ >>>>> operand. >>>>> 0x00b111ac in ?? () >>>>> (gdb) where >>>>> #0 0x00b111ac in ?? () >>>>> #1 0x0001214c in TextSubs__Apply (M3_CN69dV_self=0xb26450, >>>>> M3_Bd56fi_src=0xb21cec) at TextSubs.m3:63 >>>>> #2 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at >>>>> RTLinker.m3:399 >>>>> #3 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at >>>>> RTLinker.m3:113 >>>>> #4 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at >>>>> RTLinker.m3:122 >>>>> #5 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) >>>>> at _m3main.mc:4 >>>>> (gdb) list >>>>> 58 BEGIN >>>>> 59 WHILE pos < textLen DO >>>>> 60 c := Text.GetChar(src, pos); >>>>> 61 IF c IN self.starts THEN >>>>> 62 (* S("analysing: " & Text.Sub(src, pos), >>>>> DebugLevel); *) >>>>> 63 iter := self.tbl.iterateOrdered(); >>>>> 64 ind := pos; >>>>> 65 original := ""; >>>>> 66 REPEAT >>>>> 67 INC(ind); >>>>> (gdb) >>>>> >>>>> Any ideas what to look at? >>>>> >>>>> I don't know if this is relevant: >>>>> >>>>> [lapdog:~/t/cit_parse/PPC_DARWIN] mika% uname -a >>>>> Darwin lapdog.local 7.9.0 Darwin Kernel Version 7.9.0: Wed Mar 30 >>>>> 20:11:17 PST 2005; root:xnu/xnu-517.12.7.obj~1/RELEASE_PPC Power >>>>> Macintosh powerpc >>>>> [lapdog:~/t/cit_parse/PPC_DARWIN] mika% gcc -v >>>>> Reading specs from /usr/libexec/gcc/darwin/ppc/3.3/specs >>>>> Thread model: posix >>>>> gcc version 3.3 20030304 (Apple Computer, Inc. build 1666) >>>>> >>>>> Mika >>>>> >>>>> P.S. Am I correct in assuming that I can get CM3 to build on >>>>> Windows? >>>>> I could switch to CM3 on Unix any time, of course, but I've never >>>>> had luck with it on Windows, which is why I am using the ancient >>>>> Klagenfurt PM3, which comes on 40-odd "floppies" and a .EXE that >>>>> unpacks them into C: (and installation instructions only in >>>>> German). >>>>> If CM3 doesn't work on Windows, I am essentially wasting my time, >>>>> as the current project I am working on absolutely requires that >>>>> the >>>>> software run on Windows 2003 Server (yes, it sucks, but what can >>>>> you do?) The very old PM3 at least kind of hobbles along on this >>>>> platform---actually, better than that; it does Trestle natively >>>>> under Windows (no X required), at least on SOME Windows machines. >>>>> >>>>> P.P.S. Sorry for all the postscripts, but is it true that the >>>>> build system has been changed so that building with overrides >>>>> (cm3 -x) >>>>> requires having the compiler sources available? It didn't use to >>>>> be that way, but I can't get Network Objects to work with >>>>> overrides >>>>> now unless I have the sources available... It's a bit of a pain >>>>> because it means that every user has to have the compiler sources, >>>>> or else ship everything, or was that not the intention? From dabenavidesd at yahoo.es Fri Jun 29 17:31:21 2007 From: dabenavidesd at yahoo.es (Daniel Alejandro Benavides D.) Date: Fri, 29 Jun 2007 17:31:21 +0200 (CEST) Subject: [M3devel] LINUXLIBC6 problem Message-ID: <509060.60875.qm@web27114.mail.ukl.yahoo.com> Hi: Trying to compile the last updated sources from cvs repository, I get this with do-cm3.std.sh buildship, I have done the do-cm3-std.sh realclean before: -> archiving libm3tools.a --- shipping from LINUXLIBC6 --- . => /usr/local/cm3-cvs/pkg/m3tools/LINUXLIBC6 .M3EXPORTS libm3tools.a libm3tools.m3x .M3WEB ../src => /usr/local/cm3-cvs/pkg/m3tools/src M3Lexer.i3 M3Lexer.m3 M3AST.i3 M3AST.m3 M3Parse.m3 M3Scope.i3 M3Scope.m3 M3Type.i3 M3Type.m3 M3Const.m3 M3Const.i3 M3SetVal.i3 M3SetVal.m3 M3RecVal.i3 M3RecVal.m3 M3ArrVal.i3 M3ArrVal.m3 M3Builtin.i3 M3Builtin.m3 ==> /home/danielb/cm3-cvs/cm3/m3-sys/m3tools done === package /home/danielb/cm3-cvs/cm3/m3-sys/m3cgcat === +++ /usr/local/cm3-cvs/bin/cm3 -build -DROOT='/home/danielb/cm3-cvs/cm3' && /usr/local/cm3-cvs/bin/cm3 -ship -DROOT='/home/danielb/cm3-cvs/cm3' +++ --- building in LINUXLIBC6 --- ignoring ../src/m3overrides new source -> compiling Main.m3 -> linking m3cgcat /usr/local/cm3-cvs/pkg/libm3/LINUXLIBC6/libm3.a(FSPosix.mo): In function `FS__SetModificationTime':FSPosix.m3:345: undefined reference to `__wrap_utimes' collect2: ld returned 1 exit status Fatal Error: package build failed *** execution of failed *** danielb at danielb-desktop:~/cm3-cvs/cm3/scripts$ Thanks ____________________________________________________________________________________ ?Descubre una nueva forma de obtener respuestas a tus preguntas! Entra en Yahoo! Respuestas. http://es.answers.yahoo.com/info/welcome From hosking at cs.purdue.edu Fri Jun 29 20:11:29 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Fri, 29 Jun 2007 14:11:29 -0400 Subject: [M3devel] LINUXLIBC6 problem In-Reply-To: <509060.60875.qm@web27114.mail.ukl.yahoo.com> References: <509060.60875.qm@web27114.mail.ukl.yahoo.com> Message-ID: <2F32FD3A-00FD-46E5-BB23-9DAB23003874@cs.purdue.edu> You need to update your cm3.cfg to match the most recent version in cm3/m3-sys/cminstall/src/config/LINUXLIBC6. Wrapping of system calls is no longer needed (or supported) since the VM-synchronized GC has been discarded. On Jun 29, 2007, at 11:31 AM, Daniel Alejandro Benavides D. wrote: > Hi: > Trying to compile the last updated sources from cvs > repository, I get this with do-cm3.std.sh buildship, > I have done the do-cm3-std.sh realclean before: > > -> archiving libm3tools.a > --- shipping from LINUXLIBC6 --- > > . => /usr/local/cm3-cvs/pkg/m3tools/LINUXLIBC6 > .M3EXPORTS libm3tools.a libm3tools.m3x > .M3WEB > ../src => /usr/local/cm3-cvs/pkg/m3tools/src > M3Lexer.i3 M3Lexer.m3 M3AST.i3 > M3AST.m3 > M3Parse.m3 M3Scope.i3 M3Scope.m3 > M3Type.i3 > M3Type.m3 M3Const.m3 M3Const.i3 > M3SetVal.i3 > M3SetVal.m3 M3RecVal.i3 M3RecVal.m3 > M3ArrVal.i3 > M3ArrVal.m3 M3Builtin.i3 M3Builtin.m3 > ==> /home/danielb/cm3-cvs/cm3/m3-sys/m3tools done > > === package /home/danielb/cm3-cvs/cm3/m3-sys/m3cgcat > === > +++ /usr/local/cm3-cvs/bin/cm3 -build > -DROOT='/home/danielb/cm3-cvs/cm3' && > /usr/local/cm3-cvs/bin/cm3 -ship > -DROOT='/home/danielb/cm3-cvs/cm3' +++ > --- building in LINUXLIBC6 --- > > ignoring ../src/m3overrides > > new source -> compiling Main.m3 > -> linking m3cgcat > /usr/local/cm3-cvs/pkg/libm3/LINUXLIBC6/libm3.a(FSPosix.mo): > In function `FS__SetModificationTime':FSPosix.m3:345: > undefined reference to `__wrap_utimes' > collect2: ld returned 1 exit status > Fatal Error: package build failed > *** execution of failed *** > danielb at danielb-desktop:~/cm3-cvs/cm3/scripts$ > > > > Thanks > > > > ______________________________________________________________________ > ______________ > ?Descubre una nueva forma de obtener respuestas a tus preguntas! > Entra en Yahoo! Respuestas. > http://es.answers.yahoo.com/info/welcome From hosking at cs.purdue.edu Fri Jun 29 20:11:42 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Fri, 29 Jun 2007 14:11:42 -0400 Subject: [M3devel] LINUXLIBC6 problem In-Reply-To: <509060.60875.qm@web27114.mail.ukl.yahoo.com> References: <509060.60875.qm@web27114.mail.ukl.yahoo.com> Message-ID: <16DCE58A-40FF-4774-A645-5B2AB5A95FAE@cs.purdue.edu> You need to update your cm3.cfg to match the most recent version in cm3/m3-sys/cminstall/src/config/LINUXLIBC6. Wrapping of system calls is no longer needed (or supported) since the VM-synchronized GC has been discarded. On Jun 29, 2007, at 11:31 AM, Daniel Alejandro Benavides D. wrote: > Hi: > Trying to compile the last updated sources from cvs > repository, I get this with do-cm3.std.sh buildship, > I have done the do-cm3-std.sh realclean before: > > -> archiving libm3tools.a > --- shipping from LINUXLIBC6 --- > > . => /usr/local/cm3-cvs/pkg/m3tools/LINUXLIBC6 > .M3EXPORTS libm3tools.a libm3tools.m3x > .M3WEB > ../src => /usr/local/cm3-cvs/pkg/m3tools/src > M3Lexer.i3 M3Lexer.m3 M3AST.i3 > M3AST.m3 > M3Parse.m3 M3Scope.i3 M3Scope.m3 > M3Type.i3 > M3Type.m3 M3Const.m3 M3Const.i3 > M3SetVal.i3 > M3SetVal.m3 M3RecVal.i3 M3RecVal.m3 > M3ArrVal.i3 > M3ArrVal.m3 M3Builtin.i3 M3Builtin.m3 > ==> /home/danielb/cm3-cvs/cm3/m3-sys/m3tools done > > === package /home/danielb/cm3-cvs/cm3/m3-sys/m3cgcat > === > +++ /usr/local/cm3-cvs/bin/cm3 -build > -DROOT='/home/danielb/cm3-cvs/cm3' && > /usr/local/cm3-cvs/bin/cm3 -ship > -DROOT='/home/danielb/cm3-cvs/cm3' +++ > --- building in LINUXLIBC6 --- > > ignoring ../src/m3overrides > > new source -> compiling Main.m3 > -> linking m3cgcat > /usr/local/cm3-cvs/pkg/libm3/LINUXLIBC6/libm3.a(FSPosix.mo): > In function `FS__SetModificationTime':FSPosix.m3:345: > undefined reference to `__wrap_utimes' > collect2: ld returned 1 exit status > Fatal Error: package build failed > *** execution of failed *** > danielb at danielb-desktop:~/cm3-cvs/cm3/scripts$ > > > > Thanks > > > > ______________________________________________________________________ > ______________ > ?Descubre una nueva forma de obtener respuestas a tus preguntas! > Entra en Yahoo! Respuestas. > http://es.answers.yahoo.com/info/welcome From dragisha at m3w.org Fri Jun 29 20:20:21 2007 From: dragisha at m3w.org (=?UTF-8?Q?Dragi=C5=A1a_Duri=C4=87?=) Date: Fri, 29 Jun 2007 20:20:21 +0200 Subject: [M3devel] LINUXLIBC6 problem In-Reply-To: <2F32FD3A-00FD-46E5-BB23-9DAB23003874@cs.purdue.edu> References: <509060.60875.qm@web27114.mail.ukl.yahoo.com> <2F32FD3A-00FD-46E5-BB23-9DAB23003874@cs.purdue.edu> Message-ID: <1183141221.9643.143.camel@faramir.m3w.org> This being non-trivial... Can you provide us with diff of your systems cm3.cfg before and after wrapper removal? dd On Fri, 2007-06-29 at 14:11 -0400, Tony Hosking wrote: > You need to update your cm3.cfg to match the most recent version in > cm3/m3-sys/cminstall/src/config/LINUXLIBC6. > > Wrapping of system calls is no longer needed (or supported) since the > VM-synchronized GC has been discarded. > > On Jun 29, 2007, at 11:31 AM, Daniel Alejandro Benavides D. wrote: > > > Hi: > > Trying to compile the last updated sources from cvs > > repository, I get this with do-cm3.std.sh buildship, > > I have done the do-cm3-std.sh realclean before: > > > > -> archiving libm3tools.a > > --- shipping from LINUXLIBC6 --- > > > > . => /usr/local/cm3-cvs/pkg/m3tools/LINUXLIBC6 > > .M3EXPORTS libm3tools.a libm3tools.m3x > > .M3WEB > > ../src => /usr/local/cm3-cvs/pkg/m3tools/src > > M3Lexer.i3 M3Lexer.m3 M3AST.i3 > > M3AST.m3 > > M3Parse.m3 M3Scope.i3 M3Scope.m3 > > M3Type.i3 > > M3Type.m3 M3Const.m3 M3Const.i3 > > M3SetVal.i3 > > M3SetVal.m3 M3RecVal.i3 M3RecVal.m3 > > M3ArrVal.i3 > > M3ArrVal.m3 M3Builtin.i3 M3Builtin.m3 > > ==> /home/danielb/cm3-cvs/cm3/m3-sys/m3tools done > > > > === package /home/danielb/cm3-cvs/cm3/m3-sys/m3cgcat > > === > > +++ /usr/local/cm3-cvs/bin/cm3 -build > > -DROOT='/home/danielb/cm3-cvs/cm3' && > > /usr/local/cm3-cvs/bin/cm3 -ship > > -DROOT='/home/danielb/cm3-cvs/cm3' +++ > > --- building in LINUXLIBC6 --- > > > > ignoring ../src/m3overrides > > > > new source -> compiling Main.m3 > > -> linking m3cgcat > > /usr/local/cm3-cvs/pkg/libm3/LINUXLIBC6/libm3.a(FSPosix.mo): > > In function `FS__SetModificationTime':FSPosix.m3:345: > > undefined reference to `__wrap_utimes' > > collect2: ld returned 1 exit status > > Fatal Error: package build failed > > *** execution of failed *** > > danielb at danielb-desktop:~/cm3-cvs/cm3/scripts$ > > > > > > > > Thanks > > > > > > > > ______________________________________________________________________ > > ______________ > > ?Descubre una nueva forma de obtener respuestas a tus preguntas! > > Entra en Yahoo! Respuestas. > > http://es.answers.yahoo.com/info/welcome > -- Dragi?a Duri? From hosking at cs.purdue.edu Fri Jun 29 20:24:03 2007 From: hosking at cs.purdue.edu (Antony Hosking) Date: Fri, 29 Jun 2007 14:24:03 -0400 Subject: [M3devel] LINUXLIBC6 problem In-Reply-To: <1183141221.9643.143.camel@faramir.m3w.org> References: <509060.60875.qm@web27114.mail.ukl.yahoo.com> <2F32FD3A-00FD-46E5-BB23-9DAB23003874@cs.purdue.edu> <1183141221.9643.143.camel@faramir.m3w.org> Message-ID: <8DBCD210-FD52-4EA5-9975-2D2500D612ED@cs.purdue.edu> This is what I am using currently for 32-bit cm3 running on AMD64 with 64-bit kernel. -------------- next part -------------- A non-text attachment was scrubbed... Name: cm3.cfg Type: application/octet-stream Size: 11966 bytes Desc: not available URL: -------------- next part -------------- I haven't done a build lately for regular Linux. On Jun 29, 2007, at 2:20 PM, Dragi?a Duri? wrote: > This being non-trivial... Can you provide us with diff of your systems > cm3.cfg before and after wrapper removal? > > dd > > On Fri, 2007-06-29 at 14:11 -0400, Tony Hosking wrote: >> You need to update your cm3.cfg to match the most recent version in >> cm3/m3-sys/cminstall/src/config/LINUXLIBC6. >> >> Wrapping of system calls is no longer needed (or supported) since the >> VM-synchronized GC has been discarded. >> >> On Jun 29, 2007, at 11:31 AM, Daniel Alejandro Benavides D. wrote: >> >>> Hi: >>> Trying to compile the last updated sources from cvs >>> repository, I get this with do-cm3.std.sh buildship, >>> I have done the do-cm3-std.sh realclean before: >>> >>> -> archiving libm3tools.a >>> --- shipping from LINUXLIBC6 --- >>> >>> . => /usr/local/cm3-cvs/pkg/m3tools/LINUXLIBC6 >>> .M3EXPORTS libm3tools.a libm3tools.m3x >>> .M3WEB >>> ../src => /usr/local/cm3-cvs/pkg/m3tools/src >>> M3Lexer.i3 M3Lexer.m3 M3AST.i3 >>> M3AST.m3 >>> M3Parse.m3 M3Scope.i3 M3Scope.m3 >>> M3Type.i3 >>> M3Type.m3 M3Const.m3 M3Const.i3 >>> M3SetVal.i3 >>> M3SetVal.m3 M3RecVal.i3 M3RecVal.m3 >>> M3ArrVal.i3 >>> M3ArrVal.m3 M3Builtin.i3 M3Builtin.m3 >>> ==> /home/danielb/cm3-cvs/cm3/m3-sys/m3tools done >>> >>> === package /home/danielb/cm3-cvs/cm3/m3-sys/m3cgcat >>> === >>> +++ /usr/local/cm3-cvs/bin/cm3 -build >>> -DROOT='/home/danielb/cm3-cvs/cm3' && >>> /usr/local/cm3-cvs/bin/cm3 -ship >>> -DROOT='/home/danielb/cm3-cvs/cm3' +++ >>> --- building in LINUXLIBC6 --- >>> >>> ignoring ../src/m3overrides >>> >>> new source -> compiling Main.m3 >>> -> linking m3cgcat >>> /usr/local/cm3-cvs/pkg/libm3/LINUXLIBC6/libm3.a(FSPosix.mo): >>> In function `FS__SetModificationTime':FSPosix.m3:345: >>> undefined reference to `__wrap_utimes' >>> collect2: ld returned 1 exit status >>> Fatal Error: package build failed >>> *** execution of failed *** >>> danielb at danielb-desktop:~/cm3-cvs/cm3/scripts$ >>> >>> >>> >>> Thanks >>> >>> >>> >>> ____________________________________________________________________ >>> __ >>> ______________ >>> ?Descubre una nueva forma de obtener respuestas a tus preguntas! >>> Entra en Yahoo! Respuestas. >>> http://es.answers.yahoo.com/info/welcome >> > -- > Dragi?a Duri? From dragisha at m3w.org Fri Jun 29 20:29:01 2007 From: dragisha at m3w.org (=?UTF-8?Q?Dragi=C5=A1a_Duri=C4=87?=) Date: Fri, 29 Jun 2007 20:29:01 +0200 Subject: [M3devel] LINUXLIBC6 problem In-Reply-To: <1183141221.9643.143.camel@faramir.m3w.org> References: <509060.60875.qm@web27114.mail.ukl.yahoo.com> <2F32FD3A-00FD-46E5-BB23-9DAB23003874@cs.purdue.edu> <1183141221.9643.143.camel@faramir.m3w.org> Message-ID: <1183141741.9643.146.camel@faramir.m3w.org> Not too nice to reply to own message, but probably a time saver for people upgrading to cvs-head: --- /home/dragisha/cm3/bin/cm3.cfg 2007-04-19 22:20:00.000000000 +0200 +++ /usr/local/cm3/bin/cm3.cfg 2007-06-29 20:27:03.000000000 +0200 @@ -69,5 +69,5 @@ % fixed the permissions. -INSTALL_ROOT = "/home/dragisha/cm3" +INSTALL_ROOT = "/usr/local/cm3" BIN_INSTALL = INSTALL_ROOT & "/bin" % executables @@ -149,6 +149,6 @@ proc m3_backend (source, object, optimize, debug) is - local args = [ "-quiet", source, "-o", object, "-fPIC" ] - if optimize args += "-O" end + local args = [ "-quiet", source, "-o", object, "-fPIC", "-m32", "-fno-reorder-blocks" ] + if optimize args += "-O3" end if debug args += "-gstabs+" end if M3_PROFILING args += "-p" end @@ -169,5 +169,5 @@ proc compile_c (source, object, options, optimize, debug) is - local args = [ "-fPIC", options ] + local args = [ "-m32", "-fPIC", options ] if optimize args += "-O" end if debug args += "-gstabs+" end @@ -182,5 +182,5 @@ proc assemble (source, object) is - return try_exec ("@" & SYSTEM_ASM, source, "-o", object) + return try_exec ("@" & SYSTEM_ASM, "--32", source, "-o", object) end @@ -189,6 +189,4 @@ % a library. -GCWRAPFLAGS = "-Wl,--wrap,adjtime,--wrap,getdirentries,--wrap,readv,--wrap,utimes,--wrap,wait3" - proc make_lib (lib, options, objects, imported_libs, shared) is local ret_code = 0 @@ -204,9 +202,9 @@ % build the shared library if M3_PROFILING - ret_code = try_exec ("@" & SYSTEM_CC, "-pg -shared " & GCWRAPFLAGS & + ret_code = try_exec ("@" & SYSTEM_CC, "-pg -shared -m32 " & "-Wl,-soname," & lib_sox, "-o", lib_sox, objects) else - ret_code = try_exec ("@" & SYSTEM_CC, "-shared " & GCWRAPFLAGS & + ret_code = try_exec ("@" & SYSTEM_CC, "-shared -m32 " & "-Wl,-soname," & lib_sox, "-o", lib_sox, objects) @@ -260,9 +258,9 @@ local args = [] if M3_PROFILING args += "-pg" end - args += [ "-o", prog, "-fPIC", options, objects, imported_libs ] + args += [ "-m32", "-o", prog, "-fPIC", options, objects, imported_libs ] if shared - return try_exec ("@" & SYSTEM_CC, args, GCWRAPFLAGS) + return try_exec ("@" & SYSTEM_CC, args) else - return try_exec ("@" & SYSTEM_CC, "-static", args, GCWRAPFLAGS) + return try_exec ("@" & SYSTEM_CC, "-static", args) %%% -- see M3_NEED_STANDALONE_LINKS below %%%return try_exec ("@" & SYSTEM_CC, args) On Fri, 2007-06-29 at 20:20 +0200, Dragi?a Duri? wrote: > This being non-trivial... Can you provide us with diff of your systems > cm3.cfg before and after wrapper removal? > > dd > > On Fri, 2007-06-29 at 14:11 -0400, Tony Hosking wrote: > > You need to update your cm3.cfg to match the most recent version in > > cm3/m3-sys/cminstall/src/config/LINUXLIBC6. > > > > Wrapping of system calls is no longer needed (or supported) since the > > VM-synchronized GC has been discarded. > > > > On Jun 29, 2007, at 11:31 AM, Daniel Alejandro Benavides D. wrote: > > > > > Hi: > > > Trying to compile the last updated sources from cvs > > > repository, I get this with do-cm3.std.sh buildship, > > > I have done the do-cm3-std.sh realclean before: > > > > > > -> archiving libm3tools.a > > > --- shipping from LINUXLIBC6 --- > > > > > > . => /usr/local/cm3-cvs/pkg/m3tools/LINUXLIBC6 > > > .M3EXPORTS libm3tools.a libm3tools.m3x > > > .M3WEB > > > ../src => /usr/local/cm3-cvs/pkg/m3tools/src > > > M3Lexer.i3 M3Lexer.m3 M3AST.i3 > > > M3AST.m3 > > > M3Parse.m3 M3Scope.i3 M3Scope.m3 > > > M3Type.i3 > > > M3Type.m3 M3Const.m3 M3Const.i3 > > > M3SetVal.i3 > > > M3SetVal.m3 M3RecVal.i3 M3RecVal.m3 > > > M3ArrVal.i3 > > > M3ArrVal.m3 M3Builtin.i3 M3Builtin.m3 > > > ==> /home/danielb/cm3-cvs/cm3/m3-sys/m3tools done > > > > > > === package /home/danielb/cm3-cvs/cm3/m3-sys/m3cgcat > > > === > > > +++ /usr/local/cm3-cvs/bin/cm3 -build > > > -DROOT='/home/danielb/cm3-cvs/cm3' && > > > /usr/local/cm3-cvs/bin/cm3 -ship > > > -DROOT='/home/danielb/cm3-cvs/cm3' +++ > > > --- building in LINUXLIBC6 --- > > > > > > ignoring ../src/m3overrides > > > > > > new source -> compiling Main.m3 > > > -> linking m3cgcat > > > /usr/local/cm3-cvs/pkg/libm3/LINUXLIBC6/libm3.a(FSPosix.mo): > > > In function `FS__SetModificationTime':FSPosix.m3:345: > > > undefined reference to `__wrap_utimes' > > > collect2: ld returned 1 exit status > > > Fatal Error: package build failed > > > *** execution of failed *** > > > danielb at danielb-desktop:~/cm3-cvs/cm3/scripts$ > > > > > > > > > > > > Thanks > > > > > > > > > > > > ______________________________________________________________________ > > > ______________ > > > ?Descubre una nueva forma de obtener respuestas a tus preguntas! > > > Entra en Yahoo! Respuestas. > > > http://es.answers.yahoo.com/info/welcome > > -- Dragi?a Duri? From dabenavidesd at yahoo.es Sat Jun 30 12:20:00 2007 From: dabenavidesd at yahoo.es (Daniel Alejandro Benavides D.) Date: Sat, 30 Jun 2007 12:20:00 +0200 (CEST) Subject: [M3devel] LINUXLIBC6 problem In-Reply-To: <1183141741.9643.146.camel@faramir.m3w.org> Message-ID: <135693.79060.qm@web27104.mail.ukl.yahoo.com> Hi everybody: I like to thank you for your great help. Now I can compile with the modifications on my cm3.cfg. The file is attached in the mail. Thanks --- Dragi??a Duri?? escribi?: > Not too nice to reply to own message, but probably a > time saver for > people upgrading to cvs-head: > > --- /home/dragisha/cm3/bin/cm3.cfg 2007-04-19 > 22:20:00.000000000 +0200 > +++ /usr/local/cm3/bin/cm3.cfg 2007-06-29 > 20:27:03.000000000 +0200 > @@ -69,5 +69,5 @@ > % fixed the permissions. > > -INSTALL_ROOT = "/home/dragisha/cm3" > +INSTALL_ROOT = "/usr/local/cm3" > > BIN_INSTALL = INSTALL_ROOT & "/bin" % > executables > @@ -149,6 +149,6 @@ > > proc m3_backend (source, object, optimize, debug) > is > - local args = [ "-quiet", source, "-o", object, > "-fPIC" ] > - if optimize args += "-O" end > + local args = [ "-quiet", source, "-o", object, > "-fPIC", "-m32", "-fno-reorder-blocks" ] > + if optimize args += "-O3" end > if debug args += "-gstabs+" end > if M3_PROFILING args += "-p" end > @@ -169,5 +169,5 @@ > > proc compile_c (source, object, options, optimize, > debug) is > - local args = [ "-fPIC", options ] > + local args = [ "-m32", "-fPIC", options ] > if optimize args += "-O" end > if debug args += "-gstabs+" end > @@ -182,5 +182,5 @@ > > proc assemble (source, object) is > - return try_exec ("@" & SYSTEM_ASM, source, "-o", > object) > + return try_exec ("@" & SYSTEM_ASM, "--32", > source, "-o", object) > end > > @@ -189,6 +189,4 @@ > % a library. > > -GCWRAPFLAGS = > "-Wl,--wrap,adjtime,--wrap,getdirentries,--wrap,readv,--wrap,utimes,--wrap,wait3" > - > proc make_lib (lib, options, objects, > imported_libs, shared) is > local ret_code = 0 > @@ -204,9 +202,9 @@ > % build the shared library > if M3_PROFILING > - ret_code = try_exec ("@" & SYSTEM_CC, "-pg > -shared " & GCWRAPFLAGS & > + ret_code = try_exec ("@" & SYSTEM_CC, "-pg > -shared -m32 " & > "-Wl,-soname," & > lib_sox, > "-o", lib_sox, objects) > else > - ret_code = try_exec ("@" & SYSTEM_CC, > "-shared " & GCWRAPFLAGS & > + ret_code = try_exec ("@" & SYSTEM_CC, > "-shared -m32 " & > "-Wl,-soname," & > lib_sox, > "-o", lib_sox, objects) > @@ -260,9 +258,9 @@ > local args = [] > if M3_PROFILING args += "-pg" end > - args += [ "-o", prog, "-fPIC", options, objects, > imported_libs ] > + args += [ "-m32", "-o", prog, "-fPIC", options, > objects, imported_libs ] > if shared > - return try_exec ("@" & SYSTEM_CC, args, > GCWRAPFLAGS) > + return try_exec ("@" & SYSTEM_CC, args) > else > - return try_exec ("@" & SYSTEM_CC, "-static", > args, GCWRAPFLAGS) > + return try_exec ("@" & SYSTEM_CC, "-static", > args) > %%% -- see M3_NEED_STANDALONE_LINKS below > %%%return try_exec ("@" & SYSTEM_CC, args) > > On Fri, 2007-06-29 at 20:20 +0200, Dragi??a Duri?? > wrote: > > This being non-trivial... Can you provide us with > diff of your systems > > cm3.cfg before and after wrapper removal? > > > > dd > > > > On Fri, 2007-06-29 at 14:11 -0400, Tony Hosking > wrote: > > > You need to update your cm3.cfg to match the > most recent version in > > > cm3/m3-sys/cminstall/src/config/LINUXLIBC6. > > > > > > Wrapping of system calls is no longer needed (or > supported) since the > > > VM-synchronized GC has been discarded. > > > > > > On Jun 29, 2007, at 11:31 AM, Daniel Alejandro > Benavides D. wrote: > > > > > > > Hi: > > > > Trying to compile the last updated sources > from cvs > > > > repository, I get this with do-cm3.std.sh > buildship, > > > > I have done the do-cm3-std.sh realclean > before: > > > > > > > > -> archiving libm3tools.a > > > > --- shipping from LINUXLIBC6 --- > > > > > > > > . => /usr/local/cm3-cvs/pkg/m3tools/LINUXLIBC6 > > > > .M3EXPORTS libm3tools.a > libm3tools.m3x > > > > .M3WEB > > > > ../src => /usr/local/cm3-cvs/pkg/m3tools/src > > > > M3Lexer.i3 M3Lexer.m3 M3AST.i3 > > > > M3AST.m3 > > > > M3Parse.m3 M3Scope.i3 > M3Scope.m3 > > > > M3Type.i3 > > > > M3Type.m3 M3Const.m3 > M3Const.i3 > > > > M3SetVal.i3 > > > > M3SetVal.m3 M3RecVal.i3 > M3RecVal.m3 > > > > M3ArrVal.i3 > > > > M3ArrVal.m3 M3Builtin.i3 > M3Builtin.m3 > > > > ==> /home/danielb/cm3-cvs/cm3/m3-sys/m3tools > done > > > > > > > > === package > /home/danielb/cm3-cvs/cm3/m3-sys/m3cgcat > > > > === > > > > +++ /usr/local/cm3-cvs/bin/cm3 -build > > > > -DROOT='/home/danielb/cm3-cvs/cm3' && > > > > /usr/local/cm3-cvs/bin/cm3 -ship > > > > -DROOT='/home/danielb/cm3-cvs/cm3' +++ > > > > --- building in LINUXLIBC6 --- > > > > > > > > ignoring ../src/m3overrides > > > > > > > > new source -> compiling Main.m3 > > > > -> linking m3cgcat > > > > > /usr/local/cm3-cvs/pkg/libm3/LINUXLIBC6/libm3.a(FSPosix.mo): > > > > In function > `FS__SetModificationTime':FSPosix.m3:345: > > > > undefined reference to `__wrap_utimes' > > > > collect2: ld returned 1 exit status > > > > Fatal Error: package build failed > > > > *** execution of failed *** > > > > danielb at danielb-desktop:~/cm3-cvs/cm3/scripts$ > > > > > > > > > > > > > > > > Thanks > > > > > > > > > > > > > > > > > ______________________________________________________________________ > > > > > ______________ > > > > ??Descubre una nueva forma de obtener > respuestas a tus preguntas! > > > > Entra en Yahoo! Respuestas. > > > > http://es.answers.yahoo.com/info/welcome > > > > -- > Dragi??a Duri?? > > ____________________________________________________________________________________ ?Descubre una nueva forma de obtener respuestas a tus preguntas! Entra en Yahoo! Respuestas. http://es.answers.yahoo.com/info/welcome From hosking at cs.purdue.edu Fri Jun 1 23:11:04 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Fri, 01 Jun 2007 21:11:04 -0000 Subject: [M3devel] Progress bootstrapping, but still trouble In-Reply-To: <4660883F.6030503@wichita.edu> References: <4659B097.5040908@wichita.edu> <4660883F.6030503@wichita.edu> Message-ID: <2EB5C3FA-9082-4875-8BA8-F439524E2B1B@cs.purdue.edu> I'm not sure about the details of you system, but you may find the attached cm3.cfg for LINUXLIBC6 to be useful. It works for me on Fedora Core. You should modify the paths as appropriate for your Linux installation. -------------- next part -------------- A non-text attachment was scrubbed... Name: cm3.cfg Type: application/octet-stream Size: 12122 bytes Desc: not available URL: -------------- next part -------------- On Jun 1, 2007, at 4:57 PM, Rodney M. Bates wrote: > My first problem bootstrapping cm3: > > ThreadPosix.i3: missing object types: _t1541f475 > imported by: TimeStamp.m3 > > goes away when I either 1) delete the entire cm3 distribution and > do a fresh cvs checkout, > or 2) do a 'do-cm3-std.sh realclean'. > > Thanks to Antony for making me aware of 'realclean', which I hadn't > known about. I have never > been able to satisfactorily clean a cm3 tree before, with 'clean' > giving lots of failure messages > and removing things inside LINUXLIBC6 build directories leaving > things unable to build due to > missing files. > > My second problem: > > rodney at runnymede:/usr/local/cm3/bin$ file m3bundle > m3bundle: ELF 32-bit LSB executable, Intel 80386, version 1 > (SYSV), for GNU/Linux 2.6.9, > dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not > stripped > rodney at runnymede:/usr/local/cm3/bin$ ./m3bundle > -bash: ./m3bundle: No such file or directory > > went away after some work on finding libpthreads. Thanks to > Daniel's web page for getting me > to looking at libpthreads. > > My cm3.cfg already had, inside SYSTEM_LIBS, the line: > > "PTHREAD" : [ "-Xlinker", "-Bdynamic", "-L/lib", "-lpthread" ], > > For one thing, there are three places in my distribution with non- > link versions of libpthread*.so: > /lib, /lib/i686, and /usr/lib. They are all different in size, and > I have no clue what the > differences are, but only /usr/lib has a link named libpthread.so, > so I guessed that was the > right place and changed cm3.cfg to look there. > > That didn't change anything, (same size executable), but removing > the "-Xlinker", "-Bdynamic", made > cm3 compile an executable for m3bundle and other things that will > load and run. There is a > libpthread.a in /usr/lib (and nowhere else that I found.) > > But this is apparently not the whole story with libraries. > Another program compiles to an executable with the same problem, > i.e., attempts > to execute it give -bash: ./LdlBatch: No such file or directory. > The other lines > in my SYSTEM_LIBS also had -Xlinker", "-Bdynamic", but removing > them fro"X11" line > gives me this: > > new "Version.io" -> linking LdlBatch > /usr/local/cm3/pkg/ui/LINUXLIBC6/libm3ui.a(TrestleOS.mo): In > function `TrestleOS__UserName': > /home/rodney/proj/m3/cm3-fresh/cm3/m3-ui/ui/LINUXLIBC6/ > TrestleOS.m3:32: warning: Using 'getpwuid' in statically linked > applications requires at runtime the shared libraries from theglibc > version used for linking > /usr/lib/libX11.a(x11_trans.o): In function `_X11TransSocketOpen': > /usr/include/X11/Xtrans/Xtranssock.c:468: warning: Using > 'getaddrinfo' in statically linked applications requires at runtime > the shared libraries from the glibc version used for linking > /usr/lib/libX11.a(imLcIm.o): In function `_XimWriteCachedDefaultTree': > /usr/src/rpm/BUILD/libX11-1.0.3/modules/im/ximcp/imLcIm.c:476: > warning: memset used with constant zero length parameter; this > could be due to transposed parameters > /usr/local/cm3/pkg/tcp/LINUXLIBC6/libm3tcp.a(IP.mo): In function > `IP__GetCanonicalByAddr': > /home/rodney/proj/m3/cm3-fresh/cm3/m3-comm/tcp/LINUXLIBC6/IP.m3:53: > warning: Using 'gethostbyaddr' in statically linked applications > requires at runtime the shared libraries from the glibc version > used for linking > /usr/local/cm3/pkg/tcp/LINUXLIBC6/libm3tcp.a(IP.mo): In function > `IP__GetHostByName': > /home/rodney/proj/m3/cm3-fresh/cm3/m3-comm/tcp/LINUXLIBC6/IP.m3:21: > warning: Using 'gethostbyname' in statically linked applications > requires at runtime the shared libraries from the glibc version > used for linking > /usr/lib/libX11.a(x11_trans.o): In function > `_X11TransSocketINETConnect': > /usr/include/X11/Xtrans/Xtranssock.c:1670: warning: Using > 'getservbyname' in statically linked applications requires at > runtime the shared libraries from the glibc version used for linking > /usr/lib/libX11.a(ConnDis.o): In function `GetAuthorization': > /usr/src/rpm/BUILD/libX11-1.0.3/src/ConnDis.c:1232: undefined > reference to `XauDisposeAuth' > /usr/src/rpm/BUILD/libX11-1.0.3/src/ConnDis.c:1037: undefined > reference to `XauGetBestAuthByAddr' > /usr/src/rpm/BUILD/libX11-1.0.3/src/ConnDis.c:1176: undefined > reference to `XdmcpWrap' > /usr/lib/libX11.a(CrGlCur.o): In function `open_library': > /usr/src/rpm/BUILD/libX11-1.0.3/src/CrGlCur.c:72: undefined > reference to `dlopen' > /usr/lib/libX11.a(CrGlCur.o): In function `fetch_symbol': > /usr/src/rpm/BUILD/libX11-1.0.3/src/CrGlCur.c:107: undefined > reference to `dlsym' > /usr/src/rpm/BUILD/libX11-1.0.3/src/CrGlCur.c:109: undefined > reference to `dlsym' > collect2: ld returned 1 exit status > Fatal Error: package build failed > > Anyone have any ideas on why neither dynamic nor static linking > works, or how to figure out what > version of the libraries I need? Better yet, can anyone point me > to some real documentation on > Linux dynamic linking in general? I've always been overwhelmed > with false hits when trying to find > it with a search engine. > > > > > > > > > > -- > ------------------------------------------------------------- > 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 ronny.forberger at elegosoft.com Fri Jun 1 23:54:14 2007 From: ronny.forberger at elegosoft.com (Ronny Forberger) Date: Fri, 01 Jun 2007 21:54:14 -0000 Subject: [M3devel] [cm3] [partially-solved] unresolved pthread symbols during bootstrap In-Reply-To: <20070530234204.77087.qmail@web27115.mail.ukl.yahoo.com> References: <20070530234204.77087.qmail@web27115.mail.ukl.yahoo.com> Message-ID: <46609577.9040600@elegosoft.com> Hi, the pthread symbol problem has solved for me. I was using development version of cm3. Now having checked out release_cm3_5_4_0 the symbols weren't needed, not even it was necessary to add PTHREAD to any array in cm3.cfg. But I now getting another issue: Though the build process successfully went though the ./do-cm3-core.sh buildship ./install-cm3-compiler.sh upgrade ./do-cm3-std.sh buildship commands, I can't see m3build binary having been built or installed. The documentation couldn't give me any answer on here as well. Have you got ideas again ? Thank you. Ronny Daniel Alejandro Benavides D. wrote: > Hi, > Looks that you haven't used the SYSTEM_LIBORDER array, > must be "PTHREAD" there in order to really link it. > > Maybe this little guide can help. Can have several > omissions, but It works well in (K)ubuntu 6.06 and > 6.10 > http://es.geocities.com/dabenavidesd/InstallationGuidecm3-Modula-3.html#SECTION00033000000000000000 > > > --- Ronny Forberger > wrote: > >> Dear m3-Developers, >> >> I could not successfully build the cm3 compiler when >> invoking >> >> >> >> >>> ./do-cm3-std.sh buildship >>> >> from the script directory as described in the >> documentation. >> >> The build process stops by the following: >> >> >>> === package /root/cm3/m3-sys/m3cgcat === >>> +++ cm3 -build -DROOT='/root/cm3' && cm3 -ship >>> >> -DROOT='/root/cm3' +++ >> >>> --- building in LINUXLIBC6 --- >>> >>> ignoring ../src/m3overrides >>> >>> -> linking m3cgcat >>> >>> > /usr/local/cm3/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): > >> In >> >>> function `ThreadPThread__InnerLockMutex': >>> >>> > /root/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:142: > >> undefined >> >>> reference to `pthread_cond_wait' >>> >>> >> [ some similar lines removed ] >> >> >>> > /usr/local/cm3/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): > >> In >> >>> function `RTHooks__PushEFrame': >>> >>> > /root/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1429: > >> undefined >> >>> reference to `pthread_getspecific' >>> >>> > /root/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1430: > >> undefined >> >>> reference to `pthread_setspecific' >>> >>> > /usr/local/cm3/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): > >> In >> >>> function `RTHooks__PopEFrame': >>> >>> > /root/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1437: > >> undefined >> >>> reference to `pthread_setspecific' >>> >>> > /usr/local/cm3/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): > >> In >> >>> function `ThreadPThread__InitHandlers': >>> >>> > /root/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1442: > >> undefined >> >>> reference to `pthread_key_create' >>> >>> > /root/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1443: > >> undefined >> >>> reference to `pthread_setspecific' >>> >>> > /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libc.a(vfork.o): > >> In >> >>> function `vfork': >>> (.text+0x1): undefined reference to >>> >> `pthread_create' >> >>> collect2: ld returned 1 exit status >>> Fatal Error: package build failed >>> *** execution of failed *** >>> >> Looks like gcc cannot link against the pthread-lib. >> >> I have already added >> >> >>> "PTHREAD" : [ "-L/usr/lib", "-lpthread" ] >>> >> to the SYSTEM_LIBS array in cm3.cfg. >> >> This is a Debian 4.0 'etch' system (x86) where >> libpthread.a resides in >> /usr/lib. >> >> I can build trivial C programs like gcc foo.c -L >> /usr/lib -lpthread >> arccordingly which become linked against >> libpthread.a properly. >> >> >> Do you have any glues? >> >> Best regards, >> >> Ronny >> >> -- >> Ronny Forberger >> Systemadministrator >> >> elego Software Solutions GmbH >> ronny.forberger(at)elegosoft.com >> Ohmstra?e 9, 10179 Berlin HRB 77719 >> Tel.: +49 30 23 45 86 96 Amtsgericht >> Charlottenburg >> Fax: +49 30 23 45 86 95 Sitz der >> Gesellschaft: Berlin >> http://www.elegosoft.com >> Gesch?ftsf?hrer: Olaf Wagner >> >> Bitte senden Sie Ihre technischen Support-Anfragen >> an admins(at)elego.de . >> >> >> > > > > > ______________________________________________ > LLama Gratis a cualquier PC del Mundo. > Llamadas a fijos y m?viles desde 1 c?ntimo por minuto. > http://es.voice.yahoo.com > -- Ronny Forberger Systemadministrator elego Software Solutions GmbH ronny.forberger(at)elegosoft.com Ohmstra??e 9, 10179 Berlin HRB 77719 Tel.: +49 30 23 45 86 96 Amtsgericht Charlottenburg Fax: +49 30 23 45 86 95 Sitz der Gesellschaft: Berlin http://www.elegosoft.com Gesch?EURftsf?OEhrer: Olaf Wagner Bitte senden Sie Ihre technischen Support-Anfragen an admins(at)elego.de . -------------- next part -------------- An HTML attachment was scrubbed... URL: From ronny.forberger at elegosoft.com Thu Jun 7 13:53:48 2007 From: ronny.forberger at elegosoft.com (Ronny Forberger) Date: Thu, 07 Jun 2007 11:53:48 -0000 Subject: [M3devel] errors building cvsup wih cm3 In-Reply-To: <20070605023041.71990.qmail@web27105.mail.ukl.yahoo.com> References: <20070605023041.71990.qmail@web27105.mail.ukl.yahoo.com> Message-ID: <4667F1C6.2030709@elegosoft.com> Hi, with this solution I was able to build cvsup with cm3. Thanks to all. Ronny Daniel Alejandro Benavides D. wrote: >Hi, >One of the problems I had when compiling cvsup with >current cm3 on suplib/src/FileAttr.m3 >when calling utime.gettimeofday because of the >definition of the function Utime ><*EXTERNAL*> >PROCEDURE gettimeofday (VAR t: struct_timeval; > z: UNTRACED REF >struct_timezone := NIL): int > >in the z parameter have changed, the patch was written >before this change in the procedure. > >The FileAttr.m3 uses the function on line 746: >EVAL Utime.gettimeofday(times[0], tz); > >tz is declared before in line 744: >tz: UNTRACED REF Utime.struct_timezone:=NIL; > >The program compiles as explained in the guide: >http://es.geocities.com/dabenavidesd/InstallationGuidecm3-Modula-3.html#SECTION00060000000000000000 > >I didnt have any more problems compiling cvsup with >cm3. > >Sorry by the late posting of this issue. > > >--- John Polstra wrote: > > > >>Hmm, actually you may be closer to the right answers >>than I was. I >>don't see how the lack of the patch could explain >>some of those errors. >> >>John >> >> >>Tony Hosking wrote: >> >> >>>Looks like John has the answers... >>> >>>On Jun 4, 2007, at 11:11 AM, John Polstra wrote: >>> >>> >>> >>>>There is a patch for CVSup that you have to apply >>>> >>>> >>before you can build >> >> >>>>it with cm3. Look on the cm3 downloads page, and >>>> >>>> >>you'll find it. >> >> >>>>John >>>> >>>>Ronny Forberger wrote: >>>> >>>> >>>>>Hi there, >>>>>since I've been able to build the cm3 compiler >>>>> >>>>> >>successfully on Debian >> >> >>>>>Linux 'etch' x86, I'm faced up to some other >>>>> >>>>> >>build problem: >> >> >>>>>When trying to build cvsup-snap-16.1h from >>>>> >>>>> >>sources using cm3 my build >> >> >>>>>process stops by the following error: >>>>> >>>>> >>>>>>make[2]: Entering directory >>>>>> >>>>>> >>`/home/rforb/work/cvsup-snap-16.1h/suptcp' >> >> >>>>>>cm3 >>>>>>--- building in LINUXLIBC6 --- >>>>>> >>>>>> >>>>>>Fatal Error: duplicate unit: >>>>>>/usr/local/cm3/pkg/tcp/src/POSIX/SockOpt.i3 >>>>>> >>>>>> >>../src/POSIX/SockOpt.i3 >> >> >>>>>>make[2]: *** [all] Error 1 >>>>>>make[2]: Leaving directory >>>>>> >>>>>> >>`/home/rforb/work/cvsup-snap-16.1h/suptcp' >> >> >>>>>>===> suplib >>>>>>make[2]: Entering directory >>>>>> >>>>>> >>`/home/rforb/work/cvsup-snap-16.1h/suplib' >> >> >>>>>>cm3 >>>>>>--- building in LINUXLIBC6 --- >>>>>> >>>>>>new source -> compiling TokScan.i3 >>>>>>"../src/TokScan.i3", line 36: unable to find >>>>>> >>>>>> >>interface (IP) >> >> >>>>>>1 error encountered >>>>>>new source -> compiling FileAttr.i3 >>>>>>"../src/FileAttr.i3", line 33: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(TokScan) >>>>>>1 error encountered >>>>>>new source -> compiling FileAttrRep.i3 >>>>>>"../src/FileAttrRep.i3", line 33: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(FileAttr) >>>>>>1 error encountered >>>>>>new source -> compiling FileAttrOS.m3 >>>>>>"../src/POSIX/FileAttrOS.m3", line 31: imported >>>>>> >>>>>> >>interface contains >> >> >>>>>>errors (FileAttr) >>>>>>"../src/POSIX/FileAttrOS.m3", line 31: imported >>>>>> >>>>>> >>interface contains >> >> >>>>>>errors (FileAttrRep) >>>>>>2 errors encountered >>>>>>new source -> compiling SupFileRec.i3 >>>>>>"../src/SupFileRec.i3", line 36: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(FileAttr) >>>>>>"../src/SupFileRec.i3", line 37: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(TokScan) >>>>>>2 errors encountered >>>>>>new source -> compiling SupMisc.i3 >>>>>>"../src/SupMisc.i3", line 37: unable to find >>>>>> >>>>>> >>interface (IP) >> >> >>>>>>"../src/SupMisc.i3", line 37: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(SupFileRec) >>>>>>"../src/SupMisc.i3", line 39: unable to find >>>>>> >>>>>> >>interface (SupTCP) >> >> >>>>>>3 errors encountered >>>>>>new source -> compiling PathComp.m3 >>>>>>"../src/PathComp.m3", line 33: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(SupMisc) >>>>>>1 error encountered >>>>>>new source -> compiling ChannelMux.i3 >>>>>>"../src/ChannelMux.i3", line 33: unable to find >>>>>> >>>>>> >>interface (IP) >> >> >>>>>>"../src/ChannelMux.i3", line 34: unable to find >>>>>> >>>>>> >>interface (SupConnFD) >> >> >>>>>>2 errors encountered >>>>>>new source -> compiling ChannelMux.m3 >>>>>>"../src/ChannelMux.m3", line 32: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(ChannelMux) >>>>>>"../src/ChannelMux.m3", line 35: unable to find >>>>>> >>>>>> >>interface (IP) >> >> >>>>>>"../src/ChannelMux.m3", line 35: unable to find >>>>>> >>>>>> >>interface (TCP) >> >> >>>>>>"../src/ChannelMux.m3", line 36: unable to find >>>>>> >>>>>> >>interface (SupConnFD) >> >> >>>>>>4 errors encountered >>>>>>new source -> compiling AuthMD5.i3 >>>>>>"../src/AuthMD5.i3", line 33: unable to find >>>>>> >>>>>> >>interface (IP) >> >> >>>>>>1 error encountered >>>>>>new source -> compiling AuthMD5.m3 >>>>>>"../src/AuthMD5.m3", line 31: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(AuthMD5) >>>>>>"../src/AuthMD5.m3", line 33: unable to find >>>>>> >>>>>> >>interface (IP) >> >> >>>>>>2 errors encountered >>>>>>new source -> compiling TokScan.m3 >>>>>>"../src/TokScan.m3", line 31: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(TokScan) >>>>>>"../src/TokScan.m3", line 34: unable to find >>>>>> >>>>>> >>interface (IP) >> >> >>>>>>"../src/TokScan.m3", line 34: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(SupMisc) >>>>>>3 errors encountered >>>>>>new source -> compiling DevT.i3 >>>>>>"../src/DevT.i3", line 38: imported interface >>>>>> >>>>>> >>contains errors (TokScan) >> >> >>>>>>1 error encountered >>>>>>new source -> compiling UnixMisc.i3 >>>>>>"../src/UnixMisc.i3", line 35: unable to find >>>>>> >>>>>> >>interface (IP) >> >> >>>>>>1 error encountered >>>>>>new source -> compiling FileAttr.m3 >>>>>>"../src/FileAttr.m3", line 31: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(FileAttr) >>>>>>"../src/FileAttr.m3", line 31: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(FileAttrRep) >>>>>>"../src/FileAttr.m3", line 34: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(DevT) >>>>>>"../src/FileAttr.m3", line 35: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(SupMisc) >>>>>>"../src/FileAttr.m3", line 36: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(TokScan) >>>>>>"../src/FileAttr.m3", line 36: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(UnixMisc) >>>>>>6 errors encountered >>>>>>new source -> compiling FileID.i3 >>>>>>"../src/FileID.i3", line 33: imported interface >>>>>> >>>>>> >>contains errors >> >> >>>>>>(FileAttr) >>>>>>1 error encountered >>>>>>new source -> compiling FileID.m3 >>>>>>"../src/FileID.m3", line 31: imported interface >>>>>> >>>>>> >>contains errors >> >> >>>>>>(FileID) >>>>>>"../src/FileID.m3", line 34: imported interface >>>>>> >>>>>> >>contains errors (DevT) >> >> >>>>>>"../src/FileID.m3", line 34: imported interface >>>>>> >>>>>> >>contains errors >> >> >>>>>>(FileAttr) >>>>>>"../src/FileID.m3", line 34: imported interface >>>>>> >>>>>> >>contains errors >> >> >>>>>>(FileAttrRep) >>>>>>4 errors encountered >>>>>>new source -> compiling CVProto.i3 >>>>>>"../src/CVProto.i3", line 33: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(FileAttr) >>>>>>"../src/CVProto.i3", line 33: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(TokScan) >>>>>>2 errors encountered >>>>>>new source -> compiling CVProto.m3 >>>>>>"../src/CVProto.m3", line 35: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(CVProto) >>>>>>"../src/CVProto.m3", line 38: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(SupMisc) >>>>>>"../src/CVProto.m3", line 38: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(TokScan) >>>>>>3 errors encountered >>>>>>new source -> compiling ErrMsg.m3 >>>>>>"../src/ErrMsg.m3", line 34: unable to find >>>>>> >>>>>> >>interface (IP) >> >> >>>>>>"../src/ErrMsg.m3", line 34: imported interface >>>>>> >>>>>> >>contains errors >> >> >>>>>>(TokScan) >>>>>> >>>>>> >=== message truncated === > > > > >______________________________________________ >LLama Gratis a cualquier PC del Mundo. >Llamadas a fijos y m?viles desde 1 c?ntimo por minuto. >http://es.voice.yahoo.com > > -- Ronny Forberger Systemadministrator elego Software Solutions GmbH ronny.forberger(at)elegosoft.com Ohmstra?e 9, 10179 Berlin HRB 77719 Tel.: +49 30 23 45 86 96 Amtsgericht Charlottenburg Fax: +49 30 23 45 86 95 Sitz der Gesellschaft: Berlin http://www.elegosoft.com Gesch?ftsf?hrer: Olaf Wagner Bitte senden Sie Ihre technischen Support-Anfragen an admins(at)elego.de . -------------- next part -------------- An HTML attachment was scrubbed... URL: From rcoleburn at scires.com Sat Jun 23 20:57:40 2007 From: rcoleburn at scires.com (Randy Coleburn) Date: Sat, 23 Jun 2007 18:57:40 -0000 Subject: [M3devel] strange errors... In-Reply-To: <200706230734.l5N7YDeY069196@camembert.async.caltech.edu> References: <200706230734.l5N7YDeY069196@camembert.async.caltech.edu> Message-ID: <467D3000.1E75.00D7.1@scires.com> Mika: I've used CM3 (v4.1) on Windows for years with Trestle, FormsVBT, NetObjects, etc.. Make sure to use the v2 of Network Objects. I haven't moved up to the most recent version yet. I tried some time ago, but ran into some problems with Bundles not working correctly. Maybe this is fixed now. I should try again. Regards, Randy Coleburn >>> Mika Nystrom 6/23/2007 3:34 AM >>> Hello everyone, I am in the process of trying to consolidate build systems for a few software packages I am maintaining. Currently, I am using an old PM3 on FreeBSD4, an ancient PM3 (from Klagenfurt?) for Windows (NT386GNU), and trying to get the latest CM3 from cvs up and compiling things on PPC_DARWIN. Ideally, I'd like to standardize everything on the new PM3---mainly so that I can use pickles (and Network Objects) across all three systems. I'd also like to add Linux to the mix. It's natural for me to start with CM3 on Darwin, as there's no alternative. But I am getting some assertions failing. Everything in the CM3 distribution compiles fine, and I believe I have compiled the libraries a few times (that is, including with themselves), and updated the compiler, too (using boot-cm3-with-m3.sh). I just cvs updated tonight. Here's what I'm running into: /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/CHP.t -o CHPTok.i3 *** *** runtime error: *** <*ASSERT*> failed. *** file "../src/runtime/common/RTCollector.m3", line 2314 *** Abort Also: /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/PRS.t -o PRSTok.i3 Illegal instruction As you can see, these things are coming from the caltech_parser. I am using our local version, but I don't think it is very different from what is in the CM3 tree. Examining the first error (the failed assertion) more closely, I see the following: (gdb) list 108 wr := FileWr.Open(Pathname.ReplaceExt(tp.out, "m3")); 109 EXCEPT OSError.E => 110 Debug.Error("Cannot open tok implementation output file: " & 111 Pathname.ReplaceExt(tp.out, "m3")); 112 END; 113 Wr.PutText(wr, subs.apply(Bundle.Get(Form, "tokform.m3"))); 114 Wr.Close(wr); 115 END Main. (gdb) where #0 0x9004308c in kill () #1 0x9009fb3c in abort () #2 0x00096f50 in RTOS__Crash () at RTOS.m3:20 #3 0x0005bd40 in RTProcess__Crash (M3_Bd56fi_msg=0x0) at RTProcess.m3:65 #4 0x0008e4e0 in RTError__EndError (M3_AicXUJ_crash=1 '\001') at RTError.m3:115 #5 0x0008e08c in RTError__MsgS (M3_AJWxb1_file=0xc63d8, M3_AcxOUs_line=2314, M3_Bd56fi_msgA=0xca3d0, M3_Bd56fi_msgB=0xcbe90, M3_Bd56fi_msgC=0xca3d0) at RTError.m3:40 #6 0x0008eb88 in RTException__Crash (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0', M3_AJWxb1_rte=0xcb538) at RTException.m3:79 #7 0x0008e74c in RTException__DefaultBackstop (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:39 #8 0x0008e614 in RTException__InvokeBackstop (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:25 #9 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at RTExFrame.m3:29 #10 0x0008e840 in RTException__DefaultBackstop (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:47 #11 0x0008e614 in RTException__InvokeBackstop (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:25 #12 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at RTExFrame.m3:29 #13 0x00079740 in RTHooks__ReportFault (M3_AJWxb1_module=0xb3eb8, M3_AcxOUs_info=74048) at RTHooks.m3:110 #14 0x0006ff4c in _m3_fault (M3_AcxOUs_arg=74048) #15 0x0006bcf4 in RTHooks__CheckStoreTraced (M3_Af40ku_ref=0xb2415c) at RTCollector.m3:2314 #16 0x000700e4 in ThreadPThread__InnerLockMutex (M3_AYIbX3_m=0xb2415c, M3_BXP32l_self=0xb24014) at ThreadPThread.m3:126 #17 0x000704d8 in ThreadPThread__LockMutex (M3_AYIbX3_m=0xb2415c) at ThreadPThread.m3:153 #18 0x00019b24 in Wr__PutText (M3_BxxOH1_wr=0xb2415c, M3_Bd56fi_t=0xb44d5c) at Wr.m3:93 #19 0x00003f74 in Main_M3 (M3_AcxOUs_mode=1) at Main.m3:113 #20 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at RTLinker.m3:399 #21 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at RTLinker.m3:113 #22 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at RTLinker.m3:122 #23 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) at _m3main.mc:4 (gdb) The second error: Program received signal EXC_BAD_INSTRUCTION, Illegal instruction/operand. 0x00b111ac in ?? () (gdb) where #0 0x00b111ac in ?? () #1 0x0001214c in TextSubs__Apply (M3_CN69dV_self=0xb26450, M3_Bd56fi_src=0xb21cec) at TextSubs.m3:63 #2 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at RTLinker.m3:399 #3 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at RTLinker.m3:113 #4 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at RTLinker.m3:122 #5 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) at _m3main.mc:4 (gdb) list 58 BEGIN 59 WHILE pos < textLen DO 60 c := Text.GetChar(src, pos); 61 IF c IN self.starts THEN 62 (* S("analysing: " & Text.Sub(src, pos), DebugLevel); *) 63 iter := self.tbl.iterateOrdered(); 64 ind := pos; 65 original := ""; 66 REPEAT 67 INC(ind); (gdb) Any ideas what to look at? I don't know if this is relevant: [lapdog:~/t/cit_parse/PPC_DARWIN] mika% uname -a Darwin lapdog.local 7.9.0 Darwin Kernel Version 7.9.0: Wed Mar 30 20:11:17 PST 2005; root:xnu/xnu-517.12.7.obj~1/RELEASE_PPC Power Macintosh powerpc [lapdog:~/t/cit_parse/PPC_DARWIN] mika% gcc -v Reading specs from /usr/libexec/gcc/darwin/ppc/3.3/specs Thread model: posix gcc version 3.3 20030304 (Apple Computer, Inc. build 1666) Mika P.S. Am I correct in assuming that I can get CM3 to build on Windows? I could switch to CM3 on Unix any time, of course, but I've never had luck with it on Windows, which is why I am using the ancient Klagenfurt PM3, which comes on 40-odd "floppies" and a .EXE that unpacks them into C: (and installation instructions only in German). If CM3 doesn't work on Windows, I am essentially wasting my time, as the current project I am working on absolutely requires that the software run on Windows 2003 Server (yes, it sucks, but what can you do?) The very old PM3 at least kind of hobbles along on this platform---actually, better than that; it does Trestle natively under Windows (no X required), at least on SOME Windows machines. P.P.S. Sorry for all the postscripts, but is it true that the build system has been changed so that building with overrides (cm3 -x) requires having the compiler sources available? It didn't use to be that way, but I can't get Network Objects to work with overrides now unless I have the sources available... It's a bit of a pain because it means that every user has to have the compiler sources, or else ship everything, or was that not the intention? -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at cs.purdue.edu Fri Jun 29 20:24:16 2007 From: hosking at cs.purdue.edu (Antony Hosking) Date: Fri, 29 Jun 2007 18:24:16 -0000 Subject: [M3devel] LINUXLIBC6 problem In-Reply-To: <1183141221.9643.143.camel@faramir.m3w.org> References: <509060.60875.qm@web27114.mail.ukl.yahoo.com> <2F32FD3A-00FD-46E5-BB23-9DAB23003874@cs.purdue.edu> <1183141221.9643.143.camel@faramir.m3w.org> Message-ID: <8DBCD210-FD52-4EA5-9975-2D2500D612ED@cs.purdue.edu> This is what I am using currently for 32-bit cm3 running on AMD64 with 64-bit kernel. -------------- next part -------------- A non-text attachment was scrubbed... Name: cm3.cfg Type: application/octet-stream Size: 11966 bytes Desc: not available URL: -------------- next part -------------- I haven't done a build lately for regular Linux. On Jun 29, 2007, at 2:20 PM, Dragi?a Duri? wrote: > This being non-trivial... Can you provide us with diff of your systems > cm3.cfg before and after wrapper removal? > > dd > > On Fri, 2007-06-29 at 14:11 -0400, Tony Hosking wrote: >> You need to update your cm3.cfg to match the most recent version in >> cm3/m3-sys/cminstall/src/config/LINUXLIBC6. >> >> Wrapping of system calls is no longer needed (or supported) since the >> VM-synchronized GC has been discarded. >> >> On Jun 29, 2007, at 11:31 AM, Daniel Alejandro Benavides D. wrote: >> >>> Hi: >>> Trying to compile the last updated sources from cvs >>> repository, I get this with do-cm3.std.sh buildship, >>> I have done the do-cm3-std.sh realclean before: >>> >>> -> archiving libm3tools.a >>> --- shipping from LINUXLIBC6 --- >>> >>> . => /usr/local/cm3-cvs/pkg/m3tools/LINUXLIBC6 >>> .M3EXPORTS libm3tools.a libm3tools.m3x >>> .M3WEB >>> ../src => /usr/local/cm3-cvs/pkg/m3tools/src >>> M3Lexer.i3 M3Lexer.m3 M3AST.i3 >>> M3AST.m3 >>> M3Parse.m3 M3Scope.i3 M3Scope.m3 >>> M3Type.i3 >>> M3Type.m3 M3Const.m3 M3Const.i3 >>> M3SetVal.i3 >>> M3SetVal.m3 M3RecVal.i3 M3RecVal.m3 >>> M3ArrVal.i3 >>> M3ArrVal.m3 M3Builtin.i3 M3Builtin.m3 >>> ==> /home/danielb/cm3-cvs/cm3/m3-sys/m3tools done >>> >>> === package /home/danielb/cm3-cvs/cm3/m3-sys/m3cgcat >>> === >>> +++ /usr/local/cm3-cvs/bin/cm3 -build >>> -DROOT='/home/danielb/cm3-cvs/cm3' && >>> /usr/local/cm3-cvs/bin/cm3 -ship >>> -DROOT='/home/danielb/cm3-cvs/cm3' +++ >>> --- building in LINUXLIBC6 --- >>> >>> ignoring ../src/m3overrides >>> >>> new source -> compiling Main.m3 >>> -> linking m3cgcat >>> /usr/local/cm3-cvs/pkg/libm3/LINUXLIBC6/libm3.a(FSPosix.mo): >>> In function `FS__SetModificationTime':FSPosix.m3:345: >>> undefined reference to `__wrap_utimes' >>> collect2: ld returned 1 exit status >>> Fatal Error: package build failed >>> *** execution of failed *** >>> danielb at danielb-desktop:~/cm3-cvs/cm3/scripts$ >>> >>> >>> >>> Thanks >>> >>> >>> >>> ____________________________________________________________________ >>> __ >>> ______________ >>> ?Descubre una nueva forma de obtener respuestas a tus preguntas! >>> Entra en Yahoo! Respuestas. >>> http://es.answers.yahoo.com/info/welcome >> > -- > Dragi?a Duri? From rodney.bates at wichita.edu Fri Jun 1 22:57:35 2007 From: rodney.bates at wichita.edu (Rodney M. Bates) Date: Fri, 01 Jun 2007 15:57:35 -0500 Subject: [M3devel] Progress bootstrapping, but still trouble In-Reply-To: <4659B097.5040908@wichita.edu> References: <4659B097.5040908@wichita.edu> Message-ID: <4660883F.6030503@wichita.edu> My first problem bootstrapping cm3: ThreadPosix.i3: missing object types: _t1541f475 imported by: TimeStamp.m3 goes away when I either 1) delete the entire cm3 distribution and do a fresh cvs checkout, or 2) do a 'do-cm3-std.sh realclean'. Thanks to Antony for making me aware of 'realclean', which I hadn't known about. I have never been able to satisfactorily clean a cm3 tree before, with 'clean' giving lots of failure messages and removing things inside LINUXLIBC6 build directories leaving things unable to build due to missing files. My second problem: rodney at runnymede:/usr/local/cm3/bin$ file m3bundle m3bundle: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped rodney at runnymede:/usr/local/cm3/bin$ ./m3bundle -bash: ./m3bundle: No such file or directory went away after some work on finding libpthreads. Thanks to Daniel's web page for getting me to looking at libpthreads. My cm3.cfg already had, inside SYSTEM_LIBS, the line: "PTHREAD" : [ "-Xlinker", "-Bdynamic", "-L/lib", "-lpthread" ], For one thing, there are three places in my distribution with non-link versions of libpthread*.so: /lib, /lib/i686, and /usr/lib. They are all different in size, and I have no clue what the differences are, but only /usr/lib has a link named libpthread.so, so I guessed that was the right place and changed cm3.cfg to look there. That didn't change anything, (same size executable), but removing the "-Xlinker", "-Bdynamic", made cm3 compile an executable for m3bundle and other things that will load and run. There is a libpthread.a in /usr/lib (and nowhere else that I found.) But this is apparently not the whole story with libraries. Another program compiles to an executable with the same problem, i.e., attempts to execute it give -bash: ./LdlBatch: No such file or directory. The other lines in my SYSTEM_LIBS also had -Xlinker", "-Bdynamic", but removing them fro"X11" line gives me this: new "Version.io" -> linking LdlBatch /usr/local/cm3/pkg/ui/LINUXLIBC6/libm3ui.a(TrestleOS.mo): In function `TrestleOS__UserName': /home/rodney/proj/m3/cm3-fresh/cm3/m3-ui/ui/LINUXLIBC6/TrestleOS.m3:32: warning: Using 'getpwuid' in statically linked applications requires at runtime the shared libraries from theglibc version used for linking /usr/lib/libX11.a(x11_trans.o): In function `_X11TransSocketOpen': /usr/include/X11/Xtrans/Xtranssock.c:468: warning: Using 'getaddrinfo' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /usr/lib/libX11.a(imLcIm.o): In function `_XimWriteCachedDefaultTree': /usr/src/rpm/BUILD/libX11-1.0.3/modules/im/ximcp/imLcIm.c:476: warning: memset used with constant zero length parameter; this could be due to transposed parameters /usr/local/cm3/pkg/tcp/LINUXLIBC6/libm3tcp.a(IP.mo): In function `IP__GetCanonicalByAddr': /home/rodney/proj/m3/cm3-fresh/cm3/m3-comm/tcp/LINUXLIBC6/IP.m3:53: warning: Using 'gethostbyaddr' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /usr/local/cm3/pkg/tcp/LINUXLIBC6/libm3tcp.a(IP.mo): In function `IP__GetHostByName': /home/rodney/proj/m3/cm3-fresh/cm3/m3-comm/tcp/LINUXLIBC6/IP.m3:21: warning: Using 'gethostbyname' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /usr/lib/libX11.a(x11_trans.o): In function `_X11TransSocketINETConnect': /usr/include/X11/Xtrans/Xtranssock.c:1670: warning: Using 'getservbyname' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /usr/lib/libX11.a(ConnDis.o): In function `GetAuthorization': /usr/src/rpm/BUILD/libX11-1.0.3/src/ConnDis.c:1232: undefined reference to `XauDisposeAuth' /usr/src/rpm/BUILD/libX11-1.0.3/src/ConnDis.c:1037: undefined reference to `XauGetBestAuthByAddr' /usr/src/rpm/BUILD/libX11-1.0.3/src/ConnDis.c:1176: undefined reference to `XdmcpWrap' /usr/lib/libX11.a(CrGlCur.o): In function `open_library': /usr/src/rpm/BUILD/libX11-1.0.3/src/CrGlCur.c:72: undefined reference to `dlopen' /usr/lib/libX11.a(CrGlCur.o): In function `fetch_symbol': /usr/src/rpm/BUILD/libX11-1.0.3/src/CrGlCur.c:107: undefined reference to `dlsym' /usr/src/rpm/BUILD/libX11-1.0.3/src/CrGlCur.c:109: undefined reference to `dlsym' collect2: ld returned 1 exit status Fatal Error: package build failed Anyone have any ideas on why neither dynamic nor static linking works, or how to figure out what version of the libraries I need? Better yet, can anyone point me to some real documentation on Linux dynamic linking in general? I've always been overwhelmed with false hits when trying to find it with a search engine. -- ------------------------------------------------------------- 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 Jun 1 23:10:47 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Fri, 1 Jun 2007 17:10:47 -0400 Subject: [M3devel] Progress bootstrapping, but still trouble In-Reply-To: <4660883F.6030503@wichita.edu> References: <4659B097.5040908@wichita.edu> <4660883F.6030503@wichita.edu> Message-ID: <2EB5C3FA-9082-4875-8BA8-F439524E2B1B@cs.purdue.edu> I'm not sure about the details of you system, but you may find the attached cm3.cfg for LINUXLIBC6 to be useful. It works for me on Fedora Core. You should modify the paths as appropriate for your Linux installation. -------------- next part -------------- A non-text attachment was scrubbed... Name: cm3.cfg Type: application/octet-stream Size: 12122 bytes Desc: not available URL: -------------- next part -------------- On Jun 1, 2007, at 4:57 PM, Rodney M. Bates wrote: > My first problem bootstrapping cm3: > > ThreadPosix.i3: missing object types: _t1541f475 > imported by: TimeStamp.m3 > > goes away when I either 1) delete the entire cm3 distribution and > do a fresh cvs checkout, > or 2) do a 'do-cm3-std.sh realclean'. > > Thanks to Antony for making me aware of 'realclean', which I hadn't > known about. I have never > been able to satisfactorily clean a cm3 tree before, with 'clean' > giving lots of failure messages > and removing things inside LINUXLIBC6 build directories leaving > things unable to build due to > missing files. > > My second problem: > > rodney at runnymede:/usr/local/cm3/bin$ file m3bundle > m3bundle: ELF 32-bit LSB executable, Intel 80386, version 1 > (SYSV), for GNU/Linux 2.6.9, > dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not > stripped > rodney at runnymede:/usr/local/cm3/bin$ ./m3bundle > -bash: ./m3bundle: No such file or directory > > went away after some work on finding libpthreads. Thanks to > Daniel's web page for getting me > to looking at libpthreads. > > My cm3.cfg already had, inside SYSTEM_LIBS, the line: > > "PTHREAD" : [ "-Xlinker", "-Bdynamic", "-L/lib", "-lpthread" ], > > For one thing, there are three places in my distribution with non- > link versions of libpthread*.so: > /lib, /lib/i686, and /usr/lib. They are all different in size, and > I have no clue what the > differences are, but only /usr/lib has a link named libpthread.so, > so I guessed that was the > right place and changed cm3.cfg to look there. > > That didn't change anything, (same size executable), but removing > the "-Xlinker", "-Bdynamic", made > cm3 compile an executable for m3bundle and other things that will > load and run. There is a > libpthread.a in /usr/lib (and nowhere else that I found.) > > But this is apparently not the whole story with libraries. > Another program compiles to an executable with the same problem, > i.e., attempts > to execute it give -bash: ./LdlBatch: No such file or directory. > The other lines > in my SYSTEM_LIBS also had -Xlinker", "-Bdynamic", but removing > them fro"X11" line > gives me this: > > new "Version.io" -> linking LdlBatch > /usr/local/cm3/pkg/ui/LINUXLIBC6/libm3ui.a(TrestleOS.mo): In > function `TrestleOS__UserName': > /home/rodney/proj/m3/cm3-fresh/cm3/m3-ui/ui/LINUXLIBC6/ > TrestleOS.m3:32: warning: Using 'getpwuid' in statically linked > applications requires at runtime the shared libraries from theglibc > version used for linking > /usr/lib/libX11.a(x11_trans.o): In function `_X11TransSocketOpen': > /usr/include/X11/Xtrans/Xtranssock.c:468: warning: Using > 'getaddrinfo' in statically linked applications requires at runtime > the shared libraries from the glibc version used for linking > /usr/lib/libX11.a(imLcIm.o): In function `_XimWriteCachedDefaultTree': > /usr/src/rpm/BUILD/libX11-1.0.3/modules/im/ximcp/imLcIm.c:476: > warning: memset used with constant zero length parameter; this > could be due to transposed parameters > /usr/local/cm3/pkg/tcp/LINUXLIBC6/libm3tcp.a(IP.mo): In function > `IP__GetCanonicalByAddr': > /home/rodney/proj/m3/cm3-fresh/cm3/m3-comm/tcp/LINUXLIBC6/IP.m3:53: > warning: Using 'gethostbyaddr' in statically linked applications > requires at runtime the shared libraries from the glibc version > used for linking > /usr/local/cm3/pkg/tcp/LINUXLIBC6/libm3tcp.a(IP.mo): In function > `IP__GetHostByName': > /home/rodney/proj/m3/cm3-fresh/cm3/m3-comm/tcp/LINUXLIBC6/IP.m3:21: > warning: Using 'gethostbyname' in statically linked applications > requires at runtime the shared libraries from the glibc version > used for linking > /usr/lib/libX11.a(x11_trans.o): In function > `_X11TransSocketINETConnect': > /usr/include/X11/Xtrans/Xtranssock.c:1670: warning: Using > 'getservbyname' in statically linked applications requires at > runtime the shared libraries from the glibc version used for linking > /usr/lib/libX11.a(ConnDis.o): In function `GetAuthorization': > /usr/src/rpm/BUILD/libX11-1.0.3/src/ConnDis.c:1232: undefined > reference to `XauDisposeAuth' > /usr/src/rpm/BUILD/libX11-1.0.3/src/ConnDis.c:1037: undefined > reference to `XauGetBestAuthByAddr' > /usr/src/rpm/BUILD/libX11-1.0.3/src/ConnDis.c:1176: undefined > reference to `XdmcpWrap' > /usr/lib/libX11.a(CrGlCur.o): In function `open_library': > /usr/src/rpm/BUILD/libX11-1.0.3/src/CrGlCur.c:72: undefined > reference to `dlopen' > /usr/lib/libX11.a(CrGlCur.o): In function `fetch_symbol': > /usr/src/rpm/BUILD/libX11-1.0.3/src/CrGlCur.c:107: undefined > reference to `dlsym' > /usr/src/rpm/BUILD/libX11-1.0.3/src/CrGlCur.c:109: undefined > reference to `dlsym' > collect2: ld returned 1 exit status > Fatal Error: package build failed > > Anyone have any ideas on why neither dynamic nor static linking > works, or how to figure out what > version of the libraries I need? Better yet, can anyone point me > to some real documentation on > Linux dynamic linking in general? I've always been overwhelmed > with false hits when trying to find > it with a search engine. > > > > > > > > > > -- > ------------------------------------------------------------- > 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 ronny.forberger at elegosoft.com Fri Jun 1 23:53:59 2007 From: ronny.forberger at elegosoft.com (Ronny Forberger) Date: Fri, 01 Jun 2007 23:53:59 +0200 Subject: [M3devel] [cm3] [partially-solved] unresolved pthread symbols during bootstrap In-Reply-To: <20070530234204.77087.qmail@web27115.mail.ukl.yahoo.com> References: <20070530234204.77087.qmail@web27115.mail.ukl.yahoo.com> Message-ID: <46609577.9040600@elegosoft.com> Hi, the pthread symbol problem has solved for me. I was using development version of cm3. Now having checked out release_cm3_5_4_0 the symbols weren't needed, not even it was necessary to add PTHREAD to any array in cm3.cfg. But I now getting another issue: Though the build process successfully went though the ./do-cm3-core.sh buildship ./install-cm3-compiler.sh upgrade ./do-cm3-std.sh buildship commands, I can't see m3build binary having been built or installed. The documentation couldn't give me any answer on here as well. Have you got ideas again ? Thank you. Ronny Daniel Alejandro Benavides D. wrote: > Hi, > Looks that you haven't used the SYSTEM_LIBORDER array, > must be "PTHREAD" there in order to really link it. > > Maybe this little guide can help. Can have several > omissions, but It works well in (K)ubuntu 6.06 and > 6.10 > http://es.geocities.com/dabenavidesd/InstallationGuidecm3-Modula-3.html#SECTION00033000000000000000 > > > --- Ronny Forberger > wrote: > >> Dear m3-Developers, >> >> I could not successfully build the cm3 compiler when >> invoking >> >> >> >> >>> ./do-cm3-std.sh buildship >>> >> from the script directory as described in the >> documentation. >> >> The build process stops by the following: >> >> >>> === package /root/cm3/m3-sys/m3cgcat === >>> +++ cm3 -build -DROOT='/root/cm3' && cm3 -ship >>> >> -DROOT='/root/cm3' +++ >> >>> --- building in LINUXLIBC6 --- >>> >>> ignoring ../src/m3overrides >>> >>> -> linking m3cgcat >>> >>> > /usr/local/cm3/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): > >> In >> >>> function `ThreadPThread__InnerLockMutex': >>> >>> > /root/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:142: > >> undefined >> >>> reference to `pthread_cond_wait' >>> >>> >> [ some similar lines removed ] >> >> >>> > /usr/local/cm3/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): > >> In >> >>> function `RTHooks__PushEFrame': >>> >>> > /root/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1429: > >> undefined >> >>> reference to `pthread_getspecific' >>> >>> > /root/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1430: > >> undefined >> >>> reference to `pthread_setspecific' >>> >>> > /usr/local/cm3/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): > >> In >> >>> function `RTHooks__PopEFrame': >>> >>> > /root/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1437: > >> undefined >> >>> reference to `pthread_setspecific' >>> >>> > /usr/local/cm3/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): > >> In >> >>> function `ThreadPThread__InitHandlers': >>> >>> > /root/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1442: > >> undefined >> >>> reference to `pthread_key_create' >>> >>> > /root/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1443: > >> undefined >> >>> reference to `pthread_setspecific' >>> >>> > /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libc.a(vfork.o): > >> In >> >>> function `vfork': >>> (.text+0x1): undefined reference to >>> >> `pthread_create' >> >>> collect2: ld returned 1 exit status >>> Fatal Error: package build failed >>> *** execution of failed *** >>> >> Looks like gcc cannot link against the pthread-lib. >> >> I have already added >> >> >>> "PTHREAD" : [ "-L/usr/lib", "-lpthread" ] >>> >> to the SYSTEM_LIBS array in cm3.cfg. >> >> This is a Debian 4.0 'etch' system (x86) where >> libpthread.a resides in >> /usr/lib. >> >> I can build trivial C programs like gcc foo.c -L >> /usr/lib -lpthread >> arccordingly which become linked against >> libpthread.a properly. >> >> >> Do you have any glues? >> >> Best regards, >> >> Ronny >> >> -- >> Ronny Forberger >> Systemadministrator >> >> elego Software Solutions GmbH >> ronny.forberger(at)elegosoft.com >> Ohmstra?e 9, 10179 Berlin HRB 77719 >> Tel.: +49 30 23 45 86 96 Amtsgericht >> Charlottenburg >> Fax: +49 30 23 45 86 95 Sitz der >> Gesellschaft: Berlin >> http://www.elegosoft.com >> Gesch?ftsf?hrer: Olaf Wagner >> >> Bitte senden Sie Ihre technischen Support-Anfragen >> an admins(at)elego.de . >> >> >> > > > > > ______________________________________________ > LLama Gratis a cualquier PC del Mundo. > Llamadas a fijos y m?viles desde 1 c?ntimo por minuto. > http://es.voice.yahoo.com > -- Ronny Forberger Systemadministrator elego Software Solutions GmbH ronny.forberger(at)elegosoft.com Ohmstra??e 9, 10179 Berlin HRB 77719 Tel.: +49 30 23 45 86 96 Amtsgericht Charlottenburg Fax: +49 30 23 45 86 95 Sitz der Gesellschaft: Berlin http://www.elegosoft.com Gesch?EURftsf?OEhrer: Olaf Wagner Bitte senden Sie Ihre technischen Support-Anfragen an admins(at)elego.de . -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at cs.purdue.edu Sat Jun 2 00:00:20 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Fri, 1 Jun 2007 18:00:20 -0400 Subject: [M3devel] [cm3] [partially-solved] unresolved pthread symbols during bootstrap In-Reply-To: <46609577.9040600@elegosoft.com> References: <20070530234204.77087.qmail@web27115.mail.ukl.yahoo.com> <46609577.9040600@elegosoft.com> Message-ID: <044271FE-469C-4076-9FB8-A50C4FEB1122@cs.purdue.edu> m3build is from the old PM3 system. You use cm3 as the new compiler with the CM3 distribution. On Jun 1, 2007, at 5:53 PM, Ronny Forberger wrote: > Hi, > > the pthread symbol problem has solved for me. I was using > development version of cm3. Now having checked out > release_cm3_5_4_0 the symbols weren't needed, not even it was > necessary to add PTHREAD to any array in cm3.cfg. > > But I now getting another issue: > > Though the build process successfully went though the > > ./do-cm3-core.sh buildship > ./install-cm3-compiler.sh upgrade > ./do-cm3-std.sh buildship > > commands, I can't see m3build binary having been built or installed. > > The documentation couldn't give me any answer on here as well. > > Have you got ideas again ? > > Thank you. > > Ronny > > > > > > > Daniel Alejandro Benavides D. wrote: >> Hi, Looks that you haven't used the SYSTEM_LIBORDER array, must be >> "PTHREAD" there in order to really link it. Maybe this little >> guide can help. Can have several omissions, but It works well in >> (K)ubuntu 6.06 and 6.10 http://es.geocities.com/dabenavidesd/ >> InstallationGuidecm3-Modula-3.html#SECTION00033000000000000000 --- >> Ronny Forberger wrote: >>> Dear m3-Developers, I could not successfully build the cm3 >>> compiler when invoking >>>> ./do-cm3-std.sh buildship >>> from the script directory as described in the documentation. The >>> build process stops by the following: >>>> === package /root/cm3/m3-sys/m3cgcat === +++ cm3 -build -DROOT='/ >>>> root/cm3' && cm3 -ship >>> -DROOT='/root/cm3' +++ >>>> --- building in LINUXLIBC6 --- ignoring ../src/m3overrides -> >>>> linking m3cgcat >> /usr/local/cm3/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): >>> In >>>> function `ThreadPThread__InnerLockMutex': >> /root/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:142: >>> undefined >>>> reference to `pthread_cond_wait' >>> [ some similar lines removed ] >> /usr/local/cm3/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): >>> In >>>> function `RTHooks__PushEFrame': >> /root/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1429: >>> undefined >>>> reference to `pthread_getspecific' >> /root/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1430: >>> undefined >>>> reference to `pthread_setspecific' >> /usr/local/cm3/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): >>> In >>>> function `RTHooks__PopEFrame': >> /root/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1437: >>> undefined >>>> reference to `pthread_setspecific' >> /usr/local/cm3/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): >>> In >>>> function `ThreadPThread__InitHandlers': >> /root/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1442: >>> undefined >>>> reference to `pthread_key_create' >> /root/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1443: >>> undefined >>>> reference to `pthread_setspecific' >> /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libc.a(vfork.o): >>> In >>>> function `vfork': (.text+0x1): undefined reference to >>> `pthread_create' >>>> collect2: ld returned 1 exit status Fatal Error: package build >>>> failed *** execution of failed *** >>> Looks like gcc cannot link against the pthread-lib. I have >>> already added >>>> "PTHREAD" : [ "-L/usr/lib", "-lpthread" ] >>> to the SYSTEM_LIBS array in cm3.cfg. This is a Debian 4.0 'etch' >>> system (x86) where libpthread.a resides in /usr/lib. I can build >>> trivial C programs like gcc foo.c -L /usr/lib -lpthread >>> arccordingly which become linked against libpthread.a properly. >>> Do you have any glues? Best regards, Ronny -- Ronny Forberger >>> Systemadministrator elego Software Solutions GmbH ronny.forberger >>> (at)elegosoft.com Ohmstra?e 9, 10179 Berlin HRB 77719 Tel.: +49 >>> 30 23 45 86 96 Amtsgericht Charlottenburg Fax: +49 30 23 45 86 95 >>> Sitz der Gesellschaft: Berlin http://www.elegosoft.com >>> Gesch?ftsf?hrer: Olaf Wagner Bitte senden Sie Ihre technischen >>> Support-Anfragen an admins(at)elego.de . >> ______________________________________________ LLama Gratis a >> cualquier PC del Mundo. Llamadas a fijos y m?viles desde 1 >> c?ntimo por minuto. http://es.voice.yahoo.com > > > -- Ronny Forberger Systemadministrator elego Software Solutions > GmbH ronny.forberger(at)elegosoft.com Ohmstra??e 9, 10179 Berlin > HRB 77719 Tel.: +49 30 23 45 86 96 Amtsgericht Charlottenburg Fax: > +49 30 23 45 86 95 Sitz der Gesellschaft: Berlin http:// > www.elegosoft.com Gesch??ftsf??hrer: Olaf Wagner Bitte senden > Sie Ihre technischen Support-Anfragen an admins(at)elego.de . From ronny.forberger at elegosoft.com Mon Jun 4 12:27:40 2007 From: ronny.forberger at elegosoft.com (Ronny Forberger) Date: Mon, 04 Jun 2007 12:27:40 +0200 Subject: [M3devel] errors building cvsup wih cm3 Message-ID: <4663E91C.1090701@elegosoft.com> Hi there, since I've been able to build the cm3 compiler successfully on Debian Linux 'etch' x86, I'm faced up to some other build problem: When trying to build cvsup-snap-16.1h from sources using cm3 my build process stops by the following error: > make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/suptcp' > cm3 > --- building in LINUXLIBC6 --- > > > Fatal Error: duplicate unit: > /usr/local/cm3/pkg/tcp/src/POSIX/SockOpt.i3 ../src/POSIX/SockOpt.i3 > > make[2]: *** [all] Error 1 > make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/suptcp' > ===> suplib > make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/suplib' > cm3 > --- building in LINUXLIBC6 --- > > new source -> compiling TokScan.i3 > "../src/TokScan.i3", line 36: unable to find interface (IP) > 1 error encountered > new source -> compiling FileAttr.i3 > "../src/FileAttr.i3", line 33: imported interface contains errors > (TokScan) > 1 error encountered > new source -> compiling FileAttrRep.i3 > "../src/FileAttrRep.i3", line 33: imported interface contains errors > (FileAttr) > 1 error encountered > new source -> compiling FileAttrOS.m3 > "../src/POSIX/FileAttrOS.m3", line 31: imported interface contains > errors (FileAttr) > "../src/POSIX/FileAttrOS.m3", line 31: imported interface contains > errors (FileAttrRep) > 2 errors encountered > new source -> compiling SupFileRec.i3 > "../src/SupFileRec.i3", line 36: imported interface contains errors > (FileAttr) > "../src/SupFileRec.i3", line 37: imported interface contains errors > (TokScan) > 2 errors encountered > new source -> compiling SupMisc.i3 > "../src/SupMisc.i3", line 37: unable to find interface (IP) > "../src/SupMisc.i3", line 37: imported interface contains errors > (SupFileRec) > "../src/SupMisc.i3", line 39: unable to find interface (SupTCP) > 3 errors encountered > new source -> compiling PathComp.m3 > "../src/PathComp.m3", line 33: imported interface contains errors > (SupMisc) > 1 error encountered > new source -> compiling ChannelMux.i3 > "../src/ChannelMux.i3", line 33: unable to find interface (IP) > "../src/ChannelMux.i3", line 34: unable to find interface (SupConnFD) > 2 errors encountered > new source -> compiling ChannelMux.m3 > "../src/ChannelMux.m3", line 32: imported interface contains errors > (ChannelMux) > "../src/ChannelMux.m3", line 35: unable to find interface (IP) > "../src/ChannelMux.m3", line 35: unable to find interface (TCP) > "../src/ChannelMux.m3", line 36: unable to find interface (SupConnFD) > 4 errors encountered > new source -> compiling AuthMD5.i3 > "../src/AuthMD5.i3", line 33: unable to find interface (IP) > 1 error encountered > new source -> compiling AuthMD5.m3 > "../src/AuthMD5.m3", line 31: imported interface contains errors (AuthMD5) > "../src/AuthMD5.m3", line 33: unable to find interface (IP) > 2 errors encountered > new source -> compiling TokScan.m3 > "../src/TokScan.m3", line 31: imported interface contains errors (TokScan) > "../src/TokScan.m3", line 34: unable to find interface (IP) > "../src/TokScan.m3", line 34: imported interface contains errors (SupMisc) > 3 errors encountered > new source -> compiling DevT.i3 > "../src/DevT.i3", line 38: imported interface contains errors (TokScan) > 1 error encountered > new source -> compiling UnixMisc.i3 > "../src/UnixMisc.i3", line 35: unable to find interface (IP) > 1 error encountered > new source -> compiling FileAttr.m3 > "../src/FileAttr.m3", line 31: imported interface contains errors > (FileAttr) > "../src/FileAttr.m3", line 31: imported interface contains errors > (FileAttrRep) > "../src/FileAttr.m3", line 34: imported interface contains errors (DevT) > "../src/FileAttr.m3", line 35: imported interface contains errors > (SupMisc) > "../src/FileAttr.m3", line 36: imported interface contains errors > (TokScan) > "../src/FileAttr.m3", line 36: imported interface contains errors > (UnixMisc) > 6 errors encountered > new source -> compiling FileID.i3 > "../src/FileID.i3", line 33: imported interface contains errors (FileAttr) > 1 error encountered > new source -> compiling FileID.m3 > "../src/FileID.m3", line 31: imported interface contains errors (FileID) > "../src/FileID.m3", line 34: imported interface contains errors (DevT) > "../src/FileID.m3", line 34: imported interface contains errors (FileAttr) > "../src/FileID.m3", line 34: imported interface contains errors > (FileAttrRep) > 4 errors encountered > new source -> compiling CVProto.i3 > "../src/CVProto.i3", line 33: imported interface contains errors > (FileAttr) > "../src/CVProto.i3", line 33: imported interface contains errors (TokScan) > 2 errors encountered > new source -> compiling CVProto.m3 > "../src/CVProto.m3", line 35: imported interface contains errors (CVProto) > "../src/CVProto.m3", line 38: imported interface contains errors (SupMisc) > "../src/CVProto.m3", line 38: imported interface contains errors (TokScan) > 3 errors encountered > new source -> compiling ErrMsg.m3 > "../src/ErrMsg.m3", line 34: unable to find interface (IP) > "../src/ErrMsg.m3", line 34: imported interface contains errors (TokScan) > "../src/ErrMsg.m3", line 36: unable to find interface (SupTCP) > 3 errors encountered > new source -> compiling DirEntry.i3 > "../src/DirEntry.i3", line 37: imported interface contains errors > (FileAttr) > 1 error encountered > new source -> compiling DirEntry.m3 > "../src/DirEntry.m3", line 31: imported interface contains errors > (DirEntry) > 1 error encountered > new source -> compiling DirEntryList.i3 > "../LINUXLIBC6/DirEntryList.i3 => > /usr/local/cm3/pkg/libm3/src/list/List.ig", line 29: imported > interface contains errors (DirEntry) > 1 error encountered > new source -> compiling DirEntryList.m3 > "../LINUXLIBC6/DirEntryList.m3", line 3: imported interface contains > errors (DirEntryList) > "../LINUXLIBC6/DirEntryList.m3 => > /usr/local/cm3/pkg/libm3/src/list/List.mg", line 11: imported > interface contains errors (DirEntry) > 2 errors encountered > new source -> compiling DirEntryListSort.i3 > "../LINUXLIBC6/DirEntryListSort.i3 => > /usr/local/cm3/pkg/libm3/src/list/ListSort.ig", line 28: imported > interface contains errors (DirEntry) > "../LINUXLIBC6/DirEntryListSort.i3 => > /usr/local/cm3/pkg/libm3/src/list/ListSort.ig", line 28: imported > interface contains errors (DirEntryList) > 2 errors encountered > new source -> compiling DirEntryListSort.m3 > "../LINUXLIBC6/DirEntryListSort.m3", line 3: imported interface > contains errors (DirEntryListSort) > "../LINUXLIBC6/DirEntryListSort.m3 => > /usr/local/cm3/pkg/libm3/src/list/ListSort.mg", line 10: imported > interface contains errors (DirEntry) > 2 errors encountered > new source -> compiling RCSDate.m3 > "../src/RCSDate.m3", line 34: imported interface contains errors (TokScan) > 1 error encountered > new source -> compiling RCSFile.i3 > "../src/RCSFile.i3", line 37: imported interface contains errors > (FileAttr) > 1 error encountered > new source -> compiling RCSDeltaClass.i3 > "../src/RCSDeltaClass.i3", line 37: imported interface contains errors > (RCSFile) > 1 error encountered > new source -> compiling RCSDelta.m3 > "../src/RCSDelta.m3", line 31: imported interface contains errors > (RCSDeltaClass) > "../src/RCSDelta.m3", line 34: imported interface contains errors > (RCSFile) > "../src/RCSDelta.m3", line 35: imported interface contains errors > (TokScan) > 3 errors encountered > new source -> compiling RCSKeyword.m3 > "../src/RCSKeyword.m3", line 34: imported interface contains errors > (RCSDeltaClass) > "../src/RCSKeyword.m3", line 35: imported interface contains errors > (SupMisc) > 2 errors encountered > new source -> compiling RCSFile.m3 > "../src/RCSFile.m3", line 31: imported interface contains errors (RCSFile) > "../src/RCSFile.m3", line 34: imported interface contains errors > (FileAttr) > "../src/RCSFile.m3", line 36: imported interface contains errors > (RCSDeltaClass) > "../src/RCSFile.m3", line 39: imported interface contains errors (TokScan) > "../src/RCSFile.m3", line 39: imported interface contains errors > (UnixMisc) > 5 errors encountered > new source -> compiling SupFileRec.m3 > "../src/SupFileRec.m3", line 31: imported interface contains errors > (SupFileRec) > "../src/SupFileRec.m3", line 34: imported interface contains errors > (FileAttr) > "../src/SupFileRec.m3", line 35: imported interface contains errors > (TokScan) > 3 errors encountered > new source -> compiling SupMisc.m3 > "../src/SupMisc.m3", line 31: imported interface contains errors (SupMisc) > "../src/SupMisc.m3", line 34: imported interface contains errors > (FileAttr) > "../src/SupMisc.m3", line 34: unable to find interface (IP) > "../src/SupMisc.m3", line 35: imported interface contains errors > (SupFileRec) > "../src/SupMisc.m3", line 36: imported interface contains errors (TokScan) > "../src/SupMisc.m3", line 37: unable to find interface (SupTCP) > 6 errors encountered > new source -> compiling FileStatus.i3 > "../src/FileStatus.i3", line 33: imported interface contains errors > (FileAttr) > 1 error encountered > new source -> compiling FileStatusRaw.i3 > "../src/FileStatusRaw.i3", line 33: imported interface contains errors > (FileStatus) > 1 error encountered > new source -> compiling FileStatus.m3 > "../src/FileStatus.m3", line 31: imported interface contains errors > (FileStatus) > "../src/FileStatus.m3", line 31: imported interface contains errors > (FileStatusRaw) > "../src/FileStatus.m3", line 34: imported interface contains errors > (FileAttr) > "../src/FileStatus.m3", line 34: imported interface contains errors > (SupMisc) > "../src/FileStatus.m3", line 34: imported interface contains errors > (TokScan) > 5 errors encountered > new source -> compiling StatusFile.i3 > "../src/StatusFile.i3", line 33: imported interface contains errors > (FileStatus) > "../src/StatusFile.i3", line 33: imported interface contains errors > (SupFileRec) > 2 errors encountered > new source -> compiling StatusFile.m3 > "../src/StatusFile.m3", line 31: imported interface contains errors > (StatusFile) > "../src/StatusFile.m3", line 34: imported interface contains errors > (FileAttr) > "../src/StatusFile.m3", line 34: imported interface contains errors > (FileStatus) > "../src/StatusFile.m3", line 34: imported interface contains errors > (FileStatusRaw) > "../src/StatusFile.m3", line 35: imported interface contains errors > (SupFileRec) > "../src/StatusFile.m3", line 35: imported interface contains errors > (SupMisc) > 6 errors encountered > new source -> compiling CVTree.i3 > "../src/CVTree.i3", line 37: imported interface contains errors (FileAttr) > 1 error encountered > new source -> compiling CVTree.m3 > "../src/CVTree.m3", line 31: imported interface contains errors (CVTree) > "../src/CVTree.m3", line 34: imported interface contains errors (DirEntry) > "../src/CVTree.m3", line 34: imported interface contains errors > (DirEntryList) > "../src/CVTree.m3", line 34: imported interface contains errors > (DirEntryListSort) > "../src/CVTree.m3", line 34: imported interface contains errors (FileAttr) > "../src/CVTree.m3", line 35: imported interface contains errors (SupMisc) > 6 errors encountered > new source -> compiling GzipRd.i3 > "../src/GzipRd.i3", line 36: unable to find interface (StreamRd) > 1 error encountered > new source -> compiling GzipRd.m3 > "../src/GzipRd.m3", line 31: imported interface contains errors (GzipRd) > "../src/GzipRd.m3", line 34: unable to find interface (StreamRdClass) > 2 errors encountered > new source -> compiling GzipWr.i3 > "../src/GzipWr.i3", line 36: unable to find interface (StreamWr) > 1 error encountered > new source -> compiling GzipWr.m3 > "../src/GzipWr.m3", line 31: imported interface contains errors (GzipWr) > "../src/GzipWr.m3", line 34: unable to find interface (StreamWrClass) > 2 errors encountered > new source -> compiling RsyncFile.i3 > "../src/RsyncFile.i3", line 33: imported interface contains errors > (FileAttr) > 1 error encountered > new source -> compiling RsyncFile.m3 > "../src/RsyncFile.m3", line 31: imported interface contains errors > (RsyncFile) > "../src/RsyncFile.m3", line 34: imported interface contains errors > (FileAttr) > "../src/RsyncFile.m3", line 35: imported interface contains errors > (UnixMisc) > 3 errors encountered > new source -> compiling SigHandler.m3 > "../src/SigHandler.m3", line 48: imported interface contains errors > (UnixMisc) > "../src/SigHandler.m3", line 50: unable to find interface (SupErrno) > 2 errors encountered > new source -> compiling UnixMisc.m3 > "../src/UnixMisc.m3", line 31: imported interface contains errors > (UnixMisc) > "../src/UnixMisc.m3", line 34: unable to find interface (IP) > 2 errors encountered > new source -> compiling Attic.i3 > "../src/Attic.i3", line 37: imported interface contains errors (FileAttr) > "../src/Attic.i3", line 37: imported interface contains errors (RCSFile) > 2 errors encountered > new source -> compiling Attic.m3 > "../src/Attic.m3", line 31: imported interface contains errors (Attic) > "../src/Attic.m3", line 34: imported interface contains errors (FileAttr) > "../src/Attic.m3", line 34: imported interface contains errors (RCSFile) > "../src/Attic.m3", line 35: imported interface contains errors (SupMisc) > "../src/Attic.m3", line 35: imported interface contains errors (UnixMisc) > 5 errors encountered > new source -> compiling DevTLinux.i3 > "../src/dev_t_linux/DevTLinux.i3", line 38: imported interface > contains errors (DevT) > 1 error encountered > new source -> compiling DevT.m3 > "../src/dev_t_linux/DevT.m3", line 31: imported interface contains > errors (DevT) > "../src/dev_t_linux/DevT.m3", line 34: imported interface contains > errors (DevTLinux) > "../src/dev_t_linux/DevT.m3", line 34: imported interface contains > errors (TokScan) > 3 errors encountered > new source -> compiling SupMiscText.m3 > "../src/text_cm3/SupMiscText.m3", line 35: imported interface contains > errors (SupMisc) > 1 error encountered > compilation failed => not building library "libsuplib.a" > Fatal Error: package build failed > make[2]: *** [all] Error 1 > make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/suplib' > ===> server > make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/server' > cm3 > --- building in LINUXLIBC6 --- > > package "suptcp" is already overridden to > /home/rforb/work/cvsup-snap-16.1h/server/src/../.., ignoring new > override to /home/rforb/work/cvsup-snap-16.1h/suplib/src/../.. > > > Fatal Error: missing source file: FileAttr.i3 > > make[2]: *** [all] Error 1 > make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/server' > ===> client > make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/client' > cm3 > --- building in LINUXLIBC6 --- > > package "suptcp" is already overridden to > /home/rforb/work/cvsup-snap-16.1h/client/src/../.., ignoring new > override to /home/rforb/work/cvsup-snap-16.1h/suplib/src/../.. > > > Fatal Error: missing source file: SupFileRec.i3 > > make[2]: *** [all] Error 1 > make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/client' > ===> cvpasswd > make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/cvpasswd' > cm3 > --- building in LINUXLIBC6 --- > > > Fatal Error: missing source file: AuthMD5.i3 > > make[2]: *** [all] Error 1 > make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/cvpasswd' > make[1]: *** [subdirs] Error 2 > make[1]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h' > make: *** [all] Error 2 Looks like aside some other errors, it doesn't find all the .i3 files, though I can see all of them existing. Do I possibly have to tell the cm3 compiler where to find them? What do all the "imported interface contains errors (...)" messages have to mean and how to fix this ? Regards, Ronny -- Ronny Forberger Systemadministrator elego Software Solutions GmbH ronny.forberger(at)elegosoft.com Ohmstra?e 9, 10179 Berlin HRB 77719 Tel.: +49 30 23 45 86 96 Amtsgericht Charlottenburg Fax: +49 30 23 45 86 95 Sitz der Gesellschaft: Berlin http://www.elegosoft.com Gesch?ftsf?hrer: Olaf Wagner Bitte senden Sie Ihre technischen Support-Anfragen an admins(at)elego.de . From jdp at polstra.com Mon Jun 4 17:11:56 2007 From: jdp at polstra.com (John Polstra) Date: Mon, 04 Jun 2007 08:11:56 -0700 Subject: [M3devel] errors building cvsup wih cm3 In-Reply-To: <4663E91C.1090701@elegosoft.com> References: <4663E91C.1090701@elegosoft.com> Message-ID: <46642BBC.90500@polstra.com> There is a patch for CVSup that you have to apply before you can build it with cm3. Look on the cm3 downloads page, and you'll find it. John Ronny Forberger wrote: > Hi there, > > since I've been able to build the cm3 compiler successfully on Debian > Linux 'etch' x86, I'm faced up to some other build problem: > > When trying to build cvsup-snap-16.1h from sources using cm3 my build > process stops by the following error: > >> make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/suptcp' >> cm3 >> --- building in LINUXLIBC6 --- >> >> >> Fatal Error: duplicate unit: >> /usr/local/cm3/pkg/tcp/src/POSIX/SockOpt.i3 ../src/POSIX/SockOpt.i3 >> >> make[2]: *** [all] Error 1 >> make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/suptcp' >> ===> suplib >> make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/suplib' >> cm3 >> --- building in LINUXLIBC6 --- >> >> new source -> compiling TokScan.i3 >> "../src/TokScan.i3", line 36: unable to find interface (IP) >> 1 error encountered >> new source -> compiling FileAttr.i3 >> "../src/FileAttr.i3", line 33: imported interface contains errors >> (TokScan) >> 1 error encountered >> new source -> compiling FileAttrRep.i3 >> "../src/FileAttrRep.i3", line 33: imported interface contains errors >> (FileAttr) >> 1 error encountered >> new source -> compiling FileAttrOS.m3 >> "../src/POSIX/FileAttrOS.m3", line 31: imported interface contains >> errors (FileAttr) >> "../src/POSIX/FileAttrOS.m3", line 31: imported interface contains >> errors (FileAttrRep) >> 2 errors encountered >> new source -> compiling SupFileRec.i3 >> "../src/SupFileRec.i3", line 36: imported interface contains errors >> (FileAttr) >> "../src/SupFileRec.i3", line 37: imported interface contains errors >> (TokScan) >> 2 errors encountered >> new source -> compiling SupMisc.i3 >> "../src/SupMisc.i3", line 37: unable to find interface (IP) >> "../src/SupMisc.i3", line 37: imported interface contains errors >> (SupFileRec) >> "../src/SupMisc.i3", line 39: unable to find interface (SupTCP) >> 3 errors encountered >> new source -> compiling PathComp.m3 >> "../src/PathComp.m3", line 33: imported interface contains errors >> (SupMisc) >> 1 error encountered >> new source -> compiling ChannelMux.i3 >> "../src/ChannelMux.i3", line 33: unable to find interface (IP) >> "../src/ChannelMux.i3", line 34: unable to find interface (SupConnFD) >> 2 errors encountered >> new source -> compiling ChannelMux.m3 >> "../src/ChannelMux.m3", line 32: imported interface contains errors >> (ChannelMux) >> "../src/ChannelMux.m3", line 35: unable to find interface (IP) >> "../src/ChannelMux.m3", line 35: unable to find interface (TCP) >> "../src/ChannelMux.m3", line 36: unable to find interface (SupConnFD) >> 4 errors encountered >> new source -> compiling AuthMD5.i3 >> "../src/AuthMD5.i3", line 33: unable to find interface (IP) >> 1 error encountered >> new source -> compiling AuthMD5.m3 >> "../src/AuthMD5.m3", line 31: imported interface contains errors >> (AuthMD5) >> "../src/AuthMD5.m3", line 33: unable to find interface (IP) >> 2 errors encountered >> new source -> compiling TokScan.m3 >> "../src/TokScan.m3", line 31: imported interface contains errors >> (TokScan) >> "../src/TokScan.m3", line 34: unable to find interface (IP) >> "../src/TokScan.m3", line 34: imported interface contains errors >> (SupMisc) >> 3 errors encountered >> new source -> compiling DevT.i3 >> "../src/DevT.i3", line 38: imported interface contains errors (TokScan) >> 1 error encountered >> new source -> compiling UnixMisc.i3 >> "../src/UnixMisc.i3", line 35: unable to find interface (IP) >> 1 error encountered >> new source -> compiling FileAttr.m3 >> "../src/FileAttr.m3", line 31: imported interface contains errors >> (FileAttr) >> "../src/FileAttr.m3", line 31: imported interface contains errors >> (FileAttrRep) >> "../src/FileAttr.m3", line 34: imported interface contains errors (DevT) >> "../src/FileAttr.m3", line 35: imported interface contains errors >> (SupMisc) >> "../src/FileAttr.m3", line 36: imported interface contains errors >> (TokScan) >> "../src/FileAttr.m3", line 36: imported interface contains errors >> (UnixMisc) >> 6 errors encountered >> new source -> compiling FileID.i3 >> "../src/FileID.i3", line 33: imported interface contains errors >> (FileAttr) >> 1 error encountered >> new source -> compiling FileID.m3 >> "../src/FileID.m3", line 31: imported interface contains errors (FileID) >> "../src/FileID.m3", line 34: imported interface contains errors (DevT) >> "../src/FileID.m3", line 34: imported interface contains errors >> (FileAttr) >> "../src/FileID.m3", line 34: imported interface contains errors >> (FileAttrRep) >> 4 errors encountered >> new source -> compiling CVProto.i3 >> "../src/CVProto.i3", line 33: imported interface contains errors >> (FileAttr) >> "../src/CVProto.i3", line 33: imported interface contains errors >> (TokScan) >> 2 errors encountered >> new source -> compiling CVProto.m3 >> "../src/CVProto.m3", line 35: imported interface contains errors >> (CVProto) >> "../src/CVProto.m3", line 38: imported interface contains errors >> (SupMisc) >> "../src/CVProto.m3", line 38: imported interface contains errors >> (TokScan) >> 3 errors encountered >> new source -> compiling ErrMsg.m3 >> "../src/ErrMsg.m3", line 34: unable to find interface (IP) >> "../src/ErrMsg.m3", line 34: imported interface contains errors (TokScan) >> "../src/ErrMsg.m3", line 36: unable to find interface (SupTCP) >> 3 errors encountered >> new source -> compiling DirEntry.i3 >> "../src/DirEntry.i3", line 37: imported interface contains errors >> (FileAttr) >> 1 error encountered >> new source -> compiling DirEntry.m3 >> "../src/DirEntry.m3", line 31: imported interface contains errors >> (DirEntry) >> 1 error encountered >> new source -> compiling DirEntryList.i3 >> "../LINUXLIBC6/DirEntryList.i3 => >> /usr/local/cm3/pkg/libm3/src/list/List.ig", line 29: imported >> interface contains errors (DirEntry) >> 1 error encountered >> new source -> compiling DirEntryList.m3 >> "../LINUXLIBC6/DirEntryList.m3", line 3: imported interface contains >> errors (DirEntryList) >> "../LINUXLIBC6/DirEntryList.m3 => >> /usr/local/cm3/pkg/libm3/src/list/List.mg", line 11: imported >> interface contains errors (DirEntry) >> 2 errors encountered >> new source -> compiling DirEntryListSort.i3 >> "../LINUXLIBC6/DirEntryListSort.i3 => >> /usr/local/cm3/pkg/libm3/src/list/ListSort.ig", line 28: imported >> interface contains errors (DirEntry) >> "../LINUXLIBC6/DirEntryListSort.i3 => >> /usr/local/cm3/pkg/libm3/src/list/ListSort.ig", line 28: imported >> interface contains errors (DirEntryList) >> 2 errors encountered >> new source -> compiling DirEntryListSort.m3 >> "../LINUXLIBC6/DirEntryListSort.m3", line 3: imported interface >> contains errors (DirEntryListSort) >> "../LINUXLIBC6/DirEntryListSort.m3 => >> /usr/local/cm3/pkg/libm3/src/list/ListSort.mg", line 10: imported >> interface contains errors (DirEntry) >> 2 errors encountered >> new source -> compiling RCSDate.m3 >> "../src/RCSDate.m3", line 34: imported interface contains errors >> (TokScan) >> 1 error encountered >> new source -> compiling RCSFile.i3 >> "../src/RCSFile.i3", line 37: imported interface contains errors >> (FileAttr) >> 1 error encountered >> new source -> compiling RCSDeltaClass.i3 >> "../src/RCSDeltaClass.i3", line 37: imported interface contains errors >> (RCSFile) >> 1 error encountered >> new source -> compiling RCSDelta.m3 >> "../src/RCSDelta.m3", line 31: imported interface contains errors >> (RCSDeltaClass) >> "../src/RCSDelta.m3", line 34: imported interface contains errors >> (RCSFile) >> "../src/RCSDelta.m3", line 35: imported interface contains errors >> (TokScan) >> 3 errors encountered >> new source -> compiling RCSKeyword.m3 >> "../src/RCSKeyword.m3", line 34: imported interface contains errors >> (RCSDeltaClass) >> "../src/RCSKeyword.m3", line 35: imported interface contains errors >> (SupMisc) >> 2 errors encountered >> new source -> compiling RCSFile.m3 >> "../src/RCSFile.m3", line 31: imported interface contains errors >> (RCSFile) >> "../src/RCSFile.m3", line 34: imported interface contains errors >> (FileAttr) >> "../src/RCSFile.m3", line 36: imported interface contains errors >> (RCSDeltaClass) >> "../src/RCSFile.m3", line 39: imported interface contains errors >> (TokScan) >> "../src/RCSFile.m3", line 39: imported interface contains errors >> (UnixMisc) >> 5 errors encountered >> new source -> compiling SupFileRec.m3 >> "../src/SupFileRec.m3", line 31: imported interface contains errors >> (SupFileRec) >> "../src/SupFileRec.m3", line 34: imported interface contains errors >> (FileAttr) >> "../src/SupFileRec.m3", line 35: imported interface contains errors >> (TokScan) >> 3 errors encountered >> new source -> compiling SupMisc.m3 >> "../src/SupMisc.m3", line 31: imported interface contains errors >> (SupMisc) >> "../src/SupMisc.m3", line 34: imported interface contains errors >> (FileAttr) >> "../src/SupMisc.m3", line 34: unable to find interface (IP) >> "../src/SupMisc.m3", line 35: imported interface contains errors >> (SupFileRec) >> "../src/SupMisc.m3", line 36: imported interface contains errors >> (TokScan) >> "../src/SupMisc.m3", line 37: unable to find interface (SupTCP) >> 6 errors encountered >> new source -> compiling FileStatus.i3 >> "../src/FileStatus.i3", line 33: imported interface contains errors >> (FileAttr) >> 1 error encountered >> new source -> compiling FileStatusRaw.i3 >> "../src/FileStatusRaw.i3", line 33: imported interface contains errors >> (FileStatus) >> 1 error encountered >> new source -> compiling FileStatus.m3 >> "../src/FileStatus.m3", line 31: imported interface contains errors >> (FileStatus) >> "../src/FileStatus.m3", line 31: imported interface contains errors >> (FileStatusRaw) >> "../src/FileStatus.m3", line 34: imported interface contains errors >> (FileAttr) >> "../src/FileStatus.m3", line 34: imported interface contains errors >> (SupMisc) >> "../src/FileStatus.m3", line 34: imported interface contains errors >> (TokScan) >> 5 errors encountered >> new source -> compiling StatusFile.i3 >> "../src/StatusFile.i3", line 33: imported interface contains errors >> (FileStatus) >> "../src/StatusFile.i3", line 33: imported interface contains errors >> (SupFileRec) >> 2 errors encountered >> new source -> compiling StatusFile.m3 >> "../src/StatusFile.m3", line 31: imported interface contains errors >> (StatusFile) >> "../src/StatusFile.m3", line 34: imported interface contains errors >> (FileAttr) >> "../src/StatusFile.m3", line 34: imported interface contains errors >> (FileStatus) >> "../src/StatusFile.m3", line 34: imported interface contains errors >> (FileStatusRaw) >> "../src/StatusFile.m3", line 35: imported interface contains errors >> (SupFileRec) >> "../src/StatusFile.m3", line 35: imported interface contains errors >> (SupMisc) >> 6 errors encountered >> new source -> compiling CVTree.i3 >> "../src/CVTree.i3", line 37: imported interface contains errors >> (FileAttr) >> 1 error encountered >> new source -> compiling CVTree.m3 >> "../src/CVTree.m3", line 31: imported interface contains errors (CVTree) >> "../src/CVTree.m3", line 34: imported interface contains errors >> (DirEntry) >> "../src/CVTree.m3", line 34: imported interface contains errors >> (DirEntryList) >> "../src/CVTree.m3", line 34: imported interface contains errors >> (DirEntryListSort) >> "../src/CVTree.m3", line 34: imported interface contains errors >> (FileAttr) >> "../src/CVTree.m3", line 35: imported interface contains errors (SupMisc) >> 6 errors encountered >> new source -> compiling GzipRd.i3 >> "../src/GzipRd.i3", line 36: unable to find interface (StreamRd) >> 1 error encountered >> new source -> compiling GzipRd.m3 >> "../src/GzipRd.m3", line 31: imported interface contains errors (GzipRd) >> "../src/GzipRd.m3", line 34: unable to find interface (StreamRdClass) >> 2 errors encountered >> new source -> compiling GzipWr.i3 >> "../src/GzipWr.i3", line 36: unable to find interface (StreamWr) >> 1 error encountered >> new source -> compiling GzipWr.m3 >> "../src/GzipWr.m3", line 31: imported interface contains errors (GzipWr) >> "../src/GzipWr.m3", line 34: unable to find interface (StreamWrClass) >> 2 errors encountered >> new source -> compiling RsyncFile.i3 >> "../src/RsyncFile.i3", line 33: imported interface contains errors >> (FileAttr) >> 1 error encountered >> new source -> compiling RsyncFile.m3 >> "../src/RsyncFile.m3", line 31: imported interface contains errors >> (RsyncFile) >> "../src/RsyncFile.m3", line 34: imported interface contains errors >> (FileAttr) >> "../src/RsyncFile.m3", line 35: imported interface contains errors >> (UnixMisc) >> 3 errors encountered >> new source -> compiling SigHandler.m3 >> "../src/SigHandler.m3", line 48: imported interface contains errors >> (UnixMisc) >> "../src/SigHandler.m3", line 50: unable to find interface (SupErrno) >> 2 errors encountered >> new source -> compiling UnixMisc.m3 >> "../src/UnixMisc.m3", line 31: imported interface contains errors >> (UnixMisc) >> "../src/UnixMisc.m3", line 34: unable to find interface (IP) >> 2 errors encountered >> new source -> compiling Attic.i3 >> "../src/Attic.i3", line 37: imported interface contains errors (FileAttr) >> "../src/Attic.i3", line 37: imported interface contains errors (RCSFile) >> 2 errors encountered >> new source -> compiling Attic.m3 >> "../src/Attic.m3", line 31: imported interface contains errors (Attic) >> "../src/Attic.m3", line 34: imported interface contains errors (FileAttr) >> "../src/Attic.m3", line 34: imported interface contains errors (RCSFile) >> "../src/Attic.m3", line 35: imported interface contains errors (SupMisc) >> "../src/Attic.m3", line 35: imported interface contains errors (UnixMisc) >> 5 errors encountered >> new source -> compiling DevTLinux.i3 >> "../src/dev_t_linux/DevTLinux.i3", line 38: imported interface >> contains errors (DevT) >> 1 error encountered >> new source -> compiling DevT.m3 >> "../src/dev_t_linux/DevT.m3", line 31: imported interface contains >> errors (DevT) >> "../src/dev_t_linux/DevT.m3", line 34: imported interface contains >> errors (DevTLinux) >> "../src/dev_t_linux/DevT.m3", line 34: imported interface contains >> errors (TokScan) >> 3 errors encountered >> new source -> compiling SupMiscText.m3 >> "../src/text_cm3/SupMiscText.m3", line 35: imported interface contains >> errors (SupMisc) >> 1 error encountered >> compilation failed => not building library "libsuplib.a" >> Fatal Error: package build failed >> make[2]: *** [all] Error 1 >> make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/suplib' >> ===> server >> make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/server' >> cm3 >> --- building in LINUXLIBC6 --- >> >> package "suptcp" is already overridden to >> /home/rforb/work/cvsup-snap-16.1h/server/src/../.., ignoring new >> override to /home/rforb/work/cvsup-snap-16.1h/suplib/src/../.. >> >> >> Fatal Error: missing source file: FileAttr.i3 >> >> make[2]: *** [all] Error 1 >> make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/server' >> ===> client >> make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/client' >> cm3 >> --- building in LINUXLIBC6 --- >> >> package "suptcp" is already overridden to >> /home/rforb/work/cvsup-snap-16.1h/client/src/../.., ignoring new >> override to /home/rforb/work/cvsup-snap-16.1h/suplib/src/../.. >> >> >> Fatal Error: missing source file: SupFileRec.i3 >> >> make[2]: *** [all] Error 1 >> make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/client' >> ===> cvpasswd >> make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/cvpasswd' >> cm3 >> --- building in LINUXLIBC6 --- >> >> >> Fatal Error: missing source file: AuthMD5.i3 >> >> make[2]: *** [all] Error 1 >> make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/cvpasswd' >> make[1]: *** [subdirs] Error 2 >> make[1]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h' >> make: *** [all] Error 2 > > > Looks like aside some other errors, it doesn't find all the .i3 files, > though I can see all of them existing. Do I possibly have to tell the > cm3 compiler where to find them? > > What do all the "imported interface contains errors (...)" messages have > to mean and how to fix this ? > > Regards, > > Ronny > > > From hosking at cs.purdue.edu Mon Jun 4 17:14:39 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Mon, 4 Jun 2007 11:14:39 -0400 Subject: [M3devel] errors building cvsup wih cm3 In-Reply-To: <4663E91C.1090701@elegosoft.com> References: <4663E91C.1090701@elegosoft.com> Message-ID: Looks like your overrides are not working properly. Did you invoke cm3 -override? On Jun 4, 2007, at 6:27 AM, Ronny Forberger wrote: >> Fatal Error: duplicate unit: /usr/local/cm3/pkg/tcp/src/POSIX/ >> SockOpt.i3 ../src/POSIX/SockOpt.i3 From hosking at cs.purdue.edu Mon Jun 4 17:15:02 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Mon, 4 Jun 2007 11:15:02 -0400 Subject: [M3devel] errors building cvsup wih cm3 In-Reply-To: <46642BBC.90500@polstra.com> References: <4663E91C.1090701@elegosoft.com> <46642BBC.90500@polstra.com> Message-ID: <94308BA0-0E13-4350-8B0C-EA833655C04A@cs.purdue.edu> Looks like John has the answers... On Jun 4, 2007, at 11:11 AM, John Polstra wrote: > There is a patch for CVSup that you have to apply before you can > build it with cm3. Look on the cm3 downloads page, and you'll find > it. > > John > > Ronny Forberger wrote: >> Hi there, >> since I've been able to build the cm3 compiler successfully on >> Debian Linux 'etch' x86, I'm faced up to some other build problem: >> When trying to build cvsup-snap-16.1h from sources using cm3 my >> build process stops by the following error: >>> make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/ >>> suptcp' >>> cm3 >>> --- building in LINUXLIBC6 --- >>> >>> >>> Fatal Error: duplicate unit: /usr/local/cm3/pkg/tcp/src/POSIX/ >>> SockOpt.i3 ../src/POSIX/SockOpt.i3 >>> >>> make[2]: *** [all] Error 1 >>> make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/ >>> suptcp' >>> ===> suplib >>> make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/ >>> suplib' >>> cm3 >>> --- building in LINUXLIBC6 --- >>> >>> new source -> compiling TokScan.i3 >>> "../src/TokScan.i3", line 36: unable to find interface (IP) >>> 1 error encountered >>> new source -> compiling FileAttr.i3 >>> "../src/FileAttr.i3", line 33: imported interface contains errors >>> (TokScan) >>> 1 error encountered >>> new source -> compiling FileAttrRep.i3 >>> "../src/FileAttrRep.i3", line 33: imported interface contains >>> errors (FileAttr) >>> 1 error encountered >>> new source -> compiling FileAttrOS.m3 >>> "../src/POSIX/FileAttrOS.m3", line 31: imported interface >>> contains errors (FileAttr) >>> "../src/POSIX/FileAttrOS.m3", line 31: imported interface >>> contains errors (FileAttrRep) >>> 2 errors encountered >>> new source -> compiling SupFileRec.i3 >>> "../src/SupFileRec.i3", line 36: imported interface contains >>> errors (FileAttr) >>> "../src/SupFileRec.i3", line 37: imported interface contains >>> errors (TokScan) >>> 2 errors encountered >>> new source -> compiling SupMisc.i3 >>> "../src/SupMisc.i3", line 37: unable to find interface (IP) >>> "../src/SupMisc.i3", line 37: imported interface contains errors >>> (SupFileRec) >>> "../src/SupMisc.i3", line 39: unable to find interface (SupTCP) >>> 3 errors encountered >>> new source -> compiling PathComp.m3 >>> "../src/PathComp.m3", line 33: imported interface contains errors >>> (SupMisc) >>> 1 error encountered >>> new source -> compiling ChannelMux.i3 >>> "../src/ChannelMux.i3", line 33: unable to find interface (IP) >>> "../src/ChannelMux.i3", line 34: unable to find interface >>> (SupConnFD) >>> 2 errors encountered >>> new source -> compiling ChannelMux.m3 >>> "../src/ChannelMux.m3", line 32: imported interface contains >>> errors (ChannelMux) >>> "../src/ChannelMux.m3", line 35: unable to find interface (IP) >>> "../src/ChannelMux.m3", line 35: unable to find interface (TCP) >>> "../src/ChannelMux.m3", line 36: unable to find interface >>> (SupConnFD) >>> 4 errors encountered >>> new source -> compiling AuthMD5.i3 >>> "../src/AuthMD5.i3", line 33: unable to find interface (IP) >>> 1 error encountered >>> new source -> compiling AuthMD5.m3 >>> "../src/AuthMD5.m3", line 31: imported interface contains errors >>> (AuthMD5) >>> "../src/AuthMD5.m3", line 33: unable to find interface (IP) >>> 2 errors encountered >>> new source -> compiling TokScan.m3 >>> "../src/TokScan.m3", line 31: imported interface contains errors >>> (TokScan) >>> "../src/TokScan.m3", line 34: unable to find interface (IP) >>> "../src/TokScan.m3", line 34: imported interface contains errors >>> (SupMisc) >>> 3 errors encountered >>> new source -> compiling DevT.i3 >>> "../src/DevT.i3", line 38: imported interface contains errors >>> (TokScan) >>> 1 error encountered >>> new source -> compiling UnixMisc.i3 >>> "../src/UnixMisc.i3", line 35: unable to find interface (IP) >>> 1 error encountered >>> new source -> compiling FileAttr.m3 >>> "../src/FileAttr.m3", line 31: imported interface contains errors >>> (FileAttr) >>> "../src/FileAttr.m3", line 31: imported interface contains errors >>> (FileAttrRep) >>> "../src/FileAttr.m3", line 34: imported interface contains errors >>> (DevT) >>> "../src/FileAttr.m3", line 35: imported interface contains errors >>> (SupMisc) >>> "../src/FileAttr.m3", line 36: imported interface contains errors >>> (TokScan) >>> "../src/FileAttr.m3", line 36: imported interface contains errors >>> (UnixMisc) >>> 6 errors encountered >>> new source -> compiling FileID.i3 >>> "../src/FileID.i3", line 33: imported interface contains errors >>> (FileAttr) >>> 1 error encountered >>> new source -> compiling FileID.m3 >>> "../src/FileID.m3", line 31: imported interface contains errors >>> (FileID) >>> "../src/FileID.m3", line 34: imported interface contains errors >>> (DevT) >>> "../src/FileID.m3", line 34: imported interface contains errors >>> (FileAttr) >>> "../src/FileID.m3", line 34: imported interface contains errors >>> (FileAttrRep) >>> 4 errors encountered >>> new source -> compiling CVProto.i3 >>> "../src/CVProto.i3", line 33: imported interface contains errors >>> (FileAttr) >>> "../src/CVProto.i3", line 33: imported interface contains errors >>> (TokScan) >>> 2 errors encountered >>> new source -> compiling CVProto.m3 >>> "../src/CVProto.m3", line 35: imported interface contains errors >>> (CVProto) >>> "../src/CVProto.m3", line 38: imported interface contains errors >>> (SupMisc) >>> "../src/CVProto.m3", line 38: imported interface contains errors >>> (TokScan) >>> 3 errors encountered >>> new source -> compiling ErrMsg.m3 >>> "../src/ErrMsg.m3", line 34: unable to find interface (IP) >>> "../src/ErrMsg.m3", line 34: imported interface contains errors >>> (TokScan) >>> "../src/ErrMsg.m3", line 36: unable to find interface (SupTCP) >>> 3 errors encountered >>> new source -> compiling DirEntry.i3 >>> "../src/DirEntry.i3", line 37: imported interface contains errors >>> (FileAttr) >>> 1 error encountered >>> new source -> compiling DirEntry.m3 >>> "../src/DirEntry.m3", line 31: imported interface contains errors >>> (DirEntry) >>> 1 error encountered >>> new source -> compiling DirEntryList.i3 >>> "../LINUXLIBC6/DirEntryList.i3 => /usr/local/cm3/pkg/libm3/src/ >>> list/List.ig", line 29: imported interface contains errors >>> (DirEntry) >>> 1 error encountered >>> new source -> compiling DirEntryList.m3 >>> "../LINUXLIBC6/DirEntryList.m3", line 3: imported interface >>> contains errors (DirEntryList) >>> "../LINUXLIBC6/DirEntryList.m3 => /usr/local/cm3/pkg/libm3/src/ >>> list/List.mg", line 11: imported interface contains errors >>> (DirEntry) >>> 2 errors encountered >>> new source -> compiling DirEntryListSort.i3 >>> "../LINUXLIBC6/DirEntryListSort.i3 => /usr/local/cm3/pkg/libm3/ >>> src/list/ListSort.ig", line 28: imported interface contains >>> errors (DirEntry) >>> "../LINUXLIBC6/DirEntryListSort.i3 => /usr/local/cm3/pkg/libm3/ >>> src/list/ListSort.ig", line 28: imported interface contains >>> errors (DirEntryList) >>> 2 errors encountered >>> new source -> compiling DirEntryListSort.m3 >>> "../LINUXLIBC6/DirEntryListSort.m3", line 3: imported interface >>> contains errors (DirEntryListSort) >>> "../LINUXLIBC6/DirEntryListSort.m3 => /usr/local/cm3/pkg/libm3/ >>> src/list/ListSort.mg", line 10: imported interface contains >>> errors (DirEntry) >>> 2 errors encountered >>> new source -> compiling RCSDate.m3 >>> "../src/RCSDate.m3", line 34: imported interface contains errors >>> (TokScan) >>> 1 error encountered >>> new source -> compiling RCSFile.i3 >>> "../src/RCSFile.i3", line 37: imported interface contains errors >>> (FileAttr) >>> 1 error encountered >>> new source -> compiling RCSDeltaClass.i3 >>> "../src/RCSDeltaClass.i3", line 37: imported interface contains >>> errors (RCSFile) >>> 1 error encountered >>> new source -> compiling RCSDelta.m3 >>> "../src/RCSDelta.m3", line 31: imported interface contains errors >>> (RCSDeltaClass) >>> "../src/RCSDelta.m3", line 34: imported interface contains errors >>> (RCSFile) >>> "../src/RCSDelta.m3", line 35: imported interface contains errors >>> (TokScan) >>> 3 errors encountered >>> new source -> compiling RCSKeyword.m3 >>> "../src/RCSKeyword.m3", line 34: imported interface contains >>> errors (RCSDeltaClass) >>> "../src/RCSKeyword.m3", line 35: imported interface contains >>> errors (SupMisc) >>> 2 errors encountered >>> new source -> compiling RCSFile.m3 >>> "../src/RCSFile.m3", line 31: imported interface contains errors >>> (RCSFile) >>> "../src/RCSFile.m3", line 34: imported interface contains errors >>> (FileAttr) >>> "../src/RCSFile.m3", line 36: imported interface contains errors >>> (RCSDeltaClass) >>> "../src/RCSFile.m3", line 39: imported interface contains errors >>> (TokScan) >>> "../src/RCSFile.m3", line 39: imported interface contains errors >>> (UnixMisc) >>> 5 errors encountered >>> new source -> compiling SupFileRec.m3 >>> "../src/SupFileRec.m3", line 31: imported interface contains >>> errors (SupFileRec) >>> "../src/SupFileRec.m3", line 34: imported interface contains >>> errors (FileAttr) >>> "../src/SupFileRec.m3", line 35: imported interface contains >>> errors (TokScan) >>> 3 errors encountered >>> new source -> compiling SupMisc.m3 >>> "../src/SupMisc.m3", line 31: imported interface contains errors >>> (SupMisc) >>> "../src/SupMisc.m3", line 34: imported interface contains errors >>> (FileAttr) >>> "../src/SupMisc.m3", line 34: unable to find interface (IP) >>> "../src/SupMisc.m3", line 35: imported interface contains errors >>> (SupFileRec) >>> "../src/SupMisc.m3", line 36: imported interface contains errors >>> (TokScan) >>> "../src/SupMisc.m3", line 37: unable to find interface (SupTCP) >>> 6 errors encountered >>> new source -> compiling FileStatus.i3 >>> "../src/FileStatus.i3", line 33: imported interface contains >>> errors (FileAttr) >>> 1 error encountered >>> new source -> compiling FileStatusRaw.i3 >>> "../src/FileStatusRaw.i3", line 33: imported interface contains >>> errors (FileStatus) >>> 1 error encountered >>> new source -> compiling FileStatus.m3 >>> "../src/FileStatus.m3", line 31: imported interface contains >>> errors (FileStatus) >>> "../src/FileStatus.m3", line 31: imported interface contains >>> errors (FileStatusRaw) >>> "../src/FileStatus.m3", line 34: imported interface contains >>> errors (FileAttr) >>> "../src/FileStatus.m3", line 34: imported interface contains >>> errors (SupMisc) >>> "../src/FileStatus.m3", line 34: imported interface contains >>> errors (TokScan) >>> 5 errors encountered >>> new source -> compiling StatusFile.i3 >>> "../src/StatusFile.i3", line 33: imported interface contains >>> errors (FileStatus) >>> "../src/StatusFile.i3", line 33: imported interface contains >>> errors (SupFileRec) >>> 2 errors encountered >>> new source -> compiling StatusFile.m3 >>> "../src/StatusFile.m3", line 31: imported interface contains >>> errors (StatusFile) >>> "../src/StatusFile.m3", line 34: imported interface contains >>> errors (FileAttr) >>> "../src/StatusFile.m3", line 34: imported interface contains >>> errors (FileStatus) >>> "../src/StatusFile.m3", line 34: imported interface contains >>> errors (FileStatusRaw) >>> "../src/StatusFile.m3", line 35: imported interface contains >>> errors (SupFileRec) >>> "../src/StatusFile.m3", line 35: imported interface contains >>> errors (SupMisc) >>> 6 errors encountered >>> new source -> compiling CVTree.i3 >>> "../src/CVTree.i3", line 37: imported interface contains errors >>> (FileAttr) >>> 1 error encountered >>> new source -> compiling CVTree.m3 >>> "../src/CVTree.m3", line 31: imported interface contains errors >>> (CVTree) >>> "../src/CVTree.m3", line 34: imported interface contains errors >>> (DirEntry) >>> "../src/CVTree.m3", line 34: imported interface contains errors >>> (DirEntryList) >>> "../src/CVTree.m3", line 34: imported interface contains errors >>> (DirEntryListSort) >>> "../src/CVTree.m3", line 34: imported interface contains errors >>> (FileAttr) >>> "../src/CVTree.m3", line 35: imported interface contains errors >>> (SupMisc) >>> 6 errors encountered >>> new source -> compiling GzipRd.i3 >>> "../src/GzipRd.i3", line 36: unable to find interface (StreamRd) >>> 1 error encountered >>> new source -> compiling GzipRd.m3 >>> "../src/GzipRd.m3", line 31: imported interface contains errors >>> (GzipRd) >>> "../src/GzipRd.m3", line 34: unable to find interface >>> (StreamRdClass) >>> 2 errors encountered >>> new source -> compiling GzipWr.i3 >>> "../src/GzipWr.i3", line 36: unable to find interface (StreamWr) >>> 1 error encountered >>> new source -> compiling GzipWr.m3 >>> "../src/GzipWr.m3", line 31: imported interface contains errors >>> (GzipWr) >>> "../src/GzipWr.m3", line 34: unable to find interface >>> (StreamWrClass) >>> 2 errors encountered >>> new source -> compiling RsyncFile.i3 >>> "../src/RsyncFile.i3", line 33: imported interface contains >>> errors (FileAttr) >>> 1 error encountered >>> new source -> compiling RsyncFile.m3 >>> "../src/RsyncFile.m3", line 31: imported interface contains >>> errors (RsyncFile) >>> "../src/RsyncFile.m3", line 34: imported interface contains >>> errors (FileAttr) >>> "../src/RsyncFile.m3", line 35: imported interface contains >>> errors (UnixMisc) >>> 3 errors encountered >>> new source -> compiling SigHandler.m3 >>> "../src/SigHandler.m3", line 48: imported interface contains >>> errors (UnixMisc) >>> "../src/SigHandler.m3", line 50: unable to find interface (SupErrno) >>> 2 errors encountered >>> new source -> compiling UnixMisc.m3 >>> "../src/UnixMisc.m3", line 31: imported interface contains errors >>> (UnixMisc) >>> "../src/UnixMisc.m3", line 34: unable to find interface (IP) >>> 2 errors encountered >>> new source -> compiling Attic.i3 >>> "../src/Attic.i3", line 37: imported interface contains errors >>> (FileAttr) >>> "../src/Attic.i3", line 37: imported interface contains errors >>> (RCSFile) >>> 2 errors encountered >>> new source -> compiling Attic.m3 >>> "../src/Attic.m3", line 31: imported interface contains errors >>> (Attic) >>> "../src/Attic.m3", line 34: imported interface contains errors >>> (FileAttr) >>> "../src/Attic.m3", line 34: imported interface contains errors >>> (RCSFile) >>> "../src/Attic.m3", line 35: imported interface contains errors >>> (SupMisc) >>> "../src/Attic.m3", line 35: imported interface contains errors >>> (UnixMisc) >>> 5 errors encountered >>> new source -> compiling DevTLinux.i3 >>> "../src/dev_t_linux/DevTLinux.i3", line 38: imported interface >>> contains errors (DevT) >>> 1 error encountered >>> new source -> compiling DevT.m3 >>> "../src/dev_t_linux/DevT.m3", line 31: imported interface >>> contains errors (DevT) >>> "../src/dev_t_linux/DevT.m3", line 34: imported interface >>> contains errors (DevTLinux) >>> "../src/dev_t_linux/DevT.m3", line 34: imported interface >>> contains errors (TokScan) >>> 3 errors encountered >>> new source -> compiling SupMiscText.m3 >>> "../src/text_cm3/SupMiscText.m3", line 35: imported interface >>> contains errors (SupMisc) >>> 1 error encountered >>> compilation failed => not building library "libsuplib.a" >>> Fatal Error: package build failed >>> make[2]: *** [all] Error 1 >>> make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/ >>> suplib' >>> ===> server >>> make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/ >>> server' >>> cm3 >>> --- building in LINUXLIBC6 --- >>> >>> package "suptcp" is already overridden to /home/rforb/work/cvsup- >>> snap-16.1h/server/src/../.., ignoring new override to /home/rforb/ >>> work/cvsup-snap-16.1h/suplib/src/../.. >>> >>> >>> Fatal Error: missing source file: FileAttr.i3 >>> >>> make[2]: *** [all] Error 1 >>> make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/ >>> server' >>> ===> client >>> make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/ >>> client' >>> cm3 >>> --- building in LINUXLIBC6 --- >>> >>> package "suptcp" is already overridden to /home/rforb/work/cvsup- >>> snap-16.1h/client/src/../.., ignoring new override to /home/rforb/ >>> work/cvsup-snap-16.1h/suplib/src/../.. >>> >>> >>> Fatal Error: missing source file: SupFileRec.i3 >>> >>> make[2]: *** [all] Error 1 >>> make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/ >>> client' >>> ===> cvpasswd >>> make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/ >>> cvpasswd' >>> cm3 >>> --- building in LINUXLIBC6 --- >>> >>> >>> Fatal Error: missing source file: AuthMD5.i3 >>> >>> make[2]: *** [all] Error 1 >>> make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/ >>> cvpasswd' >>> make[1]: *** [subdirs] Error 2 >>> make[1]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h' >>> make: *** [all] Error 2 >> Looks like aside some other errors, it doesn't find all the .i3 >> files, though I can see all of them existing. Do I possibly have >> to tell the cm3 compiler where to find them? >> What do all the "imported interface contains errors (...)" >> messages have to mean and how to fix this ? >> Regards, >> Ronny From jdp at polstra.com Mon Jun 4 17:45:06 2007 From: jdp at polstra.com (John Polstra) Date: Mon, 04 Jun 2007 08:45:06 -0700 Subject: [M3devel] errors building cvsup wih cm3 In-Reply-To: <94308BA0-0E13-4350-8B0C-EA833655C04A@cs.purdue.edu> References: <4663E91C.1090701@elegosoft.com> <46642BBC.90500@polstra.com> <94308BA0-0E13-4350-8B0C-EA833655C04A@cs.purdue.edu> Message-ID: <46643382.5010105@polstra.com> Hmm, actually you may be closer to the right answers than I was. I don't see how the lack of the patch could explain some of those errors. John Tony Hosking wrote: > Looks like John has the answers... > > On Jun 4, 2007, at 11:11 AM, John Polstra wrote: > >> There is a patch for CVSup that you have to apply before you can build >> it with cm3. Look on the cm3 downloads page, and you'll find it. >> >> John >> >> Ronny Forberger wrote: >>> Hi there, >>> since I've been able to build the cm3 compiler successfully on Debian >>> Linux 'etch' x86, I'm faced up to some other build problem: >>> When trying to build cvsup-snap-16.1h from sources using cm3 my build >>> process stops by the following error: >>>> make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/suptcp' >>>> cm3 >>>> --- building in LINUXLIBC6 --- >>>> >>>> >>>> Fatal Error: duplicate unit: >>>> /usr/local/cm3/pkg/tcp/src/POSIX/SockOpt.i3 ../src/POSIX/SockOpt.i3 >>>> >>>> make[2]: *** [all] Error 1 >>>> make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/suptcp' >>>> ===> suplib >>>> make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/suplib' >>>> cm3 >>>> --- building in LINUXLIBC6 --- >>>> >>>> new source -> compiling TokScan.i3 >>>> "../src/TokScan.i3", line 36: unable to find interface (IP) >>>> 1 error encountered >>>> new source -> compiling FileAttr.i3 >>>> "../src/FileAttr.i3", line 33: imported interface contains errors >>>> (TokScan) >>>> 1 error encountered >>>> new source -> compiling FileAttrRep.i3 >>>> "../src/FileAttrRep.i3", line 33: imported interface contains errors >>>> (FileAttr) >>>> 1 error encountered >>>> new source -> compiling FileAttrOS.m3 >>>> "../src/POSIX/FileAttrOS.m3", line 31: imported interface contains >>>> errors (FileAttr) >>>> "../src/POSIX/FileAttrOS.m3", line 31: imported interface contains >>>> errors (FileAttrRep) >>>> 2 errors encountered >>>> new source -> compiling SupFileRec.i3 >>>> "../src/SupFileRec.i3", line 36: imported interface contains errors >>>> (FileAttr) >>>> "../src/SupFileRec.i3", line 37: imported interface contains errors >>>> (TokScan) >>>> 2 errors encountered >>>> new source -> compiling SupMisc.i3 >>>> "../src/SupMisc.i3", line 37: unable to find interface (IP) >>>> "../src/SupMisc.i3", line 37: imported interface contains errors >>>> (SupFileRec) >>>> "../src/SupMisc.i3", line 39: unable to find interface (SupTCP) >>>> 3 errors encountered >>>> new source -> compiling PathComp.m3 >>>> "../src/PathComp.m3", line 33: imported interface contains errors >>>> (SupMisc) >>>> 1 error encountered >>>> new source -> compiling ChannelMux.i3 >>>> "../src/ChannelMux.i3", line 33: unable to find interface (IP) >>>> "../src/ChannelMux.i3", line 34: unable to find interface (SupConnFD) >>>> 2 errors encountered >>>> new source -> compiling ChannelMux.m3 >>>> "../src/ChannelMux.m3", line 32: imported interface contains errors >>>> (ChannelMux) >>>> "../src/ChannelMux.m3", line 35: unable to find interface (IP) >>>> "../src/ChannelMux.m3", line 35: unable to find interface (TCP) >>>> "../src/ChannelMux.m3", line 36: unable to find interface (SupConnFD) >>>> 4 errors encountered >>>> new source -> compiling AuthMD5.i3 >>>> "../src/AuthMD5.i3", line 33: unable to find interface (IP) >>>> 1 error encountered >>>> new source -> compiling AuthMD5.m3 >>>> "../src/AuthMD5.m3", line 31: imported interface contains errors >>>> (AuthMD5) >>>> "../src/AuthMD5.m3", line 33: unable to find interface (IP) >>>> 2 errors encountered >>>> new source -> compiling TokScan.m3 >>>> "../src/TokScan.m3", line 31: imported interface contains errors >>>> (TokScan) >>>> "../src/TokScan.m3", line 34: unable to find interface (IP) >>>> "../src/TokScan.m3", line 34: imported interface contains errors >>>> (SupMisc) >>>> 3 errors encountered >>>> new source -> compiling DevT.i3 >>>> "../src/DevT.i3", line 38: imported interface contains errors (TokScan) >>>> 1 error encountered >>>> new source -> compiling UnixMisc.i3 >>>> "../src/UnixMisc.i3", line 35: unable to find interface (IP) >>>> 1 error encountered >>>> new source -> compiling FileAttr.m3 >>>> "../src/FileAttr.m3", line 31: imported interface contains errors >>>> (FileAttr) >>>> "../src/FileAttr.m3", line 31: imported interface contains errors >>>> (FileAttrRep) >>>> "../src/FileAttr.m3", line 34: imported interface contains errors >>>> (DevT) >>>> "../src/FileAttr.m3", line 35: imported interface contains errors >>>> (SupMisc) >>>> "../src/FileAttr.m3", line 36: imported interface contains errors >>>> (TokScan) >>>> "../src/FileAttr.m3", line 36: imported interface contains errors >>>> (UnixMisc) >>>> 6 errors encountered >>>> new source -> compiling FileID.i3 >>>> "../src/FileID.i3", line 33: imported interface contains errors >>>> (FileAttr) >>>> 1 error encountered >>>> new source -> compiling FileID.m3 >>>> "../src/FileID.m3", line 31: imported interface contains errors >>>> (FileID) >>>> "../src/FileID.m3", line 34: imported interface contains errors (DevT) >>>> "../src/FileID.m3", line 34: imported interface contains errors >>>> (FileAttr) >>>> "../src/FileID.m3", line 34: imported interface contains errors >>>> (FileAttrRep) >>>> 4 errors encountered >>>> new source -> compiling CVProto.i3 >>>> "../src/CVProto.i3", line 33: imported interface contains errors >>>> (FileAttr) >>>> "../src/CVProto.i3", line 33: imported interface contains errors >>>> (TokScan) >>>> 2 errors encountered >>>> new source -> compiling CVProto.m3 >>>> "../src/CVProto.m3", line 35: imported interface contains errors >>>> (CVProto) >>>> "../src/CVProto.m3", line 38: imported interface contains errors >>>> (SupMisc) >>>> "../src/CVProto.m3", line 38: imported interface contains errors >>>> (TokScan) >>>> 3 errors encountered >>>> new source -> compiling ErrMsg.m3 >>>> "../src/ErrMsg.m3", line 34: unable to find interface (IP) >>>> "../src/ErrMsg.m3", line 34: imported interface contains errors >>>> (TokScan) >>>> "../src/ErrMsg.m3", line 36: unable to find interface (SupTCP) >>>> 3 errors encountered >>>> new source -> compiling DirEntry.i3 >>>> "../src/DirEntry.i3", line 37: imported interface contains errors >>>> (FileAttr) >>>> 1 error encountered >>>> new source -> compiling DirEntry.m3 >>>> "../src/DirEntry.m3", line 31: imported interface contains errors >>>> (DirEntry) >>>> 1 error encountered >>>> new source -> compiling DirEntryList.i3 >>>> "../LINUXLIBC6/DirEntryList.i3 => >>>> /usr/local/cm3/pkg/libm3/src/list/List.ig", line 29: imported >>>> interface contains errors (DirEntry) >>>> 1 error encountered >>>> new source -> compiling DirEntryList.m3 >>>> "../LINUXLIBC6/DirEntryList.m3", line 3: imported interface contains >>>> errors (DirEntryList) >>>> "../LINUXLIBC6/DirEntryList.m3 => >>>> /usr/local/cm3/pkg/libm3/src/list/List.mg", line 11: imported >>>> interface contains errors (DirEntry) >>>> 2 errors encountered >>>> new source -> compiling DirEntryListSort.i3 >>>> "../LINUXLIBC6/DirEntryListSort.i3 => >>>> /usr/local/cm3/pkg/libm3/src/list/ListSort.ig", line 28: imported >>>> interface contains errors (DirEntry) >>>> "../LINUXLIBC6/DirEntryListSort.i3 => >>>> /usr/local/cm3/pkg/libm3/src/list/ListSort.ig", line 28: imported >>>> interface contains errors (DirEntryList) >>>> 2 errors encountered >>>> new source -> compiling DirEntryListSort.m3 >>>> "../LINUXLIBC6/DirEntryListSort.m3", line 3: imported interface >>>> contains errors (DirEntryListSort) >>>> "../LINUXLIBC6/DirEntryListSort.m3 => >>>> /usr/local/cm3/pkg/libm3/src/list/ListSort.mg", line 10: imported >>>> interface contains errors (DirEntry) >>>> 2 errors encountered >>>> new source -> compiling RCSDate.m3 >>>> "../src/RCSDate.m3", line 34: imported interface contains errors >>>> (TokScan) >>>> 1 error encountered >>>> new source -> compiling RCSFile.i3 >>>> "../src/RCSFile.i3", line 37: imported interface contains errors >>>> (FileAttr) >>>> 1 error encountered >>>> new source -> compiling RCSDeltaClass.i3 >>>> "../src/RCSDeltaClass.i3", line 37: imported interface contains >>>> errors (RCSFile) >>>> 1 error encountered >>>> new source -> compiling RCSDelta.m3 >>>> "../src/RCSDelta.m3", line 31: imported interface contains errors >>>> (RCSDeltaClass) >>>> "../src/RCSDelta.m3", line 34: imported interface contains errors >>>> (RCSFile) >>>> "../src/RCSDelta.m3", line 35: imported interface contains errors >>>> (TokScan) >>>> 3 errors encountered >>>> new source -> compiling RCSKeyword.m3 >>>> "../src/RCSKeyword.m3", line 34: imported interface contains errors >>>> (RCSDeltaClass) >>>> "../src/RCSKeyword.m3", line 35: imported interface contains errors >>>> (SupMisc) >>>> 2 errors encountered >>>> new source -> compiling RCSFile.m3 >>>> "../src/RCSFile.m3", line 31: imported interface contains errors >>>> (RCSFile) >>>> "../src/RCSFile.m3", line 34: imported interface contains errors >>>> (FileAttr) >>>> "../src/RCSFile.m3", line 36: imported interface contains errors >>>> (RCSDeltaClass) >>>> "../src/RCSFile.m3", line 39: imported interface contains errors >>>> (TokScan) >>>> "../src/RCSFile.m3", line 39: imported interface contains errors >>>> (UnixMisc) >>>> 5 errors encountered >>>> new source -> compiling SupFileRec.m3 >>>> "../src/SupFileRec.m3", line 31: imported interface contains errors >>>> (SupFileRec) >>>> "../src/SupFileRec.m3", line 34: imported interface contains errors >>>> (FileAttr) >>>> "../src/SupFileRec.m3", line 35: imported interface contains errors >>>> (TokScan) >>>> 3 errors encountered >>>> new source -> compiling SupMisc.m3 >>>> "../src/SupMisc.m3", line 31: imported interface contains errors >>>> (SupMisc) >>>> "../src/SupMisc.m3", line 34: imported interface contains errors >>>> (FileAttr) >>>> "../src/SupMisc.m3", line 34: unable to find interface (IP) >>>> "../src/SupMisc.m3", line 35: imported interface contains errors >>>> (SupFileRec) >>>> "../src/SupMisc.m3", line 36: imported interface contains errors >>>> (TokScan) >>>> "../src/SupMisc.m3", line 37: unable to find interface (SupTCP) >>>> 6 errors encountered >>>> new source -> compiling FileStatus.i3 >>>> "../src/FileStatus.i3", line 33: imported interface contains errors >>>> (FileAttr) >>>> 1 error encountered >>>> new source -> compiling FileStatusRaw.i3 >>>> "../src/FileStatusRaw.i3", line 33: imported interface contains >>>> errors (FileStatus) >>>> 1 error encountered >>>> new source -> compiling FileStatus.m3 >>>> "../src/FileStatus.m3", line 31: imported interface contains errors >>>> (FileStatus) >>>> "../src/FileStatus.m3", line 31: imported interface contains errors >>>> (FileStatusRaw) >>>> "../src/FileStatus.m3", line 34: imported interface contains errors >>>> (FileAttr) >>>> "../src/FileStatus.m3", line 34: imported interface contains errors >>>> (SupMisc) >>>> "../src/FileStatus.m3", line 34: imported interface contains errors >>>> (TokScan) >>>> 5 errors encountered >>>> new source -> compiling StatusFile.i3 >>>> "../src/StatusFile.i3", line 33: imported interface contains errors >>>> (FileStatus) >>>> "../src/StatusFile.i3", line 33: imported interface contains errors >>>> (SupFileRec) >>>> 2 errors encountered >>>> new source -> compiling StatusFile.m3 >>>> "../src/StatusFile.m3", line 31: imported interface contains errors >>>> (StatusFile) >>>> "../src/StatusFile.m3", line 34: imported interface contains errors >>>> (FileAttr) >>>> "../src/StatusFile.m3", line 34: imported interface contains errors >>>> (FileStatus) >>>> "../src/StatusFile.m3", line 34: imported interface contains errors >>>> (FileStatusRaw) >>>> "../src/StatusFile.m3", line 35: imported interface contains errors >>>> (SupFileRec) >>>> "../src/StatusFile.m3", line 35: imported interface contains errors >>>> (SupMisc) >>>> 6 errors encountered >>>> new source -> compiling CVTree.i3 >>>> "../src/CVTree.i3", line 37: imported interface contains errors >>>> (FileAttr) >>>> 1 error encountered >>>> new source -> compiling CVTree.m3 >>>> "../src/CVTree.m3", line 31: imported interface contains errors >>>> (CVTree) >>>> "../src/CVTree.m3", line 34: imported interface contains errors >>>> (DirEntry) >>>> "../src/CVTree.m3", line 34: imported interface contains errors >>>> (DirEntryList) >>>> "../src/CVTree.m3", line 34: imported interface contains errors >>>> (DirEntryListSort) >>>> "../src/CVTree.m3", line 34: imported interface contains errors >>>> (FileAttr) >>>> "../src/CVTree.m3", line 35: imported interface contains errors >>>> (SupMisc) >>>> 6 errors encountered >>>> new source -> compiling GzipRd.i3 >>>> "../src/GzipRd.i3", line 36: unable to find interface (StreamRd) >>>> 1 error encountered >>>> new source -> compiling GzipRd.m3 >>>> "../src/GzipRd.m3", line 31: imported interface contains errors >>>> (GzipRd) >>>> "../src/GzipRd.m3", line 34: unable to find interface (StreamRdClass) >>>> 2 errors encountered >>>> new source -> compiling GzipWr.i3 >>>> "../src/GzipWr.i3", line 36: unable to find interface (StreamWr) >>>> 1 error encountered >>>> new source -> compiling GzipWr.m3 >>>> "../src/GzipWr.m3", line 31: imported interface contains errors >>>> (GzipWr) >>>> "../src/GzipWr.m3", line 34: unable to find interface (StreamWrClass) >>>> 2 errors encountered >>>> new source -> compiling RsyncFile.i3 >>>> "../src/RsyncFile.i3", line 33: imported interface contains errors >>>> (FileAttr) >>>> 1 error encountered >>>> new source -> compiling RsyncFile.m3 >>>> "../src/RsyncFile.m3", line 31: imported interface contains errors >>>> (RsyncFile) >>>> "../src/RsyncFile.m3", line 34: imported interface contains errors >>>> (FileAttr) >>>> "../src/RsyncFile.m3", line 35: imported interface contains errors >>>> (UnixMisc) >>>> 3 errors encountered >>>> new source -> compiling SigHandler.m3 >>>> "../src/SigHandler.m3", line 48: imported interface contains errors >>>> (UnixMisc) >>>> "../src/SigHandler.m3", line 50: unable to find interface (SupErrno) >>>> 2 errors encountered >>>> new source -> compiling UnixMisc.m3 >>>> "../src/UnixMisc.m3", line 31: imported interface contains errors >>>> (UnixMisc) >>>> "../src/UnixMisc.m3", line 34: unable to find interface (IP) >>>> 2 errors encountered >>>> new source -> compiling Attic.i3 >>>> "../src/Attic.i3", line 37: imported interface contains errors >>>> (FileAttr) >>>> "../src/Attic.i3", line 37: imported interface contains errors >>>> (RCSFile) >>>> 2 errors encountered >>>> new source -> compiling Attic.m3 >>>> "../src/Attic.m3", line 31: imported interface contains errors (Attic) >>>> "../src/Attic.m3", line 34: imported interface contains errors >>>> (FileAttr) >>>> "../src/Attic.m3", line 34: imported interface contains errors >>>> (RCSFile) >>>> "../src/Attic.m3", line 35: imported interface contains errors >>>> (SupMisc) >>>> "../src/Attic.m3", line 35: imported interface contains errors >>>> (UnixMisc) >>>> 5 errors encountered >>>> new source -> compiling DevTLinux.i3 >>>> "../src/dev_t_linux/DevTLinux.i3", line 38: imported interface >>>> contains errors (DevT) >>>> 1 error encountered >>>> new source -> compiling DevT.m3 >>>> "../src/dev_t_linux/DevT.m3", line 31: imported interface contains >>>> errors (DevT) >>>> "../src/dev_t_linux/DevT.m3", line 34: imported interface contains >>>> errors (DevTLinux) >>>> "../src/dev_t_linux/DevT.m3", line 34: imported interface contains >>>> errors (TokScan) >>>> 3 errors encountered >>>> new source -> compiling SupMiscText.m3 >>>> "../src/text_cm3/SupMiscText.m3", line 35: imported interface >>>> contains errors (SupMisc) >>>> 1 error encountered >>>> compilation failed => not building library "libsuplib.a" >>>> Fatal Error: package build failed >>>> make[2]: *** [all] Error 1 >>>> make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/suplib' >>>> ===> server >>>> make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/server' >>>> cm3 >>>> --- building in LINUXLIBC6 --- >>>> >>>> package "suptcp" is already overridden to >>>> /home/rforb/work/cvsup-snap-16.1h/server/src/../.., ignoring new >>>> override to /home/rforb/work/cvsup-snap-16.1h/suplib/src/../.. >>>> >>>> >>>> Fatal Error: missing source file: FileAttr.i3 >>>> >>>> make[2]: *** [all] Error 1 >>>> make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/server' >>>> ===> client >>>> make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/client' >>>> cm3 >>>> --- building in LINUXLIBC6 --- >>>> >>>> package "suptcp" is already overridden to >>>> /home/rforb/work/cvsup-snap-16.1h/client/src/../.., ignoring new >>>> override to /home/rforb/work/cvsup-snap-16.1h/suplib/src/../.. >>>> >>>> >>>> Fatal Error: missing source file: SupFileRec.i3 >>>> >>>> make[2]: *** [all] Error 1 >>>> make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/client' >>>> ===> cvpasswd >>>> make[2]: Entering directory >>>> `/home/rforb/work/cvsup-snap-16.1h/cvpasswd' >>>> cm3 >>>> --- building in LINUXLIBC6 --- >>>> >>>> >>>> Fatal Error: missing source file: AuthMD5.i3 >>>> >>>> make[2]: *** [all] Error 1 >>>> make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/cvpasswd' >>>> make[1]: *** [subdirs] Error 2 >>>> make[1]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h' >>>> make: *** [all] Error 2 >>> Looks like aside some other errors, it doesn't find all the .i3 >>> files, though I can see all of them existing. Do I possibly have to >>> tell the cm3 compiler where to find them? >>> What do all the "imported interface contains errors (...)" messages >>> have to mean and how to fix this ? >>> Regards, >>> Ronny > From hosking at cs.purdue.edu Mon Jun 4 21:37:27 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Mon, 4 Jun 2007 15:37:27 -0400 Subject: [M3devel] Virtual-Memory synchronized GC Message-ID: I would like to remove the now-deprecated VM-synchronized GC support so as to be able to tidy up the GC implementation, making it more easily maintained, and in preparation for further improvements to GC. Is there anyone who has an interest in seeing VM-synchronized GC continuing to be supported? Antony Hosking | Associate Professor Dept of Computer Science | Office: +1 765 494-6001 Purdue University | Mobile: +1 765 427-5484 250 N. University Street | Email: hosking at cs.purdue.edu West Lafayette, IN 47907-2066 | http://www.cs.purdue.edu/~hosking _--_|\ / \ \_.--._/ ) v / From dabenavidesd at yahoo.es Tue Jun 5 04:30:41 2007 From: dabenavidesd at yahoo.es (Daniel Alejandro Benavides D.) Date: Tue, 5 Jun 2007 04:30:41 +0200 (CEST) Subject: [M3devel] errors building cvsup wih cm3 In-Reply-To: <46643382.5010105@polstra.com> Message-ID: <20070605023041.71990.qmail@web27105.mail.ukl.yahoo.com> Hi, One of the problems I had when compiling cvsup with current cm3 on suplib/src/FileAttr.m3 when calling utime.gettimeofday because of the definition of the function Utime <*EXTERNAL*> PROCEDURE gettimeofday (VAR t: struct_timeval; z: UNTRACED REF struct_timezone := NIL): int in the z parameter have changed, the patch was written before this change in the procedure. The FileAttr.m3 uses the function on line 746: EVAL Utime.gettimeofday(times[0], tz); tz is declared before in line 744: tz: UNTRACED REF Utime.struct_timezone:=NIL; The program compiles as explained in the guide: http://es.geocities.com/dabenavidesd/InstallationGuidecm3-Modula-3.html#SECTION00060000000000000000 I didnt have any more problems compiling cvsup with cm3. Sorry by the late posting of this issue. --- John Polstra wrote: > Hmm, actually you may be closer to the right answers > than I was. I > don't see how the lack of the patch could explain > some of those errors. > > John > > > Tony Hosking wrote: > > Looks like John has the answers... > > > > On Jun 4, 2007, at 11:11 AM, John Polstra wrote: > > > >> There is a patch for CVSup that you have to apply > before you can build > >> it with cm3. Look on the cm3 downloads page, and > you'll find it. > >> > >> John > >> > >> Ronny Forberger wrote: > >>> Hi there, > >>> since I've been able to build the cm3 compiler > successfully on Debian > >>> Linux 'etch' x86, I'm faced up to some other > build problem: > >>> When trying to build cvsup-snap-16.1h from > sources using cm3 my build > >>> process stops by the following error: > >>>> make[2]: Entering directory > `/home/rforb/work/cvsup-snap-16.1h/suptcp' > >>>> cm3 > >>>> --- building in LINUXLIBC6 --- > >>>> > >>>> > >>>> Fatal Error: duplicate unit: > >>>> /usr/local/cm3/pkg/tcp/src/POSIX/SockOpt.i3 > ../src/POSIX/SockOpt.i3 > >>>> > >>>> make[2]: *** [all] Error 1 > >>>> make[2]: Leaving directory > `/home/rforb/work/cvsup-snap-16.1h/suptcp' > >>>> ===> suplib > >>>> make[2]: Entering directory > `/home/rforb/work/cvsup-snap-16.1h/suplib' > >>>> cm3 > >>>> --- building in LINUXLIBC6 --- > >>>> > >>>> new source -> compiling TokScan.i3 > >>>> "../src/TokScan.i3", line 36: unable to find > interface (IP) > >>>> 1 error encountered > >>>> new source -> compiling FileAttr.i3 > >>>> "../src/FileAttr.i3", line 33: imported > interface contains errors > >>>> (TokScan) > >>>> 1 error encountered > >>>> new source -> compiling FileAttrRep.i3 > >>>> "../src/FileAttrRep.i3", line 33: imported > interface contains errors > >>>> (FileAttr) > >>>> 1 error encountered > >>>> new source -> compiling FileAttrOS.m3 > >>>> "../src/POSIX/FileAttrOS.m3", line 31: imported > interface contains > >>>> errors (FileAttr) > >>>> "../src/POSIX/FileAttrOS.m3", line 31: imported > interface contains > >>>> errors (FileAttrRep) > >>>> 2 errors encountered > >>>> new source -> compiling SupFileRec.i3 > >>>> "../src/SupFileRec.i3", line 36: imported > interface contains errors > >>>> (FileAttr) > >>>> "../src/SupFileRec.i3", line 37: imported > interface contains errors > >>>> (TokScan) > >>>> 2 errors encountered > >>>> new source -> compiling SupMisc.i3 > >>>> "../src/SupMisc.i3", line 37: unable to find > interface (IP) > >>>> "../src/SupMisc.i3", line 37: imported > interface contains errors > >>>> (SupFileRec) > >>>> "../src/SupMisc.i3", line 39: unable to find > interface (SupTCP) > >>>> 3 errors encountered > >>>> new source -> compiling PathComp.m3 > >>>> "../src/PathComp.m3", line 33: imported > interface contains errors > >>>> (SupMisc) > >>>> 1 error encountered > >>>> new source -> compiling ChannelMux.i3 > >>>> "../src/ChannelMux.i3", line 33: unable to find > interface (IP) > >>>> "../src/ChannelMux.i3", line 34: unable to find > interface (SupConnFD) > >>>> 2 errors encountered > >>>> new source -> compiling ChannelMux.m3 > >>>> "../src/ChannelMux.m3", line 32: imported > interface contains errors > >>>> (ChannelMux) > >>>> "../src/ChannelMux.m3", line 35: unable to find > interface (IP) > >>>> "../src/ChannelMux.m3", line 35: unable to find > interface (TCP) > >>>> "../src/ChannelMux.m3", line 36: unable to find > interface (SupConnFD) > >>>> 4 errors encountered > >>>> new source -> compiling AuthMD5.i3 > >>>> "../src/AuthMD5.i3", line 33: unable to find > interface (IP) > >>>> 1 error encountered > >>>> new source -> compiling AuthMD5.m3 > >>>> "../src/AuthMD5.m3", line 31: imported > interface contains errors > >>>> (AuthMD5) > >>>> "../src/AuthMD5.m3", line 33: unable to find > interface (IP) > >>>> 2 errors encountered > >>>> new source -> compiling TokScan.m3 > >>>> "../src/TokScan.m3", line 31: imported > interface contains errors > >>>> (TokScan) > >>>> "../src/TokScan.m3", line 34: unable to find > interface (IP) > >>>> "../src/TokScan.m3", line 34: imported > interface contains errors > >>>> (SupMisc) > >>>> 3 errors encountered > >>>> new source -> compiling DevT.i3 > >>>> "../src/DevT.i3", line 38: imported interface > contains errors (TokScan) > >>>> 1 error encountered > >>>> new source -> compiling UnixMisc.i3 > >>>> "../src/UnixMisc.i3", line 35: unable to find > interface (IP) > >>>> 1 error encountered > >>>> new source -> compiling FileAttr.m3 > >>>> "../src/FileAttr.m3", line 31: imported > interface contains errors > >>>> (FileAttr) > >>>> "../src/FileAttr.m3", line 31: imported > interface contains errors > >>>> (FileAttrRep) > >>>> "../src/FileAttr.m3", line 34: imported > interface contains errors > >>>> (DevT) > >>>> "../src/FileAttr.m3", line 35: imported > interface contains errors > >>>> (SupMisc) > >>>> "../src/FileAttr.m3", line 36: imported > interface contains errors > >>>> (TokScan) > >>>> "../src/FileAttr.m3", line 36: imported > interface contains errors > >>>> (UnixMisc) > >>>> 6 errors encountered > >>>> new source -> compiling FileID.i3 > >>>> "../src/FileID.i3", line 33: imported interface > contains errors > >>>> (FileAttr) > >>>> 1 error encountered > >>>> new source -> compiling FileID.m3 > >>>> "../src/FileID.m3", line 31: imported interface > contains errors > >>>> (FileID) > >>>> "../src/FileID.m3", line 34: imported interface > contains errors (DevT) > >>>> "../src/FileID.m3", line 34: imported interface > contains errors > >>>> (FileAttr) > >>>> "../src/FileID.m3", line 34: imported interface > contains errors > >>>> (FileAttrRep) > >>>> 4 errors encountered > >>>> new source -> compiling CVProto.i3 > >>>> "../src/CVProto.i3", line 33: imported > interface contains errors > >>>> (FileAttr) > >>>> "../src/CVProto.i3", line 33: imported > interface contains errors > >>>> (TokScan) > >>>> 2 errors encountered > >>>> new source -> compiling CVProto.m3 > >>>> "../src/CVProto.m3", line 35: imported > interface contains errors > >>>> (CVProto) > >>>> "../src/CVProto.m3", line 38: imported > interface contains errors > >>>> (SupMisc) > >>>> "../src/CVProto.m3", line 38: imported > interface contains errors > >>>> (TokScan) > >>>> 3 errors encountered > >>>> new source -> compiling ErrMsg.m3 > >>>> "../src/ErrMsg.m3", line 34: unable to find > interface (IP) > >>>> "../src/ErrMsg.m3", line 34: imported interface > contains errors > >>>> (TokScan) > === message truncated === ______________________________________________ LLama Gratis a cualquier PC del Mundo. Llamadas a fijos y m?viles desde 1 c?ntimo por minuto. http://es.voice.yahoo.com From dabenavidesd at yahoo.es Tue Jun 5 06:22:28 2007 From: dabenavidesd at yahoo.es (Daniel Alejandro Benavides D.) Date: Tue, 5 Jun 2007 06:22:28 +0200 (CEST) Subject: [M3devel] errors building cvsup wih cm3 In-Reply-To: <20070605023041.71990.qmail@web27105.mail.ukl.yahoo.com> Message-ID: <780447.73599.qm@web27104.mail.ukl.yahoo.com> Hi, I have actually wrote a little omission, the current declaration of the varible on the suplib/src/FileAttr.m3, line 744 is: tz: Utime.struct_timezone; So as the compiler complains I have change it to tz: UNTRACED REF Utime.struct_timezone:=NIL; Thanks, --- "Daniel Alejandro Benavides D." wrote: > Hi, > One of the problems I had when compiling cvsup with > current cm3 on suplib/src/FileAttr.m3 > when calling utime.gettimeofday because of the > definition of the function Utime > <*EXTERNAL*> > PROCEDURE gettimeofday (VAR t: struct_timeval; > z: UNTRACED REF > struct_timezone := NIL): int > > in the z parameter have changed, the patch was > written > before this change in the procedure. > > The FileAttr.m3 uses the function on line 746: > EVAL Utime.gettimeofday(times[0], tz); > > tz is declared before in line 744: > tz: UNTRACED REF Utime.struct_timezone:=NIL; > > The program compiles as explained in the guide: > http://es.geocities.com/dabenavidesd/InstallationGuidecm3-Modula-3.html#SECTION00060000000000000000 > > I didnt have any more problems compiling cvsup with > cm3. > > Sorry by the late posting of this issue. > > > --- John Polstra wrote: > > > Hmm, actually you may be closer to the right > answers > > than I was. I > > don't see how the lack of the patch could explain > > some of those errors. > > > > John > > > > > > Tony Hosking wrote: > > > Looks like John has the answers... > > > > > > On Jun 4, 2007, at 11:11 AM, John Polstra wrote: > > > > > >> There is a patch for CVSup that you have to > apply > > before you can build > > >> it with cm3. Look on the cm3 downloads page, > and > > you'll find it. > > >> > > >> John > > >> > > >> Ronny Forberger wrote: > > >>> Hi there, > > >>> since I've been able to build the cm3 compiler > > successfully on Debian > > >>> Linux 'etch' x86, I'm faced up to some other > > build problem: > > >>> When trying to build cvsup-snap-16.1h from > > sources using cm3 my build > > >>> process stops by the following error: > > >>>> make[2]: Entering directory > > `/home/rforb/work/cvsup-snap-16.1h/suptcp' > > >>>> cm3 > > >>>> --- building in LINUXLIBC6 --- > > >>>> > > >>>> > > >>>> Fatal Error: duplicate unit: > > >>>> /usr/local/cm3/pkg/tcp/src/POSIX/SockOpt.i3 > > ../src/POSIX/SockOpt.i3 > > >>>> > > >>>> make[2]: *** [all] Error 1 > > >>>> make[2]: Leaving directory > > `/home/rforb/work/cvsup-snap-16.1h/suptcp' > > >>>> ===> suplib > > >>>> make[2]: Entering directory > > `/home/rforb/work/cvsup-snap-16.1h/suplib' > > >>>> cm3 > > >>>> --- building in LINUXLIBC6 --- > > >>>> > > >>>> new source -> compiling TokScan.i3 > > >>>> "../src/TokScan.i3", line 36: unable to find > > interface (IP) > > >>>> 1 error encountered > > >>>> new source -> compiling FileAttr.i3 > > >>>> "../src/FileAttr.i3", line 33: imported > > interface contains errors > > >>>> (TokScan) > > >>>> 1 error encountered > > >>>> new source -> compiling FileAttrRep.i3 > > >>>> "../src/FileAttrRep.i3", line 33: imported > > interface contains errors > > >>>> (FileAttr) > > >>>> 1 error encountered > > >>>> new source -> compiling FileAttrOS.m3 > > >>>> "../src/POSIX/FileAttrOS.m3", line 31: > imported > > interface contains > > >>>> errors (FileAttr) > > >>>> "../src/POSIX/FileAttrOS.m3", line 31: > imported > > interface contains > > >>>> errors (FileAttrRep) > > >>>> 2 errors encountered > > >>>> new source -> compiling SupFileRec.i3 > > >>>> "../src/SupFileRec.i3", line 36: imported > > interface contains errors > > >>>> (FileAttr) > > >>>> "../src/SupFileRec.i3", line 37: imported > > interface contains errors > > >>>> (TokScan) > > >>>> 2 errors encountered > > >>>> new source -> compiling SupMisc.i3 > > >>>> "../src/SupMisc.i3", line 37: unable to find > > interface (IP) > > >>>> "../src/SupMisc.i3", line 37: imported > > interface contains errors > > >>>> (SupFileRec) > > >>>> "../src/SupMisc.i3", line 39: unable to find > > interface (SupTCP) > > >>>> 3 errors encountered > > >>>> new source -> compiling PathComp.m3 > > >>>> "../src/PathComp.m3", line 33: imported > > interface contains errors > > >>>> (SupMisc) > > >>>> 1 error encountered > > >>>> new source -> compiling ChannelMux.i3 > > >>>> "../src/ChannelMux.i3", line 33: unable to > find > > interface (IP) > > >>>> "../src/ChannelMux.i3", line 34: unable to > find > > interface (SupConnFD) > > >>>> 2 errors encountered > > >>>> new source -> compiling ChannelMux.m3 > > >>>> "../src/ChannelMux.m3", line 32: imported > > interface contains errors > > >>>> (ChannelMux) > > >>>> "../src/ChannelMux.m3", line 35: unable to > find > > interface (IP) > > >>>> "../src/ChannelMux.m3", line 35: unable to > find > > interface (TCP) > > >>>> "../src/ChannelMux.m3", line 36: unable to > find > > interface (SupConnFD) > > >>>> 4 errors encountered > > >>>> new source -> compiling AuthMD5.i3 > > >>>> "../src/AuthMD5.i3", line 33: unable to find > > interface (IP) > > >>>> 1 error encountered > > >>>> new source -> compiling AuthMD5.m3 > > >>>> "../src/AuthMD5.m3", line 31: imported > > interface contains errors > > >>>> (AuthMD5) > > >>>> "../src/AuthMD5.m3", line 33: unable to find > > interface (IP) > > >>>> 2 errors encountered > > >>>> new source -> compiling TokScan.m3 > > >>>> "../src/TokScan.m3", line 31: imported > > interface contains errors > > >>>> (TokScan) > > >>>> "../src/TokScan.m3", line 34: unable to find > > interface (IP) > > >>>> "../src/TokScan.m3", line 34: imported > > interface contains errors > > >>>> (SupMisc) > > >>>> 3 errors encountered > > >>>> new source -> compiling DevT.i3 > > >>>> "../src/DevT.i3", line 38: imported interface > > contains errors (TokScan) > > >>>> 1 error encountered > > >>>> new source -> compiling UnixMisc.i3 > > >>>> "../src/UnixMisc.i3", line 35: unable to find > > interface (IP) > > >>>> 1 error encountered > > >>>> new source -> compiling FileAttr.m3 > > >>>> "../src/FileAttr.m3", line 31: imported > > interface contains errors > > >>>> (FileAttr) > > >>>> "../src/FileAttr.m3", line 31: imported > > interface contains errors > > >>>> (FileAttrRep) > > >>>> "../src/FileAttr.m3", line 34: imported > > interface contains errors > > >>>> (DevT) > > >>>> "../src/FileAttr.m3", line 35: imported > > interface contains errors > > >>>> (SupMisc) > > >>>> "../src/FileAttr.m3", line 36: imported > > interface contains errors > > >>>> (TokScan) > > >>>> "../src/FileAttr.m3", line 36: imported > > interface contains errors > > >>>> (UnixMisc) > > >>>> 6 errors encountered > > >>>> new source -> compiling FileID.i3 > > >>>> "../src/FileID.i3", line 33: imported > interface > === message truncated === ______________________________________________ LLama Gratis a cualquier PC del Mundo. Llamadas a fijos y m?viles desde 1 c?ntimo por minuto. http://es.voice.yahoo.com From wagner at elegosoft.com Tue Jun 5 09:26:17 2007 From: wagner at elegosoft.com (Olaf Wagner) Date: Tue, 5 Jun 2007 09:26:17 +0200 (CEST) Subject: [M3devel] Virtual-Memory synchronized GC In-Reply-To: References: Message-ID: <41733.194.138.127.36.1181028377.squirrel@mail.elegosoft.com> On Mon, June 4, 2007 9:37 pm, Tony Hosking wrote: > I would like to remove the now-deprecated VM-synchronized GC support > so as to be able to tidy up the GC implementation, making it more > easily maintained, and in preparation for further improvements to > GC. Is there anyone who has an interest in seeing VM-synchronized GC > continuing to be supported? I wouldn't mind if you remove the old gargabe collection scheme, as the new one seems to have proven its stability. Olaf -- Olaf Wagner -- elego Software Solutions GmbH, Ohmstr. 9, 10179 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 ronny.forberger at elegosoft.com Tue Jun 5 10:59:51 2007 From: ronny.forberger at elegosoft.com (Ronny Forberger) Date: Tue, 05 Jun 2007 10:59:51 +0200 Subject: [M3devel] errors building cvsup wih cm3 In-Reply-To: <46642BBC.90500@polstra.com> References: <4663E91C.1090701@elegosoft.com> <46642BBC.90500@polstra.com> Message-ID: <46652607.6060403@elegosoft.com> Thanks, I didn't know about the patch. But now having applied the patch I'm still getting strange errors running make: > new source -> compiling Main.m3 > -> linking cvpasswd > > Fatal Error: incomplete program > > FileAttr.GetLinkCount: is exported, but not implemented: FileAttr.i3 > FileAttr.SetSize: is exported, but not implemented: FileAttr.i3 > FileAttr.MaskOut: is exported, but not implemented: FileAttr.i3 > FileAttr.DecodeAttrTypes: is exported, but not implemented: FileAttr.i3 > FileAttr.Merge: is exported, but not implemented: FileAttr.i3 > FileAttr.Override: is exported, but not implemented: FileAttr.i3 > FileAttr.GetSize: is exported, but not implemented: FileAttr.i3 > FileAttr.GetLinkTarget: is exported, but not implemented: FileAttr.i3 > FileAttr.EncodeAttrTypes: is exported, but not implemented: FileAttr.i3 > FileAttr.GetMask: is exported, but not implemented: FileAttr.i3 > FileAttr.FromFD: is exported, but not implemented: FileAttr.i3 > FileAttr.ForCheckout: is exported, but not implemented: FileAttr.i3 > FileAttr.FromFile: is exported, but not implemented: FileAttr.i3 > FileAttr.IsSupported: is exported, but not implemented: FileAttr.i3 > FileAttr.HardLink: is exported, but not implemented: FileAttr.i3 > FileAttr.Delete: is exported, but not implemented: FileAttr.i3 > FileAttr.GetMode: is exported, but not implemented: FileAttr.i3 > FileAttr.FromStat: is exported, but not implemented: FileAttr.i3 > RCSFile.m3 > FileAttr.FromPathname: is exported, but not implemented: FileAttr.i3 > SupMisc.m3 > FileAttr.GetModTime: is exported, but not implemented: FileAttr.i3 > RCSFile.m3 > FileAttr.MakeNode: is exported, but not implemented: FileAttr.i3 > SupMisc.m3 > FileAttr.Umask: is exported, but not implemented: FileAttr.i3 SupMisc.m3 > FileAttr.Install: is exported, but not implemented: FileAttr.i3 > SupMisc.m3 > FileAttr.MergeDefault: is exported, but not implemented: FileAttr.i3 > SupMisc.m3 > FileAttr.Decode: is exported, but not implemented: FileAttr.i3 > FileAttr.Equal: is exported, but not implemented: FileAttr.i3 > FileAttr.Encode: is exported, but not implemented: FileAttr.i3 > make[2]: *** [all] Error 1 > make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/cvpasswd' > make[1]: *** [subdirs] Error 2 > make[1]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h' > make: *** [all] Error 2 These messages repeat for all binary programs to be linked. So, any ideas again ? Ronny John Polstra wrote: > There is a patch for CVSup that you have to apply before you can build > it with cm3. Look on the cm3 downloads page, and you'll find it. > > John > > Ronny Forberger wrote: > >> Hi there, >> >> since I've been able to build the cm3 compiler successfully on Debian >> Linux 'etch' x86, I'm faced up to some other build problem: >> >> When trying to build cvsup-snap-16.1h from sources using cm3 my build >> process stops by the following error: >> >>> make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/suptcp' >>> cm3 >>> --- building in LINUXLIBC6 --- >>> >>> >>> Fatal Error: duplicate unit: >>> /usr/local/cm3/pkg/tcp/src/POSIX/SockOpt.i3 ../src/POSIX/SockOpt.i3 >>> >>> make[2]: *** [all] Error 1 >>> make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/suptcp' >>> ===> suplib >>> make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/suplib' >>> cm3 >>> --- building in LINUXLIBC6 --- >>> >>> new source -> compiling TokScan.i3 >>> "../src/TokScan.i3", line 36: unable to find interface (IP) >>> 1 error encountered >>> new source -> compiling FileAttr.i3 >>> "../src/FileAttr.i3", line 33: imported interface contains errors >>> (TokScan) >>> 1 error encountered >>> new source -> compiling FileAttrRep.i3 >>> "../src/FileAttrRep.i3", line 33: imported interface contains errors >>> (FileAttr) >>> 1 error encountered >>> new source -> compiling FileAttrOS.m3 >>> "../src/POSIX/FileAttrOS.m3", line 31: imported interface contains >>> errors (FileAttr) >>> "../src/POSIX/FileAttrOS.m3", line 31: imported interface contains >>> errors (FileAttrRep) >>> 2 errors encountered >>> new source -> compiling SupFileRec.i3 >>> "../src/SupFileRec.i3", line 36: imported interface contains errors >>> (FileAttr) >>> "../src/SupFileRec.i3", line 37: imported interface contains errors >>> (TokScan) >>> 2 errors encountered >>> new source -> compiling SupMisc.i3 >>> "../src/SupMisc.i3", line 37: unable to find interface (IP) >>> "../src/SupMisc.i3", line 37: imported interface contains errors >>> (SupFileRec) >>> "../src/SupMisc.i3", line 39: unable to find interface (SupTCP) >>> 3 errors encountered >>> new source -> compiling PathComp.m3 >>> "../src/PathComp.m3", line 33: imported interface contains errors >>> (SupMisc) >>> 1 error encountered >>> new source -> compiling ChannelMux.i3 >>> "../src/ChannelMux.i3", line 33: unable to find interface (IP) >>> "../src/ChannelMux.i3", line 34: unable to find interface (SupConnFD) >>> 2 errors encountered >>> new source -> compiling ChannelMux.m3 >>> "../src/ChannelMux.m3", line 32: imported interface contains errors >>> (ChannelMux) >>> "../src/ChannelMux.m3", line 35: unable to find interface (IP) >>> "../src/ChannelMux.m3", line 35: unable to find interface (TCP) >>> "../src/ChannelMux.m3", line 36: unable to find interface (SupConnFD) >>> 4 errors encountered >>> new source -> compiling AuthMD5.i3 >>> "../src/AuthMD5.i3", line 33: unable to find interface (IP) >>> 1 error encountered >>> new source -> compiling AuthMD5.m3 >>> "../src/AuthMD5.m3", line 31: imported interface contains errors >>> (AuthMD5) >>> "../src/AuthMD5.m3", line 33: unable to find interface (IP) >>> 2 errors encountered >>> new source -> compiling TokScan.m3 >>> "../src/TokScan.m3", line 31: imported interface contains errors >>> (TokScan) >>> "../src/TokScan.m3", line 34: unable to find interface (IP) >>> "../src/TokScan.m3", line 34: imported interface contains errors >>> (SupMisc) >>> 3 errors encountered >>> new source -> compiling DevT.i3 >>> "../src/DevT.i3", line 38: imported interface contains errors (TokScan) >>> 1 error encountered >>> new source -> compiling UnixMisc.i3 >>> "../src/UnixMisc.i3", line 35: unable to find interface (IP) >>> 1 error encountered >>> new source -> compiling FileAttr.m3 >>> "../src/FileAttr.m3", line 31: imported interface contains errors >>> (FileAttr) >>> "../src/FileAttr.m3", line 31: imported interface contains errors >>> (FileAttrRep) >>> "../src/FileAttr.m3", line 34: imported interface contains errors >>> (DevT) >>> "../src/FileAttr.m3", line 35: imported interface contains errors >>> (SupMisc) >>> "../src/FileAttr.m3", line 36: imported interface contains errors >>> (TokScan) >>> "../src/FileAttr.m3", line 36: imported interface contains errors >>> (UnixMisc) >>> 6 errors encountered >>> new source -> compiling FileID.i3 >>> "../src/FileID.i3", line 33: imported interface contains errors >>> (FileAttr) >>> 1 error encountered >>> new source -> compiling FileID.m3 >>> "../src/FileID.m3", line 31: imported interface contains errors >>> (FileID) >>> "../src/FileID.m3", line 34: imported interface contains errors (DevT) >>> "../src/FileID.m3", line 34: imported interface contains errors >>> (FileAttr) >>> "../src/FileID.m3", line 34: imported interface contains errors >>> (FileAttrRep) >>> 4 errors encountered >>> new source -> compiling CVProto.i3 >>> "../src/CVProto.i3", line 33: imported interface contains errors >>> (FileAttr) >>> "../src/CVProto.i3", line 33: imported interface contains errors >>> (TokScan) >>> 2 errors encountered >>> new source -> compiling CVProto.m3 >>> "../src/CVProto.m3", line 35: imported interface contains errors >>> (CVProto) >>> "../src/CVProto.m3", line 38: imported interface contains errors >>> (SupMisc) >>> "../src/CVProto.m3", line 38: imported interface contains errors >>> (TokScan) >>> 3 errors encountered >>> new source -> compiling ErrMsg.m3 >>> "../src/ErrMsg.m3", line 34: unable to find interface (IP) >>> "../src/ErrMsg.m3", line 34: imported interface contains errors >>> (TokScan) >>> "../src/ErrMsg.m3", line 36: unable to find interface (SupTCP) >>> 3 errors encountered >>> new source -> compiling DirEntry.i3 >>> "../src/DirEntry.i3", line 37: imported interface contains errors >>> (FileAttr) >>> 1 error encountered >>> new source -> compiling DirEntry.m3 >>> "../src/DirEntry.m3", line 31: imported interface contains errors >>> (DirEntry) >>> 1 error encountered >>> new source -> compiling DirEntryList.i3 >>> "../LINUXLIBC6/DirEntryList.i3 => >>> /usr/local/cm3/pkg/libm3/src/list/List.ig", line 29: imported >>> interface contains errors (DirEntry) >>> 1 error encountered >>> new source -> compiling DirEntryList.m3 >>> "../LINUXLIBC6/DirEntryList.m3", line 3: imported interface contains >>> errors (DirEntryList) >>> "../LINUXLIBC6/DirEntryList.m3 => >>> /usr/local/cm3/pkg/libm3/src/list/List.mg", line 11: imported >>> interface contains errors (DirEntry) >>> 2 errors encountered >>> new source -> compiling DirEntryListSort.i3 >>> "../LINUXLIBC6/DirEntryListSort.i3 => >>> /usr/local/cm3/pkg/libm3/src/list/ListSort.ig", line 28: imported >>> interface contains errors (DirEntry) >>> "../LINUXLIBC6/DirEntryListSort.i3 => >>> /usr/local/cm3/pkg/libm3/src/list/ListSort.ig", line 28: imported >>> interface contains errors (DirEntryList) >>> 2 errors encountered >>> new source -> compiling DirEntryListSort.m3 >>> "../LINUXLIBC6/DirEntryListSort.m3", line 3: imported interface >>> contains errors (DirEntryListSort) >>> "../LINUXLIBC6/DirEntryListSort.m3 => >>> /usr/local/cm3/pkg/libm3/src/list/ListSort.mg", line 10: imported >>> interface contains errors (DirEntry) >>> 2 errors encountered >>> new source -> compiling RCSDate.m3 >>> "../src/RCSDate.m3", line 34: imported interface contains errors >>> (TokScan) >>> 1 error encountered >>> new source -> compiling RCSFile.i3 >>> "../src/RCSFile.i3", line 37: imported interface contains errors >>> (FileAttr) >>> 1 error encountered >>> new source -> compiling RCSDeltaClass.i3 >>> "../src/RCSDeltaClass.i3", line 37: imported interface contains >>> errors (RCSFile) >>> 1 error encountered >>> new source -> compiling RCSDelta.m3 >>> "../src/RCSDelta.m3", line 31: imported interface contains errors >>> (RCSDeltaClass) >>> "../src/RCSDelta.m3", line 34: imported interface contains errors >>> (RCSFile) >>> "../src/RCSDelta.m3", line 35: imported interface contains errors >>> (TokScan) >>> 3 errors encountered >>> new source -> compiling RCSKeyword.m3 >>> "../src/RCSKeyword.m3", line 34: imported interface contains errors >>> (RCSDeltaClass) >>> "../src/RCSKeyword.m3", line 35: imported interface contains errors >>> (SupMisc) >>> 2 errors encountered >>> new source -> compiling RCSFile.m3 >>> "../src/RCSFile.m3", line 31: imported interface contains errors >>> (RCSFile) >>> "../src/RCSFile.m3", line 34: imported interface contains errors >>> (FileAttr) >>> "../src/RCSFile.m3", line 36: imported interface contains errors >>> (RCSDeltaClass) >>> "../src/RCSFile.m3", line 39: imported interface contains errors >>> (TokScan) >>> "../src/RCSFile.m3", line 39: imported interface contains errors >>> (UnixMisc) >>> 5 errors encountered >>> new source -> compiling SupFileRec.m3 >>> "../src/SupFileRec.m3", line 31: imported interface contains errors >>> (SupFileRec) >>> "../src/SupFileRec.m3", line 34: imported interface contains errors >>> (FileAttr) >>> "../src/SupFileRec.m3", line 35: imported interface contains errors >>> (TokScan) >>> 3 errors encountered >>> new source -> compiling SupMisc.m3 >>> "../src/SupMisc.m3", line 31: imported interface contains errors >>> (SupMisc) >>> "../src/SupMisc.m3", line 34: imported interface contains errors >>> (FileAttr) >>> "../src/SupMisc.m3", line 34: unable to find interface (IP) >>> "../src/SupMisc.m3", line 35: imported interface contains errors >>> (SupFileRec) >>> "../src/SupMisc.m3", line 36: imported interface contains errors >>> (TokScan) >>> "../src/SupMisc.m3", line 37: unable to find interface (SupTCP) >>> 6 errors encountered >>> new source -> compiling FileStatus.i3 >>> "../src/FileStatus.i3", line 33: imported interface contains errors >>> (FileAttr) >>> 1 error encountered >>> new source -> compiling FileStatusRaw.i3 >>> "../src/FileStatusRaw.i3", line 33: imported interface contains >>> errors (FileStatus) >>> 1 error encountered >>> new source -> compiling FileStatus.m3 >>> "../src/FileStatus.m3", line 31: imported interface contains errors >>> (FileStatus) >>> "../src/FileStatus.m3", line 31: imported interface contains errors >>> (FileStatusRaw) >>> "../src/FileStatus.m3", line 34: imported interface contains errors >>> (FileAttr) >>> "../src/FileStatus.m3", line 34: imported interface contains errors >>> (SupMisc) >>> "../src/FileStatus.m3", line 34: imported interface contains errors >>> (TokScan) >>> 5 errors encountered >>> new source -> compiling StatusFile.i3 >>> "../src/StatusFile.i3", line 33: imported interface contains errors >>> (FileStatus) >>> "../src/StatusFile.i3", line 33: imported interface contains errors >>> (SupFileRec) >>> 2 errors encountered >>> new source -> compiling StatusFile.m3 >>> "../src/StatusFile.m3", line 31: imported interface contains errors >>> (StatusFile) >>> "../src/StatusFile.m3", line 34: imported interface contains errors >>> (FileAttr) >>> "../src/StatusFile.m3", line 34: imported interface contains errors >>> (FileStatus) >>> "../src/StatusFile.m3", line 34: imported interface contains errors >>> (FileStatusRaw) >>> "../src/StatusFile.m3", line 35: imported interface contains errors >>> (SupFileRec) >>> "../src/StatusFile.m3", line 35: imported interface contains errors >>> (SupMisc) >>> 6 errors encountered >>> new source -> compiling CVTree.i3 >>> "../src/CVTree.i3", line 37: imported interface contains errors >>> (FileAttr) >>> 1 error encountered >>> new source -> compiling CVTree.m3 >>> "../src/CVTree.m3", line 31: imported interface contains errors >>> (CVTree) >>> "../src/CVTree.m3", line 34: imported interface contains errors >>> (DirEntry) >>> "../src/CVTree.m3", line 34: imported interface contains errors >>> (DirEntryList) >>> "../src/CVTree.m3", line 34: imported interface contains errors >>> (DirEntryListSort) >>> "../src/CVTree.m3", line 34: imported interface contains errors >>> (FileAttr) >>> "../src/CVTree.m3", line 35: imported interface contains errors >>> (SupMisc) >>> 6 errors encountered >>> new source -> compiling GzipRd.i3 >>> "../src/GzipRd.i3", line 36: unable to find interface (StreamRd) >>> 1 error encountered >>> new source -> compiling GzipRd.m3 >>> "../src/GzipRd.m3", line 31: imported interface contains errors >>> (GzipRd) >>> "../src/GzipRd.m3", line 34: unable to find interface (StreamRdClass) >>> 2 errors encountered >>> new source -> compiling GzipWr.i3 >>> "../src/GzipWr.i3", line 36: unable to find interface (StreamWr) >>> 1 error encountered >>> new source -> compiling GzipWr.m3 >>> "../src/GzipWr.m3", line 31: imported interface contains errors >>> (GzipWr) >>> "../src/GzipWr.m3", line 34: unable to find interface (StreamWrClass) >>> 2 errors encountered >>> new source -> compiling RsyncFile.i3 >>> "../src/RsyncFile.i3", line 33: imported interface contains errors >>> (FileAttr) >>> 1 error encountered >>> new source -> compiling RsyncFile.m3 >>> "../src/RsyncFile.m3", line 31: imported interface contains errors >>> (RsyncFile) >>> "../src/RsyncFile.m3", line 34: imported interface contains errors >>> (FileAttr) >>> "../src/RsyncFile.m3", line 35: imported interface contains errors >>> (UnixMisc) >>> 3 errors encountered >>> new source -> compiling SigHandler.m3 >>> "../src/SigHandler.m3", line 48: imported interface contains errors >>> (UnixMisc) >>> "../src/SigHandler.m3", line 50: unable to find interface (SupErrno) >>> 2 errors encountered >>> new source -> compiling UnixMisc.m3 >>> "../src/UnixMisc.m3", line 31: imported interface contains errors >>> (UnixMisc) >>> "../src/UnixMisc.m3", line 34: unable to find interface (IP) >>> 2 errors encountered >>> new source -> compiling Attic.i3 >>> "../src/Attic.i3", line 37: imported interface contains errors >>> (FileAttr) >>> "../src/Attic.i3", line 37: imported interface contains errors >>> (RCSFile) >>> 2 errors encountered >>> new source -> compiling Attic.m3 >>> "../src/Attic.m3", line 31: imported interface contains errors (Attic) >>> "../src/Attic.m3", line 34: imported interface contains errors >>> (FileAttr) >>> "../src/Attic.m3", line 34: imported interface contains errors >>> (RCSFile) >>> "../src/Attic.m3", line 35: imported interface contains errors >>> (SupMisc) >>> "../src/Attic.m3", line 35: imported interface contains errors >>> (UnixMisc) >>> 5 errors encountered >>> new source -> compiling DevTLinux.i3 >>> "../src/dev_t_linux/DevTLinux.i3", line 38: imported interface >>> contains errors (DevT) >>> 1 error encountered >>> new source -> compiling DevT.m3 >>> "../src/dev_t_linux/DevT.m3", line 31: imported interface contains >>> errors (DevT) >>> "../src/dev_t_linux/DevT.m3", line 34: imported interface contains >>> errors (DevTLinux) >>> "../src/dev_t_linux/DevT.m3", line 34: imported interface contains >>> errors (TokScan) >>> 3 errors encountered >>> new source -> compiling SupMiscText.m3 >>> "../src/text_cm3/SupMiscText.m3", line 35: imported interface >>> contains errors (SupMisc) >>> 1 error encountered >>> compilation failed => not building library "libsuplib.a" >>> Fatal Error: package build failed >>> make[2]: *** [all] Error 1 >>> make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/suplib' >>> ===> server >>> make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/server' >>> cm3 >>> --- building in LINUXLIBC6 --- >>> >>> package "suptcp" is already overridden to >>> /home/rforb/work/cvsup-snap-16.1h/server/src/../.., ignoring new >>> override to /home/rforb/work/cvsup-snap-16.1h/suplib/src/../.. >>> >>> >>> Fatal Error: missing source file: FileAttr.i3 >>> >>> make[2]: *** [all] Error 1 >>> make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/server' >>> ===> client >>> make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/client' >>> cm3 >>> --- building in LINUXLIBC6 --- >>> >>> package "suptcp" is already overridden to >>> /home/rforb/work/cvsup-snap-16.1h/client/src/../.., ignoring new >>> override to /home/rforb/work/cvsup-snap-16.1h/suplib/src/../.. >>> >>> >>> Fatal Error: missing source file: SupFileRec.i3 >>> >>> make[2]: *** [all] Error 1 >>> make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/client' >>> ===> cvpasswd >>> make[2]: Entering directory >>> `/home/rforb/work/cvsup-snap-16.1h/cvpasswd' >>> cm3 >>> --- building in LINUXLIBC6 --- >>> >>> >>> Fatal Error: missing source file: AuthMD5.i3 >>> >>> make[2]: *** [all] Error 1 >>> make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/cvpasswd' >>> make[1]: *** [subdirs] Error 2 >>> make[1]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h' >>> make: *** [all] Error 2 >> >> >> >> Looks like aside some other errors, it doesn't find all the .i3 >> files, though I can see all of them existing. Do I possibly have to >> tell the cm3 compiler where to find them? >> >> What do all the "imported interface contains errors (...)" messages >> have to mean and how to fix this ? >> >> Regards, >> >> Ronny >> >> >> -- Ronny Forberger Systemadministrator elego Software Solutions GmbH ronny.forberger(at)elegosoft.com Ohmstra?e 9, 10179 Berlin HRB 77719 Tel.: +49 30 23 45 86 96 Amtsgericht Charlottenburg Fax: +49 30 23 45 86 95 Sitz der Gesellschaft: Berlin http://www.elegosoft.com Gesch?ftsf?hrer: Olaf Wagner Bitte senden Sie Ihre technischen Support-Anfragen an admins(at)elego.de . From ronny.forberger at elegosoft.com Thu Jun 7 13:53:42 2007 From: ronny.forberger at elegosoft.com (Ronny Forberger) Date: Thu, 07 Jun 2007 13:53:42 +0200 Subject: [M3devel] errors building cvsup wih cm3 In-Reply-To: <20070605023041.71990.qmail@web27105.mail.ukl.yahoo.com> References: <20070605023041.71990.qmail@web27105.mail.ukl.yahoo.com> Message-ID: <4667F1C6.2030709@elegosoft.com> Hi, with this solution I was able to build cvsup with cm3. Thanks to all. Ronny Daniel Alejandro Benavides D. wrote: >Hi, >One of the problems I had when compiling cvsup with >current cm3 on suplib/src/FileAttr.m3 >when calling utime.gettimeofday because of the >definition of the function Utime ><*EXTERNAL*> >PROCEDURE gettimeofday (VAR t: struct_timeval; > z: UNTRACED REF >struct_timezone := NIL): int > >in the z parameter have changed, the patch was written >before this change in the procedure. > >The FileAttr.m3 uses the function on line 746: >EVAL Utime.gettimeofday(times[0], tz); > >tz is declared before in line 744: >tz: UNTRACED REF Utime.struct_timezone:=NIL; > >The program compiles as explained in the guide: >http://es.geocities.com/dabenavidesd/InstallationGuidecm3-Modula-3.html#SECTION00060000000000000000 > >I didnt have any more problems compiling cvsup with >cm3. > >Sorry by the late posting of this issue. > > >--- John Polstra wrote: > > > >>Hmm, actually you may be closer to the right answers >>than I was. I >>don't see how the lack of the patch could explain >>some of those errors. >> >>John >> >> >>Tony Hosking wrote: >> >> >>>Looks like John has the answers... >>> >>>On Jun 4, 2007, at 11:11 AM, John Polstra wrote: >>> >>> >>> >>>>There is a patch for CVSup that you have to apply >>>> >>>> >>before you can build >> >> >>>>it with cm3. Look on the cm3 downloads page, and >>>> >>>> >>you'll find it. >> >> >>>>John >>>> >>>>Ronny Forberger wrote: >>>> >>>> >>>>>Hi there, >>>>>since I've been able to build the cm3 compiler >>>>> >>>>> >>successfully on Debian >> >> >>>>>Linux 'etch' x86, I'm faced up to some other >>>>> >>>>> >>build problem: >> >> >>>>>When trying to build cvsup-snap-16.1h from >>>>> >>>>> >>sources using cm3 my build >> >> >>>>>process stops by the following error: >>>>> >>>>> >>>>>>make[2]: Entering directory >>>>>> >>>>>> >>`/home/rforb/work/cvsup-snap-16.1h/suptcp' >> >> >>>>>>cm3 >>>>>>--- building in LINUXLIBC6 --- >>>>>> >>>>>> >>>>>>Fatal Error: duplicate unit: >>>>>>/usr/local/cm3/pkg/tcp/src/POSIX/SockOpt.i3 >>>>>> >>>>>> >>../src/POSIX/SockOpt.i3 >> >> >>>>>>make[2]: *** [all] Error 1 >>>>>>make[2]: Leaving directory >>>>>> >>>>>> >>`/home/rforb/work/cvsup-snap-16.1h/suptcp' >> >> >>>>>>===> suplib >>>>>>make[2]: Entering directory >>>>>> >>>>>> >>`/home/rforb/work/cvsup-snap-16.1h/suplib' >> >> >>>>>>cm3 >>>>>>--- building in LINUXLIBC6 --- >>>>>> >>>>>>new source -> compiling TokScan.i3 >>>>>>"../src/TokScan.i3", line 36: unable to find >>>>>> >>>>>> >>interface (IP) >> >> >>>>>>1 error encountered >>>>>>new source -> compiling FileAttr.i3 >>>>>>"../src/FileAttr.i3", line 33: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(TokScan) >>>>>>1 error encountered >>>>>>new source -> compiling FileAttrRep.i3 >>>>>>"../src/FileAttrRep.i3", line 33: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(FileAttr) >>>>>>1 error encountered >>>>>>new source -> compiling FileAttrOS.m3 >>>>>>"../src/POSIX/FileAttrOS.m3", line 31: imported >>>>>> >>>>>> >>interface contains >> >> >>>>>>errors (FileAttr) >>>>>>"../src/POSIX/FileAttrOS.m3", line 31: imported >>>>>> >>>>>> >>interface contains >> >> >>>>>>errors (FileAttrRep) >>>>>>2 errors encountered >>>>>>new source -> compiling SupFileRec.i3 >>>>>>"../src/SupFileRec.i3", line 36: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(FileAttr) >>>>>>"../src/SupFileRec.i3", line 37: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(TokScan) >>>>>>2 errors encountered >>>>>>new source -> compiling SupMisc.i3 >>>>>>"../src/SupMisc.i3", line 37: unable to find >>>>>> >>>>>> >>interface (IP) >> >> >>>>>>"../src/SupMisc.i3", line 37: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(SupFileRec) >>>>>>"../src/SupMisc.i3", line 39: unable to find >>>>>> >>>>>> >>interface (SupTCP) >> >> >>>>>>3 errors encountered >>>>>>new source -> compiling PathComp.m3 >>>>>>"../src/PathComp.m3", line 33: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(SupMisc) >>>>>>1 error encountered >>>>>>new source -> compiling ChannelMux.i3 >>>>>>"../src/ChannelMux.i3", line 33: unable to find >>>>>> >>>>>> >>interface (IP) >> >> >>>>>>"../src/ChannelMux.i3", line 34: unable to find >>>>>> >>>>>> >>interface (SupConnFD) >> >> >>>>>>2 errors encountered >>>>>>new source -> compiling ChannelMux.m3 >>>>>>"../src/ChannelMux.m3", line 32: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(ChannelMux) >>>>>>"../src/ChannelMux.m3", line 35: unable to find >>>>>> >>>>>> >>interface (IP) >> >> >>>>>>"../src/ChannelMux.m3", line 35: unable to find >>>>>> >>>>>> >>interface (TCP) >> >> >>>>>>"../src/ChannelMux.m3", line 36: unable to find >>>>>> >>>>>> >>interface (SupConnFD) >> >> >>>>>>4 errors encountered >>>>>>new source -> compiling AuthMD5.i3 >>>>>>"../src/AuthMD5.i3", line 33: unable to find >>>>>> >>>>>> >>interface (IP) >> >> >>>>>>1 error encountered >>>>>>new source -> compiling AuthMD5.m3 >>>>>>"../src/AuthMD5.m3", line 31: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(AuthMD5) >>>>>>"../src/AuthMD5.m3", line 33: unable to find >>>>>> >>>>>> >>interface (IP) >> >> >>>>>>2 errors encountered >>>>>>new source -> compiling TokScan.m3 >>>>>>"../src/TokScan.m3", line 31: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(TokScan) >>>>>>"../src/TokScan.m3", line 34: unable to find >>>>>> >>>>>> >>interface (IP) >> >> >>>>>>"../src/TokScan.m3", line 34: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(SupMisc) >>>>>>3 errors encountered >>>>>>new source -> compiling DevT.i3 >>>>>>"../src/DevT.i3", line 38: imported interface >>>>>> >>>>>> >>contains errors (TokScan) >> >> >>>>>>1 error encountered >>>>>>new source -> compiling UnixMisc.i3 >>>>>>"../src/UnixMisc.i3", line 35: unable to find >>>>>> >>>>>> >>interface (IP) >> >> >>>>>>1 error encountered >>>>>>new source -> compiling FileAttr.m3 >>>>>>"../src/FileAttr.m3", line 31: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(FileAttr) >>>>>>"../src/FileAttr.m3", line 31: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(FileAttrRep) >>>>>>"../src/FileAttr.m3", line 34: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(DevT) >>>>>>"../src/FileAttr.m3", line 35: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(SupMisc) >>>>>>"../src/FileAttr.m3", line 36: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(TokScan) >>>>>>"../src/FileAttr.m3", line 36: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(UnixMisc) >>>>>>6 errors encountered >>>>>>new source -> compiling FileID.i3 >>>>>>"../src/FileID.i3", line 33: imported interface >>>>>> >>>>>> >>contains errors >> >> >>>>>>(FileAttr) >>>>>>1 error encountered >>>>>>new source -> compiling FileID.m3 >>>>>>"../src/FileID.m3", line 31: imported interface >>>>>> >>>>>> >>contains errors >> >> >>>>>>(FileID) >>>>>>"../src/FileID.m3", line 34: imported interface >>>>>> >>>>>> >>contains errors (DevT) >> >> >>>>>>"../src/FileID.m3", line 34: imported interface >>>>>> >>>>>> >>contains errors >> >> >>>>>>(FileAttr) >>>>>>"../src/FileID.m3", line 34: imported interface >>>>>> >>>>>> >>contains errors >> >> >>>>>>(FileAttrRep) >>>>>>4 errors encountered >>>>>>new source -> compiling CVProto.i3 >>>>>>"../src/CVProto.i3", line 33: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(FileAttr) >>>>>>"../src/CVProto.i3", line 33: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(TokScan) >>>>>>2 errors encountered >>>>>>new source -> compiling CVProto.m3 >>>>>>"../src/CVProto.m3", line 35: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(CVProto) >>>>>>"../src/CVProto.m3", line 38: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(SupMisc) >>>>>>"../src/CVProto.m3", line 38: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(TokScan) >>>>>>3 errors encountered >>>>>>new source -> compiling ErrMsg.m3 >>>>>>"../src/ErrMsg.m3", line 34: unable to find >>>>>> >>>>>> >>interface (IP) >> >> >>>>>>"../src/ErrMsg.m3", line 34: imported interface >>>>>> >>>>>> >>contains errors >> >> >>>>>>(TokScan) >>>>>> >>>>>> >=== message truncated === > > > > >______________________________________________ >LLama Gratis a cualquier PC del Mundo. >Llamadas a fijos y m?viles desde 1 c?ntimo por minuto. >http://es.voice.yahoo.com > > -- Ronny Forberger Systemadministrator elego Software Solutions GmbH ronny.forberger(at)elegosoft.com Ohmstra?e 9, 10179 Berlin HRB 77719 Tel.: +49 30 23 45 86 96 Amtsgericht Charlottenburg Fax: +49 30 23 45 86 95 Sitz der Gesellschaft: Berlin http://www.elegosoft.com Gesch?ftsf?hrer: Olaf Wagner Bitte senden Sie Ihre technischen Support-Anfragen an admins(at)elego.de . -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at cs.purdue.edu Thu Jun 21 17:04:02 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Thu, 21 Jun 2007 11:04:02 -0400 Subject: [M3devel] NT386 (win32) targets and dll2lib Message-ID: I am not familiar with the build strategy for libraries on Win32, but I am aware of the use of the command dll2lib being used to insert argument checks on library calls in support of the old style incremental/generational GC based on memory protection. With the new compiler-supported incremental/generational GC, the calls to m3_arg_check/RTHeapDep__CheckArgs for library calls are no longer needed, and I was hoping to eliminate the RTHeapDep code completely for all targets. Is there anyone out there familiar with the functionality of dll2lib who would be willing to remove insertion of the no longer needed checks? Thanks, Tony From hosking at cs.purdue.edu Thu Jun 21 21:07:09 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Thu, 21 Jun 2007 15:07:09 -0400 Subject: [M3devel] NT386 (win32) targets and dll2lib In-Reply-To: References: Message-ID: <80BE9586-8838-4105-A8C9-7D73CE1C1DD4@cs.purdue.edu> Maybe it is never actually used. If so, then great -- we can simply remove it and I can breathe easy. On Jun 21, 2007, at 1:23 PM, j k wrote: > You are correct it does stuff like that. I find that surprising > given a lack of type info. > I still don't think it is even used but have to look further. > > - Jay > >> From: Tony Hosking >> To: Modula-3 developers >> Subject: [M3devel] NT386 (win32) targets and dll2lib >> Date: Thu, 21 Jun 2007 11:04:02 -0400 >> >> I am not familiar with the build strategy for libraries on Win32, >> but I am aware of the use of the command dll2lib being used to >> insert argument checks on library calls in support of the old >> style incremental/generational GC based on memory protection. >> With the new compiler-supported incremental/generational GC, the >> calls to m3_arg_check/RTHeapDep__CheckArgs for library calls are >> no longer needed, and I was hoping to eliminate the RTHeapDep >> code completely for all targets. Is there anyone out there >> familiar with the functionality of dll2lib who would be willing >> to remove insertion of the no longer needed checks? >> >> Thanks, >> >> Tony >> > > _________________________________________________________________ > Get a preview of Live Earth, the hottest event this summer - only > on MSN http://liveearth.msn.com?source=msntaglineliveearthhm From mika at async.caltech.edu Sat Jun 23 09:34:13 2007 From: mika at async.caltech.edu (Mika Nystrom) Date: Sat, 23 Jun 2007 00:34:13 -0700 Subject: [M3devel] strange errors... Message-ID: <200706230734.l5N7YDeY069196@camembert.async.caltech.edu> Hello everyone, I am in the process of trying to consolidate build systems for a few software packages I am maintaining. Currently, I am using an old PM3 on FreeBSD4, an ancient PM3 (from Klagenfurt?) for Windows (NT386GNU), and trying to get the latest CM3 from cvs up and compiling things on PPC_DARWIN. Ideally, I'd like to standardize everything on the new PM3---mainly so that I can use pickles (and Network Objects) across all three systems. I'd also like to add Linux to the mix. It's natural for me to start with CM3 on Darwin, as there's no alternative. But I am getting some assertions failing. Everything in the CM3 distribution compiles fine, and I believe I have compiled the libraries a few times (that is, including with themselves), and updated the compiler, too (using boot-cm3-with-m3.sh). I just cvs updated tonight. Here's what I'm running into: /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/CHP.t -o CHPTok.i3 *** *** runtime error: *** <*ASSERT*> failed. *** file "../src/runtime/common/RTCollector.m3", line 2314 *** Abort Also: /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/PRS.t -o PRSTok.i3 Illegal instruction As you can see, these things are coming from the caltech_parser. I am using our local version, but I don't think it is very different from what is in the CM3 tree. Examining the first error (the failed assertion) more closely, I see the following: (gdb) list 108 wr := FileWr.Open(Pathname.ReplaceExt(tp.out, "m3")); 109 EXCEPT OSError.E => 110 Debug.Error("Cannot open tok implementation output file: " & 111 Pathname.ReplaceExt(tp.out, "m3")); 112 END; 113 Wr.PutText(wr, subs.apply(Bundle.Get(Form, "tokform.m3"))); 114 Wr.Close(wr); 115 END Main. (gdb) where #0 0x9004308c in kill () #1 0x9009fb3c in abort () #2 0x00096f50 in RTOS__Crash () at RTOS.m3:20 #3 0x0005bd40 in RTProcess__Crash (M3_Bd56fi_msg=0x0) at RTProcess.m3:65 #4 0x0008e4e0 in RTError__EndError (M3_AicXUJ_crash=1 '\001') at RTError.m3:115 #5 0x0008e08c in RTError__MsgS (M3_AJWxb1_file=0xc63d8, M3_AcxOUs_line=2314, M3_Bd56fi_msgA=0xca3d0, M3_Bd56fi_msgB=0xcbe90, M3_Bd56fi_msgC=0xca3d0) at RTError.m3:40 #6 0x0008eb88 in RTException__Crash (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0', M3_AJWxb1_rte=0xcb538) at RTException.m3:79 #7 0x0008e74c in RTException__DefaultBackstop (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:39 #8 0x0008e614 in RTException__InvokeBackstop (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:25 #9 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at RTExFrame.m3:29 #10 0x0008e840 in RTException__DefaultBackstop (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:47 #11 0x0008e614 in RTException__InvokeBackstop (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:25 #12 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at RTExFrame.m3:29 #13 0x00079740 in RTHooks__ReportFault (M3_AJWxb1_module=0xb3eb8, M3_AcxOUs_info=74048) at RTHooks.m3:110 #14 0x0006ff4c in _m3_fault (M3_AcxOUs_arg=74048) #15 0x0006bcf4 in RTHooks__CheckStoreTraced (M3_Af40ku_ref=0xb2415c) at RTCollector.m3:2314 #16 0x000700e4 in ThreadPThread__InnerLockMutex (M3_AYIbX3_m=0xb2415c, M3_BXP32l_self=0xb24014) at ThreadPThread.m3:126 #17 0x000704d8 in ThreadPThread__LockMutex (M3_AYIbX3_m=0xb2415c) at ThreadPThread.m3:153 #18 0x00019b24 in Wr__PutText (M3_BxxOH1_wr=0xb2415c, M3_Bd56fi_t=0xb44d5c) at Wr.m3:93 #19 0x00003f74 in Main_M3 (M3_AcxOUs_mode=1) at Main.m3:113 #20 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at RTLinker.m3:399 #21 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at RTLinker.m3:113 #22 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at RTLinker.m3:122 #23 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) at _m3main.mc:4 (gdb) The second error: Program received signal EXC_BAD_INSTRUCTION, Illegal instruction/operand. 0x00b111ac in ?? () (gdb) where #0 0x00b111ac in ?? () #1 0x0001214c in TextSubs__Apply (M3_CN69dV_self=0xb26450, M3_Bd56fi_src=0xb21cec) at TextSubs.m3:63 #2 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at RTLinker.m3:399 #3 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at RTLinker.m3:113 #4 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at RTLinker.m3:122 #5 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) at _m3main.mc:4 (gdb) list 58 BEGIN 59 WHILE pos < textLen DO 60 c := Text.GetChar(src, pos); 61 IF c IN self.starts THEN 62 (* S("analysing: " & Text.Sub(src, pos), DebugLevel); *) 63 iter := self.tbl.iterateOrdered(); 64 ind := pos; 65 original := ""; 66 REPEAT 67 INC(ind); (gdb) Any ideas what to look at? I don't know if this is relevant: [lapdog:~/t/cit_parse/PPC_DARWIN] mika% uname -a Darwin lapdog.local 7.9.0 Darwin Kernel Version 7.9.0: Wed Mar 30 20:11:17 PST 2005; root:xnu/xnu-517.12.7.obj~1/RELEASE_PPC Power Macintosh powerpc [lapdog:~/t/cit_parse/PPC_DARWIN] mika% gcc -v Reading specs from /usr/libexec/gcc/darwin/ppc/3.3/specs Thread model: posix gcc version 3.3 20030304 (Apple Computer, Inc. build 1666) Mika P.S. Am I correct in assuming that I can get CM3 to build on Windows? I could switch to CM3 on Unix any time, of course, but I've never had luck with it on Windows, which is why I am using the ancient Klagenfurt PM3, which comes on 40-odd "floppies" and a .EXE that unpacks them into C: (and installation instructions only in German). If CM3 doesn't work on Windows, I am essentially wasting my time, as the current project I am working on absolutely requires that the software run on Windows 2003 Server (yes, it sucks, but what can you do?) The very old PM3 at least kind of hobbles along on this platform---actually, better than that; it does Trestle natively under Windows (no X required), at least on SOME Windows machines. P.P.S. Sorry for all the postscripts, but is it true that the build system has been changed so that building with overrides (cm3 -x) requires having the compiler sources available? It didn't use to be that way, but I can't get Network Objects to work with overrides now unless I have the sources available... It's a bit of a pain because it means that every user has to have the compiler sources, or else ship everything, or was that not the intention? From hosking at cs.purdue.edu Sat Jun 23 17:47:55 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Sat, 23 Jun 2007 11:47:55 -0400 Subject: [M3devel] strange errors... In-Reply-To: <200706230734.l5N7YDeY069196@camembert.async.caltech.edu> References: <200706230734.l5N7YDeY069196@camembert.async.caltech.edu> Message-ID: That sounds like you forgot to execute "do-cm3-std.sh realclean" before initiating the build. These sorts of errors sometimes arise if there are old build directories lying around. On Jun 23, 2007, at 3:34 AM, Mika Nystrom wrote: > Hello everyone, > > I am in the process of trying to consolidate build systems for a > few software packages I am maintaining. Currently, I am using an > old PM3 on FreeBSD4, an ancient PM3 (from Klagenfurt?) for Windows > (NT386GNU), and trying to get the latest CM3 from cvs up and compiling > things on PPC_DARWIN. Ideally, I'd like to standardize everything > on the new PM3---mainly so that I can use pickles (and Network > Objects) across all three systems. I'd also like to add Linux to > the mix. > > It's natural for me to start with CM3 on Darwin, as there's no > alternative. But I am getting some assertions failing. Everything > in the CM3 distribution compiles fine, and I believe I have compiled > the libraries a few times (that is, including with themselves), and > updated the compiler, too (using boot-cm3-with-m3.sh). I just cvs > updated tonight. > > Here's what I'm running into: > > /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/CHP.t -o CHPTok.i3 > > > *** > *** runtime error: > *** <*ASSERT*> failed. > *** file "../src/runtime/common/RTCollector.m3", line 2314 > *** > > Abort > > Also: > > /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/PRS.t -o PRSTok.i3 > Illegal instruction > > As you can see, these things are coming from the caltech_parser. I > am using > our local version, but I don't think it is very different from what > is in the > CM3 tree. > > > Examining the first error (the failed assertion) more closely, I see > the following: > > (gdb) list > 108 wr := FileWr.Open(Pathname.ReplaceExt(tp.out, "m3")); > 109 EXCEPT OSError.E => > 110 Debug.Error("Cannot open tok implementation output > file: " & > 111 Pathname.ReplaceExt(tp.out, "m3")); > 112 END; > 113 Wr.PutText(wr, subs.apply(Bundle.Get(Form, "tokform.m3"))); > 114 Wr.Close(wr); > 115 END Main. > (gdb) where > #0 0x9004308c in kill () > #1 0x9009fb3c in abort () > #2 0x00096f50 in RTOS__Crash () at RTOS.m3:20 > #3 0x0005bd40 in RTProcess__Crash (M3_Bd56fi_msg=0x0) at > RTProcess.m3:65 > #4 0x0008e4e0 in RTError__EndError (M3_AicXUJ_crash=1 '\001') at > RTError.m3:115 > #5 0x0008e08c in RTError__MsgS (M3_AJWxb1_file=0xc63d8, > M3_AcxOUs_line=2314, M3_Bd56fi_msgA=0xca3d0, > M3_Bd56fi_msgB=0xcbe90, M3_Bd56fi_msgC=0xca3d0) at RTError.m3:40 > #6 0x0008eb88 in RTException__Crash (M3_Cblw37_a=0xbfffee00, > M3_AicXUJ_raises=0 '\0', M3_AJWxb1_rte=0xcb538) at RTException.m3:79 > #7 0x0008e74c in RTException__DefaultBackstop > (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:39 > #8 0x0008e614 in RTException__InvokeBackstop > (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:25 > #9 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at > RTExFrame.m3:29 > #10 0x0008e840 in RTException__DefaultBackstop > (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:47 > #11 0x0008e614 in RTException__InvokeBackstop > (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:25 > #12 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at > RTExFrame.m3:29 > #13 0x00079740 in RTHooks__ReportFault (M3_AJWxb1_module=0xb3eb8, > M3_AcxOUs_info=74048) at RTHooks.m3:110 > #14 0x0006ff4c in _m3_fault (M3_AcxOUs_arg=74048) > #15 0x0006bcf4 in RTHooks__CheckStoreTraced > (M3_Af40ku_ref=0xb2415c) at RTCollector.m3:2314 > #16 0x000700e4 in ThreadPThread__InnerLockMutex > (M3_AYIbX3_m=0xb2415c, M3_BXP32l_self=0xb24014) at > ThreadPThread.m3:126 > #17 0x000704d8 in ThreadPThread__LockMutex (M3_AYIbX3_m=0xb2415c) > at ThreadPThread.m3:153 > #18 0x00019b24 in Wr__PutText (M3_BxxOH1_wr=0xb2415c, > M3_Bd56fi_t=0xb44d5c) at Wr.m3:93 > #19 0x00003f74 in Main_M3 (M3_AcxOUs_mode=1) at Main.m3:113 > #20 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at > RTLinker.m3:399 > #21 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at > RTLinker.m3:113 > #22 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at > RTLinker.m3:122 > #23 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) > at _m3main.mc:4 > (gdb) > > The second error: > > Program received signal EXC_BAD_INSTRUCTION, Illegal instruction/ > operand. > 0x00b111ac in ?? () > (gdb) where > #0 0x00b111ac in ?? () > #1 0x0001214c in TextSubs__Apply (M3_CN69dV_self=0xb26450, > M3_Bd56fi_src=0xb21cec) at TextSubs.m3:63 > #2 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at > RTLinker.m3:399 > #3 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at > RTLinker.m3:113 > #4 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at > RTLinker.m3:122 > #5 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) > at _m3main.mc:4 > (gdb) list > 58 BEGIN > 59 WHILE pos < textLen DO > 60 c := Text.GetChar(src, pos); > 61 IF c IN self.starts THEN > 62 (* S("analysing: " & Text.Sub(src, pos), > DebugLevel); *) > 63 iter := self.tbl.iterateOrdered(); > 64 ind := pos; > 65 original := ""; > 66 REPEAT > 67 INC(ind); > (gdb) > > Any ideas what to look at? > > I don't know if this is relevant: > > [lapdog:~/t/cit_parse/PPC_DARWIN] mika% uname -a > Darwin lapdog.local 7.9.0 Darwin Kernel Version 7.9.0: Wed Mar 30 > 20:11:17 PST 2005; root:xnu/xnu-517.12.7.obj~1/RELEASE_PPC Power > Macintosh powerpc > [lapdog:~/t/cit_parse/PPC_DARWIN] mika% gcc -v > Reading specs from /usr/libexec/gcc/darwin/ppc/3.3/specs > Thread model: posix > gcc version 3.3 20030304 (Apple Computer, Inc. build 1666) > > Mika > > P.S. Am I correct in assuming that I can get CM3 to build on Windows? > I could switch to CM3 on Unix any time, of course, but I've never > had luck with it on Windows, which is why I am using the ancient > Klagenfurt PM3, which comes on 40-odd "floppies" and a .EXE that > unpacks them into C: (and installation instructions only in German). > If CM3 doesn't work on Windows, I am essentially wasting my time, > as the current project I am working on absolutely requires that the > software run on Windows 2003 Server (yes, it sucks, but what can > you do?) The very old PM3 at least kind of hobbles along on this > platform---actually, better than that; it does Trestle natively > under Windows (no X required), at least on SOME Windows machines. > > P.P.S. Sorry for all the postscripts, but is it true that the > build system has been changed so that building with overrides (cm3 -x) > requires having the compiler sources available? It didn't use to > be that way, but I can't get Network Objects to work with overrides > now unless I have the sources available... It's a bit of a pain > because it means that every user has to have the compiler sources, > or else ship everything, or was that not the intention? From rcoleburn at scires.com Sat Jun 23 20:36:32 2007 From: rcoleburn at scires.com (Randy Coleburn) Date: Sat, 23 Jun 2007 14:36:32 -0400 Subject: [M3devel] strange errors... In-Reply-To: <200706230734.l5N7YDeY069196@camembert.async.caltech.edu> References: <200706230734.l5N7YDeY069196@camembert.async.caltech.edu> Message-ID: <467D3000.1E75.00D7.1@scires.com> Mika: I've used CM3 (v4.1) on Windows for years with Trestle, FormsVBT, NetObjects, etc.. Make sure to use the v2 of Network Objects. I haven't moved up to the most recent version yet. I tried some time ago, but ran into some problems with Bundles not working correctly. Maybe this is fixed now. I should try again. Regards, Randy Coleburn >>> Mika Nystrom 6/23/2007 3:34 AM >>> Hello everyone, I am in the process of trying to consolidate build systems for a few software packages I am maintaining. Currently, I am using an old PM3 on FreeBSD4, an ancient PM3 (from Klagenfurt?) for Windows (NT386GNU), and trying to get the latest CM3 from cvs up and compiling things on PPC_DARWIN. Ideally, I'd like to standardize everything on the new PM3---mainly so that I can use pickles (and Network Objects) across all three systems. I'd also like to add Linux to the mix. It's natural for me to start with CM3 on Darwin, as there's no alternative. But I am getting some assertions failing. Everything in the CM3 distribution compiles fine, and I believe I have compiled the libraries a few times (that is, including with themselves), and updated the compiler, too (using boot-cm3-with-m3.sh). I just cvs updated tonight. Here's what I'm running into: /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/CHP.t -o CHPTok.i3 *** *** runtime error: *** <*ASSERT*> failed. *** file "../src/runtime/common/RTCollector.m3", line 2314 *** Abort Also: /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/PRS.t -o PRSTok.i3 Illegal instruction As you can see, these things are coming from the caltech_parser. I am using our local version, but I don't think it is very different from what is in the CM3 tree. Examining the first error (the failed assertion) more closely, I see the following: (gdb) list 108 wr := FileWr.Open(Pathname.ReplaceExt(tp.out, "m3")); 109 EXCEPT OSError.E => 110 Debug.Error("Cannot open tok implementation output file: " & 111 Pathname.ReplaceExt(tp.out, "m3")); 112 END; 113 Wr.PutText(wr, subs.apply(Bundle.Get(Form, "tokform.m3"))); 114 Wr.Close(wr); 115 END Main. (gdb) where #0 0x9004308c in kill () #1 0x9009fb3c in abort () #2 0x00096f50 in RTOS__Crash () at RTOS.m3:20 #3 0x0005bd40 in RTProcess__Crash (M3_Bd56fi_msg=0x0) at RTProcess.m3:65 #4 0x0008e4e0 in RTError__EndError (M3_AicXUJ_crash=1 '\001') at RTError.m3:115 #5 0x0008e08c in RTError__MsgS (M3_AJWxb1_file=0xc63d8, M3_AcxOUs_line=2314, M3_Bd56fi_msgA=0xca3d0, M3_Bd56fi_msgB=0xcbe90, M3_Bd56fi_msgC=0xca3d0) at RTError.m3:40 #6 0x0008eb88 in RTException__Crash (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0', M3_AJWxb1_rte=0xcb538) at RTException.m3:79 #7 0x0008e74c in RTException__DefaultBackstop (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:39 #8 0x0008e614 in RTException__InvokeBackstop (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:25 #9 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at RTExFrame.m3:29 #10 0x0008e840 in RTException__DefaultBackstop (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:47 #11 0x0008e614 in RTException__InvokeBackstop (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:25 #12 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at RTExFrame.m3:29 #13 0x00079740 in RTHooks__ReportFault (M3_AJWxb1_module=0xb3eb8, M3_AcxOUs_info=74048) at RTHooks.m3:110 #14 0x0006ff4c in _m3_fault (M3_AcxOUs_arg=74048) #15 0x0006bcf4 in RTHooks__CheckStoreTraced (M3_Af40ku_ref=0xb2415c) at RTCollector.m3:2314 #16 0x000700e4 in ThreadPThread__InnerLockMutex (M3_AYIbX3_m=0xb2415c, M3_BXP32l_self=0xb24014) at ThreadPThread.m3:126 #17 0x000704d8 in ThreadPThread__LockMutex (M3_AYIbX3_m=0xb2415c) at ThreadPThread.m3:153 #18 0x00019b24 in Wr__PutText (M3_BxxOH1_wr=0xb2415c, M3_Bd56fi_t=0xb44d5c) at Wr.m3:93 #19 0x00003f74 in Main_M3 (M3_AcxOUs_mode=1) at Main.m3:113 #20 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at RTLinker.m3:399 #21 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at RTLinker.m3:113 #22 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at RTLinker.m3:122 #23 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) at _m3main.mc:4 (gdb) The second error: Program received signal EXC_BAD_INSTRUCTION, Illegal instruction/operand. 0x00b111ac in ?? () (gdb) where #0 0x00b111ac in ?? () #1 0x0001214c in TextSubs__Apply (M3_CN69dV_self=0xb26450, M3_Bd56fi_src=0xb21cec) at TextSubs.m3:63 #2 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at RTLinker.m3:399 #3 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at RTLinker.m3:113 #4 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at RTLinker.m3:122 #5 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) at _m3main.mc:4 (gdb) list 58 BEGIN 59 WHILE pos < textLen DO 60 c := Text.GetChar(src, pos); 61 IF c IN self.starts THEN 62 (* S("analysing: " & Text.Sub(src, pos), DebugLevel); *) 63 iter := self.tbl.iterateOrdered(); 64 ind := pos; 65 original := ""; 66 REPEAT 67 INC(ind); (gdb) Any ideas what to look at? I don't know if this is relevant: [lapdog:~/t/cit_parse/PPC_DARWIN] mika% uname -a Darwin lapdog.local 7.9.0 Darwin Kernel Version 7.9.0: Wed Mar 30 20:11:17 PST 2005; root:xnu/xnu-517.12.7.obj~1/RELEASE_PPC Power Macintosh powerpc [lapdog:~/t/cit_parse/PPC_DARWIN] mika% gcc -v Reading specs from /usr/libexec/gcc/darwin/ppc/3.3/specs Thread model: posix gcc version 3.3 20030304 (Apple Computer, Inc. build 1666) Mika P.S. Am I correct in assuming that I can get CM3 to build on Windows? I could switch to CM3 on Unix any time, of course, but I've never had luck with it on Windows, which is why I am using the ancient Klagenfurt PM3, which comes on 40-odd "floppies" and a .EXE that unpacks them into C: (and installation instructions only in German). If CM3 doesn't work on Windows, I am essentially wasting my time, as the current project I am working on absolutely requires that the software run on Windows 2003 Server (yes, it sucks, but what can you do?) The very old PM3 at least kind of hobbles along on this platform---actually, better than that; it does Trestle natively under Windows (no X required), at least on SOME Windows machines. P.P.S. Sorry for all the postscripts, but is it true that the build system has been changed so that building with overrides (cm3 -x) requires having the compiler sources available? It didn't use to be that way, but I can't get Network Objects to work with overrides now unless I have the sources available... It's a bit of a pain because it means that every user has to have the compiler sources, or else ship everything, or was that not the intention? -------------- next part -------------- An HTML attachment was scrubbed... URL: From mika at async.caltech.edu Sat Jun 23 20:38:27 2007 From: mika at async.caltech.edu (Mika Nystrom) Date: Sat, 23 Jun 2007 11:38:27 -0700 Subject: [M3devel] strange errors... In-Reply-To: Your message of "Sat, 23 Jun 2007 11:47:55 EDT." Message-ID: <200706231838.l5NIcRef079333@camembert.async.caltech.edu> Ok, I'm sorry if I seem a bit dimwitted in the morning like this, but how exactly does one get started? I wish there were a file called "GETTING_STARTED" or something like that in scripts... My Mac is very slow so I switched to my FreeBSD/i386 system (which has PM3 happily installed on it) and tried to install CM3 from scratch. Here are the exact commands I typed. rm -rf /usr/local/cm3/* cd ~/cm3-cvs mkdir boot cd boot tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz ./cminstall # now I seem to have some kind of cm3 installed, /usr/local/cm3/bin/cm3 cd cm3 # location of my CM3 checkout cvs update -d . cd scripts ./boot-cm3-with-m3.sh realclean ./do-cm3-std.sh realclean ./upgrade.sh # fails here, libm3 not compiled ./boot-cm3-with-m3.sh build # builds cm3, but fails on cminstall, patternmatching not built ./do-cm3-std.sh build # OK ./do-cm3-std.sh buildship # OK ./boot-cm3-with-m3.sh realclean # start over ./boot-cm3-with-m3.sh build # OK ./boot-cm3-with-m3.sh buildship # OK ./do-cm3-std.sh realclean # OK ./do-cm3-std.sh build # dies miserably... maybe the compiler can't handle the new libraries? ./install-cm3-compiler.sh upgrade # OK, new cm3 binary installed After all that, "game over." I have a cm3 that segfaults. Text.i3: In function 'Text_I3': Text.i3:81: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See for instructions. compilation failed => not building library "libm3core.a" Fatal Error: package build failed *** execution of failed *** I can't seem to get either m3gdb or gdb to say anything reasonable either. ktrace shows nothing out of the ordinary. ----- Meanwhile, my Mac got through "do-cm3-std.sh realclean" and "do-cm3-std.sh buildship" but my compiles are still dying on the same assertion tickled by ktok. On that machine I have INSTALLROOT set to ~/cm3, but hopefully that has nothing to do with it... ----- Does do-cm3-std.sh realclean clean EVERYTHING? If so my Mac should really have a fresh setup. The FreeBSD, I am not sure, maybe the old binary version just doesn't work right? Of course I could try bootstrapping with PM3 as well... but really, there's an "approved" process to get from a blank system, no? Mika Tony Hosking writes: >That sounds like you forgot to execute "do-cm3-std.sh realclean" >before initiating the build. These sorts of errors sometimes arise >if there are old build directories lying around. > > >On Jun 23, 2007, at 3:34 AM, Mika Nystrom wrote: > >> Hello everyone, >> >> I am in the process of trying to consolidate build systems for a >> few software packages I am maintaining. Currently, I am using an >> old PM3 on FreeBSD4, an ancient PM3 (from Klagenfurt?) for Windows >> (NT386GNU), and trying to get the latest CM3 from cvs up and compiling >> things on PPC_DARWIN. Ideally, I'd like to standardize everything >> on the new PM3---mainly so that I can use pickles (and Network >> Objects) across all three systems. I'd also like to add Linux to >> the mix. >> >> It's natural for me to start with CM3 on Darwin, as there's no >> alternative. But I am getting some assertions failing. Everything >> in the CM3 distribution compiles fine, and I believe I have compiled >> the libraries a few times (that is, including with themselves), and >> updated the compiler, too (using boot-cm3-with-m3.sh). I just cvs >> updated tonight. >> >> Here's what I'm running into: >> >> /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/CHP.t -o CHPTok.i3 >> >> >> *** >> *** runtime error: >> *** <*ASSERT*> failed. >> *** file "../src/runtime/common/RTCollector.m3", line 2314 >> *** >> >> Abort >> >> Also: >> >> /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/PRS.t -o PRSTok.i3 >> Illegal instruction >> >> As you can see, these things are coming from the caltech_parser. I > am using >> our local version, but I don't think it is very different from what >> is in the >> CM3 tree. >> >> >> Examining the first error (the failed assertion) more closely, I see >> the following: >> >> (gdb) list >> 108 wr := FileWr.Open(Pathname.ReplaceExt(tp.out, "m3")); >> 109 EXCEPT OSError.E => >> 110 Debug.Error("Cannot open tok implementation output >> file: " & >> 111 Pathname.ReplaceExt(tp.out, "m3")); >> 112 END; >> 113 Wr.PutText(wr, subs.apply(Bundle.Get(Form, "tokform.m3"))); >> 114 Wr.Close(wr); >> 115 END Main. >> (gdb) where >> #0 0x9004308c in kill () >> #1 0x9009fb3c in abort () >> #2 0x00096f50 in RTOS__Crash () at RTOS.m3:20 >> #3 0x0005bd40 in RTProcess__Crash (M3_Bd56fi_msg=0x0) at >> RTProcess.m3:65 >> #4 0x0008e4e0 in RTError__EndError (M3_AicXUJ_crash=1 '\001') at >> RTError.m3:115 >> #5 0x0008e08c in RTError__MsgS (M3_AJWxb1_file=0xc63d8, >> M3_AcxOUs_line=2314, M3_Bd56fi_msgA=0xca3d0, >> M3_Bd56fi_msgB=0xcbe90, M3_Bd56fi_msgC=0xca3d0) at RTError.m3:40 >> #6 0x0008eb88 in RTException__Crash (M3_Cblw37_a=0xbfffee00, >> M3_AicXUJ_raises=0 '\0', M3_AJWxb1_rte=0xcb538) at RTException.m3:79 >> #7 0x0008e74c in RTException__DefaultBackstop >> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:39 >> #8 0x0008e614 in RTException__InvokeBackstop >> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:25 >> #9 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at >> RTExFrame.m3:29 >> #10 0x0008e840 in RTException__DefaultBackstop >> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:47 >> #11 0x0008e614 in RTException__InvokeBackstop >> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:25 >> #12 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at >> RTExFrame.m3:29 >> #13 0x00079740 in RTHooks__ReportFault (M3_AJWxb1_module=0xb3eb8, >> M3_AcxOUs_info=74048) at RTHooks.m3:110 >> #14 0x0006ff4c in _m3_fault (M3_AcxOUs_arg=74048) >> #15 0x0006bcf4 in RTHooks__CheckStoreTraced >> (M3_Af40ku_ref=0xb2415c) at RTCollector.m3:2314 >> #16 0x000700e4 in ThreadPThread__InnerLockMutex >> (M3_AYIbX3_m=0xb2415c, M3_BXP32l_self=0xb24014) at >> ThreadPThread.m3:126 >> #17 0x000704d8 in ThreadPThread__LockMutex (M3_AYIbX3_m=0xb2415c) >> at ThreadPThread.m3:153 >> #18 0x00019b24 in Wr__PutText (M3_BxxOH1_wr=0xb2415c, >> M3_Bd56fi_t=0xb44d5c) at Wr.m3:93 >> #19 0x00003f74 in Main_M3 (M3_AcxOUs_mode=1) at Main.m3:113 >> #20 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at >> RTLinker.m3:399 >> #21 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at >> RTLinker.m3:113 >> #22 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at >> RTLinker.m3:122 >> #23 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) >> at _m3main.mc:4 >> (gdb) >> >> The second error: >> >> Program received signal EXC_BAD_INSTRUCTION, Illegal instruction/ >> operand. >> 0x00b111ac in ?? () >> (gdb) where >> #0 0x00b111ac in ?? () >> #1 0x0001214c in TextSubs__Apply (M3_CN69dV_self=0xb26450, >> M3_Bd56fi_src=0xb21cec) at TextSubs.m3:63 >> #2 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at >> RTLinker.m3:399 >> #3 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at >> RTLinker.m3:113 >> #4 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at >> RTLinker.m3:122 >> #5 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) >> at _m3main.mc:4 >> (gdb) list >> 58 BEGIN >> 59 WHILE pos < textLen DO >> 60 c := Text.GetChar(src, pos); >> 61 IF c IN self.starts THEN >> 62 (* S("analysing: " & Text.Sub(src, pos), >> DebugLevel); *) >> 63 iter := self.tbl.iterateOrdered(); >> 64 ind := pos; >> 65 original := ""; >> 66 REPEAT >> 67 INC(ind); >> (gdb) >> >> Any ideas what to look at? >> >> I don't know if this is relevant: >> >> [lapdog:~/t/cit_parse/PPC_DARWIN] mika% uname -a >> Darwin lapdog.local 7.9.0 Darwin Kernel Version 7.9.0: Wed Mar 30 >> 20:11:17 PST 2005; root:xnu/xnu-517.12.7.obj~1/RELEASE_PPC Power >> Macintosh powerpc >> [lapdog:~/t/cit_parse/PPC_DARWIN] mika% gcc -v >> Reading specs from /usr/libexec/gcc/darwin/ppc/3.3/specs >> Thread model: posix >> gcc version 3.3 20030304 (Apple Computer, Inc. build 1666) >> >> Mika >> >> P.S. Am I correct in assuming that I can get CM3 to build on Windows? >> I could switch to CM3 on Unix any time, of course, but I've never >> had luck with it on Windows, which is why I am using the ancient >> Klagenfurt PM3, which comes on 40-odd "floppies" and a .EXE that >> unpacks them into C: (and installation instructions only in German). >> If CM3 doesn't work on Windows, I am essentially wasting my time, >> as the current project I am working on absolutely requires that the >> software run on Windows 2003 Server (yes, it sucks, but what can >> you do?) The very old PM3 at least kind of hobbles along on this >> platform---actually, better than that; it does Trestle natively >> under Windows (no X required), at least on SOME Windows machines. >> >> P.P.S. Sorry for all the postscripts, but is it true that the >> build system has been changed so that building with overrides (cm3 -x) >> requires having the compiler sources available? It didn't use to >> be that way, but I can't get Network Objects to work with overrides >> now unless I have the sources available... It's a bit of a pain >> because it means that every user has to have the compiler sources, >> or else ship everything, or was that not the intention? From jayk123 at hotmail.com Sun Jun 24 01:03:43 2007 From: jayk123 at hotmail.com (j k) Date: Sat, 23 Jun 2007 23:03:43 +0000 Subject: [M3devel] strange errors... In-Reply-To: <467D3000.1E75.00D7.1@scires.com> Message-ID: Windows should be in pretty good shape. I had it working a few months ago at least. It can at least build itself repeatedly and run a few GUI apps. I had it working with various versions of Visual C++ from 2.0 to 8.0, including almost everything in between -- the main issue is really just my dependency on link /dump to grok import .libs. I didn't realize how much link /dump had changed through the years. Try using the latest cm3 binary release and upgrading to the latest CVS with it. If anyone is interested in being able to go from DEC SRC to CVS let me know. I never tried that..and it annoys me that it requires applying source diffs... - Jay >From: "Randy Coleburn" >To: "Mika Nystrom" , >CC: mika at camembert.async.caltech.edu >Subject: Re: [M3devel] strange errors... >Date: Sat, 23 Jun 2007 14:36:32 -0400 > >Mika: >I've used CM3 (v4.1) on Windows for years with Trestle, FormsVBT, >NetObjects, etc.. >Make sure to use the v2 of Network Objects. >I haven't moved up to the most recent version yet. I tried some time >ago, but ran into some problems with Bundles not working correctly. >Maybe this is fixed now. I should try again. >Regards, >Randy Coleburn > > >>> Mika Nystrom 6/23/2007 3:34 AM >>> >Hello everyone, > >I am in the process of trying to consolidate build systems for a >few software packages I am maintaining. Currently, I am using an >old PM3 on FreeBSD4, an ancient PM3 (from Klagenfurt?) for Windows >(NT386GNU), and trying to get the latest CM3 from cvs up and compiling >things on PPC_DARWIN. Ideally, I'd like to standardize everything >on the new PM3---mainly so that I can use pickles (and Network >Objects) across all three systems. I'd also like to add Linux to >the mix. > >It's natural for me to start with CM3 on Darwin, as there's no >alternative. But I am getting some assertions failing. Everything >in the CM3 distribution compiles fine, and I believe I have compiled >the libraries a few times (that is, including with themselves), and >updated the compiler, too (using boot-cm3-with-m3.sh). I just cvs >updated tonight. > >Here's what I'm running into: > >/Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/CHP.t -o CHPTok.i3 > > >*** >*** runtime error: >*** <*ASSERT*> failed. >*** file "../src/runtime/common/RTCollector.m3", line 2314 >*** > >Abort > >Also: > >/Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/PRS.t -o PRSTok.i3 >Illegal instruction > >As you can see, these things are coming from the caltech_parser. I am >using >our local version, but I don't think it is very different from what is >in the >CM3 tree. > > >Examining the first error (the failed assertion) more closely, I see >the following: > >(gdb) list >108 wr := FileWr.Open(Pathname.ReplaceExt(tp.out, "m3")); >109 EXCEPT OSError.E => >110 Debug.Error("Cannot open tok implementation output file: " >& >111 Pathname.ReplaceExt(tp.out, "m3")); >112 END; >113 Wr.PutText(wr, subs.apply(Bundle.Get(Form, "tokform.m3"))); >114 Wr.Close(wr); >115 END Main. >(gdb) where >#0 0x9004308c in kill () >#1 0x9009fb3c in abort () >#2 0x00096f50 in RTOS__Crash () at RTOS.m3:20 >#3 0x0005bd40 in RTProcess__Crash (M3_Bd56fi_msg=0x0) at >RTProcess.m3:65 >#4 0x0008e4e0 in RTError__EndError (M3_AicXUJ_crash=1 '\001') at >RTError.m3:115 >#5 0x0008e08c in RTError__MsgS (M3_AJWxb1_file=0xc63d8, >M3_AcxOUs_line=2314, M3_Bd56fi_msgA=0xca3d0, M3_Bd56fi_msgB=0xcbe90, >M3_Bd56fi_msgC=0xca3d0) at RTError.m3:40 >#6 0x0008eb88 in RTException__Crash (M3_Cblw37_a=0xbfffee00, >M3_AicXUJ_raises=0 '\0', M3_AJWxb1_rte=0xcb538) at RTException.m3:79 >#7 0x0008e74c in RTException__DefaultBackstop (M3_Cblw37_a=0xbfffee00, >M3_AicXUJ_raises=0 '\0') at RTException.m3:39 >#8 0x0008e614 in RTException__InvokeBackstop (M3_Cblw37_a=0xbfffee00, >M3_AicXUJ_raises=0 '\0') at RTException.m3:25 >#9 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at >RTExFrame.m3:29 >#10 0x0008e840 in RTException__DefaultBackstop (M3_Cblw37_a=0xbfffee00, >M3_AicXUJ_raises=0 '\0') at RTException.m3:47 >#11 0x0008e614 in RTException__InvokeBackstop (M3_Cblw37_a=0xbfffee00, >M3_AicXUJ_raises=0 '\0') at RTException.m3:25 >#12 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at >RTExFrame.m3:29 >#13 0x00079740 in RTHooks__ReportFault (M3_AJWxb1_module=0xb3eb8, >M3_AcxOUs_info=74048) at RTHooks.m3:110 >#14 0x0006ff4c in _m3_fault (M3_AcxOUs_arg=74048) >#15 0x0006bcf4 in RTHooks__CheckStoreTraced (M3_Af40ku_ref=0xb2415c) at >RTCollector.m3:2314 >#16 0x000700e4 in ThreadPThread__InnerLockMutex (M3_AYIbX3_m=0xb2415c, >M3_BXP32l_self=0xb24014) at ThreadPThread.m3:126 >#17 0x000704d8 in ThreadPThread__LockMutex (M3_AYIbX3_m=0xb2415c) at >ThreadPThread.m3:153 >#18 0x00019b24 in Wr__PutText (M3_BxxOH1_wr=0xb2415c, >M3_Bd56fi_t=0xb44d5c) at Wr.m3:93 >#19 0x00003f74 in Main_M3 (M3_AcxOUs_mode=1) at Main.m3:113 >#20 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at >RTLinker.m3:399 >#21 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at >RTLinker.m3:113 >#22 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at >RTLinker.m3:122 >#23 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) at >_m3main.mc:4 >(gdb) > >The second error: > >Program received signal EXC_BAD_INSTRUCTION, Illegal >instruction/operand. >0x00b111ac in ?? () >(gdb) where >#0 0x00b111ac in ?? () >#1 0x0001214c in TextSubs__Apply (M3_CN69dV_self=0xb26450, >M3_Bd56fi_src=0xb21cec) at TextSubs.m3:63 >#2 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at >RTLinker.m3:399 >#3 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at >RTLinker.m3:113 >#4 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at >RTLinker.m3:122 >#5 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) at >_m3main.mc:4 >(gdb) list >58 BEGIN >59 WHILE pos < textLen DO >60 c := Text.GetChar(src, pos); >61 IF c IN self.starts THEN >62 (* S("analysing: " & Text.Sub(src, pos), DebugLevel); >*) >63 iter := self.tbl.iterateOrdered(); >64 ind := pos; >65 original := ""; >66 REPEAT >67 INC(ind); >(gdb) > >Any ideas what to look at? > >I don't know if this is relevant: > >[lapdog:~/t/cit_parse/PPC_DARWIN] mika% uname -a >Darwin lapdog.local 7.9.0 Darwin Kernel Version 7.9.0: Wed Mar 30 >20:11:17 PST 2005; root:xnu/xnu-517.12.7.obj~1/RELEASE_PPC Power >Macintosh powerpc >[lapdog:~/t/cit_parse/PPC_DARWIN] mika% gcc -v >Reading specs from /usr/libexec/gcc/darwin/ppc/3.3/specs >Thread model: posix >gcc version 3.3 20030304 (Apple Computer, Inc. build 1666) > > Mika > >P.S. Am I correct in assuming that I can get CM3 to build on Windows? >I could switch to CM3 on Unix any time, of course, but I've never >had luck with it on Windows, which is why I am using the ancient >Klagenfurt PM3, which comes on 40-odd "floppies" and a .EXE that >unpacks them into C: (and installation instructions only in German). >If CM3 doesn't work on Windows, I am essentially wasting my time, >as the current project I am working on absolutely requires that the >software run on Windows 2003 Server (yes, it sucks, but what can >you do?) The very old PM3 at least kind of hobbles along on this >platform---actually, better than that; it does Trestle natively >under Windows (no X required), at least on SOME Windows machines. > >P.P.S. Sorry for all the postscripts, but is it true that the >build system has been changed so that building with overrides (cm3 -x) >requires having the compiler sources available? It didn't use to >be that way, but I can't get Network Objects to work with overrides >now unless I have the sources available... It's a bit of a pain >because it means that every user has to have the compiler sources, >or else ship everything, or was that not the intention? > _________________________________________________________________ Like puzzles? Play free games & earn great prizes. Play Clink now. http://club.live.com/clink.aspx?icid=clink_hotmailtextlink2 From hosking at cs.purdue.edu Sun Jun 24 16:42:54 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Sun, 24 Jun 2007 10:42:54 -0400 Subject: [M3devel] strange errors... In-Reply-To: References: <200706231838.l5NIcRef079333@camembert.async.caltech.edu> Message-ID: <2A551B65-2E7D-4A16-B59F-9ED3C507788F@cs.purdue.edu> PS Pleas note that the instructions I gave below are for the current version of the CVS head, which no longer needs to build m3gc-simple/ m3gc-enhanced. On Jun 24, 2007, at 10:38 AM, Tony Hosking wrote: > Sounds like we really need some work done in this area. I very > rarely use the build scripts, since I bootstrap manually from old > compilers to new compilers rather than use the scripts. I suggest > the following approach, which I hope you will try, and then report > back on. > > Install the bootstrap compiler as you did originally: > >> rm -rf /usr/local/cm3/* >> >> cd ~/cm3-cvs >> mkdir boot >> cd boot >> tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz >> ./cminstall > > Now you will have some kind of cm3 installed, presumably in /usr/ > local/cm3/bin/cm3. > > Make sure you have a fresh CVS checkout in directory cm3 (let's > assume this is in your home directory ~/cm3). Also, make sure you > have an up-to-date version of the CM3 backend compiler cm3cg > installed by executing the following: > > STEP 0: > > export CM3=/usr/local/cm3/bin/cm3 > cd ~/cm3/m3-sys/m3cc > $CM3 > $CM3 -ship > > You can skip this last step if you know your backend compiler is up > to date. > > Now, let's build the new compiler from scratch (this is the > sequence I use regularly to test changes to the run-time system > whenever I make them): > > STEP 1: > > cd ~/cm3/m3-libs/m3core > $CM3 > $CM3 -ship > cd ~/cm3/m3-libs/libm3 > $CM3 > $CM3 -ship > cd ~/cm3/m3-sys/m3middle > $CM3 > $CM3 -ship > cd ~/cm3/m3-sys/m3linker > $CM3 > $CM3 -ship > cd ~/cm3/m3-sys/m3front > $CM3 > $CM3 -ship > cd ~/cm3/m3-sys/m3quake > $CM3 > $CM3 -ship > cd ~/cm3/m3-sys/cm3 > $CM3 > $CM3 -ship > > At this point you should have a bootstrapped version of cm3 > installed in the directory /usr/local/cm3/pkg/cm3/TARGET/cm3 (where > TARGET is the CM3 target platform you are building on -- e.g., > LINUXLIBC6, PPC_DARWIN, ...). Note that this did not overwrite > your original installed compiler in /usr/local/cm3/bin/cm3. We > are now going to test the new compiler, which was built using the > old compiler, by bootstrapping it one more time. > > From here on out, please replace TARGET with your target platform > as appropriate. > > STEP 2: > > export CM3=/usr/local/cm3/pkg/cm3/TARGET/cm3 > cd ~/cm3/scripts > ./do-cm3-std.sh realclean > REPEAT STEP 1 to rebuild the libraries and the compiler using the > STEP 1 bootstrap compiler. > > Now you have a STEP 2 bootstrap compiler installed in /usr/local/ > cm3/pkg/cm3/TARGET/cm3. Let's assume the new compiler now works > properly since it successfully bootstrapped itself, but to be sure > we can now use it to rebuild the world: > > cd ~/cm3/scripts > ./do-cm3-std.sh realclean > ./do-cm3-std.sh buildship > > Assuming this succeeded then we can be pretty sure /usr/local/cm3/ > pkg/cm3/TARGET/cm3 is good, so we can make it our default compiler > by replacing the original /usr/local/cm3/bin/cm3: > > cp $CM3 /usr/local/cm3/bin/cm3 > > On Jun 23, 2007, at 2:38 PM, Mika Nystrom wrote: > >> Ok, I'm sorry if I seem a bit dimwitted in the morning like this, >> but how exactly does one get started? I wish there were a file >> called >> "GETTING_STARTED" or something like that in scripts... >> >> My Mac is very slow so I switched to my FreeBSD/i386 system (which >> has >> PM3 happily installed on it) and tried to install CM3 from scratch. >> Here are the exact commands I typed. >> >> >> rm -rf /usr/local/cm3/* >> >> cd ~/cm3-cvs >> mkdir boot >> cd boot >> tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz >> ./cminstall >> >> # now I seem to have some kind of cm3 installed, /usr/local/cm3/ >> bin/cm3 >> >> cd cm3 # location of my CM3 checkout >> cvs update -d . >> >> cd scripts >> ./boot-cm3-with-m3.sh realclean >> ./do-cm3-std.sh realclean >> >> ./upgrade.sh # fails here, libm3 not compiled >> ./boot-cm3-with-m3.sh build # builds cm3, but fails on >> cminstall, patternmatching not built >> >> ./do-cm3-std.sh build # OK >> ./do-cm3-std.sh buildship # OK >> >> ./boot-cm3-with-m3.sh realclean # start over >> ./boot-cm3-with-m3.sh build # OK >> ./boot-cm3-with-m3.sh buildship # OK >> >> ./do-cm3-std.sh realclean # OK >> ./do-cm3-std.sh build # dies miserably... maybe the >> compiler can't handle the new libraries? >> >> ./install-cm3-compiler.sh upgrade # OK, new cm3 binary installed >> >> After all that, "game over." I have a cm3 that segfaults. >> >> Text.i3: In function 'Text_I3': >> Text.i3:81: internal compiler error: Segmentation fault >> Please submit a full bug report, >> with preprocessed source if appropriate. >> See for instructions. >> compilation failed => not building library "libm3core.a" >> Fatal Error: package build failed >> *** execution of failed *** >> >> I can't seem to get either m3gdb or gdb to say anything reasonable >> either. ktrace shows nothing out of the ordinary. >> >> ----- >> >> Meanwhile, my Mac got through "do-cm3-std.sh realclean" and >> "do-cm3-std.sh buildship" but my compiles are still dying on the >> same assertion tickled by ktok. On that machine I have INSTALLROOT >> set to ~/cm3, but hopefully that has nothing to do with it... >> >> ----- >> >> Does do-cm3-std.sh realclean clean EVERYTHING? If so my Mac should >> really have a fresh setup. The FreeBSD, I am not sure, maybe the >> old binary version just doesn't work right? Of course I could try >> bootstrapping with PM3 as well... but really, there's an "approved" >> process to get from a blank system, no? >> >> Mika >> >> >> >> >> Tony Hosking writes: >>> That sounds like you forgot to execute "do-cm3-std.sh realclean" >>> before initiating the build. These sorts of errors sometimes arise >>> if there are old build directories lying around. >>> >>> >>> On Jun 23, 2007, at 3:34 AM, Mika Nystrom wrote: >>> >>>> Hello everyone, >>>> >>>> I am in the process of trying to consolidate build systems for a >>>> few software packages I am maintaining. Currently, I am using an >>>> old PM3 on FreeBSD4, an ancient PM3 (from Klagenfurt?) for Windows >>>> (NT386GNU), and trying to get the latest CM3 from cvs up and >>>> compiling >>>> things on PPC_DARWIN. Ideally, I'd like to standardize everything >>>> on the new PM3---mainly so that I can use pickles (and Network >>>> Objects) across all three systems. I'd also like to add Linux to >>>> the mix. >>>> >>>> It's natural for me to start with CM3 on Darwin, as there's no >>>> alternative. But I am getting some assertions failing. Everything >>>> in the CM3 distribution compiles fine, and I believe I have >>>> compiled >>>> the libraries a few times (that is, including with themselves), and >>>> updated the compiler, too (using boot-cm3-with-m3.sh). I just cvs >>>> updated tonight. >>>> >>>> Here's what I'm running into: >>>> >>>> /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/CHP.t -o >>>> CHPTok.i3 >>>> >>>> >>>> *** >>>> *** runtime error: >>>> *** <*ASSERT*> failed. >>>> *** file "../src/runtime/common/RTCollector.m3", line 2314 >>>> *** >>>> >>>> Abort >>>> >>>> Also: >>>> >>>> /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/PRS.t -o >>>> PRSTok.i3 >>>> Illegal instruction >>>> >>>> As you can see, these things are coming from the caltech_parser. I >>> am using >>>> our local version, but I don't think it is very different from what >>>> is in the >>>> CM3 tree. >>>> >>>> >>>> Examining the first error (the failed assertion) more closely, I >>>> see >>>> the following: >>>> >>>> (gdb) list >>>> 108 wr := FileWr.Open(Pathname.ReplaceExt(tp.out, "m3")); >>>> 109 EXCEPT OSError.E => >>>> 110 Debug.Error("Cannot open tok implementation output >>>> file: " & >>>> 111 Pathname.ReplaceExt(tp.out, "m3")); >>>> 112 END; >>>> 113 Wr.PutText(wr, subs.apply(Bundle.Get(Form, >>>> "tokform.m3"))); >>>> 114 Wr.Close(wr); >>>> 115 END Main. >>>> (gdb) where >>>> #0 0x9004308c in kill () >>>> #1 0x9009fb3c in abort () >>>> #2 0x00096f50 in RTOS__Crash () at RTOS.m3:20 >>>> #3 0x0005bd40 in RTProcess__Crash (M3_Bd56fi_msg=0x0) at >>>> RTProcess.m3:65 >>>> #4 0x0008e4e0 in RTError__EndError (M3_AicXUJ_crash=1 '\001') at >>>> RTError.m3:115 >>>> #5 0x0008e08c in RTError__MsgS (M3_AJWxb1_file=0xc63d8, >>>> M3_AcxOUs_line=2314, M3_Bd56fi_msgA=0xca3d0, >>>> M3_Bd56fi_msgB=0xcbe90, M3_Bd56fi_msgC=0xca3d0) at RTError.m3:40 >>>> #6 0x0008eb88 in RTException__Crash (M3_Cblw37_a=0xbfffee00, >>>> M3_AicXUJ_raises=0 '\0', M3_AJWxb1_rte=0xcb538) at >>>> RTException.m3:79 >>>> #7 0x0008e74c in RTException__DefaultBackstop >>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>> RTException.m3:39 >>>> #8 0x0008e614 in RTException__InvokeBackstop >>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>> RTException.m3:25 >>>> #9 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at >>>> RTExFrame.m3:29 >>>> #10 0x0008e840 in RTException__DefaultBackstop >>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>> RTException.m3:47 >>>> #11 0x0008e614 in RTException__InvokeBackstop >>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>> RTException.m3:25 >>>> #12 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at >>>> RTExFrame.m3:29 >>>> #13 0x00079740 in RTHooks__ReportFault (M3_AJWxb1_module=0xb3eb8, >>>> M3_AcxOUs_info=74048) at RTHooks.m3:110 >>>> #14 0x0006ff4c in _m3_fault (M3_AcxOUs_arg=74048) >>>> #15 0x0006bcf4 in RTHooks__CheckStoreTraced >>>> (M3_Af40ku_ref=0xb2415c) at RTCollector.m3:2314 >>>> #16 0x000700e4 in ThreadPThread__InnerLockMutex >>>> (M3_AYIbX3_m=0xb2415c, M3_BXP32l_self=0xb24014) at >>>> ThreadPThread.m3:126 >>>> #17 0x000704d8 in ThreadPThread__LockMutex (M3_AYIbX3_m=0xb2415c) >>>> at ThreadPThread.m3:153 >>>> #18 0x00019b24 in Wr__PutText (M3_BxxOH1_wr=0xb2415c, >>>> M3_Bd56fi_t=0xb44d5c) at Wr.m3:93 >>>> #19 0x00003f74 in Main_M3 (M3_AcxOUs_mode=1) at Main.m3:113 >>>> #20 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at >>>> RTLinker.m3:399 >>>> #21 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at >>>> RTLinker.m3:113 >>>> #22 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at >>>> RTLinker.m3:122 >>>> #23 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) >>>> at _m3main.mc:4 >>>> (gdb) >>>> >>>> The second error: >>>> >>>> Program received signal EXC_BAD_INSTRUCTION, Illegal instruction/ >>>> operand. >>>> 0x00b111ac in ?? () >>>> (gdb) where >>>> #0 0x00b111ac in ?? () >>>> #1 0x0001214c in TextSubs__Apply (M3_CN69dV_self=0xb26450, >>>> M3_Bd56fi_src=0xb21cec) at TextSubs.m3:63 >>>> #2 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at >>>> RTLinker.m3:399 >>>> #3 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at >>>> RTLinker.m3:113 >>>> #4 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at >>>> RTLinker.m3:122 >>>> #5 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) >>>> at _m3main.mc:4 >>>> (gdb) list >>>> 58 BEGIN >>>> 59 WHILE pos < textLen DO >>>> 60 c := Text.GetChar(src, pos); >>>> 61 IF c IN self.starts THEN >>>> 62 (* S("analysing: " & Text.Sub(src, pos), >>>> DebugLevel); *) >>>> 63 iter := self.tbl.iterateOrdered(); >>>> 64 ind := pos; >>>> 65 original := ""; >>>> 66 REPEAT >>>> 67 INC(ind); >>>> (gdb) >>>> >>>> Any ideas what to look at? >>>> >>>> I don't know if this is relevant: >>>> >>>> [lapdog:~/t/cit_parse/PPC_DARWIN] mika% uname -a >>>> Darwin lapdog.local 7.9.0 Darwin Kernel Version 7.9.0: Wed Mar 30 >>>> 20:11:17 PST 2005; root:xnu/xnu-517.12.7.obj~1/RELEASE_PPC Power >>>> Macintosh powerpc >>>> [lapdog:~/t/cit_parse/PPC_DARWIN] mika% gcc -v >>>> Reading specs from /usr/libexec/gcc/darwin/ppc/3.3/specs >>>> Thread model: posix >>>> gcc version 3.3 20030304 (Apple Computer, Inc. build 1666) >>>> >>>> Mika >>>> >>>> P.S. Am I correct in assuming that I can get CM3 to build on >>>> Windows? >>>> I could switch to CM3 on Unix any time, of course, but I've never >>>> had luck with it on Windows, which is why I am using the ancient >>>> Klagenfurt PM3, which comes on 40-odd "floppies" and a .EXE that >>>> unpacks them into C: (and installation instructions only in >>>> German). >>>> If CM3 doesn't work on Windows, I am essentially wasting my time, >>>> as the current project I am working on absolutely requires that the >>>> software run on Windows 2003 Server (yes, it sucks, but what can >>>> you do?) The very old PM3 at least kind of hobbles along on this >>>> platform---actually, better than that; it does Trestle natively >>>> under Windows (no X required), at least on SOME Windows machines. >>>> >>>> P.P.S. Sorry for all the postscripts, but is it true that the >>>> build system has been changed so that building with overrides >>>> (cm3 -x) >>>> requires having the compiler sources available? It didn't use to >>>> be that way, but I can't get Network Objects to work with overrides >>>> now unless I have the sources available... It's a bit of a pain >>>> because it means that every user has to have the compiler sources, >>>> or else ship everything, or was that not the intention? > From hosking at cs.purdue.edu Sun Jun 24 16:38:34 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Sun, 24 Jun 2007 10:38:34 -0400 Subject: [M3devel] strange errors... In-Reply-To: <200706231838.l5NIcRef079333@camembert.async.caltech.edu> References: <200706231838.l5NIcRef079333@camembert.async.caltech.edu> Message-ID: Sounds like we really need some work done in this area. I very rarely use the build scripts, since I bootstrap manually from old compilers to new compilers rather than use the scripts. I suggest the following approach, which I hope you will try, and then report back on. Install the bootstrap compiler as you did originally: > rm -rf /usr/local/cm3/* > > cd ~/cm3-cvs > mkdir boot > cd boot > tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz > ./cminstall Now you will have some kind of cm3 installed, presumably in /usr/ local/cm3/bin/cm3. Make sure you have a fresh CVS checkout in directory cm3 (let's assume this is in your home directory ~/cm3). Also, make sure you have an up-to-date version of the CM3 backend compiler cm3cg installed by executing the following: STEP 0: export CM3=/usr/local/cm3/bin/cm3 cd ~/cm3/m3-sys/m3cc $CM3 $CM3 -ship You can skip this last step if you know your backend compiler is up to date. Now, let's build the new compiler from scratch (this is the sequence I use regularly to test changes to the run-time system whenever I make them): STEP 1: cd ~/cm3/m3-libs/m3core $CM3 $CM3 -ship cd ~/cm3/m3-libs/libm3 $CM3 $CM3 -ship cd ~/cm3/m3-sys/m3middle $CM3 $CM3 -ship cd ~/cm3/m3-sys/m3linker $CM3 $CM3 -ship cd ~/cm3/m3-sys/m3front $CM3 $CM3 -ship cd ~/cm3/m3-sys/m3quake $CM3 $CM3 -ship cd ~/cm3/m3-sys/cm3 $CM3 $CM3 -ship At this point you should have a bootstrapped version of cm3 installed in the directory /usr/local/cm3/pkg/cm3/TARGET/cm3 (where TARGET is the CM3 target platform you are building on -- e.g., LINUXLIBC6, PPC_DARWIN, ...). Note that this did not overwrite your original installed compiler in /usr/local/cm3/bin/cm3. We are now going to test the new compiler, which was built using the old compiler, by bootstrapping it one more time. From here on out, please replace TARGET with your target platform as appropriate. STEP 2: export CM3=/usr/local/cm3/pkg/cm3/TARGET/cm3 cd ~/cm3/scripts ./do-cm3-std.sh realclean REPEAT STEP 1 to rebuild the libraries and the compiler using the STEP 1 bootstrap compiler. Now you have a STEP 2 bootstrap compiler installed in /usr/local/cm3/ pkg/cm3/TARGET/cm3. Let's assume the new compiler now works properly since it successfully bootstrapped itself, but to be sure we can now use it to rebuild the world: cd ~/cm3/scripts ./do-cm3-std.sh realclean ./do-cm3-std.sh buildship Assuming this succeeded then we can be pretty sure /usr/local/cm3/pkg/ cm3/TARGET/cm3 is good, so we can make it our default compiler by replacing the original /usr/local/cm3/bin/cm3: cp $CM3 /usr/local/cm3/bin/cm3 On Jun 23, 2007, at 2:38 PM, Mika Nystrom wrote: > Ok, I'm sorry if I seem a bit dimwitted in the morning like this, > but how exactly does one get started? I wish there were a file called > "GETTING_STARTED" or something like that in scripts... > > My Mac is very slow so I switched to my FreeBSD/i386 system (which has > PM3 happily installed on it) and tried to install CM3 from scratch. > Here are the exact commands I typed. > > > rm -rf /usr/local/cm3/* > > cd ~/cm3-cvs > mkdir boot > cd boot > tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz > ./cminstall > > # now I seem to have some kind of cm3 installed, /usr/local/cm3/bin/ > cm3 > > cd cm3 # location of my CM3 checkout > cvs update -d . > > cd scripts > ./boot-cm3-with-m3.sh realclean > ./do-cm3-std.sh realclean > > ./upgrade.sh # fails here, libm3 not compiled > ./boot-cm3-with-m3.sh build # builds cm3, but fails on > cminstall, patternmatching not built > > ./do-cm3-std.sh build # OK > ./do-cm3-std.sh buildship # OK > > ./boot-cm3-with-m3.sh realclean # start over > ./boot-cm3-with-m3.sh build # OK > ./boot-cm3-with-m3.sh buildship # OK > > ./do-cm3-std.sh realclean # OK > ./do-cm3-std.sh build # dies miserably... maybe the > compiler can't handle the new libraries? > > ./install-cm3-compiler.sh upgrade # OK, new cm3 binary installed > > After all that, "game over." I have a cm3 that segfaults. > > Text.i3: In function 'Text_I3': > Text.i3:81: internal compiler error: Segmentation fault > Please submit a full bug report, > with preprocessed source if appropriate. > See for instructions. > compilation failed => not building library "libm3core.a" > Fatal Error: package build failed > *** execution of failed *** > > I can't seem to get either m3gdb or gdb to say anything reasonable > either. ktrace shows nothing out of the ordinary. > > ----- > > Meanwhile, my Mac got through "do-cm3-std.sh realclean" and > "do-cm3-std.sh buildship" but my compiles are still dying on the > same assertion tickled by ktok. On that machine I have INSTALLROOT > set to ~/cm3, but hopefully that has nothing to do with it... > > ----- > > Does do-cm3-std.sh realclean clean EVERYTHING? If so my Mac should > really have a fresh setup. The FreeBSD, I am not sure, maybe the > old binary version just doesn't work right? Of course I could try > bootstrapping with PM3 as well... but really, there's an "approved" > process to get from a blank system, no? > > Mika > > > > > Tony Hosking writes: >> That sounds like you forgot to execute "do-cm3-std.sh realclean" >> before initiating the build. These sorts of errors sometimes arise >> if there are old build directories lying around. >> >> >> On Jun 23, 2007, at 3:34 AM, Mika Nystrom wrote: >> >>> Hello everyone, >>> >>> I am in the process of trying to consolidate build systems for a >>> few software packages I am maintaining. Currently, I am using an >>> old PM3 on FreeBSD4, an ancient PM3 (from Klagenfurt?) for Windows >>> (NT386GNU), and trying to get the latest CM3 from cvs up and >>> compiling >>> things on PPC_DARWIN. Ideally, I'd like to standardize everything >>> on the new PM3---mainly so that I can use pickles (and Network >>> Objects) across all three systems. I'd also like to add Linux to >>> the mix. >>> >>> It's natural for me to start with CM3 on Darwin, as there's no >>> alternative. But I am getting some assertions failing. Everything >>> in the CM3 distribution compiles fine, and I believe I have compiled >>> the libraries a few times (that is, including with themselves), and >>> updated the compiler, too (using boot-cm3-with-m3.sh). I just cvs >>> updated tonight. >>> >>> Here's what I'm running into: >>> >>> /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/CHP.t -o >>> CHPTok.i3 >>> >>> >>> *** >>> *** runtime error: >>> *** <*ASSERT*> failed. >>> *** file "../src/runtime/common/RTCollector.m3", line 2314 >>> *** >>> >>> Abort >>> >>> Also: >>> >>> /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/PRS.t -o >>> PRSTok.i3 >>> Illegal instruction >>> >>> As you can see, these things are coming from the caltech_parser. I >> am using >>> our local version, but I don't think it is very different from what >>> is in the >>> CM3 tree. >>> >>> >>> Examining the first error (the failed assertion) more closely, I see >>> the following: >>> >>> (gdb) list >>> 108 wr := FileWr.Open(Pathname.ReplaceExt(tp.out, "m3")); >>> 109 EXCEPT OSError.E => >>> 110 Debug.Error("Cannot open tok implementation output >>> file: " & >>> 111 Pathname.ReplaceExt(tp.out, "m3")); >>> 112 END; >>> 113 Wr.PutText(wr, subs.apply(Bundle.Get(Form, >>> "tokform.m3"))); >>> 114 Wr.Close(wr); >>> 115 END Main. >>> (gdb) where >>> #0 0x9004308c in kill () >>> #1 0x9009fb3c in abort () >>> #2 0x00096f50 in RTOS__Crash () at RTOS.m3:20 >>> #3 0x0005bd40 in RTProcess__Crash (M3_Bd56fi_msg=0x0) at >>> RTProcess.m3:65 >>> #4 0x0008e4e0 in RTError__EndError (M3_AicXUJ_crash=1 '\001') at >>> RTError.m3:115 >>> #5 0x0008e08c in RTError__MsgS (M3_AJWxb1_file=0xc63d8, >>> M3_AcxOUs_line=2314, M3_Bd56fi_msgA=0xca3d0, >>> M3_Bd56fi_msgB=0xcbe90, M3_Bd56fi_msgC=0xca3d0) at RTError.m3:40 >>> #6 0x0008eb88 in RTException__Crash (M3_Cblw37_a=0xbfffee00, >>> M3_AicXUJ_raises=0 '\0', M3_AJWxb1_rte=0xcb538) at RTException.m3:79 >>> #7 0x0008e74c in RTException__DefaultBackstop >>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>> RTException.m3:39 >>> #8 0x0008e614 in RTException__InvokeBackstop >>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>> RTException.m3:25 >>> #9 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at >>> RTExFrame.m3:29 >>> #10 0x0008e840 in RTException__DefaultBackstop >>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>> RTException.m3:47 >>> #11 0x0008e614 in RTException__InvokeBackstop >>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>> RTException.m3:25 >>> #12 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at >>> RTExFrame.m3:29 >>> #13 0x00079740 in RTHooks__ReportFault (M3_AJWxb1_module=0xb3eb8, >>> M3_AcxOUs_info=74048) at RTHooks.m3:110 >>> #14 0x0006ff4c in _m3_fault (M3_AcxOUs_arg=74048) >>> #15 0x0006bcf4 in RTHooks__CheckStoreTraced >>> (M3_Af40ku_ref=0xb2415c) at RTCollector.m3:2314 >>> #16 0x000700e4 in ThreadPThread__InnerLockMutex >>> (M3_AYIbX3_m=0xb2415c, M3_BXP32l_self=0xb24014) at >>> ThreadPThread.m3:126 >>> #17 0x000704d8 in ThreadPThread__LockMutex (M3_AYIbX3_m=0xb2415c) >>> at ThreadPThread.m3:153 >>> #18 0x00019b24 in Wr__PutText (M3_BxxOH1_wr=0xb2415c, >>> M3_Bd56fi_t=0xb44d5c) at Wr.m3:93 >>> #19 0x00003f74 in Main_M3 (M3_AcxOUs_mode=1) at Main.m3:113 >>> #20 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at >>> RTLinker.m3:399 >>> #21 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at >>> RTLinker.m3:113 >>> #22 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at >>> RTLinker.m3:122 >>> #23 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) >>> at _m3main.mc:4 >>> (gdb) >>> >>> The second error: >>> >>> Program received signal EXC_BAD_INSTRUCTION, Illegal instruction/ >>> operand. >>> 0x00b111ac in ?? () >>> (gdb) where >>> #0 0x00b111ac in ?? () >>> #1 0x0001214c in TextSubs__Apply (M3_CN69dV_self=0xb26450, >>> M3_Bd56fi_src=0xb21cec) at TextSubs.m3:63 >>> #2 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at >>> RTLinker.m3:399 >>> #3 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at >>> RTLinker.m3:113 >>> #4 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at >>> RTLinker.m3:122 >>> #5 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) >>> at _m3main.mc:4 >>> (gdb) list >>> 58 BEGIN >>> 59 WHILE pos < textLen DO >>> 60 c := Text.GetChar(src, pos); >>> 61 IF c IN self.starts THEN >>> 62 (* S("analysing: " & Text.Sub(src, pos), >>> DebugLevel); *) >>> 63 iter := self.tbl.iterateOrdered(); >>> 64 ind := pos; >>> 65 original := ""; >>> 66 REPEAT >>> 67 INC(ind); >>> (gdb) >>> >>> Any ideas what to look at? >>> >>> I don't know if this is relevant: >>> >>> [lapdog:~/t/cit_parse/PPC_DARWIN] mika% uname -a >>> Darwin lapdog.local 7.9.0 Darwin Kernel Version 7.9.0: Wed Mar 30 >>> 20:11:17 PST 2005; root:xnu/xnu-517.12.7.obj~1/RELEASE_PPC Power >>> Macintosh powerpc >>> [lapdog:~/t/cit_parse/PPC_DARWIN] mika% gcc -v >>> Reading specs from /usr/libexec/gcc/darwin/ppc/3.3/specs >>> Thread model: posix >>> gcc version 3.3 20030304 (Apple Computer, Inc. build 1666) >>> >>> Mika >>> >>> P.S. Am I correct in assuming that I can get CM3 to build on >>> Windows? >>> I could switch to CM3 on Unix any time, of course, but I've never >>> had luck with it on Windows, which is why I am using the ancient >>> Klagenfurt PM3, which comes on 40-odd "floppies" and a .EXE that >>> unpacks them into C: (and installation instructions only in German). >>> If CM3 doesn't work on Windows, I am essentially wasting my time, >>> as the current project I am working on absolutely requires that the >>> software run on Windows 2003 Server (yes, it sucks, but what can >>> you do?) The very old PM3 at least kind of hobbles along on this >>> platform---actually, better than that; it does Trestle natively >>> under Windows (no X required), at least on SOME Windows machines. >>> >>> P.P.S. Sorry for all the postscripts, but is it true that the >>> build system has been changed so that building with overrides >>> (cm3 -x) >>> requires having the compiler sources available? It didn't use to >>> be that way, but I can't get Network Objects to work with overrides >>> now unless I have the sources available... It's a bit of a pain >>> because it means that every user has to have the compiler sources, >>> or else ship everything, or was that not the intention? From dragisha at m3w.org Sun Jun 24 22:21:59 2007 From: dragisha at m3w.org (=?UTF-8?Q?Dragi=C5=A1a_Duri=C4=87?=) Date: Sun, 24 Jun 2007 22:21:59 +0200 Subject: [M3devel] [M3commit] CVS Update: cm3 In-Reply-To: <20070624195136.B288210D42D0@birch.elegosoft.com> References: <20070624195136.B288210D42D0@birch.elegosoft.com> Message-ID: <1182716519.9643.1.camel@faramir.m3w.org> This is for using LINUXLIBC6 as target on AMD64, not LINUXAMD64 solved? What is ETA for LINUXAMD64? dd On Sun, 2007-06-24 at 21:51 +0000, Antony Hosking wrote: > CVSROOT: /usr/cvs > Changes by: hosking at birch. 07/06/24 21:51:36 > > Modified files: > cm3/m3-sys/cminstall/src/config/: LINUXLIBC6 > > Log message: > Add explicit use of 32-bit backend tools for LINUXLIBC6 target, so > things work properly on x86_64 machines. (LINUXLIBC6 assumes a 32-bit > INTEGER target even though the host machine might be able to do > 64-bits). > -- Dragi?a Duri? From hosking at cs.purdue.edu Sun Jun 24 22:57:27 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Sun, 24 Jun 2007 16:57:27 -0400 Subject: [M3devel] [M3commit] CVS Update: cm3 In-Reply-To: <1182716519.9643.1.camel@faramir.m3w.org> References: <20070624195136.B288210D42D0@birch.elegosoft.com> <1182716519.9643.1.camel@faramir.m3w.org> Message-ID: Yes, LINUXLIBC6 can be used as a 32-bit target on AMD64 so long as m3cc is built appropriately. I haven't checked in the fix for the m3cc m3makefile yet, but what is needed is to make sure to configure the build of the gcc-based backend with --enable-targets=x86-linux to make sure you get one that targets 32 bits instead of 64. On Jun 24, 2007, at 4:21 PM, Dragi?a Duri? wrote: > This is for using LINUXLIBC6 as target on AMD64, not LINUXAMD64 > solved? > > What is ETA for LINUXAMD64? Not sure. I don't know when I'll get a chance to work on it, but I don't think it will be too difficult. It will need to be a different target, say x86_64_LINUX perhaps. > > dd > > On Sun, 2007-06-24 at 21:51 +0000, Antony Hosking wrote: >> CVSROOT: /usr/cvs >> Changes by: hosking at birch. 07/06/24 21:51:36 >> >> Modified files: >> cm3/m3-sys/cminstall/src/config/: LINUXLIBC6 >> >> Log message: >> Add explicit use of 32-bit backend tools for LINUXLIBC6 target, so >> things work properly on x86_64 machines. (LINUXLIBC6 assumes a >> 32-bit >> INTEGER target even though the host machine might be able to do >> 64-bits). >> > -- > Dragi?a Duri? From hosking at cs.purdue.edu Sun Jun 24 22:59:17 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Sun, 24 Jun 2007 16:59:17 -0400 Subject: [M3devel] [M3commit] CVS Update: cm3 In-Reply-To: <1182716519.9643.1.camel@faramir.m3w.org> References: <20070624195136.B288210D42D0@birch.elegosoft.com> <1182716519.9643.1.camel@faramir.m3w.org> Message-ID: Is anyone out there already working on LINUXAMD64? On Jun 24, 2007, at 4:21 PM, Dragi?a Duri? wrote: > This is for using LINUXLIBC6 as target on AMD64, not LINUXAMD64 > solved? > > What is ETA for LINUXAMD64? > > dd > > On Sun, 2007-06-24 at 21:51 +0000, Antony Hosking wrote: >> CVSROOT: /usr/cvs >> Changes by: hosking at birch. 07/06/24 21:51:36 >> >> Modified files: >> cm3/m3-sys/cminstall/src/config/: LINUXLIBC6 >> >> Log message: >> Add explicit use of 32-bit backend tools for LINUXLIBC6 target, so >> things work properly on x86_64 machines. (LINUXLIBC6 assumes a >> 32-bit >> INTEGER target even though the host machine might be able to do >> 64-bits). >> > -- > Dragi?a Duri? From stsp at elego.de Sun Jun 24 23:13:08 2007 From: stsp at elego.de (Stefan Sperling) Date: Sun, 24 Jun 2007 23:13:08 +0200 Subject: [M3devel] [M3commit] CVS Update: cm3 In-Reply-To: References: <20070624195136.B288210D42D0@birch.elegosoft.com> <1182716519.9643.1.camel@faramir.m3w.org> Message-ID: <20070624211308.GA2750@ted.stsp.lan> On Sun, Jun 24, 2007 at 04:57:27PM -0400, Tony Hosking wrote: > On Jun 24, 2007, at 4:21 PM, Dragi?a Duri?? wrote: > > > This is for using LINUXLIBC6 as target on AMD64, not LINUXAMD64 solved? > > > > What is ETA for LINUXAMD64? > > Not sure. I don't know when I'll get a chance to work on it, but I don't > think it will be too difficult. It will need to be a different target, say > x86_64_LINUX perhaps. A diff against a very old version is still sitting here: http://www.stsp.name/cm3/cm3-linux-amd64-2005-04-18.patch We don't have to start from scratch. Maybe elego will let me spend some time on this again some day, we'll see. -- stefan http://stsp.name PGP Key: 0xF59D25F0 -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 187 bytes Desc: not available URL: From mika at async.caltech.edu Mon Jun 25 04:53:56 2007 From: mika at async.caltech.edu (Mika Nystrom) Date: Sun, 24 Jun 2007 19:53:56 -0700 Subject: [M3devel] strange errors... In-Reply-To: Your message of "Sun, 24 Jun 2007 10:38:34 EDT." Message-ID: <200706250253.l5P2rvOu013096@camembert.async.caltech.edu> Tony Hosking writes: ... > >Install the bootstrap compiler as you did originally: > >> rm -rf /usr/local/cm3/* >> >> cd ~/cm3-cvs >> mkdir boot >> cd boot >> tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz >> ./cminstall > >Now you will have some kind of cm3 installed, presumably in /usr/ >local/cm3/bin/cm3. > >Make sure you have a fresh CVS checkout in directory cm3 (let's >assume this is in your home directory ~/cm3). Also, make sure you >have an up-to-date version of the CM3 backend compiler cm3cg >installed by executing the following: > >STEP 0: > >export CM3=/usr/local/cm3/bin/cm3 >cd ~/cm3/m3-sys/m3cc >$CM3 >$CM3 -ship > >You can skip this last step if you know your backend compiler is up >to date. Ok, I did a completely fresh checkout (into an empty directory) and proceeded in accordance with the above instructions. At this point (that is, after shipping the new cm3cg), I have a segfaulting cm3. This is on the following system: (130)rover:~/cm3-cvs/fresh/cm3/m3-libs/m3core>uname -a FreeBSD rover 5.5-RELEASE FreeBSD 5.5-RELEASE #3: Sat May 12 14:03:45 PDT 2007 mika at rover:/usr/src/sys/i386/compile/ROVER i386 (131)rover:~/cm3-cvs/fresh/cm3/m3-libs/m3core>gcc -v Using built-in specs. Configured with: FreeBSD/i386 system compiler Thread model: posix gcc version 3.4.2 [FreeBSD] 20040728 (132)rover:~/cm3-cvs/fresh/cm3/m3-libs/m3core>cm3 -version Critical Mass Modula-3 version d5.3.1 last updated: 2005-10-05 configuration: /usr/local/cm3/bin/cm3.cfg I'm trying it on Darwin too, but as usual that machine is a couple of steps behind... Mika > >Now, let's build the new compiler from scratch (this is the sequence >I use regularly to test changes to the run-time system whenever I >make them): > >STEP 1: > >cd ~/cm3/m3-libs/m3core >$CM3 >$CM3 -ship >cd ~/cm3/m3-libs/libm3 >$CM3 >$CM3 -ship >cd ~/cm3/m3-sys/m3middle >$CM3 >$CM3 -ship >cd ~/cm3/m3-sys/m3linker >$CM3 >$CM3 -ship >cd ~/cm3/m3-sys/m3front >$CM3 >$CM3 -ship >cd ~/cm3/m3-sys/m3quake >$CM3 >$CM3 -ship >cd ~/cm3/m3-sys/cm3 >$CM3 >$CM3 -ship > >At this point you should have a bootstrapped version of cm3 installed >in the directory /usr/local/cm3/pkg/cm3/TARGET/cm3 (where TARGET is >the CM3 target platform you are building on -- e.g., LINUXLIBC6, >PPC_DARWIN, ...). Note that this did not overwrite your original >installed compiler in /usr/local/cm3/bin/cm3. We >are now going to test the new compiler, which was built using the old >compiler, by bootstrapping it one more time. > > From here on out, please replace TARGET with your target platform as >appropriate. > >STEP 2: > >export CM3=/usr/local/cm3/pkg/cm3/TARGET/cm3 >cd ~/cm3/scripts >./do-cm3-std.sh realclean >REPEAT STEP 1 to rebuild the libraries and the compiler using the >STEP 1 bootstrap compiler. > >Now you have a STEP 2 bootstrap compiler installed in /usr/local/cm3/ >pkg/cm3/TARGET/cm3. Let's assume the new compiler now works properly >since it successfully bootstrapped itself, but to be sure we can now >use it to rebuild the world: > >cd ~/cm3/scripts >./do-cm3-std.sh realclean >./do-cm3-std.sh buildship > >Assuming this succeeded then we can be pretty sure /usr/local/cm3/pkg/ >cm3/TARGET/cm3 is good, so we can make it our default compiler by >replacing the original /usr/local/cm3/bin/cm3: > >cp $CM3 /usr/local/cm3/bin/cm3 > >On Jun 23, 2007, at 2:38 PM, Mika Nystrom wrote: > >> Ok, I'm sorry if I seem a bit dimwitted in the morning like this, >> but how exactly does one get started? I wish there were a file called >> "GETTING_STARTED" or something like that in scripts... >> >> My Mac is very slow so I switched to my FreeBSD/i386 system (which has >> PM3 happily installed on it) and tried to install CM3 from scratch. ... From hosking at cs.purdue.edu Mon Jun 25 05:40:21 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Sun, 24 Jun 2007 23:40:21 -0400 Subject: [M3devel] strange errors... In-Reply-To: <200706250253.l5P2rvOu013096@camembert.async.caltech.edu> References: <200706250253.l5P2rvOu013096@camembert.async.caltech.edu> Message-ID: <8324E836-B2A7-4DDC-829E-CECC25ED669A@cs.purdue.edu> cm3 should not segfault if you simply install a new cm3cg, since all it does is exec cm3cg. On Jun 24, 2007, at 10:53 PM, Mika Nystrom wrote: > Tony Hosking writes: > ... >> >> Install the bootstrap compiler as you did originally: >> >>> rm -rf /usr/local/cm3/* >>> >>> cd ~/cm3-cvs >>> mkdir boot >>> cd boot >>> tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz >>> ./cminstall >> >> Now you will have some kind of cm3 installed, presumably in /usr/ >> local/cm3/bin/cm3. >> >> Make sure you have a fresh CVS checkout in directory cm3 (let's >> assume this is in your home directory ~/cm3). Also, make sure you >> have an up-to-date version of the CM3 backend compiler cm3cg >> installed by executing the following: >> >> STEP 0: >> >> export CM3=/usr/local/cm3/bin/cm3 >> cd ~/cm3/m3-sys/m3cc >> $CM3 >> $CM3 -ship >> >> You can skip this last step if you know your backend compiler is up >> to date. > > Ok, I did a completely fresh checkout (into an empty directory) and > proceeded in accordance with the above instructions. At this point > (that is, after shipping the new cm3cg), I have a segfaulting cm3. > > This is on the following system: > > (130)rover:~/cm3-cvs/fresh/cm3/m3-libs/m3core>uname -a > FreeBSD rover 5.5-RELEASE FreeBSD 5.5-RELEASE #3: Sat May 12 > 14:03:45 PDT 2007 mika at rover:/usr/src/sys/i386/compile/ROVER i386 > (131)rover:~/cm3-cvs/fresh/cm3/m3-libs/m3core>gcc -v > Using built-in specs. > Configured with: FreeBSD/i386 system compiler > Thread model: posix > gcc version 3.4.2 [FreeBSD] 20040728 > (132)rover:~/cm3-cvs/fresh/cm3/m3-libs/m3core>cm3 -version > Critical Mass Modula-3 version d5.3.1 > last updated: 2005-10-05 > configuration: /usr/local/cm3/bin/cm3.cfg > > I'm trying it on Darwin too, but as usual that machine is a couple > of steps behind... > > Mika > > >> >> Now, let's build the new compiler from scratch (this is the sequence >> I use regularly to test changes to the run-time system whenever I >> make them): >> >> STEP 1: >> >> cd ~/cm3/m3-libs/m3core >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-libs/libm3 >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-sys/m3middle >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-sys/m3linker >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-sys/m3front >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-sys/m3quake >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-sys/cm3 >> $CM3 >> $CM3 -ship >> >> At this point you should have a bootstrapped version of cm3 installed >> in the directory /usr/local/cm3/pkg/cm3/TARGET/cm3 (where TARGET is >> the CM3 target platform you are building on -- e.g., LINUXLIBC6, >> PPC_DARWIN, ...). Note that this did not overwrite your original >> installed compiler in /usr/local/cm3/bin/cm3. We >> are now going to test the new compiler, which was built using the old >> compiler, by bootstrapping it one more time. >> >> From here on out, please replace TARGET with your target platform as >> appropriate. >> >> STEP 2: >> >> export CM3=/usr/local/cm3/pkg/cm3/TARGET/cm3 >> cd ~/cm3/scripts >> ./do-cm3-std.sh realclean >> REPEAT STEP 1 to rebuild the libraries and the compiler using the >> STEP 1 bootstrap compiler. >> >> Now you have a STEP 2 bootstrap compiler installed in /usr/local/cm3/ >> pkg/cm3/TARGET/cm3. Let's assume the new compiler now works properly >> since it successfully bootstrapped itself, but to be sure we can now >> use it to rebuild the world: >> >> cd ~/cm3/scripts >> ./do-cm3-std.sh realclean >> ./do-cm3-std.sh buildship >> >> Assuming this succeeded then we can be pretty sure /usr/local/cm3/ >> pkg/ >> cm3/TARGET/cm3 is good, so we can make it our default compiler by >> replacing the original /usr/local/cm3/bin/cm3: >> >> cp $CM3 /usr/local/cm3/bin/cm3 >> >> On Jun 23, 2007, at 2:38 PM, Mika Nystrom wrote: >> >>> Ok, I'm sorry if I seem a bit dimwitted in the morning like this, >>> but how exactly does one get started? I wish there were a file >>> called >>> "GETTING_STARTED" or something like that in scripts... >>> >>> My Mac is very slow so I switched to my FreeBSD/i386 system >>> (which has >>> PM3 happily installed on it) and tried to install CM3 from scratch. > ... From mika at async.caltech.edu Mon Jun 25 05:47:03 2007 From: mika at async.caltech.edu (Mika Nystrom) Date: Sun, 24 Jun 2007 20:47:03 -0700 Subject: [M3devel] strange errors... In-Reply-To: Your message of "Sun, 24 Jun 2007 23:40:21 EDT." <8324E836-B2A7-4DDC-829E-CECC25ED669A@cs.purdue.edu> Message-ID: <200706250347.l5P3l3PR013930@camembert.async.caltech.edu> Yes, cm3 is just reporting it, I think. I assume it's cm3cg that's segfaulting: (compiling m3core) --- building in FreeBSD4 --- ignoring ../src/m3overrides new source -> compiling RTHooks.i3 RTHooks.i3: In function 'RTHooks_I3': RTHooks.i3:146: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See for instructions. new source -> compiling RT0.i3 RT0.i3: In function 'RT0_I3': RT0.i3:230: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. ... etc etc ... Tony Hosking writes: >cm3 should not segfault if you simply install a new cm3cg, since all >it does is exec cm3cg. > >On Jun 24, 2007, at 10:53 PM, Mika Nystrom wrote: > >> Tony Hosking writes: >> ... >>> >>> Install the bootstrap compiler as you did originally: >>> >>>> rm -rf /usr/local/cm3/* >>>> >>>> cd ~/cm3-cvs >>>> mkdir boot >>>> cd boot >>>> tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz >>>> ./cminstall >>> >>> Now you will have some kind of cm3 installed, presumably in /usr/ >>> local/cm3/bin/cm3. >>> >>> Make sure you have a fresh CVS checkout in directory cm3 (let's >>> assume this is in your home directory ~/cm3). Also, make sure you >>> have an up-to-date version of the CM3 backend compiler cm3cg >>> installed by executing the following: >>> >>> STEP 0: >>> >>> export CM3=/usr/local/cm3/bin/cm3 >>> cd ~/cm3/m3-sys/m3cc >>> $CM3 >>> $CM3 -ship >>> >>> You can skip this last step if you know your backend compiler is up >>> to date. >> >> Ok, I did a completely fresh checkout (into an empty directory) and >> proceeded in accordance with the above instructions. At this point >> (that is, after shipping the new cm3cg), I have a segfaulting cm3. >> >> This is on the following system: >> >> (130)rover:~/cm3-cvs/fresh/cm3/m3-libs/m3core>uname -a >> FreeBSD rover 5.5-RELEASE FreeBSD 5.5-RELEASE #3: Sat May 12 >> 14:03:45 PDT 2007 mika at rover:/usr/src/sys/i386/compile/ROVER i386 >> (131)rover:~/cm3-cvs/fresh/cm3/m3-libs/m3core>gcc -v >> Using built-in specs. >> Configured with: FreeBSD/i386 system compiler >> Thread model: posix >> gcc version 3.4.2 [FreeBSD] 20040728 >> (132)rover:~/cm3-cvs/fresh/cm3/m3-libs/m3core>cm3 -version >> Critical Mass Modula-3 version d5.3.1 >> last updated: 2005-10-05 >> configuration: /usr/local/cm3/bin/cm3.cfg >> >> I'm trying it on Darwin too, but as usual that machine is a couple >> of steps behind... >> >> Mika >> >> >>> >>> Now, let's build the new compiler from scratch (this is the sequence >>> I use regularly to test changes to the run-time system whenever I >>> make them): >>> >>> STEP 1: >>> >>> cd ~/cm3/m3-libs/m3core >>> $CM3 >>> $CM3 -ship >>> cd ~/cm3/m3-libs/libm3 >>> $CM3 >>> $CM3 -ship >>> cd ~/cm3/m3-sys/m3middle >>> $CM3 >>> $CM3 -ship >>> cd ~/cm3/m3-sys/m3linker >>> $CM3 >>> $CM3 -ship >>> cd ~/cm3/m3-sys/m3front >>> $CM3 >>> $CM3 -ship >>> cd ~/cm3/m3-sys/m3quake >>> $CM3 >>> $CM3 -ship >>> cd ~/cm3/m3-sys/cm3 >>> $CM3 >>> $CM3 -ship >>> >>> At this point you should have a bootstrapped version of cm3 installed >>> in the directory /usr/local/cm3/pkg/cm3/TARGET/cm3 (where TARGET is >>> the CM3 target platform you are building on -- e.g., LINUXLIBC6, >>> PPC_DARWIN, ...). Note that this did not overwrite your original >>> installed compiler in /usr/local/cm3/bin/cm3. We >>> are now going to test the new compiler, which was built using the old >>> compiler, by bootstrapping it one more time. >>> >>> From here on out, please replace TARGET with your target platform as >>> appropriate. >>> >>> STEP 2: >>> >>> export CM3=/usr/local/cm3/pkg/cm3/TARGET/cm3 >>> cd ~/cm3/scripts >>> ./do-cm3-std.sh realclean >>> REPEAT STEP 1 to rebuild the libraries and the compiler using the >>> STEP 1 bootstrap compiler. >>> >>> Now you have a STEP 2 bootstrap compiler installed in /usr/local/cm3/ >>> pkg/cm3/TARGET/cm3. Let's assume the new compiler now works properly >>> since it successfully bootstrapped itself, but to be sure we can now >>> use it to rebuild the world: >>> >>> cd ~/cm3/scripts >>> ./do-cm3-std.sh realclean >>> ./do-cm3-std.sh buildship >>> >>> Assuming this succeeded then we can be pretty sure /usr/local/cm3/ >>> pkg/ >>> cm3/TARGET/cm3 is good, so we can make it our default compiler by >>> replacing the original /usr/local/cm3/bin/cm3: >>> >>> cp $CM3 /usr/local/cm3/bin/cm3 >>> >>> On Jun 23, 2007, at 2:38 PM, Mika Nystrom wrote: >>> >>>> Ok, I'm sorry if I seem a bit dimwitted in the morning like this, >>>> but how exactly does one get started? I wish there were a file >>>> called >>>> "GETTING_STARTED" or something like that in scripts... >>>> >>>> My Mac is very slow so I switched to my FreeBSD/i386 system >>>> (which has >>>> PM3 happily installed on it) and tried to install CM3 from scratch. >> ... From wagner at elegosoft.com Mon Jun 25 09:07:37 2007 From: wagner at elegosoft.com (Olaf Wagner) Date: Mon, 25 Jun 2007 09:07:37 +0200 (CEST) Subject: [M3devel] strange errors... In-Reply-To: <200706250347.l5P3l3PR013930@camembert.async.caltech.edu> References: <200706250347.l5P3l3PR013930@camembert.async.caltech.edu> Message-ID: <38249.194.138.127.36.1182755257.squirrel@mail.elegosoft.com> On Mon, June 25, 2007 5:47 am, Mika Nystrom wrote: > Yes, cm3 is just reporting it, I think. I assume it's cm3cg that's > segfaulting: > > (compiling m3core) > > --- building in FreeBSD4 --- > > ignoring ../src/m3overrides > > new source -> compiling RTHooks.i3 > RTHooks.i3: In function 'RTHooks_I3': > RTHooks.i3:146: internal compiler error: Segmentation fault > Please submit a full bug report, > with preprocessed source if appropriate. > See for instructions. > new source -> compiling RT0.i3 > RT0.i3: In function 'RT0_I3': > RT0.i3:230: internal compiler error: Segmentation fault > Please submit a full bug report, > with preprocessed source if appropriate. This looks really broken :-( Please use the cm3 options -commands to see the actual backend executions and -keep to save the input data which provokes gcc to give up. You can then use gdb on cm3cg to get a backtrace and try to figure out what's going wrong. A backtrace of cm3cg will probably be most helpful. Olaf PS: As for automation of the installation and upgrade process, this used to work fine some time ago. The problem seems to be that nobody really does extensive testing of fresh installations unless Elego pays some student for release engineering :-/ I think we should just try to keep the existing installation scripts up-to-date; perhaps add a bit more information. For example, if the m3gc-xxx packages are not needed anymore, we should simply remove them from all current scripts. It would also be helpful if we had a tinderbox system that does regular builds at least on some reference platforms. PPS: Antony, did you change anything recently regarding code generation that could cause such failures as above? -- Olaf Wagner -- elego Software Solutions GmbH, Ohmstr. 9, 10179 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 mika at async.caltech.edu Mon Jun 25 10:03:54 2007 From: mika at async.caltech.edu (Mika Nystrom) Date: Mon, 25 Jun 2007 01:03:54 -0700 Subject: [M3devel] strange errors... In-Reply-To: Your message of "Mon, 25 Jun 2007 09:07:37 +0200." <38249.194.138.127.36.1182755257.squirrel@mail.elegosoft.com> Message-ID: <200706250803.l5P83ssv018074@camembert.async.caltech.edu> Guten Tag Olaf! --- building in FreeBSD4 --- cd FreeBSD4 ignoring ../src/m3overrides rm .M3SHIP rm .M3OVERRIDES inhale libm3core.m3x new source -> compiling RTHooks.i3 m3front ../src/runtime/common/RTHooks.i3 -w1 /usr/local/cm3/bin/cm3cg -quiet RTHooks.ic -o RTHooks.is -g RTHooks.i3: In function 'RTHooks_I3': RTHooks.i3:146: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See for instructions. rm RTHooks.is I figured that building cm3cg with debugging symbols involves running "cm3 -DM3CC_CFLAGS=-g" (not completely obvious), and obtained the following: (gdb) run -quiet RTHooks.ic -o RTHooks.is -g Starting program: /usr/local/cm3/bin/cm3cg -quiet RTHooks.ic -o RTHooks.is -g Program received signal SIGSEGV, Segmentation fault0x080f614b in gen_field_die (decl=0x6873f228, context_die=0x68714208) at ../../gcc/gcc/dwarf2out.c:12079 12079 if (TREE_CODE (DECL_FIELD_CONTEXT (decl)) != UNION_TYPE) (gdb) where #0 0x080f614b in gen_field_die (decl=0x6873f228, context_die=0x68714208) at ../../gcc/gcc/dwarf2out.c:12079 #1 0x080f7ad6 in gen_decl_die (decl=0x6873f228, context_die=0x68714208) at ../../gcc/gcc/dwarf2out.c:13121 #2 0x080f671d in gen_member_die (type=0x6873f33c, context_die=0x68714208) at ../../gcc/gcc/dwarf2out.c:12280 #3 0x080f69e4 in gen_struct_or_union_type_die (type=0x6873f33c, context_die=0x68714138) at ../../gcc/gcc/dwarf2out.c:12357 #4 0x080f6f0f in gen_type_die (type=0x6873f33c, context_die=0x68714138) at ../../gcc/gcc/dwarf2out.c:12562 #5 0x080f79a0 in gen_decl_die (decl=0x6871c548, context_die=0x68714138) at ../../gcc/gcc/dwarf2out.c:13072 #6 0x080f808b in dwarf2out_decl (decl=0x6871c548) at ../../gcc/gcc/dwarf2out.c:13371 #7 0x080f7ceb in dwarf2out_type_decl (decl=0x6871c548, local=0) at ../../gcc/gcc/dwarf2out.c:13183 #8 0x0804c48b in debug_struct () at ../../gcc/gcc/m3cg/parse.c:1762 #9 0x0804de17 in m3cg_declare_formal () at ../../gcc/gcc/m3cg/parse.c:2463 #10 0x08053941 in m3_parse_file (xx=0) at ../../gcc/gcc/m3cg/parse.c:4773 #11 0x082eec3b in compile_file () at ../../gcc/gcc/toplev.c:991 #12 0x082f018a in do_compile () at ../../gcc/gcc/toplev.c:1949 #13 0x082f01f2 in toplev_main (argc=6, argv=0xbfbfe3bc) at ../../gcc/gcc/toplev.c:1981 #14 0x0805a2ae in main (argc=6, argv=0xbfbfe3bc) at ../../gcc/gcc/main.c:35 (gdb) print decl $1 = 0x6873f228 (gdb) whatis decl type = tree (gdb) print *decl $2 = {common = {chain = 0x6873f284, type = 0x68716284, ann = 0x0, code = FIELD_DECL, ... [large data structure follows] (gdb) whatis context_die type = dw_die_ref (gdb) print *context_die $5 = {die_tag = DW_TAG_structure_type, die_symbol = 0x0, die_attr = 0x68708fc0, die_parent = 0x68714138, die_child = 0x6871423c, die_sib = 0x0, die_definition = 0x0, die_offset = 0, die_abbrev = 0, die_mark = 0, decl_id = 0} Here I must confess I have never debugged parts of gcc before... If it helps, I put RTHooks.ic at http://www.async.caltech.edu/~mika/RTHooks.ic Maybe someone can use this to tell whether it is m3front or cm3cg that is (more) broken. Are the .ic files architecture-independent? Mika "Olaf Wagner" writes: >On Mon, June 25, 2007 5:47 am, Mika Nystrom wrote: >> Yes, cm3 is just reporting it, I think. I assume it's cm3cg that's >> segfaulting: >> >> (compiling m3core) >> > --- building in FreeBSD4 --- >> >> ignoring ../src/m3overrides >> >> new source -> compiling RTHooks.i3 >> RTHooks.i3: In function 'RTHooks_I3': >> RTHooks.i3:146: internal compiler error: Segmentation fault >> Please submit a full bug report, >> with preprocessed source if appropriate. >> See for instructions. >> new source -> compiling RT0.i3 >> RT0.i3: In function 'RT0_I3': >> RT0.i3:230: internal compiler error: Segmentation fault >> Please submit a full bug report, >> with preprocessed source if appropriate. > >This looks really broken :-( >Please use the cm3 options -commands to see the actual backend executions >and -keep to save the input data which provokes gcc to give up. >You can then use gdb on cm3cg to get a backtrace and try to figure out >what's going wrong. A backtrace of cm3cg will probably be most helpful. > >Olaf > >PS: As for automation of the installation and upgrade process, this > used to work fine some time ago. The problem seems to be that nobody > really does extensive testing of fresh installations unless Elego > pays some student for release engineering :-/ I think we should > just try to keep the existing installation scripts up-to-date; > perhaps add a bit more information. For example, if the m3gc-xxx > packages are not needed anymore, we should simply remove them from > all current scripts. It would also be helpful if we had a tinderbox > system that does regular builds at least on some reference platforms. >PPS: Antony, did you change anything recently regarding code generation > that could cause such failures as above? >-- >Olaf Wagner -- elego Software Solutions GmbH, Ohmstr. 9, 10179 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 jayk123 at hotmail.com Mon Jun 25 13:19:56 2007 From: jayk123 at hotmail.com (j k) Date: Mon, 25 Jun 2007 11:19:56 +0000 Subject: [M3devel] strange errors... In-Reply-To: Message-ID: Tony the scripts I think are a very very close approximation of what you list. I ported the Unix shell versions to NT cmd. They were working well a few months ago. The M3 build system bugs me. 1) too many languages 2) the need to know your dependency graph in order to build -- could something not look from some "root" and build everything that is out of date in the right order, or given an unordered list of packages, build them in the right order? I realize this is asking more than most other systems provide. Most C/C++ systems depend on the fact that "headers" are all hand authored and available up front and require no "build". In Windows, if you use midl or managed code/CLR/.NET you run into these same issues as M3 has since "headers" are now "build outputs" and producing them can depend on having dependent "headers" already built. - Jay >From: Tony Hosking >To: Mika Nystrom >CC: mika at camembert.async.caltech.edu, m3devel at elegosoft.de >Subject: Re: [M3devel] strange errors... >Date: Sun, 24 Jun 2007 10:38:34 -0400 > >Sounds like we really need some work done in this area. I very rarely use >the build scripts, since I bootstrap manually from old compilers to new >compilers rather than use the scripts. I suggest the following approach, >which I hope you will try, and then report back on. > >Install the bootstrap compiler as you did originally: > >>rm -rf /usr/local/cm3/* >> >>cd ~/cm3-cvs >>mkdir boot >>cd boot >>tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz >>./cminstall > >Now you will have some kind of cm3 installed, presumably in /usr/ >local/cm3/bin/cm3. > >Make sure you have a fresh CVS checkout in directory cm3 (let's assume >this is in your home directory ~/cm3). Also, make sure you have an >up-to-date version of the CM3 backend compiler cm3cg installed by >executing the following: > >STEP 0: > >export CM3=/usr/local/cm3/bin/cm3 >cd ~/cm3/m3-sys/m3cc >$CM3 >$CM3 -ship > >You can skip this last step if you know your backend compiler is up to >date. > >Now, let's build the new compiler from scratch (this is the sequence I use >regularly to test changes to the run-time system whenever I make them): > >STEP 1: > >cd ~/cm3/m3-libs/m3core >$CM3 >$CM3 -ship >cd ~/cm3/m3-libs/libm3 >$CM3 >$CM3 -ship >cd ~/cm3/m3-sys/m3middle >$CM3 >$CM3 -ship >cd ~/cm3/m3-sys/m3linker >$CM3 >$CM3 -ship >cd ~/cm3/m3-sys/m3front >$CM3 >$CM3 -ship >cd ~/cm3/m3-sys/m3quake >$CM3 >$CM3 -ship >cd ~/cm3/m3-sys/cm3 >$CM3 >$CM3 -ship > >At this point you should have a bootstrapped version of cm3 installed in >the directory /usr/local/cm3/pkg/cm3/TARGET/cm3 (where TARGET is the CM3 >target platform you are building on -- e.g., LINUXLIBC6, PPC_DARWIN, ...). > Note that this did not overwrite your original installed compiler in >/usr/local/cm3/bin/cm3. We >are now going to test the new compiler, which was built using the old >compiler, by bootstrapping it one more time. > >From here on out, please replace TARGET with your target platform as >appropriate. > >STEP 2: > >export CM3=/usr/local/cm3/pkg/cm3/TARGET/cm3 >cd ~/cm3/scripts >./do-cm3-std.sh realclean >REPEAT STEP 1 to rebuild the libraries and the compiler using the STEP 1 >bootstrap compiler. > >Now you have a STEP 2 bootstrap compiler installed in /usr/local/cm3/ >pkg/cm3/TARGET/cm3. Let's assume the new compiler now works properly >since it successfully bootstrapped itself, but to be sure we can now use >it to rebuild the world: > >cd ~/cm3/scripts >./do-cm3-std.sh realclean >./do-cm3-std.sh buildship > >Assuming this succeeded then we can be pretty sure /usr/local/cm3/pkg/ >cm3/TARGET/cm3 is good, so we can make it our default compiler by >replacing the original /usr/local/cm3/bin/cm3: > >cp $CM3 /usr/local/cm3/bin/cm3 > >On Jun 23, 2007, at 2:38 PM, Mika Nystrom wrote: > >>Ok, I'm sorry if I seem a bit dimwitted in the morning like this, >>but how exactly does one get started? I wish there were a file called >>"GETTING_STARTED" or something like that in scripts... >> >>My Mac is very slow so I switched to my FreeBSD/i386 system (which has >>PM3 happily installed on it) and tried to install CM3 from scratch. >>Here are the exact commands I typed. >> >> >>rm -rf /usr/local/cm3/* >> >>cd ~/cm3-cvs >>mkdir boot >>cd boot >>tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz >>./cminstall >> >># now I seem to have some kind of cm3 installed, /usr/local/cm3/bin/ cm3 >> >>cd cm3 # location of my CM3 checkout >>cvs update -d . >> >>cd scripts >>./boot-cm3-with-m3.sh realclean >>./do-cm3-std.sh realclean >> >>./upgrade.sh # fails here, libm3 not compiled >>./boot-cm3-with-m3.sh build # builds cm3, but fails on cminstall, >>patternmatching not built >> >>./do-cm3-std.sh build # OK >>./do-cm3-std.sh buildship # OK >> >>./boot-cm3-with-m3.sh realclean # start over >>./boot-cm3-with-m3.sh build # OK >>./boot-cm3-with-m3.sh buildship # OK >> >>./do-cm3-std.sh realclean # OK >>./do-cm3-std.sh build # dies miserably... maybe the compiler >>can't handle the new libraries? >> >>./install-cm3-compiler.sh upgrade # OK, new cm3 binary installed >> >>After all that, "game over." I have a cm3 that segfaults. >> >>Text.i3: In function 'Text_I3': >>Text.i3:81: internal compiler error: Segmentation fault >>Please submit a full bug report, >>with preprocessed source if appropriate. >>See for instructions. >>compilation failed => not building library "libm3core.a" >>Fatal Error: package build failed >> *** execution of failed *** >> >>I can't seem to get either m3gdb or gdb to say anything reasonable >>either. ktrace shows nothing out of the ordinary. >> >>----- >> >>Meanwhile, my Mac got through "do-cm3-std.sh realclean" and >>"do-cm3-std.sh buildship" but my compiles are still dying on the >>same assertion tickled by ktok. On that machine I have INSTALLROOT >>set to ~/cm3, but hopefully that has nothing to do with it... >> >>----- >> >>Does do-cm3-std.sh realclean clean EVERYTHING? If so my Mac should >>really have a fresh setup. The FreeBSD, I am not sure, maybe the >>old binary version just doesn't work right? Of course I could try >>bootstrapping with PM3 as well... but really, there's an "approved" >>process to get from a blank system, no? >> >> Mika >> >> >> >> >>Tony Hosking writes: >>>That sounds like you forgot to execute "do-cm3-std.sh realclean" >>>before initiating the build. These sorts of errors sometimes arise >>>if there are old build directories lying around. >>> >>> >>>On Jun 23, 2007, at 3:34 AM, Mika Nystrom wrote: >>> >>>>Hello everyone, >>>> >>>>I am in the process of trying to consolidate build systems for a >>>>few software packages I am maintaining. Currently, I am using an >>>>old PM3 on FreeBSD4, an ancient PM3 (from Klagenfurt?) for Windows >>>>(NT386GNU), and trying to get the latest CM3 from cvs up and compiling >>>>things on PPC_DARWIN. Ideally, I'd like to standardize everything >>>>on the new PM3---mainly so that I can use pickles (and Network >>>>Objects) across all three systems. I'd also like to add Linux to >>>>the mix. >>>> >>>>It's natural for me to start with CM3 on Darwin, as there's no >>>>alternative. But I am getting some assertions failing. Everything >>>>in the CM3 distribution compiles fine, and I believe I have compiled >>>>the libraries a few times (that is, including with themselves), and >>>>updated the compiler, too (using boot-cm3-with-m3.sh). I just cvs >>>>updated tonight. >>>> >>>>Here's what I'm running into: >>>> >>>>/Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/CHP.t -o CHPTok.i3 >>>> >>>> >>>>*** >>>>*** runtime error: >>>>*** <*ASSERT*> failed. >>>>*** file "../src/runtime/common/RTCollector.m3", line 2314 >>>>*** >>>> >>>>Abort >>>> >>>>Also: >>>> >>>>/Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/PRS.t -o PRSTok.i3 >>>>Illegal instruction >>>> >>>>As you can see, these things are coming from the caltech_parser. I >>>am using >>>>our local version, but I don't think it is very different from what >>>>is in the >>>>CM3 tree. >>>> >>>> >>>>Examining the first error (the failed assertion) more closely, I see >>>>the following: >>>> >>>>(gdb) list >>>>108 wr := FileWr.Open(Pathname.ReplaceExt(tp.out, "m3")); >>>>109 EXCEPT OSError.E => >>>>110 Debug.Error("Cannot open tok implementation output >>>>file: " & >>>>111 Pathname.ReplaceExt(tp.out, "m3")); >>>>112 END; >>>>113 Wr.PutText(wr, subs.apply(Bundle.Get(Form, "tokform.m3"))); >>>>114 Wr.Close(wr); >>>>115 END Main. >>>>(gdb) where >>>>#0 0x9004308c in kill () >>>>#1 0x9009fb3c in abort () >>>>#2 0x00096f50 in RTOS__Crash () at RTOS.m3:20 >>>>#3 0x0005bd40 in RTProcess__Crash (M3_Bd56fi_msg=0x0) at >>>>RTProcess.m3:65 >>>>#4 0x0008e4e0 in RTError__EndError (M3_AicXUJ_crash=1 '\001') at >>>>RTError.m3:115 >>>>#5 0x0008e08c in RTError__MsgS (M3_AJWxb1_file=0xc63d8, >>>>M3_AcxOUs_line=2314, M3_Bd56fi_msgA=0xca3d0, >>>>M3_Bd56fi_msgB=0xcbe90, M3_Bd56fi_msgC=0xca3d0) at RTError.m3:40 >>>>#6 0x0008eb88 in RTException__Crash (M3_Cblw37_a=0xbfffee00, >>>>M3_AicXUJ_raises=0 '\0', M3_AJWxb1_rte=0xcb538) at RTException.m3:79 >>>>#7 0x0008e74c in RTException__DefaultBackstop >>>>(M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:39 >>>>#8 0x0008e614 in RTException__InvokeBackstop >>>>(M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:25 >>>>#9 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at >>>>RTExFrame.m3:29 >>>>#10 0x0008e840 in RTException__DefaultBackstop >>>>(M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:47 >>>>#11 0x0008e614 in RTException__InvokeBackstop >>>>(M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:25 >>>>#12 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at >>>>RTExFrame.m3:29 >>>>#13 0x00079740 in RTHooks__ReportFault (M3_AJWxb1_module=0xb3eb8, >>>>M3_AcxOUs_info=74048) at RTHooks.m3:110 >>>>#14 0x0006ff4c in _m3_fault (M3_AcxOUs_arg=74048) >>>>#15 0x0006bcf4 in RTHooks__CheckStoreTraced >>>>(M3_Af40ku_ref=0xb2415c) at RTCollector.m3:2314 >>>>#16 0x000700e4 in ThreadPThread__InnerLockMutex >>>>(M3_AYIbX3_m=0xb2415c, M3_BXP32l_self=0xb24014) at >>>>ThreadPThread.m3:126 >>>>#17 0x000704d8 in ThreadPThread__LockMutex (M3_AYIbX3_m=0xb2415c) >>>>at ThreadPThread.m3:153 >>>>#18 0x00019b24 in Wr__PutText (M3_BxxOH1_wr=0xb2415c, >>>>M3_Bd56fi_t=0xb44d5c) at Wr.m3:93 >>>>#19 0x00003f74 in Main_M3 (M3_AcxOUs_mode=1) at Main.m3:113 >>>>#20 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at >>>>RTLinker.m3:399 >>>>#21 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at >>>>RTLinker.m3:113 >>>>#22 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at >>>>RTLinker.m3:122 >>>>#23 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) >>>>at _m3main.mc:4 >>>>(gdb) >>>> >>>>The second error: >>>> >>>>Program received signal EXC_BAD_INSTRUCTION, Illegal instruction/ >>>>operand. >>>>0x00b111ac in ?? () >>>>(gdb) where >>>>#0 0x00b111ac in ?? () >>>>#1 0x0001214c in TextSubs__Apply (M3_CN69dV_self=0xb26450, >>>>M3_Bd56fi_src=0xb21cec) at TextSubs.m3:63 >>>>#2 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at >>>>RTLinker.m3:399 >>>>#3 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at >>>>RTLinker.m3:113 >>>>#4 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at >>>>RTLinker.m3:122 >>>>#5 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) >>>>at _m3main.mc:4 >>>>(gdb) list >>>>58 BEGIN >>>>59 WHILE pos < textLen DO >>>>60 c := Text.GetChar(src, pos); >>>>61 IF c IN self.starts THEN >>>>62 (* S("analysing: " & Text.Sub(src, pos), >>>>DebugLevel); *) >>>>63 iter := self.tbl.iterateOrdered(); >>>>64 ind := pos; >>>>65 original := ""; >>>>66 REPEAT >>>>67 INC(ind); >>>>(gdb) >>>> >>>>Any ideas what to look at? >>>> >>>>I don't know if this is relevant: >>>> >>>>[lapdog:~/t/cit_parse/PPC_DARWIN] mika% uname -a >>>>Darwin lapdog.local 7.9.0 Darwin Kernel Version 7.9.0: Wed Mar 30 >>>>20:11:17 PST 2005; root:xnu/xnu-517.12.7.obj~1/RELEASE_PPC Power >>>>Macintosh powerpc >>>>[lapdog:~/t/cit_parse/PPC_DARWIN] mika% gcc -v >>>>Reading specs from /usr/libexec/gcc/darwin/ppc/3.3/specs >>>>Thread model: posix >>>>gcc version 3.3 20030304 (Apple Computer, Inc. build 1666) >>>> >>>> Mika >>>> >>>>P.S. Am I correct in assuming that I can get CM3 to build on Windows? >>>>I could switch to CM3 on Unix any time, of course, but I've never >>>>had luck with it on Windows, which is why I am using the ancient >>>>Klagenfurt PM3, which comes on 40-odd "floppies" and a .EXE that >>>>unpacks them into C: (and installation instructions only in German). >>>>If CM3 doesn't work on Windows, I am essentially wasting my time, >>>>as the current project I am working on absolutely requires that the >>>>software run on Windows 2003 Server (yes, it sucks, but what can >>>>you do?) The very old PM3 at least kind of hobbles along on this >>>>platform---actually, better than that; it does Trestle natively >>>>under Windows (no X required), at least on SOME Windows machines. >>>> >>>>P.P.S. Sorry for all the postscripts, but is it true that the >>>>build system has been changed so that building with overrides (cm3 -x) >>>>requires having the compiler sources available? It didn't use to >>>>be that way, but I can't get Network Objects to work with overrides >>>>now unless I have the sources available... It's a bit of a pain >>>>because it means that every user has to have the compiler sources, >>>>or else ship everything, or was that not the intention? > _________________________________________________________________ Don?t miss your chance to WIN $10,000 and other great prizes from Microsoft Office Live http://clk.atdmt.com/MRT/go/aub0540003042mrt/direct/01/ From hosking at cs.purdue.edu Mon Jun 25 16:23:25 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Mon, 25 Jun 2007 10:23:25 -0400 Subject: [M3devel] strange errors... In-Reply-To: <200706250803.l5P83ssv018074@camembert.async.caltech.edu> References: <200706250803.l5P83ssv018074@camembert.async.caltech.edu> Message-ID: This looks like a debug symbol problem that others have reported. Please try the following: replace the -g option to the backend in your cm3.cfg with -gstabs or -gstabs+ and let me know what happens. On Jun 25, 2007, at 4:03 AM, Mika Nystrom wrote: > Guten Tag Olaf! > > --- building in FreeBSD4 --- > > cd FreeBSD4 > ignoring ../src/m3overrides > > rm .M3SHIP > rm .M3OVERRIDES > inhale libm3core.m3x > > new source -> compiling RTHooks.i3 > m3front ../src/runtime/common/RTHooks.i3 -w1 > /usr/local/cm3/bin/cm3cg -quiet RTHooks.ic -o RTHooks.is -g > RTHooks.i3: In function 'RTHooks_I3': > RTHooks.i3:146: internal compiler error: Segmentation fault > Please submit a full bug report, > with preprocessed source if appropriate. > See for instructions. > rm RTHooks.is > > > I figured that building cm3cg with debugging symbols involves > running "cm3 -DM3CC_CFLAGS=-g" (not completely obvious), and > obtained the following: > > (gdb) run -quiet RTHooks.ic -o RTHooks.is -g > Starting program: /usr/local/cm3/bin/cm3cg -quiet RTHooks.ic -o > RTHooks.is -g > > Program received signal SIGSEGV, Segmentation fault0x080f614b in > gen_field_die (decl=0x6873f228, context_die=0x68714208) at ../../ > gcc/gcc/dwarf2out.c:12079 > 12079 if (TREE_CODE (DECL_FIELD_CONTEXT (decl)) != UNION_TYPE) > (gdb) where > #0 0x080f614b in gen_field_die (decl=0x6873f228, > context_die=0x68714208) at ../../gcc/gcc/dwarf2out.c:12079 > #1 0x080f7ad6 in gen_decl_die (decl=0x6873f228, > context_die=0x68714208) at ../../gcc/gcc/dwarf2out.c:13121 > #2 0x080f671d in gen_member_die (type=0x6873f33c, > context_die=0x68714208) at ../../gcc/gcc/dwarf2out.c:12280 > #3 0x080f69e4 in gen_struct_or_union_type_die (type=0x6873f33c, > context_die=0x68714138) at ../../gcc/gcc/dwarf2out.c:12357 > #4 0x080f6f0f in gen_type_die (type=0x6873f33c, > context_die=0x68714138) at ../../gcc/gcc/dwarf2out.c:12562 > #5 0x080f79a0 in gen_decl_die (decl=0x6871c548, > context_die=0x68714138) at ../../gcc/gcc/dwarf2out.c:13072 > #6 0x080f808b in dwarf2out_decl (decl=0x6871c548) at ../../gcc/gcc/ > dwarf2out.c:13371 > #7 0x080f7ceb in dwarf2out_type_decl (decl=0x6871c548, local=0) > at ../../gcc/gcc/dwarf2out.c:13183 > #8 0x0804c48b in debug_struct () at ../../gcc/gcc/m3cg/parse.c:1762 > #9 0x0804de17 in m3cg_declare_formal () at ../../gcc/gcc/m3cg/ > parse.c:2463 > #10 0x08053941 in m3_parse_file (xx=0) at ../../gcc/gcc/m3cg/ > parse.c:4773 > #11 0x082eec3b in compile_file () at ../../gcc/gcc/toplev.c:991 > #12 0x082f018a in do_compile () at ../../gcc/gcc/toplev.c:1949 > #13 0x082f01f2 in toplev_main (argc=6, argv=0xbfbfe3bc) at ../../ > gcc/gcc/toplev.c:1981 > #14 0x0805a2ae in main (argc=6, argv=0xbfbfe3bc) at ../../gcc/gcc/ > main.c:35 > (gdb) print decl > $1 = 0x6873f228 > (gdb) whatis decl > type = tree > (gdb) print *decl > $2 = {common = {chain = 0x6873f284, type = 0x68716284, ann = 0x0, > code = FIELD_DECL, ... [large data structure follows] > (gdb) whatis context_die > type = dw_die_ref > (gdb) print *context_die > $5 = {die_tag = DW_TAG_structure_type, die_symbol = 0x0, die_attr = > 0x68708fc0, die_parent = 0x68714138, die_child = 0x6871423c, > die_sib = 0x0, die_definition = 0x0, die_offset = 0, > die_abbrev = 0, die_mark = 0, decl_id = 0} > > > Here I must confess I have never debugged parts of gcc before... > > If it helps, I put RTHooks.ic at http://www.async.caltech.edu/~mika/ > RTHooks.ic > Maybe someone can use this to tell whether it is m3front or cm3cg > that is (more) broken. > > Are the .ic files architecture-independent? > > Mika > > > > "Olaf Wagner" writes: >> On Mon, June 25, 2007 5:47 am, Mika Nystrom wrote: >>> Yes, cm3 is just reporting it, I think. I assume it's cm3cg that's >>> segfaulting: >>> >>> (compiling m3core) >>> >> --- building in FreeBSD4 --- >>> >>> ignoring ../src/m3overrides >>> >>> new source -> compiling RTHooks.i3 >>> RTHooks.i3: In function 'RTHooks_I3': >>> RTHooks.i3:146: internal compiler error: Segmentation fault >>> Please submit a full bug report, >>> with preprocessed source if appropriate. >>> See for instructions. >>> new source -> compiling RT0.i3 >>> RT0.i3: In function 'RT0_I3': >>> RT0.i3:230: internal compiler error: Segmentation fault >>> Please submit a full bug report, >>> with preprocessed source if appropriate. >> >> This looks really broken :-( >> Please use the cm3 options -commands to see the actual backend >> executions >> and -keep to save the input data which provokes gcc to give up. >> You can then use gdb on cm3cg to get a backtrace and try to figure >> out >> what's going wrong. A backtrace of cm3cg will probably be most >> helpful. >> >> Olaf >> >> PS: As for automation of the installation and upgrade process, this >> used to work fine some time ago. The problem seems to be that >> nobody >> really does extensive testing of fresh installations unless Elego >> pays some student for release engineering :-/ I think we should >> just try to keep the existing installation scripts up-to-date; >> perhaps add a bit more information. For example, if the m3gc-xxx >> packages are not needed anymore, we should simply remove them from >> all current scripts. It would also be helpful if we had a >> tinderbox >> system that does regular builds at least on some reference >> platforms. >> PPS: Antony, did you change anything recently regarding code >> generation >> that could cause such failures as above? >> -- >> Olaf Wagner -- elego Software Solutions GmbH, Ohmstr. 9, 10179 >> 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 wagner at elegosoft.com Mon Jun 25 16:46:46 2007 From: wagner at elegosoft.com (Olaf Wagner) Date: Mon, 25 Jun 2007 16:46:46 +0200 (CEST) Subject: [M3devel] strange errors... In-Reply-To: References: <200706250803.l5P83ssv018074@camembert.async.caltech.edu> Message-ID: <64394.194.138.127.36.1182782806.squirrel@mail.elegosoft.com> On Mon, June 25, 2007 4:23 pm, Tony Hosking wrote: > This looks like a debug symbol problem that others have reported. > Please try the following: replace the -g option to the backend in > your cm3.cfg with -gstabs or -gstabs+ and let me know what happens. > > On Jun 25, 2007, at 4:03 AM, Mika Nystrom wrote: > >> Guten Tag Olaf! >> >> --- building in FreeBSD4 --- >> >> cd FreeBSD4 >> ignoring ../src/m3overrides >> >> rm .M3SHIP >> rm .M3OVERRIDES >> inhale libm3core.m3x >> >> new source -> compiling RTHooks.i3 >> m3front ../src/runtime/common/RTHooks.i3 -w1 >> /usr/local/cm3/bin/cm3cg -quiet RTHooks.ic -o RTHooks.is -g Great! I knew there was something familiar, but I couldn't remember what it was. The new backend is actually called with -g instead of -gstabs in Myka's installation. I thought we had changed all the -g occurences in the configuration templates... It seems we've overlooked some... Olaf -- Olaf Wagner -- elego Software Solutions GmbH, Ohmstr. 9, 10179 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 rodney.bates at wichita.edu Mon Jun 25 20:54:31 2007 From: rodney.bates at wichita.edu (Rodney M. Bates) Date: Mon, 25 Jun 2007 13:54:31 -0500 Subject: [M3devel] strange errors... In-Reply-To: <64394.194.138.127.36.1182782806.squirrel@mail.elegosoft.com> References: <200706250803.l5P83ssv018074@camembert.async.caltech.edu> <64394.194.138.127.36.1182782806.squirrel@mail.elegosoft.com> Message-ID: <46800F67.9080007@wichita.edu> To get the most from m3gdb, make it -gstabs+. Olaf Wagner wrote: > On Mon, June 25, 2007 4:23 pm, Tony Hosking wrote: > >>This looks like a debug symbol problem that others have reported. >>Please try the following: replace the -g option to the backend in >>your cm3.cfg with -gstabs or -gstabs+ and let me know what happens. >> >>On Jun 25, 2007, at 4:03 AM, Mika Nystrom wrote: >> >> >>>Guten Tag Olaf! >>> >>>--- building in FreeBSD4 --- >>> >>>cd FreeBSD4 >>>ignoring ../src/m3overrides >>> >>>rm .M3SHIP >>>rm .M3OVERRIDES >>>inhale libm3core.m3x >>> >>>new source -> compiling RTHooks.i3 >>>m3front ../src/runtime/common/RTHooks.i3 -w1 >>>/usr/local/cm3/bin/cm3cg -quiet RTHooks.ic -o RTHooks.is -g > > > Great! I knew there was something familiar, but I couldn't remember > what it was. The new backend is actually called with -g instead > of -gstabs in Myka's installation. I thought we had changed all the > -g occurences in the configuration templates... It seems we've overlooked > some... > > Olaf -- ------------------------------------------------------------- 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 mika at async.caltech.edu Mon Jun 25 21:05:58 2007 From: mika at async.caltech.edu (Mika Nystrom) Date: Mon, 25 Jun 2007 12:05:58 -0700 Subject: [M3devel] strange errors... In-Reply-To: Your message of "Sun, 24 Jun 2007 10:38:34 EDT." Message-ID: <200706251905.l5PJ5wgF029978@camembert.async.caltech.edu> Indeed, -g was one of the culprits. I changed it to -gstabs+ and got a bit further... (please scroll down to STEP 2, sorry) Tony Hosking writes: >Sounds like we really need some work done in this area. I very >rarely use the build scripts, since I bootstrap manually from old >compilers to new compilers rather than use the scripts. I suggest >the following approach, which I hope you will try, and then report >back on. > >Install the bootstrap compiler as you did originally: > >> rm -rf /usr/local/cm3/* >> >> cd ~/cm3-cvs >> mkdir boot >> cd boot >> tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz >> ./cminstall > >Now you will have some kind of cm3 installed, presumably in /usr/ >local/cm3/bin/cm3. > >Make sure you have a fresh CVS checkout in directory cm3 (let's >assume this is in your home directory ~/cm3). Also, make sure you >have an up-to-date version of the CM3 backend compiler cm3cg >installed by executing the following: > >STEP 0: > >export CM3=/usr/local/cm3/bin/cm3 >cd ~/cm3/m3-sys/m3cc >$CM3 >$CM3 -ship > >You can skip this last step if you know your backend compiler is up >to date. > >Now, let's build the new compiler from scratch (this is the sequence >I use regularly to test changes to the run-time system whenever I >make them): > >STEP 1: > >cd ~/cm3/m3-libs/m3core >$CM3 >$CM3 -ship >cd ~/cm3/m3-libs/libm3 >$CM3 >$CM3 -ship >cd ~/cm3/m3-sys/m3middle >$CM3 >$CM3 -ship >cd ~/cm3/m3-sys/m3linker >$CM3 >$CM3 -ship >cd ~/cm3/m3-sys/m3front >$CM3 >$CM3 -ship >cd ~/cm3/m3-sys/m3quake >$CM3 >$CM3 -ship >cd ~/cm3/m3-sys/cm3 >$CM3 >$CM3 -ship > >At this point you should have a bootstrapped version of cm3 installed >in the directory /usr/local/cm3/pkg/cm3/TARGET/cm3 (where TARGET is >the CM3 target platform you are building on -- e.g., LINUXLIBC6, >PPC_DARWIN, ...). Note that this did not overwrite your original >installed compiler in /usr/local/cm3/bin/cm3. We >are now going to test the new compiler, which was built using the old >compiler, by bootstrapping it one more time. > > From here on out, please replace TARGET with your target platform as >appropriate. > >STEP 2: > >export CM3=/usr/local/cm3/pkg/cm3/TARGET/cm3 >cd ~/cm3/scripts >./do-cm3-std.sh realclean >REPEAT STEP 1 to rebuild the libraries and the compiler using the >STEP 1 bootstrap compiler. > >Now you have a STEP 2 bootstrap compiler installed in /usr/local/cm3/ >pkg/cm3/TARGET/cm3. Let's assume the new compiler now works properly >since it successfully bootstrapped itself, but to be sure we can now >use it to rebuild the world: Ok, I got this far. I built the step 1 (m3core...cm3), set my compiler to the newly-built compiler, and rebuilt (m3core...cm3). No errors anywhere, beautiful. > >cd ~/cm3/scripts >./do-cm3-std.sh realclean >./do-cm3-std.sh buildship Here's where it dies: ./do-cm3-std.sh buildship CM3C = /big/home2/mika/2/cm3-cvs/fresh/cm3/scripts/pkgmap.sh -c "/usr/local/cm3/pkg/cm3/FreeBSD4/cm3 -build -DROOT='/big/home2/mika/2/cm3-cvs/fresh/cm3' && /usr/local/cm3/pkg/cm3/FreeBSD4/cm3 -ship -DROOT='/big/home2/mika/2/cm3-cvs/fresh/cm3' " m3core libm3 patternmatching m3middle m3quake m3scanner m3tools m3cgcat m3cggen m3gdb m3bundle arithmetic bitvector digraph parseparams realgeometry set slisp sortedtableextras table-list tempfiles tcp udp libsio libbuf debug listfuncs embutils m3tk-misc http binIO commandrw m3tk mtex m3totex m3tohtml m3scan m3markup m3browser cmpdir cmpfp dirfp uniq netobj netobjd stubgen events rdwr sharedobj sharedobjgen odbc postgres95 db smalldb stable stablegen X11R4 ui PEX vbtkit cmvbt jvideo videovbt web formsvbtpixmaps formsvbt formsview formsedit codeview mg mgkit opengl anim3D zeus m3zume synloc synex metasyn obliqrt obliqparse obliqprint obliq obliqlibemb obliqlibm3 obliqlibui obliqlibanim obliqsrvstd obliqsrvui obliqbinmin obliqbinstd obliqbin! ui obliqbinanim visualobliq vocgi voquery vorun webvbt recordheap rehearsecode replayheap showheap shownew showthread pkl-fonts juno-machine juno-compiler juno-app cube calculator fisheye mentor === package /big/home2/mika/2/cm3-cvs/fresh/cm3/m3-libs/m3core === +++ /usr/local/cm3/pkg/cm3/FreeBSD4/cm3 -build -DROOT='/big/home2/mika/2/cm3-cvs/fresh/cm3' && /usr/local/cm3/pkg/cm3/FreeBSD4/cm3 -ship -DROOT='/big/home2/mika/2/cm3-cvs/fresh/cm3' +++ *** *** runtime error: *** <*ASSERT*> failed. *** file "../src/runtime/common/RTCollector.m3", line 690 *** *** *** runtime error: *** <*ASSERT*> failed. *** file "../src/runtime/common/RTCollector.m3", line 690 *** Abort trap *** execution of failed *** This time it appears to be cm3 itself that's crashing: (310)rover:~/cm3-cvs/fresh/cm3/m3-libs/m3core>$CM3 -keep -commands *** *** runtime error: *** <*ASSERT*> failed. *** file "../src/runtime/common/RTCollector.m3", line 690 *** *** *** runtime error: *** <*ASSERT*> failed. *** file "../src/runtime/common/RTCollector.m3", line 690 *** Abort What follows is what m3gdb has to say about this. I take it that the last error message comes from my -gstabs+ option. m3gdb doesn't like this new binary: it can't print variables and sometimes crashes trying. Would I have better luck with "-gstabs", do you think? Or do I just need to fix the compile process and install a new m3gdb? (I take it there is a newer one: mine is very old. But I remember that m3gdb doesn't always work that well...) Mika #1 16_81a619d in __raise () #2 16_81a3b8f in abort () #3 16_8178d16 in RTOS.Crash () at RTOS.m3:20 #4 16_8171fd2 in RTProcess.Crash (msg=NIL) at RTProcess.m3:65 #5 16_8170428 in RTError.EndError (crash=TRUE) at RTError.m3:115 #6 16_8170169 in RTError.MsgS (file=16_820a508, line=690, msgA=16_820bfe8, msgB=16_8208170, msgC=16_820bfe8) at RTError.m3:40 #7 16_81707ec in RTException.Crash (a=RECORD exception = 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; END, raises=FALSE, rte=16_8208020) at RTException.m3:79 #8 16_8170550 in RTException.DefaultBackstop (a=RECORD exception = 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; END, raises=FALSE) at RTException.m3:39 #9 16_81704b4 in RTException.InvokeBackstop (a=RECORD exception = 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; END, raises=FALSE) at RTException.m3:25 #10 16_8179ca7 in RTException.Raise (act=RECORD exception = 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; END) at RTExFrame.m3:29 #11 16_81705f0 in RTException.DefaultBackstop (a=RECORD exception = 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; END, raises=FALSE) at RTException.m3:47 #12 16_81704b4 in RTException.InvokeBackstop (a=RECORD exception = 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; END, raises=FALSE) at RTException.m3:25 #13 16_8179ca7 in RTException.Raise (act=RECORD exception = 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; END) at RTExFrame.m3:29 #14 16_8160bba in RTHooks.ReportFault (module=16_820a680, info=22080) at RTHooks.m3:110 #15 16_816e251 in _m3_fault (arg=22080) at RTCollector.m3:0 #16 16_81649b7 in RTCollector.CollectorOn () at RTCollector.m3:690 #17 16_816b595 in RTHooks.CheckLoadTracedRef (ref=16_681b3300) at RTCollector.m3:2296 #18 16_814400c in Stdio.ShutDown () at Stdio.m3:43 #19 16_8171f51 in RTProcess.InvokeExitors () at RTProcess.m3:40 #20 16_8171fc5 in RTProcess.Crash (msg=NIL) at RTProcess.m3:61 #21 16_8170428 in RTError.EndError (crash=TRUE) at RTError.m3:115 #22 16_8170169 in RTError.MsgS (file=16_820a508, line=690, msgA=16_820bfe8, msgB=16_8208170, msgC=16_820bfe8) at RTError.m3:40 #23 16_81707ec in RTException.Crash (a=RECORD exception = 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; END, raises=FALSE, rte=16_8208020) at RTException.m3:79 #24 16_8170550 in RTException.DefaultBackstop (a=RECORD exception = 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; END, raises=FALSE) at RTException.m3:39 #25 16_81704b4 in RTException.InvokeBackstop (a=RECORD exception = 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; END, raises=FALSE) at RTException.m3:25 #26 16_8179ca7 in RTException.Raise (act=RECORD exception = 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; END) at RTExFrame.m3:29 #27 16_81705f0 in RTException.DefaultBackstop (a=RECORD exception = 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; END, raises=FALSE) at RTException.m3:47 #28 16_81704b4 in RTException.InvokeBackstop (a=RECORD exception = 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; END, raises=FALSE) at RTException.m3:25 #29 16_8179ca7 in RTException.Raise (act=RECORD exception = 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; END) at RTExFrame.m3:29 #30 16_8160bba in RTHooks.ReportFault (module=16_820a680, info=22080) at RTHooks.m3:110 #31 16_816e251 in _m3_fault (arg=22080) at RTCollector.m3:0 #32 16_81649b7 in RTCollector.CollectorOn () at RTCollector.m3:690 #33 16_816b595 in RTHooks.CheckLoadTracedRef (ref=16_681b3004) at RTCollector.m3:2296 #34 16_817c41e in ThreadF.ProcessStacks (p=16_816415e) at ThreadPosix.m3:522 #35 16_8165213 in RTCollector.CollectSomeInStateZero () at RTCollector.m3:845 #36 16_8164d2c in RTCollector.CollectSome () at RTCollector.m3:741 #37 16_816487b in RTCollector.CollectEnough () at RTCollector.m3:659 #38 16_81673cd in RTHeapRep.AllocTraced (def=16_81f8f38, dataSize=8200, dataAlignment=4, initProc=16_bfbfe0f4, pool=RECORD desc = RECORD space = Current; generation = Younger; pure = FALSE; note = Allocated; gray = FALSE; clean = FALSE; continued = FALSE; link = 0; END; notAfter = {Copied}; page = 0; stack = 0; next = NIL; limit = NIL; busy = FALSE; END) at RTCollector.m3:1417 #39 16_816218e in RTAllocator.GetOpenArray (def=16_81f8f38, s=[2048]) at RTAllocator.m3:308 #40 16_8161737 in RTHooks.AllocateOpenArray (defn=16_81f8f38, s=[2048]) at RTAllocator.m3:156 #41 16_8129d56 in M3ID_M3 (mode=1) at M3ID.m3:40 #42 16_816f802 in RTLinker.RunMainBody (m=16_81f8cc0) at RTLinker.m3:399 #43 16_816f6ca in RTLinker.RunMainBody (m=16_81c0880) at RTLinker.m3:379 #44 16_816f6ca in RTLinker.RunMainBody (m=16_81c06a0) at RTLinker.m3:379 #45 16_816f6ca in RTLinker.RunMainBody (m=16_81bc920) at RTLinker.m3:379 #46 16_816ed2d in RTLinker.AddUnitI (m=16_81bc920) at RTLinker.m3:113 #47 16_816edb4 in RTLinker.AddUnit (b=16_8065527) at RTLinker.m3:122 module "_m3main": missing debug info for global data (gdb) up 32 #32 16_81649b7 in RTCollector.CollectorOn () at RTCollector.m3:690 RTCollector.m3:690: No such file or directory. (gdb) Suspended (360)rover:~/cm3-cvs/fresh/cm3/m3-libs/m3core>find ../.. -name RTCollector.m3 ../../m3-libs/m3core/src/runtime/common/RTCollector.m3 (361)rover:~/cm3-cvs/fresh/cm3/m3-libs/m3core>fg m3gdb /usr/local/cm3/pkg/cm3/FreeBSD4/cm3 (gdb) dir ../../m3-libs/m3core/src/runtime/common/ Source directories searched: /big/home2/mika/2/cm3-cvs/fresh/cm3/m3-libs/m3core/../../m3-libs/m3core/src/runtime/common:$cdir:$cwd (gdb) list 685 VAR timeOnEntry, timeOnExit: Time.T; (* time of collector entry/exit *) 686 687 PROCEDURE CollectorOn () = 688 (* LL >= RTOS.LockHeap *) 689 BEGIN 690 <* ASSERT NOT collectorOn *> 691 collectorOn := TRUE; 692 693 IF incremental AND NOT RTLinker.incremental 694 OR generational AND NOT RTLinker.generational THEN (gdb) print collectorOn can't find identifier: collectorOn (gdb) up #33 16_816b595 in RTHooks.CheckLoadTracedRef (ref=16_681b3004) at RTCollector.m3:2296 2296 CollectorOn(); (gdb) print collectorOn can't find identifier: collectorOn (gdb) print ref Segmentation fault > >Assuming this succeeded then we can be pretty sure /usr/local/cm3/pkg/ >cm3/TARGET/cm3 is good, so we can make it our default compiler by >replacing the original /usr/local/cm3/bin/cm3: > >cp $CM3 /usr/local/cm3/bin/cm3 > >On Jun 23, 2007, at 2:38 PM, Mika Nystrom wrote: > >> Ok, I'm sorry if I seem a bit dimwitted in the morning like this, >> but how exactly does one get started? I wish there were a file called >> "GETTING_STARTED" or something like that in scripts... >> >> My Mac is very slow so I switched to my FreeBSD/i386 system (which has >> PM3 happily installed on it) and tried to install CM3 from scratch. >> Here are the exact commands I typed. >> >> >> rm -rf /usr/local/cm3/* >> >> cd ~/cm3-cvs >> mkdir boot >> cd boot >> tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz >> ./cminstall >> >> # now I seem to have some kind of cm3 installed, /usr/local/cm3/bin/ >> cm3 >> >> cd cm3 # location of my CM3 checkout >> cvs update -d . >> >> cd scripts >> ./boot-cm3-with-m3.sh realclean >> ./do-cm3-std.sh realclean >> >> ./upgrade.sh # fails here, libm3 not compiled >> ./boot-cm3-with-m3.sh build # builds cm3, but fails on >> cminstall, patternmatching not built >> >> ./do-cm3-std.sh build # OK >> ./do-cm3-std.sh buildship # OK >> >> ./boot-cm3-with-m3.sh realclean # start over >> ./boot-cm3-with-m3.sh build # OK >> ./boot-cm3-with-m3.sh buildship # OK >> >> ./do-cm3-std.sh realclean # OK >> ./do-cm3-std.sh build # dies miserably... maybe the >> compiler can't handle the new libraries? >> >> ./install-cm3-compiler.sh upgrade # OK, new cm3 binary installed >> >> After all that, "game over." I have a cm3 that segfaults. >> >> Text.i3: In function 'Text_I3': >> Text.i3:81: internal compiler error: Segmentation fault >> Please submit a full bug report, >> with preprocessed source if appropriate. >> See for instructions. >> compilation failed => not building library "libm3core.a" >> Fatal Error: package build failed >> *** execution of failed *** >> >> I can't seem to get either m3gdb or gdb to say anything reasonable >> either. ktrace shows nothing out of the ordinary. >> >> ----- >> >> Meanwhile, my Mac got through "do-cm3-std.sh realclean" and >> "do-cm3-std.sh buildship" but my compiles are still dying on the >> same assertion tickled by ktok. On that machine I have INSTALLROOT >> set to ~/cm3, but hopefully that has nothing to do with it... >> >> ----- >> >> Does do-cm3-std.sh realclean clean EVERYTHING? If so my Mac should >> really have a fresh setup. The FreeBSD, I am not sure, maybe the >> old binary version just doesn't work right? Of course I could try >> bootstrapping with PM3 as well... but really, there's an "approved" >> process to get from a blank system, no? >> >> Mika >> >> >> >> >> Tony Hosking writes: >>> That sounds like you forgot to execute "do-cm3-std.sh realclean" >>> before initiating the build. These sorts of errors sometimes arise >>> if there are old build directories lying around. >>> >>> >>> On Jun 23, 2007, at 3:34 AM, Mika Nystrom wrote: >>> >>>> Hello everyone, >>>> >>>> I am in the process of trying to consolidate build systems for a >>>> few software packages I am maintaining. Currently, I am using an >>>> old PM3 on FreeBSD4, an ancient PM3 (from Klagenfurt?) for Windows >>>> (NT386GNU), and trying to get the latest CM3 from cvs up and >>>> compiling >>>> things on PPC_DARWIN. Ideally, I'd like to standardize everything >>>> on the new PM3---mainly so that I can use pickles (and Network >>>> Objects) across all three systems. I'd also like to add Linux to >>>> the mix. >>>> >>>> It's natural for me to start with CM3 on Darwin, as there's no >>>> alternative. But I am getting some assertions failing. Everything >>>> in the CM3 distribution compiles fine, and I believe I have compiled >>>> the libraries a few times (that is, including with themselves), and >>>> updated the compiler, too (using boot-cm3-with-m3.sh). I just cvs >>>> updated tonight. >>>> >>>> Here's what I'm running into: >>>> >>>> /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/CHP.t -o >>>> CHPTok.i3 >>>> >>>> >>>> *** >>>> *** runtime error: >>>> *** <*ASSERT*> failed. >>>> *** file "../src/runtime/common/RTCollector.m3", line 2314 >>>> *** >>>> >>>> Abort >>>> >>>> Also: >>>> >>>> /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/PRS.t -o >>>> PRSTok.i3 >>>> Illegal instruction >>>> >>>> As you can see, these things are coming from the caltech_parser. I >>> am using >>>> our local version, but I don't think it is very different from what >>>> is in the >>>> CM3 tree. >>>> >>>> >>>> Examining the first error (the failed assertion) more closely, I see >>>> the following: >>>> >>>> (gdb) list >>>> 108 wr := FileWr.Open(Pathname.ReplaceExt(tp.out, "m3")); >>>> 109 EXCEPT OSError.E => >>>> 110 Debug.Error("Cannot open tok implementation output >>>> file: " & >>>> 111 Pathname.ReplaceExt(tp.out, "m3")); >>>> 112 END; >>>> 113 Wr.PutText(wr, subs.apply(Bundle.Get(Form, >>>> "tokform.m3"))); >>>> 114 Wr.Close(wr); >>>> 115 END Main. >>>> (gdb) where >>>> #0 0x9004308c in kill () >>>> #1 0x9009fb3c in abort () >>>> #2 0x00096f50 in RTOS__Crash () at RTOS.m3:20 >>>> #3 0x0005bd40 in RTProcess__Crash (M3_Bd56fi_msg=0x0) at >>>> RTProcess.m3:65 >>>> #4 0x0008e4e0 in RTError__EndError (M3_AicXUJ_crash=1 '\001') at >>>> RTError.m3:115 >>>> #5 0x0008e08c in RTError__MsgS (M3_AJWxb1_file=0xc63d8, >>>> M3_AcxOUs_line=2314, M3_Bd56fi_msgA=0xca3d0, >>>> M3_Bd56fi_msgB=0xcbe90, M3_Bd56fi_msgC=0xca3d0) at RTError.m3:40 >>>> #6 0x0008eb88 in RTException__Crash (M3_Cblw37_a=0xbfffee00, >>>> M3_AicXUJ_raises=0 '\0', M3_AJWxb1_rte=0xcb538) at RTException.m3:79 >>>> #7 0x0008e74c in RTException__DefaultBackstop >>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>> RTException.m3:39 >>>> #8 0x0008e614 in RTException__InvokeBackstop >>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>> RTException.m3:25 >>>> #9 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at >>>> RTExFrame.m3:29 >>>> #10 0x0008e840 in RTException__DefaultBackstop >>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>> RTException.m3:47 >>>> #11 0x0008e614 in RTException__InvokeBackstop >>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>> RTException.m3:25 >>>> #12 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at >>>> RTExFrame.m3:29 >>>> #13 0x00079740 in RTHooks__ReportFault (M3_AJWxb1_module=0xb3eb8, >>>> M3_AcxOUs_info=74048) at RTHooks.m3:110 >>>> #14 0x0006ff4c in _m3_fault (M3_AcxOUs_arg=74048) >>>> #15 0x0006bcf4 in RTHooks__CheckStoreTraced >>>> (M3_Af40ku_ref=0xb2415c) at RTCollector.m3:2314 >>>> #16 0x000700e4 in ThreadPThread__InnerLockMutex >>>> (M3_AYIbX3_m=0xb2415c, M3_BXP32l_self=0xb24014) at >>>> ThreadPThread.m3:126 >>>> #17 0x000704d8 in ThreadPThread__LockMutex (M3_AYIbX3_m=0xb2415c) >>>> at ThreadPThread.m3:153 >>>> #18 0x00019b24 in Wr__PutText (M3_BxxOH1_wr=0xb2415c, >>>> M3_Bd56fi_t=0xb44d5c) at Wr.m3:93 >>>> #19 0x00003f74 in Main_M3 (M3_AcxOUs_mode=1) at Main.m3:113 >>>> #20 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at >>>> RTLinker.m3:399 >>>> #21 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at >>>> RTLinker.m3:113 >>>> #22 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at >>>> RTLinker.m3:122 >>>> #23 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) >>>> at _m3main.mc:4 >>>> (gdb) >>>> >>>> The second error: >>>> >>>> Program received signal EXC_BAD_INSTRUCTION, Illegal instruction/ >>>> operand. >>>> 0x00b111ac in ?? () >>>> (gdb) where >>>> #0 0x00b111ac in ?? () >>>> #1 0x0001214c in TextSubs__Apply (M3_CN69dV_self=0xb26450, >>>> M3_Bd56fi_src=0xb21cec) at TextSubs.m3:63 >>>> #2 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at >>>> RTLinker.m3:399 >>>> #3 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at >>>> RTLinker.m3:113 >>>> #4 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at >>>> RTLinker.m3:122 >>>> #5 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) >>>> at _m3main.mc:4 >>>> (gdb) list >>>> 58 BEGIN >>>> 59 WHILE pos < textLen DO >>>> 60 c := Text.GetChar(src, pos); >>>> 61 IF c IN self.starts THEN >>>> 62 (* S("analysing: " & Text.Sub(src, pos), >>>> DebugLevel); *) >>>> 63 iter := self.tbl.iterateOrdered(); >>>> 64 ind := pos; >>>> 65 original := ""; >>>> 66 REPEAT >>>> 67 INC(ind); >>>> (gdb) >>>> >>>> Any ideas what to look at? >>>> >>>> I don't know if this is relevant: >>>> >>>> [lapdog:~/t/cit_parse/PPC_DARWIN] mika% uname -a >>>> Darwin lapdog.local 7.9.0 Darwin Kernel Version 7.9.0: Wed Mar 30 >>>> 20:11:17 PST 2005; root:xnu/xnu-517.12.7.obj~1/RELEASE_PPC Power >>>> Macintosh powerpc >>>> [lapdog:~/t/cit_parse/PPC_DARWIN] mika% gcc -v >>>> Reading specs from /usr/libexec/gcc/darwin/ppc/3.3/specs >>>> Thread model: posix >>>> gcc version 3.3 20030304 (Apple Computer, Inc. build 1666) >>>> >>>> Mika >>>> >>>> P.S. Am I correct in assuming that I can get CM3 to build on >>>> Windows? >>>> I could switch to CM3 on Unix any time, of course, but I've never >>>> had luck with it on Windows, which is why I am using the ancient >>>> Klagenfurt PM3, which comes on 40-odd "floppies" and a .EXE that >>>> unpacks them into C: (and installation instructions only in German). >>>> If CM3 doesn't work on Windows, I am essentially wasting my time, >>>> as the current project I am working on absolutely requires that the >>>> software run on Windows 2003 Server (yes, it sucks, but what can >>>> you do?) The very old PM3 at least kind of hobbles along on this >>>> platform---actually, better than that; it does Trestle natively >>>> under Windows (no X required), at least on SOME Windows machines. >>>> >>>> P.P.S. Sorry for all the postscripts, but is it true that the >>>> build system has been changed so that building with overrides >>>> (cm3 -x) >>>> requires having the compiler sources available? It didn't use to >>>> be that way, but I can't get Network Objects to work with overrides >>>> now unless I have the sources available... It's a bit of a pain >>>> because it means that every user has to have the compiler sources, >>>> or else ship everything, or was that not the intention? From hosking at cs.purdue.edu Mon Jun 25 23:59:56 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Mon, 25 Jun 2007 17:59:56 -0400 Subject: [M3devel] strange errors... In-Reply-To: <200706251905.l5PJ5wgF029978@camembert.async.caltech.edu> References: <200706251905.l5PJ5wgF029978@camembert.async.caltech.edu> Message-ID: Hi Mika, This is a bug I was unaware of that presents when the new incremental/ generational GC runs with the old user-level threads code. I need to spend some time looking into this, but for now I suggest you invoke cm3-new with the @M3noincremental runtime option and see if you get any further. You can simply do: export CM3="/usr/local/cm3/pkg/cm3/FreeBSD4/cm3 @M3noincremental" cd ~/cm3/scripts ./do-cm3-std.sh realclean ./do-cm3-std.sh buildship On Jun 25, 2007, at 3:05 PM, Mika Nystrom wrote: > Indeed, -g was one of the culprits. I changed it to -gstabs+ and > got a bit further... (please scroll down to STEP 2, sorry) > > Tony Hosking writes: >> Sounds like we really need some work done in this area. I very >> rarely use the build scripts, since I bootstrap manually from old >> compilers to new compilers rather than use the scripts. I suggest >> the following approach, which I hope you will try, and then report >> back on. >> >> Install the bootstrap compiler as you did originally: >> >>> rm -rf /usr/local/cm3/* >>> >>> cd ~/cm3-cvs >>> mkdir boot >>> cd boot >>> tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz >>> ./cminstall >> >> Now you will have some kind of cm3 installed, presumably in /usr/ >> local/cm3/bin/cm3. >> >> Make sure you have a fresh CVS checkout in directory cm3 (let's >> assume this is in your home directory ~/cm3). Also, make sure you >> have an up-to-date version of the CM3 backend compiler cm3cg >> installed by executing the following: >> >> STEP 0: >> >> export CM3=/usr/local/cm3/bin/cm3 >> cd ~/cm3/m3-sys/m3cc >> $CM3 >> $CM3 -ship >> >> You can skip this last step if you know your backend compiler is up >> to date. >> >> Now, let's build the new compiler from scratch (this is the sequence >> I use regularly to test changes to the run-time system whenever I >> make them): >> >> STEP 1: >> >> cd ~/cm3/m3-libs/m3core >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-libs/libm3 >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-sys/m3middle >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-sys/m3linker >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-sys/m3front >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-sys/m3quake >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-sys/cm3 >> $CM3 >> $CM3 -ship >> >> At this point you should have a bootstrapped version of cm3 installed >> in the directory /usr/local/cm3/pkg/cm3/TARGET/cm3 (where TARGET is >> the CM3 target platform you are building on -- e.g., LINUXLIBC6, >> PPC_DARWIN, ...). Note that this did not overwrite your original >> installed compiler in /usr/local/cm3/bin/cm3. We >> are now going to test the new compiler, which was built using the old >> compiler, by bootstrapping it one more time. >> >> From here on out, please replace TARGET with your target platform as >> appropriate. >> >> STEP 2: >> >> export CM3=/usr/local/cm3/pkg/cm3/TARGET/cm3 >> cd ~/cm3/scripts >> ./do-cm3-std.sh realclean >> REPEAT STEP 1 to rebuild the libraries and the compiler using the >> STEP 1 bootstrap compiler. >> >> Now you have a STEP 2 bootstrap compiler installed in /usr/local/cm3/ >> pkg/cm3/TARGET/cm3. Let's assume the new compiler now works properly >> since it successfully bootstrapped itself, but to be sure we can now >> use it to rebuild the world: > > Ok, I got this far. I built the step 1 (m3core...cm3), set my > compiler to the newly-built compiler, and rebuilt (m3core...cm3). > No errors anywhere, beautiful. > >> >> cd ~/cm3/scripts >> ./do-cm3-std.sh realclean >> ./do-cm3-std.sh buildship > > Here's where it dies: > > ./do-cm3-std.sh buildship > CM3C = > /big/home2/mika/2/cm3-cvs/fresh/cm3/scripts/pkgmap.sh -c "/usr/ > local/cm3/pkg/cm3/FreeBSD4/cm3 -build -DROOT='/big/home2/mika/2/ > cm3-cvs/fresh/cm3' && /usr/local/cm3/pkg/cm3/FreeBSD4/cm3 -ship - > DROOT='/big/home2/mika/2/cm3-cvs/fresh/cm3' " m3core libm3 > patternmatching m3middle m3quake m3scanner m3tools m3cgcat m3cggen > m3gdb m3bundle arithmetic bitvector digraph parseparams > realgeometry set slisp sortedtableextras table-list tempfiles tcp > udp libsio libbuf debug listfuncs embutils m3tk-misc http binIO > commandrw m3tk mtex m3totex m3tohtml m3scan m3markup m3browser > cmpdir cmpfp dirfp uniq netobj netobjd stubgen events rdwr > sharedobj sharedobjgen odbc postgres95 db smalldb stable stablegen > X11R4 ui PEX vbtkit cmvbt jvideo videovbt web formsvbtpixmaps > formsvbt formsview formsedit codeview mg mgkit opengl anim3D zeus > m3zume synloc synex metasyn obliqrt obliqparse obliqprint obliq > obliqlibemb obliqlibm3 obliqlibui obliqlibanim obliqsrvstd > obliqsrvui obliqbinmin obliqbinstd obliqbin! > ui obliqbinanim visualobliq vocgi voquery vorun webvbt recordheap > rehearsecode replayheap showheap shownew showthread pkl-fonts juno- > machine juno-compiler juno-app cube calculator fisheye mentor > === package /big/home2/mika/2/cm3-cvs/fresh/cm3/m3-libs/m3core === > +++ /usr/local/cm3/pkg/cm3/FreeBSD4/cm3 -build -DROOT='/big/home2/ > mika/2/cm3-cvs/fresh/cm3' && /usr/local/cm3/pkg/cm3/FreeBSD4/cm3 - > ship -DROOT='/big/home2/mika/2/cm3-cvs/fresh/cm3' +++ > > > *** > *** runtime error: > *** <*ASSERT*> failed. > *** file "../src/runtime/common/RTCollector.m3", line 690 > *** > > > > *** > *** runtime error: > *** <*ASSERT*> failed. > *** file "../src/runtime/common/RTCollector.m3", line 690 > *** > > Abort trap > *** execution of failed *** > > This time it appears to be cm3 itself that's crashing: > > (310)rover:~/cm3-cvs/fresh/cm3/m3-libs/m3core>$CM3 -keep -commands > > > *** > *** runtime error: > *** <*ASSERT*> failed. > *** file "../src/runtime/common/RTCollector.m3", line 690 > *** > > > > *** > *** runtime error: > *** <*ASSERT*> failed. > *** file "../src/runtime/common/RTCollector.m3", line 690 > *** > > Abort > > What follows is what m3gdb has to say about this. I take it that > the last error message comes from my -gstabs+ option. m3gdb doesn't > like this new binary: it can't print variables and sometimes crashes > trying. Would I have better luck with "-gstabs", do you think? Or > do I just need to fix the compile process and install a new m3gdb? > (I take it there is a newer one: mine is very old. But I remember > that m3gdb doesn't always work that well...) > > Mika > > #1 16_81a619d in __raise () > #2 16_81a3b8f in abort () > #3 16_8178d16 in RTOS.Crash () at RTOS.m3:20 > #4 16_8171fd2 in RTProcess.Crash (msg=NIL) at RTProcess.m3:65 > #5 16_8170428 in RTError.EndError (crash=TRUE) at RTError.m3:115 > #6 16_8170169 in RTError.MsgS (file=16_820a508, line=690, > msgA=16_820bfe8, msgB=16_8208170, msgC=16_820bfe8) at RTError.m3:40 > #7 16_81707ec in RTException.Crash (a=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; > END, raises=FALSE, rte=16_8208020) at RTException.m3:79 > #8 16_8170550 in RTException.DefaultBackstop (a=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; > un_arg = NIL; END, raises=FALSE) at RTException.m3:39 > #9 16_81704b4 in RTException.InvokeBackstop (a=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; > un_arg = NIL; END, raises=FALSE) at RTException.m3:25 > #10 16_8179ca7 in RTException.Raise (act=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; > END) at RTExFrame.m3:29 > #11 16_81705f0 in RTException.DefaultBackstop (a=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; > un_arg = NIL; END, raises=FALSE) at RTException.m3:47 > #12 16_81704b4 in RTException.InvokeBackstop (a=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; > un_arg = NIL; END, raises=FALSE) at RTException.m3:25 > #13 16_8179ca7 in RTException.Raise (act=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; > END) at RTExFrame.m3:29 > #14 16_8160bba in RTHooks.ReportFault (module=16_820a680, > info=22080) at RTHooks.m3:110 > #15 16_816e251 in _m3_fault (arg=22080) at RTCollector.m3:0 > #16 16_81649b7 in RTCollector.CollectorOn () at RTCollector.m3:690 > #17 16_816b595 in RTHooks.CheckLoadTracedRef (ref=16_681b3300) at > RTCollector.m3:2296 > #18 16_814400c in Stdio.ShutDown () at Stdio.m3:43 > #19 16_8171f51 in RTProcess.InvokeExitors () at RTProcess.m3:40 > #20 16_8171fc5 in RTProcess.Crash (msg=NIL) at RTProcess.m3:61 > #21 16_8170428 in RTError.EndError (crash=TRUE) at RTError.m3:115 > #22 16_8170169 in RTError.MsgS (file=16_820a508, line=690, > msgA=16_820bfe8, msgB=16_8208170, msgC=16_820bfe8) at RTError.m3:40 > #23 16_81707ec in RTException.Crash (a=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; > END, raises=FALSE, rte=16_8208020) at RTException.m3:79 > #24 16_8170550 in RTException.DefaultBackstop (a=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; > un_arg = NIL; END, raises=FALSE) at RTException.m3:39 > #25 16_81704b4 in RTException.InvokeBackstop (a=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; > un_arg = NIL; END, raises=FALSE) at RTException.m3:25 > #26 16_8179ca7 in RTException.Raise (act=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; > END) at RTExFrame.m3:29 > #27 16_81705f0 in RTException.DefaultBackstop (a=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; > un_arg = NIL; END, raises=FALSE) at RTException.m3:47 > #28 16_81704b4 in RTException.InvokeBackstop (a=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; > un_arg = NIL; END, raises=FALSE) at RTException.m3:25 > #29 16_8179ca7 in RTException.Raise (act=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; > END) at RTExFrame.m3:29 > #30 16_8160bba in RTHooks.ReportFault (module=16_820a680, > info=22080) at RTHooks.m3:110 > #31 16_816e251 in _m3_fault (arg=22080) at RTCollector.m3:0 > #32 16_81649b7 in RTCollector.CollectorOn () at RTCollector.m3:690 > #33 16_816b595 in RTHooks.CheckLoadTracedRef (ref=16_681b3004) at > RTCollector.m3:2296 > #34 16_817c41e in ThreadF.ProcessStacks (p=16_816415e) at > ThreadPosix.m3:522 > #35 16_8165213 in RTCollector.CollectSomeInStateZero () at > RTCollector.m3:845 > #36 16_8164d2c in RTCollector.CollectSome () at RTCollector.m3:741 > #37 16_816487b in RTCollector.CollectEnough () at RTCollector.m3:659 > #38 16_81673cd in RTHeapRep.AllocTraced (def=16_81f8f38, > dataSize=8200, dataAlignment=4, initProc=16_bfbfe0f4, pool=RECORD > desc = RECORD space = Current; generation = Younger; pure = FALSE; > note = Allocated; gray = FALSE; clean = FALSE; continued = > FALSE; link = 0; END; notAfter = {Copied}; page = 0; stack = 0; > next = NIL; limit = NIL; busy = FALSE; END) > at RTCollector.m3:1417 > #39 16_816218e in RTAllocator.GetOpenArray (def=16_81f8f38, s= > [2048]) at RTAllocator.m3:308 > #40 16_8161737 in RTHooks.AllocateOpenArray (defn=16_81f8f38, s= > [2048]) at RTAllocator.m3:156 > #41 16_8129d56 in M3ID_M3 (mode=1) at M3ID.m3:40 > #42 16_816f802 in RTLinker.RunMainBody (m=16_81f8cc0) at > RTLinker.m3:399 > #43 16_816f6ca in RTLinker.RunMainBody (m=16_81c0880) at > RTLinker.m3:379 > #44 16_816f6ca in RTLinker.RunMainBody (m=16_81c06a0) at > RTLinker.m3:379 > #45 16_816f6ca in RTLinker.RunMainBody (m=16_81bc920) at > RTLinker.m3:379 > #46 16_816ed2d in RTLinker.AddUnitI (m=16_81bc920) at RTLinker.m3:113 > #47 16_816edb4 in RTLinker.AddUnit (b=16_8065527) at RTLinker.m3:122 > module "_m3main": missing debug info for global data > > (gdb) up 32 > #32 16_81649b7 in RTCollector.CollectorOn () at RTCollector.m3:690 > RTCollector.m3:690: No such file or directory. > (gdb) > Suspended > (360)rover:~/cm3-cvs/fresh/cm3/m3-libs/m3core>find ../.. -name > RTCollector.m3 > ../../m3-libs/m3core/src/runtime/common/RTCollector.m3 > (361)rover:~/cm3-cvs/fresh/cm3/m3-libs/m3core>fg > m3gdb /usr/local/cm3/pkg/cm3/FreeBSD4/cm3 > (gdb) dir ../../m3-libs/m3core/src/runtime/common/ > Source directories searched: /big/home2/mika/2/cm3-cvs/fresh/cm3/m3- > libs/m3core/../../m3-libs/m3core/src/runtime/common:$cdir:$cwd > (gdb) list > 685 VAR timeOnEntry, timeOnExit: Time.T; (* time of > collector entry/exit *) > 686 > 687 PROCEDURE CollectorOn () = > 688 (* LL >= RTOS.LockHeap *) > 689 BEGIN > 690 <* ASSERT NOT collectorOn *> > 691 collectorOn := TRUE; > 692 > 693 IF incremental AND NOT RTLinker.incremental > 694 OR generational AND NOT RTLinker.generational THEN > (gdb) print collectorOn > can't find identifier: collectorOn > (gdb) up > #33 16_816b595 in RTHooks.CheckLoadTracedRef (ref=16_681b3004) at > RTCollector.m3:2296 > 2296 CollectorOn(); > (gdb) print collectorOn > can't find identifier: collectorOn > (gdb) print ref > Segmentation fault > > > > >> >> Assuming this succeeded then we can be pretty sure /usr/local/cm3/ >> pkg/ >> cm3/TARGET/cm3 is good, so we can make it our default compiler by >> replacing the original /usr/local/cm3/bin/cm3: >> >> cp $CM3 /usr/local/cm3/bin/cm3 >> >> On Jun 23, 2007, at 2:38 PM, Mika Nystrom wrote: >> >>> Ok, I'm sorry if I seem a bit dimwitted in the morning like this, >>> but how exactly does one get started? I wish there were a file >>> called >>> "GETTING_STARTED" or something like that in scripts... >>> >>> My Mac is very slow so I switched to my FreeBSD/i386 system >>> (which has >>> PM3 happily installed on it) and tried to install CM3 from scratch. >>> Here are the exact commands I typed. >>> >>> >>> rm -rf /usr/local/cm3/* >>> >>> cd ~/cm3-cvs >>> mkdir boot >>> cd boot >>> tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz >>> ./cminstall >>> >>> # now I seem to have some kind of cm3 installed, /usr/local/cm3/bin/ >>> cm3 >>> >>> cd cm3 # location of my CM3 checkout >>> cvs update -d . >>> >>> cd scripts >>> ./boot-cm3-with-m3.sh realclean >>> ./do-cm3-std.sh realclean >>> >>> ./upgrade.sh # fails here, libm3 not compiled >>> ./boot-cm3-with-m3.sh build # builds cm3, but fails on >>> cminstall, patternmatching not built >>> >>> ./do-cm3-std.sh build # OK >>> ./do-cm3-std.sh buildship # OK >>> >>> ./boot-cm3-with-m3.sh realclean # start over >>> ./boot-cm3-with-m3.sh build # OK >>> ./boot-cm3-with-m3.sh buildship # OK >>> >>> ./do-cm3-std.sh realclean # OK >>> ./do-cm3-std.sh build # dies miserably... maybe the >>> compiler can't handle the new libraries? >>> >>> ./install-cm3-compiler.sh upgrade # OK, new cm3 binary installed >>> >>> After all that, "game over." I have a cm3 that segfaults. >>> >>> Text.i3: In function 'Text_I3': >>> Text.i3:81: internal compiler error: Segmentation fault >>> Please submit a full bug report, >>> with preprocessed source if appropriate. >>> See for instructions. >>> compilation failed => not building library "libm3core.a" >>> Fatal Error: package build failed >>> *** execution of failed *** >>> >>> I can't seem to get either m3gdb or gdb to say anything reasonable >>> either. ktrace shows nothing out of the ordinary. >>> >>> ----- >>> >>> Meanwhile, my Mac got through "do-cm3-std.sh realclean" and >>> "do-cm3-std.sh buildship" but my compiles are still dying on the >>> same assertion tickled by ktok. On that machine I have INSTALLROOT >>> set to ~/cm3, but hopefully that has nothing to do with it... >>> >>> ----- >>> >>> Does do-cm3-std.sh realclean clean EVERYTHING? If so my Mac should >>> really have a fresh setup. The FreeBSD, I am not sure, maybe the >>> old binary version just doesn't work right? Of course I could try >>> bootstrapping with PM3 as well... but really, there's an "approved" >>> process to get from a blank system, no? >>> >>> Mika >>> >>> >>> >>> >>> Tony Hosking writes: >>>> That sounds like you forgot to execute "do-cm3-std.sh realclean" >>>> before initiating the build. These sorts of errors sometimes arise >>>> if there are old build directories lying around. >>>> >>>> >>>> On Jun 23, 2007, at 3:34 AM, Mika Nystrom wrote: >>>> >>>>> Hello everyone, >>>>> >>>>> I am in the process of trying to consolidate build systems for a >>>>> few software packages I am maintaining. Currently, I am using an >>>>> old PM3 on FreeBSD4, an ancient PM3 (from Klagenfurt?) for Windows >>>>> (NT386GNU), and trying to get the latest CM3 from cvs up and >>>>> compiling >>>>> things on PPC_DARWIN. Ideally, I'd like to standardize everything >>>>> on the new PM3---mainly so that I can use pickles (and Network >>>>> Objects) across all three systems. I'd also like to add Linux to >>>>> the mix. >>>>> >>>>> It's natural for me to start with CM3 on Darwin, as there's no >>>>> alternative. But I am getting some assertions failing. >>>>> Everything >>>>> in the CM3 distribution compiles fine, and I believe I have >>>>> compiled >>>>> the libraries a few times (that is, including with themselves), >>>>> and >>>>> updated the compiler, too (using boot-cm3-with-m3.sh). I just cvs >>>>> updated tonight. >>>>> >>>>> Here's what I'm running into: >>>>> >>>>> /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/CHP.t -o >>>>> CHPTok.i3 >>>>> >>>>> >>>>> *** >>>>> *** runtime error: >>>>> *** <*ASSERT*> failed. >>>>> *** file "../src/runtime/common/RTCollector.m3", line 2314 >>>>> *** >>>>> >>>>> Abort >>>>> >>>>> Also: >>>>> >>>>> /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/PRS.t -o >>>>> PRSTok.i3 >>>>> Illegal instruction >>>>> >>>>> As you can see, these things are coming from the >>>>> caltech_parser. I >>>> am using >>>>> our local version, but I don't think it is very different from >>>>> what >>>>> is in the >>>>> CM3 tree. >>>>> >>>>> >>>>> Examining the first error (the failed assertion) more closely, >>>>> I see >>>>> the following: >>>>> >>>>> (gdb) list >>>>> 108 wr := FileWr.Open(Pathname.ReplaceExt(tp.out, "m3")); >>>>> 109 EXCEPT OSError.E => >>>>> 110 Debug.Error("Cannot open tok implementation output >>>>> file: " & >>>>> 111 Pathname.ReplaceExt(tp.out, "m3")); >>>>> 112 END; >>>>> 113 Wr.PutText(wr, subs.apply(Bundle.Get(Form, >>>>> "tokform.m3"))); >>>>> 114 Wr.Close(wr); >>>>> 115 END Main. >>>>> (gdb) where >>>>> #0 0x9004308c in kill () >>>>> #1 0x9009fb3c in abort () >>>>> #2 0x00096f50 in RTOS__Crash () at RTOS.m3:20 >>>>> #3 0x0005bd40 in RTProcess__Crash (M3_Bd56fi_msg=0x0) at >>>>> RTProcess.m3:65 >>>>> #4 0x0008e4e0 in RTError__EndError (M3_AicXUJ_crash=1 '\001') at >>>>> RTError.m3:115 >>>>> #5 0x0008e08c in RTError__MsgS (M3_AJWxb1_file=0xc63d8, >>>>> M3_AcxOUs_line=2314, M3_Bd56fi_msgA=0xca3d0, >>>>> M3_Bd56fi_msgB=0xcbe90, M3_Bd56fi_msgC=0xca3d0) at RTError.m3:40 >>>>> #6 0x0008eb88 in RTException__Crash (M3_Cblw37_a=0xbfffee00, >>>>> M3_AicXUJ_raises=0 '\0', M3_AJWxb1_rte=0xcb538) at >>>>> RTException.m3:79 >>>>> #7 0x0008e74c in RTException__DefaultBackstop >>>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>>> RTException.m3:39 >>>>> #8 0x0008e614 in RTException__InvokeBackstop >>>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>>> RTException.m3:25 >>>>> #9 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at >>>>> RTExFrame.m3:29 >>>>> #10 0x0008e840 in RTException__DefaultBackstop >>>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>>> RTException.m3:47 >>>>> #11 0x0008e614 in RTException__InvokeBackstop >>>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>>> RTException.m3:25 >>>>> #12 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at >>>>> RTExFrame.m3:29 >>>>> #13 0x00079740 in RTHooks__ReportFault (M3_AJWxb1_module=0xb3eb8, >>>>> M3_AcxOUs_info=74048) at RTHooks.m3:110 >>>>> #14 0x0006ff4c in _m3_fault (M3_AcxOUs_arg=74048) >>>>> #15 0x0006bcf4 in RTHooks__CheckStoreTraced >>>>> (M3_Af40ku_ref=0xb2415c) at RTCollector.m3:2314 >>>>> #16 0x000700e4 in ThreadPThread__InnerLockMutex >>>>> (M3_AYIbX3_m=0xb2415c, M3_BXP32l_self=0xb24014) at >>>>> ThreadPThread.m3:126 >>>>> #17 0x000704d8 in ThreadPThread__LockMutex (M3_AYIbX3_m=0xb2415c) >>>>> at ThreadPThread.m3:153 >>>>> #18 0x00019b24 in Wr__PutText (M3_BxxOH1_wr=0xb2415c, >>>>> M3_Bd56fi_t=0xb44d5c) at Wr.m3:93 >>>>> #19 0x00003f74 in Main_M3 (M3_AcxOUs_mode=1) at Main.m3:113 >>>>> #20 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at >>>>> RTLinker.m3:399 >>>>> #21 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at >>>>> RTLinker.m3:113 >>>>> #22 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at >>>>> RTLinker.m3:122 >>>>> #23 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) >>>>> at _m3main.mc:4 >>>>> (gdb) >>>>> >>>>> The second error: >>>>> >>>>> Program received signal EXC_BAD_INSTRUCTION, Illegal instruction/ >>>>> operand. >>>>> 0x00b111ac in ?? () >>>>> (gdb) where >>>>> #0 0x00b111ac in ?? () >>>>> #1 0x0001214c in TextSubs__Apply (M3_CN69dV_self=0xb26450, >>>>> M3_Bd56fi_src=0xb21cec) at TextSubs.m3:63 >>>>> #2 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at >>>>> RTLinker.m3:399 >>>>> #3 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at >>>>> RTLinker.m3:113 >>>>> #4 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at >>>>> RTLinker.m3:122 >>>>> #5 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) >>>>> at _m3main.mc:4 >>>>> (gdb) list >>>>> 58 BEGIN >>>>> 59 WHILE pos < textLen DO >>>>> 60 c := Text.GetChar(src, pos); >>>>> 61 IF c IN self.starts THEN >>>>> 62 (* S("analysing: " & Text.Sub(src, pos), >>>>> DebugLevel); *) >>>>> 63 iter := self.tbl.iterateOrdered(); >>>>> 64 ind := pos; >>>>> 65 original := ""; >>>>> 66 REPEAT >>>>> 67 INC(ind); >>>>> (gdb) >>>>> >>>>> Any ideas what to look at? >>>>> >>>>> I don't know if this is relevant: >>>>> >>>>> [lapdog:~/t/cit_parse/PPC_DARWIN] mika% uname -a >>>>> Darwin lapdog.local 7.9.0 Darwin Kernel Version 7.9.0: Wed Mar 30 >>>>> 20:11:17 PST 2005; root:xnu/xnu-517.12.7.obj~1/RELEASE_PPC Power >>>>> Macintosh powerpc >>>>> [lapdog:~/t/cit_parse/PPC_DARWIN] mika% gcc -v >>>>> Reading specs from /usr/libexec/gcc/darwin/ppc/3.3/specs >>>>> Thread model: posix >>>>> gcc version 3.3 20030304 (Apple Computer, Inc. build 1666) >>>>> >>>>> Mika >>>>> >>>>> P.S. Am I correct in assuming that I can get CM3 to build on >>>>> Windows? >>>>> I could switch to CM3 on Unix any time, of course, but I've never >>>>> had luck with it on Windows, which is why I am using the ancient >>>>> Klagenfurt PM3, which comes on 40-odd "floppies" and a .EXE that >>>>> unpacks them into C: (and installation instructions only in >>>>> German). >>>>> If CM3 doesn't work on Windows, I am essentially wasting my time, >>>>> as the current project I am working on absolutely requires that >>>>> the >>>>> software run on Windows 2003 Server (yes, it sucks, but what can >>>>> you do?) The very old PM3 at least kind of hobbles along on this >>>>> platform---actually, better than that; it does Trestle natively >>>>> under Windows (no X required), at least on SOME Windows machines. >>>>> >>>>> P.P.S. Sorry for all the postscripts, but is it true that the >>>>> build system has been changed so that building with overrides >>>>> (cm3 -x) >>>>> requires having the compiler sources available? It didn't use to >>>>> be that way, but I can't get Network Objects to work with >>>>> overrides >>>>> now unless I have the sources available... It's a bit of a pain >>>>> because it means that every user has to have the compiler sources, >>>>> or else ship everything, or was that not the intention? From mika at async.caltech.edu Tue Jun 26 01:56:53 2007 From: mika at async.caltech.edu (Mika Nystrom) Date: Mon, 25 Jun 2007 16:56:53 -0700 Subject: [M3devel] strange errors... In-Reply-To: Your message of "Mon, 25 Jun 2007 17:59:56 EDT." Message-ID: <200706252356.l5PNurXI035053@camembert.async.caltech.edu> Tony Hosking writes: >Hi Mika, > >This is a bug I was unaware of that presents when the new incremental/ >generational GC runs with the old user-level threads code. I need to >spend some time looking into this, but for now I suggest you invoke >cm3-new with the @M3noincremental runtime option and see if you get >any further. You can simply do: > >export CM3="/usr/local/cm3/pkg/cm3/FreeBSD4/cm3 @M3noincremental" >cd ~/cm3/scripts >./do-cm3-std.sh realclean >./do-cm3-std.sh buildship Hmm, no, sorry... it still dies in exactly the same way. @M3nogc lets it run all the way until m3bundle though (which doesn't get the flag, so it dies, again, at line 690). Mika From hosking at cs.purdue.edu Tue Jun 26 05:23:18 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Mon, 25 Jun 2007 23:23:18 -0400 Subject: [M3devel] strange errors... In-Reply-To: <200706252356.l5PNurXI035053@camembert.async.caltech.edu> References: <200706252356.l5PNurXI035053@camembert.async.caltech.edu> Message-ID: <8ED38EBB-5583-4402-8D8B-AC7F756F7292@cs.purdue.edu> OK, sounds like I have a bug to catch. On Jun 25, 2007, at 7:56 PM, Mika Nystrom wrote: > Tony Hosking writes: >> Hi Mika, >> >> This is a bug I was unaware of that presents when the new >> incremental/ >> generational GC runs with the old user-level threads code. I need to >> spend some time looking into this, but for now I suggest you invoke >> cm3-new with the @M3noincremental runtime option and see if you get >> any further. You can simply do: >> >> export CM3="/usr/local/cm3/pkg/cm3/FreeBSD4/cm3 @M3noincremental" >> cd ~/cm3/scripts >> ./do-cm3-std.sh realclean >> ./do-cm3-std.sh buildship > > Hmm, no, sorry... it still dies in exactly the same way. @M3nogc lets > it run all the way until m3bundle though (which doesn't get the flag, > so it dies, again, at line 690). > > Mika From mika at async.caltech.edu Tue Jun 26 09:56:23 2007 From: mika at async.caltech.edu (Mika Nystrom) Date: Tue, 26 Jun 2007 00:56:23 -0700 Subject: [M3devel] strange errors... In-Reply-To: Your message of "Sun, 24 Jun 2007 10:38:34 EDT." Message-ID: <200706260756.l5Q7uNuW042533@camembert.async.caltech.edu> I am still working on this, now on my Mac, and it's going better there. I have some observations resulting from trying to follow your instructions to the letter. What I did was I deleted all traces of cm3 from my machine and started by downloading the new 5.4.0 version to bootstrap with. I installed that according to the instructions on the elegosoft site, without any modifications whatsoever. It runs most things fine, but Juno-2 crashes in the garbage collector (not line 690!). I am now recompiling the CVS head and ran into two minor problems so far: 1. do-cm3-std.sh realclean doesn't clean all the directories. At minimum, it skips the following (but there may be others): m3linker, m3front, cm3. 2. Even the distributed version 5.4.0 has an incompatible (relative to the CVS head) cm3.cfg. I looked at a few different versions I have, which I think were inspired by one you (Tony) sent to me about a year ago and decided I would just add a line for PTHREADS. No big deal, but it's somewhat mysterious... and I don't see any guidance in the distribution on the cm3.cfg file. Of course this is the reason my FreeBSD installation uses the old threading library instead of pthreads. Mika Tony Hosking writes: >Sounds like we really need some work done in this area. I very >rarely use the build scripts, since I bootstrap manually from old >compilers to new compilers rather than use the scripts. I suggest >the following approach, which I hope you will try, and then report >back on. > >Install the bootstrap compiler as you did originally: > >> rm -rf /usr/local/cm3/* >> >> cd ~/cm3-cvs >> mkdir boot >> cd boot >> tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz >> ./cminstall > >Now you will have some kind of cm3 installed, presumably in /usr/ >local/cm3/bin/cm3. > >Make sure you have a fresh CVS checkout in directory cm3 (let's >assume this is in your home directory ~/cm3). Also, make sure you >have an up-to-date version of the CM3 backend compiler cm3cg >installed by executing the following: > >STEP 0: > >export CM3=/usr/local/cm3/bin/cm3 >cd ~/cm3/m3-sys/m3cc >$CM3 >$CM3 -ship > >You can skip this last step if you know your backend compiler is up >to date. > >Now, let's build the new compiler from scratch (this is the sequence >I use regularly to test changes to the run-time system whenever I >make them): > >STEP 1: > >cd ~/cm3/m3-libs/m3core >$CM3 >$CM3 -ship >cd ~/cm3/m3-libs/libm3 >$CM3 >$CM3 -ship >cd ~/cm3/m3-sys/m3middle >$CM3 >$CM3 -ship >cd ~/cm3/m3-sys/m3linker >$CM3 >$CM3 -ship >cd ~/cm3/m3-sys/m3front >$CM3 >$CM3 -ship >cd ~/cm3/m3-sys/m3quake >$CM3 >$CM3 -ship >cd ~/cm3/m3-sys/cm3 >$CM3 >$CM3 -ship > >At this point you should have a bootstrapped version of cm3 installed >in the directory /usr/local/cm3/pkg/cm3/TARGET/cm3 (where TARGET is >the CM3 target platform you are building on -- e.g., LINUXLIBC6, >PPC_DARWIN, ...). Note that this did not overwrite your original >installed compiler in /usr/local/cm3/bin/cm3. We >are now going to test the new compiler, which was built using the old >compiler, by bootstrapping it one more time. > > From here on out, please replace TARGET with your target platform as >appropriate. > >STEP 2: > >export CM3=/usr/local/cm3/pkg/cm3/TARGET/cm3 >cd ~/cm3/scripts >./do-cm3-std.sh realclean >REPEAT STEP 1 to rebuild the libraries and the compiler using the >STEP 1 bootstrap compiler. > >Now you have a STEP 2 bootstrap compiler installed in /usr/local/cm3/ >pkg/cm3/TARGET/cm3. Let's assume the new compiler now works properly >since it successfully bootstrapped itself, but to be sure we can now >use it to rebuild the world: > >cd ~/cm3/scripts >./do-cm3-std.sh realclean >./do-cm3-std.sh buildship > >Assuming this succeeded then we can be pretty sure /usr/local/cm3/pkg/ >cm3/TARGET/cm3 is good, so we can make it our default compiler by >replacing the original /usr/local/cm3/bin/cm3: > >cp $CM3 /usr/local/cm3/bin/cm3 > >On Jun 23, 2007, at 2:38 PM, Mika Nystrom wrote: > >> Ok, I'm sorry if I seem a bit dimwitted in the morning like this, >> but how exactly does one get started? I wish there were a file called >> "GETTING_STARTED" or something like that in scripts... >> >> My Mac is very slow so I switched to my FreeBSD/i386 system (which has >> PM3 happily installed on it) and tried to install CM3 from scratch. >> Here are the exact commands I typed. >> >> >> rm -rf /usr/local/cm3/* >> >> cd ~/cm3-cvs >> mkdir boot >> cd boot >> tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz >> ./cminstall >> >> # now I seem to have some kind of cm3 installed, /usr/local/cm3/bin/ >> cm3 >> >> cd cm3 # location of my CM3 checkout >> cvs update -d . >> >> cd scripts >> ./boot-cm3-with-m3.sh realclean >> ./do-cm3-std.sh realclean >> >> ./upgrade.sh # fails here, libm3 not compiled >> ./boot-cm3-with-m3.sh build # builds cm3, but fails on >> cminstall, patternmatching not built >> >> ./do-cm3-std.sh build # OK >> ./do-cm3-std.sh buildship # OK >> >> ./boot-cm3-with-m3.sh realclean # start over >> ./boot-cm3-with-m3.sh build # OK >> ./boot-cm3-with-m3.sh buildship # OK >> >> ./do-cm3-std.sh realclean # OK >> ./do-cm3-std.sh build # dies miserably... maybe the >> compiler can't handle the new libraries? >> >> ./install-cm3-compiler.sh upgrade # OK, new cm3 binary installed >> >> After all that, "game over." I have a cm3 that segfaults. >> >> Text.i3: In function 'Text_I3': >> Text.i3:81: internal compiler error: Segmentation fault >> Please submit a full bug report, >> with preprocessed source if appropriate. >> See for instructions. >> compilation failed => not building library "libm3core.a" >> Fatal Error: package build failed >> *** execution of failed *** >> >> I can't seem to get either m3gdb or gdb to say anything reasonable >> either. ktrace shows nothing out of the ordinary. >> >> ----- >> >> Meanwhile, my Mac got through "do-cm3-std.sh realclean" and >> "do-cm3-std.sh buildship" but my compiles are still dying on the >> same assertion tickled by ktok. On that machine I have INSTALLROOT >> set to ~/cm3, but hopefully that has nothing to do with it... >> >> ----- >> >> Does do-cm3-std.sh realclean clean EVERYTHING? If so my Mac should >> really have a fresh setup. The FreeBSD, I am not sure, maybe the >> old binary version just doesn't work right? Of course I could try >> bootstrapping with PM3 as well... but really, there's an "approved" >> process to get from a blank system, no? >> >> Mika >> >> >> >> >> Tony Hosking writes: >>> That sounds like you forgot to execute "do-cm3-std.sh realclean" >>> before initiating the build. These sorts of errors sometimes arise >>> if there are old build directories lying around. >>> >>> >>> On Jun 23, 2007, at 3:34 AM, Mika Nystrom wrote: >>> >>>> Hello everyone, >>>> >>>> I am in the process of trying to consolidate build systems for a >>>> few software packages I am maintaining. Currently, I am using an >>>> old PM3 on FreeBSD4, an ancient PM3 (from Klagenfurt?) for Windows >>>> (NT386GNU), and trying to get the latest CM3 from cvs up and >>>> compiling >>>> things on PPC_DARWIN. Ideally, I'd like to standardize everything >>>> on the new PM3---mainly so that I can use pickles (and Network >>>> Objects) across all three systems. I'd also like to add Linux to >>>> the mix. >>>> >>>> It's natural for me to start with CM3 on Darwin, as there's no >>>> alternative. But I am getting some assertions failing. Everything >>>> in the CM3 distribution compiles fine, and I believe I have compiled >>>> the libraries a few times (that is, including with themselves), and >>>> updated the compiler, too (using boot-cm3-with-m3.sh). I just cvs >>>> updated tonight. >>>> >>>> Here's what I'm running into: >>>> >>>> /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/CHP.t -o >>>> CHPTok.i3 >>>> >>>> >>>> *** >>>> *** runtime error: >>>> *** <*ASSERT*> failed. >>>> *** file "../src/runtime/common/RTCollector.m3", line 2314 >>>> *** >>>> >>>> Abort >>>> >>>> Also: >>>> >>>> /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/PRS.t -o >>>> PRSTok.i3 >>>> Illegal instruction >>>> >>>> As you can see, these things are coming from the caltech_parser. I >>> am using >>>> our local version, but I don't think it is very different from what >>>> is in the >>>> CM3 tree. >>>> >>>> >>>> Examining the first error (the failed assertion) more closely, I see >>>> the following: >>>> >>>> (gdb) list >>>> 108 wr := FileWr.Open(Pathname.ReplaceExt(tp.out, "m3")); >>>> 109 EXCEPT OSError.E => >>>> 110 Debug.Error("Cannot open tok implementation output >>>> file: " & >>>> 111 Pathname.ReplaceExt(tp.out, "m3")); >>>> 112 END; >>>> 113 Wr.PutText(wr, subs.apply(Bundle.Get(Form, >>>> "tokform.m3"))); >>>> 114 Wr.Close(wr); >>>> 115 END Main. >>>> (gdb) where >>>> #0 0x9004308c in kill () >>>> #1 0x9009fb3c in abort () >>>> #2 0x00096f50 in RTOS__Crash () at RTOS.m3:20 >>>> #3 0x0005bd40 in RTProcess__Crash (M3_Bd56fi_msg=0x0) at >>>> RTProcess.m3:65 >>>> #4 0x0008e4e0 in RTError__EndError (M3_AicXUJ_crash=1 '\001') at >>>> RTError.m3:115 >>>> #5 0x0008e08c in RTError__MsgS (M3_AJWxb1_file=0xc63d8, >>>> M3_AcxOUs_line=2314, M3_Bd56fi_msgA=0xca3d0, >>>> M3_Bd56fi_msgB=0xcbe90, M3_Bd56fi_msgC=0xca3d0) at RTError.m3:40 >>>> #6 0x0008eb88 in RTException__Crash (M3_Cblw37_a=0xbfffee00, >>>> M3_AicXUJ_raises=0 '\0', M3_AJWxb1_rte=0xcb538) at RTException.m3:79 >>>> #7 0x0008e74c in RTException__DefaultBackstop >>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>> RTException.m3:39 >>>> #8 0x0008e614 in RTException__InvokeBackstop >>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>> RTException.m3:25 >>>> #9 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at >>>> RTExFrame.m3:29 >>>> #10 0x0008e840 in RTException__DefaultBackstop >>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>> RTException.m3:47 >>>> #11 0x0008e614 in RTException__InvokeBackstop >>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>> RTException.m3:25 >>>> #12 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at >>>> RTExFrame.m3:29 >>>> #13 0x00079740 in RTHooks__ReportFault (M3_AJWxb1_module=0xb3eb8, >>>> M3_AcxOUs_info=74048) at RTHooks.m3:110 >>>> #14 0x0006ff4c in _m3_fault (M3_AcxOUs_arg=74048) >>>> #15 0x0006bcf4 in RTHooks__CheckStoreTraced >>>> (M3_Af40ku_ref=0xb2415c) at RTCollector.m3:2314 >>>> #16 0x000700e4 in ThreadPThread__InnerLockMutex >>>> (M3_AYIbX3_m=0xb2415c, M3_BXP32l_self=0xb24014) at >>>> ThreadPThread.m3:126 >>>> #17 0x000704d8 in ThreadPThread__LockMutex (M3_AYIbX3_m=0xb2415c) >>>> at ThreadPThread.m3:153 >>>> #18 0x00019b24 in Wr__PutText (M3_BxxOH1_wr=0xb2415c, >>>> M3_Bd56fi_t=0xb44d5c) at Wr.m3:93 >>>> #19 0x00003f74 in Main_M3 (M3_AcxOUs_mode=1) at Main.m3:113 >>>> #20 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at >>>> RTLinker.m3:399 >>>> #21 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at >>>> RTLinker.m3:113 >>>> #22 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at >>>> RTLinker.m3:122 >>>> #23 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) >>>> at _m3main.mc:4 >>>> (gdb) >>>> >>>> The second error: >>>> >>>> Program received signal EXC_BAD_INSTRUCTION, Illegal instruction/ >>>> operand. >>>> 0x00b111ac in ?? () >>>> (gdb) where >>>> #0 0x00b111ac in ?? () >>>> #1 0x0001214c in TextSubs__Apply (M3_CN69dV_self=0xb26450, >>>> M3_Bd56fi_src=0xb21cec) at TextSubs.m3:63 >>>> #2 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at >>>> RTLinker.m3:399 >>>> #3 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at >>>> RTLinker.m3:113 >>>> #4 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at >>>> RTLinker.m3:122 >>>> #5 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) >>>> at _m3main.mc:4 >>>> (gdb) list >>>> 58 BEGIN >>>> 59 WHILE pos < textLen DO >>>> 60 c := Text.GetChar(src, pos); >>>> 61 IF c IN self.starts THEN >>>> 62 (* S("analysing: " & Text.Sub(src, pos), >>>> DebugLevel); *) >>>> 63 iter := self.tbl.iterateOrdered(); >>>> 64 ind := pos; >>>> 65 original := ""; >>>> 66 REPEAT >>>> 67 INC(ind); >>>> (gdb) >>>> >>>> Any ideas what to look at? >>>> >>>> I don't know if this is relevant: >>>> >>>> [lapdog:~/t/cit_parse/PPC_DARWIN] mika% uname -a >>>> Darwin lapdog.local 7.9.0 Darwin Kernel Version 7.9.0: Wed Mar 30 >>>> 20:11:17 PST 2005; root:xnu/xnu-517.12.7.obj~1/RELEASE_PPC Power >>>> Macintosh powerpc >>>> [lapdog:~/t/cit_parse/PPC_DARWIN] mika% gcc -v >>>> Reading specs from /usr/libexec/gcc/darwin/ppc/3.3/specs >>>> Thread model: posix >>>> gcc version 3.3 20030304 (Apple Computer, Inc. build 1666) >>>> >>>> Mika >>>> >>>> P.S. Am I correct in assuming that I can get CM3 to build on >>>> Windows? >>>> I could switch to CM3 on Unix any time, of course, but I've never >>>> had luck with it on Windows, which is why I am using the ancient >>>> Klagenfurt PM3, which comes on 40-odd "floppies" and a .EXE that >>>> unpacks them into C: (and installation instructions only in German). >>>> If CM3 doesn't work on Windows, I am essentially wasting my time, >>>> as the current project I am working on absolutely requires that the >>>> software run on Windows 2003 Server (yes, it sucks, but what can >>>> you do?) The very old PM3 at least kind of hobbles along on this >>>> platform---actually, better than that; it does Trestle natively >>>> under Windows (no X required), at least on SOME Windows machines. >>>> >>>> P.P.S. Sorry for all the postscripts, but is it true that the >>>> build system has been changed so that building with overrides >>>> (cm3 -x) >>>> requires having the compiler sources available? It didn't use to >>>> be that way, but I can't get Network Objects to work with overrides >>>> now unless I have the sources available... It's a bit of a pain >>>> because it means that every user has to have the compiler sources, >>>> or else ship everything, or was that not the intention? From dragisha at m3w.org Tue Jun 26 10:27:54 2007 From: dragisha at m3w.org (=?UTF-8?Q?Dragi=C5=A1a_Duri=C4=87?=) Date: Tue, 26 Jun 2007 10:27:54 +0200 Subject: [M3devel] dynamic loading - few angles Message-ID: <1182846474.9643.34.camel@faramir.m3w.org> In CM3 documentation "support for dynamic loading" is mentioned... I would like to know if anyone used these abilities? I've had success loading and using sets of modules packaged as .so, after little tweak to RTHeapMap. I will either post that patch here, or import to CVS, if there's interest. But... During that, and right now... I am thinking about whole Modula-3 program being .so - so we can make extensions to Apache, or PostgreSQL, or whatever other program can be extended in such a way. It really (IMnsHO) is no big problem, except _m3main.ms must be generated differently, and maybe some cleanup code added/linked to "master" runtime. Maybe something more? As I never looked in code generation, is there someone who can do this for CM3? dd -- Dragi?a Duri? From hosking at cs.purdue.edu Tue Jun 26 17:53:49 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Tue, 26 Jun 2007 11:53:49 -0400 Subject: [M3devel] strange errors... In-Reply-To: <200706260756.l5Q7uNuW042533@camembert.async.caltech.edu> References: <200706260756.l5Q7uNuW042533@camembert.async.caltech.edu> Message-ID: <4A580928-5698-4644-8E7D-A2203D7EDF28@cs.purdue.edu> For PPC_DARWIN Mac I suggest you start with the build I have in ftp:// ftp.cs.purdue.edu/pub/hosking/m3/PPC_DARWIN. Grab each of cm3cg.gz cm3.gz and cm3.cfg. That has everything needed for building on OS X Tiger. FreeBSD doesn't have PTHREADS support yet, though it should be straightforward. I just don't have access to a Free BSD system on which to do the PTHREADS port -- it's just a matter of getting the pthread header information into M3 interface files. See the LINUXLIBC6 stuff for guidance. On Jun 26, 2007, at 3:56 AM, Mika Nystrom wrote: > > I am still working on this, now on my Mac, and it's going better > there. > > I have some observations resulting from trying to follow your > instructions to the letter. What I did was I deleted all traces > of cm3 from my machine and started by downloading the new 5.4.0 > version to bootstrap with. I installed that according to the > instructions on the elegosoft site, without any modifications > whatsoever. It runs most things fine, but Juno-2 crashes in the > garbage collector (not line 690!). I am now recompiling the > CVS head and ran into two minor problems so far: > > 1. do-cm3-std.sh realclean doesn't clean all the directories. > At minimum, it skips the following (but there may be others): > m3linker, m3front, cm3. Yeah, those are only built by boot-cm3-core.sh, so not surprised that do-cm3-std.sh doesn't clean them. I should have been explicit and had you "rm -rf TARGET" for each package to make sure you start clean. > 2. Even the distributed version 5.4.0 has an incompatible (relative > to the CVS head) cm3.cfg. I looked at a few different versions I > have, which I think were inspired by one you (Tony) sent to me about > a year ago and decided I would just add a line for PTHREADS. No big > deal, but it's somewhat mysterious... and I don't see any guidance > in the distribution on the cm3.cfg file. Of course this is the > reason my FreeBSD installation uses the old threading library instead > of pthreads. Please see my cm3.cfg on my ftp site. > > Mika > > Tony Hosking writes: >> Sounds like we really need some work done in this area. I very >> rarely use the build scripts, since I bootstrap manually from old >> compilers to new compilers rather than use the scripts. I suggest >> the following approach, which I hope you will try, and then report >> back on. >> >> Install the bootstrap compiler as you did originally: >> >>> rm -rf /usr/local/cm3/* >>> >>> cd ~/cm3-cvs >>> mkdir boot >>> cd boot >>> tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz >>> ./cminstall >> >> Now you will have some kind of cm3 installed, presumably in /usr/ >> local/cm3/bin/cm3. >> >> Make sure you have a fresh CVS checkout in directory cm3 (let's >> assume this is in your home directory ~/cm3). Also, make sure you >> have an up-to-date version of the CM3 backend compiler cm3cg >> installed by executing the following: >> >> STEP 0: >> >> export CM3=/usr/local/cm3/bin/cm3 >> cd ~/cm3/m3-sys/m3cc >> $CM3 >> $CM3 -ship >> >> You can skip this last step if you know your backend compiler is up >> to date. >> >> Now, let's build the new compiler from scratch (this is the sequence >> I use regularly to test changes to the run-time system whenever I >> make them): >> >> STEP 1: >> >> cd ~/cm3/m3-libs/m3core >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-libs/libm3 >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-sys/m3middle >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-sys/m3linker >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-sys/m3front >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-sys/m3quake >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-sys/cm3 >> $CM3 >> $CM3 -ship >> >> At this point you should have a bootstrapped version of cm3 installed >> in the directory /usr/local/cm3/pkg/cm3/TARGET/cm3 (where TARGET is >> the CM3 target platform you are building on -- e.g., LINUXLIBC6, >> PPC_DARWIN, ...). Note that this did not overwrite your original >> installed compiler in /usr/local/cm3/bin/cm3. We >> are now going to test the new compiler, which was built using the old >> compiler, by bootstrapping it one more time. >> >> From here on out, please replace TARGET with your target platform as >> appropriate. >> >> STEP 2: >> >> export CM3=/usr/local/cm3/pkg/cm3/TARGET/cm3 >> cd ~/cm3/scripts >> ./do-cm3-std.sh realclean >> REPEAT STEP 1 to rebuild the libraries and the compiler using the >> STEP 1 bootstrap compiler. >> >> Now you have a STEP 2 bootstrap compiler installed in /usr/local/cm3/ >> pkg/cm3/TARGET/cm3. Let's assume the new compiler now works properly >> since it successfully bootstrapped itself, but to be sure we can now >> use it to rebuild the world: >> >> cd ~/cm3/scripts >> ./do-cm3-std.sh realclean >> ./do-cm3-std.sh buildship >> >> Assuming this succeeded then we can be pretty sure /usr/local/cm3/ >> pkg/ >> cm3/TARGET/cm3 is good, so we can make it our default compiler by >> replacing the original /usr/local/cm3/bin/cm3: >> >> cp $CM3 /usr/local/cm3/bin/cm3 >> >> On Jun 23, 2007, at 2:38 PM, Mika Nystrom wrote: >> >>> Ok, I'm sorry if I seem a bit dimwitted in the morning like this, >>> but how exactly does one get started? I wish there were a file >>> called >>> "GETTING_STARTED" or something like that in scripts... >>> >>> My Mac is very slow so I switched to my FreeBSD/i386 system >>> (which has >>> PM3 happily installed on it) and tried to install CM3 from scratch. >>> Here are the exact commands I typed. >>> >>> >>> rm -rf /usr/local/cm3/* >>> >>> cd ~/cm3-cvs >>> mkdir boot >>> cd boot >>> tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz >>> ./cminstall >>> >>> # now I seem to have some kind of cm3 installed, /usr/local/cm3/bin/ >>> cm3 >>> >>> cd cm3 # location of my CM3 checkout >>> cvs update -d . >>> >>> cd scripts >>> ./boot-cm3-with-m3.sh realclean >>> ./do-cm3-std.sh realclean >>> >>> ./upgrade.sh # fails here, libm3 not compiled >>> ./boot-cm3-with-m3.sh build # builds cm3, but fails on >>> cminstall, patternmatching not built >>> >>> ./do-cm3-std.sh build # OK >>> ./do-cm3-std.sh buildship # OK >>> >>> ./boot-cm3-with-m3.sh realclean # start over >>> ./boot-cm3-with-m3.sh build # OK >>> ./boot-cm3-with-m3.sh buildship # OK >>> >>> ./do-cm3-std.sh realclean # OK >>> ./do-cm3-std.sh build # dies miserably... maybe the >>> compiler can't handle the new libraries? >>> >>> ./install-cm3-compiler.sh upgrade # OK, new cm3 binary installed >>> >>> After all that, "game over." I have a cm3 that segfaults. >>> >>> Text.i3: In function 'Text_I3': >>> Text.i3:81: internal compiler error: Segmentation fault >>> Please submit a full bug report, >>> with preprocessed source if appropriate. >>> See for instructions. >>> compilation failed => not building library "libm3core.a" >>> Fatal Error: package build failed >>> *** execution of failed *** >>> >>> I can't seem to get either m3gdb or gdb to say anything reasonable >>> either. ktrace shows nothing out of the ordinary. >>> >>> ----- >>> >>> Meanwhile, my Mac got through "do-cm3-std.sh realclean" and >>> "do-cm3-std.sh buildship" but my compiles are still dying on the >>> same assertion tickled by ktok. On that machine I have INSTALLROOT >>> set to ~/cm3, but hopefully that has nothing to do with it... >>> >>> ----- >>> >>> Does do-cm3-std.sh realclean clean EVERYTHING? If so my Mac should >>> really have a fresh setup. The FreeBSD, I am not sure, maybe the >>> old binary version just doesn't work right? Of course I could try >>> bootstrapping with PM3 as well... but really, there's an "approved" >>> process to get from a blank system, no? >>> >>> Mika >>> >>> >>> >>> >>> Tony Hosking writes: >>>> That sounds like you forgot to execute "do-cm3-std.sh realclean" >>>> before initiating the build. These sorts of errors sometimes arise >>>> if there are old build directories lying around. >>>> >>>> >>>> On Jun 23, 2007, at 3:34 AM, Mika Nystrom wrote: >>>> >>>>> Hello everyone, >>>>> >>>>> I am in the process of trying to consolidate build systems for a >>>>> few software packages I am maintaining. Currently, I am using an >>>>> old PM3 on FreeBSD4, an ancient PM3 (from Klagenfurt?) for Windows >>>>> (NT386GNU), and trying to get the latest CM3 from cvs up and >>>>> compiling >>>>> things on PPC_DARWIN. Ideally, I'd like to standardize everything >>>>> on the new PM3---mainly so that I can use pickles (and Network >>>>> Objects) across all three systems. I'd also like to add Linux to >>>>> the mix. >>>>> >>>>> It's natural for me to start with CM3 on Darwin, as there's no >>>>> alternative. But I am getting some assertions failing. >>>>> Everything >>>>> in the CM3 distribution compiles fine, and I believe I have >>>>> compiled >>>>> the libraries a few times (that is, including with themselves), >>>>> and >>>>> updated the compiler, too (using boot-cm3-with-m3.sh). I just cvs >>>>> updated tonight. >>>>> >>>>> Here's what I'm running into: >>>>> >>>>> /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/CHP.t -o >>>>> CHPTok.i3 >>>>> >>>>> >>>>> *** >>>>> *** runtime error: >>>>> *** <*ASSERT*> failed. >>>>> *** file "../src/runtime/common/RTCollector.m3", line 2314 >>>>> *** >>>>> >>>>> Abort >>>>> >>>>> Also: >>>>> >>>>> /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/PRS.t -o >>>>> PRSTok.i3 >>>>> Illegal instruction >>>>> >>>>> As you can see, these things are coming from the >>>>> caltech_parser. I >>>> am using >>>>> our local version, but I don't think it is very different from >>>>> what >>>>> is in the >>>>> CM3 tree. >>>>> >>>>> >>>>> Examining the first error (the failed assertion) more closely, >>>>> I see >>>>> the following: >>>>> >>>>> (gdb) list >>>>> 108 wr := FileWr.Open(Pathname.ReplaceExt(tp.out, "m3")); >>>>> 109 EXCEPT OSError.E => >>>>> 110 Debug.Error("Cannot open tok implementation output >>>>> file: " & >>>>> 111 Pathname.ReplaceExt(tp.out, "m3")); >>>>> 112 END; >>>>> 113 Wr.PutText(wr, subs.apply(Bundle.Get(Form, >>>>> "tokform.m3"))); >>>>> 114 Wr.Close(wr); >>>>> 115 END Main. >>>>> (gdb) where >>>>> #0 0x9004308c in kill () >>>>> #1 0x9009fb3c in abort () >>>>> #2 0x00096f50 in RTOS__Crash () at RTOS.m3:20 >>>>> #3 0x0005bd40 in RTProcess__Crash (M3_Bd56fi_msg=0x0) at >>>>> RTProcess.m3:65 >>>>> #4 0x0008e4e0 in RTError__EndError (M3_AicXUJ_crash=1 '\001') at >>>>> RTError.m3:115 >>>>> #5 0x0008e08c in RTError__MsgS (M3_AJWxb1_file=0xc63d8, >>>>> M3_AcxOUs_line=2314, M3_Bd56fi_msgA=0xca3d0, >>>>> M3_Bd56fi_msgB=0xcbe90, M3_Bd56fi_msgC=0xca3d0) at RTError.m3:40 >>>>> #6 0x0008eb88 in RTException__Crash (M3_Cblw37_a=0xbfffee00, >>>>> M3_AicXUJ_raises=0 '\0', M3_AJWxb1_rte=0xcb538) at >>>>> RTException.m3:79 >>>>> #7 0x0008e74c in RTException__DefaultBackstop >>>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>>> RTException.m3:39 >>>>> #8 0x0008e614 in RTException__InvokeBackstop >>>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>>> RTException.m3:25 >>>>> #9 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at >>>>> RTExFrame.m3:29 >>>>> #10 0x0008e840 in RTException__DefaultBackstop >>>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>>> RTException.m3:47 >>>>> #11 0x0008e614 in RTException__InvokeBackstop >>>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>>> RTException.m3:25 >>>>> #12 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at >>>>> RTExFrame.m3:29 >>>>> #13 0x00079740 in RTHooks__ReportFault (M3_AJWxb1_module=0xb3eb8, >>>>> M3_AcxOUs_info=74048) at RTHooks.m3:110 >>>>> #14 0x0006ff4c in _m3_fault (M3_AcxOUs_arg=74048) >>>>> #15 0x0006bcf4 in RTHooks__CheckStoreTraced >>>>> (M3_Af40ku_ref=0xb2415c) at RTCollector.m3:2314 >>>>> #16 0x000700e4 in ThreadPThread__InnerLockMutex >>>>> (M3_AYIbX3_m=0xb2415c, M3_BXP32l_self=0xb24014) at >>>>> ThreadPThread.m3:126 >>>>> #17 0x000704d8 in ThreadPThread__LockMutex (M3_AYIbX3_m=0xb2415c) >>>>> at ThreadPThread.m3:153 >>>>> #18 0x00019b24 in Wr__PutText (M3_BxxOH1_wr=0xb2415c, >>>>> M3_Bd56fi_t=0xb44d5c) at Wr.m3:93 >>>>> #19 0x00003f74 in Main_M3 (M3_AcxOUs_mode=1) at Main.m3:113 >>>>> #20 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at >>>>> RTLinker.m3:399 >>>>> #21 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at >>>>> RTLinker.m3:113 >>>>> #22 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at >>>>> RTLinker.m3:122 >>>>> #23 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) >>>>> at _m3main.mc:4 >>>>> (gdb) >>>>> >>>>> The second error: >>>>> >>>>> Program received signal EXC_BAD_INSTRUCTION, Illegal instruction/ >>>>> operand. >>>>> 0x00b111ac in ?? () >>>>> (gdb) where >>>>> #0 0x00b111ac in ?? () >>>>> #1 0x0001214c in TextSubs__Apply (M3_CN69dV_self=0xb26450, >>>>> M3_Bd56fi_src=0xb21cec) at TextSubs.m3:63 >>>>> #2 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at >>>>> RTLinker.m3:399 >>>>> #3 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at >>>>> RTLinker.m3:113 >>>>> #4 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at >>>>> RTLinker.m3:122 >>>>> #5 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) >>>>> at _m3main.mc:4 >>>>> (gdb) list >>>>> 58 BEGIN >>>>> 59 WHILE pos < textLen DO >>>>> 60 c := Text.GetChar(src, pos); >>>>> 61 IF c IN self.starts THEN >>>>> 62 (* S("analysing: " & Text.Sub(src, pos), >>>>> DebugLevel); *) >>>>> 63 iter := self.tbl.iterateOrdered(); >>>>> 64 ind := pos; >>>>> 65 original := ""; >>>>> 66 REPEAT >>>>> 67 INC(ind); >>>>> (gdb) >>>>> >>>>> Any ideas what to look at? >>>>> >>>>> I don't know if this is relevant: >>>>> >>>>> [lapdog:~/t/cit_parse/PPC_DARWIN] mika% uname -a >>>>> Darwin lapdog.local 7.9.0 Darwin Kernel Version 7.9.0: Wed Mar 30 >>>>> 20:11:17 PST 2005; root:xnu/xnu-517.12.7.obj~1/RELEASE_PPC Power >>>>> Macintosh powerpc >>>>> [lapdog:~/t/cit_parse/PPC_DARWIN] mika% gcc -v >>>>> Reading specs from /usr/libexec/gcc/darwin/ppc/3.3/specs >>>>> Thread model: posix >>>>> gcc version 3.3 20030304 (Apple Computer, Inc. build 1666) >>>>> >>>>> Mika >>>>> >>>>> P.S. Am I correct in assuming that I can get CM3 to build on >>>>> Windows? >>>>> I could switch to CM3 on Unix any time, of course, but I've never >>>>> had luck with it on Windows, which is why I am using the ancient >>>>> Klagenfurt PM3, which comes on 40-odd "floppies" and a .EXE that >>>>> unpacks them into C: (and installation instructions only in >>>>> German). >>>>> If CM3 doesn't work on Windows, I am essentially wasting my time, >>>>> as the current project I am working on absolutely requires that >>>>> the >>>>> software run on Windows 2003 Server (yes, it sucks, but what can >>>>> you do?) The very old PM3 at least kind of hobbles along on this >>>>> platform---actually, better than that; it does Trestle natively >>>>> under Windows (no X required), at least on SOME Windows machines. >>>>> >>>>> P.P.S. Sorry for all the postscripts, but is it true that the >>>>> build system has been changed so that building with overrides >>>>> (cm3 -x) >>>>> requires having the compiler sources available? It didn't use to >>>>> be that way, but I can't get Network Objects to work with >>>>> overrides >>>>> now unless I have the sources available... It's a bit of a pain >>>>> because it means that every user has to have the compiler sources, >>>>> or else ship everything, or was that not the intention? From hosking at cs.purdue.edu Tue Jun 26 17:55:06 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Tue, 26 Jun 2007 11:55:06 -0400 Subject: [M3devel] dynamic loading - few angles In-Reply-To: <1182846474.9643.34.camel@faramir.m3w.org> References: <1182846474.9643.34.camel@faramir.m3w.org> Message-ID: <263FF7C3-6DBD-40A9-9884-8A5379710E14@cs.purdue.edu> I'm curious about your tweak to RTHeapMap. Can you e-mail the patch? On Jun 26, 2007, at 4:27 AM, Dragi?a Duri? wrote: > In CM3 documentation "support for dynamic loading" is mentioned... I > would like to know if anyone used these abilities? > > I've had success loading and using sets of modules packaged as .so, > after little tweak to RTHeapMap. I will either post that patch > here, or > import to CVS, if there's interest. > > But... During that, and right now... I am thinking about whole > Modula-3 > program being .so - so we can make extensions to Apache, or > PostgreSQL, > or whatever other program can be extended in such a way. > > It really (IMnsHO) is no big problem, except _m3main.ms must be > generated differently, and maybe some cleanup code added/linked to > "master" runtime. Maybe something more? As I never looked in code > generation, is there someone who can do this for CM3? > > dd > > -- > Dragi?a Duri? From hosking at cs.purdue.edu Thu Jun 28 16:53:25 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Thu, 28 Jun 2007 10:53:25 -0400 Subject: [M3devel] strange errors... In-Reply-To: <200706251905.l5PJ5wgF029978@camembert.async.caltech.edu> References: <200706251905.l5PJ5wgF029978@camembert.async.caltech.edu> Message-ID: I've just checked in a fix to ThreadPosix.m3 that eliminates your problem with user-level threads. I have tested this on I386_DARWIN and it appears to be working just fine now. Please try again with the updated ThreadPosix.m3. On Jun 25, 2007, at 3:05 PM, Mika Nystrom wrote: > Indeed, -g was one of the culprits. I changed it to -gstabs+ and > got a bit further... (please scroll down to STEP 2, sorry) > > Tony Hosking writes: >> Sounds like we really need some work done in this area. I very >> rarely use the build scripts, since I bootstrap manually from old >> compilers to new compilers rather than use the scripts. I suggest >> the following approach, which I hope you will try, and then report >> back on. >> >> Install the bootstrap compiler as you did originally: >> >>> rm -rf /usr/local/cm3/* >>> >>> cd ~/cm3-cvs >>> mkdir boot >>> cd boot >>> tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz >>> ./cminstall >> >> Now you will have some kind of cm3 installed, presumably in /usr/ >> local/cm3/bin/cm3. >> >> Make sure you have a fresh CVS checkout in directory cm3 (let's >> assume this is in your home directory ~/cm3). Also, make sure you >> have an up-to-date version of the CM3 backend compiler cm3cg >> installed by executing the following: >> >> STEP 0: >> >> export CM3=/usr/local/cm3/bin/cm3 >> cd ~/cm3/m3-sys/m3cc >> $CM3 >> $CM3 -ship >> >> You can skip this last step if you know your backend compiler is up >> to date. >> >> Now, let's build the new compiler from scratch (this is the sequence >> I use regularly to test changes to the run-time system whenever I >> make them): >> >> STEP 1: >> >> cd ~/cm3/m3-libs/m3core >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-libs/libm3 >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-sys/m3middle >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-sys/m3linker >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-sys/m3front >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-sys/m3quake >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-sys/cm3 >> $CM3 >> $CM3 -ship >> >> At this point you should have a bootstrapped version of cm3 installed >> in the directory /usr/local/cm3/pkg/cm3/TARGET/cm3 (where TARGET is >> the CM3 target platform you are building on -- e.g., LINUXLIBC6, >> PPC_DARWIN, ...). Note that this did not overwrite your original >> installed compiler in /usr/local/cm3/bin/cm3. We >> are now going to test the new compiler, which was built using the old >> compiler, by bootstrapping it one more time. >> >> From here on out, please replace TARGET with your target platform as >> appropriate. >> >> STEP 2: >> >> export CM3=/usr/local/cm3/pkg/cm3/TARGET/cm3 >> cd ~/cm3/scripts >> ./do-cm3-std.sh realclean >> REPEAT STEP 1 to rebuild the libraries and the compiler using the >> STEP 1 bootstrap compiler. >> >> Now you have a STEP 2 bootstrap compiler installed in /usr/local/cm3/ >> pkg/cm3/TARGET/cm3. Let's assume the new compiler now works properly >> since it successfully bootstrapped itself, but to be sure we can now >> use it to rebuild the world: > > Ok, I got this far. I built the step 1 (m3core...cm3), set my > compiler to the newly-built compiler, and rebuilt (m3core...cm3). > No errors anywhere, beautiful. > >> >> cd ~/cm3/scripts >> ./do-cm3-std.sh realclean >> ./do-cm3-std.sh buildship > > Here's where it dies: > > ./do-cm3-std.sh buildship > CM3C = > /big/home2/mika/2/cm3-cvs/fresh/cm3/scripts/pkgmap.sh -c "/usr/ > local/cm3/pkg/cm3/FreeBSD4/cm3 -build -DROOT='/big/home2/mika/2/ > cm3-cvs/fresh/cm3' && /usr/local/cm3/pkg/cm3/FreeBSD4/cm3 -ship - > DROOT='/big/home2/mika/2/cm3-cvs/fresh/cm3' " m3core libm3 > patternmatching m3middle m3quake m3scanner m3tools m3cgcat m3cggen > m3gdb m3bundle arithmetic bitvector digraph parseparams > realgeometry set slisp sortedtableextras table-list tempfiles tcp > udp libsio libbuf debug listfuncs embutils m3tk-misc http binIO > commandrw m3tk mtex m3totex m3tohtml m3scan m3markup m3browser > cmpdir cmpfp dirfp uniq netobj netobjd stubgen events rdwr > sharedobj sharedobjgen odbc postgres95 db smalldb stable stablegen > X11R4 ui PEX vbtkit cmvbt jvideo videovbt web formsvbtpixmaps > formsvbt formsview formsedit codeview mg mgkit opengl anim3D zeus > m3zume synloc synex metasyn obliqrt obliqparse obliqprint obliq > obliqlibemb obliqlibm3 obliqlibui obliqlibanim obliqsrvstd > obliqsrvui obliqbinmin obliqbinstd obliqbin! > ui obliqbinanim visualobliq vocgi voquery vorun webvbt recordheap > rehearsecode replayheap showheap shownew showthread pkl-fonts juno- > machine juno-compiler juno-app cube calculator fisheye mentor > === package /big/home2/mika/2/cm3-cvs/fresh/cm3/m3-libs/m3core === > +++ /usr/local/cm3/pkg/cm3/FreeBSD4/cm3 -build -DROOT='/big/home2/ > mika/2/cm3-cvs/fresh/cm3' && /usr/local/cm3/pkg/cm3/FreeBSD4/cm3 - > ship -DROOT='/big/home2/mika/2/cm3-cvs/fresh/cm3' +++ > > > *** > *** runtime error: > *** <*ASSERT*> failed. > *** file "../src/runtime/common/RTCollector.m3", line 690 > *** > > > > *** > *** runtime error: > *** <*ASSERT*> failed. > *** file "../src/runtime/common/RTCollector.m3", line 690 > *** > > Abort trap > *** execution of failed *** > > This time it appears to be cm3 itself that's crashing: > > (310)rover:~/cm3-cvs/fresh/cm3/m3-libs/m3core>$CM3 -keep -commands > > > *** > *** runtime error: > *** <*ASSERT*> failed. > *** file "../src/runtime/common/RTCollector.m3", line 690 > *** > > > > *** > *** runtime error: > *** <*ASSERT*> failed. > *** file "../src/runtime/common/RTCollector.m3", line 690 > *** > > Abort > > What follows is what m3gdb has to say about this. I take it that > the last error message comes from my -gstabs+ option. m3gdb doesn't > like this new binary: it can't print variables and sometimes crashes > trying. Would I have better luck with "-gstabs", do you think? Or > do I just need to fix the compile process and install a new m3gdb? > (I take it there is a newer one: mine is very old. But I remember > that m3gdb doesn't always work that well...) > > Mika > > #1 16_81a619d in __raise () > #2 16_81a3b8f in abort () > #3 16_8178d16 in RTOS.Crash () at RTOS.m3:20 > #4 16_8171fd2 in RTProcess.Crash (msg=NIL) at RTProcess.m3:65 > #5 16_8170428 in RTError.EndError (crash=TRUE) at RTError.m3:115 > #6 16_8170169 in RTError.MsgS (file=16_820a508, line=690, > msgA=16_820bfe8, msgB=16_8208170, msgC=16_820bfe8) at RTError.m3:40 > #7 16_81707ec in RTException.Crash (a=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; > END, raises=FALSE, rte=16_8208020) at RTException.m3:79 > #8 16_8170550 in RTException.DefaultBackstop (a=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; > un_arg = NIL; END, raises=FALSE) at RTException.m3:39 > #9 16_81704b4 in RTException.InvokeBackstop (a=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; > un_arg = NIL; END, raises=FALSE) at RTException.m3:25 > #10 16_8179ca7 in RTException.Raise (act=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; > END) at RTExFrame.m3:29 > #11 16_81705f0 in RTException.DefaultBackstop (a=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; > un_arg = NIL; END, raises=FALSE) at RTException.m3:47 > #12 16_81704b4 in RTException.InvokeBackstop (a=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; > un_arg = NIL; END, raises=FALSE) at RTException.m3:25 > #13 16_8179ca7 in RTException.Raise (act=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; > END) at RTExFrame.m3:29 > #14 16_8160bba in RTHooks.ReportFault (module=16_820a680, > info=22080) at RTHooks.m3:110 > #15 16_816e251 in _m3_fault (arg=22080) at RTCollector.m3:0 > #16 16_81649b7 in RTCollector.CollectorOn () at RTCollector.m3:690 > #17 16_816b595 in RTHooks.CheckLoadTracedRef (ref=16_681b3300) at > RTCollector.m3:2296 > #18 16_814400c in Stdio.ShutDown () at Stdio.m3:43 > #19 16_8171f51 in RTProcess.InvokeExitors () at RTProcess.m3:40 > #20 16_8171fc5 in RTProcess.Crash (msg=NIL) at RTProcess.m3:61 > #21 16_8170428 in RTError.EndError (crash=TRUE) at RTError.m3:115 > #22 16_8170169 in RTError.MsgS (file=16_820a508, line=690, > msgA=16_820bfe8, msgB=16_8208170, msgC=16_820bfe8) at RTError.m3:40 > #23 16_81707ec in RTException.Crash (a=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; > END, raises=FALSE, rte=16_8208020) at RTException.m3:79 > #24 16_8170550 in RTException.DefaultBackstop (a=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; > un_arg = NIL; END, raises=FALSE) at RTException.m3:39 > #25 16_81704b4 in RTException.InvokeBackstop (a=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; > un_arg = NIL; END, raises=FALSE) at RTException.m3:25 > #26 16_8179ca7 in RTException.Raise (act=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; > END) at RTExFrame.m3:29 > #27 16_81705f0 in RTException.DefaultBackstop (a=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; > un_arg = NIL; END, raises=FALSE) at RTException.m3:47 > #28 16_81704b4 in RTException.InvokeBackstop (a=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; > un_arg = NIL; END, raises=FALSE) at RTException.m3:25 > #29 16_8179ca7 in RTException.Raise (act=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; > END) at RTExFrame.m3:29 > #30 16_8160bba in RTHooks.ReportFault (module=16_820a680, > info=22080) at RTHooks.m3:110 > #31 16_816e251 in _m3_fault (arg=22080) at RTCollector.m3:0 > #32 16_81649b7 in RTCollector.CollectorOn () at RTCollector.m3:690 > #33 16_816b595 in RTHooks.CheckLoadTracedRef (ref=16_681b3004) at > RTCollector.m3:2296 > #34 16_817c41e in ThreadF.ProcessStacks (p=16_816415e) at > ThreadPosix.m3:522 > #35 16_8165213 in RTCollector.CollectSomeInStateZero () at > RTCollector.m3:845 > #36 16_8164d2c in RTCollector.CollectSome () at RTCollector.m3:741 > #37 16_816487b in RTCollector.CollectEnough () at RTCollector.m3:659 > #38 16_81673cd in RTHeapRep.AllocTraced (def=16_81f8f38, > dataSize=8200, dataAlignment=4, initProc=16_bfbfe0f4, pool=RECORD > desc = RECORD space = Current; generation = Younger; pure = FALSE; > note = Allocated; gray = FALSE; clean = FALSE; continued = > FALSE; link = 0; END; notAfter = {Copied}; page = 0; stack = 0; > next = NIL; limit = NIL; busy = FALSE; END) > at RTCollector.m3:1417 > #39 16_816218e in RTAllocator.GetOpenArray (def=16_81f8f38, s= > [2048]) at RTAllocator.m3:308 > #40 16_8161737 in RTHooks.AllocateOpenArray (defn=16_81f8f38, s= > [2048]) at RTAllocator.m3:156 > #41 16_8129d56 in M3ID_M3 (mode=1) at M3ID.m3:40 > #42 16_816f802 in RTLinker.RunMainBody (m=16_81f8cc0) at > RTLinker.m3:399 > #43 16_816f6ca in RTLinker.RunMainBody (m=16_81c0880) at > RTLinker.m3:379 > #44 16_816f6ca in RTLinker.RunMainBody (m=16_81c06a0) at > RTLinker.m3:379 > #45 16_816f6ca in RTLinker.RunMainBody (m=16_81bc920) at > RTLinker.m3:379 > #46 16_816ed2d in RTLinker.AddUnitI (m=16_81bc920) at RTLinker.m3:113 > #47 16_816edb4 in RTLinker.AddUnit (b=16_8065527) at RTLinker.m3:122 > module "_m3main": missing debug info for global data > > (gdb) up 32 > #32 16_81649b7 in RTCollector.CollectorOn () at RTCollector.m3:690 > RTCollector.m3:690: No such file or directory. > (gdb) > Suspended > (360)rover:~/cm3-cvs/fresh/cm3/m3-libs/m3core>find ../.. -name > RTCollector.m3 > ../../m3-libs/m3core/src/runtime/common/RTCollector.m3 > (361)rover:~/cm3-cvs/fresh/cm3/m3-libs/m3core>fg > m3gdb /usr/local/cm3/pkg/cm3/FreeBSD4/cm3 > (gdb) dir ../../m3-libs/m3core/src/runtime/common/ > Source directories searched: /big/home2/mika/2/cm3-cvs/fresh/cm3/m3- > libs/m3core/../../m3-libs/m3core/src/runtime/common:$cdir:$cwd > (gdb) list > 685 VAR timeOnEntry, timeOnExit: Time.T; (* time of > collector entry/exit *) > 686 > 687 PROCEDURE CollectorOn () = > 688 (* LL >= RTOS.LockHeap *) > 689 BEGIN > 690 <* ASSERT NOT collectorOn *> > 691 collectorOn := TRUE; > 692 > 693 IF incremental AND NOT RTLinker.incremental > 694 OR generational AND NOT RTLinker.generational THEN > (gdb) print collectorOn > can't find identifier: collectorOn > (gdb) up > #33 16_816b595 in RTHooks.CheckLoadTracedRef (ref=16_681b3004) at > RTCollector.m3:2296 > 2296 CollectorOn(); > (gdb) print collectorOn > can't find identifier: collectorOn > (gdb) print ref > Segmentation fault > > > > >> >> Assuming this succeeded then we can be pretty sure /usr/local/cm3/ >> pkg/ >> cm3/TARGET/cm3 is good, so we can make it our default compiler by >> replacing the original /usr/local/cm3/bin/cm3: >> >> cp $CM3 /usr/local/cm3/bin/cm3 >> >> On Jun 23, 2007, at 2:38 PM, Mika Nystrom wrote: >> >>> Ok, I'm sorry if I seem a bit dimwitted in the morning like this, >>> but how exactly does one get started? I wish there were a file >>> called >>> "GETTING_STARTED" or something like that in scripts... >>> >>> My Mac is very slow so I switched to my FreeBSD/i386 system >>> (which has >>> PM3 happily installed on it) and tried to install CM3 from scratch. >>> Here are the exact commands I typed. >>> >>> >>> rm -rf /usr/local/cm3/* >>> >>> cd ~/cm3-cvs >>> mkdir boot >>> cd boot >>> tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz >>> ./cminstall >>> >>> # now I seem to have some kind of cm3 installed, /usr/local/cm3/bin/ >>> cm3 >>> >>> cd cm3 # location of my CM3 checkout >>> cvs update -d . >>> >>> cd scripts >>> ./boot-cm3-with-m3.sh realclean >>> ./do-cm3-std.sh realclean >>> >>> ./upgrade.sh # fails here, libm3 not compiled >>> ./boot-cm3-with-m3.sh build # builds cm3, but fails on >>> cminstall, patternmatching not built >>> >>> ./do-cm3-std.sh build # OK >>> ./do-cm3-std.sh buildship # OK >>> >>> ./boot-cm3-with-m3.sh realclean # start over >>> ./boot-cm3-with-m3.sh build # OK >>> ./boot-cm3-with-m3.sh buildship # OK >>> >>> ./do-cm3-std.sh realclean # OK >>> ./do-cm3-std.sh build # dies miserably... maybe the >>> compiler can't handle the new libraries? >>> >>> ./install-cm3-compiler.sh upgrade # OK, new cm3 binary installed >>> >>> After all that, "game over." I have a cm3 that segfaults. >>> >>> Text.i3: In function 'Text_I3': >>> Text.i3:81: internal compiler error: Segmentation fault >>> Please submit a full bug report, >>> with preprocessed source if appropriate. >>> See for instructions. >>> compilation failed => not building library "libm3core.a" >>> Fatal Error: package build failed >>> *** execution of failed *** >>> >>> I can't seem to get either m3gdb or gdb to say anything reasonable >>> either. ktrace shows nothing out of the ordinary. >>> >>> ----- >>> >>> Meanwhile, my Mac got through "do-cm3-std.sh realclean" and >>> "do-cm3-std.sh buildship" but my compiles are still dying on the >>> same assertion tickled by ktok. On that machine I have INSTALLROOT >>> set to ~/cm3, but hopefully that has nothing to do with it... >>> >>> ----- >>> >>> Does do-cm3-std.sh realclean clean EVERYTHING? If so my Mac should >>> really have a fresh setup. The FreeBSD, I am not sure, maybe the >>> old binary version just doesn't work right? Of course I could try >>> bootstrapping with PM3 as well... but really, there's an "approved" >>> process to get from a blank system, no? >>> >>> Mika >>> >>> >>> >>> >>> Tony Hosking writes: >>>> That sounds like you forgot to execute "do-cm3-std.sh realclean" >>>> before initiating the build. These sorts of errors sometimes arise >>>> if there are old build directories lying around. >>>> >>>> >>>> On Jun 23, 2007, at 3:34 AM, Mika Nystrom wrote: >>>> >>>>> Hello everyone, >>>>> >>>>> I am in the process of trying to consolidate build systems for a >>>>> few software packages I am maintaining. Currently, I am using an >>>>> old PM3 on FreeBSD4, an ancient PM3 (from Klagenfurt?) for Windows >>>>> (NT386GNU), and trying to get the latest CM3 from cvs up and >>>>> compiling >>>>> things on PPC_DARWIN. Ideally, I'd like to standardize everything >>>>> on the new PM3---mainly so that I can use pickles (and Network >>>>> Objects) across all three systems. I'd also like to add Linux to >>>>> the mix. >>>>> >>>>> It's natural for me to start with CM3 on Darwin, as there's no >>>>> alternative. But I am getting some assertions failing. >>>>> Everything >>>>> in the CM3 distribution compiles fine, and I believe I have >>>>> compiled >>>>> the libraries a few times (that is, including with themselves), >>>>> and >>>>> updated the compiler, too (using boot-cm3-with-m3.sh). I just cvs >>>>> updated tonight. >>>>> >>>>> Here's what I'm running into: >>>>> >>>>> /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/CHP.t -o >>>>> CHPTok.i3 >>>>> >>>>> >>>>> *** >>>>> *** runtime error: >>>>> *** <*ASSERT*> failed. >>>>> *** file "../src/runtime/common/RTCollector.m3", line 2314 >>>>> *** >>>>> >>>>> Abort >>>>> >>>>> Also: >>>>> >>>>> /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/PRS.t -o >>>>> PRSTok.i3 >>>>> Illegal instruction >>>>> >>>>> As you can see, these things are coming from the >>>>> caltech_parser. I >>>> am using >>>>> our local version, but I don't think it is very different from >>>>> what >>>>> is in the >>>>> CM3 tree. >>>>> >>>>> >>>>> Examining the first error (the failed assertion) more closely, >>>>> I see >>>>> the following: >>>>> >>>>> (gdb) list >>>>> 108 wr := FileWr.Open(Pathname.ReplaceExt(tp.out, "m3")); >>>>> 109 EXCEPT OSError.E => >>>>> 110 Debug.Error("Cannot open tok implementation output >>>>> file: " & >>>>> 111 Pathname.ReplaceExt(tp.out, "m3")); >>>>> 112 END; >>>>> 113 Wr.PutText(wr, subs.apply(Bundle.Get(Form, >>>>> "tokform.m3"))); >>>>> 114 Wr.Close(wr); >>>>> 115 END Main. >>>>> (gdb) where >>>>> #0 0x9004308c in kill () >>>>> #1 0x9009fb3c in abort () >>>>> #2 0x00096f50 in RTOS__Crash () at RTOS.m3:20 >>>>> #3 0x0005bd40 in RTProcess__Crash (M3_Bd56fi_msg=0x0) at >>>>> RTProcess.m3:65 >>>>> #4 0x0008e4e0 in RTError__EndError (M3_AicXUJ_crash=1 '\001') at >>>>> RTError.m3:115 >>>>> #5 0x0008e08c in RTError__MsgS (M3_AJWxb1_file=0xc63d8, >>>>> M3_AcxOUs_line=2314, M3_Bd56fi_msgA=0xca3d0, >>>>> M3_Bd56fi_msgB=0xcbe90, M3_Bd56fi_msgC=0xca3d0) at RTError.m3:40 >>>>> #6 0x0008eb88 in RTException__Crash (M3_Cblw37_a=0xbfffee00, >>>>> M3_AicXUJ_raises=0 '\0', M3_AJWxb1_rte=0xcb538) at >>>>> RTException.m3:79 >>>>> #7 0x0008e74c in RTException__DefaultBackstop >>>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>>> RTException.m3:39 >>>>> #8 0x0008e614 in RTException__InvokeBackstop >>>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>>> RTException.m3:25 >>>>> #9 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at >>>>> RTExFrame.m3:29 >>>>> #10 0x0008e840 in RTException__DefaultBackstop >>>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>>> RTException.m3:47 >>>>> #11 0x0008e614 in RTException__InvokeBackstop >>>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>>> RTException.m3:25 >>>>> #12 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at >>>>> RTExFrame.m3:29 >>>>> #13 0x00079740 in RTHooks__ReportFault (M3_AJWxb1_module=0xb3eb8, >>>>> M3_AcxOUs_info=74048) at RTHooks.m3:110 >>>>> #14 0x0006ff4c in _m3_fault (M3_AcxOUs_arg=74048) >>>>> #15 0x0006bcf4 in RTHooks__CheckStoreTraced >>>>> (M3_Af40ku_ref=0xb2415c) at RTCollector.m3:2314 >>>>> #16 0x000700e4 in ThreadPThread__InnerLockMutex >>>>> (M3_AYIbX3_m=0xb2415c, M3_BXP32l_self=0xb24014) at >>>>> ThreadPThread.m3:126 >>>>> #17 0x000704d8 in ThreadPThread__LockMutex (M3_AYIbX3_m=0xb2415c) >>>>> at ThreadPThread.m3:153 >>>>> #18 0x00019b24 in Wr__PutText (M3_BxxOH1_wr=0xb2415c, >>>>> M3_Bd56fi_t=0xb44d5c) at Wr.m3:93 >>>>> #19 0x00003f74 in Main_M3 (M3_AcxOUs_mode=1) at Main.m3:113 >>>>> #20 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at >>>>> RTLinker.m3:399 >>>>> #21 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at >>>>> RTLinker.m3:113 >>>>> #22 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at >>>>> RTLinker.m3:122 >>>>> #23 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) >>>>> at _m3main.mc:4 >>>>> (gdb) >>>>> >>>>> The second error: >>>>> >>>>> Program received signal EXC_BAD_INSTRUCTION, Illegal instruction/ >>>>> operand. >>>>> 0x00b111ac in ?? () >>>>> (gdb) where >>>>> #0 0x00b111ac in ?? () >>>>> #1 0x0001214c in TextSubs__Apply (M3_CN69dV_self=0xb26450, >>>>> M3_Bd56fi_src=0xb21cec) at TextSubs.m3:63 >>>>> #2 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at >>>>> RTLinker.m3:399 >>>>> #3 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at >>>>> RTLinker.m3:113 >>>>> #4 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at >>>>> RTLinker.m3:122 >>>>> #5 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) >>>>> at _m3main.mc:4 >>>>> (gdb) list >>>>> 58 BEGIN >>>>> 59 WHILE pos < textLen DO >>>>> 60 c := Text.GetChar(src, pos); >>>>> 61 IF c IN self.starts THEN >>>>> 62 (* S("analysing: " & Text.Sub(src, pos), >>>>> DebugLevel); *) >>>>> 63 iter := self.tbl.iterateOrdered(); >>>>> 64 ind := pos; >>>>> 65 original := ""; >>>>> 66 REPEAT >>>>> 67 INC(ind); >>>>> (gdb) >>>>> >>>>> Any ideas what to look at? >>>>> >>>>> I don't know if this is relevant: >>>>> >>>>> [lapdog:~/t/cit_parse/PPC_DARWIN] mika% uname -a >>>>> Darwin lapdog.local 7.9.0 Darwin Kernel Version 7.9.0: Wed Mar 30 >>>>> 20:11:17 PST 2005; root:xnu/xnu-517.12.7.obj~1/RELEASE_PPC Power >>>>> Macintosh powerpc >>>>> [lapdog:~/t/cit_parse/PPC_DARWIN] mika% gcc -v >>>>> Reading specs from /usr/libexec/gcc/darwin/ppc/3.3/specs >>>>> Thread model: posix >>>>> gcc version 3.3 20030304 (Apple Computer, Inc. build 1666) >>>>> >>>>> Mika >>>>> >>>>> P.S. Am I correct in assuming that I can get CM3 to build on >>>>> Windows? >>>>> I could switch to CM3 on Unix any time, of course, but I've never >>>>> had luck with it on Windows, which is why I am using the ancient >>>>> Klagenfurt PM3, which comes on 40-odd "floppies" and a .EXE that >>>>> unpacks them into C: (and installation instructions only in >>>>> German). >>>>> If CM3 doesn't work on Windows, I am essentially wasting my time, >>>>> as the current project I am working on absolutely requires that >>>>> the >>>>> software run on Windows 2003 Server (yes, it sucks, but what can >>>>> you do?) The very old PM3 at least kind of hobbles along on this >>>>> platform---actually, better than that; it does Trestle natively >>>>> under Windows (no X required), at least on SOME Windows machines. >>>>> >>>>> P.P.S. Sorry for all the postscripts, but is it true that the >>>>> build system has been changed so that building with overrides >>>>> (cm3 -x) >>>>> requires having the compiler sources available? It didn't use to >>>>> be that way, but I can't get Network Objects to work with >>>>> overrides >>>>> now unless I have the sources available... It's a bit of a pain >>>>> because it means that every user has to have the compiler sources, >>>>> or else ship everything, or was that not the intention? From dabenavidesd at yahoo.es Fri Jun 29 17:31:21 2007 From: dabenavidesd at yahoo.es (Daniel Alejandro Benavides D.) Date: Fri, 29 Jun 2007 17:31:21 +0200 (CEST) Subject: [M3devel] LINUXLIBC6 problem Message-ID: <509060.60875.qm@web27114.mail.ukl.yahoo.com> Hi: Trying to compile the last updated sources from cvs repository, I get this with do-cm3.std.sh buildship, I have done the do-cm3-std.sh realclean before: -> archiving libm3tools.a --- shipping from LINUXLIBC6 --- . => /usr/local/cm3-cvs/pkg/m3tools/LINUXLIBC6 .M3EXPORTS libm3tools.a libm3tools.m3x .M3WEB ../src => /usr/local/cm3-cvs/pkg/m3tools/src M3Lexer.i3 M3Lexer.m3 M3AST.i3 M3AST.m3 M3Parse.m3 M3Scope.i3 M3Scope.m3 M3Type.i3 M3Type.m3 M3Const.m3 M3Const.i3 M3SetVal.i3 M3SetVal.m3 M3RecVal.i3 M3RecVal.m3 M3ArrVal.i3 M3ArrVal.m3 M3Builtin.i3 M3Builtin.m3 ==> /home/danielb/cm3-cvs/cm3/m3-sys/m3tools done === package /home/danielb/cm3-cvs/cm3/m3-sys/m3cgcat === +++ /usr/local/cm3-cvs/bin/cm3 -build -DROOT='/home/danielb/cm3-cvs/cm3' && /usr/local/cm3-cvs/bin/cm3 -ship -DROOT='/home/danielb/cm3-cvs/cm3' +++ --- building in LINUXLIBC6 --- ignoring ../src/m3overrides new source -> compiling Main.m3 -> linking m3cgcat /usr/local/cm3-cvs/pkg/libm3/LINUXLIBC6/libm3.a(FSPosix.mo): In function `FS__SetModificationTime':FSPosix.m3:345: undefined reference to `__wrap_utimes' collect2: ld returned 1 exit status Fatal Error: package build failed *** execution of failed *** danielb at danielb-desktop:~/cm3-cvs/cm3/scripts$ Thanks ____________________________________________________________________________________ ?Descubre una nueva forma de obtener respuestas a tus preguntas! Entra en Yahoo! Respuestas. http://es.answers.yahoo.com/info/welcome From hosking at cs.purdue.edu Fri Jun 29 20:11:29 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Fri, 29 Jun 2007 14:11:29 -0400 Subject: [M3devel] LINUXLIBC6 problem In-Reply-To: <509060.60875.qm@web27114.mail.ukl.yahoo.com> References: <509060.60875.qm@web27114.mail.ukl.yahoo.com> Message-ID: <2F32FD3A-00FD-46E5-BB23-9DAB23003874@cs.purdue.edu> You need to update your cm3.cfg to match the most recent version in cm3/m3-sys/cminstall/src/config/LINUXLIBC6. Wrapping of system calls is no longer needed (or supported) since the VM-synchronized GC has been discarded. On Jun 29, 2007, at 11:31 AM, Daniel Alejandro Benavides D. wrote: > Hi: > Trying to compile the last updated sources from cvs > repository, I get this with do-cm3.std.sh buildship, > I have done the do-cm3-std.sh realclean before: > > -> archiving libm3tools.a > --- shipping from LINUXLIBC6 --- > > . => /usr/local/cm3-cvs/pkg/m3tools/LINUXLIBC6 > .M3EXPORTS libm3tools.a libm3tools.m3x > .M3WEB > ../src => /usr/local/cm3-cvs/pkg/m3tools/src > M3Lexer.i3 M3Lexer.m3 M3AST.i3 > M3AST.m3 > M3Parse.m3 M3Scope.i3 M3Scope.m3 > M3Type.i3 > M3Type.m3 M3Const.m3 M3Const.i3 > M3SetVal.i3 > M3SetVal.m3 M3RecVal.i3 M3RecVal.m3 > M3ArrVal.i3 > M3ArrVal.m3 M3Builtin.i3 M3Builtin.m3 > ==> /home/danielb/cm3-cvs/cm3/m3-sys/m3tools done > > === package /home/danielb/cm3-cvs/cm3/m3-sys/m3cgcat > === > +++ /usr/local/cm3-cvs/bin/cm3 -build > -DROOT='/home/danielb/cm3-cvs/cm3' && > /usr/local/cm3-cvs/bin/cm3 -ship > -DROOT='/home/danielb/cm3-cvs/cm3' +++ > --- building in LINUXLIBC6 --- > > ignoring ../src/m3overrides > > new source -> compiling Main.m3 > -> linking m3cgcat > /usr/local/cm3-cvs/pkg/libm3/LINUXLIBC6/libm3.a(FSPosix.mo): > In function `FS__SetModificationTime':FSPosix.m3:345: > undefined reference to `__wrap_utimes' > collect2: ld returned 1 exit status > Fatal Error: package build failed > *** execution of failed *** > danielb at danielb-desktop:~/cm3-cvs/cm3/scripts$ > > > > Thanks > > > > ______________________________________________________________________ > ______________ > ?Descubre una nueva forma de obtener respuestas a tus preguntas! > Entra en Yahoo! Respuestas. > http://es.answers.yahoo.com/info/welcome From hosking at cs.purdue.edu Fri Jun 29 20:11:42 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Fri, 29 Jun 2007 14:11:42 -0400 Subject: [M3devel] LINUXLIBC6 problem In-Reply-To: <509060.60875.qm@web27114.mail.ukl.yahoo.com> References: <509060.60875.qm@web27114.mail.ukl.yahoo.com> Message-ID: <16DCE58A-40FF-4774-A645-5B2AB5A95FAE@cs.purdue.edu> You need to update your cm3.cfg to match the most recent version in cm3/m3-sys/cminstall/src/config/LINUXLIBC6. Wrapping of system calls is no longer needed (or supported) since the VM-synchronized GC has been discarded. On Jun 29, 2007, at 11:31 AM, Daniel Alejandro Benavides D. wrote: > Hi: > Trying to compile the last updated sources from cvs > repository, I get this with do-cm3.std.sh buildship, > I have done the do-cm3-std.sh realclean before: > > -> archiving libm3tools.a > --- shipping from LINUXLIBC6 --- > > . => /usr/local/cm3-cvs/pkg/m3tools/LINUXLIBC6 > .M3EXPORTS libm3tools.a libm3tools.m3x > .M3WEB > ../src => /usr/local/cm3-cvs/pkg/m3tools/src > M3Lexer.i3 M3Lexer.m3 M3AST.i3 > M3AST.m3 > M3Parse.m3 M3Scope.i3 M3Scope.m3 > M3Type.i3 > M3Type.m3 M3Const.m3 M3Const.i3 > M3SetVal.i3 > M3SetVal.m3 M3RecVal.i3 M3RecVal.m3 > M3ArrVal.i3 > M3ArrVal.m3 M3Builtin.i3 M3Builtin.m3 > ==> /home/danielb/cm3-cvs/cm3/m3-sys/m3tools done > > === package /home/danielb/cm3-cvs/cm3/m3-sys/m3cgcat > === > +++ /usr/local/cm3-cvs/bin/cm3 -build > -DROOT='/home/danielb/cm3-cvs/cm3' && > /usr/local/cm3-cvs/bin/cm3 -ship > -DROOT='/home/danielb/cm3-cvs/cm3' +++ > --- building in LINUXLIBC6 --- > > ignoring ../src/m3overrides > > new source -> compiling Main.m3 > -> linking m3cgcat > /usr/local/cm3-cvs/pkg/libm3/LINUXLIBC6/libm3.a(FSPosix.mo): > In function `FS__SetModificationTime':FSPosix.m3:345: > undefined reference to `__wrap_utimes' > collect2: ld returned 1 exit status > Fatal Error: package build failed > *** execution of failed *** > danielb at danielb-desktop:~/cm3-cvs/cm3/scripts$ > > > > Thanks > > > > ______________________________________________________________________ > ______________ > ?Descubre una nueva forma de obtener respuestas a tus preguntas! > Entra en Yahoo! Respuestas. > http://es.answers.yahoo.com/info/welcome From dragisha at m3w.org Fri Jun 29 20:20:21 2007 From: dragisha at m3w.org (=?UTF-8?Q?Dragi=C5=A1a_Duri=C4=87?=) Date: Fri, 29 Jun 2007 20:20:21 +0200 Subject: [M3devel] LINUXLIBC6 problem In-Reply-To: <2F32FD3A-00FD-46E5-BB23-9DAB23003874@cs.purdue.edu> References: <509060.60875.qm@web27114.mail.ukl.yahoo.com> <2F32FD3A-00FD-46E5-BB23-9DAB23003874@cs.purdue.edu> Message-ID: <1183141221.9643.143.camel@faramir.m3w.org> This being non-trivial... Can you provide us with diff of your systems cm3.cfg before and after wrapper removal? dd On Fri, 2007-06-29 at 14:11 -0400, Tony Hosking wrote: > You need to update your cm3.cfg to match the most recent version in > cm3/m3-sys/cminstall/src/config/LINUXLIBC6. > > Wrapping of system calls is no longer needed (or supported) since the > VM-synchronized GC has been discarded. > > On Jun 29, 2007, at 11:31 AM, Daniel Alejandro Benavides D. wrote: > > > Hi: > > Trying to compile the last updated sources from cvs > > repository, I get this with do-cm3.std.sh buildship, > > I have done the do-cm3-std.sh realclean before: > > > > -> archiving libm3tools.a > > --- shipping from LINUXLIBC6 --- > > > > . => /usr/local/cm3-cvs/pkg/m3tools/LINUXLIBC6 > > .M3EXPORTS libm3tools.a libm3tools.m3x > > .M3WEB > > ../src => /usr/local/cm3-cvs/pkg/m3tools/src > > M3Lexer.i3 M3Lexer.m3 M3AST.i3 > > M3AST.m3 > > M3Parse.m3 M3Scope.i3 M3Scope.m3 > > M3Type.i3 > > M3Type.m3 M3Const.m3 M3Const.i3 > > M3SetVal.i3 > > M3SetVal.m3 M3RecVal.i3 M3RecVal.m3 > > M3ArrVal.i3 > > M3ArrVal.m3 M3Builtin.i3 M3Builtin.m3 > > ==> /home/danielb/cm3-cvs/cm3/m3-sys/m3tools done > > > > === package /home/danielb/cm3-cvs/cm3/m3-sys/m3cgcat > > === > > +++ /usr/local/cm3-cvs/bin/cm3 -build > > -DROOT='/home/danielb/cm3-cvs/cm3' && > > /usr/local/cm3-cvs/bin/cm3 -ship > > -DROOT='/home/danielb/cm3-cvs/cm3' +++ > > --- building in LINUXLIBC6 --- > > > > ignoring ../src/m3overrides > > > > new source -> compiling Main.m3 > > -> linking m3cgcat > > /usr/local/cm3-cvs/pkg/libm3/LINUXLIBC6/libm3.a(FSPosix.mo): > > In function `FS__SetModificationTime':FSPosix.m3:345: > > undefined reference to `__wrap_utimes' > > collect2: ld returned 1 exit status > > Fatal Error: package build failed > > *** execution of failed *** > > danielb at danielb-desktop:~/cm3-cvs/cm3/scripts$ > > > > > > > > Thanks > > > > > > > > ______________________________________________________________________ > > ______________ > > ?Descubre una nueva forma de obtener respuestas a tus preguntas! > > Entra en Yahoo! Respuestas. > > http://es.answers.yahoo.com/info/welcome > -- Dragi?a Duri? From hosking at cs.purdue.edu Fri Jun 29 20:24:03 2007 From: hosking at cs.purdue.edu (Antony Hosking) Date: Fri, 29 Jun 2007 14:24:03 -0400 Subject: [M3devel] LINUXLIBC6 problem In-Reply-To: <1183141221.9643.143.camel@faramir.m3w.org> References: <509060.60875.qm@web27114.mail.ukl.yahoo.com> <2F32FD3A-00FD-46E5-BB23-9DAB23003874@cs.purdue.edu> <1183141221.9643.143.camel@faramir.m3w.org> Message-ID: <8DBCD210-FD52-4EA5-9975-2D2500D612ED@cs.purdue.edu> This is what I am using currently for 32-bit cm3 running on AMD64 with 64-bit kernel. -------------- next part -------------- A non-text attachment was scrubbed... Name: cm3.cfg Type: application/octet-stream Size: 11966 bytes Desc: not available URL: -------------- next part -------------- I haven't done a build lately for regular Linux. On Jun 29, 2007, at 2:20 PM, Dragi?a Duri? wrote: > This being non-trivial... Can you provide us with diff of your systems > cm3.cfg before and after wrapper removal? > > dd > > On Fri, 2007-06-29 at 14:11 -0400, Tony Hosking wrote: >> You need to update your cm3.cfg to match the most recent version in >> cm3/m3-sys/cminstall/src/config/LINUXLIBC6. >> >> Wrapping of system calls is no longer needed (or supported) since the >> VM-synchronized GC has been discarded. >> >> On Jun 29, 2007, at 11:31 AM, Daniel Alejandro Benavides D. wrote: >> >>> Hi: >>> Trying to compile the last updated sources from cvs >>> repository, I get this with do-cm3.std.sh buildship, >>> I have done the do-cm3-std.sh realclean before: >>> >>> -> archiving libm3tools.a >>> --- shipping from LINUXLIBC6 --- >>> >>> . => /usr/local/cm3-cvs/pkg/m3tools/LINUXLIBC6 >>> .M3EXPORTS libm3tools.a libm3tools.m3x >>> .M3WEB >>> ../src => /usr/local/cm3-cvs/pkg/m3tools/src >>> M3Lexer.i3 M3Lexer.m3 M3AST.i3 >>> M3AST.m3 >>> M3Parse.m3 M3Scope.i3 M3Scope.m3 >>> M3Type.i3 >>> M3Type.m3 M3Const.m3 M3Const.i3 >>> M3SetVal.i3 >>> M3SetVal.m3 M3RecVal.i3 M3RecVal.m3 >>> M3ArrVal.i3 >>> M3ArrVal.m3 M3Builtin.i3 M3Builtin.m3 >>> ==> /home/danielb/cm3-cvs/cm3/m3-sys/m3tools done >>> >>> === package /home/danielb/cm3-cvs/cm3/m3-sys/m3cgcat >>> === >>> +++ /usr/local/cm3-cvs/bin/cm3 -build >>> -DROOT='/home/danielb/cm3-cvs/cm3' && >>> /usr/local/cm3-cvs/bin/cm3 -ship >>> -DROOT='/home/danielb/cm3-cvs/cm3' +++ >>> --- building in LINUXLIBC6 --- >>> >>> ignoring ../src/m3overrides >>> >>> new source -> compiling Main.m3 >>> -> linking m3cgcat >>> /usr/local/cm3-cvs/pkg/libm3/LINUXLIBC6/libm3.a(FSPosix.mo): >>> In function `FS__SetModificationTime':FSPosix.m3:345: >>> undefined reference to `__wrap_utimes' >>> collect2: ld returned 1 exit status >>> Fatal Error: package build failed >>> *** execution of failed *** >>> danielb at danielb-desktop:~/cm3-cvs/cm3/scripts$ >>> >>> >>> >>> Thanks >>> >>> >>> >>> ____________________________________________________________________ >>> __ >>> ______________ >>> ?Descubre una nueva forma de obtener respuestas a tus preguntas! >>> Entra en Yahoo! Respuestas. >>> http://es.answers.yahoo.com/info/welcome >> > -- > Dragi?a Duri? From dragisha at m3w.org Fri Jun 29 20:29:01 2007 From: dragisha at m3w.org (=?UTF-8?Q?Dragi=C5=A1a_Duri=C4=87?=) Date: Fri, 29 Jun 2007 20:29:01 +0200 Subject: [M3devel] LINUXLIBC6 problem In-Reply-To: <1183141221.9643.143.camel@faramir.m3w.org> References: <509060.60875.qm@web27114.mail.ukl.yahoo.com> <2F32FD3A-00FD-46E5-BB23-9DAB23003874@cs.purdue.edu> <1183141221.9643.143.camel@faramir.m3w.org> Message-ID: <1183141741.9643.146.camel@faramir.m3w.org> Not too nice to reply to own message, but probably a time saver for people upgrading to cvs-head: --- /home/dragisha/cm3/bin/cm3.cfg 2007-04-19 22:20:00.000000000 +0200 +++ /usr/local/cm3/bin/cm3.cfg 2007-06-29 20:27:03.000000000 +0200 @@ -69,5 +69,5 @@ % fixed the permissions. -INSTALL_ROOT = "/home/dragisha/cm3" +INSTALL_ROOT = "/usr/local/cm3" BIN_INSTALL = INSTALL_ROOT & "/bin" % executables @@ -149,6 +149,6 @@ proc m3_backend (source, object, optimize, debug) is - local args = [ "-quiet", source, "-o", object, "-fPIC" ] - if optimize args += "-O" end + local args = [ "-quiet", source, "-o", object, "-fPIC", "-m32", "-fno-reorder-blocks" ] + if optimize args += "-O3" end if debug args += "-gstabs+" end if M3_PROFILING args += "-p" end @@ -169,5 +169,5 @@ proc compile_c (source, object, options, optimize, debug) is - local args = [ "-fPIC", options ] + local args = [ "-m32", "-fPIC", options ] if optimize args += "-O" end if debug args += "-gstabs+" end @@ -182,5 +182,5 @@ proc assemble (source, object) is - return try_exec ("@" & SYSTEM_ASM, source, "-o", object) + return try_exec ("@" & SYSTEM_ASM, "--32", source, "-o", object) end @@ -189,6 +189,4 @@ % a library. -GCWRAPFLAGS = "-Wl,--wrap,adjtime,--wrap,getdirentries,--wrap,readv,--wrap,utimes,--wrap,wait3" - proc make_lib (lib, options, objects, imported_libs, shared) is local ret_code = 0 @@ -204,9 +202,9 @@ % build the shared library if M3_PROFILING - ret_code = try_exec ("@" & SYSTEM_CC, "-pg -shared " & GCWRAPFLAGS & + ret_code = try_exec ("@" & SYSTEM_CC, "-pg -shared -m32 " & "-Wl,-soname," & lib_sox, "-o", lib_sox, objects) else - ret_code = try_exec ("@" & SYSTEM_CC, "-shared " & GCWRAPFLAGS & + ret_code = try_exec ("@" & SYSTEM_CC, "-shared -m32 " & "-Wl,-soname," & lib_sox, "-o", lib_sox, objects) @@ -260,9 +258,9 @@ local args = [] if M3_PROFILING args += "-pg" end - args += [ "-o", prog, "-fPIC", options, objects, imported_libs ] + args += [ "-m32", "-o", prog, "-fPIC", options, objects, imported_libs ] if shared - return try_exec ("@" & SYSTEM_CC, args, GCWRAPFLAGS) + return try_exec ("@" & SYSTEM_CC, args) else - return try_exec ("@" & SYSTEM_CC, "-static", args, GCWRAPFLAGS) + return try_exec ("@" & SYSTEM_CC, "-static", args) %%% -- see M3_NEED_STANDALONE_LINKS below %%%return try_exec ("@" & SYSTEM_CC, args) On Fri, 2007-06-29 at 20:20 +0200, Dragi?a Duri? wrote: > This being non-trivial... Can you provide us with diff of your systems > cm3.cfg before and after wrapper removal? > > dd > > On Fri, 2007-06-29 at 14:11 -0400, Tony Hosking wrote: > > You need to update your cm3.cfg to match the most recent version in > > cm3/m3-sys/cminstall/src/config/LINUXLIBC6. > > > > Wrapping of system calls is no longer needed (or supported) since the > > VM-synchronized GC has been discarded. > > > > On Jun 29, 2007, at 11:31 AM, Daniel Alejandro Benavides D. wrote: > > > > > Hi: > > > Trying to compile the last updated sources from cvs > > > repository, I get this with do-cm3.std.sh buildship, > > > I have done the do-cm3-std.sh realclean before: > > > > > > -> archiving libm3tools.a > > > --- shipping from LINUXLIBC6 --- > > > > > > . => /usr/local/cm3-cvs/pkg/m3tools/LINUXLIBC6 > > > .M3EXPORTS libm3tools.a libm3tools.m3x > > > .M3WEB > > > ../src => /usr/local/cm3-cvs/pkg/m3tools/src > > > M3Lexer.i3 M3Lexer.m3 M3AST.i3 > > > M3AST.m3 > > > M3Parse.m3 M3Scope.i3 M3Scope.m3 > > > M3Type.i3 > > > M3Type.m3 M3Const.m3 M3Const.i3 > > > M3SetVal.i3 > > > M3SetVal.m3 M3RecVal.i3 M3RecVal.m3 > > > M3ArrVal.i3 > > > M3ArrVal.m3 M3Builtin.i3 M3Builtin.m3 > > > ==> /home/danielb/cm3-cvs/cm3/m3-sys/m3tools done > > > > > > === package /home/danielb/cm3-cvs/cm3/m3-sys/m3cgcat > > > === > > > +++ /usr/local/cm3-cvs/bin/cm3 -build > > > -DROOT='/home/danielb/cm3-cvs/cm3' && > > > /usr/local/cm3-cvs/bin/cm3 -ship > > > -DROOT='/home/danielb/cm3-cvs/cm3' +++ > > > --- building in LINUXLIBC6 --- > > > > > > ignoring ../src/m3overrides > > > > > > new source -> compiling Main.m3 > > > -> linking m3cgcat > > > /usr/local/cm3-cvs/pkg/libm3/LINUXLIBC6/libm3.a(FSPosix.mo): > > > In function `FS__SetModificationTime':FSPosix.m3:345: > > > undefined reference to `__wrap_utimes' > > > collect2: ld returned 1 exit status > > > Fatal Error: package build failed > > > *** execution of failed *** > > > danielb at danielb-desktop:~/cm3-cvs/cm3/scripts$ > > > > > > > > > > > > Thanks > > > > > > > > > > > > ______________________________________________________________________ > > > ______________ > > > ?Descubre una nueva forma de obtener respuestas a tus preguntas! > > > Entra en Yahoo! Respuestas. > > > http://es.answers.yahoo.com/info/welcome > > -- Dragi?a Duri? From dabenavidesd at yahoo.es Sat Jun 30 12:20:00 2007 From: dabenavidesd at yahoo.es (Daniel Alejandro Benavides D.) Date: Sat, 30 Jun 2007 12:20:00 +0200 (CEST) Subject: [M3devel] LINUXLIBC6 problem In-Reply-To: <1183141741.9643.146.camel@faramir.m3w.org> Message-ID: <135693.79060.qm@web27104.mail.ukl.yahoo.com> Hi everybody: I like to thank you for your great help. Now I can compile with the modifications on my cm3.cfg. The file is attached in the mail. Thanks --- Dragi??a Duri?? escribi?: > Not too nice to reply to own message, but probably a > time saver for > people upgrading to cvs-head: > > --- /home/dragisha/cm3/bin/cm3.cfg 2007-04-19 > 22:20:00.000000000 +0200 > +++ /usr/local/cm3/bin/cm3.cfg 2007-06-29 > 20:27:03.000000000 +0200 > @@ -69,5 +69,5 @@ > % fixed the permissions. > > -INSTALL_ROOT = "/home/dragisha/cm3" > +INSTALL_ROOT = "/usr/local/cm3" > > BIN_INSTALL = INSTALL_ROOT & "/bin" % > executables > @@ -149,6 +149,6 @@ > > proc m3_backend (source, object, optimize, debug) > is > - local args = [ "-quiet", source, "-o", object, > "-fPIC" ] > - if optimize args += "-O" end > + local args = [ "-quiet", source, "-o", object, > "-fPIC", "-m32", "-fno-reorder-blocks" ] > + if optimize args += "-O3" end > if debug args += "-gstabs+" end > if M3_PROFILING args += "-p" end > @@ -169,5 +169,5 @@ > > proc compile_c (source, object, options, optimize, > debug) is > - local args = [ "-fPIC", options ] > + local args = [ "-m32", "-fPIC", options ] > if optimize args += "-O" end > if debug args += "-gstabs+" end > @@ -182,5 +182,5 @@ > > proc assemble (source, object) is > - return try_exec ("@" & SYSTEM_ASM, source, "-o", > object) > + return try_exec ("@" & SYSTEM_ASM, "--32", > source, "-o", object) > end > > @@ -189,6 +189,4 @@ > % a library. > > -GCWRAPFLAGS = > "-Wl,--wrap,adjtime,--wrap,getdirentries,--wrap,readv,--wrap,utimes,--wrap,wait3" > - > proc make_lib (lib, options, objects, > imported_libs, shared) is > local ret_code = 0 > @@ -204,9 +202,9 @@ > % build the shared library > if M3_PROFILING > - ret_code = try_exec ("@" & SYSTEM_CC, "-pg > -shared " & GCWRAPFLAGS & > + ret_code = try_exec ("@" & SYSTEM_CC, "-pg > -shared -m32 " & > "-Wl,-soname," & > lib_sox, > "-o", lib_sox, objects) > else > - ret_code = try_exec ("@" & SYSTEM_CC, > "-shared " & GCWRAPFLAGS & > + ret_code = try_exec ("@" & SYSTEM_CC, > "-shared -m32 " & > "-Wl,-soname," & > lib_sox, > "-o", lib_sox, objects) > @@ -260,9 +258,9 @@ > local args = [] > if M3_PROFILING args += "-pg" end > - args += [ "-o", prog, "-fPIC", options, objects, > imported_libs ] > + args += [ "-m32", "-o", prog, "-fPIC", options, > objects, imported_libs ] > if shared > - return try_exec ("@" & SYSTEM_CC, args, > GCWRAPFLAGS) > + return try_exec ("@" & SYSTEM_CC, args) > else > - return try_exec ("@" & SYSTEM_CC, "-static", > args, GCWRAPFLAGS) > + return try_exec ("@" & SYSTEM_CC, "-static", > args) > %%% -- see M3_NEED_STANDALONE_LINKS below > %%%return try_exec ("@" & SYSTEM_CC, args) > > On Fri, 2007-06-29 at 20:20 +0200, Dragi??a Duri?? > wrote: > > This being non-trivial... Can you provide us with > diff of your systems > > cm3.cfg before and after wrapper removal? > > > > dd > > > > On Fri, 2007-06-29 at 14:11 -0400, Tony Hosking > wrote: > > > You need to update your cm3.cfg to match the > most recent version in > > > cm3/m3-sys/cminstall/src/config/LINUXLIBC6. > > > > > > Wrapping of system calls is no longer needed (or > supported) since the > > > VM-synchronized GC has been discarded. > > > > > > On Jun 29, 2007, at 11:31 AM, Daniel Alejandro > Benavides D. wrote: > > > > > > > Hi: > > > > Trying to compile the last updated sources > from cvs > > > > repository, I get this with do-cm3.std.sh > buildship, > > > > I have done the do-cm3-std.sh realclean > before: > > > > > > > > -> archiving libm3tools.a > > > > --- shipping from LINUXLIBC6 --- > > > > > > > > . => /usr/local/cm3-cvs/pkg/m3tools/LINUXLIBC6 > > > > .M3EXPORTS libm3tools.a > libm3tools.m3x > > > > .M3WEB > > > > ../src => /usr/local/cm3-cvs/pkg/m3tools/src > > > > M3Lexer.i3 M3Lexer.m3 M3AST.i3 > > > > M3AST.m3 > > > > M3Parse.m3 M3Scope.i3 > M3Scope.m3 > > > > M3Type.i3 > > > > M3Type.m3 M3Const.m3 > M3Const.i3 > > > > M3SetVal.i3 > > > > M3SetVal.m3 M3RecVal.i3 > M3RecVal.m3 > > > > M3ArrVal.i3 > > > > M3ArrVal.m3 M3Builtin.i3 > M3Builtin.m3 > > > > ==> /home/danielb/cm3-cvs/cm3/m3-sys/m3tools > done > > > > > > > > === package > /home/danielb/cm3-cvs/cm3/m3-sys/m3cgcat > > > > === > > > > +++ /usr/local/cm3-cvs/bin/cm3 -build > > > > -DROOT='/home/danielb/cm3-cvs/cm3' && > > > > /usr/local/cm3-cvs/bin/cm3 -ship > > > > -DROOT='/home/danielb/cm3-cvs/cm3' +++ > > > > --- building in LINUXLIBC6 --- > > > > > > > > ignoring ../src/m3overrides > > > > > > > > new source -> compiling Main.m3 > > > > -> linking m3cgcat > > > > > /usr/local/cm3-cvs/pkg/libm3/LINUXLIBC6/libm3.a(FSPosix.mo): > > > > In function > `FS__SetModificationTime':FSPosix.m3:345: > > > > undefined reference to `__wrap_utimes' > > > > collect2: ld returned 1 exit status > > > > Fatal Error: package build failed > > > > *** execution of failed *** > > > > danielb at danielb-desktop:~/cm3-cvs/cm3/scripts$ > > > > > > > > > > > > > > > > Thanks > > > > > > > > > > > > > > > > > ______________________________________________________________________ > > > > > ______________ > > > > ??Descubre una nueva forma de obtener > respuestas a tus preguntas! > > > > Entra en Yahoo! Respuestas. > > > > http://es.answers.yahoo.com/info/welcome > > > > -- > Dragi??a Duri?? > > ____________________________________________________________________________________ ?Descubre una nueva forma de obtener respuestas a tus preguntas! Entra en Yahoo! Respuestas. http://es.answers.yahoo.com/info/welcome From hosking at cs.purdue.edu Fri Jun 1 23:11:04 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Fri, 01 Jun 2007 21:11:04 -0000 Subject: [M3devel] Progress bootstrapping, but still trouble In-Reply-To: <4660883F.6030503@wichita.edu> References: <4659B097.5040908@wichita.edu> <4660883F.6030503@wichita.edu> Message-ID: <2EB5C3FA-9082-4875-8BA8-F439524E2B1B@cs.purdue.edu> I'm not sure about the details of you system, but you may find the attached cm3.cfg for LINUXLIBC6 to be useful. It works for me on Fedora Core. You should modify the paths as appropriate for your Linux installation. -------------- next part -------------- A non-text attachment was scrubbed... Name: cm3.cfg Type: application/octet-stream Size: 12122 bytes Desc: not available URL: -------------- next part -------------- On Jun 1, 2007, at 4:57 PM, Rodney M. Bates wrote: > My first problem bootstrapping cm3: > > ThreadPosix.i3: missing object types: _t1541f475 > imported by: TimeStamp.m3 > > goes away when I either 1) delete the entire cm3 distribution and > do a fresh cvs checkout, > or 2) do a 'do-cm3-std.sh realclean'. > > Thanks to Antony for making me aware of 'realclean', which I hadn't > known about. I have never > been able to satisfactorily clean a cm3 tree before, with 'clean' > giving lots of failure messages > and removing things inside LINUXLIBC6 build directories leaving > things unable to build due to > missing files. > > My second problem: > > rodney at runnymede:/usr/local/cm3/bin$ file m3bundle > m3bundle: ELF 32-bit LSB executable, Intel 80386, version 1 > (SYSV), for GNU/Linux 2.6.9, > dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not > stripped > rodney at runnymede:/usr/local/cm3/bin$ ./m3bundle > -bash: ./m3bundle: No such file or directory > > went away after some work on finding libpthreads. Thanks to > Daniel's web page for getting me > to looking at libpthreads. > > My cm3.cfg already had, inside SYSTEM_LIBS, the line: > > "PTHREAD" : [ "-Xlinker", "-Bdynamic", "-L/lib", "-lpthread" ], > > For one thing, there are three places in my distribution with non- > link versions of libpthread*.so: > /lib, /lib/i686, and /usr/lib. They are all different in size, and > I have no clue what the > differences are, but only /usr/lib has a link named libpthread.so, > so I guessed that was the > right place and changed cm3.cfg to look there. > > That didn't change anything, (same size executable), but removing > the "-Xlinker", "-Bdynamic", made > cm3 compile an executable for m3bundle and other things that will > load and run. There is a > libpthread.a in /usr/lib (and nowhere else that I found.) > > But this is apparently not the whole story with libraries. > Another program compiles to an executable with the same problem, > i.e., attempts > to execute it give -bash: ./LdlBatch: No such file or directory. > The other lines > in my SYSTEM_LIBS also had -Xlinker", "-Bdynamic", but removing > them fro"X11" line > gives me this: > > new "Version.io" -> linking LdlBatch > /usr/local/cm3/pkg/ui/LINUXLIBC6/libm3ui.a(TrestleOS.mo): In > function `TrestleOS__UserName': > /home/rodney/proj/m3/cm3-fresh/cm3/m3-ui/ui/LINUXLIBC6/ > TrestleOS.m3:32: warning: Using 'getpwuid' in statically linked > applications requires at runtime the shared libraries from theglibc > version used for linking > /usr/lib/libX11.a(x11_trans.o): In function `_X11TransSocketOpen': > /usr/include/X11/Xtrans/Xtranssock.c:468: warning: Using > 'getaddrinfo' in statically linked applications requires at runtime > the shared libraries from the glibc version used for linking > /usr/lib/libX11.a(imLcIm.o): In function `_XimWriteCachedDefaultTree': > /usr/src/rpm/BUILD/libX11-1.0.3/modules/im/ximcp/imLcIm.c:476: > warning: memset used with constant zero length parameter; this > could be due to transposed parameters > /usr/local/cm3/pkg/tcp/LINUXLIBC6/libm3tcp.a(IP.mo): In function > `IP__GetCanonicalByAddr': > /home/rodney/proj/m3/cm3-fresh/cm3/m3-comm/tcp/LINUXLIBC6/IP.m3:53: > warning: Using 'gethostbyaddr' in statically linked applications > requires at runtime the shared libraries from the glibc version > used for linking > /usr/local/cm3/pkg/tcp/LINUXLIBC6/libm3tcp.a(IP.mo): In function > `IP__GetHostByName': > /home/rodney/proj/m3/cm3-fresh/cm3/m3-comm/tcp/LINUXLIBC6/IP.m3:21: > warning: Using 'gethostbyname' in statically linked applications > requires at runtime the shared libraries from the glibc version > used for linking > /usr/lib/libX11.a(x11_trans.o): In function > `_X11TransSocketINETConnect': > /usr/include/X11/Xtrans/Xtranssock.c:1670: warning: Using > 'getservbyname' in statically linked applications requires at > runtime the shared libraries from the glibc version used for linking > /usr/lib/libX11.a(ConnDis.o): In function `GetAuthorization': > /usr/src/rpm/BUILD/libX11-1.0.3/src/ConnDis.c:1232: undefined > reference to `XauDisposeAuth' > /usr/src/rpm/BUILD/libX11-1.0.3/src/ConnDis.c:1037: undefined > reference to `XauGetBestAuthByAddr' > /usr/src/rpm/BUILD/libX11-1.0.3/src/ConnDis.c:1176: undefined > reference to `XdmcpWrap' > /usr/lib/libX11.a(CrGlCur.o): In function `open_library': > /usr/src/rpm/BUILD/libX11-1.0.3/src/CrGlCur.c:72: undefined > reference to `dlopen' > /usr/lib/libX11.a(CrGlCur.o): In function `fetch_symbol': > /usr/src/rpm/BUILD/libX11-1.0.3/src/CrGlCur.c:107: undefined > reference to `dlsym' > /usr/src/rpm/BUILD/libX11-1.0.3/src/CrGlCur.c:109: undefined > reference to `dlsym' > collect2: ld returned 1 exit status > Fatal Error: package build failed > > Anyone have any ideas on why neither dynamic nor static linking > works, or how to figure out what > version of the libraries I need? Better yet, can anyone point me > to some real documentation on > Linux dynamic linking in general? I've always been overwhelmed > with false hits when trying to find > it with a search engine. > > > > > > > > > > -- > ------------------------------------------------------------- > 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 ronny.forberger at elegosoft.com Fri Jun 1 23:54:14 2007 From: ronny.forberger at elegosoft.com (Ronny Forberger) Date: Fri, 01 Jun 2007 21:54:14 -0000 Subject: [M3devel] [cm3] [partially-solved] unresolved pthread symbols during bootstrap In-Reply-To: <20070530234204.77087.qmail@web27115.mail.ukl.yahoo.com> References: <20070530234204.77087.qmail@web27115.mail.ukl.yahoo.com> Message-ID: <46609577.9040600@elegosoft.com> Hi, the pthread symbol problem has solved for me. I was using development version of cm3. Now having checked out release_cm3_5_4_0 the symbols weren't needed, not even it was necessary to add PTHREAD to any array in cm3.cfg. But I now getting another issue: Though the build process successfully went though the ./do-cm3-core.sh buildship ./install-cm3-compiler.sh upgrade ./do-cm3-std.sh buildship commands, I can't see m3build binary having been built or installed. The documentation couldn't give me any answer on here as well. Have you got ideas again ? Thank you. Ronny Daniel Alejandro Benavides D. wrote: > Hi, > Looks that you haven't used the SYSTEM_LIBORDER array, > must be "PTHREAD" there in order to really link it. > > Maybe this little guide can help. Can have several > omissions, but It works well in (K)ubuntu 6.06 and > 6.10 > http://es.geocities.com/dabenavidesd/InstallationGuidecm3-Modula-3.html#SECTION00033000000000000000 > > > --- Ronny Forberger > wrote: > >> Dear m3-Developers, >> >> I could not successfully build the cm3 compiler when >> invoking >> >> >> >> >>> ./do-cm3-std.sh buildship >>> >> from the script directory as described in the >> documentation. >> >> The build process stops by the following: >> >> >>> === package /root/cm3/m3-sys/m3cgcat === >>> +++ cm3 -build -DROOT='/root/cm3' && cm3 -ship >>> >> -DROOT='/root/cm3' +++ >> >>> --- building in LINUXLIBC6 --- >>> >>> ignoring ../src/m3overrides >>> >>> -> linking m3cgcat >>> >>> > /usr/local/cm3/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): > >> In >> >>> function `ThreadPThread__InnerLockMutex': >>> >>> > /root/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:142: > >> undefined >> >>> reference to `pthread_cond_wait' >>> >>> >> [ some similar lines removed ] >> >> >>> > /usr/local/cm3/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): > >> In >> >>> function `RTHooks__PushEFrame': >>> >>> > /root/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1429: > >> undefined >> >>> reference to `pthread_getspecific' >>> >>> > /root/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1430: > >> undefined >> >>> reference to `pthread_setspecific' >>> >>> > /usr/local/cm3/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): > >> In >> >>> function `RTHooks__PopEFrame': >>> >>> > /root/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1437: > >> undefined >> >>> reference to `pthread_setspecific' >>> >>> > /usr/local/cm3/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): > >> In >> >>> function `ThreadPThread__InitHandlers': >>> >>> > /root/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1442: > >> undefined >> >>> reference to `pthread_key_create' >>> >>> > /root/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1443: > >> undefined >> >>> reference to `pthread_setspecific' >>> >>> > /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libc.a(vfork.o): > >> In >> >>> function `vfork': >>> (.text+0x1): undefined reference to >>> >> `pthread_create' >> >>> collect2: ld returned 1 exit status >>> Fatal Error: package build failed >>> *** execution of failed *** >>> >> Looks like gcc cannot link against the pthread-lib. >> >> I have already added >> >> >>> "PTHREAD" : [ "-L/usr/lib", "-lpthread" ] >>> >> to the SYSTEM_LIBS array in cm3.cfg. >> >> This is a Debian 4.0 'etch' system (x86) where >> libpthread.a resides in >> /usr/lib. >> >> I can build trivial C programs like gcc foo.c -L >> /usr/lib -lpthread >> arccordingly which become linked against >> libpthread.a properly. >> >> >> Do you have any glues? >> >> Best regards, >> >> Ronny >> >> -- >> Ronny Forberger >> Systemadministrator >> >> elego Software Solutions GmbH >> ronny.forberger(at)elegosoft.com >> Ohmstra?e 9, 10179 Berlin HRB 77719 >> Tel.: +49 30 23 45 86 96 Amtsgericht >> Charlottenburg >> Fax: +49 30 23 45 86 95 Sitz der >> Gesellschaft: Berlin >> http://www.elegosoft.com >> Gesch?ftsf?hrer: Olaf Wagner >> >> Bitte senden Sie Ihre technischen Support-Anfragen >> an admins(at)elego.de . >> >> >> > > > > > ______________________________________________ > LLama Gratis a cualquier PC del Mundo. > Llamadas a fijos y m?viles desde 1 c?ntimo por minuto. > http://es.voice.yahoo.com > -- Ronny Forberger Systemadministrator elego Software Solutions GmbH ronny.forberger(at)elegosoft.com Ohmstra??e 9, 10179 Berlin HRB 77719 Tel.: +49 30 23 45 86 96 Amtsgericht Charlottenburg Fax: +49 30 23 45 86 95 Sitz der Gesellschaft: Berlin http://www.elegosoft.com Gesch?EURftsf?OEhrer: Olaf Wagner Bitte senden Sie Ihre technischen Support-Anfragen an admins(at)elego.de . -------------- next part -------------- An HTML attachment was scrubbed... URL: From ronny.forberger at elegosoft.com Thu Jun 7 13:53:48 2007 From: ronny.forberger at elegosoft.com (Ronny Forberger) Date: Thu, 07 Jun 2007 11:53:48 -0000 Subject: [M3devel] errors building cvsup wih cm3 In-Reply-To: <20070605023041.71990.qmail@web27105.mail.ukl.yahoo.com> References: <20070605023041.71990.qmail@web27105.mail.ukl.yahoo.com> Message-ID: <4667F1C6.2030709@elegosoft.com> Hi, with this solution I was able to build cvsup with cm3. Thanks to all. Ronny Daniel Alejandro Benavides D. wrote: >Hi, >One of the problems I had when compiling cvsup with >current cm3 on suplib/src/FileAttr.m3 >when calling utime.gettimeofday because of the >definition of the function Utime ><*EXTERNAL*> >PROCEDURE gettimeofday (VAR t: struct_timeval; > z: UNTRACED REF >struct_timezone := NIL): int > >in the z parameter have changed, the patch was written >before this change in the procedure. > >The FileAttr.m3 uses the function on line 746: >EVAL Utime.gettimeofday(times[0], tz); > >tz is declared before in line 744: >tz: UNTRACED REF Utime.struct_timezone:=NIL; > >The program compiles as explained in the guide: >http://es.geocities.com/dabenavidesd/InstallationGuidecm3-Modula-3.html#SECTION00060000000000000000 > >I didnt have any more problems compiling cvsup with >cm3. > >Sorry by the late posting of this issue. > > >--- John Polstra wrote: > > > >>Hmm, actually you may be closer to the right answers >>than I was. I >>don't see how the lack of the patch could explain >>some of those errors. >> >>John >> >> >>Tony Hosking wrote: >> >> >>>Looks like John has the answers... >>> >>>On Jun 4, 2007, at 11:11 AM, John Polstra wrote: >>> >>> >>> >>>>There is a patch for CVSup that you have to apply >>>> >>>> >>before you can build >> >> >>>>it with cm3. Look on the cm3 downloads page, and >>>> >>>> >>you'll find it. >> >> >>>>John >>>> >>>>Ronny Forberger wrote: >>>> >>>> >>>>>Hi there, >>>>>since I've been able to build the cm3 compiler >>>>> >>>>> >>successfully on Debian >> >> >>>>>Linux 'etch' x86, I'm faced up to some other >>>>> >>>>> >>build problem: >> >> >>>>>When trying to build cvsup-snap-16.1h from >>>>> >>>>> >>sources using cm3 my build >> >> >>>>>process stops by the following error: >>>>> >>>>> >>>>>>make[2]: Entering directory >>>>>> >>>>>> >>`/home/rforb/work/cvsup-snap-16.1h/suptcp' >> >> >>>>>>cm3 >>>>>>--- building in LINUXLIBC6 --- >>>>>> >>>>>> >>>>>>Fatal Error: duplicate unit: >>>>>>/usr/local/cm3/pkg/tcp/src/POSIX/SockOpt.i3 >>>>>> >>>>>> >>../src/POSIX/SockOpt.i3 >> >> >>>>>>make[2]: *** [all] Error 1 >>>>>>make[2]: Leaving directory >>>>>> >>>>>> >>`/home/rforb/work/cvsup-snap-16.1h/suptcp' >> >> >>>>>>===> suplib >>>>>>make[2]: Entering directory >>>>>> >>>>>> >>`/home/rforb/work/cvsup-snap-16.1h/suplib' >> >> >>>>>>cm3 >>>>>>--- building in LINUXLIBC6 --- >>>>>> >>>>>>new source -> compiling TokScan.i3 >>>>>>"../src/TokScan.i3", line 36: unable to find >>>>>> >>>>>> >>interface (IP) >> >> >>>>>>1 error encountered >>>>>>new source -> compiling FileAttr.i3 >>>>>>"../src/FileAttr.i3", line 33: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(TokScan) >>>>>>1 error encountered >>>>>>new source -> compiling FileAttrRep.i3 >>>>>>"../src/FileAttrRep.i3", line 33: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(FileAttr) >>>>>>1 error encountered >>>>>>new source -> compiling FileAttrOS.m3 >>>>>>"../src/POSIX/FileAttrOS.m3", line 31: imported >>>>>> >>>>>> >>interface contains >> >> >>>>>>errors (FileAttr) >>>>>>"../src/POSIX/FileAttrOS.m3", line 31: imported >>>>>> >>>>>> >>interface contains >> >> >>>>>>errors (FileAttrRep) >>>>>>2 errors encountered >>>>>>new source -> compiling SupFileRec.i3 >>>>>>"../src/SupFileRec.i3", line 36: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(FileAttr) >>>>>>"../src/SupFileRec.i3", line 37: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(TokScan) >>>>>>2 errors encountered >>>>>>new source -> compiling SupMisc.i3 >>>>>>"../src/SupMisc.i3", line 37: unable to find >>>>>> >>>>>> >>interface (IP) >> >> >>>>>>"../src/SupMisc.i3", line 37: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(SupFileRec) >>>>>>"../src/SupMisc.i3", line 39: unable to find >>>>>> >>>>>> >>interface (SupTCP) >> >> >>>>>>3 errors encountered >>>>>>new source -> compiling PathComp.m3 >>>>>>"../src/PathComp.m3", line 33: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(SupMisc) >>>>>>1 error encountered >>>>>>new source -> compiling ChannelMux.i3 >>>>>>"../src/ChannelMux.i3", line 33: unable to find >>>>>> >>>>>> >>interface (IP) >> >> >>>>>>"../src/ChannelMux.i3", line 34: unable to find >>>>>> >>>>>> >>interface (SupConnFD) >> >> >>>>>>2 errors encountered >>>>>>new source -> compiling ChannelMux.m3 >>>>>>"../src/ChannelMux.m3", line 32: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(ChannelMux) >>>>>>"../src/ChannelMux.m3", line 35: unable to find >>>>>> >>>>>> >>interface (IP) >> >> >>>>>>"../src/ChannelMux.m3", line 35: unable to find >>>>>> >>>>>> >>interface (TCP) >> >> >>>>>>"../src/ChannelMux.m3", line 36: unable to find >>>>>> >>>>>> >>interface (SupConnFD) >> >> >>>>>>4 errors encountered >>>>>>new source -> compiling AuthMD5.i3 >>>>>>"../src/AuthMD5.i3", line 33: unable to find >>>>>> >>>>>> >>interface (IP) >> >> >>>>>>1 error encountered >>>>>>new source -> compiling AuthMD5.m3 >>>>>>"../src/AuthMD5.m3", line 31: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(AuthMD5) >>>>>>"../src/AuthMD5.m3", line 33: unable to find >>>>>> >>>>>> >>interface (IP) >> >> >>>>>>2 errors encountered >>>>>>new source -> compiling TokScan.m3 >>>>>>"../src/TokScan.m3", line 31: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(TokScan) >>>>>>"../src/TokScan.m3", line 34: unable to find >>>>>> >>>>>> >>interface (IP) >> >> >>>>>>"../src/TokScan.m3", line 34: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(SupMisc) >>>>>>3 errors encountered >>>>>>new source -> compiling DevT.i3 >>>>>>"../src/DevT.i3", line 38: imported interface >>>>>> >>>>>> >>contains errors (TokScan) >> >> >>>>>>1 error encountered >>>>>>new source -> compiling UnixMisc.i3 >>>>>>"../src/UnixMisc.i3", line 35: unable to find >>>>>> >>>>>> >>interface (IP) >> >> >>>>>>1 error encountered >>>>>>new source -> compiling FileAttr.m3 >>>>>>"../src/FileAttr.m3", line 31: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(FileAttr) >>>>>>"../src/FileAttr.m3", line 31: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(FileAttrRep) >>>>>>"../src/FileAttr.m3", line 34: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(DevT) >>>>>>"../src/FileAttr.m3", line 35: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(SupMisc) >>>>>>"../src/FileAttr.m3", line 36: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(TokScan) >>>>>>"../src/FileAttr.m3", line 36: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(UnixMisc) >>>>>>6 errors encountered >>>>>>new source -> compiling FileID.i3 >>>>>>"../src/FileID.i3", line 33: imported interface >>>>>> >>>>>> >>contains errors >> >> >>>>>>(FileAttr) >>>>>>1 error encountered >>>>>>new source -> compiling FileID.m3 >>>>>>"../src/FileID.m3", line 31: imported interface >>>>>> >>>>>> >>contains errors >> >> >>>>>>(FileID) >>>>>>"../src/FileID.m3", line 34: imported interface >>>>>> >>>>>> >>contains errors (DevT) >> >> >>>>>>"../src/FileID.m3", line 34: imported interface >>>>>> >>>>>> >>contains errors >> >> >>>>>>(FileAttr) >>>>>>"../src/FileID.m3", line 34: imported interface >>>>>> >>>>>> >>contains errors >> >> >>>>>>(FileAttrRep) >>>>>>4 errors encountered >>>>>>new source -> compiling CVProto.i3 >>>>>>"../src/CVProto.i3", line 33: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(FileAttr) >>>>>>"../src/CVProto.i3", line 33: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(TokScan) >>>>>>2 errors encountered >>>>>>new source -> compiling CVProto.m3 >>>>>>"../src/CVProto.m3", line 35: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(CVProto) >>>>>>"../src/CVProto.m3", line 38: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(SupMisc) >>>>>>"../src/CVProto.m3", line 38: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(TokScan) >>>>>>3 errors encountered >>>>>>new source -> compiling ErrMsg.m3 >>>>>>"../src/ErrMsg.m3", line 34: unable to find >>>>>> >>>>>> >>interface (IP) >> >> >>>>>>"../src/ErrMsg.m3", line 34: imported interface >>>>>> >>>>>> >>contains errors >> >> >>>>>>(TokScan) >>>>>> >>>>>> >=== message truncated === > > > > >______________________________________________ >LLama Gratis a cualquier PC del Mundo. >Llamadas a fijos y m?viles desde 1 c?ntimo por minuto. >http://es.voice.yahoo.com > > -- Ronny Forberger Systemadministrator elego Software Solutions GmbH ronny.forberger(at)elegosoft.com Ohmstra?e 9, 10179 Berlin HRB 77719 Tel.: +49 30 23 45 86 96 Amtsgericht Charlottenburg Fax: +49 30 23 45 86 95 Sitz der Gesellschaft: Berlin http://www.elegosoft.com Gesch?ftsf?hrer: Olaf Wagner Bitte senden Sie Ihre technischen Support-Anfragen an admins(at)elego.de . -------------- next part -------------- An HTML attachment was scrubbed... URL: From rcoleburn at scires.com Sat Jun 23 20:57:40 2007 From: rcoleburn at scires.com (Randy Coleburn) Date: Sat, 23 Jun 2007 18:57:40 -0000 Subject: [M3devel] strange errors... In-Reply-To: <200706230734.l5N7YDeY069196@camembert.async.caltech.edu> References: <200706230734.l5N7YDeY069196@camembert.async.caltech.edu> Message-ID: <467D3000.1E75.00D7.1@scires.com> Mika: I've used CM3 (v4.1) on Windows for years with Trestle, FormsVBT, NetObjects, etc.. Make sure to use the v2 of Network Objects. I haven't moved up to the most recent version yet. I tried some time ago, but ran into some problems with Bundles not working correctly. Maybe this is fixed now. I should try again. Regards, Randy Coleburn >>> Mika Nystrom 6/23/2007 3:34 AM >>> Hello everyone, I am in the process of trying to consolidate build systems for a few software packages I am maintaining. Currently, I am using an old PM3 on FreeBSD4, an ancient PM3 (from Klagenfurt?) for Windows (NT386GNU), and trying to get the latest CM3 from cvs up and compiling things on PPC_DARWIN. Ideally, I'd like to standardize everything on the new PM3---mainly so that I can use pickles (and Network Objects) across all three systems. I'd also like to add Linux to the mix. It's natural for me to start with CM3 on Darwin, as there's no alternative. But I am getting some assertions failing. Everything in the CM3 distribution compiles fine, and I believe I have compiled the libraries a few times (that is, including with themselves), and updated the compiler, too (using boot-cm3-with-m3.sh). I just cvs updated tonight. Here's what I'm running into: /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/CHP.t -o CHPTok.i3 *** *** runtime error: *** <*ASSERT*> failed. *** file "../src/runtime/common/RTCollector.m3", line 2314 *** Abort Also: /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/PRS.t -o PRSTok.i3 Illegal instruction As you can see, these things are coming from the caltech_parser. I am using our local version, but I don't think it is very different from what is in the CM3 tree. Examining the first error (the failed assertion) more closely, I see the following: (gdb) list 108 wr := FileWr.Open(Pathname.ReplaceExt(tp.out, "m3")); 109 EXCEPT OSError.E => 110 Debug.Error("Cannot open tok implementation output file: " & 111 Pathname.ReplaceExt(tp.out, "m3")); 112 END; 113 Wr.PutText(wr, subs.apply(Bundle.Get(Form, "tokform.m3"))); 114 Wr.Close(wr); 115 END Main. (gdb) where #0 0x9004308c in kill () #1 0x9009fb3c in abort () #2 0x00096f50 in RTOS__Crash () at RTOS.m3:20 #3 0x0005bd40 in RTProcess__Crash (M3_Bd56fi_msg=0x0) at RTProcess.m3:65 #4 0x0008e4e0 in RTError__EndError (M3_AicXUJ_crash=1 '\001') at RTError.m3:115 #5 0x0008e08c in RTError__MsgS (M3_AJWxb1_file=0xc63d8, M3_AcxOUs_line=2314, M3_Bd56fi_msgA=0xca3d0, M3_Bd56fi_msgB=0xcbe90, M3_Bd56fi_msgC=0xca3d0) at RTError.m3:40 #6 0x0008eb88 in RTException__Crash (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0', M3_AJWxb1_rte=0xcb538) at RTException.m3:79 #7 0x0008e74c in RTException__DefaultBackstop (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:39 #8 0x0008e614 in RTException__InvokeBackstop (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:25 #9 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at RTExFrame.m3:29 #10 0x0008e840 in RTException__DefaultBackstop (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:47 #11 0x0008e614 in RTException__InvokeBackstop (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:25 #12 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at RTExFrame.m3:29 #13 0x00079740 in RTHooks__ReportFault (M3_AJWxb1_module=0xb3eb8, M3_AcxOUs_info=74048) at RTHooks.m3:110 #14 0x0006ff4c in _m3_fault (M3_AcxOUs_arg=74048) #15 0x0006bcf4 in RTHooks__CheckStoreTraced (M3_Af40ku_ref=0xb2415c) at RTCollector.m3:2314 #16 0x000700e4 in ThreadPThread__InnerLockMutex (M3_AYIbX3_m=0xb2415c, M3_BXP32l_self=0xb24014) at ThreadPThread.m3:126 #17 0x000704d8 in ThreadPThread__LockMutex (M3_AYIbX3_m=0xb2415c) at ThreadPThread.m3:153 #18 0x00019b24 in Wr__PutText (M3_BxxOH1_wr=0xb2415c, M3_Bd56fi_t=0xb44d5c) at Wr.m3:93 #19 0x00003f74 in Main_M3 (M3_AcxOUs_mode=1) at Main.m3:113 #20 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at RTLinker.m3:399 #21 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at RTLinker.m3:113 #22 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at RTLinker.m3:122 #23 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) at _m3main.mc:4 (gdb) The second error: Program received signal EXC_BAD_INSTRUCTION, Illegal instruction/operand. 0x00b111ac in ?? () (gdb) where #0 0x00b111ac in ?? () #1 0x0001214c in TextSubs__Apply (M3_CN69dV_self=0xb26450, M3_Bd56fi_src=0xb21cec) at TextSubs.m3:63 #2 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at RTLinker.m3:399 #3 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at RTLinker.m3:113 #4 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at RTLinker.m3:122 #5 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) at _m3main.mc:4 (gdb) list 58 BEGIN 59 WHILE pos < textLen DO 60 c := Text.GetChar(src, pos); 61 IF c IN self.starts THEN 62 (* S("analysing: " & Text.Sub(src, pos), DebugLevel); *) 63 iter := self.tbl.iterateOrdered(); 64 ind := pos; 65 original := ""; 66 REPEAT 67 INC(ind); (gdb) Any ideas what to look at? I don't know if this is relevant: [lapdog:~/t/cit_parse/PPC_DARWIN] mika% uname -a Darwin lapdog.local 7.9.0 Darwin Kernel Version 7.9.0: Wed Mar 30 20:11:17 PST 2005; root:xnu/xnu-517.12.7.obj~1/RELEASE_PPC Power Macintosh powerpc [lapdog:~/t/cit_parse/PPC_DARWIN] mika% gcc -v Reading specs from /usr/libexec/gcc/darwin/ppc/3.3/specs Thread model: posix gcc version 3.3 20030304 (Apple Computer, Inc. build 1666) Mika P.S. Am I correct in assuming that I can get CM3 to build on Windows? I could switch to CM3 on Unix any time, of course, but I've never had luck with it on Windows, which is why I am using the ancient Klagenfurt PM3, which comes on 40-odd "floppies" and a .EXE that unpacks them into C: (and installation instructions only in German). If CM3 doesn't work on Windows, I am essentially wasting my time, as the current project I am working on absolutely requires that the software run on Windows 2003 Server (yes, it sucks, but what can you do?) The very old PM3 at least kind of hobbles along on this platform---actually, better than that; it does Trestle natively under Windows (no X required), at least on SOME Windows machines. P.P.S. Sorry for all the postscripts, but is it true that the build system has been changed so that building with overrides (cm3 -x) requires having the compiler sources available? It didn't use to be that way, but I can't get Network Objects to work with overrides now unless I have the sources available... It's a bit of a pain because it means that every user has to have the compiler sources, or else ship everything, or was that not the intention? -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at cs.purdue.edu Fri Jun 29 20:24:16 2007 From: hosking at cs.purdue.edu (Antony Hosking) Date: Fri, 29 Jun 2007 18:24:16 -0000 Subject: [M3devel] LINUXLIBC6 problem In-Reply-To: <1183141221.9643.143.camel@faramir.m3w.org> References: <509060.60875.qm@web27114.mail.ukl.yahoo.com> <2F32FD3A-00FD-46E5-BB23-9DAB23003874@cs.purdue.edu> <1183141221.9643.143.camel@faramir.m3w.org> Message-ID: <8DBCD210-FD52-4EA5-9975-2D2500D612ED@cs.purdue.edu> This is what I am using currently for 32-bit cm3 running on AMD64 with 64-bit kernel. -------------- next part -------------- A non-text attachment was scrubbed... Name: cm3.cfg Type: application/octet-stream Size: 11966 bytes Desc: not available URL: -------------- next part -------------- I haven't done a build lately for regular Linux. On Jun 29, 2007, at 2:20 PM, Dragi?a Duri? wrote: > This being non-trivial... Can you provide us with diff of your systems > cm3.cfg before and after wrapper removal? > > dd > > On Fri, 2007-06-29 at 14:11 -0400, Tony Hosking wrote: >> You need to update your cm3.cfg to match the most recent version in >> cm3/m3-sys/cminstall/src/config/LINUXLIBC6. >> >> Wrapping of system calls is no longer needed (or supported) since the >> VM-synchronized GC has been discarded. >> >> On Jun 29, 2007, at 11:31 AM, Daniel Alejandro Benavides D. wrote: >> >>> Hi: >>> Trying to compile the last updated sources from cvs >>> repository, I get this with do-cm3.std.sh buildship, >>> I have done the do-cm3-std.sh realclean before: >>> >>> -> archiving libm3tools.a >>> --- shipping from LINUXLIBC6 --- >>> >>> . => /usr/local/cm3-cvs/pkg/m3tools/LINUXLIBC6 >>> .M3EXPORTS libm3tools.a libm3tools.m3x >>> .M3WEB >>> ../src => /usr/local/cm3-cvs/pkg/m3tools/src >>> M3Lexer.i3 M3Lexer.m3 M3AST.i3 >>> M3AST.m3 >>> M3Parse.m3 M3Scope.i3 M3Scope.m3 >>> M3Type.i3 >>> M3Type.m3 M3Const.m3 M3Const.i3 >>> M3SetVal.i3 >>> M3SetVal.m3 M3RecVal.i3 M3RecVal.m3 >>> M3ArrVal.i3 >>> M3ArrVal.m3 M3Builtin.i3 M3Builtin.m3 >>> ==> /home/danielb/cm3-cvs/cm3/m3-sys/m3tools done >>> >>> === package /home/danielb/cm3-cvs/cm3/m3-sys/m3cgcat >>> === >>> +++ /usr/local/cm3-cvs/bin/cm3 -build >>> -DROOT='/home/danielb/cm3-cvs/cm3' && >>> /usr/local/cm3-cvs/bin/cm3 -ship >>> -DROOT='/home/danielb/cm3-cvs/cm3' +++ >>> --- building in LINUXLIBC6 --- >>> >>> ignoring ../src/m3overrides >>> >>> new source -> compiling Main.m3 >>> -> linking m3cgcat >>> /usr/local/cm3-cvs/pkg/libm3/LINUXLIBC6/libm3.a(FSPosix.mo): >>> In function `FS__SetModificationTime':FSPosix.m3:345: >>> undefined reference to `__wrap_utimes' >>> collect2: ld returned 1 exit status >>> Fatal Error: package build failed >>> *** execution of failed *** >>> danielb at danielb-desktop:~/cm3-cvs/cm3/scripts$ >>> >>> >>> >>> Thanks >>> >>> >>> >>> ____________________________________________________________________ >>> __ >>> ______________ >>> ?Descubre una nueva forma de obtener respuestas a tus preguntas! >>> Entra en Yahoo! Respuestas. >>> http://es.answers.yahoo.com/info/welcome >> > -- > Dragi?a Duri? From rodney.bates at wichita.edu Fri Jun 1 22:57:35 2007 From: rodney.bates at wichita.edu (Rodney M. Bates) Date: Fri, 01 Jun 2007 15:57:35 -0500 Subject: [M3devel] Progress bootstrapping, but still trouble In-Reply-To: <4659B097.5040908@wichita.edu> References: <4659B097.5040908@wichita.edu> Message-ID: <4660883F.6030503@wichita.edu> My first problem bootstrapping cm3: ThreadPosix.i3: missing object types: _t1541f475 imported by: TimeStamp.m3 goes away when I either 1) delete the entire cm3 distribution and do a fresh cvs checkout, or 2) do a 'do-cm3-std.sh realclean'. Thanks to Antony for making me aware of 'realclean', which I hadn't known about. I have never been able to satisfactorily clean a cm3 tree before, with 'clean' giving lots of failure messages and removing things inside LINUXLIBC6 build directories leaving things unable to build due to missing files. My second problem: rodney at runnymede:/usr/local/cm3/bin$ file m3bundle m3bundle: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped rodney at runnymede:/usr/local/cm3/bin$ ./m3bundle -bash: ./m3bundle: No such file or directory went away after some work on finding libpthreads. Thanks to Daniel's web page for getting me to looking at libpthreads. My cm3.cfg already had, inside SYSTEM_LIBS, the line: "PTHREAD" : [ "-Xlinker", "-Bdynamic", "-L/lib", "-lpthread" ], For one thing, there are three places in my distribution with non-link versions of libpthread*.so: /lib, /lib/i686, and /usr/lib. They are all different in size, and I have no clue what the differences are, but only /usr/lib has a link named libpthread.so, so I guessed that was the right place and changed cm3.cfg to look there. That didn't change anything, (same size executable), but removing the "-Xlinker", "-Bdynamic", made cm3 compile an executable for m3bundle and other things that will load and run. There is a libpthread.a in /usr/lib (and nowhere else that I found.) But this is apparently not the whole story with libraries. Another program compiles to an executable with the same problem, i.e., attempts to execute it give -bash: ./LdlBatch: No such file or directory. The other lines in my SYSTEM_LIBS also had -Xlinker", "-Bdynamic", but removing them fro"X11" line gives me this: new "Version.io" -> linking LdlBatch /usr/local/cm3/pkg/ui/LINUXLIBC6/libm3ui.a(TrestleOS.mo): In function `TrestleOS__UserName': /home/rodney/proj/m3/cm3-fresh/cm3/m3-ui/ui/LINUXLIBC6/TrestleOS.m3:32: warning: Using 'getpwuid' in statically linked applications requires at runtime the shared libraries from theglibc version used for linking /usr/lib/libX11.a(x11_trans.o): In function `_X11TransSocketOpen': /usr/include/X11/Xtrans/Xtranssock.c:468: warning: Using 'getaddrinfo' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /usr/lib/libX11.a(imLcIm.o): In function `_XimWriteCachedDefaultTree': /usr/src/rpm/BUILD/libX11-1.0.3/modules/im/ximcp/imLcIm.c:476: warning: memset used with constant zero length parameter; this could be due to transposed parameters /usr/local/cm3/pkg/tcp/LINUXLIBC6/libm3tcp.a(IP.mo): In function `IP__GetCanonicalByAddr': /home/rodney/proj/m3/cm3-fresh/cm3/m3-comm/tcp/LINUXLIBC6/IP.m3:53: warning: Using 'gethostbyaddr' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /usr/local/cm3/pkg/tcp/LINUXLIBC6/libm3tcp.a(IP.mo): In function `IP__GetHostByName': /home/rodney/proj/m3/cm3-fresh/cm3/m3-comm/tcp/LINUXLIBC6/IP.m3:21: warning: Using 'gethostbyname' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /usr/lib/libX11.a(x11_trans.o): In function `_X11TransSocketINETConnect': /usr/include/X11/Xtrans/Xtranssock.c:1670: warning: Using 'getservbyname' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /usr/lib/libX11.a(ConnDis.o): In function `GetAuthorization': /usr/src/rpm/BUILD/libX11-1.0.3/src/ConnDis.c:1232: undefined reference to `XauDisposeAuth' /usr/src/rpm/BUILD/libX11-1.0.3/src/ConnDis.c:1037: undefined reference to `XauGetBestAuthByAddr' /usr/src/rpm/BUILD/libX11-1.0.3/src/ConnDis.c:1176: undefined reference to `XdmcpWrap' /usr/lib/libX11.a(CrGlCur.o): In function `open_library': /usr/src/rpm/BUILD/libX11-1.0.3/src/CrGlCur.c:72: undefined reference to `dlopen' /usr/lib/libX11.a(CrGlCur.o): In function `fetch_symbol': /usr/src/rpm/BUILD/libX11-1.0.3/src/CrGlCur.c:107: undefined reference to `dlsym' /usr/src/rpm/BUILD/libX11-1.0.3/src/CrGlCur.c:109: undefined reference to `dlsym' collect2: ld returned 1 exit status Fatal Error: package build failed Anyone have any ideas on why neither dynamic nor static linking works, or how to figure out what version of the libraries I need? Better yet, can anyone point me to some real documentation on Linux dynamic linking in general? I've always been overwhelmed with false hits when trying to find it with a search engine. -- ------------------------------------------------------------- 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 Jun 1 23:10:47 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Fri, 1 Jun 2007 17:10:47 -0400 Subject: [M3devel] Progress bootstrapping, but still trouble In-Reply-To: <4660883F.6030503@wichita.edu> References: <4659B097.5040908@wichita.edu> <4660883F.6030503@wichita.edu> Message-ID: <2EB5C3FA-9082-4875-8BA8-F439524E2B1B@cs.purdue.edu> I'm not sure about the details of you system, but you may find the attached cm3.cfg for LINUXLIBC6 to be useful. It works for me on Fedora Core. You should modify the paths as appropriate for your Linux installation. -------------- next part -------------- A non-text attachment was scrubbed... Name: cm3.cfg Type: application/octet-stream Size: 12122 bytes Desc: not available URL: -------------- next part -------------- On Jun 1, 2007, at 4:57 PM, Rodney M. Bates wrote: > My first problem bootstrapping cm3: > > ThreadPosix.i3: missing object types: _t1541f475 > imported by: TimeStamp.m3 > > goes away when I either 1) delete the entire cm3 distribution and > do a fresh cvs checkout, > or 2) do a 'do-cm3-std.sh realclean'. > > Thanks to Antony for making me aware of 'realclean', which I hadn't > known about. I have never > been able to satisfactorily clean a cm3 tree before, with 'clean' > giving lots of failure messages > and removing things inside LINUXLIBC6 build directories leaving > things unable to build due to > missing files. > > My second problem: > > rodney at runnymede:/usr/local/cm3/bin$ file m3bundle > m3bundle: ELF 32-bit LSB executable, Intel 80386, version 1 > (SYSV), for GNU/Linux 2.6.9, > dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not > stripped > rodney at runnymede:/usr/local/cm3/bin$ ./m3bundle > -bash: ./m3bundle: No such file or directory > > went away after some work on finding libpthreads. Thanks to > Daniel's web page for getting me > to looking at libpthreads. > > My cm3.cfg already had, inside SYSTEM_LIBS, the line: > > "PTHREAD" : [ "-Xlinker", "-Bdynamic", "-L/lib", "-lpthread" ], > > For one thing, there are three places in my distribution with non- > link versions of libpthread*.so: > /lib, /lib/i686, and /usr/lib. They are all different in size, and > I have no clue what the > differences are, but only /usr/lib has a link named libpthread.so, > so I guessed that was the > right place and changed cm3.cfg to look there. > > That didn't change anything, (same size executable), but removing > the "-Xlinker", "-Bdynamic", made > cm3 compile an executable for m3bundle and other things that will > load and run. There is a > libpthread.a in /usr/lib (and nowhere else that I found.) > > But this is apparently not the whole story with libraries. > Another program compiles to an executable with the same problem, > i.e., attempts > to execute it give -bash: ./LdlBatch: No such file or directory. > The other lines > in my SYSTEM_LIBS also had -Xlinker", "-Bdynamic", but removing > them fro"X11" line > gives me this: > > new "Version.io" -> linking LdlBatch > /usr/local/cm3/pkg/ui/LINUXLIBC6/libm3ui.a(TrestleOS.mo): In > function `TrestleOS__UserName': > /home/rodney/proj/m3/cm3-fresh/cm3/m3-ui/ui/LINUXLIBC6/ > TrestleOS.m3:32: warning: Using 'getpwuid' in statically linked > applications requires at runtime the shared libraries from theglibc > version used for linking > /usr/lib/libX11.a(x11_trans.o): In function `_X11TransSocketOpen': > /usr/include/X11/Xtrans/Xtranssock.c:468: warning: Using > 'getaddrinfo' in statically linked applications requires at runtime > the shared libraries from the glibc version used for linking > /usr/lib/libX11.a(imLcIm.o): In function `_XimWriteCachedDefaultTree': > /usr/src/rpm/BUILD/libX11-1.0.3/modules/im/ximcp/imLcIm.c:476: > warning: memset used with constant zero length parameter; this > could be due to transposed parameters > /usr/local/cm3/pkg/tcp/LINUXLIBC6/libm3tcp.a(IP.mo): In function > `IP__GetCanonicalByAddr': > /home/rodney/proj/m3/cm3-fresh/cm3/m3-comm/tcp/LINUXLIBC6/IP.m3:53: > warning: Using 'gethostbyaddr' in statically linked applications > requires at runtime the shared libraries from the glibc version > used for linking > /usr/local/cm3/pkg/tcp/LINUXLIBC6/libm3tcp.a(IP.mo): In function > `IP__GetHostByName': > /home/rodney/proj/m3/cm3-fresh/cm3/m3-comm/tcp/LINUXLIBC6/IP.m3:21: > warning: Using 'gethostbyname' in statically linked applications > requires at runtime the shared libraries from the glibc version > used for linking > /usr/lib/libX11.a(x11_trans.o): In function > `_X11TransSocketINETConnect': > /usr/include/X11/Xtrans/Xtranssock.c:1670: warning: Using > 'getservbyname' in statically linked applications requires at > runtime the shared libraries from the glibc version used for linking > /usr/lib/libX11.a(ConnDis.o): In function `GetAuthorization': > /usr/src/rpm/BUILD/libX11-1.0.3/src/ConnDis.c:1232: undefined > reference to `XauDisposeAuth' > /usr/src/rpm/BUILD/libX11-1.0.3/src/ConnDis.c:1037: undefined > reference to `XauGetBestAuthByAddr' > /usr/src/rpm/BUILD/libX11-1.0.3/src/ConnDis.c:1176: undefined > reference to `XdmcpWrap' > /usr/lib/libX11.a(CrGlCur.o): In function `open_library': > /usr/src/rpm/BUILD/libX11-1.0.3/src/CrGlCur.c:72: undefined > reference to `dlopen' > /usr/lib/libX11.a(CrGlCur.o): In function `fetch_symbol': > /usr/src/rpm/BUILD/libX11-1.0.3/src/CrGlCur.c:107: undefined > reference to `dlsym' > /usr/src/rpm/BUILD/libX11-1.0.3/src/CrGlCur.c:109: undefined > reference to `dlsym' > collect2: ld returned 1 exit status > Fatal Error: package build failed > > Anyone have any ideas on why neither dynamic nor static linking > works, or how to figure out what > version of the libraries I need? Better yet, can anyone point me > to some real documentation on > Linux dynamic linking in general? I've always been overwhelmed > with false hits when trying to find > it with a search engine. > > > > > > > > > > -- > ------------------------------------------------------------- > 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 ronny.forberger at elegosoft.com Fri Jun 1 23:53:59 2007 From: ronny.forberger at elegosoft.com (Ronny Forberger) Date: Fri, 01 Jun 2007 23:53:59 +0200 Subject: [M3devel] [cm3] [partially-solved] unresolved pthread symbols during bootstrap In-Reply-To: <20070530234204.77087.qmail@web27115.mail.ukl.yahoo.com> References: <20070530234204.77087.qmail@web27115.mail.ukl.yahoo.com> Message-ID: <46609577.9040600@elegosoft.com> Hi, the pthread symbol problem has solved for me. I was using development version of cm3. Now having checked out release_cm3_5_4_0 the symbols weren't needed, not even it was necessary to add PTHREAD to any array in cm3.cfg. But I now getting another issue: Though the build process successfully went though the ./do-cm3-core.sh buildship ./install-cm3-compiler.sh upgrade ./do-cm3-std.sh buildship commands, I can't see m3build binary having been built or installed. The documentation couldn't give me any answer on here as well. Have you got ideas again ? Thank you. Ronny Daniel Alejandro Benavides D. wrote: > Hi, > Looks that you haven't used the SYSTEM_LIBORDER array, > must be "PTHREAD" there in order to really link it. > > Maybe this little guide can help. Can have several > omissions, but It works well in (K)ubuntu 6.06 and > 6.10 > http://es.geocities.com/dabenavidesd/InstallationGuidecm3-Modula-3.html#SECTION00033000000000000000 > > > --- Ronny Forberger > wrote: > >> Dear m3-Developers, >> >> I could not successfully build the cm3 compiler when >> invoking >> >> >> >> >>> ./do-cm3-std.sh buildship >>> >> from the script directory as described in the >> documentation. >> >> The build process stops by the following: >> >> >>> === package /root/cm3/m3-sys/m3cgcat === >>> +++ cm3 -build -DROOT='/root/cm3' && cm3 -ship >>> >> -DROOT='/root/cm3' +++ >> >>> --- building in LINUXLIBC6 --- >>> >>> ignoring ../src/m3overrides >>> >>> -> linking m3cgcat >>> >>> > /usr/local/cm3/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): > >> In >> >>> function `ThreadPThread__InnerLockMutex': >>> >>> > /root/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:142: > >> undefined >> >>> reference to `pthread_cond_wait' >>> >>> >> [ some similar lines removed ] >> >> >>> > /usr/local/cm3/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): > >> In >> >>> function `RTHooks__PushEFrame': >>> >>> > /root/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1429: > >> undefined >> >>> reference to `pthread_getspecific' >>> >>> > /root/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1430: > >> undefined >> >>> reference to `pthread_setspecific' >>> >>> > /usr/local/cm3/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): > >> In >> >>> function `RTHooks__PopEFrame': >>> >>> > /root/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1437: > >> undefined >> >>> reference to `pthread_setspecific' >>> >>> > /usr/local/cm3/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): > >> In >> >>> function `ThreadPThread__InitHandlers': >>> >>> > /root/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1442: > >> undefined >> >>> reference to `pthread_key_create' >>> >>> > /root/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1443: > >> undefined >> >>> reference to `pthread_setspecific' >>> >>> > /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libc.a(vfork.o): > >> In >> >>> function `vfork': >>> (.text+0x1): undefined reference to >>> >> `pthread_create' >> >>> collect2: ld returned 1 exit status >>> Fatal Error: package build failed >>> *** execution of failed *** >>> >> Looks like gcc cannot link against the pthread-lib. >> >> I have already added >> >> >>> "PTHREAD" : [ "-L/usr/lib", "-lpthread" ] >>> >> to the SYSTEM_LIBS array in cm3.cfg. >> >> This is a Debian 4.0 'etch' system (x86) where >> libpthread.a resides in >> /usr/lib. >> >> I can build trivial C programs like gcc foo.c -L >> /usr/lib -lpthread >> arccordingly which become linked against >> libpthread.a properly. >> >> >> Do you have any glues? >> >> Best regards, >> >> Ronny >> >> -- >> Ronny Forberger >> Systemadministrator >> >> elego Software Solutions GmbH >> ronny.forberger(at)elegosoft.com >> Ohmstra?e 9, 10179 Berlin HRB 77719 >> Tel.: +49 30 23 45 86 96 Amtsgericht >> Charlottenburg >> Fax: +49 30 23 45 86 95 Sitz der >> Gesellschaft: Berlin >> http://www.elegosoft.com >> Gesch?ftsf?hrer: Olaf Wagner >> >> Bitte senden Sie Ihre technischen Support-Anfragen >> an admins(at)elego.de . >> >> >> > > > > > ______________________________________________ > LLama Gratis a cualquier PC del Mundo. > Llamadas a fijos y m?viles desde 1 c?ntimo por minuto. > http://es.voice.yahoo.com > -- Ronny Forberger Systemadministrator elego Software Solutions GmbH ronny.forberger(at)elegosoft.com Ohmstra??e 9, 10179 Berlin HRB 77719 Tel.: +49 30 23 45 86 96 Amtsgericht Charlottenburg Fax: +49 30 23 45 86 95 Sitz der Gesellschaft: Berlin http://www.elegosoft.com Gesch?EURftsf?OEhrer: Olaf Wagner Bitte senden Sie Ihre technischen Support-Anfragen an admins(at)elego.de . -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at cs.purdue.edu Sat Jun 2 00:00:20 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Fri, 1 Jun 2007 18:00:20 -0400 Subject: [M3devel] [cm3] [partially-solved] unresolved pthread symbols during bootstrap In-Reply-To: <46609577.9040600@elegosoft.com> References: <20070530234204.77087.qmail@web27115.mail.ukl.yahoo.com> <46609577.9040600@elegosoft.com> Message-ID: <044271FE-469C-4076-9FB8-A50C4FEB1122@cs.purdue.edu> m3build is from the old PM3 system. You use cm3 as the new compiler with the CM3 distribution. On Jun 1, 2007, at 5:53 PM, Ronny Forberger wrote: > Hi, > > the pthread symbol problem has solved for me. I was using > development version of cm3. Now having checked out > release_cm3_5_4_0 the symbols weren't needed, not even it was > necessary to add PTHREAD to any array in cm3.cfg. > > But I now getting another issue: > > Though the build process successfully went though the > > ./do-cm3-core.sh buildship > ./install-cm3-compiler.sh upgrade > ./do-cm3-std.sh buildship > > commands, I can't see m3build binary having been built or installed. > > The documentation couldn't give me any answer on here as well. > > Have you got ideas again ? > > Thank you. > > Ronny > > > > > > > Daniel Alejandro Benavides D. wrote: >> Hi, Looks that you haven't used the SYSTEM_LIBORDER array, must be >> "PTHREAD" there in order to really link it. Maybe this little >> guide can help. Can have several omissions, but It works well in >> (K)ubuntu 6.06 and 6.10 http://es.geocities.com/dabenavidesd/ >> InstallationGuidecm3-Modula-3.html#SECTION00033000000000000000 --- >> Ronny Forberger wrote: >>> Dear m3-Developers, I could not successfully build the cm3 >>> compiler when invoking >>>> ./do-cm3-std.sh buildship >>> from the script directory as described in the documentation. The >>> build process stops by the following: >>>> === package /root/cm3/m3-sys/m3cgcat === +++ cm3 -build -DROOT='/ >>>> root/cm3' && cm3 -ship >>> -DROOT='/root/cm3' +++ >>>> --- building in LINUXLIBC6 --- ignoring ../src/m3overrides -> >>>> linking m3cgcat >> /usr/local/cm3/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): >>> In >>>> function `ThreadPThread__InnerLockMutex': >> /root/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:142: >>> undefined >>>> reference to `pthread_cond_wait' >>> [ some similar lines removed ] >> /usr/local/cm3/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): >>> In >>>> function `RTHooks__PushEFrame': >> /root/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1429: >>> undefined >>>> reference to `pthread_getspecific' >> /root/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1430: >>> undefined >>>> reference to `pthread_setspecific' >> /usr/local/cm3/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): >>> In >>>> function `RTHooks__PopEFrame': >> /root/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1437: >>> undefined >>>> reference to `pthread_setspecific' >> /usr/local/cm3/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): >>> In >>>> function `ThreadPThread__InitHandlers': >> /root/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1442: >>> undefined >>>> reference to `pthread_key_create' >> /root/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1443: >>> undefined >>>> reference to `pthread_setspecific' >> /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libc.a(vfork.o): >>> In >>>> function `vfork': (.text+0x1): undefined reference to >>> `pthread_create' >>>> collect2: ld returned 1 exit status Fatal Error: package build >>>> failed *** execution of failed *** >>> Looks like gcc cannot link against the pthread-lib. I have >>> already added >>>> "PTHREAD" : [ "-L/usr/lib", "-lpthread" ] >>> to the SYSTEM_LIBS array in cm3.cfg. This is a Debian 4.0 'etch' >>> system (x86) where libpthread.a resides in /usr/lib. I can build >>> trivial C programs like gcc foo.c -L /usr/lib -lpthread >>> arccordingly which become linked against libpthread.a properly. >>> Do you have any glues? Best regards, Ronny -- Ronny Forberger >>> Systemadministrator elego Software Solutions GmbH ronny.forberger >>> (at)elegosoft.com Ohmstra?e 9, 10179 Berlin HRB 77719 Tel.: +49 >>> 30 23 45 86 96 Amtsgericht Charlottenburg Fax: +49 30 23 45 86 95 >>> Sitz der Gesellschaft: Berlin http://www.elegosoft.com >>> Gesch?ftsf?hrer: Olaf Wagner Bitte senden Sie Ihre technischen >>> Support-Anfragen an admins(at)elego.de . >> ______________________________________________ LLama Gratis a >> cualquier PC del Mundo. Llamadas a fijos y m?viles desde 1 >> c?ntimo por minuto. http://es.voice.yahoo.com > > > -- Ronny Forberger Systemadministrator elego Software Solutions > GmbH ronny.forberger(at)elegosoft.com Ohmstra??e 9, 10179 Berlin > HRB 77719 Tel.: +49 30 23 45 86 96 Amtsgericht Charlottenburg Fax: > +49 30 23 45 86 95 Sitz der Gesellschaft: Berlin http:// > www.elegosoft.com Gesch??ftsf??hrer: Olaf Wagner Bitte senden > Sie Ihre technischen Support-Anfragen an admins(at)elego.de . From ronny.forberger at elegosoft.com Mon Jun 4 12:27:40 2007 From: ronny.forberger at elegosoft.com (Ronny Forberger) Date: Mon, 04 Jun 2007 12:27:40 +0200 Subject: [M3devel] errors building cvsup wih cm3 Message-ID: <4663E91C.1090701@elegosoft.com> Hi there, since I've been able to build the cm3 compiler successfully on Debian Linux 'etch' x86, I'm faced up to some other build problem: When trying to build cvsup-snap-16.1h from sources using cm3 my build process stops by the following error: > make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/suptcp' > cm3 > --- building in LINUXLIBC6 --- > > > Fatal Error: duplicate unit: > /usr/local/cm3/pkg/tcp/src/POSIX/SockOpt.i3 ../src/POSIX/SockOpt.i3 > > make[2]: *** [all] Error 1 > make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/suptcp' > ===> suplib > make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/suplib' > cm3 > --- building in LINUXLIBC6 --- > > new source -> compiling TokScan.i3 > "../src/TokScan.i3", line 36: unable to find interface (IP) > 1 error encountered > new source -> compiling FileAttr.i3 > "../src/FileAttr.i3", line 33: imported interface contains errors > (TokScan) > 1 error encountered > new source -> compiling FileAttrRep.i3 > "../src/FileAttrRep.i3", line 33: imported interface contains errors > (FileAttr) > 1 error encountered > new source -> compiling FileAttrOS.m3 > "../src/POSIX/FileAttrOS.m3", line 31: imported interface contains > errors (FileAttr) > "../src/POSIX/FileAttrOS.m3", line 31: imported interface contains > errors (FileAttrRep) > 2 errors encountered > new source -> compiling SupFileRec.i3 > "../src/SupFileRec.i3", line 36: imported interface contains errors > (FileAttr) > "../src/SupFileRec.i3", line 37: imported interface contains errors > (TokScan) > 2 errors encountered > new source -> compiling SupMisc.i3 > "../src/SupMisc.i3", line 37: unable to find interface (IP) > "../src/SupMisc.i3", line 37: imported interface contains errors > (SupFileRec) > "../src/SupMisc.i3", line 39: unable to find interface (SupTCP) > 3 errors encountered > new source -> compiling PathComp.m3 > "../src/PathComp.m3", line 33: imported interface contains errors > (SupMisc) > 1 error encountered > new source -> compiling ChannelMux.i3 > "../src/ChannelMux.i3", line 33: unable to find interface (IP) > "../src/ChannelMux.i3", line 34: unable to find interface (SupConnFD) > 2 errors encountered > new source -> compiling ChannelMux.m3 > "../src/ChannelMux.m3", line 32: imported interface contains errors > (ChannelMux) > "../src/ChannelMux.m3", line 35: unable to find interface (IP) > "../src/ChannelMux.m3", line 35: unable to find interface (TCP) > "../src/ChannelMux.m3", line 36: unable to find interface (SupConnFD) > 4 errors encountered > new source -> compiling AuthMD5.i3 > "../src/AuthMD5.i3", line 33: unable to find interface (IP) > 1 error encountered > new source -> compiling AuthMD5.m3 > "../src/AuthMD5.m3", line 31: imported interface contains errors (AuthMD5) > "../src/AuthMD5.m3", line 33: unable to find interface (IP) > 2 errors encountered > new source -> compiling TokScan.m3 > "../src/TokScan.m3", line 31: imported interface contains errors (TokScan) > "../src/TokScan.m3", line 34: unable to find interface (IP) > "../src/TokScan.m3", line 34: imported interface contains errors (SupMisc) > 3 errors encountered > new source -> compiling DevT.i3 > "../src/DevT.i3", line 38: imported interface contains errors (TokScan) > 1 error encountered > new source -> compiling UnixMisc.i3 > "../src/UnixMisc.i3", line 35: unable to find interface (IP) > 1 error encountered > new source -> compiling FileAttr.m3 > "../src/FileAttr.m3", line 31: imported interface contains errors > (FileAttr) > "../src/FileAttr.m3", line 31: imported interface contains errors > (FileAttrRep) > "../src/FileAttr.m3", line 34: imported interface contains errors (DevT) > "../src/FileAttr.m3", line 35: imported interface contains errors > (SupMisc) > "../src/FileAttr.m3", line 36: imported interface contains errors > (TokScan) > "../src/FileAttr.m3", line 36: imported interface contains errors > (UnixMisc) > 6 errors encountered > new source -> compiling FileID.i3 > "../src/FileID.i3", line 33: imported interface contains errors (FileAttr) > 1 error encountered > new source -> compiling FileID.m3 > "../src/FileID.m3", line 31: imported interface contains errors (FileID) > "../src/FileID.m3", line 34: imported interface contains errors (DevT) > "../src/FileID.m3", line 34: imported interface contains errors (FileAttr) > "../src/FileID.m3", line 34: imported interface contains errors > (FileAttrRep) > 4 errors encountered > new source -> compiling CVProto.i3 > "../src/CVProto.i3", line 33: imported interface contains errors > (FileAttr) > "../src/CVProto.i3", line 33: imported interface contains errors (TokScan) > 2 errors encountered > new source -> compiling CVProto.m3 > "../src/CVProto.m3", line 35: imported interface contains errors (CVProto) > "../src/CVProto.m3", line 38: imported interface contains errors (SupMisc) > "../src/CVProto.m3", line 38: imported interface contains errors (TokScan) > 3 errors encountered > new source -> compiling ErrMsg.m3 > "../src/ErrMsg.m3", line 34: unable to find interface (IP) > "../src/ErrMsg.m3", line 34: imported interface contains errors (TokScan) > "../src/ErrMsg.m3", line 36: unable to find interface (SupTCP) > 3 errors encountered > new source -> compiling DirEntry.i3 > "../src/DirEntry.i3", line 37: imported interface contains errors > (FileAttr) > 1 error encountered > new source -> compiling DirEntry.m3 > "../src/DirEntry.m3", line 31: imported interface contains errors > (DirEntry) > 1 error encountered > new source -> compiling DirEntryList.i3 > "../LINUXLIBC6/DirEntryList.i3 => > /usr/local/cm3/pkg/libm3/src/list/List.ig", line 29: imported > interface contains errors (DirEntry) > 1 error encountered > new source -> compiling DirEntryList.m3 > "../LINUXLIBC6/DirEntryList.m3", line 3: imported interface contains > errors (DirEntryList) > "../LINUXLIBC6/DirEntryList.m3 => > /usr/local/cm3/pkg/libm3/src/list/List.mg", line 11: imported > interface contains errors (DirEntry) > 2 errors encountered > new source -> compiling DirEntryListSort.i3 > "../LINUXLIBC6/DirEntryListSort.i3 => > /usr/local/cm3/pkg/libm3/src/list/ListSort.ig", line 28: imported > interface contains errors (DirEntry) > "../LINUXLIBC6/DirEntryListSort.i3 => > /usr/local/cm3/pkg/libm3/src/list/ListSort.ig", line 28: imported > interface contains errors (DirEntryList) > 2 errors encountered > new source -> compiling DirEntryListSort.m3 > "../LINUXLIBC6/DirEntryListSort.m3", line 3: imported interface > contains errors (DirEntryListSort) > "../LINUXLIBC6/DirEntryListSort.m3 => > /usr/local/cm3/pkg/libm3/src/list/ListSort.mg", line 10: imported > interface contains errors (DirEntry) > 2 errors encountered > new source -> compiling RCSDate.m3 > "../src/RCSDate.m3", line 34: imported interface contains errors (TokScan) > 1 error encountered > new source -> compiling RCSFile.i3 > "../src/RCSFile.i3", line 37: imported interface contains errors > (FileAttr) > 1 error encountered > new source -> compiling RCSDeltaClass.i3 > "../src/RCSDeltaClass.i3", line 37: imported interface contains errors > (RCSFile) > 1 error encountered > new source -> compiling RCSDelta.m3 > "../src/RCSDelta.m3", line 31: imported interface contains errors > (RCSDeltaClass) > "../src/RCSDelta.m3", line 34: imported interface contains errors > (RCSFile) > "../src/RCSDelta.m3", line 35: imported interface contains errors > (TokScan) > 3 errors encountered > new source -> compiling RCSKeyword.m3 > "../src/RCSKeyword.m3", line 34: imported interface contains errors > (RCSDeltaClass) > "../src/RCSKeyword.m3", line 35: imported interface contains errors > (SupMisc) > 2 errors encountered > new source -> compiling RCSFile.m3 > "../src/RCSFile.m3", line 31: imported interface contains errors (RCSFile) > "../src/RCSFile.m3", line 34: imported interface contains errors > (FileAttr) > "../src/RCSFile.m3", line 36: imported interface contains errors > (RCSDeltaClass) > "../src/RCSFile.m3", line 39: imported interface contains errors (TokScan) > "../src/RCSFile.m3", line 39: imported interface contains errors > (UnixMisc) > 5 errors encountered > new source -> compiling SupFileRec.m3 > "../src/SupFileRec.m3", line 31: imported interface contains errors > (SupFileRec) > "../src/SupFileRec.m3", line 34: imported interface contains errors > (FileAttr) > "../src/SupFileRec.m3", line 35: imported interface contains errors > (TokScan) > 3 errors encountered > new source -> compiling SupMisc.m3 > "../src/SupMisc.m3", line 31: imported interface contains errors (SupMisc) > "../src/SupMisc.m3", line 34: imported interface contains errors > (FileAttr) > "../src/SupMisc.m3", line 34: unable to find interface (IP) > "../src/SupMisc.m3", line 35: imported interface contains errors > (SupFileRec) > "../src/SupMisc.m3", line 36: imported interface contains errors (TokScan) > "../src/SupMisc.m3", line 37: unable to find interface (SupTCP) > 6 errors encountered > new source -> compiling FileStatus.i3 > "../src/FileStatus.i3", line 33: imported interface contains errors > (FileAttr) > 1 error encountered > new source -> compiling FileStatusRaw.i3 > "../src/FileStatusRaw.i3", line 33: imported interface contains errors > (FileStatus) > 1 error encountered > new source -> compiling FileStatus.m3 > "../src/FileStatus.m3", line 31: imported interface contains errors > (FileStatus) > "../src/FileStatus.m3", line 31: imported interface contains errors > (FileStatusRaw) > "../src/FileStatus.m3", line 34: imported interface contains errors > (FileAttr) > "../src/FileStatus.m3", line 34: imported interface contains errors > (SupMisc) > "../src/FileStatus.m3", line 34: imported interface contains errors > (TokScan) > 5 errors encountered > new source -> compiling StatusFile.i3 > "../src/StatusFile.i3", line 33: imported interface contains errors > (FileStatus) > "../src/StatusFile.i3", line 33: imported interface contains errors > (SupFileRec) > 2 errors encountered > new source -> compiling StatusFile.m3 > "../src/StatusFile.m3", line 31: imported interface contains errors > (StatusFile) > "../src/StatusFile.m3", line 34: imported interface contains errors > (FileAttr) > "../src/StatusFile.m3", line 34: imported interface contains errors > (FileStatus) > "../src/StatusFile.m3", line 34: imported interface contains errors > (FileStatusRaw) > "../src/StatusFile.m3", line 35: imported interface contains errors > (SupFileRec) > "../src/StatusFile.m3", line 35: imported interface contains errors > (SupMisc) > 6 errors encountered > new source -> compiling CVTree.i3 > "../src/CVTree.i3", line 37: imported interface contains errors (FileAttr) > 1 error encountered > new source -> compiling CVTree.m3 > "../src/CVTree.m3", line 31: imported interface contains errors (CVTree) > "../src/CVTree.m3", line 34: imported interface contains errors (DirEntry) > "../src/CVTree.m3", line 34: imported interface contains errors > (DirEntryList) > "../src/CVTree.m3", line 34: imported interface contains errors > (DirEntryListSort) > "../src/CVTree.m3", line 34: imported interface contains errors (FileAttr) > "../src/CVTree.m3", line 35: imported interface contains errors (SupMisc) > 6 errors encountered > new source -> compiling GzipRd.i3 > "../src/GzipRd.i3", line 36: unable to find interface (StreamRd) > 1 error encountered > new source -> compiling GzipRd.m3 > "../src/GzipRd.m3", line 31: imported interface contains errors (GzipRd) > "../src/GzipRd.m3", line 34: unable to find interface (StreamRdClass) > 2 errors encountered > new source -> compiling GzipWr.i3 > "../src/GzipWr.i3", line 36: unable to find interface (StreamWr) > 1 error encountered > new source -> compiling GzipWr.m3 > "../src/GzipWr.m3", line 31: imported interface contains errors (GzipWr) > "../src/GzipWr.m3", line 34: unable to find interface (StreamWrClass) > 2 errors encountered > new source -> compiling RsyncFile.i3 > "../src/RsyncFile.i3", line 33: imported interface contains errors > (FileAttr) > 1 error encountered > new source -> compiling RsyncFile.m3 > "../src/RsyncFile.m3", line 31: imported interface contains errors > (RsyncFile) > "../src/RsyncFile.m3", line 34: imported interface contains errors > (FileAttr) > "../src/RsyncFile.m3", line 35: imported interface contains errors > (UnixMisc) > 3 errors encountered > new source -> compiling SigHandler.m3 > "../src/SigHandler.m3", line 48: imported interface contains errors > (UnixMisc) > "../src/SigHandler.m3", line 50: unable to find interface (SupErrno) > 2 errors encountered > new source -> compiling UnixMisc.m3 > "../src/UnixMisc.m3", line 31: imported interface contains errors > (UnixMisc) > "../src/UnixMisc.m3", line 34: unable to find interface (IP) > 2 errors encountered > new source -> compiling Attic.i3 > "../src/Attic.i3", line 37: imported interface contains errors (FileAttr) > "../src/Attic.i3", line 37: imported interface contains errors (RCSFile) > 2 errors encountered > new source -> compiling Attic.m3 > "../src/Attic.m3", line 31: imported interface contains errors (Attic) > "../src/Attic.m3", line 34: imported interface contains errors (FileAttr) > "../src/Attic.m3", line 34: imported interface contains errors (RCSFile) > "../src/Attic.m3", line 35: imported interface contains errors (SupMisc) > "../src/Attic.m3", line 35: imported interface contains errors (UnixMisc) > 5 errors encountered > new source -> compiling DevTLinux.i3 > "../src/dev_t_linux/DevTLinux.i3", line 38: imported interface > contains errors (DevT) > 1 error encountered > new source -> compiling DevT.m3 > "../src/dev_t_linux/DevT.m3", line 31: imported interface contains > errors (DevT) > "../src/dev_t_linux/DevT.m3", line 34: imported interface contains > errors (DevTLinux) > "../src/dev_t_linux/DevT.m3", line 34: imported interface contains > errors (TokScan) > 3 errors encountered > new source -> compiling SupMiscText.m3 > "../src/text_cm3/SupMiscText.m3", line 35: imported interface contains > errors (SupMisc) > 1 error encountered > compilation failed => not building library "libsuplib.a" > Fatal Error: package build failed > make[2]: *** [all] Error 1 > make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/suplib' > ===> server > make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/server' > cm3 > --- building in LINUXLIBC6 --- > > package "suptcp" is already overridden to > /home/rforb/work/cvsup-snap-16.1h/server/src/../.., ignoring new > override to /home/rforb/work/cvsup-snap-16.1h/suplib/src/../.. > > > Fatal Error: missing source file: FileAttr.i3 > > make[2]: *** [all] Error 1 > make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/server' > ===> client > make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/client' > cm3 > --- building in LINUXLIBC6 --- > > package "suptcp" is already overridden to > /home/rforb/work/cvsup-snap-16.1h/client/src/../.., ignoring new > override to /home/rforb/work/cvsup-snap-16.1h/suplib/src/../.. > > > Fatal Error: missing source file: SupFileRec.i3 > > make[2]: *** [all] Error 1 > make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/client' > ===> cvpasswd > make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/cvpasswd' > cm3 > --- building in LINUXLIBC6 --- > > > Fatal Error: missing source file: AuthMD5.i3 > > make[2]: *** [all] Error 1 > make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/cvpasswd' > make[1]: *** [subdirs] Error 2 > make[1]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h' > make: *** [all] Error 2 Looks like aside some other errors, it doesn't find all the .i3 files, though I can see all of them existing. Do I possibly have to tell the cm3 compiler where to find them? What do all the "imported interface contains errors (...)" messages have to mean and how to fix this ? Regards, Ronny -- Ronny Forberger Systemadministrator elego Software Solutions GmbH ronny.forberger(at)elegosoft.com Ohmstra?e 9, 10179 Berlin HRB 77719 Tel.: +49 30 23 45 86 96 Amtsgericht Charlottenburg Fax: +49 30 23 45 86 95 Sitz der Gesellschaft: Berlin http://www.elegosoft.com Gesch?ftsf?hrer: Olaf Wagner Bitte senden Sie Ihre technischen Support-Anfragen an admins(at)elego.de . From jdp at polstra.com Mon Jun 4 17:11:56 2007 From: jdp at polstra.com (John Polstra) Date: Mon, 04 Jun 2007 08:11:56 -0700 Subject: [M3devel] errors building cvsup wih cm3 In-Reply-To: <4663E91C.1090701@elegosoft.com> References: <4663E91C.1090701@elegosoft.com> Message-ID: <46642BBC.90500@polstra.com> There is a patch for CVSup that you have to apply before you can build it with cm3. Look on the cm3 downloads page, and you'll find it. John Ronny Forberger wrote: > Hi there, > > since I've been able to build the cm3 compiler successfully on Debian > Linux 'etch' x86, I'm faced up to some other build problem: > > When trying to build cvsup-snap-16.1h from sources using cm3 my build > process stops by the following error: > >> make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/suptcp' >> cm3 >> --- building in LINUXLIBC6 --- >> >> >> Fatal Error: duplicate unit: >> /usr/local/cm3/pkg/tcp/src/POSIX/SockOpt.i3 ../src/POSIX/SockOpt.i3 >> >> make[2]: *** [all] Error 1 >> make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/suptcp' >> ===> suplib >> make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/suplib' >> cm3 >> --- building in LINUXLIBC6 --- >> >> new source -> compiling TokScan.i3 >> "../src/TokScan.i3", line 36: unable to find interface (IP) >> 1 error encountered >> new source -> compiling FileAttr.i3 >> "../src/FileAttr.i3", line 33: imported interface contains errors >> (TokScan) >> 1 error encountered >> new source -> compiling FileAttrRep.i3 >> "../src/FileAttrRep.i3", line 33: imported interface contains errors >> (FileAttr) >> 1 error encountered >> new source -> compiling FileAttrOS.m3 >> "../src/POSIX/FileAttrOS.m3", line 31: imported interface contains >> errors (FileAttr) >> "../src/POSIX/FileAttrOS.m3", line 31: imported interface contains >> errors (FileAttrRep) >> 2 errors encountered >> new source -> compiling SupFileRec.i3 >> "../src/SupFileRec.i3", line 36: imported interface contains errors >> (FileAttr) >> "../src/SupFileRec.i3", line 37: imported interface contains errors >> (TokScan) >> 2 errors encountered >> new source -> compiling SupMisc.i3 >> "../src/SupMisc.i3", line 37: unable to find interface (IP) >> "../src/SupMisc.i3", line 37: imported interface contains errors >> (SupFileRec) >> "../src/SupMisc.i3", line 39: unable to find interface (SupTCP) >> 3 errors encountered >> new source -> compiling PathComp.m3 >> "../src/PathComp.m3", line 33: imported interface contains errors >> (SupMisc) >> 1 error encountered >> new source -> compiling ChannelMux.i3 >> "../src/ChannelMux.i3", line 33: unable to find interface (IP) >> "../src/ChannelMux.i3", line 34: unable to find interface (SupConnFD) >> 2 errors encountered >> new source -> compiling ChannelMux.m3 >> "../src/ChannelMux.m3", line 32: imported interface contains errors >> (ChannelMux) >> "../src/ChannelMux.m3", line 35: unable to find interface (IP) >> "../src/ChannelMux.m3", line 35: unable to find interface (TCP) >> "../src/ChannelMux.m3", line 36: unable to find interface (SupConnFD) >> 4 errors encountered >> new source -> compiling AuthMD5.i3 >> "../src/AuthMD5.i3", line 33: unable to find interface (IP) >> 1 error encountered >> new source -> compiling AuthMD5.m3 >> "../src/AuthMD5.m3", line 31: imported interface contains errors >> (AuthMD5) >> "../src/AuthMD5.m3", line 33: unable to find interface (IP) >> 2 errors encountered >> new source -> compiling TokScan.m3 >> "../src/TokScan.m3", line 31: imported interface contains errors >> (TokScan) >> "../src/TokScan.m3", line 34: unable to find interface (IP) >> "../src/TokScan.m3", line 34: imported interface contains errors >> (SupMisc) >> 3 errors encountered >> new source -> compiling DevT.i3 >> "../src/DevT.i3", line 38: imported interface contains errors (TokScan) >> 1 error encountered >> new source -> compiling UnixMisc.i3 >> "../src/UnixMisc.i3", line 35: unable to find interface (IP) >> 1 error encountered >> new source -> compiling FileAttr.m3 >> "../src/FileAttr.m3", line 31: imported interface contains errors >> (FileAttr) >> "../src/FileAttr.m3", line 31: imported interface contains errors >> (FileAttrRep) >> "../src/FileAttr.m3", line 34: imported interface contains errors (DevT) >> "../src/FileAttr.m3", line 35: imported interface contains errors >> (SupMisc) >> "../src/FileAttr.m3", line 36: imported interface contains errors >> (TokScan) >> "../src/FileAttr.m3", line 36: imported interface contains errors >> (UnixMisc) >> 6 errors encountered >> new source -> compiling FileID.i3 >> "../src/FileID.i3", line 33: imported interface contains errors >> (FileAttr) >> 1 error encountered >> new source -> compiling FileID.m3 >> "../src/FileID.m3", line 31: imported interface contains errors (FileID) >> "../src/FileID.m3", line 34: imported interface contains errors (DevT) >> "../src/FileID.m3", line 34: imported interface contains errors >> (FileAttr) >> "../src/FileID.m3", line 34: imported interface contains errors >> (FileAttrRep) >> 4 errors encountered >> new source -> compiling CVProto.i3 >> "../src/CVProto.i3", line 33: imported interface contains errors >> (FileAttr) >> "../src/CVProto.i3", line 33: imported interface contains errors >> (TokScan) >> 2 errors encountered >> new source -> compiling CVProto.m3 >> "../src/CVProto.m3", line 35: imported interface contains errors >> (CVProto) >> "../src/CVProto.m3", line 38: imported interface contains errors >> (SupMisc) >> "../src/CVProto.m3", line 38: imported interface contains errors >> (TokScan) >> 3 errors encountered >> new source -> compiling ErrMsg.m3 >> "../src/ErrMsg.m3", line 34: unable to find interface (IP) >> "../src/ErrMsg.m3", line 34: imported interface contains errors (TokScan) >> "../src/ErrMsg.m3", line 36: unable to find interface (SupTCP) >> 3 errors encountered >> new source -> compiling DirEntry.i3 >> "../src/DirEntry.i3", line 37: imported interface contains errors >> (FileAttr) >> 1 error encountered >> new source -> compiling DirEntry.m3 >> "../src/DirEntry.m3", line 31: imported interface contains errors >> (DirEntry) >> 1 error encountered >> new source -> compiling DirEntryList.i3 >> "../LINUXLIBC6/DirEntryList.i3 => >> /usr/local/cm3/pkg/libm3/src/list/List.ig", line 29: imported >> interface contains errors (DirEntry) >> 1 error encountered >> new source -> compiling DirEntryList.m3 >> "../LINUXLIBC6/DirEntryList.m3", line 3: imported interface contains >> errors (DirEntryList) >> "../LINUXLIBC6/DirEntryList.m3 => >> /usr/local/cm3/pkg/libm3/src/list/List.mg", line 11: imported >> interface contains errors (DirEntry) >> 2 errors encountered >> new source -> compiling DirEntryListSort.i3 >> "../LINUXLIBC6/DirEntryListSort.i3 => >> /usr/local/cm3/pkg/libm3/src/list/ListSort.ig", line 28: imported >> interface contains errors (DirEntry) >> "../LINUXLIBC6/DirEntryListSort.i3 => >> /usr/local/cm3/pkg/libm3/src/list/ListSort.ig", line 28: imported >> interface contains errors (DirEntryList) >> 2 errors encountered >> new source -> compiling DirEntryListSort.m3 >> "../LINUXLIBC6/DirEntryListSort.m3", line 3: imported interface >> contains errors (DirEntryListSort) >> "../LINUXLIBC6/DirEntryListSort.m3 => >> /usr/local/cm3/pkg/libm3/src/list/ListSort.mg", line 10: imported >> interface contains errors (DirEntry) >> 2 errors encountered >> new source -> compiling RCSDate.m3 >> "../src/RCSDate.m3", line 34: imported interface contains errors >> (TokScan) >> 1 error encountered >> new source -> compiling RCSFile.i3 >> "../src/RCSFile.i3", line 37: imported interface contains errors >> (FileAttr) >> 1 error encountered >> new source -> compiling RCSDeltaClass.i3 >> "../src/RCSDeltaClass.i3", line 37: imported interface contains errors >> (RCSFile) >> 1 error encountered >> new source -> compiling RCSDelta.m3 >> "../src/RCSDelta.m3", line 31: imported interface contains errors >> (RCSDeltaClass) >> "../src/RCSDelta.m3", line 34: imported interface contains errors >> (RCSFile) >> "../src/RCSDelta.m3", line 35: imported interface contains errors >> (TokScan) >> 3 errors encountered >> new source -> compiling RCSKeyword.m3 >> "../src/RCSKeyword.m3", line 34: imported interface contains errors >> (RCSDeltaClass) >> "../src/RCSKeyword.m3", line 35: imported interface contains errors >> (SupMisc) >> 2 errors encountered >> new source -> compiling RCSFile.m3 >> "../src/RCSFile.m3", line 31: imported interface contains errors >> (RCSFile) >> "../src/RCSFile.m3", line 34: imported interface contains errors >> (FileAttr) >> "../src/RCSFile.m3", line 36: imported interface contains errors >> (RCSDeltaClass) >> "../src/RCSFile.m3", line 39: imported interface contains errors >> (TokScan) >> "../src/RCSFile.m3", line 39: imported interface contains errors >> (UnixMisc) >> 5 errors encountered >> new source -> compiling SupFileRec.m3 >> "../src/SupFileRec.m3", line 31: imported interface contains errors >> (SupFileRec) >> "../src/SupFileRec.m3", line 34: imported interface contains errors >> (FileAttr) >> "../src/SupFileRec.m3", line 35: imported interface contains errors >> (TokScan) >> 3 errors encountered >> new source -> compiling SupMisc.m3 >> "../src/SupMisc.m3", line 31: imported interface contains errors >> (SupMisc) >> "../src/SupMisc.m3", line 34: imported interface contains errors >> (FileAttr) >> "../src/SupMisc.m3", line 34: unable to find interface (IP) >> "../src/SupMisc.m3", line 35: imported interface contains errors >> (SupFileRec) >> "../src/SupMisc.m3", line 36: imported interface contains errors >> (TokScan) >> "../src/SupMisc.m3", line 37: unable to find interface (SupTCP) >> 6 errors encountered >> new source -> compiling FileStatus.i3 >> "../src/FileStatus.i3", line 33: imported interface contains errors >> (FileAttr) >> 1 error encountered >> new source -> compiling FileStatusRaw.i3 >> "../src/FileStatusRaw.i3", line 33: imported interface contains errors >> (FileStatus) >> 1 error encountered >> new source -> compiling FileStatus.m3 >> "../src/FileStatus.m3", line 31: imported interface contains errors >> (FileStatus) >> "../src/FileStatus.m3", line 31: imported interface contains errors >> (FileStatusRaw) >> "../src/FileStatus.m3", line 34: imported interface contains errors >> (FileAttr) >> "../src/FileStatus.m3", line 34: imported interface contains errors >> (SupMisc) >> "../src/FileStatus.m3", line 34: imported interface contains errors >> (TokScan) >> 5 errors encountered >> new source -> compiling StatusFile.i3 >> "../src/StatusFile.i3", line 33: imported interface contains errors >> (FileStatus) >> "../src/StatusFile.i3", line 33: imported interface contains errors >> (SupFileRec) >> 2 errors encountered >> new source -> compiling StatusFile.m3 >> "../src/StatusFile.m3", line 31: imported interface contains errors >> (StatusFile) >> "../src/StatusFile.m3", line 34: imported interface contains errors >> (FileAttr) >> "../src/StatusFile.m3", line 34: imported interface contains errors >> (FileStatus) >> "../src/StatusFile.m3", line 34: imported interface contains errors >> (FileStatusRaw) >> "../src/StatusFile.m3", line 35: imported interface contains errors >> (SupFileRec) >> "../src/StatusFile.m3", line 35: imported interface contains errors >> (SupMisc) >> 6 errors encountered >> new source -> compiling CVTree.i3 >> "../src/CVTree.i3", line 37: imported interface contains errors >> (FileAttr) >> 1 error encountered >> new source -> compiling CVTree.m3 >> "../src/CVTree.m3", line 31: imported interface contains errors (CVTree) >> "../src/CVTree.m3", line 34: imported interface contains errors >> (DirEntry) >> "../src/CVTree.m3", line 34: imported interface contains errors >> (DirEntryList) >> "../src/CVTree.m3", line 34: imported interface contains errors >> (DirEntryListSort) >> "../src/CVTree.m3", line 34: imported interface contains errors >> (FileAttr) >> "../src/CVTree.m3", line 35: imported interface contains errors (SupMisc) >> 6 errors encountered >> new source -> compiling GzipRd.i3 >> "../src/GzipRd.i3", line 36: unable to find interface (StreamRd) >> 1 error encountered >> new source -> compiling GzipRd.m3 >> "../src/GzipRd.m3", line 31: imported interface contains errors (GzipRd) >> "../src/GzipRd.m3", line 34: unable to find interface (StreamRdClass) >> 2 errors encountered >> new source -> compiling GzipWr.i3 >> "../src/GzipWr.i3", line 36: unable to find interface (StreamWr) >> 1 error encountered >> new source -> compiling GzipWr.m3 >> "../src/GzipWr.m3", line 31: imported interface contains errors (GzipWr) >> "../src/GzipWr.m3", line 34: unable to find interface (StreamWrClass) >> 2 errors encountered >> new source -> compiling RsyncFile.i3 >> "../src/RsyncFile.i3", line 33: imported interface contains errors >> (FileAttr) >> 1 error encountered >> new source -> compiling RsyncFile.m3 >> "../src/RsyncFile.m3", line 31: imported interface contains errors >> (RsyncFile) >> "../src/RsyncFile.m3", line 34: imported interface contains errors >> (FileAttr) >> "../src/RsyncFile.m3", line 35: imported interface contains errors >> (UnixMisc) >> 3 errors encountered >> new source -> compiling SigHandler.m3 >> "../src/SigHandler.m3", line 48: imported interface contains errors >> (UnixMisc) >> "../src/SigHandler.m3", line 50: unable to find interface (SupErrno) >> 2 errors encountered >> new source -> compiling UnixMisc.m3 >> "../src/UnixMisc.m3", line 31: imported interface contains errors >> (UnixMisc) >> "../src/UnixMisc.m3", line 34: unable to find interface (IP) >> 2 errors encountered >> new source -> compiling Attic.i3 >> "../src/Attic.i3", line 37: imported interface contains errors (FileAttr) >> "../src/Attic.i3", line 37: imported interface contains errors (RCSFile) >> 2 errors encountered >> new source -> compiling Attic.m3 >> "../src/Attic.m3", line 31: imported interface contains errors (Attic) >> "../src/Attic.m3", line 34: imported interface contains errors (FileAttr) >> "../src/Attic.m3", line 34: imported interface contains errors (RCSFile) >> "../src/Attic.m3", line 35: imported interface contains errors (SupMisc) >> "../src/Attic.m3", line 35: imported interface contains errors (UnixMisc) >> 5 errors encountered >> new source -> compiling DevTLinux.i3 >> "../src/dev_t_linux/DevTLinux.i3", line 38: imported interface >> contains errors (DevT) >> 1 error encountered >> new source -> compiling DevT.m3 >> "../src/dev_t_linux/DevT.m3", line 31: imported interface contains >> errors (DevT) >> "../src/dev_t_linux/DevT.m3", line 34: imported interface contains >> errors (DevTLinux) >> "../src/dev_t_linux/DevT.m3", line 34: imported interface contains >> errors (TokScan) >> 3 errors encountered >> new source -> compiling SupMiscText.m3 >> "../src/text_cm3/SupMiscText.m3", line 35: imported interface contains >> errors (SupMisc) >> 1 error encountered >> compilation failed => not building library "libsuplib.a" >> Fatal Error: package build failed >> make[2]: *** [all] Error 1 >> make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/suplib' >> ===> server >> make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/server' >> cm3 >> --- building in LINUXLIBC6 --- >> >> package "suptcp" is already overridden to >> /home/rforb/work/cvsup-snap-16.1h/server/src/../.., ignoring new >> override to /home/rforb/work/cvsup-snap-16.1h/suplib/src/../.. >> >> >> Fatal Error: missing source file: FileAttr.i3 >> >> make[2]: *** [all] Error 1 >> make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/server' >> ===> client >> make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/client' >> cm3 >> --- building in LINUXLIBC6 --- >> >> package "suptcp" is already overridden to >> /home/rforb/work/cvsup-snap-16.1h/client/src/../.., ignoring new >> override to /home/rforb/work/cvsup-snap-16.1h/suplib/src/../.. >> >> >> Fatal Error: missing source file: SupFileRec.i3 >> >> make[2]: *** [all] Error 1 >> make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/client' >> ===> cvpasswd >> make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/cvpasswd' >> cm3 >> --- building in LINUXLIBC6 --- >> >> >> Fatal Error: missing source file: AuthMD5.i3 >> >> make[2]: *** [all] Error 1 >> make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/cvpasswd' >> make[1]: *** [subdirs] Error 2 >> make[1]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h' >> make: *** [all] Error 2 > > > Looks like aside some other errors, it doesn't find all the .i3 files, > though I can see all of them existing. Do I possibly have to tell the > cm3 compiler where to find them? > > What do all the "imported interface contains errors (...)" messages have > to mean and how to fix this ? > > Regards, > > Ronny > > > From hosking at cs.purdue.edu Mon Jun 4 17:14:39 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Mon, 4 Jun 2007 11:14:39 -0400 Subject: [M3devel] errors building cvsup wih cm3 In-Reply-To: <4663E91C.1090701@elegosoft.com> References: <4663E91C.1090701@elegosoft.com> Message-ID: Looks like your overrides are not working properly. Did you invoke cm3 -override? On Jun 4, 2007, at 6:27 AM, Ronny Forberger wrote: >> Fatal Error: duplicate unit: /usr/local/cm3/pkg/tcp/src/POSIX/ >> SockOpt.i3 ../src/POSIX/SockOpt.i3 From hosking at cs.purdue.edu Mon Jun 4 17:15:02 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Mon, 4 Jun 2007 11:15:02 -0400 Subject: [M3devel] errors building cvsup wih cm3 In-Reply-To: <46642BBC.90500@polstra.com> References: <4663E91C.1090701@elegosoft.com> <46642BBC.90500@polstra.com> Message-ID: <94308BA0-0E13-4350-8B0C-EA833655C04A@cs.purdue.edu> Looks like John has the answers... On Jun 4, 2007, at 11:11 AM, John Polstra wrote: > There is a patch for CVSup that you have to apply before you can > build it with cm3. Look on the cm3 downloads page, and you'll find > it. > > John > > Ronny Forberger wrote: >> Hi there, >> since I've been able to build the cm3 compiler successfully on >> Debian Linux 'etch' x86, I'm faced up to some other build problem: >> When trying to build cvsup-snap-16.1h from sources using cm3 my >> build process stops by the following error: >>> make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/ >>> suptcp' >>> cm3 >>> --- building in LINUXLIBC6 --- >>> >>> >>> Fatal Error: duplicate unit: /usr/local/cm3/pkg/tcp/src/POSIX/ >>> SockOpt.i3 ../src/POSIX/SockOpt.i3 >>> >>> make[2]: *** [all] Error 1 >>> make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/ >>> suptcp' >>> ===> suplib >>> make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/ >>> suplib' >>> cm3 >>> --- building in LINUXLIBC6 --- >>> >>> new source -> compiling TokScan.i3 >>> "../src/TokScan.i3", line 36: unable to find interface (IP) >>> 1 error encountered >>> new source -> compiling FileAttr.i3 >>> "../src/FileAttr.i3", line 33: imported interface contains errors >>> (TokScan) >>> 1 error encountered >>> new source -> compiling FileAttrRep.i3 >>> "../src/FileAttrRep.i3", line 33: imported interface contains >>> errors (FileAttr) >>> 1 error encountered >>> new source -> compiling FileAttrOS.m3 >>> "../src/POSIX/FileAttrOS.m3", line 31: imported interface >>> contains errors (FileAttr) >>> "../src/POSIX/FileAttrOS.m3", line 31: imported interface >>> contains errors (FileAttrRep) >>> 2 errors encountered >>> new source -> compiling SupFileRec.i3 >>> "../src/SupFileRec.i3", line 36: imported interface contains >>> errors (FileAttr) >>> "../src/SupFileRec.i3", line 37: imported interface contains >>> errors (TokScan) >>> 2 errors encountered >>> new source -> compiling SupMisc.i3 >>> "../src/SupMisc.i3", line 37: unable to find interface (IP) >>> "../src/SupMisc.i3", line 37: imported interface contains errors >>> (SupFileRec) >>> "../src/SupMisc.i3", line 39: unable to find interface (SupTCP) >>> 3 errors encountered >>> new source -> compiling PathComp.m3 >>> "../src/PathComp.m3", line 33: imported interface contains errors >>> (SupMisc) >>> 1 error encountered >>> new source -> compiling ChannelMux.i3 >>> "../src/ChannelMux.i3", line 33: unable to find interface (IP) >>> "../src/ChannelMux.i3", line 34: unable to find interface >>> (SupConnFD) >>> 2 errors encountered >>> new source -> compiling ChannelMux.m3 >>> "../src/ChannelMux.m3", line 32: imported interface contains >>> errors (ChannelMux) >>> "../src/ChannelMux.m3", line 35: unable to find interface (IP) >>> "../src/ChannelMux.m3", line 35: unable to find interface (TCP) >>> "../src/ChannelMux.m3", line 36: unable to find interface >>> (SupConnFD) >>> 4 errors encountered >>> new source -> compiling AuthMD5.i3 >>> "../src/AuthMD5.i3", line 33: unable to find interface (IP) >>> 1 error encountered >>> new source -> compiling AuthMD5.m3 >>> "../src/AuthMD5.m3", line 31: imported interface contains errors >>> (AuthMD5) >>> "../src/AuthMD5.m3", line 33: unable to find interface (IP) >>> 2 errors encountered >>> new source -> compiling TokScan.m3 >>> "../src/TokScan.m3", line 31: imported interface contains errors >>> (TokScan) >>> "../src/TokScan.m3", line 34: unable to find interface (IP) >>> "../src/TokScan.m3", line 34: imported interface contains errors >>> (SupMisc) >>> 3 errors encountered >>> new source -> compiling DevT.i3 >>> "../src/DevT.i3", line 38: imported interface contains errors >>> (TokScan) >>> 1 error encountered >>> new source -> compiling UnixMisc.i3 >>> "../src/UnixMisc.i3", line 35: unable to find interface (IP) >>> 1 error encountered >>> new source -> compiling FileAttr.m3 >>> "../src/FileAttr.m3", line 31: imported interface contains errors >>> (FileAttr) >>> "../src/FileAttr.m3", line 31: imported interface contains errors >>> (FileAttrRep) >>> "../src/FileAttr.m3", line 34: imported interface contains errors >>> (DevT) >>> "../src/FileAttr.m3", line 35: imported interface contains errors >>> (SupMisc) >>> "../src/FileAttr.m3", line 36: imported interface contains errors >>> (TokScan) >>> "../src/FileAttr.m3", line 36: imported interface contains errors >>> (UnixMisc) >>> 6 errors encountered >>> new source -> compiling FileID.i3 >>> "../src/FileID.i3", line 33: imported interface contains errors >>> (FileAttr) >>> 1 error encountered >>> new source -> compiling FileID.m3 >>> "../src/FileID.m3", line 31: imported interface contains errors >>> (FileID) >>> "../src/FileID.m3", line 34: imported interface contains errors >>> (DevT) >>> "../src/FileID.m3", line 34: imported interface contains errors >>> (FileAttr) >>> "../src/FileID.m3", line 34: imported interface contains errors >>> (FileAttrRep) >>> 4 errors encountered >>> new source -> compiling CVProto.i3 >>> "../src/CVProto.i3", line 33: imported interface contains errors >>> (FileAttr) >>> "../src/CVProto.i3", line 33: imported interface contains errors >>> (TokScan) >>> 2 errors encountered >>> new source -> compiling CVProto.m3 >>> "../src/CVProto.m3", line 35: imported interface contains errors >>> (CVProto) >>> "../src/CVProto.m3", line 38: imported interface contains errors >>> (SupMisc) >>> "../src/CVProto.m3", line 38: imported interface contains errors >>> (TokScan) >>> 3 errors encountered >>> new source -> compiling ErrMsg.m3 >>> "../src/ErrMsg.m3", line 34: unable to find interface (IP) >>> "../src/ErrMsg.m3", line 34: imported interface contains errors >>> (TokScan) >>> "../src/ErrMsg.m3", line 36: unable to find interface (SupTCP) >>> 3 errors encountered >>> new source -> compiling DirEntry.i3 >>> "../src/DirEntry.i3", line 37: imported interface contains errors >>> (FileAttr) >>> 1 error encountered >>> new source -> compiling DirEntry.m3 >>> "../src/DirEntry.m3", line 31: imported interface contains errors >>> (DirEntry) >>> 1 error encountered >>> new source -> compiling DirEntryList.i3 >>> "../LINUXLIBC6/DirEntryList.i3 => /usr/local/cm3/pkg/libm3/src/ >>> list/List.ig", line 29: imported interface contains errors >>> (DirEntry) >>> 1 error encountered >>> new source -> compiling DirEntryList.m3 >>> "../LINUXLIBC6/DirEntryList.m3", line 3: imported interface >>> contains errors (DirEntryList) >>> "../LINUXLIBC6/DirEntryList.m3 => /usr/local/cm3/pkg/libm3/src/ >>> list/List.mg", line 11: imported interface contains errors >>> (DirEntry) >>> 2 errors encountered >>> new source -> compiling DirEntryListSort.i3 >>> "../LINUXLIBC6/DirEntryListSort.i3 => /usr/local/cm3/pkg/libm3/ >>> src/list/ListSort.ig", line 28: imported interface contains >>> errors (DirEntry) >>> "../LINUXLIBC6/DirEntryListSort.i3 => /usr/local/cm3/pkg/libm3/ >>> src/list/ListSort.ig", line 28: imported interface contains >>> errors (DirEntryList) >>> 2 errors encountered >>> new source -> compiling DirEntryListSort.m3 >>> "../LINUXLIBC6/DirEntryListSort.m3", line 3: imported interface >>> contains errors (DirEntryListSort) >>> "../LINUXLIBC6/DirEntryListSort.m3 => /usr/local/cm3/pkg/libm3/ >>> src/list/ListSort.mg", line 10: imported interface contains >>> errors (DirEntry) >>> 2 errors encountered >>> new source -> compiling RCSDate.m3 >>> "../src/RCSDate.m3", line 34: imported interface contains errors >>> (TokScan) >>> 1 error encountered >>> new source -> compiling RCSFile.i3 >>> "../src/RCSFile.i3", line 37: imported interface contains errors >>> (FileAttr) >>> 1 error encountered >>> new source -> compiling RCSDeltaClass.i3 >>> "../src/RCSDeltaClass.i3", line 37: imported interface contains >>> errors (RCSFile) >>> 1 error encountered >>> new source -> compiling RCSDelta.m3 >>> "../src/RCSDelta.m3", line 31: imported interface contains errors >>> (RCSDeltaClass) >>> "../src/RCSDelta.m3", line 34: imported interface contains errors >>> (RCSFile) >>> "../src/RCSDelta.m3", line 35: imported interface contains errors >>> (TokScan) >>> 3 errors encountered >>> new source -> compiling RCSKeyword.m3 >>> "../src/RCSKeyword.m3", line 34: imported interface contains >>> errors (RCSDeltaClass) >>> "../src/RCSKeyword.m3", line 35: imported interface contains >>> errors (SupMisc) >>> 2 errors encountered >>> new source -> compiling RCSFile.m3 >>> "../src/RCSFile.m3", line 31: imported interface contains errors >>> (RCSFile) >>> "../src/RCSFile.m3", line 34: imported interface contains errors >>> (FileAttr) >>> "../src/RCSFile.m3", line 36: imported interface contains errors >>> (RCSDeltaClass) >>> "../src/RCSFile.m3", line 39: imported interface contains errors >>> (TokScan) >>> "../src/RCSFile.m3", line 39: imported interface contains errors >>> (UnixMisc) >>> 5 errors encountered >>> new source -> compiling SupFileRec.m3 >>> "../src/SupFileRec.m3", line 31: imported interface contains >>> errors (SupFileRec) >>> "../src/SupFileRec.m3", line 34: imported interface contains >>> errors (FileAttr) >>> "../src/SupFileRec.m3", line 35: imported interface contains >>> errors (TokScan) >>> 3 errors encountered >>> new source -> compiling SupMisc.m3 >>> "../src/SupMisc.m3", line 31: imported interface contains errors >>> (SupMisc) >>> "../src/SupMisc.m3", line 34: imported interface contains errors >>> (FileAttr) >>> "../src/SupMisc.m3", line 34: unable to find interface (IP) >>> "../src/SupMisc.m3", line 35: imported interface contains errors >>> (SupFileRec) >>> "../src/SupMisc.m3", line 36: imported interface contains errors >>> (TokScan) >>> "../src/SupMisc.m3", line 37: unable to find interface (SupTCP) >>> 6 errors encountered >>> new source -> compiling FileStatus.i3 >>> "../src/FileStatus.i3", line 33: imported interface contains >>> errors (FileAttr) >>> 1 error encountered >>> new source -> compiling FileStatusRaw.i3 >>> "../src/FileStatusRaw.i3", line 33: imported interface contains >>> errors (FileStatus) >>> 1 error encountered >>> new source -> compiling FileStatus.m3 >>> "../src/FileStatus.m3", line 31: imported interface contains >>> errors (FileStatus) >>> "../src/FileStatus.m3", line 31: imported interface contains >>> errors (FileStatusRaw) >>> "../src/FileStatus.m3", line 34: imported interface contains >>> errors (FileAttr) >>> "../src/FileStatus.m3", line 34: imported interface contains >>> errors (SupMisc) >>> "../src/FileStatus.m3", line 34: imported interface contains >>> errors (TokScan) >>> 5 errors encountered >>> new source -> compiling StatusFile.i3 >>> "../src/StatusFile.i3", line 33: imported interface contains >>> errors (FileStatus) >>> "../src/StatusFile.i3", line 33: imported interface contains >>> errors (SupFileRec) >>> 2 errors encountered >>> new source -> compiling StatusFile.m3 >>> "../src/StatusFile.m3", line 31: imported interface contains >>> errors (StatusFile) >>> "../src/StatusFile.m3", line 34: imported interface contains >>> errors (FileAttr) >>> "../src/StatusFile.m3", line 34: imported interface contains >>> errors (FileStatus) >>> "../src/StatusFile.m3", line 34: imported interface contains >>> errors (FileStatusRaw) >>> "../src/StatusFile.m3", line 35: imported interface contains >>> errors (SupFileRec) >>> "../src/StatusFile.m3", line 35: imported interface contains >>> errors (SupMisc) >>> 6 errors encountered >>> new source -> compiling CVTree.i3 >>> "../src/CVTree.i3", line 37: imported interface contains errors >>> (FileAttr) >>> 1 error encountered >>> new source -> compiling CVTree.m3 >>> "../src/CVTree.m3", line 31: imported interface contains errors >>> (CVTree) >>> "../src/CVTree.m3", line 34: imported interface contains errors >>> (DirEntry) >>> "../src/CVTree.m3", line 34: imported interface contains errors >>> (DirEntryList) >>> "../src/CVTree.m3", line 34: imported interface contains errors >>> (DirEntryListSort) >>> "../src/CVTree.m3", line 34: imported interface contains errors >>> (FileAttr) >>> "../src/CVTree.m3", line 35: imported interface contains errors >>> (SupMisc) >>> 6 errors encountered >>> new source -> compiling GzipRd.i3 >>> "../src/GzipRd.i3", line 36: unable to find interface (StreamRd) >>> 1 error encountered >>> new source -> compiling GzipRd.m3 >>> "../src/GzipRd.m3", line 31: imported interface contains errors >>> (GzipRd) >>> "../src/GzipRd.m3", line 34: unable to find interface >>> (StreamRdClass) >>> 2 errors encountered >>> new source -> compiling GzipWr.i3 >>> "../src/GzipWr.i3", line 36: unable to find interface (StreamWr) >>> 1 error encountered >>> new source -> compiling GzipWr.m3 >>> "../src/GzipWr.m3", line 31: imported interface contains errors >>> (GzipWr) >>> "../src/GzipWr.m3", line 34: unable to find interface >>> (StreamWrClass) >>> 2 errors encountered >>> new source -> compiling RsyncFile.i3 >>> "../src/RsyncFile.i3", line 33: imported interface contains >>> errors (FileAttr) >>> 1 error encountered >>> new source -> compiling RsyncFile.m3 >>> "../src/RsyncFile.m3", line 31: imported interface contains >>> errors (RsyncFile) >>> "../src/RsyncFile.m3", line 34: imported interface contains >>> errors (FileAttr) >>> "../src/RsyncFile.m3", line 35: imported interface contains >>> errors (UnixMisc) >>> 3 errors encountered >>> new source -> compiling SigHandler.m3 >>> "../src/SigHandler.m3", line 48: imported interface contains >>> errors (UnixMisc) >>> "../src/SigHandler.m3", line 50: unable to find interface (SupErrno) >>> 2 errors encountered >>> new source -> compiling UnixMisc.m3 >>> "../src/UnixMisc.m3", line 31: imported interface contains errors >>> (UnixMisc) >>> "../src/UnixMisc.m3", line 34: unable to find interface (IP) >>> 2 errors encountered >>> new source -> compiling Attic.i3 >>> "../src/Attic.i3", line 37: imported interface contains errors >>> (FileAttr) >>> "../src/Attic.i3", line 37: imported interface contains errors >>> (RCSFile) >>> 2 errors encountered >>> new source -> compiling Attic.m3 >>> "../src/Attic.m3", line 31: imported interface contains errors >>> (Attic) >>> "../src/Attic.m3", line 34: imported interface contains errors >>> (FileAttr) >>> "../src/Attic.m3", line 34: imported interface contains errors >>> (RCSFile) >>> "../src/Attic.m3", line 35: imported interface contains errors >>> (SupMisc) >>> "../src/Attic.m3", line 35: imported interface contains errors >>> (UnixMisc) >>> 5 errors encountered >>> new source -> compiling DevTLinux.i3 >>> "../src/dev_t_linux/DevTLinux.i3", line 38: imported interface >>> contains errors (DevT) >>> 1 error encountered >>> new source -> compiling DevT.m3 >>> "../src/dev_t_linux/DevT.m3", line 31: imported interface >>> contains errors (DevT) >>> "../src/dev_t_linux/DevT.m3", line 34: imported interface >>> contains errors (DevTLinux) >>> "../src/dev_t_linux/DevT.m3", line 34: imported interface >>> contains errors (TokScan) >>> 3 errors encountered >>> new source -> compiling SupMiscText.m3 >>> "../src/text_cm3/SupMiscText.m3", line 35: imported interface >>> contains errors (SupMisc) >>> 1 error encountered >>> compilation failed => not building library "libsuplib.a" >>> Fatal Error: package build failed >>> make[2]: *** [all] Error 1 >>> make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/ >>> suplib' >>> ===> server >>> make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/ >>> server' >>> cm3 >>> --- building in LINUXLIBC6 --- >>> >>> package "suptcp" is already overridden to /home/rforb/work/cvsup- >>> snap-16.1h/server/src/../.., ignoring new override to /home/rforb/ >>> work/cvsup-snap-16.1h/suplib/src/../.. >>> >>> >>> Fatal Error: missing source file: FileAttr.i3 >>> >>> make[2]: *** [all] Error 1 >>> make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/ >>> server' >>> ===> client >>> make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/ >>> client' >>> cm3 >>> --- building in LINUXLIBC6 --- >>> >>> package "suptcp" is already overridden to /home/rforb/work/cvsup- >>> snap-16.1h/client/src/../.., ignoring new override to /home/rforb/ >>> work/cvsup-snap-16.1h/suplib/src/../.. >>> >>> >>> Fatal Error: missing source file: SupFileRec.i3 >>> >>> make[2]: *** [all] Error 1 >>> make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/ >>> client' >>> ===> cvpasswd >>> make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/ >>> cvpasswd' >>> cm3 >>> --- building in LINUXLIBC6 --- >>> >>> >>> Fatal Error: missing source file: AuthMD5.i3 >>> >>> make[2]: *** [all] Error 1 >>> make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/ >>> cvpasswd' >>> make[1]: *** [subdirs] Error 2 >>> make[1]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h' >>> make: *** [all] Error 2 >> Looks like aside some other errors, it doesn't find all the .i3 >> files, though I can see all of them existing. Do I possibly have >> to tell the cm3 compiler where to find them? >> What do all the "imported interface contains errors (...)" >> messages have to mean and how to fix this ? >> Regards, >> Ronny From jdp at polstra.com Mon Jun 4 17:45:06 2007 From: jdp at polstra.com (John Polstra) Date: Mon, 04 Jun 2007 08:45:06 -0700 Subject: [M3devel] errors building cvsup wih cm3 In-Reply-To: <94308BA0-0E13-4350-8B0C-EA833655C04A@cs.purdue.edu> References: <4663E91C.1090701@elegosoft.com> <46642BBC.90500@polstra.com> <94308BA0-0E13-4350-8B0C-EA833655C04A@cs.purdue.edu> Message-ID: <46643382.5010105@polstra.com> Hmm, actually you may be closer to the right answers than I was. I don't see how the lack of the patch could explain some of those errors. John Tony Hosking wrote: > Looks like John has the answers... > > On Jun 4, 2007, at 11:11 AM, John Polstra wrote: > >> There is a patch for CVSup that you have to apply before you can build >> it with cm3. Look on the cm3 downloads page, and you'll find it. >> >> John >> >> Ronny Forberger wrote: >>> Hi there, >>> since I've been able to build the cm3 compiler successfully on Debian >>> Linux 'etch' x86, I'm faced up to some other build problem: >>> When trying to build cvsup-snap-16.1h from sources using cm3 my build >>> process stops by the following error: >>>> make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/suptcp' >>>> cm3 >>>> --- building in LINUXLIBC6 --- >>>> >>>> >>>> Fatal Error: duplicate unit: >>>> /usr/local/cm3/pkg/tcp/src/POSIX/SockOpt.i3 ../src/POSIX/SockOpt.i3 >>>> >>>> make[2]: *** [all] Error 1 >>>> make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/suptcp' >>>> ===> suplib >>>> make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/suplib' >>>> cm3 >>>> --- building in LINUXLIBC6 --- >>>> >>>> new source -> compiling TokScan.i3 >>>> "../src/TokScan.i3", line 36: unable to find interface (IP) >>>> 1 error encountered >>>> new source -> compiling FileAttr.i3 >>>> "../src/FileAttr.i3", line 33: imported interface contains errors >>>> (TokScan) >>>> 1 error encountered >>>> new source -> compiling FileAttrRep.i3 >>>> "../src/FileAttrRep.i3", line 33: imported interface contains errors >>>> (FileAttr) >>>> 1 error encountered >>>> new source -> compiling FileAttrOS.m3 >>>> "../src/POSIX/FileAttrOS.m3", line 31: imported interface contains >>>> errors (FileAttr) >>>> "../src/POSIX/FileAttrOS.m3", line 31: imported interface contains >>>> errors (FileAttrRep) >>>> 2 errors encountered >>>> new source -> compiling SupFileRec.i3 >>>> "../src/SupFileRec.i3", line 36: imported interface contains errors >>>> (FileAttr) >>>> "../src/SupFileRec.i3", line 37: imported interface contains errors >>>> (TokScan) >>>> 2 errors encountered >>>> new source -> compiling SupMisc.i3 >>>> "../src/SupMisc.i3", line 37: unable to find interface (IP) >>>> "../src/SupMisc.i3", line 37: imported interface contains errors >>>> (SupFileRec) >>>> "../src/SupMisc.i3", line 39: unable to find interface (SupTCP) >>>> 3 errors encountered >>>> new source -> compiling PathComp.m3 >>>> "../src/PathComp.m3", line 33: imported interface contains errors >>>> (SupMisc) >>>> 1 error encountered >>>> new source -> compiling ChannelMux.i3 >>>> "../src/ChannelMux.i3", line 33: unable to find interface (IP) >>>> "../src/ChannelMux.i3", line 34: unable to find interface (SupConnFD) >>>> 2 errors encountered >>>> new source -> compiling ChannelMux.m3 >>>> "../src/ChannelMux.m3", line 32: imported interface contains errors >>>> (ChannelMux) >>>> "../src/ChannelMux.m3", line 35: unable to find interface (IP) >>>> "../src/ChannelMux.m3", line 35: unable to find interface (TCP) >>>> "../src/ChannelMux.m3", line 36: unable to find interface (SupConnFD) >>>> 4 errors encountered >>>> new source -> compiling AuthMD5.i3 >>>> "../src/AuthMD5.i3", line 33: unable to find interface (IP) >>>> 1 error encountered >>>> new source -> compiling AuthMD5.m3 >>>> "../src/AuthMD5.m3", line 31: imported interface contains errors >>>> (AuthMD5) >>>> "../src/AuthMD5.m3", line 33: unable to find interface (IP) >>>> 2 errors encountered >>>> new source -> compiling TokScan.m3 >>>> "../src/TokScan.m3", line 31: imported interface contains errors >>>> (TokScan) >>>> "../src/TokScan.m3", line 34: unable to find interface (IP) >>>> "../src/TokScan.m3", line 34: imported interface contains errors >>>> (SupMisc) >>>> 3 errors encountered >>>> new source -> compiling DevT.i3 >>>> "../src/DevT.i3", line 38: imported interface contains errors (TokScan) >>>> 1 error encountered >>>> new source -> compiling UnixMisc.i3 >>>> "../src/UnixMisc.i3", line 35: unable to find interface (IP) >>>> 1 error encountered >>>> new source -> compiling FileAttr.m3 >>>> "../src/FileAttr.m3", line 31: imported interface contains errors >>>> (FileAttr) >>>> "../src/FileAttr.m3", line 31: imported interface contains errors >>>> (FileAttrRep) >>>> "../src/FileAttr.m3", line 34: imported interface contains errors >>>> (DevT) >>>> "../src/FileAttr.m3", line 35: imported interface contains errors >>>> (SupMisc) >>>> "../src/FileAttr.m3", line 36: imported interface contains errors >>>> (TokScan) >>>> "../src/FileAttr.m3", line 36: imported interface contains errors >>>> (UnixMisc) >>>> 6 errors encountered >>>> new source -> compiling FileID.i3 >>>> "../src/FileID.i3", line 33: imported interface contains errors >>>> (FileAttr) >>>> 1 error encountered >>>> new source -> compiling FileID.m3 >>>> "../src/FileID.m3", line 31: imported interface contains errors >>>> (FileID) >>>> "../src/FileID.m3", line 34: imported interface contains errors (DevT) >>>> "../src/FileID.m3", line 34: imported interface contains errors >>>> (FileAttr) >>>> "../src/FileID.m3", line 34: imported interface contains errors >>>> (FileAttrRep) >>>> 4 errors encountered >>>> new source -> compiling CVProto.i3 >>>> "../src/CVProto.i3", line 33: imported interface contains errors >>>> (FileAttr) >>>> "../src/CVProto.i3", line 33: imported interface contains errors >>>> (TokScan) >>>> 2 errors encountered >>>> new source -> compiling CVProto.m3 >>>> "../src/CVProto.m3", line 35: imported interface contains errors >>>> (CVProto) >>>> "../src/CVProto.m3", line 38: imported interface contains errors >>>> (SupMisc) >>>> "../src/CVProto.m3", line 38: imported interface contains errors >>>> (TokScan) >>>> 3 errors encountered >>>> new source -> compiling ErrMsg.m3 >>>> "../src/ErrMsg.m3", line 34: unable to find interface (IP) >>>> "../src/ErrMsg.m3", line 34: imported interface contains errors >>>> (TokScan) >>>> "../src/ErrMsg.m3", line 36: unable to find interface (SupTCP) >>>> 3 errors encountered >>>> new source -> compiling DirEntry.i3 >>>> "../src/DirEntry.i3", line 37: imported interface contains errors >>>> (FileAttr) >>>> 1 error encountered >>>> new source -> compiling DirEntry.m3 >>>> "../src/DirEntry.m3", line 31: imported interface contains errors >>>> (DirEntry) >>>> 1 error encountered >>>> new source -> compiling DirEntryList.i3 >>>> "../LINUXLIBC6/DirEntryList.i3 => >>>> /usr/local/cm3/pkg/libm3/src/list/List.ig", line 29: imported >>>> interface contains errors (DirEntry) >>>> 1 error encountered >>>> new source -> compiling DirEntryList.m3 >>>> "../LINUXLIBC6/DirEntryList.m3", line 3: imported interface contains >>>> errors (DirEntryList) >>>> "../LINUXLIBC6/DirEntryList.m3 => >>>> /usr/local/cm3/pkg/libm3/src/list/List.mg", line 11: imported >>>> interface contains errors (DirEntry) >>>> 2 errors encountered >>>> new source -> compiling DirEntryListSort.i3 >>>> "../LINUXLIBC6/DirEntryListSort.i3 => >>>> /usr/local/cm3/pkg/libm3/src/list/ListSort.ig", line 28: imported >>>> interface contains errors (DirEntry) >>>> "../LINUXLIBC6/DirEntryListSort.i3 => >>>> /usr/local/cm3/pkg/libm3/src/list/ListSort.ig", line 28: imported >>>> interface contains errors (DirEntryList) >>>> 2 errors encountered >>>> new source -> compiling DirEntryListSort.m3 >>>> "../LINUXLIBC6/DirEntryListSort.m3", line 3: imported interface >>>> contains errors (DirEntryListSort) >>>> "../LINUXLIBC6/DirEntryListSort.m3 => >>>> /usr/local/cm3/pkg/libm3/src/list/ListSort.mg", line 10: imported >>>> interface contains errors (DirEntry) >>>> 2 errors encountered >>>> new source -> compiling RCSDate.m3 >>>> "../src/RCSDate.m3", line 34: imported interface contains errors >>>> (TokScan) >>>> 1 error encountered >>>> new source -> compiling RCSFile.i3 >>>> "../src/RCSFile.i3", line 37: imported interface contains errors >>>> (FileAttr) >>>> 1 error encountered >>>> new source -> compiling RCSDeltaClass.i3 >>>> "../src/RCSDeltaClass.i3", line 37: imported interface contains >>>> errors (RCSFile) >>>> 1 error encountered >>>> new source -> compiling RCSDelta.m3 >>>> "../src/RCSDelta.m3", line 31: imported interface contains errors >>>> (RCSDeltaClass) >>>> "../src/RCSDelta.m3", line 34: imported interface contains errors >>>> (RCSFile) >>>> "../src/RCSDelta.m3", line 35: imported interface contains errors >>>> (TokScan) >>>> 3 errors encountered >>>> new source -> compiling RCSKeyword.m3 >>>> "../src/RCSKeyword.m3", line 34: imported interface contains errors >>>> (RCSDeltaClass) >>>> "../src/RCSKeyword.m3", line 35: imported interface contains errors >>>> (SupMisc) >>>> 2 errors encountered >>>> new source -> compiling RCSFile.m3 >>>> "../src/RCSFile.m3", line 31: imported interface contains errors >>>> (RCSFile) >>>> "../src/RCSFile.m3", line 34: imported interface contains errors >>>> (FileAttr) >>>> "../src/RCSFile.m3", line 36: imported interface contains errors >>>> (RCSDeltaClass) >>>> "../src/RCSFile.m3", line 39: imported interface contains errors >>>> (TokScan) >>>> "../src/RCSFile.m3", line 39: imported interface contains errors >>>> (UnixMisc) >>>> 5 errors encountered >>>> new source -> compiling SupFileRec.m3 >>>> "../src/SupFileRec.m3", line 31: imported interface contains errors >>>> (SupFileRec) >>>> "../src/SupFileRec.m3", line 34: imported interface contains errors >>>> (FileAttr) >>>> "../src/SupFileRec.m3", line 35: imported interface contains errors >>>> (TokScan) >>>> 3 errors encountered >>>> new source -> compiling SupMisc.m3 >>>> "../src/SupMisc.m3", line 31: imported interface contains errors >>>> (SupMisc) >>>> "../src/SupMisc.m3", line 34: imported interface contains errors >>>> (FileAttr) >>>> "../src/SupMisc.m3", line 34: unable to find interface (IP) >>>> "../src/SupMisc.m3", line 35: imported interface contains errors >>>> (SupFileRec) >>>> "../src/SupMisc.m3", line 36: imported interface contains errors >>>> (TokScan) >>>> "../src/SupMisc.m3", line 37: unable to find interface (SupTCP) >>>> 6 errors encountered >>>> new source -> compiling FileStatus.i3 >>>> "../src/FileStatus.i3", line 33: imported interface contains errors >>>> (FileAttr) >>>> 1 error encountered >>>> new source -> compiling FileStatusRaw.i3 >>>> "../src/FileStatusRaw.i3", line 33: imported interface contains >>>> errors (FileStatus) >>>> 1 error encountered >>>> new source -> compiling FileStatus.m3 >>>> "../src/FileStatus.m3", line 31: imported interface contains errors >>>> (FileStatus) >>>> "../src/FileStatus.m3", line 31: imported interface contains errors >>>> (FileStatusRaw) >>>> "../src/FileStatus.m3", line 34: imported interface contains errors >>>> (FileAttr) >>>> "../src/FileStatus.m3", line 34: imported interface contains errors >>>> (SupMisc) >>>> "../src/FileStatus.m3", line 34: imported interface contains errors >>>> (TokScan) >>>> 5 errors encountered >>>> new source -> compiling StatusFile.i3 >>>> "../src/StatusFile.i3", line 33: imported interface contains errors >>>> (FileStatus) >>>> "../src/StatusFile.i3", line 33: imported interface contains errors >>>> (SupFileRec) >>>> 2 errors encountered >>>> new source -> compiling StatusFile.m3 >>>> "../src/StatusFile.m3", line 31: imported interface contains errors >>>> (StatusFile) >>>> "../src/StatusFile.m3", line 34: imported interface contains errors >>>> (FileAttr) >>>> "../src/StatusFile.m3", line 34: imported interface contains errors >>>> (FileStatus) >>>> "../src/StatusFile.m3", line 34: imported interface contains errors >>>> (FileStatusRaw) >>>> "../src/StatusFile.m3", line 35: imported interface contains errors >>>> (SupFileRec) >>>> "../src/StatusFile.m3", line 35: imported interface contains errors >>>> (SupMisc) >>>> 6 errors encountered >>>> new source -> compiling CVTree.i3 >>>> "../src/CVTree.i3", line 37: imported interface contains errors >>>> (FileAttr) >>>> 1 error encountered >>>> new source -> compiling CVTree.m3 >>>> "../src/CVTree.m3", line 31: imported interface contains errors >>>> (CVTree) >>>> "../src/CVTree.m3", line 34: imported interface contains errors >>>> (DirEntry) >>>> "../src/CVTree.m3", line 34: imported interface contains errors >>>> (DirEntryList) >>>> "../src/CVTree.m3", line 34: imported interface contains errors >>>> (DirEntryListSort) >>>> "../src/CVTree.m3", line 34: imported interface contains errors >>>> (FileAttr) >>>> "../src/CVTree.m3", line 35: imported interface contains errors >>>> (SupMisc) >>>> 6 errors encountered >>>> new source -> compiling GzipRd.i3 >>>> "../src/GzipRd.i3", line 36: unable to find interface (StreamRd) >>>> 1 error encountered >>>> new source -> compiling GzipRd.m3 >>>> "../src/GzipRd.m3", line 31: imported interface contains errors >>>> (GzipRd) >>>> "../src/GzipRd.m3", line 34: unable to find interface (StreamRdClass) >>>> 2 errors encountered >>>> new source -> compiling GzipWr.i3 >>>> "../src/GzipWr.i3", line 36: unable to find interface (StreamWr) >>>> 1 error encountered >>>> new source -> compiling GzipWr.m3 >>>> "../src/GzipWr.m3", line 31: imported interface contains errors >>>> (GzipWr) >>>> "../src/GzipWr.m3", line 34: unable to find interface (StreamWrClass) >>>> 2 errors encountered >>>> new source -> compiling RsyncFile.i3 >>>> "../src/RsyncFile.i3", line 33: imported interface contains errors >>>> (FileAttr) >>>> 1 error encountered >>>> new source -> compiling RsyncFile.m3 >>>> "../src/RsyncFile.m3", line 31: imported interface contains errors >>>> (RsyncFile) >>>> "../src/RsyncFile.m3", line 34: imported interface contains errors >>>> (FileAttr) >>>> "../src/RsyncFile.m3", line 35: imported interface contains errors >>>> (UnixMisc) >>>> 3 errors encountered >>>> new source -> compiling SigHandler.m3 >>>> "../src/SigHandler.m3", line 48: imported interface contains errors >>>> (UnixMisc) >>>> "../src/SigHandler.m3", line 50: unable to find interface (SupErrno) >>>> 2 errors encountered >>>> new source -> compiling UnixMisc.m3 >>>> "../src/UnixMisc.m3", line 31: imported interface contains errors >>>> (UnixMisc) >>>> "../src/UnixMisc.m3", line 34: unable to find interface (IP) >>>> 2 errors encountered >>>> new source -> compiling Attic.i3 >>>> "../src/Attic.i3", line 37: imported interface contains errors >>>> (FileAttr) >>>> "../src/Attic.i3", line 37: imported interface contains errors >>>> (RCSFile) >>>> 2 errors encountered >>>> new source -> compiling Attic.m3 >>>> "../src/Attic.m3", line 31: imported interface contains errors (Attic) >>>> "../src/Attic.m3", line 34: imported interface contains errors >>>> (FileAttr) >>>> "../src/Attic.m3", line 34: imported interface contains errors >>>> (RCSFile) >>>> "../src/Attic.m3", line 35: imported interface contains errors >>>> (SupMisc) >>>> "../src/Attic.m3", line 35: imported interface contains errors >>>> (UnixMisc) >>>> 5 errors encountered >>>> new source -> compiling DevTLinux.i3 >>>> "../src/dev_t_linux/DevTLinux.i3", line 38: imported interface >>>> contains errors (DevT) >>>> 1 error encountered >>>> new source -> compiling DevT.m3 >>>> "../src/dev_t_linux/DevT.m3", line 31: imported interface contains >>>> errors (DevT) >>>> "../src/dev_t_linux/DevT.m3", line 34: imported interface contains >>>> errors (DevTLinux) >>>> "../src/dev_t_linux/DevT.m3", line 34: imported interface contains >>>> errors (TokScan) >>>> 3 errors encountered >>>> new source -> compiling SupMiscText.m3 >>>> "../src/text_cm3/SupMiscText.m3", line 35: imported interface >>>> contains errors (SupMisc) >>>> 1 error encountered >>>> compilation failed => not building library "libsuplib.a" >>>> Fatal Error: package build failed >>>> make[2]: *** [all] Error 1 >>>> make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/suplib' >>>> ===> server >>>> make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/server' >>>> cm3 >>>> --- building in LINUXLIBC6 --- >>>> >>>> package "suptcp" is already overridden to >>>> /home/rforb/work/cvsup-snap-16.1h/server/src/../.., ignoring new >>>> override to /home/rforb/work/cvsup-snap-16.1h/suplib/src/../.. >>>> >>>> >>>> Fatal Error: missing source file: FileAttr.i3 >>>> >>>> make[2]: *** [all] Error 1 >>>> make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/server' >>>> ===> client >>>> make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/client' >>>> cm3 >>>> --- building in LINUXLIBC6 --- >>>> >>>> package "suptcp" is already overridden to >>>> /home/rforb/work/cvsup-snap-16.1h/client/src/../.., ignoring new >>>> override to /home/rforb/work/cvsup-snap-16.1h/suplib/src/../.. >>>> >>>> >>>> Fatal Error: missing source file: SupFileRec.i3 >>>> >>>> make[2]: *** [all] Error 1 >>>> make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/client' >>>> ===> cvpasswd >>>> make[2]: Entering directory >>>> `/home/rforb/work/cvsup-snap-16.1h/cvpasswd' >>>> cm3 >>>> --- building in LINUXLIBC6 --- >>>> >>>> >>>> Fatal Error: missing source file: AuthMD5.i3 >>>> >>>> make[2]: *** [all] Error 1 >>>> make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/cvpasswd' >>>> make[1]: *** [subdirs] Error 2 >>>> make[1]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h' >>>> make: *** [all] Error 2 >>> Looks like aside some other errors, it doesn't find all the .i3 >>> files, though I can see all of them existing. Do I possibly have to >>> tell the cm3 compiler where to find them? >>> What do all the "imported interface contains errors (...)" messages >>> have to mean and how to fix this ? >>> Regards, >>> Ronny > From hosking at cs.purdue.edu Mon Jun 4 21:37:27 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Mon, 4 Jun 2007 15:37:27 -0400 Subject: [M3devel] Virtual-Memory synchronized GC Message-ID: I would like to remove the now-deprecated VM-synchronized GC support so as to be able to tidy up the GC implementation, making it more easily maintained, and in preparation for further improvements to GC. Is there anyone who has an interest in seeing VM-synchronized GC continuing to be supported? Antony Hosking | Associate Professor Dept of Computer Science | Office: +1 765 494-6001 Purdue University | Mobile: +1 765 427-5484 250 N. University Street | Email: hosking at cs.purdue.edu West Lafayette, IN 47907-2066 | http://www.cs.purdue.edu/~hosking _--_|\ / \ \_.--._/ ) v / From dabenavidesd at yahoo.es Tue Jun 5 04:30:41 2007 From: dabenavidesd at yahoo.es (Daniel Alejandro Benavides D.) Date: Tue, 5 Jun 2007 04:30:41 +0200 (CEST) Subject: [M3devel] errors building cvsup wih cm3 In-Reply-To: <46643382.5010105@polstra.com> Message-ID: <20070605023041.71990.qmail@web27105.mail.ukl.yahoo.com> Hi, One of the problems I had when compiling cvsup with current cm3 on suplib/src/FileAttr.m3 when calling utime.gettimeofday because of the definition of the function Utime <*EXTERNAL*> PROCEDURE gettimeofday (VAR t: struct_timeval; z: UNTRACED REF struct_timezone := NIL): int in the z parameter have changed, the patch was written before this change in the procedure. The FileAttr.m3 uses the function on line 746: EVAL Utime.gettimeofday(times[0], tz); tz is declared before in line 744: tz: UNTRACED REF Utime.struct_timezone:=NIL; The program compiles as explained in the guide: http://es.geocities.com/dabenavidesd/InstallationGuidecm3-Modula-3.html#SECTION00060000000000000000 I didnt have any more problems compiling cvsup with cm3. Sorry by the late posting of this issue. --- John Polstra wrote: > Hmm, actually you may be closer to the right answers > than I was. I > don't see how the lack of the patch could explain > some of those errors. > > John > > > Tony Hosking wrote: > > Looks like John has the answers... > > > > On Jun 4, 2007, at 11:11 AM, John Polstra wrote: > > > >> There is a patch for CVSup that you have to apply > before you can build > >> it with cm3. Look on the cm3 downloads page, and > you'll find it. > >> > >> John > >> > >> Ronny Forberger wrote: > >>> Hi there, > >>> since I've been able to build the cm3 compiler > successfully on Debian > >>> Linux 'etch' x86, I'm faced up to some other > build problem: > >>> When trying to build cvsup-snap-16.1h from > sources using cm3 my build > >>> process stops by the following error: > >>>> make[2]: Entering directory > `/home/rforb/work/cvsup-snap-16.1h/suptcp' > >>>> cm3 > >>>> --- building in LINUXLIBC6 --- > >>>> > >>>> > >>>> Fatal Error: duplicate unit: > >>>> /usr/local/cm3/pkg/tcp/src/POSIX/SockOpt.i3 > ../src/POSIX/SockOpt.i3 > >>>> > >>>> make[2]: *** [all] Error 1 > >>>> make[2]: Leaving directory > `/home/rforb/work/cvsup-snap-16.1h/suptcp' > >>>> ===> suplib > >>>> make[2]: Entering directory > `/home/rforb/work/cvsup-snap-16.1h/suplib' > >>>> cm3 > >>>> --- building in LINUXLIBC6 --- > >>>> > >>>> new source -> compiling TokScan.i3 > >>>> "../src/TokScan.i3", line 36: unable to find > interface (IP) > >>>> 1 error encountered > >>>> new source -> compiling FileAttr.i3 > >>>> "../src/FileAttr.i3", line 33: imported > interface contains errors > >>>> (TokScan) > >>>> 1 error encountered > >>>> new source -> compiling FileAttrRep.i3 > >>>> "../src/FileAttrRep.i3", line 33: imported > interface contains errors > >>>> (FileAttr) > >>>> 1 error encountered > >>>> new source -> compiling FileAttrOS.m3 > >>>> "../src/POSIX/FileAttrOS.m3", line 31: imported > interface contains > >>>> errors (FileAttr) > >>>> "../src/POSIX/FileAttrOS.m3", line 31: imported > interface contains > >>>> errors (FileAttrRep) > >>>> 2 errors encountered > >>>> new source -> compiling SupFileRec.i3 > >>>> "../src/SupFileRec.i3", line 36: imported > interface contains errors > >>>> (FileAttr) > >>>> "../src/SupFileRec.i3", line 37: imported > interface contains errors > >>>> (TokScan) > >>>> 2 errors encountered > >>>> new source -> compiling SupMisc.i3 > >>>> "../src/SupMisc.i3", line 37: unable to find > interface (IP) > >>>> "../src/SupMisc.i3", line 37: imported > interface contains errors > >>>> (SupFileRec) > >>>> "../src/SupMisc.i3", line 39: unable to find > interface (SupTCP) > >>>> 3 errors encountered > >>>> new source -> compiling PathComp.m3 > >>>> "../src/PathComp.m3", line 33: imported > interface contains errors > >>>> (SupMisc) > >>>> 1 error encountered > >>>> new source -> compiling ChannelMux.i3 > >>>> "../src/ChannelMux.i3", line 33: unable to find > interface (IP) > >>>> "../src/ChannelMux.i3", line 34: unable to find > interface (SupConnFD) > >>>> 2 errors encountered > >>>> new source -> compiling ChannelMux.m3 > >>>> "../src/ChannelMux.m3", line 32: imported > interface contains errors > >>>> (ChannelMux) > >>>> "../src/ChannelMux.m3", line 35: unable to find > interface (IP) > >>>> "../src/ChannelMux.m3", line 35: unable to find > interface (TCP) > >>>> "../src/ChannelMux.m3", line 36: unable to find > interface (SupConnFD) > >>>> 4 errors encountered > >>>> new source -> compiling AuthMD5.i3 > >>>> "../src/AuthMD5.i3", line 33: unable to find > interface (IP) > >>>> 1 error encountered > >>>> new source -> compiling AuthMD5.m3 > >>>> "../src/AuthMD5.m3", line 31: imported > interface contains errors > >>>> (AuthMD5) > >>>> "../src/AuthMD5.m3", line 33: unable to find > interface (IP) > >>>> 2 errors encountered > >>>> new source -> compiling TokScan.m3 > >>>> "../src/TokScan.m3", line 31: imported > interface contains errors > >>>> (TokScan) > >>>> "../src/TokScan.m3", line 34: unable to find > interface (IP) > >>>> "../src/TokScan.m3", line 34: imported > interface contains errors > >>>> (SupMisc) > >>>> 3 errors encountered > >>>> new source -> compiling DevT.i3 > >>>> "../src/DevT.i3", line 38: imported interface > contains errors (TokScan) > >>>> 1 error encountered > >>>> new source -> compiling UnixMisc.i3 > >>>> "../src/UnixMisc.i3", line 35: unable to find > interface (IP) > >>>> 1 error encountered > >>>> new source -> compiling FileAttr.m3 > >>>> "../src/FileAttr.m3", line 31: imported > interface contains errors > >>>> (FileAttr) > >>>> "../src/FileAttr.m3", line 31: imported > interface contains errors > >>>> (FileAttrRep) > >>>> "../src/FileAttr.m3", line 34: imported > interface contains errors > >>>> (DevT) > >>>> "../src/FileAttr.m3", line 35: imported > interface contains errors > >>>> (SupMisc) > >>>> "../src/FileAttr.m3", line 36: imported > interface contains errors > >>>> (TokScan) > >>>> "../src/FileAttr.m3", line 36: imported > interface contains errors > >>>> (UnixMisc) > >>>> 6 errors encountered > >>>> new source -> compiling FileID.i3 > >>>> "../src/FileID.i3", line 33: imported interface > contains errors > >>>> (FileAttr) > >>>> 1 error encountered > >>>> new source -> compiling FileID.m3 > >>>> "../src/FileID.m3", line 31: imported interface > contains errors > >>>> (FileID) > >>>> "../src/FileID.m3", line 34: imported interface > contains errors (DevT) > >>>> "../src/FileID.m3", line 34: imported interface > contains errors > >>>> (FileAttr) > >>>> "../src/FileID.m3", line 34: imported interface > contains errors > >>>> (FileAttrRep) > >>>> 4 errors encountered > >>>> new source -> compiling CVProto.i3 > >>>> "../src/CVProto.i3", line 33: imported > interface contains errors > >>>> (FileAttr) > >>>> "../src/CVProto.i3", line 33: imported > interface contains errors > >>>> (TokScan) > >>>> 2 errors encountered > >>>> new source -> compiling CVProto.m3 > >>>> "../src/CVProto.m3", line 35: imported > interface contains errors > >>>> (CVProto) > >>>> "../src/CVProto.m3", line 38: imported > interface contains errors > >>>> (SupMisc) > >>>> "../src/CVProto.m3", line 38: imported > interface contains errors > >>>> (TokScan) > >>>> 3 errors encountered > >>>> new source -> compiling ErrMsg.m3 > >>>> "../src/ErrMsg.m3", line 34: unable to find > interface (IP) > >>>> "../src/ErrMsg.m3", line 34: imported interface > contains errors > >>>> (TokScan) > === message truncated === ______________________________________________ LLama Gratis a cualquier PC del Mundo. Llamadas a fijos y m?viles desde 1 c?ntimo por minuto. http://es.voice.yahoo.com From dabenavidesd at yahoo.es Tue Jun 5 06:22:28 2007 From: dabenavidesd at yahoo.es (Daniel Alejandro Benavides D.) Date: Tue, 5 Jun 2007 06:22:28 +0200 (CEST) Subject: [M3devel] errors building cvsup wih cm3 In-Reply-To: <20070605023041.71990.qmail@web27105.mail.ukl.yahoo.com> Message-ID: <780447.73599.qm@web27104.mail.ukl.yahoo.com> Hi, I have actually wrote a little omission, the current declaration of the varible on the suplib/src/FileAttr.m3, line 744 is: tz: Utime.struct_timezone; So as the compiler complains I have change it to tz: UNTRACED REF Utime.struct_timezone:=NIL; Thanks, --- "Daniel Alejandro Benavides D." wrote: > Hi, > One of the problems I had when compiling cvsup with > current cm3 on suplib/src/FileAttr.m3 > when calling utime.gettimeofday because of the > definition of the function Utime > <*EXTERNAL*> > PROCEDURE gettimeofday (VAR t: struct_timeval; > z: UNTRACED REF > struct_timezone := NIL): int > > in the z parameter have changed, the patch was > written > before this change in the procedure. > > The FileAttr.m3 uses the function on line 746: > EVAL Utime.gettimeofday(times[0], tz); > > tz is declared before in line 744: > tz: UNTRACED REF Utime.struct_timezone:=NIL; > > The program compiles as explained in the guide: > http://es.geocities.com/dabenavidesd/InstallationGuidecm3-Modula-3.html#SECTION00060000000000000000 > > I didnt have any more problems compiling cvsup with > cm3. > > Sorry by the late posting of this issue. > > > --- John Polstra wrote: > > > Hmm, actually you may be closer to the right > answers > > than I was. I > > don't see how the lack of the patch could explain > > some of those errors. > > > > John > > > > > > Tony Hosking wrote: > > > Looks like John has the answers... > > > > > > On Jun 4, 2007, at 11:11 AM, John Polstra wrote: > > > > > >> There is a patch for CVSup that you have to > apply > > before you can build > > >> it with cm3. Look on the cm3 downloads page, > and > > you'll find it. > > >> > > >> John > > >> > > >> Ronny Forberger wrote: > > >>> Hi there, > > >>> since I've been able to build the cm3 compiler > > successfully on Debian > > >>> Linux 'etch' x86, I'm faced up to some other > > build problem: > > >>> When trying to build cvsup-snap-16.1h from > > sources using cm3 my build > > >>> process stops by the following error: > > >>>> make[2]: Entering directory > > `/home/rforb/work/cvsup-snap-16.1h/suptcp' > > >>>> cm3 > > >>>> --- building in LINUXLIBC6 --- > > >>>> > > >>>> > > >>>> Fatal Error: duplicate unit: > > >>>> /usr/local/cm3/pkg/tcp/src/POSIX/SockOpt.i3 > > ../src/POSIX/SockOpt.i3 > > >>>> > > >>>> make[2]: *** [all] Error 1 > > >>>> make[2]: Leaving directory > > `/home/rforb/work/cvsup-snap-16.1h/suptcp' > > >>>> ===> suplib > > >>>> make[2]: Entering directory > > `/home/rforb/work/cvsup-snap-16.1h/suplib' > > >>>> cm3 > > >>>> --- building in LINUXLIBC6 --- > > >>>> > > >>>> new source -> compiling TokScan.i3 > > >>>> "../src/TokScan.i3", line 36: unable to find > > interface (IP) > > >>>> 1 error encountered > > >>>> new source -> compiling FileAttr.i3 > > >>>> "../src/FileAttr.i3", line 33: imported > > interface contains errors > > >>>> (TokScan) > > >>>> 1 error encountered > > >>>> new source -> compiling FileAttrRep.i3 > > >>>> "../src/FileAttrRep.i3", line 33: imported > > interface contains errors > > >>>> (FileAttr) > > >>>> 1 error encountered > > >>>> new source -> compiling FileAttrOS.m3 > > >>>> "../src/POSIX/FileAttrOS.m3", line 31: > imported > > interface contains > > >>>> errors (FileAttr) > > >>>> "../src/POSIX/FileAttrOS.m3", line 31: > imported > > interface contains > > >>>> errors (FileAttrRep) > > >>>> 2 errors encountered > > >>>> new source -> compiling SupFileRec.i3 > > >>>> "../src/SupFileRec.i3", line 36: imported > > interface contains errors > > >>>> (FileAttr) > > >>>> "../src/SupFileRec.i3", line 37: imported > > interface contains errors > > >>>> (TokScan) > > >>>> 2 errors encountered > > >>>> new source -> compiling SupMisc.i3 > > >>>> "../src/SupMisc.i3", line 37: unable to find > > interface (IP) > > >>>> "../src/SupMisc.i3", line 37: imported > > interface contains errors > > >>>> (SupFileRec) > > >>>> "../src/SupMisc.i3", line 39: unable to find > > interface (SupTCP) > > >>>> 3 errors encountered > > >>>> new source -> compiling PathComp.m3 > > >>>> "../src/PathComp.m3", line 33: imported > > interface contains errors > > >>>> (SupMisc) > > >>>> 1 error encountered > > >>>> new source -> compiling ChannelMux.i3 > > >>>> "../src/ChannelMux.i3", line 33: unable to > find > > interface (IP) > > >>>> "../src/ChannelMux.i3", line 34: unable to > find > > interface (SupConnFD) > > >>>> 2 errors encountered > > >>>> new source -> compiling ChannelMux.m3 > > >>>> "../src/ChannelMux.m3", line 32: imported > > interface contains errors > > >>>> (ChannelMux) > > >>>> "../src/ChannelMux.m3", line 35: unable to > find > > interface (IP) > > >>>> "../src/ChannelMux.m3", line 35: unable to > find > > interface (TCP) > > >>>> "../src/ChannelMux.m3", line 36: unable to > find > > interface (SupConnFD) > > >>>> 4 errors encountered > > >>>> new source -> compiling AuthMD5.i3 > > >>>> "../src/AuthMD5.i3", line 33: unable to find > > interface (IP) > > >>>> 1 error encountered > > >>>> new source -> compiling AuthMD5.m3 > > >>>> "../src/AuthMD5.m3", line 31: imported > > interface contains errors > > >>>> (AuthMD5) > > >>>> "../src/AuthMD5.m3", line 33: unable to find > > interface (IP) > > >>>> 2 errors encountered > > >>>> new source -> compiling TokScan.m3 > > >>>> "../src/TokScan.m3", line 31: imported > > interface contains errors > > >>>> (TokScan) > > >>>> "../src/TokScan.m3", line 34: unable to find > > interface (IP) > > >>>> "../src/TokScan.m3", line 34: imported > > interface contains errors > > >>>> (SupMisc) > > >>>> 3 errors encountered > > >>>> new source -> compiling DevT.i3 > > >>>> "../src/DevT.i3", line 38: imported interface > > contains errors (TokScan) > > >>>> 1 error encountered > > >>>> new source -> compiling UnixMisc.i3 > > >>>> "../src/UnixMisc.i3", line 35: unable to find > > interface (IP) > > >>>> 1 error encountered > > >>>> new source -> compiling FileAttr.m3 > > >>>> "../src/FileAttr.m3", line 31: imported > > interface contains errors > > >>>> (FileAttr) > > >>>> "../src/FileAttr.m3", line 31: imported > > interface contains errors > > >>>> (FileAttrRep) > > >>>> "../src/FileAttr.m3", line 34: imported > > interface contains errors > > >>>> (DevT) > > >>>> "../src/FileAttr.m3", line 35: imported > > interface contains errors > > >>>> (SupMisc) > > >>>> "../src/FileAttr.m3", line 36: imported > > interface contains errors > > >>>> (TokScan) > > >>>> "../src/FileAttr.m3", line 36: imported > > interface contains errors > > >>>> (UnixMisc) > > >>>> 6 errors encountered > > >>>> new source -> compiling FileID.i3 > > >>>> "../src/FileID.i3", line 33: imported > interface > === message truncated === ______________________________________________ LLama Gratis a cualquier PC del Mundo. Llamadas a fijos y m?viles desde 1 c?ntimo por minuto. http://es.voice.yahoo.com From wagner at elegosoft.com Tue Jun 5 09:26:17 2007 From: wagner at elegosoft.com (Olaf Wagner) Date: Tue, 5 Jun 2007 09:26:17 +0200 (CEST) Subject: [M3devel] Virtual-Memory synchronized GC In-Reply-To: References: Message-ID: <41733.194.138.127.36.1181028377.squirrel@mail.elegosoft.com> On Mon, June 4, 2007 9:37 pm, Tony Hosking wrote: > I would like to remove the now-deprecated VM-synchronized GC support > so as to be able to tidy up the GC implementation, making it more > easily maintained, and in preparation for further improvements to > GC. Is there anyone who has an interest in seeing VM-synchronized GC > continuing to be supported? I wouldn't mind if you remove the old gargabe collection scheme, as the new one seems to have proven its stability. Olaf -- Olaf Wagner -- elego Software Solutions GmbH, Ohmstr. 9, 10179 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 ronny.forberger at elegosoft.com Tue Jun 5 10:59:51 2007 From: ronny.forberger at elegosoft.com (Ronny Forberger) Date: Tue, 05 Jun 2007 10:59:51 +0200 Subject: [M3devel] errors building cvsup wih cm3 In-Reply-To: <46642BBC.90500@polstra.com> References: <4663E91C.1090701@elegosoft.com> <46642BBC.90500@polstra.com> Message-ID: <46652607.6060403@elegosoft.com> Thanks, I didn't know about the patch. But now having applied the patch I'm still getting strange errors running make: > new source -> compiling Main.m3 > -> linking cvpasswd > > Fatal Error: incomplete program > > FileAttr.GetLinkCount: is exported, but not implemented: FileAttr.i3 > FileAttr.SetSize: is exported, but not implemented: FileAttr.i3 > FileAttr.MaskOut: is exported, but not implemented: FileAttr.i3 > FileAttr.DecodeAttrTypes: is exported, but not implemented: FileAttr.i3 > FileAttr.Merge: is exported, but not implemented: FileAttr.i3 > FileAttr.Override: is exported, but not implemented: FileAttr.i3 > FileAttr.GetSize: is exported, but not implemented: FileAttr.i3 > FileAttr.GetLinkTarget: is exported, but not implemented: FileAttr.i3 > FileAttr.EncodeAttrTypes: is exported, but not implemented: FileAttr.i3 > FileAttr.GetMask: is exported, but not implemented: FileAttr.i3 > FileAttr.FromFD: is exported, but not implemented: FileAttr.i3 > FileAttr.ForCheckout: is exported, but not implemented: FileAttr.i3 > FileAttr.FromFile: is exported, but not implemented: FileAttr.i3 > FileAttr.IsSupported: is exported, but not implemented: FileAttr.i3 > FileAttr.HardLink: is exported, but not implemented: FileAttr.i3 > FileAttr.Delete: is exported, but not implemented: FileAttr.i3 > FileAttr.GetMode: is exported, but not implemented: FileAttr.i3 > FileAttr.FromStat: is exported, but not implemented: FileAttr.i3 > RCSFile.m3 > FileAttr.FromPathname: is exported, but not implemented: FileAttr.i3 > SupMisc.m3 > FileAttr.GetModTime: is exported, but not implemented: FileAttr.i3 > RCSFile.m3 > FileAttr.MakeNode: is exported, but not implemented: FileAttr.i3 > SupMisc.m3 > FileAttr.Umask: is exported, but not implemented: FileAttr.i3 SupMisc.m3 > FileAttr.Install: is exported, but not implemented: FileAttr.i3 > SupMisc.m3 > FileAttr.MergeDefault: is exported, but not implemented: FileAttr.i3 > SupMisc.m3 > FileAttr.Decode: is exported, but not implemented: FileAttr.i3 > FileAttr.Equal: is exported, but not implemented: FileAttr.i3 > FileAttr.Encode: is exported, but not implemented: FileAttr.i3 > make[2]: *** [all] Error 1 > make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/cvpasswd' > make[1]: *** [subdirs] Error 2 > make[1]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h' > make: *** [all] Error 2 These messages repeat for all binary programs to be linked. So, any ideas again ? Ronny John Polstra wrote: > There is a patch for CVSup that you have to apply before you can build > it with cm3. Look on the cm3 downloads page, and you'll find it. > > John > > Ronny Forberger wrote: > >> Hi there, >> >> since I've been able to build the cm3 compiler successfully on Debian >> Linux 'etch' x86, I'm faced up to some other build problem: >> >> When trying to build cvsup-snap-16.1h from sources using cm3 my build >> process stops by the following error: >> >>> make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/suptcp' >>> cm3 >>> --- building in LINUXLIBC6 --- >>> >>> >>> Fatal Error: duplicate unit: >>> /usr/local/cm3/pkg/tcp/src/POSIX/SockOpt.i3 ../src/POSIX/SockOpt.i3 >>> >>> make[2]: *** [all] Error 1 >>> make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/suptcp' >>> ===> suplib >>> make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/suplib' >>> cm3 >>> --- building in LINUXLIBC6 --- >>> >>> new source -> compiling TokScan.i3 >>> "../src/TokScan.i3", line 36: unable to find interface (IP) >>> 1 error encountered >>> new source -> compiling FileAttr.i3 >>> "../src/FileAttr.i3", line 33: imported interface contains errors >>> (TokScan) >>> 1 error encountered >>> new source -> compiling FileAttrRep.i3 >>> "../src/FileAttrRep.i3", line 33: imported interface contains errors >>> (FileAttr) >>> 1 error encountered >>> new source -> compiling FileAttrOS.m3 >>> "../src/POSIX/FileAttrOS.m3", line 31: imported interface contains >>> errors (FileAttr) >>> "../src/POSIX/FileAttrOS.m3", line 31: imported interface contains >>> errors (FileAttrRep) >>> 2 errors encountered >>> new source -> compiling SupFileRec.i3 >>> "../src/SupFileRec.i3", line 36: imported interface contains errors >>> (FileAttr) >>> "../src/SupFileRec.i3", line 37: imported interface contains errors >>> (TokScan) >>> 2 errors encountered >>> new source -> compiling SupMisc.i3 >>> "../src/SupMisc.i3", line 37: unable to find interface (IP) >>> "../src/SupMisc.i3", line 37: imported interface contains errors >>> (SupFileRec) >>> "../src/SupMisc.i3", line 39: unable to find interface (SupTCP) >>> 3 errors encountered >>> new source -> compiling PathComp.m3 >>> "../src/PathComp.m3", line 33: imported interface contains errors >>> (SupMisc) >>> 1 error encountered >>> new source -> compiling ChannelMux.i3 >>> "../src/ChannelMux.i3", line 33: unable to find interface (IP) >>> "../src/ChannelMux.i3", line 34: unable to find interface (SupConnFD) >>> 2 errors encountered >>> new source -> compiling ChannelMux.m3 >>> "../src/ChannelMux.m3", line 32: imported interface contains errors >>> (ChannelMux) >>> "../src/ChannelMux.m3", line 35: unable to find interface (IP) >>> "../src/ChannelMux.m3", line 35: unable to find interface (TCP) >>> "../src/ChannelMux.m3", line 36: unable to find interface (SupConnFD) >>> 4 errors encountered >>> new source -> compiling AuthMD5.i3 >>> "../src/AuthMD5.i3", line 33: unable to find interface (IP) >>> 1 error encountered >>> new source -> compiling AuthMD5.m3 >>> "../src/AuthMD5.m3", line 31: imported interface contains errors >>> (AuthMD5) >>> "../src/AuthMD5.m3", line 33: unable to find interface (IP) >>> 2 errors encountered >>> new source -> compiling TokScan.m3 >>> "../src/TokScan.m3", line 31: imported interface contains errors >>> (TokScan) >>> "../src/TokScan.m3", line 34: unable to find interface (IP) >>> "../src/TokScan.m3", line 34: imported interface contains errors >>> (SupMisc) >>> 3 errors encountered >>> new source -> compiling DevT.i3 >>> "../src/DevT.i3", line 38: imported interface contains errors (TokScan) >>> 1 error encountered >>> new source -> compiling UnixMisc.i3 >>> "../src/UnixMisc.i3", line 35: unable to find interface (IP) >>> 1 error encountered >>> new source -> compiling FileAttr.m3 >>> "../src/FileAttr.m3", line 31: imported interface contains errors >>> (FileAttr) >>> "../src/FileAttr.m3", line 31: imported interface contains errors >>> (FileAttrRep) >>> "../src/FileAttr.m3", line 34: imported interface contains errors >>> (DevT) >>> "../src/FileAttr.m3", line 35: imported interface contains errors >>> (SupMisc) >>> "../src/FileAttr.m3", line 36: imported interface contains errors >>> (TokScan) >>> "../src/FileAttr.m3", line 36: imported interface contains errors >>> (UnixMisc) >>> 6 errors encountered >>> new source -> compiling FileID.i3 >>> "../src/FileID.i3", line 33: imported interface contains errors >>> (FileAttr) >>> 1 error encountered >>> new source -> compiling FileID.m3 >>> "../src/FileID.m3", line 31: imported interface contains errors >>> (FileID) >>> "../src/FileID.m3", line 34: imported interface contains errors (DevT) >>> "../src/FileID.m3", line 34: imported interface contains errors >>> (FileAttr) >>> "../src/FileID.m3", line 34: imported interface contains errors >>> (FileAttrRep) >>> 4 errors encountered >>> new source -> compiling CVProto.i3 >>> "../src/CVProto.i3", line 33: imported interface contains errors >>> (FileAttr) >>> "../src/CVProto.i3", line 33: imported interface contains errors >>> (TokScan) >>> 2 errors encountered >>> new source -> compiling CVProto.m3 >>> "../src/CVProto.m3", line 35: imported interface contains errors >>> (CVProto) >>> "../src/CVProto.m3", line 38: imported interface contains errors >>> (SupMisc) >>> "../src/CVProto.m3", line 38: imported interface contains errors >>> (TokScan) >>> 3 errors encountered >>> new source -> compiling ErrMsg.m3 >>> "../src/ErrMsg.m3", line 34: unable to find interface (IP) >>> "../src/ErrMsg.m3", line 34: imported interface contains errors >>> (TokScan) >>> "../src/ErrMsg.m3", line 36: unable to find interface (SupTCP) >>> 3 errors encountered >>> new source -> compiling DirEntry.i3 >>> "../src/DirEntry.i3", line 37: imported interface contains errors >>> (FileAttr) >>> 1 error encountered >>> new source -> compiling DirEntry.m3 >>> "../src/DirEntry.m3", line 31: imported interface contains errors >>> (DirEntry) >>> 1 error encountered >>> new source -> compiling DirEntryList.i3 >>> "../LINUXLIBC6/DirEntryList.i3 => >>> /usr/local/cm3/pkg/libm3/src/list/List.ig", line 29: imported >>> interface contains errors (DirEntry) >>> 1 error encountered >>> new source -> compiling DirEntryList.m3 >>> "../LINUXLIBC6/DirEntryList.m3", line 3: imported interface contains >>> errors (DirEntryList) >>> "../LINUXLIBC6/DirEntryList.m3 => >>> /usr/local/cm3/pkg/libm3/src/list/List.mg", line 11: imported >>> interface contains errors (DirEntry) >>> 2 errors encountered >>> new source -> compiling DirEntryListSort.i3 >>> "../LINUXLIBC6/DirEntryListSort.i3 => >>> /usr/local/cm3/pkg/libm3/src/list/ListSort.ig", line 28: imported >>> interface contains errors (DirEntry) >>> "../LINUXLIBC6/DirEntryListSort.i3 => >>> /usr/local/cm3/pkg/libm3/src/list/ListSort.ig", line 28: imported >>> interface contains errors (DirEntryList) >>> 2 errors encountered >>> new source -> compiling DirEntryListSort.m3 >>> "../LINUXLIBC6/DirEntryListSort.m3", line 3: imported interface >>> contains errors (DirEntryListSort) >>> "../LINUXLIBC6/DirEntryListSort.m3 => >>> /usr/local/cm3/pkg/libm3/src/list/ListSort.mg", line 10: imported >>> interface contains errors (DirEntry) >>> 2 errors encountered >>> new source -> compiling RCSDate.m3 >>> "../src/RCSDate.m3", line 34: imported interface contains errors >>> (TokScan) >>> 1 error encountered >>> new source -> compiling RCSFile.i3 >>> "../src/RCSFile.i3", line 37: imported interface contains errors >>> (FileAttr) >>> 1 error encountered >>> new source -> compiling RCSDeltaClass.i3 >>> "../src/RCSDeltaClass.i3", line 37: imported interface contains >>> errors (RCSFile) >>> 1 error encountered >>> new source -> compiling RCSDelta.m3 >>> "../src/RCSDelta.m3", line 31: imported interface contains errors >>> (RCSDeltaClass) >>> "../src/RCSDelta.m3", line 34: imported interface contains errors >>> (RCSFile) >>> "../src/RCSDelta.m3", line 35: imported interface contains errors >>> (TokScan) >>> 3 errors encountered >>> new source -> compiling RCSKeyword.m3 >>> "../src/RCSKeyword.m3", line 34: imported interface contains errors >>> (RCSDeltaClass) >>> "../src/RCSKeyword.m3", line 35: imported interface contains errors >>> (SupMisc) >>> 2 errors encountered >>> new source -> compiling RCSFile.m3 >>> "../src/RCSFile.m3", line 31: imported interface contains errors >>> (RCSFile) >>> "../src/RCSFile.m3", line 34: imported interface contains errors >>> (FileAttr) >>> "../src/RCSFile.m3", line 36: imported interface contains errors >>> (RCSDeltaClass) >>> "../src/RCSFile.m3", line 39: imported interface contains errors >>> (TokScan) >>> "../src/RCSFile.m3", line 39: imported interface contains errors >>> (UnixMisc) >>> 5 errors encountered >>> new source -> compiling SupFileRec.m3 >>> "../src/SupFileRec.m3", line 31: imported interface contains errors >>> (SupFileRec) >>> "../src/SupFileRec.m3", line 34: imported interface contains errors >>> (FileAttr) >>> "../src/SupFileRec.m3", line 35: imported interface contains errors >>> (TokScan) >>> 3 errors encountered >>> new source -> compiling SupMisc.m3 >>> "../src/SupMisc.m3", line 31: imported interface contains errors >>> (SupMisc) >>> "../src/SupMisc.m3", line 34: imported interface contains errors >>> (FileAttr) >>> "../src/SupMisc.m3", line 34: unable to find interface (IP) >>> "../src/SupMisc.m3", line 35: imported interface contains errors >>> (SupFileRec) >>> "../src/SupMisc.m3", line 36: imported interface contains errors >>> (TokScan) >>> "../src/SupMisc.m3", line 37: unable to find interface (SupTCP) >>> 6 errors encountered >>> new source -> compiling FileStatus.i3 >>> "../src/FileStatus.i3", line 33: imported interface contains errors >>> (FileAttr) >>> 1 error encountered >>> new source -> compiling FileStatusRaw.i3 >>> "../src/FileStatusRaw.i3", line 33: imported interface contains >>> errors (FileStatus) >>> 1 error encountered >>> new source -> compiling FileStatus.m3 >>> "../src/FileStatus.m3", line 31: imported interface contains errors >>> (FileStatus) >>> "../src/FileStatus.m3", line 31: imported interface contains errors >>> (FileStatusRaw) >>> "../src/FileStatus.m3", line 34: imported interface contains errors >>> (FileAttr) >>> "../src/FileStatus.m3", line 34: imported interface contains errors >>> (SupMisc) >>> "../src/FileStatus.m3", line 34: imported interface contains errors >>> (TokScan) >>> 5 errors encountered >>> new source -> compiling StatusFile.i3 >>> "../src/StatusFile.i3", line 33: imported interface contains errors >>> (FileStatus) >>> "../src/StatusFile.i3", line 33: imported interface contains errors >>> (SupFileRec) >>> 2 errors encountered >>> new source -> compiling StatusFile.m3 >>> "../src/StatusFile.m3", line 31: imported interface contains errors >>> (StatusFile) >>> "../src/StatusFile.m3", line 34: imported interface contains errors >>> (FileAttr) >>> "../src/StatusFile.m3", line 34: imported interface contains errors >>> (FileStatus) >>> "../src/StatusFile.m3", line 34: imported interface contains errors >>> (FileStatusRaw) >>> "../src/StatusFile.m3", line 35: imported interface contains errors >>> (SupFileRec) >>> "../src/StatusFile.m3", line 35: imported interface contains errors >>> (SupMisc) >>> 6 errors encountered >>> new source -> compiling CVTree.i3 >>> "../src/CVTree.i3", line 37: imported interface contains errors >>> (FileAttr) >>> 1 error encountered >>> new source -> compiling CVTree.m3 >>> "../src/CVTree.m3", line 31: imported interface contains errors >>> (CVTree) >>> "../src/CVTree.m3", line 34: imported interface contains errors >>> (DirEntry) >>> "../src/CVTree.m3", line 34: imported interface contains errors >>> (DirEntryList) >>> "../src/CVTree.m3", line 34: imported interface contains errors >>> (DirEntryListSort) >>> "../src/CVTree.m3", line 34: imported interface contains errors >>> (FileAttr) >>> "../src/CVTree.m3", line 35: imported interface contains errors >>> (SupMisc) >>> 6 errors encountered >>> new source -> compiling GzipRd.i3 >>> "../src/GzipRd.i3", line 36: unable to find interface (StreamRd) >>> 1 error encountered >>> new source -> compiling GzipRd.m3 >>> "../src/GzipRd.m3", line 31: imported interface contains errors >>> (GzipRd) >>> "../src/GzipRd.m3", line 34: unable to find interface (StreamRdClass) >>> 2 errors encountered >>> new source -> compiling GzipWr.i3 >>> "../src/GzipWr.i3", line 36: unable to find interface (StreamWr) >>> 1 error encountered >>> new source -> compiling GzipWr.m3 >>> "../src/GzipWr.m3", line 31: imported interface contains errors >>> (GzipWr) >>> "../src/GzipWr.m3", line 34: unable to find interface (StreamWrClass) >>> 2 errors encountered >>> new source -> compiling RsyncFile.i3 >>> "../src/RsyncFile.i3", line 33: imported interface contains errors >>> (FileAttr) >>> 1 error encountered >>> new source -> compiling RsyncFile.m3 >>> "../src/RsyncFile.m3", line 31: imported interface contains errors >>> (RsyncFile) >>> "../src/RsyncFile.m3", line 34: imported interface contains errors >>> (FileAttr) >>> "../src/RsyncFile.m3", line 35: imported interface contains errors >>> (UnixMisc) >>> 3 errors encountered >>> new source -> compiling SigHandler.m3 >>> "../src/SigHandler.m3", line 48: imported interface contains errors >>> (UnixMisc) >>> "../src/SigHandler.m3", line 50: unable to find interface (SupErrno) >>> 2 errors encountered >>> new source -> compiling UnixMisc.m3 >>> "../src/UnixMisc.m3", line 31: imported interface contains errors >>> (UnixMisc) >>> "../src/UnixMisc.m3", line 34: unable to find interface (IP) >>> 2 errors encountered >>> new source -> compiling Attic.i3 >>> "../src/Attic.i3", line 37: imported interface contains errors >>> (FileAttr) >>> "../src/Attic.i3", line 37: imported interface contains errors >>> (RCSFile) >>> 2 errors encountered >>> new source -> compiling Attic.m3 >>> "../src/Attic.m3", line 31: imported interface contains errors (Attic) >>> "../src/Attic.m3", line 34: imported interface contains errors >>> (FileAttr) >>> "../src/Attic.m3", line 34: imported interface contains errors >>> (RCSFile) >>> "../src/Attic.m3", line 35: imported interface contains errors >>> (SupMisc) >>> "../src/Attic.m3", line 35: imported interface contains errors >>> (UnixMisc) >>> 5 errors encountered >>> new source -> compiling DevTLinux.i3 >>> "../src/dev_t_linux/DevTLinux.i3", line 38: imported interface >>> contains errors (DevT) >>> 1 error encountered >>> new source -> compiling DevT.m3 >>> "../src/dev_t_linux/DevT.m3", line 31: imported interface contains >>> errors (DevT) >>> "../src/dev_t_linux/DevT.m3", line 34: imported interface contains >>> errors (DevTLinux) >>> "../src/dev_t_linux/DevT.m3", line 34: imported interface contains >>> errors (TokScan) >>> 3 errors encountered >>> new source -> compiling SupMiscText.m3 >>> "../src/text_cm3/SupMiscText.m3", line 35: imported interface >>> contains errors (SupMisc) >>> 1 error encountered >>> compilation failed => not building library "libsuplib.a" >>> Fatal Error: package build failed >>> make[2]: *** [all] Error 1 >>> make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/suplib' >>> ===> server >>> make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/server' >>> cm3 >>> --- building in LINUXLIBC6 --- >>> >>> package "suptcp" is already overridden to >>> /home/rforb/work/cvsup-snap-16.1h/server/src/../.., ignoring new >>> override to /home/rforb/work/cvsup-snap-16.1h/suplib/src/../.. >>> >>> >>> Fatal Error: missing source file: FileAttr.i3 >>> >>> make[2]: *** [all] Error 1 >>> make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/server' >>> ===> client >>> make[2]: Entering directory `/home/rforb/work/cvsup-snap-16.1h/client' >>> cm3 >>> --- building in LINUXLIBC6 --- >>> >>> package "suptcp" is already overridden to >>> /home/rforb/work/cvsup-snap-16.1h/client/src/../.., ignoring new >>> override to /home/rforb/work/cvsup-snap-16.1h/suplib/src/../.. >>> >>> >>> Fatal Error: missing source file: SupFileRec.i3 >>> >>> make[2]: *** [all] Error 1 >>> make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/client' >>> ===> cvpasswd >>> make[2]: Entering directory >>> `/home/rforb/work/cvsup-snap-16.1h/cvpasswd' >>> cm3 >>> --- building in LINUXLIBC6 --- >>> >>> >>> Fatal Error: missing source file: AuthMD5.i3 >>> >>> make[2]: *** [all] Error 1 >>> make[2]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h/cvpasswd' >>> make[1]: *** [subdirs] Error 2 >>> make[1]: Leaving directory `/home/rforb/work/cvsup-snap-16.1h' >>> make: *** [all] Error 2 >> >> >> >> Looks like aside some other errors, it doesn't find all the .i3 >> files, though I can see all of them existing. Do I possibly have to >> tell the cm3 compiler where to find them? >> >> What do all the "imported interface contains errors (...)" messages >> have to mean and how to fix this ? >> >> Regards, >> >> Ronny >> >> >> -- Ronny Forberger Systemadministrator elego Software Solutions GmbH ronny.forberger(at)elegosoft.com Ohmstra?e 9, 10179 Berlin HRB 77719 Tel.: +49 30 23 45 86 96 Amtsgericht Charlottenburg Fax: +49 30 23 45 86 95 Sitz der Gesellschaft: Berlin http://www.elegosoft.com Gesch?ftsf?hrer: Olaf Wagner Bitte senden Sie Ihre technischen Support-Anfragen an admins(at)elego.de . From ronny.forberger at elegosoft.com Thu Jun 7 13:53:42 2007 From: ronny.forberger at elegosoft.com (Ronny Forberger) Date: Thu, 07 Jun 2007 13:53:42 +0200 Subject: [M3devel] errors building cvsup wih cm3 In-Reply-To: <20070605023041.71990.qmail@web27105.mail.ukl.yahoo.com> References: <20070605023041.71990.qmail@web27105.mail.ukl.yahoo.com> Message-ID: <4667F1C6.2030709@elegosoft.com> Hi, with this solution I was able to build cvsup with cm3. Thanks to all. Ronny Daniel Alejandro Benavides D. wrote: >Hi, >One of the problems I had when compiling cvsup with >current cm3 on suplib/src/FileAttr.m3 >when calling utime.gettimeofday because of the >definition of the function Utime ><*EXTERNAL*> >PROCEDURE gettimeofday (VAR t: struct_timeval; > z: UNTRACED REF >struct_timezone := NIL): int > >in the z parameter have changed, the patch was written >before this change in the procedure. > >The FileAttr.m3 uses the function on line 746: >EVAL Utime.gettimeofday(times[0], tz); > >tz is declared before in line 744: >tz: UNTRACED REF Utime.struct_timezone:=NIL; > >The program compiles as explained in the guide: >http://es.geocities.com/dabenavidesd/InstallationGuidecm3-Modula-3.html#SECTION00060000000000000000 > >I didnt have any more problems compiling cvsup with >cm3. > >Sorry by the late posting of this issue. > > >--- John Polstra wrote: > > > >>Hmm, actually you may be closer to the right answers >>than I was. I >>don't see how the lack of the patch could explain >>some of those errors. >> >>John >> >> >>Tony Hosking wrote: >> >> >>>Looks like John has the answers... >>> >>>On Jun 4, 2007, at 11:11 AM, John Polstra wrote: >>> >>> >>> >>>>There is a patch for CVSup that you have to apply >>>> >>>> >>before you can build >> >> >>>>it with cm3. Look on the cm3 downloads page, and >>>> >>>> >>you'll find it. >> >> >>>>John >>>> >>>>Ronny Forberger wrote: >>>> >>>> >>>>>Hi there, >>>>>since I've been able to build the cm3 compiler >>>>> >>>>> >>successfully on Debian >> >> >>>>>Linux 'etch' x86, I'm faced up to some other >>>>> >>>>> >>build problem: >> >> >>>>>When trying to build cvsup-snap-16.1h from >>>>> >>>>> >>sources using cm3 my build >> >> >>>>>process stops by the following error: >>>>> >>>>> >>>>>>make[2]: Entering directory >>>>>> >>>>>> >>`/home/rforb/work/cvsup-snap-16.1h/suptcp' >> >> >>>>>>cm3 >>>>>>--- building in LINUXLIBC6 --- >>>>>> >>>>>> >>>>>>Fatal Error: duplicate unit: >>>>>>/usr/local/cm3/pkg/tcp/src/POSIX/SockOpt.i3 >>>>>> >>>>>> >>../src/POSIX/SockOpt.i3 >> >> >>>>>>make[2]: *** [all] Error 1 >>>>>>make[2]: Leaving directory >>>>>> >>>>>> >>`/home/rforb/work/cvsup-snap-16.1h/suptcp' >> >> >>>>>>===> suplib >>>>>>make[2]: Entering directory >>>>>> >>>>>> >>`/home/rforb/work/cvsup-snap-16.1h/suplib' >> >> >>>>>>cm3 >>>>>>--- building in LINUXLIBC6 --- >>>>>> >>>>>>new source -> compiling TokScan.i3 >>>>>>"../src/TokScan.i3", line 36: unable to find >>>>>> >>>>>> >>interface (IP) >> >> >>>>>>1 error encountered >>>>>>new source -> compiling FileAttr.i3 >>>>>>"../src/FileAttr.i3", line 33: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(TokScan) >>>>>>1 error encountered >>>>>>new source -> compiling FileAttrRep.i3 >>>>>>"../src/FileAttrRep.i3", line 33: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(FileAttr) >>>>>>1 error encountered >>>>>>new source -> compiling FileAttrOS.m3 >>>>>>"../src/POSIX/FileAttrOS.m3", line 31: imported >>>>>> >>>>>> >>interface contains >> >> >>>>>>errors (FileAttr) >>>>>>"../src/POSIX/FileAttrOS.m3", line 31: imported >>>>>> >>>>>> >>interface contains >> >> >>>>>>errors (FileAttrRep) >>>>>>2 errors encountered >>>>>>new source -> compiling SupFileRec.i3 >>>>>>"../src/SupFileRec.i3", line 36: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(FileAttr) >>>>>>"../src/SupFileRec.i3", line 37: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(TokScan) >>>>>>2 errors encountered >>>>>>new source -> compiling SupMisc.i3 >>>>>>"../src/SupMisc.i3", line 37: unable to find >>>>>> >>>>>> >>interface (IP) >> >> >>>>>>"../src/SupMisc.i3", line 37: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(SupFileRec) >>>>>>"../src/SupMisc.i3", line 39: unable to find >>>>>> >>>>>> >>interface (SupTCP) >> >> >>>>>>3 errors encountered >>>>>>new source -> compiling PathComp.m3 >>>>>>"../src/PathComp.m3", line 33: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(SupMisc) >>>>>>1 error encountered >>>>>>new source -> compiling ChannelMux.i3 >>>>>>"../src/ChannelMux.i3", line 33: unable to find >>>>>> >>>>>> >>interface (IP) >> >> >>>>>>"../src/ChannelMux.i3", line 34: unable to find >>>>>> >>>>>> >>interface (SupConnFD) >> >> >>>>>>2 errors encountered >>>>>>new source -> compiling ChannelMux.m3 >>>>>>"../src/ChannelMux.m3", line 32: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(ChannelMux) >>>>>>"../src/ChannelMux.m3", line 35: unable to find >>>>>> >>>>>> >>interface (IP) >> >> >>>>>>"../src/ChannelMux.m3", line 35: unable to find >>>>>> >>>>>> >>interface (TCP) >> >> >>>>>>"../src/ChannelMux.m3", line 36: unable to find >>>>>> >>>>>> >>interface (SupConnFD) >> >> >>>>>>4 errors encountered >>>>>>new source -> compiling AuthMD5.i3 >>>>>>"../src/AuthMD5.i3", line 33: unable to find >>>>>> >>>>>> >>interface (IP) >> >> >>>>>>1 error encountered >>>>>>new source -> compiling AuthMD5.m3 >>>>>>"../src/AuthMD5.m3", line 31: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(AuthMD5) >>>>>>"../src/AuthMD5.m3", line 33: unable to find >>>>>> >>>>>> >>interface (IP) >> >> >>>>>>2 errors encountered >>>>>>new source -> compiling TokScan.m3 >>>>>>"../src/TokScan.m3", line 31: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(TokScan) >>>>>>"../src/TokScan.m3", line 34: unable to find >>>>>> >>>>>> >>interface (IP) >> >> >>>>>>"../src/TokScan.m3", line 34: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(SupMisc) >>>>>>3 errors encountered >>>>>>new source -> compiling DevT.i3 >>>>>>"../src/DevT.i3", line 38: imported interface >>>>>> >>>>>> >>contains errors (TokScan) >> >> >>>>>>1 error encountered >>>>>>new source -> compiling UnixMisc.i3 >>>>>>"../src/UnixMisc.i3", line 35: unable to find >>>>>> >>>>>> >>interface (IP) >> >> >>>>>>1 error encountered >>>>>>new source -> compiling FileAttr.m3 >>>>>>"../src/FileAttr.m3", line 31: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(FileAttr) >>>>>>"../src/FileAttr.m3", line 31: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(FileAttrRep) >>>>>>"../src/FileAttr.m3", line 34: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(DevT) >>>>>>"../src/FileAttr.m3", line 35: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(SupMisc) >>>>>>"../src/FileAttr.m3", line 36: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(TokScan) >>>>>>"../src/FileAttr.m3", line 36: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(UnixMisc) >>>>>>6 errors encountered >>>>>>new source -> compiling FileID.i3 >>>>>>"../src/FileID.i3", line 33: imported interface >>>>>> >>>>>> >>contains errors >> >> >>>>>>(FileAttr) >>>>>>1 error encountered >>>>>>new source -> compiling FileID.m3 >>>>>>"../src/FileID.m3", line 31: imported interface >>>>>> >>>>>> >>contains errors >> >> >>>>>>(FileID) >>>>>>"../src/FileID.m3", line 34: imported interface >>>>>> >>>>>> >>contains errors (DevT) >> >> >>>>>>"../src/FileID.m3", line 34: imported interface >>>>>> >>>>>> >>contains errors >> >> >>>>>>(FileAttr) >>>>>>"../src/FileID.m3", line 34: imported interface >>>>>> >>>>>> >>contains errors >> >> >>>>>>(FileAttrRep) >>>>>>4 errors encountered >>>>>>new source -> compiling CVProto.i3 >>>>>>"../src/CVProto.i3", line 33: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(FileAttr) >>>>>>"../src/CVProto.i3", line 33: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(TokScan) >>>>>>2 errors encountered >>>>>>new source -> compiling CVProto.m3 >>>>>>"../src/CVProto.m3", line 35: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(CVProto) >>>>>>"../src/CVProto.m3", line 38: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(SupMisc) >>>>>>"../src/CVProto.m3", line 38: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(TokScan) >>>>>>3 errors encountered >>>>>>new source -> compiling ErrMsg.m3 >>>>>>"../src/ErrMsg.m3", line 34: unable to find >>>>>> >>>>>> >>interface (IP) >> >> >>>>>>"../src/ErrMsg.m3", line 34: imported interface >>>>>> >>>>>> >>contains errors >> >> >>>>>>(TokScan) >>>>>> >>>>>> >=== message truncated === > > > > >______________________________________________ >LLama Gratis a cualquier PC del Mundo. >Llamadas a fijos y m?viles desde 1 c?ntimo por minuto. >http://es.voice.yahoo.com > > -- Ronny Forberger Systemadministrator elego Software Solutions GmbH ronny.forberger(at)elegosoft.com Ohmstra?e 9, 10179 Berlin HRB 77719 Tel.: +49 30 23 45 86 96 Amtsgericht Charlottenburg Fax: +49 30 23 45 86 95 Sitz der Gesellschaft: Berlin http://www.elegosoft.com Gesch?ftsf?hrer: Olaf Wagner Bitte senden Sie Ihre technischen Support-Anfragen an admins(at)elego.de . -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at cs.purdue.edu Thu Jun 21 17:04:02 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Thu, 21 Jun 2007 11:04:02 -0400 Subject: [M3devel] NT386 (win32) targets and dll2lib Message-ID: I am not familiar with the build strategy for libraries on Win32, but I am aware of the use of the command dll2lib being used to insert argument checks on library calls in support of the old style incremental/generational GC based on memory protection. With the new compiler-supported incremental/generational GC, the calls to m3_arg_check/RTHeapDep__CheckArgs for library calls are no longer needed, and I was hoping to eliminate the RTHeapDep code completely for all targets. Is there anyone out there familiar with the functionality of dll2lib who would be willing to remove insertion of the no longer needed checks? Thanks, Tony From hosking at cs.purdue.edu Thu Jun 21 21:07:09 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Thu, 21 Jun 2007 15:07:09 -0400 Subject: [M3devel] NT386 (win32) targets and dll2lib In-Reply-To: References: Message-ID: <80BE9586-8838-4105-A8C9-7D73CE1C1DD4@cs.purdue.edu> Maybe it is never actually used. If so, then great -- we can simply remove it and I can breathe easy. On Jun 21, 2007, at 1:23 PM, j k wrote: > You are correct it does stuff like that. I find that surprising > given a lack of type info. > I still don't think it is even used but have to look further. > > - Jay > >> From: Tony Hosking >> To: Modula-3 developers >> Subject: [M3devel] NT386 (win32) targets and dll2lib >> Date: Thu, 21 Jun 2007 11:04:02 -0400 >> >> I am not familiar with the build strategy for libraries on Win32, >> but I am aware of the use of the command dll2lib being used to >> insert argument checks on library calls in support of the old >> style incremental/generational GC based on memory protection. >> With the new compiler-supported incremental/generational GC, the >> calls to m3_arg_check/RTHeapDep__CheckArgs for library calls are >> no longer needed, and I was hoping to eliminate the RTHeapDep >> code completely for all targets. Is there anyone out there >> familiar with the functionality of dll2lib who would be willing >> to remove insertion of the no longer needed checks? >> >> Thanks, >> >> Tony >> > > _________________________________________________________________ > Get a preview of Live Earth, the hottest event this summer - only > on MSN http://liveearth.msn.com?source=msntaglineliveearthhm From mika at async.caltech.edu Sat Jun 23 09:34:13 2007 From: mika at async.caltech.edu (Mika Nystrom) Date: Sat, 23 Jun 2007 00:34:13 -0700 Subject: [M3devel] strange errors... Message-ID: <200706230734.l5N7YDeY069196@camembert.async.caltech.edu> Hello everyone, I am in the process of trying to consolidate build systems for a few software packages I am maintaining. Currently, I am using an old PM3 on FreeBSD4, an ancient PM3 (from Klagenfurt?) for Windows (NT386GNU), and trying to get the latest CM3 from cvs up and compiling things on PPC_DARWIN. Ideally, I'd like to standardize everything on the new PM3---mainly so that I can use pickles (and Network Objects) across all three systems. I'd also like to add Linux to the mix. It's natural for me to start with CM3 on Darwin, as there's no alternative. But I am getting some assertions failing. Everything in the CM3 distribution compiles fine, and I believe I have compiled the libraries a few times (that is, including with themselves), and updated the compiler, too (using boot-cm3-with-m3.sh). I just cvs updated tonight. Here's what I'm running into: /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/CHP.t -o CHPTok.i3 *** *** runtime error: *** <*ASSERT*> failed. *** file "../src/runtime/common/RTCollector.m3", line 2314 *** Abort Also: /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/PRS.t -o PRSTok.i3 Illegal instruction As you can see, these things are coming from the caltech_parser. I am using our local version, but I don't think it is very different from what is in the CM3 tree. Examining the first error (the failed assertion) more closely, I see the following: (gdb) list 108 wr := FileWr.Open(Pathname.ReplaceExt(tp.out, "m3")); 109 EXCEPT OSError.E => 110 Debug.Error("Cannot open tok implementation output file: " & 111 Pathname.ReplaceExt(tp.out, "m3")); 112 END; 113 Wr.PutText(wr, subs.apply(Bundle.Get(Form, "tokform.m3"))); 114 Wr.Close(wr); 115 END Main. (gdb) where #0 0x9004308c in kill () #1 0x9009fb3c in abort () #2 0x00096f50 in RTOS__Crash () at RTOS.m3:20 #3 0x0005bd40 in RTProcess__Crash (M3_Bd56fi_msg=0x0) at RTProcess.m3:65 #4 0x0008e4e0 in RTError__EndError (M3_AicXUJ_crash=1 '\001') at RTError.m3:115 #5 0x0008e08c in RTError__MsgS (M3_AJWxb1_file=0xc63d8, M3_AcxOUs_line=2314, M3_Bd56fi_msgA=0xca3d0, M3_Bd56fi_msgB=0xcbe90, M3_Bd56fi_msgC=0xca3d0) at RTError.m3:40 #6 0x0008eb88 in RTException__Crash (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0', M3_AJWxb1_rte=0xcb538) at RTException.m3:79 #7 0x0008e74c in RTException__DefaultBackstop (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:39 #8 0x0008e614 in RTException__InvokeBackstop (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:25 #9 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at RTExFrame.m3:29 #10 0x0008e840 in RTException__DefaultBackstop (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:47 #11 0x0008e614 in RTException__InvokeBackstop (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:25 #12 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at RTExFrame.m3:29 #13 0x00079740 in RTHooks__ReportFault (M3_AJWxb1_module=0xb3eb8, M3_AcxOUs_info=74048) at RTHooks.m3:110 #14 0x0006ff4c in _m3_fault (M3_AcxOUs_arg=74048) #15 0x0006bcf4 in RTHooks__CheckStoreTraced (M3_Af40ku_ref=0xb2415c) at RTCollector.m3:2314 #16 0x000700e4 in ThreadPThread__InnerLockMutex (M3_AYIbX3_m=0xb2415c, M3_BXP32l_self=0xb24014) at ThreadPThread.m3:126 #17 0x000704d8 in ThreadPThread__LockMutex (M3_AYIbX3_m=0xb2415c) at ThreadPThread.m3:153 #18 0x00019b24 in Wr__PutText (M3_BxxOH1_wr=0xb2415c, M3_Bd56fi_t=0xb44d5c) at Wr.m3:93 #19 0x00003f74 in Main_M3 (M3_AcxOUs_mode=1) at Main.m3:113 #20 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at RTLinker.m3:399 #21 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at RTLinker.m3:113 #22 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at RTLinker.m3:122 #23 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) at _m3main.mc:4 (gdb) The second error: Program received signal EXC_BAD_INSTRUCTION, Illegal instruction/operand. 0x00b111ac in ?? () (gdb) where #0 0x00b111ac in ?? () #1 0x0001214c in TextSubs__Apply (M3_CN69dV_self=0xb26450, M3_Bd56fi_src=0xb21cec) at TextSubs.m3:63 #2 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at RTLinker.m3:399 #3 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at RTLinker.m3:113 #4 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at RTLinker.m3:122 #5 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) at _m3main.mc:4 (gdb) list 58 BEGIN 59 WHILE pos < textLen DO 60 c := Text.GetChar(src, pos); 61 IF c IN self.starts THEN 62 (* S("analysing: " & Text.Sub(src, pos), DebugLevel); *) 63 iter := self.tbl.iterateOrdered(); 64 ind := pos; 65 original := ""; 66 REPEAT 67 INC(ind); (gdb) Any ideas what to look at? I don't know if this is relevant: [lapdog:~/t/cit_parse/PPC_DARWIN] mika% uname -a Darwin lapdog.local 7.9.0 Darwin Kernel Version 7.9.0: Wed Mar 30 20:11:17 PST 2005; root:xnu/xnu-517.12.7.obj~1/RELEASE_PPC Power Macintosh powerpc [lapdog:~/t/cit_parse/PPC_DARWIN] mika% gcc -v Reading specs from /usr/libexec/gcc/darwin/ppc/3.3/specs Thread model: posix gcc version 3.3 20030304 (Apple Computer, Inc. build 1666) Mika P.S. Am I correct in assuming that I can get CM3 to build on Windows? I could switch to CM3 on Unix any time, of course, but I've never had luck with it on Windows, which is why I am using the ancient Klagenfurt PM3, which comes on 40-odd "floppies" and a .EXE that unpacks them into C: (and installation instructions only in German). If CM3 doesn't work on Windows, I am essentially wasting my time, as the current project I am working on absolutely requires that the software run on Windows 2003 Server (yes, it sucks, but what can you do?) The very old PM3 at least kind of hobbles along on this platform---actually, better than that; it does Trestle natively under Windows (no X required), at least on SOME Windows machines. P.P.S. Sorry for all the postscripts, but is it true that the build system has been changed so that building with overrides (cm3 -x) requires having the compiler sources available? It didn't use to be that way, but I can't get Network Objects to work with overrides now unless I have the sources available... It's a bit of a pain because it means that every user has to have the compiler sources, or else ship everything, or was that not the intention? From hosking at cs.purdue.edu Sat Jun 23 17:47:55 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Sat, 23 Jun 2007 11:47:55 -0400 Subject: [M3devel] strange errors... In-Reply-To: <200706230734.l5N7YDeY069196@camembert.async.caltech.edu> References: <200706230734.l5N7YDeY069196@camembert.async.caltech.edu> Message-ID: That sounds like you forgot to execute "do-cm3-std.sh realclean" before initiating the build. These sorts of errors sometimes arise if there are old build directories lying around. On Jun 23, 2007, at 3:34 AM, Mika Nystrom wrote: > Hello everyone, > > I am in the process of trying to consolidate build systems for a > few software packages I am maintaining. Currently, I am using an > old PM3 on FreeBSD4, an ancient PM3 (from Klagenfurt?) for Windows > (NT386GNU), and trying to get the latest CM3 from cvs up and compiling > things on PPC_DARWIN. Ideally, I'd like to standardize everything > on the new PM3---mainly so that I can use pickles (and Network > Objects) across all three systems. I'd also like to add Linux to > the mix. > > It's natural for me to start with CM3 on Darwin, as there's no > alternative. But I am getting some assertions failing. Everything > in the CM3 distribution compiles fine, and I believe I have compiled > the libraries a few times (that is, including with themselves), and > updated the compiler, too (using boot-cm3-with-m3.sh). I just cvs > updated tonight. > > Here's what I'm running into: > > /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/CHP.t -o CHPTok.i3 > > > *** > *** runtime error: > *** <*ASSERT*> failed. > *** file "../src/runtime/common/RTCollector.m3", line 2314 > *** > > Abort > > Also: > > /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/PRS.t -o PRSTok.i3 > Illegal instruction > > As you can see, these things are coming from the caltech_parser. I > am using > our local version, but I don't think it is very different from what > is in the > CM3 tree. > > > Examining the first error (the failed assertion) more closely, I see > the following: > > (gdb) list > 108 wr := FileWr.Open(Pathname.ReplaceExt(tp.out, "m3")); > 109 EXCEPT OSError.E => > 110 Debug.Error("Cannot open tok implementation output > file: " & > 111 Pathname.ReplaceExt(tp.out, "m3")); > 112 END; > 113 Wr.PutText(wr, subs.apply(Bundle.Get(Form, "tokform.m3"))); > 114 Wr.Close(wr); > 115 END Main. > (gdb) where > #0 0x9004308c in kill () > #1 0x9009fb3c in abort () > #2 0x00096f50 in RTOS__Crash () at RTOS.m3:20 > #3 0x0005bd40 in RTProcess__Crash (M3_Bd56fi_msg=0x0) at > RTProcess.m3:65 > #4 0x0008e4e0 in RTError__EndError (M3_AicXUJ_crash=1 '\001') at > RTError.m3:115 > #5 0x0008e08c in RTError__MsgS (M3_AJWxb1_file=0xc63d8, > M3_AcxOUs_line=2314, M3_Bd56fi_msgA=0xca3d0, > M3_Bd56fi_msgB=0xcbe90, M3_Bd56fi_msgC=0xca3d0) at RTError.m3:40 > #6 0x0008eb88 in RTException__Crash (M3_Cblw37_a=0xbfffee00, > M3_AicXUJ_raises=0 '\0', M3_AJWxb1_rte=0xcb538) at RTException.m3:79 > #7 0x0008e74c in RTException__DefaultBackstop > (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:39 > #8 0x0008e614 in RTException__InvokeBackstop > (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:25 > #9 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at > RTExFrame.m3:29 > #10 0x0008e840 in RTException__DefaultBackstop > (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:47 > #11 0x0008e614 in RTException__InvokeBackstop > (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:25 > #12 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at > RTExFrame.m3:29 > #13 0x00079740 in RTHooks__ReportFault (M3_AJWxb1_module=0xb3eb8, > M3_AcxOUs_info=74048) at RTHooks.m3:110 > #14 0x0006ff4c in _m3_fault (M3_AcxOUs_arg=74048) > #15 0x0006bcf4 in RTHooks__CheckStoreTraced > (M3_Af40ku_ref=0xb2415c) at RTCollector.m3:2314 > #16 0x000700e4 in ThreadPThread__InnerLockMutex > (M3_AYIbX3_m=0xb2415c, M3_BXP32l_self=0xb24014) at > ThreadPThread.m3:126 > #17 0x000704d8 in ThreadPThread__LockMutex (M3_AYIbX3_m=0xb2415c) > at ThreadPThread.m3:153 > #18 0x00019b24 in Wr__PutText (M3_BxxOH1_wr=0xb2415c, > M3_Bd56fi_t=0xb44d5c) at Wr.m3:93 > #19 0x00003f74 in Main_M3 (M3_AcxOUs_mode=1) at Main.m3:113 > #20 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at > RTLinker.m3:399 > #21 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at > RTLinker.m3:113 > #22 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at > RTLinker.m3:122 > #23 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) > at _m3main.mc:4 > (gdb) > > The second error: > > Program received signal EXC_BAD_INSTRUCTION, Illegal instruction/ > operand. > 0x00b111ac in ?? () > (gdb) where > #0 0x00b111ac in ?? () > #1 0x0001214c in TextSubs__Apply (M3_CN69dV_self=0xb26450, > M3_Bd56fi_src=0xb21cec) at TextSubs.m3:63 > #2 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at > RTLinker.m3:399 > #3 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at > RTLinker.m3:113 > #4 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at > RTLinker.m3:122 > #5 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) > at _m3main.mc:4 > (gdb) list > 58 BEGIN > 59 WHILE pos < textLen DO > 60 c := Text.GetChar(src, pos); > 61 IF c IN self.starts THEN > 62 (* S("analysing: " & Text.Sub(src, pos), > DebugLevel); *) > 63 iter := self.tbl.iterateOrdered(); > 64 ind := pos; > 65 original := ""; > 66 REPEAT > 67 INC(ind); > (gdb) > > Any ideas what to look at? > > I don't know if this is relevant: > > [lapdog:~/t/cit_parse/PPC_DARWIN] mika% uname -a > Darwin lapdog.local 7.9.0 Darwin Kernel Version 7.9.0: Wed Mar 30 > 20:11:17 PST 2005; root:xnu/xnu-517.12.7.obj~1/RELEASE_PPC Power > Macintosh powerpc > [lapdog:~/t/cit_parse/PPC_DARWIN] mika% gcc -v > Reading specs from /usr/libexec/gcc/darwin/ppc/3.3/specs > Thread model: posix > gcc version 3.3 20030304 (Apple Computer, Inc. build 1666) > > Mika > > P.S. Am I correct in assuming that I can get CM3 to build on Windows? > I could switch to CM3 on Unix any time, of course, but I've never > had luck with it on Windows, which is why I am using the ancient > Klagenfurt PM3, which comes on 40-odd "floppies" and a .EXE that > unpacks them into C: (and installation instructions only in German). > If CM3 doesn't work on Windows, I am essentially wasting my time, > as the current project I am working on absolutely requires that the > software run on Windows 2003 Server (yes, it sucks, but what can > you do?) The very old PM3 at least kind of hobbles along on this > platform---actually, better than that; it does Trestle natively > under Windows (no X required), at least on SOME Windows machines. > > P.P.S. Sorry for all the postscripts, but is it true that the > build system has been changed so that building with overrides (cm3 -x) > requires having the compiler sources available? It didn't use to > be that way, but I can't get Network Objects to work with overrides > now unless I have the sources available... It's a bit of a pain > because it means that every user has to have the compiler sources, > or else ship everything, or was that not the intention? From rcoleburn at scires.com Sat Jun 23 20:36:32 2007 From: rcoleburn at scires.com (Randy Coleburn) Date: Sat, 23 Jun 2007 14:36:32 -0400 Subject: [M3devel] strange errors... In-Reply-To: <200706230734.l5N7YDeY069196@camembert.async.caltech.edu> References: <200706230734.l5N7YDeY069196@camembert.async.caltech.edu> Message-ID: <467D3000.1E75.00D7.1@scires.com> Mika: I've used CM3 (v4.1) on Windows for years with Trestle, FormsVBT, NetObjects, etc.. Make sure to use the v2 of Network Objects. I haven't moved up to the most recent version yet. I tried some time ago, but ran into some problems with Bundles not working correctly. Maybe this is fixed now. I should try again. Regards, Randy Coleburn >>> Mika Nystrom 6/23/2007 3:34 AM >>> Hello everyone, I am in the process of trying to consolidate build systems for a few software packages I am maintaining. Currently, I am using an old PM3 on FreeBSD4, an ancient PM3 (from Klagenfurt?) for Windows (NT386GNU), and trying to get the latest CM3 from cvs up and compiling things on PPC_DARWIN. Ideally, I'd like to standardize everything on the new PM3---mainly so that I can use pickles (and Network Objects) across all three systems. I'd also like to add Linux to the mix. It's natural for me to start with CM3 on Darwin, as there's no alternative. But I am getting some assertions failing. Everything in the CM3 distribution compiles fine, and I believe I have compiled the libraries a few times (that is, including with themselves), and updated the compiler, too (using boot-cm3-with-m3.sh). I just cvs updated tonight. Here's what I'm running into: /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/CHP.t -o CHPTok.i3 *** *** runtime error: *** <*ASSERT*> failed. *** file "../src/runtime/common/RTCollector.m3", line 2314 *** Abort Also: /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/PRS.t -o PRSTok.i3 Illegal instruction As you can see, these things are coming from the caltech_parser. I am using our local version, but I don't think it is very different from what is in the CM3 tree. Examining the first error (the failed assertion) more closely, I see the following: (gdb) list 108 wr := FileWr.Open(Pathname.ReplaceExt(tp.out, "m3")); 109 EXCEPT OSError.E => 110 Debug.Error("Cannot open tok implementation output file: " & 111 Pathname.ReplaceExt(tp.out, "m3")); 112 END; 113 Wr.PutText(wr, subs.apply(Bundle.Get(Form, "tokform.m3"))); 114 Wr.Close(wr); 115 END Main. (gdb) where #0 0x9004308c in kill () #1 0x9009fb3c in abort () #2 0x00096f50 in RTOS__Crash () at RTOS.m3:20 #3 0x0005bd40 in RTProcess__Crash (M3_Bd56fi_msg=0x0) at RTProcess.m3:65 #4 0x0008e4e0 in RTError__EndError (M3_AicXUJ_crash=1 '\001') at RTError.m3:115 #5 0x0008e08c in RTError__MsgS (M3_AJWxb1_file=0xc63d8, M3_AcxOUs_line=2314, M3_Bd56fi_msgA=0xca3d0, M3_Bd56fi_msgB=0xcbe90, M3_Bd56fi_msgC=0xca3d0) at RTError.m3:40 #6 0x0008eb88 in RTException__Crash (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0', M3_AJWxb1_rte=0xcb538) at RTException.m3:79 #7 0x0008e74c in RTException__DefaultBackstop (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:39 #8 0x0008e614 in RTException__InvokeBackstop (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:25 #9 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at RTExFrame.m3:29 #10 0x0008e840 in RTException__DefaultBackstop (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:47 #11 0x0008e614 in RTException__InvokeBackstop (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:25 #12 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at RTExFrame.m3:29 #13 0x00079740 in RTHooks__ReportFault (M3_AJWxb1_module=0xb3eb8, M3_AcxOUs_info=74048) at RTHooks.m3:110 #14 0x0006ff4c in _m3_fault (M3_AcxOUs_arg=74048) #15 0x0006bcf4 in RTHooks__CheckStoreTraced (M3_Af40ku_ref=0xb2415c) at RTCollector.m3:2314 #16 0x000700e4 in ThreadPThread__InnerLockMutex (M3_AYIbX3_m=0xb2415c, M3_BXP32l_self=0xb24014) at ThreadPThread.m3:126 #17 0x000704d8 in ThreadPThread__LockMutex (M3_AYIbX3_m=0xb2415c) at ThreadPThread.m3:153 #18 0x00019b24 in Wr__PutText (M3_BxxOH1_wr=0xb2415c, M3_Bd56fi_t=0xb44d5c) at Wr.m3:93 #19 0x00003f74 in Main_M3 (M3_AcxOUs_mode=1) at Main.m3:113 #20 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at RTLinker.m3:399 #21 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at RTLinker.m3:113 #22 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at RTLinker.m3:122 #23 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) at _m3main.mc:4 (gdb) The second error: Program received signal EXC_BAD_INSTRUCTION, Illegal instruction/operand. 0x00b111ac in ?? () (gdb) where #0 0x00b111ac in ?? () #1 0x0001214c in TextSubs__Apply (M3_CN69dV_self=0xb26450, M3_Bd56fi_src=0xb21cec) at TextSubs.m3:63 #2 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at RTLinker.m3:399 #3 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at RTLinker.m3:113 #4 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at RTLinker.m3:122 #5 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) at _m3main.mc:4 (gdb) list 58 BEGIN 59 WHILE pos < textLen DO 60 c := Text.GetChar(src, pos); 61 IF c IN self.starts THEN 62 (* S("analysing: " & Text.Sub(src, pos), DebugLevel); *) 63 iter := self.tbl.iterateOrdered(); 64 ind := pos; 65 original := ""; 66 REPEAT 67 INC(ind); (gdb) Any ideas what to look at? I don't know if this is relevant: [lapdog:~/t/cit_parse/PPC_DARWIN] mika% uname -a Darwin lapdog.local 7.9.0 Darwin Kernel Version 7.9.0: Wed Mar 30 20:11:17 PST 2005; root:xnu/xnu-517.12.7.obj~1/RELEASE_PPC Power Macintosh powerpc [lapdog:~/t/cit_parse/PPC_DARWIN] mika% gcc -v Reading specs from /usr/libexec/gcc/darwin/ppc/3.3/specs Thread model: posix gcc version 3.3 20030304 (Apple Computer, Inc. build 1666) Mika P.S. Am I correct in assuming that I can get CM3 to build on Windows? I could switch to CM3 on Unix any time, of course, but I've never had luck with it on Windows, which is why I am using the ancient Klagenfurt PM3, which comes on 40-odd "floppies" and a .EXE that unpacks them into C: (and installation instructions only in German). If CM3 doesn't work on Windows, I am essentially wasting my time, as the current project I am working on absolutely requires that the software run on Windows 2003 Server (yes, it sucks, but what can you do?) The very old PM3 at least kind of hobbles along on this platform---actually, better than that; it does Trestle natively under Windows (no X required), at least on SOME Windows machines. P.P.S. Sorry for all the postscripts, but is it true that the build system has been changed so that building with overrides (cm3 -x) requires having the compiler sources available? It didn't use to be that way, but I can't get Network Objects to work with overrides now unless I have the sources available... It's a bit of a pain because it means that every user has to have the compiler sources, or else ship everything, or was that not the intention? -------------- next part -------------- An HTML attachment was scrubbed... URL: From mika at async.caltech.edu Sat Jun 23 20:38:27 2007 From: mika at async.caltech.edu (Mika Nystrom) Date: Sat, 23 Jun 2007 11:38:27 -0700 Subject: [M3devel] strange errors... In-Reply-To: Your message of "Sat, 23 Jun 2007 11:47:55 EDT." Message-ID: <200706231838.l5NIcRef079333@camembert.async.caltech.edu> Ok, I'm sorry if I seem a bit dimwitted in the morning like this, but how exactly does one get started? I wish there were a file called "GETTING_STARTED" or something like that in scripts... My Mac is very slow so I switched to my FreeBSD/i386 system (which has PM3 happily installed on it) and tried to install CM3 from scratch. Here are the exact commands I typed. rm -rf /usr/local/cm3/* cd ~/cm3-cvs mkdir boot cd boot tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz ./cminstall # now I seem to have some kind of cm3 installed, /usr/local/cm3/bin/cm3 cd cm3 # location of my CM3 checkout cvs update -d . cd scripts ./boot-cm3-with-m3.sh realclean ./do-cm3-std.sh realclean ./upgrade.sh # fails here, libm3 not compiled ./boot-cm3-with-m3.sh build # builds cm3, but fails on cminstall, patternmatching not built ./do-cm3-std.sh build # OK ./do-cm3-std.sh buildship # OK ./boot-cm3-with-m3.sh realclean # start over ./boot-cm3-with-m3.sh build # OK ./boot-cm3-with-m3.sh buildship # OK ./do-cm3-std.sh realclean # OK ./do-cm3-std.sh build # dies miserably... maybe the compiler can't handle the new libraries? ./install-cm3-compiler.sh upgrade # OK, new cm3 binary installed After all that, "game over." I have a cm3 that segfaults. Text.i3: In function 'Text_I3': Text.i3:81: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See for instructions. compilation failed => not building library "libm3core.a" Fatal Error: package build failed *** execution of failed *** I can't seem to get either m3gdb or gdb to say anything reasonable either. ktrace shows nothing out of the ordinary. ----- Meanwhile, my Mac got through "do-cm3-std.sh realclean" and "do-cm3-std.sh buildship" but my compiles are still dying on the same assertion tickled by ktok. On that machine I have INSTALLROOT set to ~/cm3, but hopefully that has nothing to do with it... ----- Does do-cm3-std.sh realclean clean EVERYTHING? If so my Mac should really have a fresh setup. The FreeBSD, I am not sure, maybe the old binary version just doesn't work right? Of course I could try bootstrapping with PM3 as well... but really, there's an "approved" process to get from a blank system, no? Mika Tony Hosking writes: >That sounds like you forgot to execute "do-cm3-std.sh realclean" >before initiating the build. These sorts of errors sometimes arise >if there are old build directories lying around. > > >On Jun 23, 2007, at 3:34 AM, Mika Nystrom wrote: > >> Hello everyone, >> >> I am in the process of trying to consolidate build systems for a >> few software packages I am maintaining. Currently, I am using an >> old PM3 on FreeBSD4, an ancient PM3 (from Klagenfurt?) for Windows >> (NT386GNU), and trying to get the latest CM3 from cvs up and compiling >> things on PPC_DARWIN. Ideally, I'd like to standardize everything >> on the new PM3---mainly so that I can use pickles (and Network >> Objects) across all three systems. I'd also like to add Linux to >> the mix. >> >> It's natural for me to start with CM3 on Darwin, as there's no >> alternative. But I am getting some assertions failing. Everything >> in the CM3 distribution compiles fine, and I believe I have compiled >> the libraries a few times (that is, including with themselves), and >> updated the compiler, too (using boot-cm3-with-m3.sh). I just cvs >> updated tonight. >> >> Here's what I'm running into: >> >> /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/CHP.t -o CHPTok.i3 >> >> >> *** >> *** runtime error: >> *** <*ASSERT*> failed. >> *** file "../src/runtime/common/RTCollector.m3", line 2314 >> *** >> >> Abort >> >> Also: >> >> /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/PRS.t -o PRSTok.i3 >> Illegal instruction >> >> As you can see, these things are coming from the caltech_parser. I > am using >> our local version, but I don't think it is very different from what >> is in the >> CM3 tree. >> >> >> Examining the first error (the failed assertion) more closely, I see >> the following: >> >> (gdb) list >> 108 wr := FileWr.Open(Pathname.ReplaceExt(tp.out, "m3")); >> 109 EXCEPT OSError.E => >> 110 Debug.Error("Cannot open tok implementation output >> file: " & >> 111 Pathname.ReplaceExt(tp.out, "m3")); >> 112 END; >> 113 Wr.PutText(wr, subs.apply(Bundle.Get(Form, "tokform.m3"))); >> 114 Wr.Close(wr); >> 115 END Main. >> (gdb) where >> #0 0x9004308c in kill () >> #1 0x9009fb3c in abort () >> #2 0x00096f50 in RTOS__Crash () at RTOS.m3:20 >> #3 0x0005bd40 in RTProcess__Crash (M3_Bd56fi_msg=0x0) at >> RTProcess.m3:65 >> #4 0x0008e4e0 in RTError__EndError (M3_AicXUJ_crash=1 '\001') at >> RTError.m3:115 >> #5 0x0008e08c in RTError__MsgS (M3_AJWxb1_file=0xc63d8, >> M3_AcxOUs_line=2314, M3_Bd56fi_msgA=0xca3d0, >> M3_Bd56fi_msgB=0xcbe90, M3_Bd56fi_msgC=0xca3d0) at RTError.m3:40 >> #6 0x0008eb88 in RTException__Crash (M3_Cblw37_a=0xbfffee00, >> M3_AicXUJ_raises=0 '\0', M3_AJWxb1_rte=0xcb538) at RTException.m3:79 >> #7 0x0008e74c in RTException__DefaultBackstop >> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:39 >> #8 0x0008e614 in RTException__InvokeBackstop >> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:25 >> #9 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at >> RTExFrame.m3:29 >> #10 0x0008e840 in RTException__DefaultBackstop >> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:47 >> #11 0x0008e614 in RTException__InvokeBackstop >> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:25 >> #12 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at >> RTExFrame.m3:29 >> #13 0x00079740 in RTHooks__ReportFault (M3_AJWxb1_module=0xb3eb8, >> M3_AcxOUs_info=74048) at RTHooks.m3:110 >> #14 0x0006ff4c in _m3_fault (M3_AcxOUs_arg=74048) >> #15 0x0006bcf4 in RTHooks__CheckStoreTraced >> (M3_Af40ku_ref=0xb2415c) at RTCollector.m3:2314 >> #16 0x000700e4 in ThreadPThread__InnerLockMutex >> (M3_AYIbX3_m=0xb2415c, M3_BXP32l_self=0xb24014) at >> ThreadPThread.m3:126 >> #17 0x000704d8 in ThreadPThread__LockMutex (M3_AYIbX3_m=0xb2415c) >> at ThreadPThread.m3:153 >> #18 0x00019b24 in Wr__PutText (M3_BxxOH1_wr=0xb2415c, >> M3_Bd56fi_t=0xb44d5c) at Wr.m3:93 >> #19 0x00003f74 in Main_M3 (M3_AcxOUs_mode=1) at Main.m3:113 >> #20 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at >> RTLinker.m3:399 >> #21 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at >> RTLinker.m3:113 >> #22 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at >> RTLinker.m3:122 >> #23 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) >> at _m3main.mc:4 >> (gdb) >> >> The second error: >> >> Program received signal EXC_BAD_INSTRUCTION, Illegal instruction/ >> operand. >> 0x00b111ac in ?? () >> (gdb) where >> #0 0x00b111ac in ?? () >> #1 0x0001214c in TextSubs__Apply (M3_CN69dV_self=0xb26450, >> M3_Bd56fi_src=0xb21cec) at TextSubs.m3:63 >> #2 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at >> RTLinker.m3:399 >> #3 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at >> RTLinker.m3:113 >> #4 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at >> RTLinker.m3:122 >> #5 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) >> at _m3main.mc:4 >> (gdb) list >> 58 BEGIN >> 59 WHILE pos < textLen DO >> 60 c := Text.GetChar(src, pos); >> 61 IF c IN self.starts THEN >> 62 (* S("analysing: " & Text.Sub(src, pos), >> DebugLevel); *) >> 63 iter := self.tbl.iterateOrdered(); >> 64 ind := pos; >> 65 original := ""; >> 66 REPEAT >> 67 INC(ind); >> (gdb) >> >> Any ideas what to look at? >> >> I don't know if this is relevant: >> >> [lapdog:~/t/cit_parse/PPC_DARWIN] mika% uname -a >> Darwin lapdog.local 7.9.0 Darwin Kernel Version 7.9.0: Wed Mar 30 >> 20:11:17 PST 2005; root:xnu/xnu-517.12.7.obj~1/RELEASE_PPC Power >> Macintosh powerpc >> [lapdog:~/t/cit_parse/PPC_DARWIN] mika% gcc -v >> Reading specs from /usr/libexec/gcc/darwin/ppc/3.3/specs >> Thread model: posix >> gcc version 3.3 20030304 (Apple Computer, Inc. build 1666) >> >> Mika >> >> P.S. Am I correct in assuming that I can get CM3 to build on Windows? >> I could switch to CM3 on Unix any time, of course, but I've never >> had luck with it on Windows, which is why I am using the ancient >> Klagenfurt PM3, which comes on 40-odd "floppies" and a .EXE that >> unpacks them into C: (and installation instructions only in German). >> If CM3 doesn't work on Windows, I am essentially wasting my time, >> as the current project I am working on absolutely requires that the >> software run on Windows 2003 Server (yes, it sucks, but what can >> you do?) The very old PM3 at least kind of hobbles along on this >> platform---actually, better than that; it does Trestle natively >> under Windows (no X required), at least on SOME Windows machines. >> >> P.P.S. Sorry for all the postscripts, but is it true that the >> build system has been changed so that building with overrides (cm3 -x) >> requires having the compiler sources available? It didn't use to >> be that way, but I can't get Network Objects to work with overrides >> now unless I have the sources available... It's a bit of a pain >> because it means that every user has to have the compiler sources, >> or else ship everything, or was that not the intention? From jayk123 at hotmail.com Sun Jun 24 01:03:43 2007 From: jayk123 at hotmail.com (j k) Date: Sat, 23 Jun 2007 23:03:43 +0000 Subject: [M3devel] strange errors... In-Reply-To: <467D3000.1E75.00D7.1@scires.com> Message-ID: Windows should be in pretty good shape. I had it working a few months ago at least. It can at least build itself repeatedly and run a few GUI apps. I had it working with various versions of Visual C++ from 2.0 to 8.0, including almost everything in between -- the main issue is really just my dependency on link /dump to grok import .libs. I didn't realize how much link /dump had changed through the years. Try using the latest cm3 binary release and upgrading to the latest CVS with it. If anyone is interested in being able to go from DEC SRC to CVS let me know. I never tried that..and it annoys me that it requires applying source diffs... - Jay >From: "Randy Coleburn" >To: "Mika Nystrom" , >CC: mika at camembert.async.caltech.edu >Subject: Re: [M3devel] strange errors... >Date: Sat, 23 Jun 2007 14:36:32 -0400 > >Mika: >I've used CM3 (v4.1) on Windows for years with Trestle, FormsVBT, >NetObjects, etc.. >Make sure to use the v2 of Network Objects. >I haven't moved up to the most recent version yet. I tried some time >ago, but ran into some problems with Bundles not working correctly. >Maybe this is fixed now. I should try again. >Regards, >Randy Coleburn > > >>> Mika Nystrom 6/23/2007 3:34 AM >>> >Hello everyone, > >I am in the process of trying to consolidate build systems for a >few software packages I am maintaining. Currently, I am using an >old PM3 on FreeBSD4, an ancient PM3 (from Klagenfurt?) for Windows >(NT386GNU), and trying to get the latest CM3 from cvs up and compiling >things on PPC_DARWIN. Ideally, I'd like to standardize everything >on the new PM3---mainly so that I can use pickles (and Network >Objects) across all three systems. I'd also like to add Linux to >the mix. > >It's natural for me to start with CM3 on Darwin, as there's no >alternative. But I am getting some assertions failing. Everything >in the CM3 distribution compiles fine, and I believe I have compiled >the libraries a few times (that is, including with themselves), and >updated the compiler, too (using boot-cm3-with-m3.sh). I just cvs >updated tonight. > >Here's what I'm running into: > >/Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/CHP.t -o CHPTok.i3 > > >*** >*** runtime error: >*** <*ASSERT*> failed. >*** file "../src/runtime/common/RTCollector.m3", line 2314 >*** > >Abort > >Also: > >/Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/PRS.t -o PRSTok.i3 >Illegal instruction > >As you can see, these things are coming from the caltech_parser. I am >using >our local version, but I don't think it is very different from what is >in the >CM3 tree. > > >Examining the first error (the failed assertion) more closely, I see >the following: > >(gdb) list >108 wr := FileWr.Open(Pathname.ReplaceExt(tp.out, "m3")); >109 EXCEPT OSError.E => >110 Debug.Error("Cannot open tok implementation output file: " >& >111 Pathname.ReplaceExt(tp.out, "m3")); >112 END; >113 Wr.PutText(wr, subs.apply(Bundle.Get(Form, "tokform.m3"))); >114 Wr.Close(wr); >115 END Main. >(gdb) where >#0 0x9004308c in kill () >#1 0x9009fb3c in abort () >#2 0x00096f50 in RTOS__Crash () at RTOS.m3:20 >#3 0x0005bd40 in RTProcess__Crash (M3_Bd56fi_msg=0x0) at >RTProcess.m3:65 >#4 0x0008e4e0 in RTError__EndError (M3_AicXUJ_crash=1 '\001') at >RTError.m3:115 >#5 0x0008e08c in RTError__MsgS (M3_AJWxb1_file=0xc63d8, >M3_AcxOUs_line=2314, M3_Bd56fi_msgA=0xca3d0, M3_Bd56fi_msgB=0xcbe90, >M3_Bd56fi_msgC=0xca3d0) at RTError.m3:40 >#6 0x0008eb88 in RTException__Crash (M3_Cblw37_a=0xbfffee00, >M3_AicXUJ_raises=0 '\0', M3_AJWxb1_rte=0xcb538) at RTException.m3:79 >#7 0x0008e74c in RTException__DefaultBackstop (M3_Cblw37_a=0xbfffee00, >M3_AicXUJ_raises=0 '\0') at RTException.m3:39 >#8 0x0008e614 in RTException__InvokeBackstop (M3_Cblw37_a=0xbfffee00, >M3_AicXUJ_raises=0 '\0') at RTException.m3:25 >#9 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at >RTExFrame.m3:29 >#10 0x0008e840 in RTException__DefaultBackstop (M3_Cblw37_a=0xbfffee00, >M3_AicXUJ_raises=0 '\0') at RTException.m3:47 >#11 0x0008e614 in RTException__InvokeBackstop (M3_Cblw37_a=0xbfffee00, >M3_AicXUJ_raises=0 '\0') at RTException.m3:25 >#12 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at >RTExFrame.m3:29 >#13 0x00079740 in RTHooks__ReportFault (M3_AJWxb1_module=0xb3eb8, >M3_AcxOUs_info=74048) at RTHooks.m3:110 >#14 0x0006ff4c in _m3_fault (M3_AcxOUs_arg=74048) >#15 0x0006bcf4 in RTHooks__CheckStoreTraced (M3_Af40ku_ref=0xb2415c) at >RTCollector.m3:2314 >#16 0x000700e4 in ThreadPThread__InnerLockMutex (M3_AYIbX3_m=0xb2415c, >M3_BXP32l_self=0xb24014) at ThreadPThread.m3:126 >#17 0x000704d8 in ThreadPThread__LockMutex (M3_AYIbX3_m=0xb2415c) at >ThreadPThread.m3:153 >#18 0x00019b24 in Wr__PutText (M3_BxxOH1_wr=0xb2415c, >M3_Bd56fi_t=0xb44d5c) at Wr.m3:93 >#19 0x00003f74 in Main_M3 (M3_AcxOUs_mode=1) at Main.m3:113 >#20 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at >RTLinker.m3:399 >#21 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at >RTLinker.m3:113 >#22 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at >RTLinker.m3:122 >#23 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) at >_m3main.mc:4 >(gdb) > >The second error: > >Program received signal EXC_BAD_INSTRUCTION, Illegal >instruction/operand. >0x00b111ac in ?? () >(gdb) where >#0 0x00b111ac in ?? () >#1 0x0001214c in TextSubs__Apply (M3_CN69dV_self=0xb26450, >M3_Bd56fi_src=0xb21cec) at TextSubs.m3:63 >#2 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at >RTLinker.m3:399 >#3 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at >RTLinker.m3:113 >#4 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at >RTLinker.m3:122 >#5 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) at >_m3main.mc:4 >(gdb) list >58 BEGIN >59 WHILE pos < textLen DO >60 c := Text.GetChar(src, pos); >61 IF c IN self.starts THEN >62 (* S("analysing: " & Text.Sub(src, pos), DebugLevel); >*) >63 iter := self.tbl.iterateOrdered(); >64 ind := pos; >65 original := ""; >66 REPEAT >67 INC(ind); >(gdb) > >Any ideas what to look at? > >I don't know if this is relevant: > >[lapdog:~/t/cit_parse/PPC_DARWIN] mika% uname -a >Darwin lapdog.local 7.9.0 Darwin Kernel Version 7.9.0: Wed Mar 30 >20:11:17 PST 2005; root:xnu/xnu-517.12.7.obj~1/RELEASE_PPC Power >Macintosh powerpc >[lapdog:~/t/cit_parse/PPC_DARWIN] mika% gcc -v >Reading specs from /usr/libexec/gcc/darwin/ppc/3.3/specs >Thread model: posix >gcc version 3.3 20030304 (Apple Computer, Inc. build 1666) > > Mika > >P.S. Am I correct in assuming that I can get CM3 to build on Windows? >I could switch to CM3 on Unix any time, of course, but I've never >had luck with it on Windows, which is why I am using the ancient >Klagenfurt PM3, which comes on 40-odd "floppies" and a .EXE that >unpacks them into C: (and installation instructions only in German). >If CM3 doesn't work on Windows, I am essentially wasting my time, >as the current project I am working on absolutely requires that the >software run on Windows 2003 Server (yes, it sucks, but what can >you do?) The very old PM3 at least kind of hobbles along on this >platform---actually, better than that; it does Trestle natively >under Windows (no X required), at least on SOME Windows machines. > >P.P.S. Sorry for all the postscripts, but is it true that the >build system has been changed so that building with overrides (cm3 -x) >requires having the compiler sources available? It didn't use to >be that way, but I can't get Network Objects to work with overrides >now unless I have the sources available... It's a bit of a pain >because it means that every user has to have the compiler sources, >or else ship everything, or was that not the intention? > _________________________________________________________________ Like puzzles? Play free games & earn great prizes. Play Clink now. http://club.live.com/clink.aspx?icid=clink_hotmailtextlink2 From hosking at cs.purdue.edu Sun Jun 24 16:42:54 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Sun, 24 Jun 2007 10:42:54 -0400 Subject: [M3devel] strange errors... In-Reply-To: References: <200706231838.l5NIcRef079333@camembert.async.caltech.edu> Message-ID: <2A551B65-2E7D-4A16-B59F-9ED3C507788F@cs.purdue.edu> PS Pleas note that the instructions I gave below are for the current version of the CVS head, which no longer needs to build m3gc-simple/ m3gc-enhanced. On Jun 24, 2007, at 10:38 AM, Tony Hosking wrote: > Sounds like we really need some work done in this area. I very > rarely use the build scripts, since I bootstrap manually from old > compilers to new compilers rather than use the scripts. I suggest > the following approach, which I hope you will try, and then report > back on. > > Install the bootstrap compiler as you did originally: > >> rm -rf /usr/local/cm3/* >> >> cd ~/cm3-cvs >> mkdir boot >> cd boot >> tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz >> ./cminstall > > Now you will have some kind of cm3 installed, presumably in /usr/ > local/cm3/bin/cm3. > > Make sure you have a fresh CVS checkout in directory cm3 (let's > assume this is in your home directory ~/cm3). Also, make sure you > have an up-to-date version of the CM3 backend compiler cm3cg > installed by executing the following: > > STEP 0: > > export CM3=/usr/local/cm3/bin/cm3 > cd ~/cm3/m3-sys/m3cc > $CM3 > $CM3 -ship > > You can skip this last step if you know your backend compiler is up > to date. > > Now, let's build the new compiler from scratch (this is the > sequence I use regularly to test changes to the run-time system > whenever I make them): > > STEP 1: > > cd ~/cm3/m3-libs/m3core > $CM3 > $CM3 -ship > cd ~/cm3/m3-libs/libm3 > $CM3 > $CM3 -ship > cd ~/cm3/m3-sys/m3middle > $CM3 > $CM3 -ship > cd ~/cm3/m3-sys/m3linker > $CM3 > $CM3 -ship > cd ~/cm3/m3-sys/m3front > $CM3 > $CM3 -ship > cd ~/cm3/m3-sys/m3quake > $CM3 > $CM3 -ship > cd ~/cm3/m3-sys/cm3 > $CM3 > $CM3 -ship > > At this point you should have a bootstrapped version of cm3 > installed in the directory /usr/local/cm3/pkg/cm3/TARGET/cm3 (where > TARGET is the CM3 target platform you are building on -- e.g., > LINUXLIBC6, PPC_DARWIN, ...). Note that this did not overwrite > your original installed compiler in /usr/local/cm3/bin/cm3. We > are now going to test the new compiler, which was built using the > old compiler, by bootstrapping it one more time. > > From here on out, please replace TARGET with your target platform > as appropriate. > > STEP 2: > > export CM3=/usr/local/cm3/pkg/cm3/TARGET/cm3 > cd ~/cm3/scripts > ./do-cm3-std.sh realclean > REPEAT STEP 1 to rebuild the libraries and the compiler using the > STEP 1 bootstrap compiler. > > Now you have a STEP 2 bootstrap compiler installed in /usr/local/ > cm3/pkg/cm3/TARGET/cm3. Let's assume the new compiler now works > properly since it successfully bootstrapped itself, but to be sure > we can now use it to rebuild the world: > > cd ~/cm3/scripts > ./do-cm3-std.sh realclean > ./do-cm3-std.sh buildship > > Assuming this succeeded then we can be pretty sure /usr/local/cm3/ > pkg/cm3/TARGET/cm3 is good, so we can make it our default compiler > by replacing the original /usr/local/cm3/bin/cm3: > > cp $CM3 /usr/local/cm3/bin/cm3 > > On Jun 23, 2007, at 2:38 PM, Mika Nystrom wrote: > >> Ok, I'm sorry if I seem a bit dimwitted in the morning like this, >> but how exactly does one get started? I wish there were a file >> called >> "GETTING_STARTED" or something like that in scripts... >> >> My Mac is very slow so I switched to my FreeBSD/i386 system (which >> has >> PM3 happily installed on it) and tried to install CM3 from scratch. >> Here are the exact commands I typed. >> >> >> rm -rf /usr/local/cm3/* >> >> cd ~/cm3-cvs >> mkdir boot >> cd boot >> tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz >> ./cminstall >> >> # now I seem to have some kind of cm3 installed, /usr/local/cm3/ >> bin/cm3 >> >> cd cm3 # location of my CM3 checkout >> cvs update -d . >> >> cd scripts >> ./boot-cm3-with-m3.sh realclean >> ./do-cm3-std.sh realclean >> >> ./upgrade.sh # fails here, libm3 not compiled >> ./boot-cm3-with-m3.sh build # builds cm3, but fails on >> cminstall, patternmatching not built >> >> ./do-cm3-std.sh build # OK >> ./do-cm3-std.sh buildship # OK >> >> ./boot-cm3-with-m3.sh realclean # start over >> ./boot-cm3-with-m3.sh build # OK >> ./boot-cm3-with-m3.sh buildship # OK >> >> ./do-cm3-std.sh realclean # OK >> ./do-cm3-std.sh build # dies miserably... maybe the >> compiler can't handle the new libraries? >> >> ./install-cm3-compiler.sh upgrade # OK, new cm3 binary installed >> >> After all that, "game over." I have a cm3 that segfaults. >> >> Text.i3: In function 'Text_I3': >> Text.i3:81: internal compiler error: Segmentation fault >> Please submit a full bug report, >> with preprocessed source if appropriate. >> See for instructions. >> compilation failed => not building library "libm3core.a" >> Fatal Error: package build failed >> *** execution of failed *** >> >> I can't seem to get either m3gdb or gdb to say anything reasonable >> either. ktrace shows nothing out of the ordinary. >> >> ----- >> >> Meanwhile, my Mac got through "do-cm3-std.sh realclean" and >> "do-cm3-std.sh buildship" but my compiles are still dying on the >> same assertion tickled by ktok. On that machine I have INSTALLROOT >> set to ~/cm3, but hopefully that has nothing to do with it... >> >> ----- >> >> Does do-cm3-std.sh realclean clean EVERYTHING? If so my Mac should >> really have a fresh setup. The FreeBSD, I am not sure, maybe the >> old binary version just doesn't work right? Of course I could try >> bootstrapping with PM3 as well... but really, there's an "approved" >> process to get from a blank system, no? >> >> Mika >> >> >> >> >> Tony Hosking writes: >>> That sounds like you forgot to execute "do-cm3-std.sh realclean" >>> before initiating the build. These sorts of errors sometimes arise >>> if there are old build directories lying around. >>> >>> >>> On Jun 23, 2007, at 3:34 AM, Mika Nystrom wrote: >>> >>>> Hello everyone, >>>> >>>> I am in the process of trying to consolidate build systems for a >>>> few software packages I am maintaining. Currently, I am using an >>>> old PM3 on FreeBSD4, an ancient PM3 (from Klagenfurt?) for Windows >>>> (NT386GNU), and trying to get the latest CM3 from cvs up and >>>> compiling >>>> things on PPC_DARWIN. Ideally, I'd like to standardize everything >>>> on the new PM3---mainly so that I can use pickles (and Network >>>> Objects) across all three systems. I'd also like to add Linux to >>>> the mix. >>>> >>>> It's natural for me to start with CM3 on Darwin, as there's no >>>> alternative. But I am getting some assertions failing. Everything >>>> in the CM3 distribution compiles fine, and I believe I have >>>> compiled >>>> the libraries a few times (that is, including with themselves), and >>>> updated the compiler, too (using boot-cm3-with-m3.sh). I just cvs >>>> updated tonight. >>>> >>>> Here's what I'm running into: >>>> >>>> /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/CHP.t -o >>>> CHPTok.i3 >>>> >>>> >>>> *** >>>> *** runtime error: >>>> *** <*ASSERT*> failed. >>>> *** file "../src/runtime/common/RTCollector.m3", line 2314 >>>> *** >>>> >>>> Abort >>>> >>>> Also: >>>> >>>> /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/PRS.t -o >>>> PRSTok.i3 >>>> Illegal instruction >>>> >>>> As you can see, these things are coming from the caltech_parser. I >>> am using >>>> our local version, but I don't think it is very different from what >>>> is in the >>>> CM3 tree. >>>> >>>> >>>> Examining the first error (the failed assertion) more closely, I >>>> see >>>> the following: >>>> >>>> (gdb) list >>>> 108 wr := FileWr.Open(Pathname.ReplaceExt(tp.out, "m3")); >>>> 109 EXCEPT OSError.E => >>>> 110 Debug.Error("Cannot open tok implementation output >>>> file: " & >>>> 111 Pathname.ReplaceExt(tp.out, "m3")); >>>> 112 END; >>>> 113 Wr.PutText(wr, subs.apply(Bundle.Get(Form, >>>> "tokform.m3"))); >>>> 114 Wr.Close(wr); >>>> 115 END Main. >>>> (gdb) where >>>> #0 0x9004308c in kill () >>>> #1 0x9009fb3c in abort () >>>> #2 0x00096f50 in RTOS__Crash () at RTOS.m3:20 >>>> #3 0x0005bd40 in RTProcess__Crash (M3_Bd56fi_msg=0x0) at >>>> RTProcess.m3:65 >>>> #4 0x0008e4e0 in RTError__EndError (M3_AicXUJ_crash=1 '\001') at >>>> RTError.m3:115 >>>> #5 0x0008e08c in RTError__MsgS (M3_AJWxb1_file=0xc63d8, >>>> M3_AcxOUs_line=2314, M3_Bd56fi_msgA=0xca3d0, >>>> M3_Bd56fi_msgB=0xcbe90, M3_Bd56fi_msgC=0xca3d0) at RTError.m3:40 >>>> #6 0x0008eb88 in RTException__Crash (M3_Cblw37_a=0xbfffee00, >>>> M3_AicXUJ_raises=0 '\0', M3_AJWxb1_rte=0xcb538) at >>>> RTException.m3:79 >>>> #7 0x0008e74c in RTException__DefaultBackstop >>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>> RTException.m3:39 >>>> #8 0x0008e614 in RTException__InvokeBackstop >>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>> RTException.m3:25 >>>> #9 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at >>>> RTExFrame.m3:29 >>>> #10 0x0008e840 in RTException__DefaultBackstop >>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>> RTException.m3:47 >>>> #11 0x0008e614 in RTException__InvokeBackstop >>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>> RTException.m3:25 >>>> #12 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at >>>> RTExFrame.m3:29 >>>> #13 0x00079740 in RTHooks__ReportFault (M3_AJWxb1_module=0xb3eb8, >>>> M3_AcxOUs_info=74048) at RTHooks.m3:110 >>>> #14 0x0006ff4c in _m3_fault (M3_AcxOUs_arg=74048) >>>> #15 0x0006bcf4 in RTHooks__CheckStoreTraced >>>> (M3_Af40ku_ref=0xb2415c) at RTCollector.m3:2314 >>>> #16 0x000700e4 in ThreadPThread__InnerLockMutex >>>> (M3_AYIbX3_m=0xb2415c, M3_BXP32l_self=0xb24014) at >>>> ThreadPThread.m3:126 >>>> #17 0x000704d8 in ThreadPThread__LockMutex (M3_AYIbX3_m=0xb2415c) >>>> at ThreadPThread.m3:153 >>>> #18 0x00019b24 in Wr__PutText (M3_BxxOH1_wr=0xb2415c, >>>> M3_Bd56fi_t=0xb44d5c) at Wr.m3:93 >>>> #19 0x00003f74 in Main_M3 (M3_AcxOUs_mode=1) at Main.m3:113 >>>> #20 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at >>>> RTLinker.m3:399 >>>> #21 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at >>>> RTLinker.m3:113 >>>> #22 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at >>>> RTLinker.m3:122 >>>> #23 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) >>>> at _m3main.mc:4 >>>> (gdb) >>>> >>>> The second error: >>>> >>>> Program received signal EXC_BAD_INSTRUCTION, Illegal instruction/ >>>> operand. >>>> 0x00b111ac in ?? () >>>> (gdb) where >>>> #0 0x00b111ac in ?? () >>>> #1 0x0001214c in TextSubs__Apply (M3_CN69dV_self=0xb26450, >>>> M3_Bd56fi_src=0xb21cec) at TextSubs.m3:63 >>>> #2 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at >>>> RTLinker.m3:399 >>>> #3 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at >>>> RTLinker.m3:113 >>>> #4 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at >>>> RTLinker.m3:122 >>>> #5 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) >>>> at _m3main.mc:4 >>>> (gdb) list >>>> 58 BEGIN >>>> 59 WHILE pos < textLen DO >>>> 60 c := Text.GetChar(src, pos); >>>> 61 IF c IN self.starts THEN >>>> 62 (* S("analysing: " & Text.Sub(src, pos), >>>> DebugLevel); *) >>>> 63 iter := self.tbl.iterateOrdered(); >>>> 64 ind := pos; >>>> 65 original := ""; >>>> 66 REPEAT >>>> 67 INC(ind); >>>> (gdb) >>>> >>>> Any ideas what to look at? >>>> >>>> I don't know if this is relevant: >>>> >>>> [lapdog:~/t/cit_parse/PPC_DARWIN] mika% uname -a >>>> Darwin lapdog.local 7.9.0 Darwin Kernel Version 7.9.0: Wed Mar 30 >>>> 20:11:17 PST 2005; root:xnu/xnu-517.12.7.obj~1/RELEASE_PPC Power >>>> Macintosh powerpc >>>> [lapdog:~/t/cit_parse/PPC_DARWIN] mika% gcc -v >>>> Reading specs from /usr/libexec/gcc/darwin/ppc/3.3/specs >>>> Thread model: posix >>>> gcc version 3.3 20030304 (Apple Computer, Inc. build 1666) >>>> >>>> Mika >>>> >>>> P.S. Am I correct in assuming that I can get CM3 to build on >>>> Windows? >>>> I could switch to CM3 on Unix any time, of course, but I've never >>>> had luck with it on Windows, which is why I am using the ancient >>>> Klagenfurt PM3, which comes on 40-odd "floppies" and a .EXE that >>>> unpacks them into C: (and installation instructions only in >>>> German). >>>> If CM3 doesn't work on Windows, I am essentially wasting my time, >>>> as the current project I am working on absolutely requires that the >>>> software run on Windows 2003 Server (yes, it sucks, but what can >>>> you do?) The very old PM3 at least kind of hobbles along on this >>>> platform---actually, better than that; it does Trestle natively >>>> under Windows (no X required), at least on SOME Windows machines. >>>> >>>> P.P.S. Sorry for all the postscripts, but is it true that the >>>> build system has been changed so that building with overrides >>>> (cm3 -x) >>>> requires having the compiler sources available? It didn't use to >>>> be that way, but I can't get Network Objects to work with overrides >>>> now unless I have the sources available... It's a bit of a pain >>>> because it means that every user has to have the compiler sources, >>>> or else ship everything, or was that not the intention? > From hosking at cs.purdue.edu Sun Jun 24 16:38:34 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Sun, 24 Jun 2007 10:38:34 -0400 Subject: [M3devel] strange errors... In-Reply-To: <200706231838.l5NIcRef079333@camembert.async.caltech.edu> References: <200706231838.l5NIcRef079333@camembert.async.caltech.edu> Message-ID: Sounds like we really need some work done in this area. I very rarely use the build scripts, since I bootstrap manually from old compilers to new compilers rather than use the scripts. I suggest the following approach, which I hope you will try, and then report back on. Install the bootstrap compiler as you did originally: > rm -rf /usr/local/cm3/* > > cd ~/cm3-cvs > mkdir boot > cd boot > tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz > ./cminstall Now you will have some kind of cm3 installed, presumably in /usr/ local/cm3/bin/cm3. Make sure you have a fresh CVS checkout in directory cm3 (let's assume this is in your home directory ~/cm3). Also, make sure you have an up-to-date version of the CM3 backend compiler cm3cg installed by executing the following: STEP 0: export CM3=/usr/local/cm3/bin/cm3 cd ~/cm3/m3-sys/m3cc $CM3 $CM3 -ship You can skip this last step if you know your backend compiler is up to date. Now, let's build the new compiler from scratch (this is the sequence I use regularly to test changes to the run-time system whenever I make them): STEP 1: cd ~/cm3/m3-libs/m3core $CM3 $CM3 -ship cd ~/cm3/m3-libs/libm3 $CM3 $CM3 -ship cd ~/cm3/m3-sys/m3middle $CM3 $CM3 -ship cd ~/cm3/m3-sys/m3linker $CM3 $CM3 -ship cd ~/cm3/m3-sys/m3front $CM3 $CM3 -ship cd ~/cm3/m3-sys/m3quake $CM3 $CM3 -ship cd ~/cm3/m3-sys/cm3 $CM3 $CM3 -ship At this point you should have a bootstrapped version of cm3 installed in the directory /usr/local/cm3/pkg/cm3/TARGET/cm3 (where TARGET is the CM3 target platform you are building on -- e.g., LINUXLIBC6, PPC_DARWIN, ...). Note that this did not overwrite your original installed compiler in /usr/local/cm3/bin/cm3. We are now going to test the new compiler, which was built using the old compiler, by bootstrapping it one more time. From here on out, please replace TARGET with your target platform as appropriate. STEP 2: export CM3=/usr/local/cm3/pkg/cm3/TARGET/cm3 cd ~/cm3/scripts ./do-cm3-std.sh realclean REPEAT STEP 1 to rebuild the libraries and the compiler using the STEP 1 bootstrap compiler. Now you have a STEP 2 bootstrap compiler installed in /usr/local/cm3/ pkg/cm3/TARGET/cm3. Let's assume the new compiler now works properly since it successfully bootstrapped itself, but to be sure we can now use it to rebuild the world: cd ~/cm3/scripts ./do-cm3-std.sh realclean ./do-cm3-std.sh buildship Assuming this succeeded then we can be pretty sure /usr/local/cm3/pkg/ cm3/TARGET/cm3 is good, so we can make it our default compiler by replacing the original /usr/local/cm3/bin/cm3: cp $CM3 /usr/local/cm3/bin/cm3 On Jun 23, 2007, at 2:38 PM, Mika Nystrom wrote: > Ok, I'm sorry if I seem a bit dimwitted in the morning like this, > but how exactly does one get started? I wish there were a file called > "GETTING_STARTED" or something like that in scripts... > > My Mac is very slow so I switched to my FreeBSD/i386 system (which has > PM3 happily installed on it) and tried to install CM3 from scratch. > Here are the exact commands I typed. > > > rm -rf /usr/local/cm3/* > > cd ~/cm3-cvs > mkdir boot > cd boot > tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz > ./cminstall > > # now I seem to have some kind of cm3 installed, /usr/local/cm3/bin/ > cm3 > > cd cm3 # location of my CM3 checkout > cvs update -d . > > cd scripts > ./boot-cm3-with-m3.sh realclean > ./do-cm3-std.sh realclean > > ./upgrade.sh # fails here, libm3 not compiled > ./boot-cm3-with-m3.sh build # builds cm3, but fails on > cminstall, patternmatching not built > > ./do-cm3-std.sh build # OK > ./do-cm3-std.sh buildship # OK > > ./boot-cm3-with-m3.sh realclean # start over > ./boot-cm3-with-m3.sh build # OK > ./boot-cm3-with-m3.sh buildship # OK > > ./do-cm3-std.sh realclean # OK > ./do-cm3-std.sh build # dies miserably... maybe the > compiler can't handle the new libraries? > > ./install-cm3-compiler.sh upgrade # OK, new cm3 binary installed > > After all that, "game over." I have a cm3 that segfaults. > > Text.i3: In function 'Text_I3': > Text.i3:81: internal compiler error: Segmentation fault > Please submit a full bug report, > with preprocessed source if appropriate. > See for instructions. > compilation failed => not building library "libm3core.a" > Fatal Error: package build failed > *** execution of failed *** > > I can't seem to get either m3gdb or gdb to say anything reasonable > either. ktrace shows nothing out of the ordinary. > > ----- > > Meanwhile, my Mac got through "do-cm3-std.sh realclean" and > "do-cm3-std.sh buildship" but my compiles are still dying on the > same assertion tickled by ktok. On that machine I have INSTALLROOT > set to ~/cm3, but hopefully that has nothing to do with it... > > ----- > > Does do-cm3-std.sh realclean clean EVERYTHING? If so my Mac should > really have a fresh setup. The FreeBSD, I am not sure, maybe the > old binary version just doesn't work right? Of course I could try > bootstrapping with PM3 as well... but really, there's an "approved" > process to get from a blank system, no? > > Mika > > > > > Tony Hosking writes: >> That sounds like you forgot to execute "do-cm3-std.sh realclean" >> before initiating the build. These sorts of errors sometimes arise >> if there are old build directories lying around. >> >> >> On Jun 23, 2007, at 3:34 AM, Mika Nystrom wrote: >> >>> Hello everyone, >>> >>> I am in the process of trying to consolidate build systems for a >>> few software packages I am maintaining. Currently, I am using an >>> old PM3 on FreeBSD4, an ancient PM3 (from Klagenfurt?) for Windows >>> (NT386GNU), and trying to get the latest CM3 from cvs up and >>> compiling >>> things on PPC_DARWIN. Ideally, I'd like to standardize everything >>> on the new PM3---mainly so that I can use pickles (and Network >>> Objects) across all three systems. I'd also like to add Linux to >>> the mix. >>> >>> It's natural for me to start with CM3 on Darwin, as there's no >>> alternative. But I am getting some assertions failing. Everything >>> in the CM3 distribution compiles fine, and I believe I have compiled >>> the libraries a few times (that is, including with themselves), and >>> updated the compiler, too (using boot-cm3-with-m3.sh). I just cvs >>> updated tonight. >>> >>> Here's what I'm running into: >>> >>> /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/CHP.t -o >>> CHPTok.i3 >>> >>> >>> *** >>> *** runtime error: >>> *** <*ASSERT*> failed. >>> *** file "../src/runtime/common/RTCollector.m3", line 2314 >>> *** >>> >>> Abort >>> >>> Also: >>> >>> /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/PRS.t -o >>> PRSTok.i3 >>> Illegal instruction >>> >>> As you can see, these things are coming from the caltech_parser. I >> am using >>> our local version, but I don't think it is very different from what >>> is in the >>> CM3 tree. >>> >>> >>> Examining the first error (the failed assertion) more closely, I see >>> the following: >>> >>> (gdb) list >>> 108 wr := FileWr.Open(Pathname.ReplaceExt(tp.out, "m3")); >>> 109 EXCEPT OSError.E => >>> 110 Debug.Error("Cannot open tok implementation output >>> file: " & >>> 111 Pathname.ReplaceExt(tp.out, "m3")); >>> 112 END; >>> 113 Wr.PutText(wr, subs.apply(Bundle.Get(Form, >>> "tokform.m3"))); >>> 114 Wr.Close(wr); >>> 115 END Main. >>> (gdb) where >>> #0 0x9004308c in kill () >>> #1 0x9009fb3c in abort () >>> #2 0x00096f50 in RTOS__Crash () at RTOS.m3:20 >>> #3 0x0005bd40 in RTProcess__Crash (M3_Bd56fi_msg=0x0) at >>> RTProcess.m3:65 >>> #4 0x0008e4e0 in RTError__EndError (M3_AicXUJ_crash=1 '\001') at >>> RTError.m3:115 >>> #5 0x0008e08c in RTError__MsgS (M3_AJWxb1_file=0xc63d8, >>> M3_AcxOUs_line=2314, M3_Bd56fi_msgA=0xca3d0, >>> M3_Bd56fi_msgB=0xcbe90, M3_Bd56fi_msgC=0xca3d0) at RTError.m3:40 >>> #6 0x0008eb88 in RTException__Crash (M3_Cblw37_a=0xbfffee00, >>> M3_AicXUJ_raises=0 '\0', M3_AJWxb1_rte=0xcb538) at RTException.m3:79 >>> #7 0x0008e74c in RTException__DefaultBackstop >>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>> RTException.m3:39 >>> #8 0x0008e614 in RTException__InvokeBackstop >>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>> RTException.m3:25 >>> #9 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at >>> RTExFrame.m3:29 >>> #10 0x0008e840 in RTException__DefaultBackstop >>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>> RTException.m3:47 >>> #11 0x0008e614 in RTException__InvokeBackstop >>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>> RTException.m3:25 >>> #12 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at >>> RTExFrame.m3:29 >>> #13 0x00079740 in RTHooks__ReportFault (M3_AJWxb1_module=0xb3eb8, >>> M3_AcxOUs_info=74048) at RTHooks.m3:110 >>> #14 0x0006ff4c in _m3_fault (M3_AcxOUs_arg=74048) >>> #15 0x0006bcf4 in RTHooks__CheckStoreTraced >>> (M3_Af40ku_ref=0xb2415c) at RTCollector.m3:2314 >>> #16 0x000700e4 in ThreadPThread__InnerLockMutex >>> (M3_AYIbX3_m=0xb2415c, M3_BXP32l_self=0xb24014) at >>> ThreadPThread.m3:126 >>> #17 0x000704d8 in ThreadPThread__LockMutex (M3_AYIbX3_m=0xb2415c) >>> at ThreadPThread.m3:153 >>> #18 0x00019b24 in Wr__PutText (M3_BxxOH1_wr=0xb2415c, >>> M3_Bd56fi_t=0xb44d5c) at Wr.m3:93 >>> #19 0x00003f74 in Main_M3 (M3_AcxOUs_mode=1) at Main.m3:113 >>> #20 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at >>> RTLinker.m3:399 >>> #21 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at >>> RTLinker.m3:113 >>> #22 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at >>> RTLinker.m3:122 >>> #23 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) >>> at _m3main.mc:4 >>> (gdb) >>> >>> The second error: >>> >>> Program received signal EXC_BAD_INSTRUCTION, Illegal instruction/ >>> operand. >>> 0x00b111ac in ?? () >>> (gdb) where >>> #0 0x00b111ac in ?? () >>> #1 0x0001214c in TextSubs__Apply (M3_CN69dV_self=0xb26450, >>> M3_Bd56fi_src=0xb21cec) at TextSubs.m3:63 >>> #2 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at >>> RTLinker.m3:399 >>> #3 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at >>> RTLinker.m3:113 >>> #4 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at >>> RTLinker.m3:122 >>> #5 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) >>> at _m3main.mc:4 >>> (gdb) list >>> 58 BEGIN >>> 59 WHILE pos < textLen DO >>> 60 c := Text.GetChar(src, pos); >>> 61 IF c IN self.starts THEN >>> 62 (* S("analysing: " & Text.Sub(src, pos), >>> DebugLevel); *) >>> 63 iter := self.tbl.iterateOrdered(); >>> 64 ind := pos; >>> 65 original := ""; >>> 66 REPEAT >>> 67 INC(ind); >>> (gdb) >>> >>> Any ideas what to look at? >>> >>> I don't know if this is relevant: >>> >>> [lapdog:~/t/cit_parse/PPC_DARWIN] mika% uname -a >>> Darwin lapdog.local 7.9.0 Darwin Kernel Version 7.9.0: Wed Mar 30 >>> 20:11:17 PST 2005; root:xnu/xnu-517.12.7.obj~1/RELEASE_PPC Power >>> Macintosh powerpc >>> [lapdog:~/t/cit_parse/PPC_DARWIN] mika% gcc -v >>> Reading specs from /usr/libexec/gcc/darwin/ppc/3.3/specs >>> Thread model: posix >>> gcc version 3.3 20030304 (Apple Computer, Inc. build 1666) >>> >>> Mika >>> >>> P.S. Am I correct in assuming that I can get CM3 to build on >>> Windows? >>> I could switch to CM3 on Unix any time, of course, but I've never >>> had luck with it on Windows, which is why I am using the ancient >>> Klagenfurt PM3, which comes on 40-odd "floppies" and a .EXE that >>> unpacks them into C: (and installation instructions only in German). >>> If CM3 doesn't work on Windows, I am essentially wasting my time, >>> as the current project I am working on absolutely requires that the >>> software run on Windows 2003 Server (yes, it sucks, but what can >>> you do?) The very old PM3 at least kind of hobbles along on this >>> platform---actually, better than that; it does Trestle natively >>> under Windows (no X required), at least on SOME Windows machines. >>> >>> P.P.S. Sorry for all the postscripts, but is it true that the >>> build system has been changed so that building with overrides >>> (cm3 -x) >>> requires having the compiler sources available? It didn't use to >>> be that way, but I can't get Network Objects to work with overrides >>> now unless I have the sources available... It's a bit of a pain >>> because it means that every user has to have the compiler sources, >>> or else ship everything, or was that not the intention? From dragisha at m3w.org Sun Jun 24 22:21:59 2007 From: dragisha at m3w.org (=?UTF-8?Q?Dragi=C5=A1a_Duri=C4=87?=) Date: Sun, 24 Jun 2007 22:21:59 +0200 Subject: [M3devel] [M3commit] CVS Update: cm3 In-Reply-To: <20070624195136.B288210D42D0@birch.elegosoft.com> References: <20070624195136.B288210D42D0@birch.elegosoft.com> Message-ID: <1182716519.9643.1.camel@faramir.m3w.org> This is for using LINUXLIBC6 as target on AMD64, not LINUXAMD64 solved? What is ETA for LINUXAMD64? dd On Sun, 2007-06-24 at 21:51 +0000, Antony Hosking wrote: > CVSROOT: /usr/cvs > Changes by: hosking at birch. 07/06/24 21:51:36 > > Modified files: > cm3/m3-sys/cminstall/src/config/: LINUXLIBC6 > > Log message: > Add explicit use of 32-bit backend tools for LINUXLIBC6 target, so > things work properly on x86_64 machines. (LINUXLIBC6 assumes a 32-bit > INTEGER target even though the host machine might be able to do > 64-bits). > -- Dragi?a Duri? From hosking at cs.purdue.edu Sun Jun 24 22:57:27 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Sun, 24 Jun 2007 16:57:27 -0400 Subject: [M3devel] [M3commit] CVS Update: cm3 In-Reply-To: <1182716519.9643.1.camel@faramir.m3w.org> References: <20070624195136.B288210D42D0@birch.elegosoft.com> <1182716519.9643.1.camel@faramir.m3w.org> Message-ID: Yes, LINUXLIBC6 can be used as a 32-bit target on AMD64 so long as m3cc is built appropriately. I haven't checked in the fix for the m3cc m3makefile yet, but what is needed is to make sure to configure the build of the gcc-based backend with --enable-targets=x86-linux to make sure you get one that targets 32 bits instead of 64. On Jun 24, 2007, at 4:21 PM, Dragi?a Duri? wrote: > This is for using LINUXLIBC6 as target on AMD64, not LINUXAMD64 > solved? > > What is ETA for LINUXAMD64? Not sure. I don't know when I'll get a chance to work on it, but I don't think it will be too difficult. It will need to be a different target, say x86_64_LINUX perhaps. > > dd > > On Sun, 2007-06-24 at 21:51 +0000, Antony Hosking wrote: >> CVSROOT: /usr/cvs >> Changes by: hosking at birch. 07/06/24 21:51:36 >> >> Modified files: >> cm3/m3-sys/cminstall/src/config/: LINUXLIBC6 >> >> Log message: >> Add explicit use of 32-bit backend tools for LINUXLIBC6 target, so >> things work properly on x86_64 machines. (LINUXLIBC6 assumes a >> 32-bit >> INTEGER target even though the host machine might be able to do >> 64-bits). >> > -- > Dragi?a Duri? From hosking at cs.purdue.edu Sun Jun 24 22:59:17 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Sun, 24 Jun 2007 16:59:17 -0400 Subject: [M3devel] [M3commit] CVS Update: cm3 In-Reply-To: <1182716519.9643.1.camel@faramir.m3w.org> References: <20070624195136.B288210D42D0@birch.elegosoft.com> <1182716519.9643.1.camel@faramir.m3w.org> Message-ID: Is anyone out there already working on LINUXAMD64? On Jun 24, 2007, at 4:21 PM, Dragi?a Duri? wrote: > This is for using LINUXLIBC6 as target on AMD64, not LINUXAMD64 > solved? > > What is ETA for LINUXAMD64? > > dd > > On Sun, 2007-06-24 at 21:51 +0000, Antony Hosking wrote: >> CVSROOT: /usr/cvs >> Changes by: hosking at birch. 07/06/24 21:51:36 >> >> Modified files: >> cm3/m3-sys/cminstall/src/config/: LINUXLIBC6 >> >> Log message: >> Add explicit use of 32-bit backend tools for LINUXLIBC6 target, so >> things work properly on x86_64 machines. (LINUXLIBC6 assumes a >> 32-bit >> INTEGER target even though the host machine might be able to do >> 64-bits). >> > -- > Dragi?a Duri? From stsp at elego.de Sun Jun 24 23:13:08 2007 From: stsp at elego.de (Stefan Sperling) Date: Sun, 24 Jun 2007 23:13:08 +0200 Subject: [M3devel] [M3commit] CVS Update: cm3 In-Reply-To: References: <20070624195136.B288210D42D0@birch.elegosoft.com> <1182716519.9643.1.camel@faramir.m3w.org> Message-ID: <20070624211308.GA2750@ted.stsp.lan> On Sun, Jun 24, 2007 at 04:57:27PM -0400, Tony Hosking wrote: > On Jun 24, 2007, at 4:21 PM, Dragi?a Duri?? wrote: > > > This is for using LINUXLIBC6 as target on AMD64, not LINUXAMD64 solved? > > > > What is ETA for LINUXAMD64? > > Not sure. I don't know when I'll get a chance to work on it, but I don't > think it will be too difficult. It will need to be a different target, say > x86_64_LINUX perhaps. A diff against a very old version is still sitting here: http://www.stsp.name/cm3/cm3-linux-amd64-2005-04-18.patch We don't have to start from scratch. Maybe elego will let me spend some time on this again some day, we'll see. -- stefan http://stsp.name PGP Key: 0xF59D25F0 -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 187 bytes Desc: not available URL: From mika at async.caltech.edu Mon Jun 25 04:53:56 2007 From: mika at async.caltech.edu (Mika Nystrom) Date: Sun, 24 Jun 2007 19:53:56 -0700 Subject: [M3devel] strange errors... In-Reply-To: Your message of "Sun, 24 Jun 2007 10:38:34 EDT." Message-ID: <200706250253.l5P2rvOu013096@camembert.async.caltech.edu> Tony Hosking writes: ... > >Install the bootstrap compiler as you did originally: > >> rm -rf /usr/local/cm3/* >> >> cd ~/cm3-cvs >> mkdir boot >> cd boot >> tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz >> ./cminstall > >Now you will have some kind of cm3 installed, presumably in /usr/ >local/cm3/bin/cm3. > >Make sure you have a fresh CVS checkout in directory cm3 (let's >assume this is in your home directory ~/cm3). Also, make sure you >have an up-to-date version of the CM3 backend compiler cm3cg >installed by executing the following: > >STEP 0: > >export CM3=/usr/local/cm3/bin/cm3 >cd ~/cm3/m3-sys/m3cc >$CM3 >$CM3 -ship > >You can skip this last step if you know your backend compiler is up >to date. Ok, I did a completely fresh checkout (into an empty directory) and proceeded in accordance with the above instructions. At this point (that is, after shipping the new cm3cg), I have a segfaulting cm3. This is on the following system: (130)rover:~/cm3-cvs/fresh/cm3/m3-libs/m3core>uname -a FreeBSD rover 5.5-RELEASE FreeBSD 5.5-RELEASE #3: Sat May 12 14:03:45 PDT 2007 mika at rover:/usr/src/sys/i386/compile/ROVER i386 (131)rover:~/cm3-cvs/fresh/cm3/m3-libs/m3core>gcc -v Using built-in specs. Configured with: FreeBSD/i386 system compiler Thread model: posix gcc version 3.4.2 [FreeBSD] 20040728 (132)rover:~/cm3-cvs/fresh/cm3/m3-libs/m3core>cm3 -version Critical Mass Modula-3 version d5.3.1 last updated: 2005-10-05 configuration: /usr/local/cm3/bin/cm3.cfg I'm trying it on Darwin too, but as usual that machine is a couple of steps behind... Mika > >Now, let's build the new compiler from scratch (this is the sequence >I use regularly to test changes to the run-time system whenever I >make them): > >STEP 1: > >cd ~/cm3/m3-libs/m3core >$CM3 >$CM3 -ship >cd ~/cm3/m3-libs/libm3 >$CM3 >$CM3 -ship >cd ~/cm3/m3-sys/m3middle >$CM3 >$CM3 -ship >cd ~/cm3/m3-sys/m3linker >$CM3 >$CM3 -ship >cd ~/cm3/m3-sys/m3front >$CM3 >$CM3 -ship >cd ~/cm3/m3-sys/m3quake >$CM3 >$CM3 -ship >cd ~/cm3/m3-sys/cm3 >$CM3 >$CM3 -ship > >At this point you should have a bootstrapped version of cm3 installed >in the directory /usr/local/cm3/pkg/cm3/TARGET/cm3 (where TARGET is >the CM3 target platform you are building on -- e.g., LINUXLIBC6, >PPC_DARWIN, ...). Note that this did not overwrite your original >installed compiler in /usr/local/cm3/bin/cm3. We >are now going to test the new compiler, which was built using the old >compiler, by bootstrapping it one more time. > > From here on out, please replace TARGET with your target platform as >appropriate. > >STEP 2: > >export CM3=/usr/local/cm3/pkg/cm3/TARGET/cm3 >cd ~/cm3/scripts >./do-cm3-std.sh realclean >REPEAT STEP 1 to rebuild the libraries and the compiler using the >STEP 1 bootstrap compiler. > >Now you have a STEP 2 bootstrap compiler installed in /usr/local/cm3/ >pkg/cm3/TARGET/cm3. Let's assume the new compiler now works properly >since it successfully bootstrapped itself, but to be sure we can now >use it to rebuild the world: > >cd ~/cm3/scripts >./do-cm3-std.sh realclean >./do-cm3-std.sh buildship > >Assuming this succeeded then we can be pretty sure /usr/local/cm3/pkg/ >cm3/TARGET/cm3 is good, so we can make it our default compiler by >replacing the original /usr/local/cm3/bin/cm3: > >cp $CM3 /usr/local/cm3/bin/cm3 > >On Jun 23, 2007, at 2:38 PM, Mika Nystrom wrote: > >> Ok, I'm sorry if I seem a bit dimwitted in the morning like this, >> but how exactly does one get started? I wish there were a file called >> "GETTING_STARTED" or something like that in scripts... >> >> My Mac is very slow so I switched to my FreeBSD/i386 system (which has >> PM3 happily installed on it) and tried to install CM3 from scratch. ... From hosking at cs.purdue.edu Mon Jun 25 05:40:21 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Sun, 24 Jun 2007 23:40:21 -0400 Subject: [M3devel] strange errors... In-Reply-To: <200706250253.l5P2rvOu013096@camembert.async.caltech.edu> References: <200706250253.l5P2rvOu013096@camembert.async.caltech.edu> Message-ID: <8324E836-B2A7-4DDC-829E-CECC25ED669A@cs.purdue.edu> cm3 should not segfault if you simply install a new cm3cg, since all it does is exec cm3cg. On Jun 24, 2007, at 10:53 PM, Mika Nystrom wrote: > Tony Hosking writes: > ... >> >> Install the bootstrap compiler as you did originally: >> >>> rm -rf /usr/local/cm3/* >>> >>> cd ~/cm3-cvs >>> mkdir boot >>> cd boot >>> tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz >>> ./cminstall >> >> Now you will have some kind of cm3 installed, presumably in /usr/ >> local/cm3/bin/cm3. >> >> Make sure you have a fresh CVS checkout in directory cm3 (let's >> assume this is in your home directory ~/cm3). Also, make sure you >> have an up-to-date version of the CM3 backend compiler cm3cg >> installed by executing the following: >> >> STEP 0: >> >> export CM3=/usr/local/cm3/bin/cm3 >> cd ~/cm3/m3-sys/m3cc >> $CM3 >> $CM3 -ship >> >> You can skip this last step if you know your backend compiler is up >> to date. > > Ok, I did a completely fresh checkout (into an empty directory) and > proceeded in accordance with the above instructions. At this point > (that is, after shipping the new cm3cg), I have a segfaulting cm3. > > This is on the following system: > > (130)rover:~/cm3-cvs/fresh/cm3/m3-libs/m3core>uname -a > FreeBSD rover 5.5-RELEASE FreeBSD 5.5-RELEASE #3: Sat May 12 > 14:03:45 PDT 2007 mika at rover:/usr/src/sys/i386/compile/ROVER i386 > (131)rover:~/cm3-cvs/fresh/cm3/m3-libs/m3core>gcc -v > Using built-in specs. > Configured with: FreeBSD/i386 system compiler > Thread model: posix > gcc version 3.4.2 [FreeBSD] 20040728 > (132)rover:~/cm3-cvs/fresh/cm3/m3-libs/m3core>cm3 -version > Critical Mass Modula-3 version d5.3.1 > last updated: 2005-10-05 > configuration: /usr/local/cm3/bin/cm3.cfg > > I'm trying it on Darwin too, but as usual that machine is a couple > of steps behind... > > Mika > > >> >> Now, let's build the new compiler from scratch (this is the sequence >> I use regularly to test changes to the run-time system whenever I >> make them): >> >> STEP 1: >> >> cd ~/cm3/m3-libs/m3core >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-libs/libm3 >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-sys/m3middle >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-sys/m3linker >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-sys/m3front >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-sys/m3quake >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-sys/cm3 >> $CM3 >> $CM3 -ship >> >> At this point you should have a bootstrapped version of cm3 installed >> in the directory /usr/local/cm3/pkg/cm3/TARGET/cm3 (where TARGET is >> the CM3 target platform you are building on -- e.g., LINUXLIBC6, >> PPC_DARWIN, ...). Note that this did not overwrite your original >> installed compiler in /usr/local/cm3/bin/cm3. We >> are now going to test the new compiler, which was built using the old >> compiler, by bootstrapping it one more time. >> >> From here on out, please replace TARGET with your target platform as >> appropriate. >> >> STEP 2: >> >> export CM3=/usr/local/cm3/pkg/cm3/TARGET/cm3 >> cd ~/cm3/scripts >> ./do-cm3-std.sh realclean >> REPEAT STEP 1 to rebuild the libraries and the compiler using the >> STEP 1 bootstrap compiler. >> >> Now you have a STEP 2 bootstrap compiler installed in /usr/local/cm3/ >> pkg/cm3/TARGET/cm3. Let's assume the new compiler now works properly >> since it successfully bootstrapped itself, but to be sure we can now >> use it to rebuild the world: >> >> cd ~/cm3/scripts >> ./do-cm3-std.sh realclean >> ./do-cm3-std.sh buildship >> >> Assuming this succeeded then we can be pretty sure /usr/local/cm3/ >> pkg/ >> cm3/TARGET/cm3 is good, so we can make it our default compiler by >> replacing the original /usr/local/cm3/bin/cm3: >> >> cp $CM3 /usr/local/cm3/bin/cm3 >> >> On Jun 23, 2007, at 2:38 PM, Mika Nystrom wrote: >> >>> Ok, I'm sorry if I seem a bit dimwitted in the morning like this, >>> but how exactly does one get started? I wish there were a file >>> called >>> "GETTING_STARTED" or something like that in scripts... >>> >>> My Mac is very slow so I switched to my FreeBSD/i386 system >>> (which has >>> PM3 happily installed on it) and tried to install CM3 from scratch. > ... From mika at async.caltech.edu Mon Jun 25 05:47:03 2007 From: mika at async.caltech.edu (Mika Nystrom) Date: Sun, 24 Jun 2007 20:47:03 -0700 Subject: [M3devel] strange errors... In-Reply-To: Your message of "Sun, 24 Jun 2007 23:40:21 EDT." <8324E836-B2A7-4DDC-829E-CECC25ED669A@cs.purdue.edu> Message-ID: <200706250347.l5P3l3PR013930@camembert.async.caltech.edu> Yes, cm3 is just reporting it, I think. I assume it's cm3cg that's segfaulting: (compiling m3core) --- building in FreeBSD4 --- ignoring ../src/m3overrides new source -> compiling RTHooks.i3 RTHooks.i3: In function 'RTHooks_I3': RTHooks.i3:146: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See for instructions. new source -> compiling RT0.i3 RT0.i3: In function 'RT0_I3': RT0.i3:230: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. ... etc etc ... Tony Hosking writes: >cm3 should not segfault if you simply install a new cm3cg, since all >it does is exec cm3cg. > >On Jun 24, 2007, at 10:53 PM, Mika Nystrom wrote: > >> Tony Hosking writes: >> ... >>> >>> Install the bootstrap compiler as you did originally: >>> >>>> rm -rf /usr/local/cm3/* >>>> >>>> cd ~/cm3-cvs >>>> mkdir boot >>>> cd boot >>>> tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz >>>> ./cminstall >>> >>> Now you will have some kind of cm3 installed, presumably in /usr/ >>> local/cm3/bin/cm3. >>> >>> Make sure you have a fresh CVS checkout in directory cm3 (let's >>> assume this is in your home directory ~/cm3). Also, make sure you >>> have an up-to-date version of the CM3 backend compiler cm3cg >>> installed by executing the following: >>> >>> STEP 0: >>> >>> export CM3=/usr/local/cm3/bin/cm3 >>> cd ~/cm3/m3-sys/m3cc >>> $CM3 >>> $CM3 -ship >>> >>> You can skip this last step if you know your backend compiler is up >>> to date. >> >> Ok, I did a completely fresh checkout (into an empty directory) and >> proceeded in accordance with the above instructions. At this point >> (that is, after shipping the new cm3cg), I have a segfaulting cm3. >> >> This is on the following system: >> >> (130)rover:~/cm3-cvs/fresh/cm3/m3-libs/m3core>uname -a >> FreeBSD rover 5.5-RELEASE FreeBSD 5.5-RELEASE #3: Sat May 12 >> 14:03:45 PDT 2007 mika at rover:/usr/src/sys/i386/compile/ROVER i386 >> (131)rover:~/cm3-cvs/fresh/cm3/m3-libs/m3core>gcc -v >> Using built-in specs. >> Configured with: FreeBSD/i386 system compiler >> Thread model: posix >> gcc version 3.4.2 [FreeBSD] 20040728 >> (132)rover:~/cm3-cvs/fresh/cm3/m3-libs/m3core>cm3 -version >> Critical Mass Modula-3 version d5.3.1 >> last updated: 2005-10-05 >> configuration: /usr/local/cm3/bin/cm3.cfg >> >> I'm trying it on Darwin too, but as usual that machine is a couple >> of steps behind... >> >> Mika >> >> >>> >>> Now, let's build the new compiler from scratch (this is the sequence >>> I use regularly to test changes to the run-time system whenever I >>> make them): >>> >>> STEP 1: >>> >>> cd ~/cm3/m3-libs/m3core >>> $CM3 >>> $CM3 -ship >>> cd ~/cm3/m3-libs/libm3 >>> $CM3 >>> $CM3 -ship >>> cd ~/cm3/m3-sys/m3middle >>> $CM3 >>> $CM3 -ship >>> cd ~/cm3/m3-sys/m3linker >>> $CM3 >>> $CM3 -ship >>> cd ~/cm3/m3-sys/m3front >>> $CM3 >>> $CM3 -ship >>> cd ~/cm3/m3-sys/m3quake >>> $CM3 >>> $CM3 -ship >>> cd ~/cm3/m3-sys/cm3 >>> $CM3 >>> $CM3 -ship >>> >>> At this point you should have a bootstrapped version of cm3 installed >>> in the directory /usr/local/cm3/pkg/cm3/TARGET/cm3 (where TARGET is >>> the CM3 target platform you are building on -- e.g., LINUXLIBC6, >>> PPC_DARWIN, ...). Note that this did not overwrite your original >>> installed compiler in /usr/local/cm3/bin/cm3. We >>> are now going to test the new compiler, which was built using the old >>> compiler, by bootstrapping it one more time. >>> >>> From here on out, please replace TARGET with your target platform as >>> appropriate. >>> >>> STEP 2: >>> >>> export CM3=/usr/local/cm3/pkg/cm3/TARGET/cm3 >>> cd ~/cm3/scripts >>> ./do-cm3-std.sh realclean >>> REPEAT STEP 1 to rebuild the libraries and the compiler using the >>> STEP 1 bootstrap compiler. >>> >>> Now you have a STEP 2 bootstrap compiler installed in /usr/local/cm3/ >>> pkg/cm3/TARGET/cm3. Let's assume the new compiler now works properly >>> since it successfully bootstrapped itself, but to be sure we can now >>> use it to rebuild the world: >>> >>> cd ~/cm3/scripts >>> ./do-cm3-std.sh realclean >>> ./do-cm3-std.sh buildship >>> >>> Assuming this succeeded then we can be pretty sure /usr/local/cm3/ >>> pkg/ >>> cm3/TARGET/cm3 is good, so we can make it our default compiler by >>> replacing the original /usr/local/cm3/bin/cm3: >>> >>> cp $CM3 /usr/local/cm3/bin/cm3 >>> >>> On Jun 23, 2007, at 2:38 PM, Mika Nystrom wrote: >>> >>>> Ok, I'm sorry if I seem a bit dimwitted in the morning like this, >>>> but how exactly does one get started? I wish there were a file >>>> called >>>> "GETTING_STARTED" or something like that in scripts... >>>> >>>> My Mac is very slow so I switched to my FreeBSD/i386 system >>>> (which has >>>> PM3 happily installed on it) and tried to install CM3 from scratch. >> ... From wagner at elegosoft.com Mon Jun 25 09:07:37 2007 From: wagner at elegosoft.com (Olaf Wagner) Date: Mon, 25 Jun 2007 09:07:37 +0200 (CEST) Subject: [M3devel] strange errors... In-Reply-To: <200706250347.l5P3l3PR013930@camembert.async.caltech.edu> References: <200706250347.l5P3l3PR013930@camembert.async.caltech.edu> Message-ID: <38249.194.138.127.36.1182755257.squirrel@mail.elegosoft.com> On Mon, June 25, 2007 5:47 am, Mika Nystrom wrote: > Yes, cm3 is just reporting it, I think. I assume it's cm3cg that's > segfaulting: > > (compiling m3core) > > --- building in FreeBSD4 --- > > ignoring ../src/m3overrides > > new source -> compiling RTHooks.i3 > RTHooks.i3: In function 'RTHooks_I3': > RTHooks.i3:146: internal compiler error: Segmentation fault > Please submit a full bug report, > with preprocessed source if appropriate. > See for instructions. > new source -> compiling RT0.i3 > RT0.i3: In function 'RT0_I3': > RT0.i3:230: internal compiler error: Segmentation fault > Please submit a full bug report, > with preprocessed source if appropriate. This looks really broken :-( Please use the cm3 options -commands to see the actual backend executions and -keep to save the input data which provokes gcc to give up. You can then use gdb on cm3cg to get a backtrace and try to figure out what's going wrong. A backtrace of cm3cg will probably be most helpful. Olaf PS: As for automation of the installation and upgrade process, this used to work fine some time ago. The problem seems to be that nobody really does extensive testing of fresh installations unless Elego pays some student for release engineering :-/ I think we should just try to keep the existing installation scripts up-to-date; perhaps add a bit more information. For example, if the m3gc-xxx packages are not needed anymore, we should simply remove them from all current scripts. It would also be helpful if we had a tinderbox system that does regular builds at least on some reference platforms. PPS: Antony, did you change anything recently regarding code generation that could cause such failures as above? -- Olaf Wagner -- elego Software Solutions GmbH, Ohmstr. 9, 10179 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 mika at async.caltech.edu Mon Jun 25 10:03:54 2007 From: mika at async.caltech.edu (Mika Nystrom) Date: Mon, 25 Jun 2007 01:03:54 -0700 Subject: [M3devel] strange errors... In-Reply-To: Your message of "Mon, 25 Jun 2007 09:07:37 +0200." <38249.194.138.127.36.1182755257.squirrel@mail.elegosoft.com> Message-ID: <200706250803.l5P83ssv018074@camembert.async.caltech.edu> Guten Tag Olaf! --- building in FreeBSD4 --- cd FreeBSD4 ignoring ../src/m3overrides rm .M3SHIP rm .M3OVERRIDES inhale libm3core.m3x new source -> compiling RTHooks.i3 m3front ../src/runtime/common/RTHooks.i3 -w1 /usr/local/cm3/bin/cm3cg -quiet RTHooks.ic -o RTHooks.is -g RTHooks.i3: In function 'RTHooks_I3': RTHooks.i3:146: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See for instructions. rm RTHooks.is I figured that building cm3cg with debugging symbols involves running "cm3 -DM3CC_CFLAGS=-g" (not completely obvious), and obtained the following: (gdb) run -quiet RTHooks.ic -o RTHooks.is -g Starting program: /usr/local/cm3/bin/cm3cg -quiet RTHooks.ic -o RTHooks.is -g Program received signal SIGSEGV, Segmentation fault0x080f614b in gen_field_die (decl=0x6873f228, context_die=0x68714208) at ../../gcc/gcc/dwarf2out.c:12079 12079 if (TREE_CODE (DECL_FIELD_CONTEXT (decl)) != UNION_TYPE) (gdb) where #0 0x080f614b in gen_field_die (decl=0x6873f228, context_die=0x68714208) at ../../gcc/gcc/dwarf2out.c:12079 #1 0x080f7ad6 in gen_decl_die (decl=0x6873f228, context_die=0x68714208) at ../../gcc/gcc/dwarf2out.c:13121 #2 0x080f671d in gen_member_die (type=0x6873f33c, context_die=0x68714208) at ../../gcc/gcc/dwarf2out.c:12280 #3 0x080f69e4 in gen_struct_or_union_type_die (type=0x6873f33c, context_die=0x68714138) at ../../gcc/gcc/dwarf2out.c:12357 #4 0x080f6f0f in gen_type_die (type=0x6873f33c, context_die=0x68714138) at ../../gcc/gcc/dwarf2out.c:12562 #5 0x080f79a0 in gen_decl_die (decl=0x6871c548, context_die=0x68714138) at ../../gcc/gcc/dwarf2out.c:13072 #6 0x080f808b in dwarf2out_decl (decl=0x6871c548) at ../../gcc/gcc/dwarf2out.c:13371 #7 0x080f7ceb in dwarf2out_type_decl (decl=0x6871c548, local=0) at ../../gcc/gcc/dwarf2out.c:13183 #8 0x0804c48b in debug_struct () at ../../gcc/gcc/m3cg/parse.c:1762 #9 0x0804de17 in m3cg_declare_formal () at ../../gcc/gcc/m3cg/parse.c:2463 #10 0x08053941 in m3_parse_file (xx=0) at ../../gcc/gcc/m3cg/parse.c:4773 #11 0x082eec3b in compile_file () at ../../gcc/gcc/toplev.c:991 #12 0x082f018a in do_compile () at ../../gcc/gcc/toplev.c:1949 #13 0x082f01f2 in toplev_main (argc=6, argv=0xbfbfe3bc) at ../../gcc/gcc/toplev.c:1981 #14 0x0805a2ae in main (argc=6, argv=0xbfbfe3bc) at ../../gcc/gcc/main.c:35 (gdb) print decl $1 = 0x6873f228 (gdb) whatis decl type = tree (gdb) print *decl $2 = {common = {chain = 0x6873f284, type = 0x68716284, ann = 0x0, code = FIELD_DECL, ... [large data structure follows] (gdb) whatis context_die type = dw_die_ref (gdb) print *context_die $5 = {die_tag = DW_TAG_structure_type, die_symbol = 0x0, die_attr = 0x68708fc0, die_parent = 0x68714138, die_child = 0x6871423c, die_sib = 0x0, die_definition = 0x0, die_offset = 0, die_abbrev = 0, die_mark = 0, decl_id = 0} Here I must confess I have never debugged parts of gcc before... If it helps, I put RTHooks.ic at http://www.async.caltech.edu/~mika/RTHooks.ic Maybe someone can use this to tell whether it is m3front or cm3cg that is (more) broken. Are the .ic files architecture-independent? Mika "Olaf Wagner" writes: >On Mon, June 25, 2007 5:47 am, Mika Nystrom wrote: >> Yes, cm3 is just reporting it, I think. I assume it's cm3cg that's >> segfaulting: >> >> (compiling m3core) >> > --- building in FreeBSD4 --- >> >> ignoring ../src/m3overrides >> >> new source -> compiling RTHooks.i3 >> RTHooks.i3: In function 'RTHooks_I3': >> RTHooks.i3:146: internal compiler error: Segmentation fault >> Please submit a full bug report, >> with preprocessed source if appropriate. >> See for instructions. >> new source -> compiling RT0.i3 >> RT0.i3: In function 'RT0_I3': >> RT0.i3:230: internal compiler error: Segmentation fault >> Please submit a full bug report, >> with preprocessed source if appropriate. > >This looks really broken :-( >Please use the cm3 options -commands to see the actual backend executions >and -keep to save the input data which provokes gcc to give up. >You can then use gdb on cm3cg to get a backtrace and try to figure out >what's going wrong. A backtrace of cm3cg will probably be most helpful. > >Olaf > >PS: As for automation of the installation and upgrade process, this > used to work fine some time ago. The problem seems to be that nobody > really does extensive testing of fresh installations unless Elego > pays some student for release engineering :-/ I think we should > just try to keep the existing installation scripts up-to-date; > perhaps add a bit more information. For example, if the m3gc-xxx > packages are not needed anymore, we should simply remove them from > all current scripts. It would also be helpful if we had a tinderbox > system that does regular builds at least on some reference platforms. >PPS: Antony, did you change anything recently regarding code generation > that could cause such failures as above? >-- >Olaf Wagner -- elego Software Solutions GmbH, Ohmstr. 9, 10179 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 jayk123 at hotmail.com Mon Jun 25 13:19:56 2007 From: jayk123 at hotmail.com (j k) Date: Mon, 25 Jun 2007 11:19:56 +0000 Subject: [M3devel] strange errors... In-Reply-To: Message-ID: Tony the scripts I think are a very very close approximation of what you list. I ported the Unix shell versions to NT cmd. They were working well a few months ago. The M3 build system bugs me. 1) too many languages 2) the need to know your dependency graph in order to build -- could something not look from some "root" and build everything that is out of date in the right order, or given an unordered list of packages, build them in the right order? I realize this is asking more than most other systems provide. Most C/C++ systems depend on the fact that "headers" are all hand authored and available up front and require no "build". In Windows, if you use midl or managed code/CLR/.NET you run into these same issues as M3 has since "headers" are now "build outputs" and producing them can depend on having dependent "headers" already built. - Jay >From: Tony Hosking >To: Mika Nystrom >CC: mika at camembert.async.caltech.edu, m3devel at elegosoft.de >Subject: Re: [M3devel] strange errors... >Date: Sun, 24 Jun 2007 10:38:34 -0400 > >Sounds like we really need some work done in this area. I very rarely use >the build scripts, since I bootstrap manually from old compilers to new >compilers rather than use the scripts. I suggest the following approach, >which I hope you will try, and then report back on. > >Install the bootstrap compiler as you did originally: > >>rm -rf /usr/local/cm3/* >> >>cd ~/cm3-cvs >>mkdir boot >>cd boot >>tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz >>./cminstall > >Now you will have some kind of cm3 installed, presumably in /usr/ >local/cm3/bin/cm3. > >Make sure you have a fresh CVS checkout in directory cm3 (let's assume >this is in your home directory ~/cm3). Also, make sure you have an >up-to-date version of the CM3 backend compiler cm3cg installed by >executing the following: > >STEP 0: > >export CM3=/usr/local/cm3/bin/cm3 >cd ~/cm3/m3-sys/m3cc >$CM3 >$CM3 -ship > >You can skip this last step if you know your backend compiler is up to >date. > >Now, let's build the new compiler from scratch (this is the sequence I use >regularly to test changes to the run-time system whenever I make them): > >STEP 1: > >cd ~/cm3/m3-libs/m3core >$CM3 >$CM3 -ship >cd ~/cm3/m3-libs/libm3 >$CM3 >$CM3 -ship >cd ~/cm3/m3-sys/m3middle >$CM3 >$CM3 -ship >cd ~/cm3/m3-sys/m3linker >$CM3 >$CM3 -ship >cd ~/cm3/m3-sys/m3front >$CM3 >$CM3 -ship >cd ~/cm3/m3-sys/m3quake >$CM3 >$CM3 -ship >cd ~/cm3/m3-sys/cm3 >$CM3 >$CM3 -ship > >At this point you should have a bootstrapped version of cm3 installed in >the directory /usr/local/cm3/pkg/cm3/TARGET/cm3 (where TARGET is the CM3 >target platform you are building on -- e.g., LINUXLIBC6, PPC_DARWIN, ...). > Note that this did not overwrite your original installed compiler in >/usr/local/cm3/bin/cm3. We >are now going to test the new compiler, which was built using the old >compiler, by bootstrapping it one more time. > >From here on out, please replace TARGET with your target platform as >appropriate. > >STEP 2: > >export CM3=/usr/local/cm3/pkg/cm3/TARGET/cm3 >cd ~/cm3/scripts >./do-cm3-std.sh realclean >REPEAT STEP 1 to rebuild the libraries and the compiler using the STEP 1 >bootstrap compiler. > >Now you have a STEP 2 bootstrap compiler installed in /usr/local/cm3/ >pkg/cm3/TARGET/cm3. Let's assume the new compiler now works properly >since it successfully bootstrapped itself, but to be sure we can now use >it to rebuild the world: > >cd ~/cm3/scripts >./do-cm3-std.sh realclean >./do-cm3-std.sh buildship > >Assuming this succeeded then we can be pretty sure /usr/local/cm3/pkg/ >cm3/TARGET/cm3 is good, so we can make it our default compiler by >replacing the original /usr/local/cm3/bin/cm3: > >cp $CM3 /usr/local/cm3/bin/cm3 > >On Jun 23, 2007, at 2:38 PM, Mika Nystrom wrote: > >>Ok, I'm sorry if I seem a bit dimwitted in the morning like this, >>but how exactly does one get started? I wish there were a file called >>"GETTING_STARTED" or something like that in scripts... >> >>My Mac is very slow so I switched to my FreeBSD/i386 system (which has >>PM3 happily installed on it) and tried to install CM3 from scratch. >>Here are the exact commands I typed. >> >> >>rm -rf /usr/local/cm3/* >> >>cd ~/cm3-cvs >>mkdir boot >>cd boot >>tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz >>./cminstall >> >># now I seem to have some kind of cm3 installed, /usr/local/cm3/bin/ cm3 >> >>cd cm3 # location of my CM3 checkout >>cvs update -d . >> >>cd scripts >>./boot-cm3-with-m3.sh realclean >>./do-cm3-std.sh realclean >> >>./upgrade.sh # fails here, libm3 not compiled >>./boot-cm3-with-m3.sh build # builds cm3, but fails on cminstall, >>patternmatching not built >> >>./do-cm3-std.sh build # OK >>./do-cm3-std.sh buildship # OK >> >>./boot-cm3-with-m3.sh realclean # start over >>./boot-cm3-with-m3.sh build # OK >>./boot-cm3-with-m3.sh buildship # OK >> >>./do-cm3-std.sh realclean # OK >>./do-cm3-std.sh build # dies miserably... maybe the compiler >>can't handle the new libraries? >> >>./install-cm3-compiler.sh upgrade # OK, new cm3 binary installed >> >>After all that, "game over." I have a cm3 that segfaults. >> >>Text.i3: In function 'Text_I3': >>Text.i3:81: internal compiler error: Segmentation fault >>Please submit a full bug report, >>with preprocessed source if appropriate. >>See for instructions. >>compilation failed => not building library "libm3core.a" >>Fatal Error: package build failed >> *** execution of failed *** >> >>I can't seem to get either m3gdb or gdb to say anything reasonable >>either. ktrace shows nothing out of the ordinary. >> >>----- >> >>Meanwhile, my Mac got through "do-cm3-std.sh realclean" and >>"do-cm3-std.sh buildship" but my compiles are still dying on the >>same assertion tickled by ktok. On that machine I have INSTALLROOT >>set to ~/cm3, but hopefully that has nothing to do with it... >> >>----- >> >>Does do-cm3-std.sh realclean clean EVERYTHING? If so my Mac should >>really have a fresh setup. The FreeBSD, I am not sure, maybe the >>old binary version just doesn't work right? Of course I could try >>bootstrapping with PM3 as well... but really, there's an "approved" >>process to get from a blank system, no? >> >> Mika >> >> >> >> >>Tony Hosking writes: >>>That sounds like you forgot to execute "do-cm3-std.sh realclean" >>>before initiating the build. These sorts of errors sometimes arise >>>if there are old build directories lying around. >>> >>> >>>On Jun 23, 2007, at 3:34 AM, Mika Nystrom wrote: >>> >>>>Hello everyone, >>>> >>>>I am in the process of trying to consolidate build systems for a >>>>few software packages I am maintaining. Currently, I am using an >>>>old PM3 on FreeBSD4, an ancient PM3 (from Klagenfurt?) for Windows >>>>(NT386GNU), and trying to get the latest CM3 from cvs up and compiling >>>>things on PPC_DARWIN. Ideally, I'd like to standardize everything >>>>on the new PM3---mainly so that I can use pickles (and Network >>>>Objects) across all three systems. I'd also like to add Linux to >>>>the mix. >>>> >>>>It's natural for me to start with CM3 on Darwin, as there's no >>>>alternative. But I am getting some assertions failing. Everything >>>>in the CM3 distribution compiles fine, and I believe I have compiled >>>>the libraries a few times (that is, including with themselves), and >>>>updated the compiler, too (using boot-cm3-with-m3.sh). I just cvs >>>>updated tonight. >>>> >>>>Here's what I'm running into: >>>> >>>>/Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/CHP.t -o CHPTok.i3 >>>> >>>> >>>>*** >>>>*** runtime error: >>>>*** <*ASSERT*> failed. >>>>*** file "../src/runtime/common/RTCollector.m3", line 2314 >>>>*** >>>> >>>>Abort >>>> >>>>Also: >>>> >>>>/Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/PRS.t -o PRSTok.i3 >>>>Illegal instruction >>>> >>>>As you can see, these things are coming from the caltech_parser. I >>>am using >>>>our local version, but I don't think it is very different from what >>>>is in the >>>>CM3 tree. >>>> >>>> >>>>Examining the first error (the failed assertion) more closely, I see >>>>the following: >>>> >>>>(gdb) list >>>>108 wr := FileWr.Open(Pathname.ReplaceExt(tp.out, "m3")); >>>>109 EXCEPT OSError.E => >>>>110 Debug.Error("Cannot open tok implementation output >>>>file: " & >>>>111 Pathname.ReplaceExt(tp.out, "m3")); >>>>112 END; >>>>113 Wr.PutText(wr, subs.apply(Bundle.Get(Form, "tokform.m3"))); >>>>114 Wr.Close(wr); >>>>115 END Main. >>>>(gdb) where >>>>#0 0x9004308c in kill () >>>>#1 0x9009fb3c in abort () >>>>#2 0x00096f50 in RTOS__Crash () at RTOS.m3:20 >>>>#3 0x0005bd40 in RTProcess__Crash (M3_Bd56fi_msg=0x0) at >>>>RTProcess.m3:65 >>>>#4 0x0008e4e0 in RTError__EndError (M3_AicXUJ_crash=1 '\001') at >>>>RTError.m3:115 >>>>#5 0x0008e08c in RTError__MsgS (M3_AJWxb1_file=0xc63d8, >>>>M3_AcxOUs_line=2314, M3_Bd56fi_msgA=0xca3d0, >>>>M3_Bd56fi_msgB=0xcbe90, M3_Bd56fi_msgC=0xca3d0) at RTError.m3:40 >>>>#6 0x0008eb88 in RTException__Crash (M3_Cblw37_a=0xbfffee00, >>>>M3_AicXUJ_raises=0 '\0', M3_AJWxb1_rte=0xcb538) at RTException.m3:79 >>>>#7 0x0008e74c in RTException__DefaultBackstop >>>>(M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:39 >>>>#8 0x0008e614 in RTException__InvokeBackstop >>>>(M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:25 >>>>#9 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at >>>>RTExFrame.m3:29 >>>>#10 0x0008e840 in RTException__DefaultBackstop >>>>(M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:47 >>>>#11 0x0008e614 in RTException__InvokeBackstop >>>>(M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:25 >>>>#12 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at >>>>RTExFrame.m3:29 >>>>#13 0x00079740 in RTHooks__ReportFault (M3_AJWxb1_module=0xb3eb8, >>>>M3_AcxOUs_info=74048) at RTHooks.m3:110 >>>>#14 0x0006ff4c in _m3_fault (M3_AcxOUs_arg=74048) >>>>#15 0x0006bcf4 in RTHooks__CheckStoreTraced >>>>(M3_Af40ku_ref=0xb2415c) at RTCollector.m3:2314 >>>>#16 0x000700e4 in ThreadPThread__InnerLockMutex >>>>(M3_AYIbX3_m=0xb2415c, M3_BXP32l_self=0xb24014) at >>>>ThreadPThread.m3:126 >>>>#17 0x000704d8 in ThreadPThread__LockMutex (M3_AYIbX3_m=0xb2415c) >>>>at ThreadPThread.m3:153 >>>>#18 0x00019b24 in Wr__PutText (M3_BxxOH1_wr=0xb2415c, >>>>M3_Bd56fi_t=0xb44d5c) at Wr.m3:93 >>>>#19 0x00003f74 in Main_M3 (M3_AcxOUs_mode=1) at Main.m3:113 >>>>#20 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at >>>>RTLinker.m3:399 >>>>#21 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at >>>>RTLinker.m3:113 >>>>#22 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at >>>>RTLinker.m3:122 >>>>#23 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) >>>>at _m3main.mc:4 >>>>(gdb) >>>> >>>>The second error: >>>> >>>>Program received signal EXC_BAD_INSTRUCTION, Illegal instruction/ >>>>operand. >>>>0x00b111ac in ?? () >>>>(gdb) where >>>>#0 0x00b111ac in ?? () >>>>#1 0x0001214c in TextSubs__Apply (M3_CN69dV_self=0xb26450, >>>>M3_Bd56fi_src=0xb21cec) at TextSubs.m3:63 >>>>#2 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at >>>>RTLinker.m3:399 >>>>#3 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at >>>>RTLinker.m3:113 >>>>#4 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at >>>>RTLinker.m3:122 >>>>#5 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) >>>>at _m3main.mc:4 >>>>(gdb) list >>>>58 BEGIN >>>>59 WHILE pos < textLen DO >>>>60 c := Text.GetChar(src, pos); >>>>61 IF c IN self.starts THEN >>>>62 (* S("analysing: " & Text.Sub(src, pos), >>>>DebugLevel); *) >>>>63 iter := self.tbl.iterateOrdered(); >>>>64 ind := pos; >>>>65 original := ""; >>>>66 REPEAT >>>>67 INC(ind); >>>>(gdb) >>>> >>>>Any ideas what to look at? >>>> >>>>I don't know if this is relevant: >>>> >>>>[lapdog:~/t/cit_parse/PPC_DARWIN] mika% uname -a >>>>Darwin lapdog.local 7.9.0 Darwin Kernel Version 7.9.0: Wed Mar 30 >>>>20:11:17 PST 2005; root:xnu/xnu-517.12.7.obj~1/RELEASE_PPC Power >>>>Macintosh powerpc >>>>[lapdog:~/t/cit_parse/PPC_DARWIN] mika% gcc -v >>>>Reading specs from /usr/libexec/gcc/darwin/ppc/3.3/specs >>>>Thread model: posix >>>>gcc version 3.3 20030304 (Apple Computer, Inc. build 1666) >>>> >>>> Mika >>>> >>>>P.S. Am I correct in assuming that I can get CM3 to build on Windows? >>>>I could switch to CM3 on Unix any time, of course, but I've never >>>>had luck with it on Windows, which is why I am using the ancient >>>>Klagenfurt PM3, which comes on 40-odd "floppies" and a .EXE that >>>>unpacks them into C: (and installation instructions only in German). >>>>If CM3 doesn't work on Windows, I am essentially wasting my time, >>>>as the current project I am working on absolutely requires that the >>>>software run on Windows 2003 Server (yes, it sucks, but what can >>>>you do?) The very old PM3 at least kind of hobbles along on this >>>>platform---actually, better than that; it does Trestle natively >>>>under Windows (no X required), at least on SOME Windows machines. >>>> >>>>P.P.S. Sorry for all the postscripts, but is it true that the >>>>build system has been changed so that building with overrides (cm3 -x) >>>>requires having the compiler sources available? It didn't use to >>>>be that way, but I can't get Network Objects to work with overrides >>>>now unless I have the sources available... It's a bit of a pain >>>>because it means that every user has to have the compiler sources, >>>>or else ship everything, or was that not the intention? > _________________________________________________________________ Don?t miss your chance to WIN $10,000 and other great prizes from Microsoft Office Live http://clk.atdmt.com/MRT/go/aub0540003042mrt/direct/01/ From hosking at cs.purdue.edu Mon Jun 25 16:23:25 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Mon, 25 Jun 2007 10:23:25 -0400 Subject: [M3devel] strange errors... In-Reply-To: <200706250803.l5P83ssv018074@camembert.async.caltech.edu> References: <200706250803.l5P83ssv018074@camembert.async.caltech.edu> Message-ID: This looks like a debug symbol problem that others have reported. Please try the following: replace the -g option to the backend in your cm3.cfg with -gstabs or -gstabs+ and let me know what happens. On Jun 25, 2007, at 4:03 AM, Mika Nystrom wrote: > Guten Tag Olaf! > > --- building in FreeBSD4 --- > > cd FreeBSD4 > ignoring ../src/m3overrides > > rm .M3SHIP > rm .M3OVERRIDES > inhale libm3core.m3x > > new source -> compiling RTHooks.i3 > m3front ../src/runtime/common/RTHooks.i3 -w1 > /usr/local/cm3/bin/cm3cg -quiet RTHooks.ic -o RTHooks.is -g > RTHooks.i3: In function 'RTHooks_I3': > RTHooks.i3:146: internal compiler error: Segmentation fault > Please submit a full bug report, > with preprocessed source if appropriate. > See for instructions. > rm RTHooks.is > > > I figured that building cm3cg with debugging symbols involves > running "cm3 -DM3CC_CFLAGS=-g" (not completely obvious), and > obtained the following: > > (gdb) run -quiet RTHooks.ic -o RTHooks.is -g > Starting program: /usr/local/cm3/bin/cm3cg -quiet RTHooks.ic -o > RTHooks.is -g > > Program received signal SIGSEGV, Segmentation fault0x080f614b in > gen_field_die (decl=0x6873f228, context_die=0x68714208) at ../../ > gcc/gcc/dwarf2out.c:12079 > 12079 if (TREE_CODE (DECL_FIELD_CONTEXT (decl)) != UNION_TYPE) > (gdb) where > #0 0x080f614b in gen_field_die (decl=0x6873f228, > context_die=0x68714208) at ../../gcc/gcc/dwarf2out.c:12079 > #1 0x080f7ad6 in gen_decl_die (decl=0x6873f228, > context_die=0x68714208) at ../../gcc/gcc/dwarf2out.c:13121 > #2 0x080f671d in gen_member_die (type=0x6873f33c, > context_die=0x68714208) at ../../gcc/gcc/dwarf2out.c:12280 > #3 0x080f69e4 in gen_struct_or_union_type_die (type=0x6873f33c, > context_die=0x68714138) at ../../gcc/gcc/dwarf2out.c:12357 > #4 0x080f6f0f in gen_type_die (type=0x6873f33c, > context_die=0x68714138) at ../../gcc/gcc/dwarf2out.c:12562 > #5 0x080f79a0 in gen_decl_die (decl=0x6871c548, > context_die=0x68714138) at ../../gcc/gcc/dwarf2out.c:13072 > #6 0x080f808b in dwarf2out_decl (decl=0x6871c548) at ../../gcc/gcc/ > dwarf2out.c:13371 > #7 0x080f7ceb in dwarf2out_type_decl (decl=0x6871c548, local=0) > at ../../gcc/gcc/dwarf2out.c:13183 > #8 0x0804c48b in debug_struct () at ../../gcc/gcc/m3cg/parse.c:1762 > #9 0x0804de17 in m3cg_declare_formal () at ../../gcc/gcc/m3cg/ > parse.c:2463 > #10 0x08053941 in m3_parse_file (xx=0) at ../../gcc/gcc/m3cg/ > parse.c:4773 > #11 0x082eec3b in compile_file () at ../../gcc/gcc/toplev.c:991 > #12 0x082f018a in do_compile () at ../../gcc/gcc/toplev.c:1949 > #13 0x082f01f2 in toplev_main (argc=6, argv=0xbfbfe3bc) at ../../ > gcc/gcc/toplev.c:1981 > #14 0x0805a2ae in main (argc=6, argv=0xbfbfe3bc) at ../../gcc/gcc/ > main.c:35 > (gdb) print decl > $1 = 0x6873f228 > (gdb) whatis decl > type = tree > (gdb) print *decl > $2 = {common = {chain = 0x6873f284, type = 0x68716284, ann = 0x0, > code = FIELD_DECL, ... [large data structure follows] > (gdb) whatis context_die > type = dw_die_ref > (gdb) print *context_die > $5 = {die_tag = DW_TAG_structure_type, die_symbol = 0x0, die_attr = > 0x68708fc0, die_parent = 0x68714138, die_child = 0x6871423c, > die_sib = 0x0, die_definition = 0x0, die_offset = 0, > die_abbrev = 0, die_mark = 0, decl_id = 0} > > > Here I must confess I have never debugged parts of gcc before... > > If it helps, I put RTHooks.ic at http://www.async.caltech.edu/~mika/ > RTHooks.ic > Maybe someone can use this to tell whether it is m3front or cm3cg > that is (more) broken. > > Are the .ic files architecture-independent? > > Mika > > > > "Olaf Wagner" writes: >> On Mon, June 25, 2007 5:47 am, Mika Nystrom wrote: >>> Yes, cm3 is just reporting it, I think. I assume it's cm3cg that's >>> segfaulting: >>> >>> (compiling m3core) >>> >> --- building in FreeBSD4 --- >>> >>> ignoring ../src/m3overrides >>> >>> new source -> compiling RTHooks.i3 >>> RTHooks.i3: In function 'RTHooks_I3': >>> RTHooks.i3:146: internal compiler error: Segmentation fault >>> Please submit a full bug report, >>> with preprocessed source if appropriate. >>> See for instructions. >>> new source -> compiling RT0.i3 >>> RT0.i3: In function 'RT0_I3': >>> RT0.i3:230: internal compiler error: Segmentation fault >>> Please submit a full bug report, >>> with preprocessed source if appropriate. >> >> This looks really broken :-( >> Please use the cm3 options -commands to see the actual backend >> executions >> and -keep to save the input data which provokes gcc to give up. >> You can then use gdb on cm3cg to get a backtrace and try to figure >> out >> what's going wrong. A backtrace of cm3cg will probably be most >> helpful. >> >> Olaf >> >> PS: As for automation of the installation and upgrade process, this >> used to work fine some time ago. The problem seems to be that >> nobody >> really does extensive testing of fresh installations unless Elego >> pays some student for release engineering :-/ I think we should >> just try to keep the existing installation scripts up-to-date; >> perhaps add a bit more information. For example, if the m3gc-xxx >> packages are not needed anymore, we should simply remove them from >> all current scripts. It would also be helpful if we had a >> tinderbox >> system that does regular builds at least on some reference >> platforms. >> PPS: Antony, did you change anything recently regarding code >> generation >> that could cause such failures as above? >> -- >> Olaf Wagner -- elego Software Solutions GmbH, Ohmstr. 9, 10179 >> 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 wagner at elegosoft.com Mon Jun 25 16:46:46 2007 From: wagner at elegosoft.com (Olaf Wagner) Date: Mon, 25 Jun 2007 16:46:46 +0200 (CEST) Subject: [M3devel] strange errors... In-Reply-To: References: <200706250803.l5P83ssv018074@camembert.async.caltech.edu> Message-ID: <64394.194.138.127.36.1182782806.squirrel@mail.elegosoft.com> On Mon, June 25, 2007 4:23 pm, Tony Hosking wrote: > This looks like a debug symbol problem that others have reported. > Please try the following: replace the -g option to the backend in > your cm3.cfg with -gstabs or -gstabs+ and let me know what happens. > > On Jun 25, 2007, at 4:03 AM, Mika Nystrom wrote: > >> Guten Tag Olaf! >> >> --- building in FreeBSD4 --- >> >> cd FreeBSD4 >> ignoring ../src/m3overrides >> >> rm .M3SHIP >> rm .M3OVERRIDES >> inhale libm3core.m3x >> >> new source -> compiling RTHooks.i3 >> m3front ../src/runtime/common/RTHooks.i3 -w1 >> /usr/local/cm3/bin/cm3cg -quiet RTHooks.ic -o RTHooks.is -g Great! I knew there was something familiar, but I couldn't remember what it was. The new backend is actually called with -g instead of -gstabs in Myka's installation. I thought we had changed all the -g occurences in the configuration templates... It seems we've overlooked some... Olaf -- Olaf Wagner -- elego Software Solutions GmbH, Ohmstr. 9, 10179 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 rodney.bates at wichita.edu Mon Jun 25 20:54:31 2007 From: rodney.bates at wichita.edu (Rodney M. Bates) Date: Mon, 25 Jun 2007 13:54:31 -0500 Subject: [M3devel] strange errors... In-Reply-To: <64394.194.138.127.36.1182782806.squirrel@mail.elegosoft.com> References: <200706250803.l5P83ssv018074@camembert.async.caltech.edu> <64394.194.138.127.36.1182782806.squirrel@mail.elegosoft.com> Message-ID: <46800F67.9080007@wichita.edu> To get the most from m3gdb, make it -gstabs+. Olaf Wagner wrote: > On Mon, June 25, 2007 4:23 pm, Tony Hosking wrote: > >>This looks like a debug symbol problem that others have reported. >>Please try the following: replace the -g option to the backend in >>your cm3.cfg with -gstabs or -gstabs+ and let me know what happens. >> >>On Jun 25, 2007, at 4:03 AM, Mika Nystrom wrote: >> >> >>>Guten Tag Olaf! >>> >>>--- building in FreeBSD4 --- >>> >>>cd FreeBSD4 >>>ignoring ../src/m3overrides >>> >>>rm .M3SHIP >>>rm .M3OVERRIDES >>>inhale libm3core.m3x >>> >>>new source -> compiling RTHooks.i3 >>>m3front ../src/runtime/common/RTHooks.i3 -w1 >>>/usr/local/cm3/bin/cm3cg -quiet RTHooks.ic -o RTHooks.is -g > > > Great! I knew there was something familiar, but I couldn't remember > what it was. The new backend is actually called with -g instead > of -gstabs in Myka's installation. I thought we had changed all the > -g occurences in the configuration templates... It seems we've overlooked > some... > > Olaf -- ------------------------------------------------------------- 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 mika at async.caltech.edu Mon Jun 25 21:05:58 2007 From: mika at async.caltech.edu (Mika Nystrom) Date: Mon, 25 Jun 2007 12:05:58 -0700 Subject: [M3devel] strange errors... In-Reply-To: Your message of "Sun, 24 Jun 2007 10:38:34 EDT." Message-ID: <200706251905.l5PJ5wgF029978@camembert.async.caltech.edu> Indeed, -g was one of the culprits. I changed it to -gstabs+ and got a bit further... (please scroll down to STEP 2, sorry) Tony Hosking writes: >Sounds like we really need some work done in this area. I very >rarely use the build scripts, since I bootstrap manually from old >compilers to new compilers rather than use the scripts. I suggest >the following approach, which I hope you will try, and then report >back on. > >Install the bootstrap compiler as you did originally: > >> rm -rf /usr/local/cm3/* >> >> cd ~/cm3-cvs >> mkdir boot >> cd boot >> tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz >> ./cminstall > >Now you will have some kind of cm3 installed, presumably in /usr/ >local/cm3/bin/cm3. > >Make sure you have a fresh CVS checkout in directory cm3 (let's >assume this is in your home directory ~/cm3). Also, make sure you >have an up-to-date version of the CM3 backend compiler cm3cg >installed by executing the following: > >STEP 0: > >export CM3=/usr/local/cm3/bin/cm3 >cd ~/cm3/m3-sys/m3cc >$CM3 >$CM3 -ship > >You can skip this last step if you know your backend compiler is up >to date. > >Now, let's build the new compiler from scratch (this is the sequence >I use regularly to test changes to the run-time system whenever I >make them): > >STEP 1: > >cd ~/cm3/m3-libs/m3core >$CM3 >$CM3 -ship >cd ~/cm3/m3-libs/libm3 >$CM3 >$CM3 -ship >cd ~/cm3/m3-sys/m3middle >$CM3 >$CM3 -ship >cd ~/cm3/m3-sys/m3linker >$CM3 >$CM3 -ship >cd ~/cm3/m3-sys/m3front >$CM3 >$CM3 -ship >cd ~/cm3/m3-sys/m3quake >$CM3 >$CM3 -ship >cd ~/cm3/m3-sys/cm3 >$CM3 >$CM3 -ship > >At this point you should have a bootstrapped version of cm3 installed >in the directory /usr/local/cm3/pkg/cm3/TARGET/cm3 (where TARGET is >the CM3 target platform you are building on -- e.g., LINUXLIBC6, >PPC_DARWIN, ...). Note that this did not overwrite your original >installed compiler in /usr/local/cm3/bin/cm3. We >are now going to test the new compiler, which was built using the old >compiler, by bootstrapping it one more time. > > From here on out, please replace TARGET with your target platform as >appropriate. > >STEP 2: > >export CM3=/usr/local/cm3/pkg/cm3/TARGET/cm3 >cd ~/cm3/scripts >./do-cm3-std.sh realclean >REPEAT STEP 1 to rebuild the libraries and the compiler using the >STEP 1 bootstrap compiler. > >Now you have a STEP 2 bootstrap compiler installed in /usr/local/cm3/ >pkg/cm3/TARGET/cm3. Let's assume the new compiler now works properly >since it successfully bootstrapped itself, but to be sure we can now >use it to rebuild the world: Ok, I got this far. I built the step 1 (m3core...cm3), set my compiler to the newly-built compiler, and rebuilt (m3core...cm3). No errors anywhere, beautiful. > >cd ~/cm3/scripts >./do-cm3-std.sh realclean >./do-cm3-std.sh buildship Here's where it dies: ./do-cm3-std.sh buildship CM3C = /big/home2/mika/2/cm3-cvs/fresh/cm3/scripts/pkgmap.sh -c "/usr/local/cm3/pkg/cm3/FreeBSD4/cm3 -build -DROOT='/big/home2/mika/2/cm3-cvs/fresh/cm3' && /usr/local/cm3/pkg/cm3/FreeBSD4/cm3 -ship -DROOT='/big/home2/mika/2/cm3-cvs/fresh/cm3' " m3core libm3 patternmatching m3middle m3quake m3scanner m3tools m3cgcat m3cggen m3gdb m3bundle arithmetic bitvector digraph parseparams realgeometry set slisp sortedtableextras table-list tempfiles tcp udp libsio libbuf debug listfuncs embutils m3tk-misc http binIO commandrw m3tk mtex m3totex m3tohtml m3scan m3markup m3browser cmpdir cmpfp dirfp uniq netobj netobjd stubgen events rdwr sharedobj sharedobjgen odbc postgres95 db smalldb stable stablegen X11R4 ui PEX vbtkit cmvbt jvideo videovbt web formsvbtpixmaps formsvbt formsview formsedit codeview mg mgkit opengl anim3D zeus m3zume synloc synex metasyn obliqrt obliqparse obliqprint obliq obliqlibemb obliqlibm3 obliqlibui obliqlibanim obliqsrvstd obliqsrvui obliqbinmin obliqbinstd obliqbin! ui obliqbinanim visualobliq vocgi voquery vorun webvbt recordheap rehearsecode replayheap showheap shownew showthread pkl-fonts juno-machine juno-compiler juno-app cube calculator fisheye mentor === package /big/home2/mika/2/cm3-cvs/fresh/cm3/m3-libs/m3core === +++ /usr/local/cm3/pkg/cm3/FreeBSD4/cm3 -build -DROOT='/big/home2/mika/2/cm3-cvs/fresh/cm3' && /usr/local/cm3/pkg/cm3/FreeBSD4/cm3 -ship -DROOT='/big/home2/mika/2/cm3-cvs/fresh/cm3' +++ *** *** runtime error: *** <*ASSERT*> failed. *** file "../src/runtime/common/RTCollector.m3", line 690 *** *** *** runtime error: *** <*ASSERT*> failed. *** file "../src/runtime/common/RTCollector.m3", line 690 *** Abort trap *** execution of failed *** This time it appears to be cm3 itself that's crashing: (310)rover:~/cm3-cvs/fresh/cm3/m3-libs/m3core>$CM3 -keep -commands *** *** runtime error: *** <*ASSERT*> failed. *** file "../src/runtime/common/RTCollector.m3", line 690 *** *** *** runtime error: *** <*ASSERT*> failed. *** file "../src/runtime/common/RTCollector.m3", line 690 *** Abort What follows is what m3gdb has to say about this. I take it that the last error message comes from my -gstabs+ option. m3gdb doesn't like this new binary: it can't print variables and sometimes crashes trying. Would I have better luck with "-gstabs", do you think? Or do I just need to fix the compile process and install a new m3gdb? (I take it there is a newer one: mine is very old. But I remember that m3gdb doesn't always work that well...) Mika #1 16_81a619d in __raise () #2 16_81a3b8f in abort () #3 16_8178d16 in RTOS.Crash () at RTOS.m3:20 #4 16_8171fd2 in RTProcess.Crash (msg=NIL) at RTProcess.m3:65 #5 16_8170428 in RTError.EndError (crash=TRUE) at RTError.m3:115 #6 16_8170169 in RTError.MsgS (file=16_820a508, line=690, msgA=16_820bfe8, msgB=16_8208170, msgC=16_820bfe8) at RTError.m3:40 #7 16_81707ec in RTException.Crash (a=RECORD exception = 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; END, raises=FALSE, rte=16_8208020) at RTException.m3:79 #8 16_8170550 in RTException.DefaultBackstop (a=RECORD exception = 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; END, raises=FALSE) at RTException.m3:39 #9 16_81704b4 in RTException.InvokeBackstop (a=RECORD exception = 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; END, raises=FALSE) at RTException.m3:25 #10 16_8179ca7 in RTException.Raise (act=RECORD exception = 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; END) at RTExFrame.m3:29 #11 16_81705f0 in RTException.DefaultBackstop (a=RECORD exception = 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; END, raises=FALSE) at RTException.m3:47 #12 16_81704b4 in RTException.InvokeBackstop (a=RECORD exception = 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; END, raises=FALSE) at RTException.m3:25 #13 16_8179ca7 in RTException.Raise (act=RECORD exception = 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; END) at RTExFrame.m3:29 #14 16_8160bba in RTHooks.ReportFault (module=16_820a680, info=22080) at RTHooks.m3:110 #15 16_816e251 in _m3_fault (arg=22080) at RTCollector.m3:0 #16 16_81649b7 in RTCollector.CollectorOn () at RTCollector.m3:690 #17 16_816b595 in RTHooks.CheckLoadTracedRef (ref=16_681b3300) at RTCollector.m3:2296 #18 16_814400c in Stdio.ShutDown () at Stdio.m3:43 #19 16_8171f51 in RTProcess.InvokeExitors () at RTProcess.m3:40 #20 16_8171fc5 in RTProcess.Crash (msg=NIL) at RTProcess.m3:61 #21 16_8170428 in RTError.EndError (crash=TRUE) at RTError.m3:115 #22 16_8170169 in RTError.MsgS (file=16_820a508, line=690, msgA=16_820bfe8, msgB=16_8208170, msgC=16_820bfe8) at RTError.m3:40 #23 16_81707ec in RTException.Crash (a=RECORD exception = 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; END, raises=FALSE, rte=16_8208020) at RTException.m3:79 #24 16_8170550 in RTException.DefaultBackstop (a=RECORD exception = 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; END, raises=FALSE) at RTException.m3:39 #25 16_81704b4 in RTException.InvokeBackstop (a=RECORD exception = 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; END, raises=FALSE) at RTException.m3:25 #26 16_8179ca7 in RTException.Raise (act=RECORD exception = 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; END) at RTExFrame.m3:29 #27 16_81705f0 in RTException.DefaultBackstop (a=RECORD exception = 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; END, raises=FALSE) at RTException.m3:47 #28 16_81704b4 in RTException.InvokeBackstop (a=RECORD exception = 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; END, raises=FALSE) at RTException.m3:25 #29 16_8179ca7 in RTException.Raise (act=RECORD exception = 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; END) at RTExFrame.m3:29 #30 16_8160bba in RTHooks.ReportFault (module=16_820a680, info=22080) at RTHooks.m3:110 #31 16_816e251 in _m3_fault (arg=22080) at RTCollector.m3:0 #32 16_81649b7 in RTCollector.CollectorOn () at RTCollector.m3:690 #33 16_816b595 in RTHooks.CheckLoadTracedRef (ref=16_681b3004) at RTCollector.m3:2296 #34 16_817c41e in ThreadF.ProcessStacks (p=16_816415e) at ThreadPosix.m3:522 #35 16_8165213 in RTCollector.CollectSomeInStateZero () at RTCollector.m3:845 #36 16_8164d2c in RTCollector.CollectSome () at RTCollector.m3:741 #37 16_816487b in RTCollector.CollectEnough () at RTCollector.m3:659 #38 16_81673cd in RTHeapRep.AllocTraced (def=16_81f8f38, dataSize=8200, dataAlignment=4, initProc=16_bfbfe0f4, pool=RECORD desc = RECORD space = Current; generation = Younger; pure = FALSE; note = Allocated; gray = FALSE; clean = FALSE; continued = FALSE; link = 0; END; notAfter = {Copied}; page = 0; stack = 0; next = NIL; limit = NIL; busy = FALSE; END) at RTCollector.m3:1417 #39 16_816218e in RTAllocator.GetOpenArray (def=16_81f8f38, s=[2048]) at RTAllocator.m3:308 #40 16_8161737 in RTHooks.AllocateOpenArray (defn=16_81f8f38, s=[2048]) at RTAllocator.m3:156 #41 16_8129d56 in M3ID_M3 (mode=1) at M3ID.m3:40 #42 16_816f802 in RTLinker.RunMainBody (m=16_81f8cc0) at RTLinker.m3:399 #43 16_816f6ca in RTLinker.RunMainBody (m=16_81c0880) at RTLinker.m3:379 #44 16_816f6ca in RTLinker.RunMainBody (m=16_81c06a0) at RTLinker.m3:379 #45 16_816f6ca in RTLinker.RunMainBody (m=16_81bc920) at RTLinker.m3:379 #46 16_816ed2d in RTLinker.AddUnitI (m=16_81bc920) at RTLinker.m3:113 #47 16_816edb4 in RTLinker.AddUnit (b=16_8065527) at RTLinker.m3:122 module "_m3main": missing debug info for global data (gdb) up 32 #32 16_81649b7 in RTCollector.CollectorOn () at RTCollector.m3:690 RTCollector.m3:690: No such file or directory. (gdb) Suspended (360)rover:~/cm3-cvs/fresh/cm3/m3-libs/m3core>find ../.. -name RTCollector.m3 ../../m3-libs/m3core/src/runtime/common/RTCollector.m3 (361)rover:~/cm3-cvs/fresh/cm3/m3-libs/m3core>fg m3gdb /usr/local/cm3/pkg/cm3/FreeBSD4/cm3 (gdb) dir ../../m3-libs/m3core/src/runtime/common/ Source directories searched: /big/home2/mika/2/cm3-cvs/fresh/cm3/m3-libs/m3core/../../m3-libs/m3core/src/runtime/common:$cdir:$cwd (gdb) list 685 VAR timeOnEntry, timeOnExit: Time.T; (* time of collector entry/exit *) 686 687 PROCEDURE CollectorOn () = 688 (* LL >= RTOS.LockHeap *) 689 BEGIN 690 <* ASSERT NOT collectorOn *> 691 collectorOn := TRUE; 692 693 IF incremental AND NOT RTLinker.incremental 694 OR generational AND NOT RTLinker.generational THEN (gdb) print collectorOn can't find identifier: collectorOn (gdb) up #33 16_816b595 in RTHooks.CheckLoadTracedRef (ref=16_681b3004) at RTCollector.m3:2296 2296 CollectorOn(); (gdb) print collectorOn can't find identifier: collectorOn (gdb) print ref Segmentation fault > >Assuming this succeeded then we can be pretty sure /usr/local/cm3/pkg/ >cm3/TARGET/cm3 is good, so we can make it our default compiler by >replacing the original /usr/local/cm3/bin/cm3: > >cp $CM3 /usr/local/cm3/bin/cm3 > >On Jun 23, 2007, at 2:38 PM, Mika Nystrom wrote: > >> Ok, I'm sorry if I seem a bit dimwitted in the morning like this, >> but how exactly does one get started? I wish there were a file called >> "GETTING_STARTED" or something like that in scripts... >> >> My Mac is very slow so I switched to my FreeBSD/i386 system (which has >> PM3 happily installed on it) and tried to install CM3 from scratch. >> Here are the exact commands I typed. >> >> >> rm -rf /usr/local/cm3/* >> >> cd ~/cm3-cvs >> mkdir boot >> cd boot >> tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz >> ./cminstall >> >> # now I seem to have some kind of cm3 installed, /usr/local/cm3/bin/ >> cm3 >> >> cd cm3 # location of my CM3 checkout >> cvs update -d . >> >> cd scripts >> ./boot-cm3-with-m3.sh realclean >> ./do-cm3-std.sh realclean >> >> ./upgrade.sh # fails here, libm3 not compiled >> ./boot-cm3-with-m3.sh build # builds cm3, but fails on >> cminstall, patternmatching not built >> >> ./do-cm3-std.sh build # OK >> ./do-cm3-std.sh buildship # OK >> >> ./boot-cm3-with-m3.sh realclean # start over >> ./boot-cm3-with-m3.sh build # OK >> ./boot-cm3-with-m3.sh buildship # OK >> >> ./do-cm3-std.sh realclean # OK >> ./do-cm3-std.sh build # dies miserably... maybe the >> compiler can't handle the new libraries? >> >> ./install-cm3-compiler.sh upgrade # OK, new cm3 binary installed >> >> After all that, "game over." I have a cm3 that segfaults. >> >> Text.i3: In function 'Text_I3': >> Text.i3:81: internal compiler error: Segmentation fault >> Please submit a full bug report, >> with preprocessed source if appropriate. >> See for instructions. >> compilation failed => not building library "libm3core.a" >> Fatal Error: package build failed >> *** execution of failed *** >> >> I can't seem to get either m3gdb or gdb to say anything reasonable >> either. ktrace shows nothing out of the ordinary. >> >> ----- >> >> Meanwhile, my Mac got through "do-cm3-std.sh realclean" and >> "do-cm3-std.sh buildship" but my compiles are still dying on the >> same assertion tickled by ktok. On that machine I have INSTALLROOT >> set to ~/cm3, but hopefully that has nothing to do with it... >> >> ----- >> >> Does do-cm3-std.sh realclean clean EVERYTHING? If so my Mac should >> really have a fresh setup. The FreeBSD, I am not sure, maybe the >> old binary version just doesn't work right? Of course I could try >> bootstrapping with PM3 as well... but really, there's an "approved" >> process to get from a blank system, no? >> >> Mika >> >> >> >> >> Tony Hosking writes: >>> That sounds like you forgot to execute "do-cm3-std.sh realclean" >>> before initiating the build. These sorts of errors sometimes arise >>> if there are old build directories lying around. >>> >>> >>> On Jun 23, 2007, at 3:34 AM, Mika Nystrom wrote: >>> >>>> Hello everyone, >>>> >>>> I am in the process of trying to consolidate build systems for a >>>> few software packages I am maintaining. Currently, I am using an >>>> old PM3 on FreeBSD4, an ancient PM3 (from Klagenfurt?) for Windows >>>> (NT386GNU), and trying to get the latest CM3 from cvs up and >>>> compiling >>>> things on PPC_DARWIN. Ideally, I'd like to standardize everything >>>> on the new PM3---mainly so that I can use pickles (and Network >>>> Objects) across all three systems. I'd also like to add Linux to >>>> the mix. >>>> >>>> It's natural for me to start with CM3 on Darwin, as there's no >>>> alternative. But I am getting some assertions failing. Everything >>>> in the CM3 distribution compiles fine, and I believe I have compiled >>>> the libraries a few times (that is, including with themselves), and >>>> updated the compiler, too (using boot-cm3-with-m3.sh). I just cvs >>>> updated tonight. >>>> >>>> Here's what I'm running into: >>>> >>>> /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/CHP.t -o >>>> CHPTok.i3 >>>> >>>> >>>> *** >>>> *** runtime error: >>>> *** <*ASSERT*> failed. >>>> *** file "../src/runtime/common/RTCollector.m3", line 2314 >>>> *** >>>> >>>> Abort >>>> >>>> Also: >>>> >>>> /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/PRS.t -o >>>> PRSTok.i3 >>>> Illegal instruction >>>> >>>> As you can see, these things are coming from the caltech_parser. I >>> am using >>>> our local version, but I don't think it is very different from what >>>> is in the >>>> CM3 tree. >>>> >>>> >>>> Examining the first error (the failed assertion) more closely, I see >>>> the following: >>>> >>>> (gdb) list >>>> 108 wr := FileWr.Open(Pathname.ReplaceExt(tp.out, "m3")); >>>> 109 EXCEPT OSError.E => >>>> 110 Debug.Error("Cannot open tok implementation output >>>> file: " & >>>> 111 Pathname.ReplaceExt(tp.out, "m3")); >>>> 112 END; >>>> 113 Wr.PutText(wr, subs.apply(Bundle.Get(Form, >>>> "tokform.m3"))); >>>> 114 Wr.Close(wr); >>>> 115 END Main. >>>> (gdb) where >>>> #0 0x9004308c in kill () >>>> #1 0x9009fb3c in abort () >>>> #2 0x00096f50 in RTOS__Crash () at RTOS.m3:20 >>>> #3 0x0005bd40 in RTProcess__Crash (M3_Bd56fi_msg=0x0) at >>>> RTProcess.m3:65 >>>> #4 0x0008e4e0 in RTError__EndError (M3_AicXUJ_crash=1 '\001') at >>>> RTError.m3:115 >>>> #5 0x0008e08c in RTError__MsgS (M3_AJWxb1_file=0xc63d8, >>>> M3_AcxOUs_line=2314, M3_Bd56fi_msgA=0xca3d0, >>>> M3_Bd56fi_msgB=0xcbe90, M3_Bd56fi_msgC=0xca3d0) at RTError.m3:40 >>>> #6 0x0008eb88 in RTException__Crash (M3_Cblw37_a=0xbfffee00, >>>> M3_AicXUJ_raises=0 '\0', M3_AJWxb1_rte=0xcb538) at RTException.m3:79 >>>> #7 0x0008e74c in RTException__DefaultBackstop >>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>> RTException.m3:39 >>>> #8 0x0008e614 in RTException__InvokeBackstop >>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>> RTException.m3:25 >>>> #9 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at >>>> RTExFrame.m3:29 >>>> #10 0x0008e840 in RTException__DefaultBackstop >>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>> RTException.m3:47 >>>> #11 0x0008e614 in RTException__InvokeBackstop >>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>> RTException.m3:25 >>>> #12 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at >>>> RTExFrame.m3:29 >>>> #13 0x00079740 in RTHooks__ReportFault (M3_AJWxb1_module=0xb3eb8, >>>> M3_AcxOUs_info=74048) at RTHooks.m3:110 >>>> #14 0x0006ff4c in _m3_fault (M3_AcxOUs_arg=74048) >>>> #15 0x0006bcf4 in RTHooks__CheckStoreTraced >>>> (M3_Af40ku_ref=0xb2415c) at RTCollector.m3:2314 >>>> #16 0x000700e4 in ThreadPThread__InnerLockMutex >>>> (M3_AYIbX3_m=0xb2415c, M3_BXP32l_self=0xb24014) at >>>> ThreadPThread.m3:126 >>>> #17 0x000704d8 in ThreadPThread__LockMutex (M3_AYIbX3_m=0xb2415c) >>>> at ThreadPThread.m3:153 >>>> #18 0x00019b24 in Wr__PutText (M3_BxxOH1_wr=0xb2415c, >>>> M3_Bd56fi_t=0xb44d5c) at Wr.m3:93 >>>> #19 0x00003f74 in Main_M3 (M3_AcxOUs_mode=1) at Main.m3:113 >>>> #20 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at >>>> RTLinker.m3:399 >>>> #21 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at >>>> RTLinker.m3:113 >>>> #22 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at >>>> RTLinker.m3:122 >>>> #23 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) >>>> at _m3main.mc:4 >>>> (gdb) >>>> >>>> The second error: >>>> >>>> Program received signal EXC_BAD_INSTRUCTION, Illegal instruction/ >>>> operand. >>>> 0x00b111ac in ?? () >>>> (gdb) where >>>> #0 0x00b111ac in ?? () >>>> #1 0x0001214c in TextSubs__Apply (M3_CN69dV_self=0xb26450, >>>> M3_Bd56fi_src=0xb21cec) at TextSubs.m3:63 >>>> #2 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at >>>> RTLinker.m3:399 >>>> #3 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at >>>> RTLinker.m3:113 >>>> #4 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at >>>> RTLinker.m3:122 >>>> #5 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) >>>> at _m3main.mc:4 >>>> (gdb) list >>>> 58 BEGIN >>>> 59 WHILE pos < textLen DO >>>> 60 c := Text.GetChar(src, pos); >>>> 61 IF c IN self.starts THEN >>>> 62 (* S("analysing: " & Text.Sub(src, pos), >>>> DebugLevel); *) >>>> 63 iter := self.tbl.iterateOrdered(); >>>> 64 ind := pos; >>>> 65 original := ""; >>>> 66 REPEAT >>>> 67 INC(ind); >>>> (gdb) >>>> >>>> Any ideas what to look at? >>>> >>>> I don't know if this is relevant: >>>> >>>> [lapdog:~/t/cit_parse/PPC_DARWIN] mika% uname -a >>>> Darwin lapdog.local 7.9.0 Darwin Kernel Version 7.9.0: Wed Mar 30 >>>> 20:11:17 PST 2005; root:xnu/xnu-517.12.7.obj~1/RELEASE_PPC Power >>>> Macintosh powerpc >>>> [lapdog:~/t/cit_parse/PPC_DARWIN] mika% gcc -v >>>> Reading specs from /usr/libexec/gcc/darwin/ppc/3.3/specs >>>> Thread model: posix >>>> gcc version 3.3 20030304 (Apple Computer, Inc. build 1666) >>>> >>>> Mika >>>> >>>> P.S. Am I correct in assuming that I can get CM3 to build on >>>> Windows? >>>> I could switch to CM3 on Unix any time, of course, but I've never >>>> had luck with it on Windows, which is why I am using the ancient >>>> Klagenfurt PM3, which comes on 40-odd "floppies" and a .EXE that >>>> unpacks them into C: (and installation instructions only in German). >>>> If CM3 doesn't work on Windows, I am essentially wasting my time, >>>> as the current project I am working on absolutely requires that the >>>> software run on Windows 2003 Server (yes, it sucks, but what can >>>> you do?) The very old PM3 at least kind of hobbles along on this >>>> platform---actually, better than that; it does Trestle natively >>>> under Windows (no X required), at least on SOME Windows machines. >>>> >>>> P.P.S. Sorry for all the postscripts, but is it true that the >>>> build system has been changed so that building with overrides >>>> (cm3 -x) >>>> requires having the compiler sources available? It didn't use to >>>> be that way, but I can't get Network Objects to work with overrides >>>> now unless I have the sources available... It's a bit of a pain >>>> because it means that every user has to have the compiler sources, >>>> or else ship everything, or was that not the intention? From hosking at cs.purdue.edu Mon Jun 25 23:59:56 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Mon, 25 Jun 2007 17:59:56 -0400 Subject: [M3devel] strange errors... In-Reply-To: <200706251905.l5PJ5wgF029978@camembert.async.caltech.edu> References: <200706251905.l5PJ5wgF029978@camembert.async.caltech.edu> Message-ID: Hi Mika, This is a bug I was unaware of that presents when the new incremental/ generational GC runs with the old user-level threads code. I need to spend some time looking into this, but for now I suggest you invoke cm3-new with the @M3noincremental runtime option and see if you get any further. You can simply do: export CM3="/usr/local/cm3/pkg/cm3/FreeBSD4/cm3 @M3noincremental" cd ~/cm3/scripts ./do-cm3-std.sh realclean ./do-cm3-std.sh buildship On Jun 25, 2007, at 3:05 PM, Mika Nystrom wrote: > Indeed, -g was one of the culprits. I changed it to -gstabs+ and > got a bit further... (please scroll down to STEP 2, sorry) > > Tony Hosking writes: >> Sounds like we really need some work done in this area. I very >> rarely use the build scripts, since I bootstrap manually from old >> compilers to new compilers rather than use the scripts. I suggest >> the following approach, which I hope you will try, and then report >> back on. >> >> Install the bootstrap compiler as you did originally: >> >>> rm -rf /usr/local/cm3/* >>> >>> cd ~/cm3-cvs >>> mkdir boot >>> cd boot >>> tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz >>> ./cminstall >> >> Now you will have some kind of cm3 installed, presumably in /usr/ >> local/cm3/bin/cm3. >> >> Make sure you have a fresh CVS checkout in directory cm3 (let's >> assume this is in your home directory ~/cm3). Also, make sure you >> have an up-to-date version of the CM3 backend compiler cm3cg >> installed by executing the following: >> >> STEP 0: >> >> export CM3=/usr/local/cm3/bin/cm3 >> cd ~/cm3/m3-sys/m3cc >> $CM3 >> $CM3 -ship >> >> You can skip this last step if you know your backend compiler is up >> to date. >> >> Now, let's build the new compiler from scratch (this is the sequence >> I use regularly to test changes to the run-time system whenever I >> make them): >> >> STEP 1: >> >> cd ~/cm3/m3-libs/m3core >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-libs/libm3 >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-sys/m3middle >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-sys/m3linker >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-sys/m3front >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-sys/m3quake >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-sys/cm3 >> $CM3 >> $CM3 -ship >> >> At this point you should have a bootstrapped version of cm3 installed >> in the directory /usr/local/cm3/pkg/cm3/TARGET/cm3 (where TARGET is >> the CM3 target platform you are building on -- e.g., LINUXLIBC6, >> PPC_DARWIN, ...). Note that this did not overwrite your original >> installed compiler in /usr/local/cm3/bin/cm3. We >> are now going to test the new compiler, which was built using the old >> compiler, by bootstrapping it one more time. >> >> From here on out, please replace TARGET with your target platform as >> appropriate. >> >> STEP 2: >> >> export CM3=/usr/local/cm3/pkg/cm3/TARGET/cm3 >> cd ~/cm3/scripts >> ./do-cm3-std.sh realclean >> REPEAT STEP 1 to rebuild the libraries and the compiler using the >> STEP 1 bootstrap compiler. >> >> Now you have a STEP 2 bootstrap compiler installed in /usr/local/cm3/ >> pkg/cm3/TARGET/cm3. Let's assume the new compiler now works properly >> since it successfully bootstrapped itself, but to be sure we can now >> use it to rebuild the world: > > Ok, I got this far. I built the step 1 (m3core...cm3), set my > compiler to the newly-built compiler, and rebuilt (m3core...cm3). > No errors anywhere, beautiful. > >> >> cd ~/cm3/scripts >> ./do-cm3-std.sh realclean >> ./do-cm3-std.sh buildship > > Here's where it dies: > > ./do-cm3-std.sh buildship > CM3C = > /big/home2/mika/2/cm3-cvs/fresh/cm3/scripts/pkgmap.sh -c "/usr/ > local/cm3/pkg/cm3/FreeBSD4/cm3 -build -DROOT='/big/home2/mika/2/ > cm3-cvs/fresh/cm3' && /usr/local/cm3/pkg/cm3/FreeBSD4/cm3 -ship - > DROOT='/big/home2/mika/2/cm3-cvs/fresh/cm3' " m3core libm3 > patternmatching m3middle m3quake m3scanner m3tools m3cgcat m3cggen > m3gdb m3bundle arithmetic bitvector digraph parseparams > realgeometry set slisp sortedtableextras table-list tempfiles tcp > udp libsio libbuf debug listfuncs embutils m3tk-misc http binIO > commandrw m3tk mtex m3totex m3tohtml m3scan m3markup m3browser > cmpdir cmpfp dirfp uniq netobj netobjd stubgen events rdwr > sharedobj sharedobjgen odbc postgres95 db smalldb stable stablegen > X11R4 ui PEX vbtkit cmvbt jvideo videovbt web formsvbtpixmaps > formsvbt formsview formsedit codeview mg mgkit opengl anim3D zeus > m3zume synloc synex metasyn obliqrt obliqparse obliqprint obliq > obliqlibemb obliqlibm3 obliqlibui obliqlibanim obliqsrvstd > obliqsrvui obliqbinmin obliqbinstd obliqbin! > ui obliqbinanim visualobliq vocgi voquery vorun webvbt recordheap > rehearsecode replayheap showheap shownew showthread pkl-fonts juno- > machine juno-compiler juno-app cube calculator fisheye mentor > === package /big/home2/mika/2/cm3-cvs/fresh/cm3/m3-libs/m3core === > +++ /usr/local/cm3/pkg/cm3/FreeBSD4/cm3 -build -DROOT='/big/home2/ > mika/2/cm3-cvs/fresh/cm3' && /usr/local/cm3/pkg/cm3/FreeBSD4/cm3 - > ship -DROOT='/big/home2/mika/2/cm3-cvs/fresh/cm3' +++ > > > *** > *** runtime error: > *** <*ASSERT*> failed. > *** file "../src/runtime/common/RTCollector.m3", line 690 > *** > > > > *** > *** runtime error: > *** <*ASSERT*> failed. > *** file "../src/runtime/common/RTCollector.m3", line 690 > *** > > Abort trap > *** execution of failed *** > > This time it appears to be cm3 itself that's crashing: > > (310)rover:~/cm3-cvs/fresh/cm3/m3-libs/m3core>$CM3 -keep -commands > > > *** > *** runtime error: > *** <*ASSERT*> failed. > *** file "../src/runtime/common/RTCollector.m3", line 690 > *** > > > > *** > *** runtime error: > *** <*ASSERT*> failed. > *** file "../src/runtime/common/RTCollector.m3", line 690 > *** > > Abort > > What follows is what m3gdb has to say about this. I take it that > the last error message comes from my -gstabs+ option. m3gdb doesn't > like this new binary: it can't print variables and sometimes crashes > trying. Would I have better luck with "-gstabs", do you think? Or > do I just need to fix the compile process and install a new m3gdb? > (I take it there is a newer one: mine is very old. But I remember > that m3gdb doesn't always work that well...) > > Mika > > #1 16_81a619d in __raise () > #2 16_81a3b8f in abort () > #3 16_8178d16 in RTOS.Crash () at RTOS.m3:20 > #4 16_8171fd2 in RTProcess.Crash (msg=NIL) at RTProcess.m3:65 > #5 16_8170428 in RTError.EndError (crash=TRUE) at RTError.m3:115 > #6 16_8170169 in RTError.MsgS (file=16_820a508, line=690, > msgA=16_820bfe8, msgB=16_8208170, msgC=16_820bfe8) at RTError.m3:40 > #7 16_81707ec in RTException.Crash (a=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; > END, raises=FALSE, rte=16_8208020) at RTException.m3:79 > #8 16_8170550 in RTException.DefaultBackstop (a=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; > un_arg = NIL; END, raises=FALSE) at RTException.m3:39 > #9 16_81704b4 in RTException.InvokeBackstop (a=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; > un_arg = NIL; END, raises=FALSE) at RTException.m3:25 > #10 16_8179ca7 in RTException.Raise (act=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; > END) at RTExFrame.m3:29 > #11 16_81705f0 in RTException.DefaultBackstop (a=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; > un_arg = NIL; END, raises=FALSE) at RTException.m3:47 > #12 16_81704b4 in RTException.InvokeBackstop (a=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; > un_arg = NIL; END, raises=FALSE) at RTException.m3:25 > #13 16_8179ca7 in RTException.Raise (act=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; > END) at RTExFrame.m3:29 > #14 16_8160bba in RTHooks.ReportFault (module=16_820a680, > info=22080) at RTHooks.m3:110 > #15 16_816e251 in _m3_fault (arg=22080) at RTCollector.m3:0 > #16 16_81649b7 in RTCollector.CollectorOn () at RTCollector.m3:690 > #17 16_816b595 in RTHooks.CheckLoadTracedRef (ref=16_681b3300) at > RTCollector.m3:2296 > #18 16_814400c in Stdio.ShutDown () at Stdio.m3:43 > #19 16_8171f51 in RTProcess.InvokeExitors () at RTProcess.m3:40 > #20 16_8171fc5 in RTProcess.Crash (msg=NIL) at RTProcess.m3:61 > #21 16_8170428 in RTError.EndError (crash=TRUE) at RTError.m3:115 > #22 16_8170169 in RTError.MsgS (file=16_820a508, line=690, > msgA=16_820bfe8, msgB=16_8208170, msgC=16_820bfe8) at RTError.m3:40 > #23 16_81707ec in RTException.Crash (a=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; > END, raises=FALSE, rte=16_8208020) at RTException.m3:79 > #24 16_8170550 in RTException.DefaultBackstop (a=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; > un_arg = NIL; END, raises=FALSE) at RTException.m3:39 > #25 16_81704b4 in RTException.InvokeBackstop (a=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; > un_arg = NIL; END, raises=FALSE) at RTException.m3:25 > #26 16_8179ca7 in RTException.Raise (act=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; > END) at RTExFrame.m3:29 > #27 16_81705f0 in RTException.DefaultBackstop (a=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; > un_arg = NIL; END, raises=FALSE) at RTException.m3:47 > #28 16_81704b4 in RTException.InvokeBackstop (a=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; > un_arg = NIL; END, raises=FALSE) at RTException.m3:25 > #29 16_8179ca7 in RTException.Raise (act=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; > END) at RTExFrame.m3:29 > #30 16_8160bba in RTHooks.ReportFault (module=16_820a680, > info=22080) at RTHooks.m3:110 > #31 16_816e251 in _m3_fault (arg=22080) at RTCollector.m3:0 > #32 16_81649b7 in RTCollector.CollectorOn () at RTCollector.m3:690 > #33 16_816b595 in RTHooks.CheckLoadTracedRef (ref=16_681b3004) at > RTCollector.m3:2296 > #34 16_817c41e in ThreadF.ProcessStacks (p=16_816415e) at > ThreadPosix.m3:522 > #35 16_8165213 in RTCollector.CollectSomeInStateZero () at > RTCollector.m3:845 > #36 16_8164d2c in RTCollector.CollectSome () at RTCollector.m3:741 > #37 16_816487b in RTCollector.CollectEnough () at RTCollector.m3:659 > #38 16_81673cd in RTHeapRep.AllocTraced (def=16_81f8f38, > dataSize=8200, dataAlignment=4, initProc=16_bfbfe0f4, pool=RECORD > desc = RECORD space = Current; generation = Younger; pure = FALSE; > note = Allocated; gray = FALSE; clean = FALSE; continued = > FALSE; link = 0; END; notAfter = {Copied}; page = 0; stack = 0; > next = NIL; limit = NIL; busy = FALSE; END) > at RTCollector.m3:1417 > #39 16_816218e in RTAllocator.GetOpenArray (def=16_81f8f38, s= > [2048]) at RTAllocator.m3:308 > #40 16_8161737 in RTHooks.AllocateOpenArray (defn=16_81f8f38, s= > [2048]) at RTAllocator.m3:156 > #41 16_8129d56 in M3ID_M3 (mode=1) at M3ID.m3:40 > #42 16_816f802 in RTLinker.RunMainBody (m=16_81f8cc0) at > RTLinker.m3:399 > #43 16_816f6ca in RTLinker.RunMainBody (m=16_81c0880) at > RTLinker.m3:379 > #44 16_816f6ca in RTLinker.RunMainBody (m=16_81c06a0) at > RTLinker.m3:379 > #45 16_816f6ca in RTLinker.RunMainBody (m=16_81bc920) at > RTLinker.m3:379 > #46 16_816ed2d in RTLinker.AddUnitI (m=16_81bc920) at RTLinker.m3:113 > #47 16_816edb4 in RTLinker.AddUnit (b=16_8065527) at RTLinker.m3:122 > module "_m3main": missing debug info for global data > > (gdb) up 32 > #32 16_81649b7 in RTCollector.CollectorOn () at RTCollector.m3:690 > RTCollector.m3:690: No such file or directory. > (gdb) > Suspended > (360)rover:~/cm3-cvs/fresh/cm3/m3-libs/m3core>find ../.. -name > RTCollector.m3 > ../../m3-libs/m3core/src/runtime/common/RTCollector.m3 > (361)rover:~/cm3-cvs/fresh/cm3/m3-libs/m3core>fg > m3gdb /usr/local/cm3/pkg/cm3/FreeBSD4/cm3 > (gdb) dir ../../m3-libs/m3core/src/runtime/common/ > Source directories searched: /big/home2/mika/2/cm3-cvs/fresh/cm3/m3- > libs/m3core/../../m3-libs/m3core/src/runtime/common:$cdir:$cwd > (gdb) list > 685 VAR timeOnEntry, timeOnExit: Time.T; (* time of > collector entry/exit *) > 686 > 687 PROCEDURE CollectorOn () = > 688 (* LL >= RTOS.LockHeap *) > 689 BEGIN > 690 <* ASSERT NOT collectorOn *> > 691 collectorOn := TRUE; > 692 > 693 IF incremental AND NOT RTLinker.incremental > 694 OR generational AND NOT RTLinker.generational THEN > (gdb) print collectorOn > can't find identifier: collectorOn > (gdb) up > #33 16_816b595 in RTHooks.CheckLoadTracedRef (ref=16_681b3004) at > RTCollector.m3:2296 > 2296 CollectorOn(); > (gdb) print collectorOn > can't find identifier: collectorOn > (gdb) print ref > Segmentation fault > > > > >> >> Assuming this succeeded then we can be pretty sure /usr/local/cm3/ >> pkg/ >> cm3/TARGET/cm3 is good, so we can make it our default compiler by >> replacing the original /usr/local/cm3/bin/cm3: >> >> cp $CM3 /usr/local/cm3/bin/cm3 >> >> On Jun 23, 2007, at 2:38 PM, Mika Nystrom wrote: >> >>> Ok, I'm sorry if I seem a bit dimwitted in the morning like this, >>> but how exactly does one get started? I wish there were a file >>> called >>> "GETTING_STARTED" or something like that in scripts... >>> >>> My Mac is very slow so I switched to my FreeBSD/i386 system >>> (which has >>> PM3 happily installed on it) and tried to install CM3 from scratch. >>> Here are the exact commands I typed. >>> >>> >>> rm -rf /usr/local/cm3/* >>> >>> cd ~/cm3-cvs >>> mkdir boot >>> cd boot >>> tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz >>> ./cminstall >>> >>> # now I seem to have some kind of cm3 installed, /usr/local/cm3/bin/ >>> cm3 >>> >>> cd cm3 # location of my CM3 checkout >>> cvs update -d . >>> >>> cd scripts >>> ./boot-cm3-with-m3.sh realclean >>> ./do-cm3-std.sh realclean >>> >>> ./upgrade.sh # fails here, libm3 not compiled >>> ./boot-cm3-with-m3.sh build # builds cm3, but fails on >>> cminstall, patternmatching not built >>> >>> ./do-cm3-std.sh build # OK >>> ./do-cm3-std.sh buildship # OK >>> >>> ./boot-cm3-with-m3.sh realclean # start over >>> ./boot-cm3-with-m3.sh build # OK >>> ./boot-cm3-with-m3.sh buildship # OK >>> >>> ./do-cm3-std.sh realclean # OK >>> ./do-cm3-std.sh build # dies miserably... maybe the >>> compiler can't handle the new libraries? >>> >>> ./install-cm3-compiler.sh upgrade # OK, new cm3 binary installed >>> >>> After all that, "game over." I have a cm3 that segfaults. >>> >>> Text.i3: In function 'Text_I3': >>> Text.i3:81: internal compiler error: Segmentation fault >>> Please submit a full bug report, >>> with preprocessed source if appropriate. >>> See for instructions. >>> compilation failed => not building library "libm3core.a" >>> Fatal Error: package build failed >>> *** execution of failed *** >>> >>> I can't seem to get either m3gdb or gdb to say anything reasonable >>> either. ktrace shows nothing out of the ordinary. >>> >>> ----- >>> >>> Meanwhile, my Mac got through "do-cm3-std.sh realclean" and >>> "do-cm3-std.sh buildship" but my compiles are still dying on the >>> same assertion tickled by ktok. On that machine I have INSTALLROOT >>> set to ~/cm3, but hopefully that has nothing to do with it... >>> >>> ----- >>> >>> Does do-cm3-std.sh realclean clean EVERYTHING? If so my Mac should >>> really have a fresh setup. The FreeBSD, I am not sure, maybe the >>> old binary version just doesn't work right? Of course I could try >>> bootstrapping with PM3 as well... but really, there's an "approved" >>> process to get from a blank system, no? >>> >>> Mika >>> >>> >>> >>> >>> Tony Hosking writes: >>>> That sounds like you forgot to execute "do-cm3-std.sh realclean" >>>> before initiating the build. These sorts of errors sometimes arise >>>> if there are old build directories lying around. >>>> >>>> >>>> On Jun 23, 2007, at 3:34 AM, Mika Nystrom wrote: >>>> >>>>> Hello everyone, >>>>> >>>>> I am in the process of trying to consolidate build systems for a >>>>> few software packages I am maintaining. Currently, I am using an >>>>> old PM3 on FreeBSD4, an ancient PM3 (from Klagenfurt?) for Windows >>>>> (NT386GNU), and trying to get the latest CM3 from cvs up and >>>>> compiling >>>>> things on PPC_DARWIN. Ideally, I'd like to standardize everything >>>>> on the new PM3---mainly so that I can use pickles (and Network >>>>> Objects) across all three systems. I'd also like to add Linux to >>>>> the mix. >>>>> >>>>> It's natural for me to start with CM3 on Darwin, as there's no >>>>> alternative. But I am getting some assertions failing. >>>>> Everything >>>>> in the CM3 distribution compiles fine, and I believe I have >>>>> compiled >>>>> the libraries a few times (that is, including with themselves), >>>>> and >>>>> updated the compiler, too (using boot-cm3-with-m3.sh). I just cvs >>>>> updated tonight. >>>>> >>>>> Here's what I'm running into: >>>>> >>>>> /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/CHP.t -o >>>>> CHPTok.i3 >>>>> >>>>> >>>>> *** >>>>> *** runtime error: >>>>> *** <*ASSERT*> failed. >>>>> *** file "../src/runtime/common/RTCollector.m3", line 2314 >>>>> *** >>>>> >>>>> Abort >>>>> >>>>> Also: >>>>> >>>>> /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/PRS.t -o >>>>> PRSTok.i3 >>>>> Illegal instruction >>>>> >>>>> As you can see, these things are coming from the >>>>> caltech_parser. I >>>> am using >>>>> our local version, but I don't think it is very different from >>>>> what >>>>> is in the >>>>> CM3 tree. >>>>> >>>>> >>>>> Examining the first error (the failed assertion) more closely, >>>>> I see >>>>> the following: >>>>> >>>>> (gdb) list >>>>> 108 wr := FileWr.Open(Pathname.ReplaceExt(tp.out, "m3")); >>>>> 109 EXCEPT OSError.E => >>>>> 110 Debug.Error("Cannot open tok implementation output >>>>> file: " & >>>>> 111 Pathname.ReplaceExt(tp.out, "m3")); >>>>> 112 END; >>>>> 113 Wr.PutText(wr, subs.apply(Bundle.Get(Form, >>>>> "tokform.m3"))); >>>>> 114 Wr.Close(wr); >>>>> 115 END Main. >>>>> (gdb) where >>>>> #0 0x9004308c in kill () >>>>> #1 0x9009fb3c in abort () >>>>> #2 0x00096f50 in RTOS__Crash () at RTOS.m3:20 >>>>> #3 0x0005bd40 in RTProcess__Crash (M3_Bd56fi_msg=0x0) at >>>>> RTProcess.m3:65 >>>>> #4 0x0008e4e0 in RTError__EndError (M3_AicXUJ_crash=1 '\001') at >>>>> RTError.m3:115 >>>>> #5 0x0008e08c in RTError__MsgS (M3_AJWxb1_file=0xc63d8, >>>>> M3_AcxOUs_line=2314, M3_Bd56fi_msgA=0xca3d0, >>>>> M3_Bd56fi_msgB=0xcbe90, M3_Bd56fi_msgC=0xca3d0) at RTError.m3:40 >>>>> #6 0x0008eb88 in RTException__Crash (M3_Cblw37_a=0xbfffee00, >>>>> M3_AicXUJ_raises=0 '\0', M3_AJWxb1_rte=0xcb538) at >>>>> RTException.m3:79 >>>>> #7 0x0008e74c in RTException__DefaultBackstop >>>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>>> RTException.m3:39 >>>>> #8 0x0008e614 in RTException__InvokeBackstop >>>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>>> RTException.m3:25 >>>>> #9 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at >>>>> RTExFrame.m3:29 >>>>> #10 0x0008e840 in RTException__DefaultBackstop >>>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>>> RTException.m3:47 >>>>> #11 0x0008e614 in RTException__InvokeBackstop >>>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>>> RTException.m3:25 >>>>> #12 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at >>>>> RTExFrame.m3:29 >>>>> #13 0x00079740 in RTHooks__ReportFault (M3_AJWxb1_module=0xb3eb8, >>>>> M3_AcxOUs_info=74048) at RTHooks.m3:110 >>>>> #14 0x0006ff4c in _m3_fault (M3_AcxOUs_arg=74048) >>>>> #15 0x0006bcf4 in RTHooks__CheckStoreTraced >>>>> (M3_Af40ku_ref=0xb2415c) at RTCollector.m3:2314 >>>>> #16 0x000700e4 in ThreadPThread__InnerLockMutex >>>>> (M3_AYIbX3_m=0xb2415c, M3_BXP32l_self=0xb24014) at >>>>> ThreadPThread.m3:126 >>>>> #17 0x000704d8 in ThreadPThread__LockMutex (M3_AYIbX3_m=0xb2415c) >>>>> at ThreadPThread.m3:153 >>>>> #18 0x00019b24 in Wr__PutText (M3_BxxOH1_wr=0xb2415c, >>>>> M3_Bd56fi_t=0xb44d5c) at Wr.m3:93 >>>>> #19 0x00003f74 in Main_M3 (M3_AcxOUs_mode=1) at Main.m3:113 >>>>> #20 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at >>>>> RTLinker.m3:399 >>>>> #21 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at >>>>> RTLinker.m3:113 >>>>> #22 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at >>>>> RTLinker.m3:122 >>>>> #23 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) >>>>> at _m3main.mc:4 >>>>> (gdb) >>>>> >>>>> The second error: >>>>> >>>>> Program received signal EXC_BAD_INSTRUCTION, Illegal instruction/ >>>>> operand. >>>>> 0x00b111ac in ?? () >>>>> (gdb) where >>>>> #0 0x00b111ac in ?? () >>>>> #1 0x0001214c in TextSubs__Apply (M3_CN69dV_self=0xb26450, >>>>> M3_Bd56fi_src=0xb21cec) at TextSubs.m3:63 >>>>> #2 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at >>>>> RTLinker.m3:399 >>>>> #3 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at >>>>> RTLinker.m3:113 >>>>> #4 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at >>>>> RTLinker.m3:122 >>>>> #5 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) >>>>> at _m3main.mc:4 >>>>> (gdb) list >>>>> 58 BEGIN >>>>> 59 WHILE pos < textLen DO >>>>> 60 c := Text.GetChar(src, pos); >>>>> 61 IF c IN self.starts THEN >>>>> 62 (* S("analysing: " & Text.Sub(src, pos), >>>>> DebugLevel); *) >>>>> 63 iter := self.tbl.iterateOrdered(); >>>>> 64 ind := pos; >>>>> 65 original := ""; >>>>> 66 REPEAT >>>>> 67 INC(ind); >>>>> (gdb) >>>>> >>>>> Any ideas what to look at? >>>>> >>>>> I don't know if this is relevant: >>>>> >>>>> [lapdog:~/t/cit_parse/PPC_DARWIN] mika% uname -a >>>>> Darwin lapdog.local 7.9.0 Darwin Kernel Version 7.9.0: Wed Mar 30 >>>>> 20:11:17 PST 2005; root:xnu/xnu-517.12.7.obj~1/RELEASE_PPC Power >>>>> Macintosh powerpc >>>>> [lapdog:~/t/cit_parse/PPC_DARWIN] mika% gcc -v >>>>> Reading specs from /usr/libexec/gcc/darwin/ppc/3.3/specs >>>>> Thread model: posix >>>>> gcc version 3.3 20030304 (Apple Computer, Inc. build 1666) >>>>> >>>>> Mika >>>>> >>>>> P.S. Am I correct in assuming that I can get CM3 to build on >>>>> Windows? >>>>> I could switch to CM3 on Unix any time, of course, but I've never >>>>> had luck with it on Windows, which is why I am using the ancient >>>>> Klagenfurt PM3, which comes on 40-odd "floppies" and a .EXE that >>>>> unpacks them into C: (and installation instructions only in >>>>> German). >>>>> If CM3 doesn't work on Windows, I am essentially wasting my time, >>>>> as the current project I am working on absolutely requires that >>>>> the >>>>> software run on Windows 2003 Server (yes, it sucks, but what can >>>>> you do?) The very old PM3 at least kind of hobbles along on this >>>>> platform---actually, better than that; it does Trestle natively >>>>> under Windows (no X required), at least on SOME Windows machines. >>>>> >>>>> P.P.S. Sorry for all the postscripts, but is it true that the >>>>> build system has been changed so that building with overrides >>>>> (cm3 -x) >>>>> requires having the compiler sources available? It didn't use to >>>>> be that way, but I can't get Network Objects to work with >>>>> overrides >>>>> now unless I have the sources available... It's a bit of a pain >>>>> because it means that every user has to have the compiler sources, >>>>> or else ship everything, or was that not the intention? From mika at async.caltech.edu Tue Jun 26 01:56:53 2007 From: mika at async.caltech.edu (Mika Nystrom) Date: Mon, 25 Jun 2007 16:56:53 -0700 Subject: [M3devel] strange errors... In-Reply-To: Your message of "Mon, 25 Jun 2007 17:59:56 EDT." Message-ID: <200706252356.l5PNurXI035053@camembert.async.caltech.edu> Tony Hosking writes: >Hi Mika, > >This is a bug I was unaware of that presents when the new incremental/ >generational GC runs with the old user-level threads code. I need to >spend some time looking into this, but for now I suggest you invoke >cm3-new with the @M3noincremental runtime option and see if you get >any further. You can simply do: > >export CM3="/usr/local/cm3/pkg/cm3/FreeBSD4/cm3 @M3noincremental" >cd ~/cm3/scripts >./do-cm3-std.sh realclean >./do-cm3-std.sh buildship Hmm, no, sorry... it still dies in exactly the same way. @M3nogc lets it run all the way until m3bundle though (which doesn't get the flag, so it dies, again, at line 690). Mika From hosking at cs.purdue.edu Tue Jun 26 05:23:18 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Mon, 25 Jun 2007 23:23:18 -0400 Subject: [M3devel] strange errors... In-Reply-To: <200706252356.l5PNurXI035053@camembert.async.caltech.edu> References: <200706252356.l5PNurXI035053@camembert.async.caltech.edu> Message-ID: <8ED38EBB-5583-4402-8D8B-AC7F756F7292@cs.purdue.edu> OK, sounds like I have a bug to catch. On Jun 25, 2007, at 7:56 PM, Mika Nystrom wrote: > Tony Hosking writes: >> Hi Mika, >> >> This is a bug I was unaware of that presents when the new >> incremental/ >> generational GC runs with the old user-level threads code. I need to >> spend some time looking into this, but for now I suggest you invoke >> cm3-new with the @M3noincremental runtime option and see if you get >> any further. You can simply do: >> >> export CM3="/usr/local/cm3/pkg/cm3/FreeBSD4/cm3 @M3noincremental" >> cd ~/cm3/scripts >> ./do-cm3-std.sh realclean >> ./do-cm3-std.sh buildship > > Hmm, no, sorry... it still dies in exactly the same way. @M3nogc lets > it run all the way until m3bundle though (which doesn't get the flag, > so it dies, again, at line 690). > > Mika From mika at async.caltech.edu Tue Jun 26 09:56:23 2007 From: mika at async.caltech.edu (Mika Nystrom) Date: Tue, 26 Jun 2007 00:56:23 -0700 Subject: [M3devel] strange errors... In-Reply-To: Your message of "Sun, 24 Jun 2007 10:38:34 EDT." Message-ID: <200706260756.l5Q7uNuW042533@camembert.async.caltech.edu> I am still working on this, now on my Mac, and it's going better there. I have some observations resulting from trying to follow your instructions to the letter. What I did was I deleted all traces of cm3 from my machine and started by downloading the new 5.4.0 version to bootstrap with. I installed that according to the instructions on the elegosoft site, without any modifications whatsoever. It runs most things fine, but Juno-2 crashes in the garbage collector (not line 690!). I am now recompiling the CVS head and ran into two minor problems so far: 1. do-cm3-std.sh realclean doesn't clean all the directories. At minimum, it skips the following (but there may be others): m3linker, m3front, cm3. 2. Even the distributed version 5.4.0 has an incompatible (relative to the CVS head) cm3.cfg. I looked at a few different versions I have, which I think were inspired by one you (Tony) sent to me about a year ago and decided I would just add a line for PTHREADS. No big deal, but it's somewhat mysterious... and I don't see any guidance in the distribution on the cm3.cfg file. Of course this is the reason my FreeBSD installation uses the old threading library instead of pthreads. Mika Tony Hosking writes: >Sounds like we really need some work done in this area. I very >rarely use the build scripts, since I bootstrap manually from old >compilers to new compilers rather than use the scripts. I suggest >the following approach, which I hope you will try, and then report >back on. > >Install the bootstrap compiler as you did originally: > >> rm -rf /usr/local/cm3/* >> >> cd ~/cm3-cvs >> mkdir boot >> cd boot >> tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz >> ./cminstall > >Now you will have some kind of cm3 installed, presumably in /usr/ >local/cm3/bin/cm3. > >Make sure you have a fresh CVS checkout in directory cm3 (let's >assume this is in your home directory ~/cm3). Also, make sure you >have an up-to-date version of the CM3 backend compiler cm3cg >installed by executing the following: > >STEP 0: > >export CM3=/usr/local/cm3/bin/cm3 >cd ~/cm3/m3-sys/m3cc >$CM3 >$CM3 -ship > >You can skip this last step if you know your backend compiler is up >to date. > >Now, let's build the new compiler from scratch (this is the sequence >I use regularly to test changes to the run-time system whenever I >make them): > >STEP 1: > >cd ~/cm3/m3-libs/m3core >$CM3 >$CM3 -ship >cd ~/cm3/m3-libs/libm3 >$CM3 >$CM3 -ship >cd ~/cm3/m3-sys/m3middle >$CM3 >$CM3 -ship >cd ~/cm3/m3-sys/m3linker >$CM3 >$CM3 -ship >cd ~/cm3/m3-sys/m3front >$CM3 >$CM3 -ship >cd ~/cm3/m3-sys/m3quake >$CM3 >$CM3 -ship >cd ~/cm3/m3-sys/cm3 >$CM3 >$CM3 -ship > >At this point you should have a bootstrapped version of cm3 installed >in the directory /usr/local/cm3/pkg/cm3/TARGET/cm3 (where TARGET is >the CM3 target platform you are building on -- e.g., LINUXLIBC6, >PPC_DARWIN, ...). Note that this did not overwrite your original >installed compiler in /usr/local/cm3/bin/cm3. We >are now going to test the new compiler, which was built using the old >compiler, by bootstrapping it one more time. > > From here on out, please replace TARGET with your target platform as >appropriate. > >STEP 2: > >export CM3=/usr/local/cm3/pkg/cm3/TARGET/cm3 >cd ~/cm3/scripts >./do-cm3-std.sh realclean >REPEAT STEP 1 to rebuild the libraries and the compiler using the >STEP 1 bootstrap compiler. > >Now you have a STEP 2 bootstrap compiler installed in /usr/local/cm3/ >pkg/cm3/TARGET/cm3. Let's assume the new compiler now works properly >since it successfully bootstrapped itself, but to be sure we can now >use it to rebuild the world: > >cd ~/cm3/scripts >./do-cm3-std.sh realclean >./do-cm3-std.sh buildship > >Assuming this succeeded then we can be pretty sure /usr/local/cm3/pkg/ >cm3/TARGET/cm3 is good, so we can make it our default compiler by >replacing the original /usr/local/cm3/bin/cm3: > >cp $CM3 /usr/local/cm3/bin/cm3 > >On Jun 23, 2007, at 2:38 PM, Mika Nystrom wrote: > >> Ok, I'm sorry if I seem a bit dimwitted in the morning like this, >> but how exactly does one get started? I wish there were a file called >> "GETTING_STARTED" or something like that in scripts... >> >> My Mac is very slow so I switched to my FreeBSD/i386 system (which has >> PM3 happily installed on it) and tried to install CM3 from scratch. >> Here are the exact commands I typed. >> >> >> rm -rf /usr/local/cm3/* >> >> cd ~/cm3-cvs >> mkdir boot >> cd boot >> tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz >> ./cminstall >> >> # now I seem to have some kind of cm3 installed, /usr/local/cm3/bin/ >> cm3 >> >> cd cm3 # location of my CM3 checkout >> cvs update -d . >> >> cd scripts >> ./boot-cm3-with-m3.sh realclean >> ./do-cm3-std.sh realclean >> >> ./upgrade.sh # fails here, libm3 not compiled >> ./boot-cm3-with-m3.sh build # builds cm3, but fails on >> cminstall, patternmatching not built >> >> ./do-cm3-std.sh build # OK >> ./do-cm3-std.sh buildship # OK >> >> ./boot-cm3-with-m3.sh realclean # start over >> ./boot-cm3-with-m3.sh build # OK >> ./boot-cm3-with-m3.sh buildship # OK >> >> ./do-cm3-std.sh realclean # OK >> ./do-cm3-std.sh build # dies miserably... maybe the >> compiler can't handle the new libraries? >> >> ./install-cm3-compiler.sh upgrade # OK, new cm3 binary installed >> >> After all that, "game over." I have a cm3 that segfaults. >> >> Text.i3: In function 'Text_I3': >> Text.i3:81: internal compiler error: Segmentation fault >> Please submit a full bug report, >> with preprocessed source if appropriate. >> See for instructions. >> compilation failed => not building library "libm3core.a" >> Fatal Error: package build failed >> *** execution of failed *** >> >> I can't seem to get either m3gdb or gdb to say anything reasonable >> either. ktrace shows nothing out of the ordinary. >> >> ----- >> >> Meanwhile, my Mac got through "do-cm3-std.sh realclean" and >> "do-cm3-std.sh buildship" but my compiles are still dying on the >> same assertion tickled by ktok. On that machine I have INSTALLROOT >> set to ~/cm3, but hopefully that has nothing to do with it... >> >> ----- >> >> Does do-cm3-std.sh realclean clean EVERYTHING? If so my Mac should >> really have a fresh setup. The FreeBSD, I am not sure, maybe the >> old binary version just doesn't work right? Of course I could try >> bootstrapping with PM3 as well... but really, there's an "approved" >> process to get from a blank system, no? >> >> Mika >> >> >> >> >> Tony Hosking writes: >>> That sounds like you forgot to execute "do-cm3-std.sh realclean" >>> before initiating the build. These sorts of errors sometimes arise >>> if there are old build directories lying around. >>> >>> >>> On Jun 23, 2007, at 3:34 AM, Mika Nystrom wrote: >>> >>>> Hello everyone, >>>> >>>> I am in the process of trying to consolidate build systems for a >>>> few software packages I am maintaining. Currently, I am using an >>>> old PM3 on FreeBSD4, an ancient PM3 (from Klagenfurt?) for Windows >>>> (NT386GNU), and trying to get the latest CM3 from cvs up and >>>> compiling >>>> things on PPC_DARWIN. Ideally, I'd like to standardize everything >>>> on the new PM3---mainly so that I can use pickles (and Network >>>> Objects) across all three systems. I'd also like to add Linux to >>>> the mix. >>>> >>>> It's natural for me to start with CM3 on Darwin, as there's no >>>> alternative. But I am getting some assertions failing. Everything >>>> in the CM3 distribution compiles fine, and I believe I have compiled >>>> the libraries a few times (that is, including with themselves), and >>>> updated the compiler, too (using boot-cm3-with-m3.sh). I just cvs >>>> updated tonight. >>>> >>>> Here's what I'm running into: >>>> >>>> /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/CHP.t -o >>>> CHPTok.i3 >>>> >>>> >>>> *** >>>> *** runtime error: >>>> *** <*ASSERT*> failed. >>>> *** file "../src/runtime/common/RTCollector.m3", line 2314 >>>> *** >>>> >>>> Abort >>>> >>>> Also: >>>> >>>> /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/PRS.t -o >>>> PRSTok.i3 >>>> Illegal instruction >>>> >>>> As you can see, these things are coming from the caltech_parser. I >>> am using >>>> our local version, but I don't think it is very different from what >>>> is in the >>>> CM3 tree. >>>> >>>> >>>> Examining the first error (the failed assertion) more closely, I see >>>> the following: >>>> >>>> (gdb) list >>>> 108 wr := FileWr.Open(Pathname.ReplaceExt(tp.out, "m3")); >>>> 109 EXCEPT OSError.E => >>>> 110 Debug.Error("Cannot open tok implementation output >>>> file: " & >>>> 111 Pathname.ReplaceExt(tp.out, "m3")); >>>> 112 END; >>>> 113 Wr.PutText(wr, subs.apply(Bundle.Get(Form, >>>> "tokform.m3"))); >>>> 114 Wr.Close(wr); >>>> 115 END Main. >>>> (gdb) where >>>> #0 0x9004308c in kill () >>>> #1 0x9009fb3c in abort () >>>> #2 0x00096f50 in RTOS__Crash () at RTOS.m3:20 >>>> #3 0x0005bd40 in RTProcess__Crash (M3_Bd56fi_msg=0x0) at >>>> RTProcess.m3:65 >>>> #4 0x0008e4e0 in RTError__EndError (M3_AicXUJ_crash=1 '\001') at >>>> RTError.m3:115 >>>> #5 0x0008e08c in RTError__MsgS (M3_AJWxb1_file=0xc63d8, >>>> M3_AcxOUs_line=2314, M3_Bd56fi_msgA=0xca3d0, >>>> M3_Bd56fi_msgB=0xcbe90, M3_Bd56fi_msgC=0xca3d0) at RTError.m3:40 >>>> #6 0x0008eb88 in RTException__Crash (M3_Cblw37_a=0xbfffee00, >>>> M3_AicXUJ_raises=0 '\0', M3_AJWxb1_rte=0xcb538) at RTException.m3:79 >>>> #7 0x0008e74c in RTException__DefaultBackstop >>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>> RTException.m3:39 >>>> #8 0x0008e614 in RTException__InvokeBackstop >>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>> RTException.m3:25 >>>> #9 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at >>>> RTExFrame.m3:29 >>>> #10 0x0008e840 in RTException__DefaultBackstop >>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>> RTException.m3:47 >>>> #11 0x0008e614 in RTException__InvokeBackstop >>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>> RTException.m3:25 >>>> #12 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at >>>> RTExFrame.m3:29 >>>> #13 0x00079740 in RTHooks__ReportFault (M3_AJWxb1_module=0xb3eb8, >>>> M3_AcxOUs_info=74048) at RTHooks.m3:110 >>>> #14 0x0006ff4c in _m3_fault (M3_AcxOUs_arg=74048) >>>> #15 0x0006bcf4 in RTHooks__CheckStoreTraced >>>> (M3_Af40ku_ref=0xb2415c) at RTCollector.m3:2314 >>>> #16 0x000700e4 in ThreadPThread__InnerLockMutex >>>> (M3_AYIbX3_m=0xb2415c, M3_BXP32l_self=0xb24014) at >>>> ThreadPThread.m3:126 >>>> #17 0x000704d8 in ThreadPThread__LockMutex (M3_AYIbX3_m=0xb2415c) >>>> at ThreadPThread.m3:153 >>>> #18 0x00019b24 in Wr__PutText (M3_BxxOH1_wr=0xb2415c, >>>> M3_Bd56fi_t=0xb44d5c) at Wr.m3:93 >>>> #19 0x00003f74 in Main_M3 (M3_AcxOUs_mode=1) at Main.m3:113 >>>> #20 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at >>>> RTLinker.m3:399 >>>> #21 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at >>>> RTLinker.m3:113 >>>> #22 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at >>>> RTLinker.m3:122 >>>> #23 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) >>>> at _m3main.mc:4 >>>> (gdb) >>>> >>>> The second error: >>>> >>>> Program received signal EXC_BAD_INSTRUCTION, Illegal instruction/ >>>> operand. >>>> 0x00b111ac in ?? () >>>> (gdb) where >>>> #0 0x00b111ac in ?? () >>>> #1 0x0001214c in TextSubs__Apply (M3_CN69dV_self=0xb26450, >>>> M3_Bd56fi_src=0xb21cec) at TextSubs.m3:63 >>>> #2 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at >>>> RTLinker.m3:399 >>>> #3 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at >>>> RTLinker.m3:113 >>>> #4 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at >>>> RTLinker.m3:122 >>>> #5 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) >>>> at _m3main.mc:4 >>>> (gdb) list >>>> 58 BEGIN >>>> 59 WHILE pos < textLen DO >>>> 60 c := Text.GetChar(src, pos); >>>> 61 IF c IN self.starts THEN >>>> 62 (* S("analysing: " & Text.Sub(src, pos), >>>> DebugLevel); *) >>>> 63 iter := self.tbl.iterateOrdered(); >>>> 64 ind := pos; >>>> 65 original := ""; >>>> 66 REPEAT >>>> 67 INC(ind); >>>> (gdb) >>>> >>>> Any ideas what to look at? >>>> >>>> I don't know if this is relevant: >>>> >>>> [lapdog:~/t/cit_parse/PPC_DARWIN] mika% uname -a >>>> Darwin lapdog.local 7.9.0 Darwin Kernel Version 7.9.0: Wed Mar 30 >>>> 20:11:17 PST 2005; root:xnu/xnu-517.12.7.obj~1/RELEASE_PPC Power >>>> Macintosh powerpc >>>> [lapdog:~/t/cit_parse/PPC_DARWIN] mika% gcc -v >>>> Reading specs from /usr/libexec/gcc/darwin/ppc/3.3/specs >>>> Thread model: posix >>>> gcc version 3.3 20030304 (Apple Computer, Inc. build 1666) >>>> >>>> Mika >>>> >>>> P.S. Am I correct in assuming that I can get CM3 to build on >>>> Windows? >>>> I could switch to CM3 on Unix any time, of course, but I've never >>>> had luck with it on Windows, which is why I am using the ancient >>>> Klagenfurt PM3, which comes on 40-odd "floppies" and a .EXE that >>>> unpacks them into C: (and installation instructions only in German). >>>> If CM3 doesn't work on Windows, I am essentially wasting my time, >>>> as the current project I am working on absolutely requires that the >>>> software run on Windows 2003 Server (yes, it sucks, but what can >>>> you do?) The very old PM3 at least kind of hobbles along on this >>>> platform---actually, better than that; it does Trestle natively >>>> under Windows (no X required), at least on SOME Windows machines. >>>> >>>> P.P.S. Sorry for all the postscripts, but is it true that the >>>> build system has been changed so that building with overrides >>>> (cm3 -x) >>>> requires having the compiler sources available? It didn't use to >>>> be that way, but I can't get Network Objects to work with overrides >>>> now unless I have the sources available... It's a bit of a pain >>>> because it means that every user has to have the compiler sources, >>>> or else ship everything, or was that not the intention? From dragisha at m3w.org Tue Jun 26 10:27:54 2007 From: dragisha at m3w.org (=?UTF-8?Q?Dragi=C5=A1a_Duri=C4=87?=) Date: Tue, 26 Jun 2007 10:27:54 +0200 Subject: [M3devel] dynamic loading - few angles Message-ID: <1182846474.9643.34.camel@faramir.m3w.org> In CM3 documentation "support for dynamic loading" is mentioned... I would like to know if anyone used these abilities? I've had success loading and using sets of modules packaged as .so, after little tweak to RTHeapMap. I will either post that patch here, or import to CVS, if there's interest. But... During that, and right now... I am thinking about whole Modula-3 program being .so - so we can make extensions to Apache, or PostgreSQL, or whatever other program can be extended in such a way. It really (IMnsHO) is no big problem, except _m3main.ms must be generated differently, and maybe some cleanup code added/linked to "master" runtime. Maybe something more? As I never looked in code generation, is there someone who can do this for CM3? dd -- Dragi?a Duri? From hosking at cs.purdue.edu Tue Jun 26 17:53:49 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Tue, 26 Jun 2007 11:53:49 -0400 Subject: [M3devel] strange errors... In-Reply-To: <200706260756.l5Q7uNuW042533@camembert.async.caltech.edu> References: <200706260756.l5Q7uNuW042533@camembert.async.caltech.edu> Message-ID: <4A580928-5698-4644-8E7D-A2203D7EDF28@cs.purdue.edu> For PPC_DARWIN Mac I suggest you start with the build I have in ftp:// ftp.cs.purdue.edu/pub/hosking/m3/PPC_DARWIN. Grab each of cm3cg.gz cm3.gz and cm3.cfg. That has everything needed for building on OS X Tiger. FreeBSD doesn't have PTHREADS support yet, though it should be straightforward. I just don't have access to a Free BSD system on which to do the PTHREADS port -- it's just a matter of getting the pthread header information into M3 interface files. See the LINUXLIBC6 stuff for guidance. On Jun 26, 2007, at 3:56 AM, Mika Nystrom wrote: > > I am still working on this, now on my Mac, and it's going better > there. > > I have some observations resulting from trying to follow your > instructions to the letter. What I did was I deleted all traces > of cm3 from my machine and started by downloading the new 5.4.0 > version to bootstrap with. I installed that according to the > instructions on the elegosoft site, without any modifications > whatsoever. It runs most things fine, but Juno-2 crashes in the > garbage collector (not line 690!). I am now recompiling the > CVS head and ran into two minor problems so far: > > 1. do-cm3-std.sh realclean doesn't clean all the directories. > At minimum, it skips the following (but there may be others): > m3linker, m3front, cm3. Yeah, those are only built by boot-cm3-core.sh, so not surprised that do-cm3-std.sh doesn't clean them. I should have been explicit and had you "rm -rf TARGET" for each package to make sure you start clean. > 2. Even the distributed version 5.4.0 has an incompatible (relative > to the CVS head) cm3.cfg. I looked at a few different versions I > have, which I think were inspired by one you (Tony) sent to me about > a year ago and decided I would just add a line for PTHREADS. No big > deal, but it's somewhat mysterious... and I don't see any guidance > in the distribution on the cm3.cfg file. Of course this is the > reason my FreeBSD installation uses the old threading library instead > of pthreads. Please see my cm3.cfg on my ftp site. > > Mika > > Tony Hosking writes: >> Sounds like we really need some work done in this area. I very >> rarely use the build scripts, since I bootstrap manually from old >> compilers to new compilers rather than use the scripts. I suggest >> the following approach, which I hope you will try, and then report >> back on. >> >> Install the bootstrap compiler as you did originally: >> >>> rm -rf /usr/local/cm3/* >>> >>> cd ~/cm3-cvs >>> mkdir boot >>> cd boot >>> tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz >>> ./cminstall >> >> Now you will have some kind of cm3 installed, presumably in /usr/ >> local/cm3/bin/cm3. >> >> Make sure you have a fresh CVS checkout in directory cm3 (let's >> assume this is in your home directory ~/cm3). Also, make sure you >> have an up-to-date version of the CM3 backend compiler cm3cg >> installed by executing the following: >> >> STEP 0: >> >> export CM3=/usr/local/cm3/bin/cm3 >> cd ~/cm3/m3-sys/m3cc >> $CM3 >> $CM3 -ship >> >> You can skip this last step if you know your backend compiler is up >> to date. >> >> Now, let's build the new compiler from scratch (this is the sequence >> I use regularly to test changes to the run-time system whenever I >> make them): >> >> STEP 1: >> >> cd ~/cm3/m3-libs/m3core >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-libs/libm3 >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-sys/m3middle >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-sys/m3linker >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-sys/m3front >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-sys/m3quake >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-sys/cm3 >> $CM3 >> $CM3 -ship >> >> At this point you should have a bootstrapped version of cm3 installed >> in the directory /usr/local/cm3/pkg/cm3/TARGET/cm3 (where TARGET is >> the CM3 target platform you are building on -- e.g., LINUXLIBC6, >> PPC_DARWIN, ...). Note that this did not overwrite your original >> installed compiler in /usr/local/cm3/bin/cm3. We >> are now going to test the new compiler, which was built using the old >> compiler, by bootstrapping it one more time. >> >> From here on out, please replace TARGET with your target platform as >> appropriate. >> >> STEP 2: >> >> export CM3=/usr/local/cm3/pkg/cm3/TARGET/cm3 >> cd ~/cm3/scripts >> ./do-cm3-std.sh realclean >> REPEAT STEP 1 to rebuild the libraries and the compiler using the >> STEP 1 bootstrap compiler. >> >> Now you have a STEP 2 bootstrap compiler installed in /usr/local/cm3/ >> pkg/cm3/TARGET/cm3. Let's assume the new compiler now works properly >> since it successfully bootstrapped itself, but to be sure we can now >> use it to rebuild the world: >> >> cd ~/cm3/scripts >> ./do-cm3-std.sh realclean >> ./do-cm3-std.sh buildship >> >> Assuming this succeeded then we can be pretty sure /usr/local/cm3/ >> pkg/ >> cm3/TARGET/cm3 is good, so we can make it our default compiler by >> replacing the original /usr/local/cm3/bin/cm3: >> >> cp $CM3 /usr/local/cm3/bin/cm3 >> >> On Jun 23, 2007, at 2:38 PM, Mika Nystrom wrote: >> >>> Ok, I'm sorry if I seem a bit dimwitted in the morning like this, >>> but how exactly does one get started? I wish there were a file >>> called >>> "GETTING_STARTED" or something like that in scripts... >>> >>> My Mac is very slow so I switched to my FreeBSD/i386 system >>> (which has >>> PM3 happily installed on it) and tried to install CM3 from scratch. >>> Here are the exact commands I typed. >>> >>> >>> rm -rf /usr/local/cm3/* >>> >>> cd ~/cm3-cvs >>> mkdir boot >>> cd boot >>> tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz >>> ./cminstall >>> >>> # now I seem to have some kind of cm3 installed, /usr/local/cm3/bin/ >>> cm3 >>> >>> cd cm3 # location of my CM3 checkout >>> cvs update -d . >>> >>> cd scripts >>> ./boot-cm3-with-m3.sh realclean >>> ./do-cm3-std.sh realclean >>> >>> ./upgrade.sh # fails here, libm3 not compiled >>> ./boot-cm3-with-m3.sh build # builds cm3, but fails on >>> cminstall, patternmatching not built >>> >>> ./do-cm3-std.sh build # OK >>> ./do-cm3-std.sh buildship # OK >>> >>> ./boot-cm3-with-m3.sh realclean # start over >>> ./boot-cm3-with-m3.sh build # OK >>> ./boot-cm3-with-m3.sh buildship # OK >>> >>> ./do-cm3-std.sh realclean # OK >>> ./do-cm3-std.sh build # dies miserably... maybe the >>> compiler can't handle the new libraries? >>> >>> ./install-cm3-compiler.sh upgrade # OK, new cm3 binary installed >>> >>> After all that, "game over." I have a cm3 that segfaults. >>> >>> Text.i3: In function 'Text_I3': >>> Text.i3:81: internal compiler error: Segmentation fault >>> Please submit a full bug report, >>> with preprocessed source if appropriate. >>> See for instructions. >>> compilation failed => not building library "libm3core.a" >>> Fatal Error: package build failed >>> *** execution of failed *** >>> >>> I can't seem to get either m3gdb or gdb to say anything reasonable >>> either. ktrace shows nothing out of the ordinary. >>> >>> ----- >>> >>> Meanwhile, my Mac got through "do-cm3-std.sh realclean" and >>> "do-cm3-std.sh buildship" but my compiles are still dying on the >>> same assertion tickled by ktok. On that machine I have INSTALLROOT >>> set to ~/cm3, but hopefully that has nothing to do with it... >>> >>> ----- >>> >>> Does do-cm3-std.sh realclean clean EVERYTHING? If so my Mac should >>> really have a fresh setup. The FreeBSD, I am not sure, maybe the >>> old binary version just doesn't work right? Of course I could try >>> bootstrapping with PM3 as well... but really, there's an "approved" >>> process to get from a blank system, no? >>> >>> Mika >>> >>> >>> >>> >>> Tony Hosking writes: >>>> That sounds like you forgot to execute "do-cm3-std.sh realclean" >>>> before initiating the build. These sorts of errors sometimes arise >>>> if there are old build directories lying around. >>>> >>>> >>>> On Jun 23, 2007, at 3:34 AM, Mika Nystrom wrote: >>>> >>>>> Hello everyone, >>>>> >>>>> I am in the process of trying to consolidate build systems for a >>>>> few software packages I am maintaining. Currently, I am using an >>>>> old PM3 on FreeBSD4, an ancient PM3 (from Klagenfurt?) for Windows >>>>> (NT386GNU), and trying to get the latest CM3 from cvs up and >>>>> compiling >>>>> things on PPC_DARWIN. Ideally, I'd like to standardize everything >>>>> on the new PM3---mainly so that I can use pickles (and Network >>>>> Objects) across all three systems. I'd also like to add Linux to >>>>> the mix. >>>>> >>>>> It's natural for me to start with CM3 on Darwin, as there's no >>>>> alternative. But I am getting some assertions failing. >>>>> Everything >>>>> in the CM3 distribution compiles fine, and I believe I have >>>>> compiled >>>>> the libraries a few times (that is, including with themselves), >>>>> and >>>>> updated the compiler, too (using boot-cm3-with-m3.sh). I just cvs >>>>> updated tonight. >>>>> >>>>> Here's what I'm running into: >>>>> >>>>> /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/CHP.t -o >>>>> CHPTok.i3 >>>>> >>>>> >>>>> *** >>>>> *** runtime error: >>>>> *** <*ASSERT*> failed. >>>>> *** file "../src/runtime/common/RTCollector.m3", line 2314 >>>>> *** >>>>> >>>>> Abort >>>>> >>>>> Also: >>>>> >>>>> /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/PRS.t -o >>>>> PRSTok.i3 >>>>> Illegal instruction >>>>> >>>>> As you can see, these things are coming from the >>>>> caltech_parser. I >>>> am using >>>>> our local version, but I don't think it is very different from >>>>> what >>>>> is in the >>>>> CM3 tree. >>>>> >>>>> >>>>> Examining the first error (the failed assertion) more closely, >>>>> I see >>>>> the following: >>>>> >>>>> (gdb) list >>>>> 108 wr := FileWr.Open(Pathname.ReplaceExt(tp.out, "m3")); >>>>> 109 EXCEPT OSError.E => >>>>> 110 Debug.Error("Cannot open tok implementation output >>>>> file: " & >>>>> 111 Pathname.ReplaceExt(tp.out, "m3")); >>>>> 112 END; >>>>> 113 Wr.PutText(wr, subs.apply(Bundle.Get(Form, >>>>> "tokform.m3"))); >>>>> 114 Wr.Close(wr); >>>>> 115 END Main. >>>>> (gdb) where >>>>> #0 0x9004308c in kill () >>>>> #1 0x9009fb3c in abort () >>>>> #2 0x00096f50 in RTOS__Crash () at RTOS.m3:20 >>>>> #3 0x0005bd40 in RTProcess__Crash (M3_Bd56fi_msg=0x0) at >>>>> RTProcess.m3:65 >>>>> #4 0x0008e4e0 in RTError__EndError (M3_AicXUJ_crash=1 '\001') at >>>>> RTError.m3:115 >>>>> #5 0x0008e08c in RTError__MsgS (M3_AJWxb1_file=0xc63d8, >>>>> M3_AcxOUs_line=2314, M3_Bd56fi_msgA=0xca3d0, >>>>> M3_Bd56fi_msgB=0xcbe90, M3_Bd56fi_msgC=0xca3d0) at RTError.m3:40 >>>>> #6 0x0008eb88 in RTException__Crash (M3_Cblw37_a=0xbfffee00, >>>>> M3_AicXUJ_raises=0 '\0', M3_AJWxb1_rte=0xcb538) at >>>>> RTException.m3:79 >>>>> #7 0x0008e74c in RTException__DefaultBackstop >>>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>>> RTException.m3:39 >>>>> #8 0x0008e614 in RTException__InvokeBackstop >>>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>>> RTException.m3:25 >>>>> #9 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at >>>>> RTExFrame.m3:29 >>>>> #10 0x0008e840 in RTException__DefaultBackstop >>>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>>> RTException.m3:47 >>>>> #11 0x0008e614 in RTException__InvokeBackstop >>>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>>> RTException.m3:25 >>>>> #12 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at >>>>> RTExFrame.m3:29 >>>>> #13 0x00079740 in RTHooks__ReportFault (M3_AJWxb1_module=0xb3eb8, >>>>> M3_AcxOUs_info=74048) at RTHooks.m3:110 >>>>> #14 0x0006ff4c in _m3_fault (M3_AcxOUs_arg=74048) >>>>> #15 0x0006bcf4 in RTHooks__CheckStoreTraced >>>>> (M3_Af40ku_ref=0xb2415c) at RTCollector.m3:2314 >>>>> #16 0x000700e4 in ThreadPThread__InnerLockMutex >>>>> (M3_AYIbX3_m=0xb2415c, M3_BXP32l_self=0xb24014) at >>>>> ThreadPThread.m3:126 >>>>> #17 0x000704d8 in ThreadPThread__LockMutex (M3_AYIbX3_m=0xb2415c) >>>>> at ThreadPThread.m3:153 >>>>> #18 0x00019b24 in Wr__PutText (M3_BxxOH1_wr=0xb2415c, >>>>> M3_Bd56fi_t=0xb44d5c) at Wr.m3:93 >>>>> #19 0x00003f74 in Main_M3 (M3_AcxOUs_mode=1) at Main.m3:113 >>>>> #20 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at >>>>> RTLinker.m3:399 >>>>> #21 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at >>>>> RTLinker.m3:113 >>>>> #22 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at >>>>> RTLinker.m3:122 >>>>> #23 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) >>>>> at _m3main.mc:4 >>>>> (gdb) >>>>> >>>>> The second error: >>>>> >>>>> Program received signal EXC_BAD_INSTRUCTION, Illegal instruction/ >>>>> operand. >>>>> 0x00b111ac in ?? () >>>>> (gdb) where >>>>> #0 0x00b111ac in ?? () >>>>> #1 0x0001214c in TextSubs__Apply (M3_CN69dV_self=0xb26450, >>>>> M3_Bd56fi_src=0xb21cec) at TextSubs.m3:63 >>>>> #2 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at >>>>> RTLinker.m3:399 >>>>> #3 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at >>>>> RTLinker.m3:113 >>>>> #4 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at >>>>> RTLinker.m3:122 >>>>> #5 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) >>>>> at _m3main.mc:4 >>>>> (gdb) list >>>>> 58 BEGIN >>>>> 59 WHILE pos < textLen DO >>>>> 60 c := Text.GetChar(src, pos); >>>>> 61 IF c IN self.starts THEN >>>>> 62 (* S("analysing: " & Text.Sub(src, pos), >>>>> DebugLevel); *) >>>>> 63 iter := self.tbl.iterateOrdered(); >>>>> 64 ind := pos; >>>>> 65 original := ""; >>>>> 66 REPEAT >>>>> 67 INC(ind); >>>>> (gdb) >>>>> >>>>> Any ideas what to look at? >>>>> >>>>> I don't know if this is relevant: >>>>> >>>>> [lapdog:~/t/cit_parse/PPC_DARWIN] mika% uname -a >>>>> Darwin lapdog.local 7.9.0 Darwin Kernel Version 7.9.0: Wed Mar 30 >>>>> 20:11:17 PST 2005; root:xnu/xnu-517.12.7.obj~1/RELEASE_PPC Power >>>>> Macintosh powerpc >>>>> [lapdog:~/t/cit_parse/PPC_DARWIN] mika% gcc -v >>>>> Reading specs from /usr/libexec/gcc/darwin/ppc/3.3/specs >>>>> Thread model: posix >>>>> gcc version 3.3 20030304 (Apple Computer, Inc. build 1666) >>>>> >>>>> Mika >>>>> >>>>> P.S. Am I correct in assuming that I can get CM3 to build on >>>>> Windows? >>>>> I could switch to CM3 on Unix any time, of course, but I've never >>>>> had luck with it on Windows, which is why I am using the ancient >>>>> Klagenfurt PM3, which comes on 40-odd "floppies" and a .EXE that >>>>> unpacks them into C: (and installation instructions only in >>>>> German). >>>>> If CM3 doesn't work on Windows, I am essentially wasting my time, >>>>> as the current project I am working on absolutely requires that >>>>> the >>>>> software run on Windows 2003 Server (yes, it sucks, but what can >>>>> you do?) The very old PM3 at least kind of hobbles along on this >>>>> platform---actually, better than that; it does Trestle natively >>>>> under Windows (no X required), at least on SOME Windows machines. >>>>> >>>>> P.P.S. Sorry for all the postscripts, but is it true that the >>>>> build system has been changed so that building with overrides >>>>> (cm3 -x) >>>>> requires having the compiler sources available? It didn't use to >>>>> be that way, but I can't get Network Objects to work with >>>>> overrides >>>>> now unless I have the sources available... It's a bit of a pain >>>>> because it means that every user has to have the compiler sources, >>>>> or else ship everything, or was that not the intention? From hosking at cs.purdue.edu Tue Jun 26 17:55:06 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Tue, 26 Jun 2007 11:55:06 -0400 Subject: [M3devel] dynamic loading - few angles In-Reply-To: <1182846474.9643.34.camel@faramir.m3w.org> References: <1182846474.9643.34.camel@faramir.m3w.org> Message-ID: <263FF7C3-6DBD-40A9-9884-8A5379710E14@cs.purdue.edu> I'm curious about your tweak to RTHeapMap. Can you e-mail the patch? On Jun 26, 2007, at 4:27 AM, Dragi?a Duri? wrote: > In CM3 documentation "support for dynamic loading" is mentioned... I > would like to know if anyone used these abilities? > > I've had success loading and using sets of modules packaged as .so, > after little tweak to RTHeapMap. I will either post that patch > here, or > import to CVS, if there's interest. > > But... During that, and right now... I am thinking about whole > Modula-3 > program being .so - so we can make extensions to Apache, or > PostgreSQL, > or whatever other program can be extended in such a way. > > It really (IMnsHO) is no big problem, except _m3main.ms must be > generated differently, and maybe some cleanup code added/linked to > "master" runtime. Maybe something more? As I never looked in code > generation, is there someone who can do this for CM3? > > dd > > -- > Dragi?a Duri? From hosking at cs.purdue.edu Thu Jun 28 16:53:25 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Thu, 28 Jun 2007 10:53:25 -0400 Subject: [M3devel] strange errors... In-Reply-To: <200706251905.l5PJ5wgF029978@camembert.async.caltech.edu> References: <200706251905.l5PJ5wgF029978@camembert.async.caltech.edu> Message-ID: I've just checked in a fix to ThreadPosix.m3 that eliminates your problem with user-level threads. I have tested this on I386_DARWIN and it appears to be working just fine now. Please try again with the updated ThreadPosix.m3. On Jun 25, 2007, at 3:05 PM, Mika Nystrom wrote: > Indeed, -g was one of the culprits. I changed it to -gstabs+ and > got a bit further... (please scroll down to STEP 2, sorry) > > Tony Hosking writes: >> Sounds like we really need some work done in this area. I very >> rarely use the build scripts, since I bootstrap manually from old >> compilers to new compilers rather than use the scripts. I suggest >> the following approach, which I hope you will try, and then report >> back on. >> >> Install the bootstrap compiler as you did originally: >> >>> rm -rf /usr/local/cm3/* >>> >>> cd ~/cm3-cvs >>> mkdir boot >>> cd boot >>> tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz >>> ./cminstall >> >> Now you will have some kind of cm3 installed, presumably in /usr/ >> local/cm3/bin/cm3. >> >> Make sure you have a fresh CVS checkout in directory cm3 (let's >> assume this is in your home directory ~/cm3). Also, make sure you >> have an up-to-date version of the CM3 backend compiler cm3cg >> installed by executing the following: >> >> STEP 0: >> >> export CM3=/usr/local/cm3/bin/cm3 >> cd ~/cm3/m3-sys/m3cc >> $CM3 >> $CM3 -ship >> >> You can skip this last step if you know your backend compiler is up >> to date. >> >> Now, let's build the new compiler from scratch (this is the sequence >> I use regularly to test changes to the run-time system whenever I >> make them): >> >> STEP 1: >> >> cd ~/cm3/m3-libs/m3core >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-libs/libm3 >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-sys/m3middle >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-sys/m3linker >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-sys/m3front >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-sys/m3quake >> $CM3 >> $CM3 -ship >> cd ~/cm3/m3-sys/cm3 >> $CM3 >> $CM3 -ship >> >> At this point you should have a bootstrapped version of cm3 installed >> in the directory /usr/local/cm3/pkg/cm3/TARGET/cm3 (where TARGET is >> the CM3 target platform you are building on -- e.g., LINUXLIBC6, >> PPC_DARWIN, ...). Note that this did not overwrite your original >> installed compiler in /usr/local/cm3/bin/cm3. We >> are now going to test the new compiler, which was built using the old >> compiler, by bootstrapping it one more time. >> >> From here on out, please replace TARGET with your target platform as >> appropriate. >> >> STEP 2: >> >> export CM3=/usr/local/cm3/pkg/cm3/TARGET/cm3 >> cd ~/cm3/scripts >> ./do-cm3-std.sh realclean >> REPEAT STEP 1 to rebuild the libraries and the compiler using the >> STEP 1 bootstrap compiler. >> >> Now you have a STEP 2 bootstrap compiler installed in /usr/local/cm3/ >> pkg/cm3/TARGET/cm3. Let's assume the new compiler now works properly >> since it successfully bootstrapped itself, but to be sure we can now >> use it to rebuild the world: > > Ok, I got this far. I built the step 1 (m3core...cm3), set my > compiler to the newly-built compiler, and rebuilt (m3core...cm3). > No errors anywhere, beautiful. > >> >> cd ~/cm3/scripts >> ./do-cm3-std.sh realclean >> ./do-cm3-std.sh buildship > > Here's where it dies: > > ./do-cm3-std.sh buildship > CM3C = > /big/home2/mika/2/cm3-cvs/fresh/cm3/scripts/pkgmap.sh -c "/usr/ > local/cm3/pkg/cm3/FreeBSD4/cm3 -build -DROOT='/big/home2/mika/2/ > cm3-cvs/fresh/cm3' && /usr/local/cm3/pkg/cm3/FreeBSD4/cm3 -ship - > DROOT='/big/home2/mika/2/cm3-cvs/fresh/cm3' " m3core libm3 > patternmatching m3middle m3quake m3scanner m3tools m3cgcat m3cggen > m3gdb m3bundle arithmetic bitvector digraph parseparams > realgeometry set slisp sortedtableextras table-list tempfiles tcp > udp libsio libbuf debug listfuncs embutils m3tk-misc http binIO > commandrw m3tk mtex m3totex m3tohtml m3scan m3markup m3browser > cmpdir cmpfp dirfp uniq netobj netobjd stubgen events rdwr > sharedobj sharedobjgen odbc postgres95 db smalldb stable stablegen > X11R4 ui PEX vbtkit cmvbt jvideo videovbt web formsvbtpixmaps > formsvbt formsview formsedit codeview mg mgkit opengl anim3D zeus > m3zume synloc synex metasyn obliqrt obliqparse obliqprint obliq > obliqlibemb obliqlibm3 obliqlibui obliqlibanim obliqsrvstd > obliqsrvui obliqbinmin obliqbinstd obliqbin! > ui obliqbinanim visualobliq vocgi voquery vorun webvbt recordheap > rehearsecode replayheap showheap shownew showthread pkl-fonts juno- > machine juno-compiler juno-app cube calculator fisheye mentor > === package /big/home2/mika/2/cm3-cvs/fresh/cm3/m3-libs/m3core === > +++ /usr/local/cm3/pkg/cm3/FreeBSD4/cm3 -build -DROOT='/big/home2/ > mika/2/cm3-cvs/fresh/cm3' && /usr/local/cm3/pkg/cm3/FreeBSD4/cm3 - > ship -DROOT='/big/home2/mika/2/cm3-cvs/fresh/cm3' +++ > > > *** > *** runtime error: > *** <*ASSERT*> failed. > *** file "../src/runtime/common/RTCollector.m3", line 690 > *** > > > > *** > *** runtime error: > *** <*ASSERT*> failed. > *** file "../src/runtime/common/RTCollector.m3", line 690 > *** > > Abort trap > *** execution of failed *** > > This time it appears to be cm3 itself that's crashing: > > (310)rover:~/cm3-cvs/fresh/cm3/m3-libs/m3core>$CM3 -keep -commands > > > *** > *** runtime error: > *** <*ASSERT*> failed. > *** file "../src/runtime/common/RTCollector.m3", line 690 > *** > > > > *** > *** runtime error: > *** <*ASSERT*> failed. > *** file "../src/runtime/common/RTCollector.m3", line 690 > *** > > Abort > > What follows is what m3gdb has to say about this. I take it that > the last error message comes from my -gstabs+ option. m3gdb doesn't > like this new binary: it can't print variables and sometimes crashes > trying. Would I have better luck with "-gstabs", do you think? Or > do I just need to fix the compile process and install a new m3gdb? > (I take it there is a newer one: mine is very old. But I remember > that m3gdb doesn't always work that well...) > > Mika > > #1 16_81a619d in __raise () > #2 16_81a3b8f in abort () > #3 16_8178d16 in RTOS.Crash () at RTOS.m3:20 > #4 16_8171fd2 in RTProcess.Crash (msg=NIL) at RTProcess.m3:65 > #5 16_8170428 in RTError.EndError (crash=TRUE) at RTError.m3:115 > #6 16_8170169 in RTError.MsgS (file=16_820a508, line=690, > msgA=16_820bfe8, msgB=16_8208170, msgC=16_820bfe8) at RTError.m3:40 > #7 16_81707ec in RTException.Crash (a=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; > END, raises=FALSE, rte=16_8208020) at RTException.m3:79 > #8 16_8170550 in RTException.DefaultBackstop (a=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; > un_arg = NIL; END, raises=FALSE) at RTException.m3:39 > #9 16_81704b4 in RTException.InvokeBackstop (a=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; > un_arg = NIL; END, raises=FALSE) at RTException.m3:25 > #10 16_8179ca7 in RTException.Raise (act=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; > END) at RTExFrame.m3:29 > #11 16_81705f0 in RTException.DefaultBackstop (a=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; > un_arg = NIL; END, raises=FALSE) at RTException.m3:47 > #12 16_81704b4 in RTException.InvokeBackstop (a=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; > un_arg = NIL; END, raises=FALSE) at RTException.m3:25 > #13 16_8179ca7 in RTException.Raise (act=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; > END) at RTExFrame.m3:29 > #14 16_8160bba in RTHooks.ReportFault (module=16_820a680, > info=22080) at RTHooks.m3:110 > #15 16_816e251 in _m3_fault (arg=22080) at RTCollector.m3:0 > #16 16_81649b7 in RTCollector.CollectorOn () at RTCollector.m3:690 > #17 16_816b595 in RTHooks.CheckLoadTracedRef (ref=16_681b3300) at > RTCollector.m3:2296 > #18 16_814400c in Stdio.ShutDown () at Stdio.m3:43 > #19 16_8171f51 in RTProcess.InvokeExitors () at RTProcess.m3:40 > #20 16_8171fc5 in RTProcess.Crash (msg=NIL) at RTProcess.m3:61 > #21 16_8170428 in RTError.EndError (crash=TRUE) at RTError.m3:115 > #22 16_8170169 in RTError.MsgS (file=16_820a508, line=690, > msgA=16_820bfe8, msgB=16_8208170, msgC=16_820bfe8) at RTError.m3:40 > #23 16_81707ec in RTException.Crash (a=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; > END, raises=FALSE, rte=16_8208020) at RTException.m3:79 > #24 16_8170550 in RTException.DefaultBackstop (a=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; > un_arg = NIL; END, raises=FALSE) at RTException.m3:39 > #25 16_81704b4 in RTException.InvokeBackstop (a=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; > un_arg = NIL; END, raises=FALSE) at RTException.m3:25 > #26 16_8179ca7 in RTException.Raise (act=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; > END) at RTExFrame.m3:29 > #27 16_81705f0 in RTException.DefaultBackstop (a=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; > un_arg = NIL; END, raises=FALSE) at RTException.m3:47 > #28 16_81704b4 in RTException.InvokeBackstop (a=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; > un_arg = NIL; END, raises=FALSE) at RTException.m3:25 > #29 16_8179ca7 in RTException.Raise (act=RECORD exception = > 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; > info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; > END) at RTExFrame.m3:29 > #30 16_8160bba in RTHooks.ReportFault (module=16_820a680, > info=22080) at RTHooks.m3:110 > #31 16_816e251 in _m3_fault (arg=22080) at RTCollector.m3:0 > #32 16_81649b7 in RTCollector.CollectorOn () at RTCollector.m3:690 > #33 16_816b595 in RTHooks.CheckLoadTracedRef (ref=16_681b3004) at > RTCollector.m3:2296 > #34 16_817c41e in ThreadF.ProcessStacks (p=16_816415e) at > ThreadPosix.m3:522 > #35 16_8165213 in RTCollector.CollectSomeInStateZero () at > RTCollector.m3:845 > #36 16_8164d2c in RTCollector.CollectSome () at RTCollector.m3:741 > #37 16_816487b in RTCollector.CollectEnough () at RTCollector.m3:659 > #38 16_81673cd in RTHeapRep.AllocTraced (def=16_81f8f38, > dataSize=8200, dataAlignment=4, initProc=16_bfbfe0f4, pool=RECORD > desc = RECORD space = Current; generation = Younger; pure = FALSE; > note = Allocated; gray = FALSE; clean = FALSE; continued = > FALSE; link = 0; END; notAfter = {Copied}; page = 0; stack = 0; > next = NIL; limit = NIL; busy = FALSE; END) > at RTCollector.m3:1417 > #39 16_816218e in RTAllocator.GetOpenArray (def=16_81f8f38, s= > [2048]) at RTAllocator.m3:308 > #40 16_8161737 in RTHooks.AllocateOpenArray (defn=16_81f8f38, s= > [2048]) at RTAllocator.m3:156 > #41 16_8129d56 in M3ID_M3 (mode=1) at M3ID.m3:40 > #42 16_816f802 in RTLinker.RunMainBody (m=16_81f8cc0) at > RTLinker.m3:399 > #43 16_816f6ca in RTLinker.RunMainBody (m=16_81c0880) at > RTLinker.m3:379 > #44 16_816f6ca in RTLinker.RunMainBody (m=16_81c06a0) at > RTLinker.m3:379 > #45 16_816f6ca in RTLinker.RunMainBody (m=16_81bc920) at > RTLinker.m3:379 > #46 16_816ed2d in RTLinker.AddUnitI (m=16_81bc920) at RTLinker.m3:113 > #47 16_816edb4 in RTLinker.AddUnit (b=16_8065527) at RTLinker.m3:122 > module "_m3main": missing debug info for global data > > (gdb) up 32 > #32 16_81649b7 in RTCollector.CollectorOn () at RTCollector.m3:690 > RTCollector.m3:690: No such file or directory. > (gdb) > Suspended > (360)rover:~/cm3-cvs/fresh/cm3/m3-libs/m3core>find ../.. -name > RTCollector.m3 > ../../m3-libs/m3core/src/runtime/common/RTCollector.m3 > (361)rover:~/cm3-cvs/fresh/cm3/m3-libs/m3core>fg > m3gdb /usr/local/cm3/pkg/cm3/FreeBSD4/cm3 > (gdb) dir ../../m3-libs/m3core/src/runtime/common/ > Source directories searched: /big/home2/mika/2/cm3-cvs/fresh/cm3/m3- > libs/m3core/../../m3-libs/m3core/src/runtime/common:$cdir:$cwd > (gdb) list > 685 VAR timeOnEntry, timeOnExit: Time.T; (* time of > collector entry/exit *) > 686 > 687 PROCEDURE CollectorOn () = > 688 (* LL >= RTOS.LockHeap *) > 689 BEGIN > 690 <* ASSERT NOT collectorOn *> > 691 collectorOn := TRUE; > 692 > 693 IF incremental AND NOT RTLinker.incremental > 694 OR generational AND NOT RTLinker.generational THEN > (gdb) print collectorOn > can't find identifier: collectorOn > (gdb) up > #33 16_816b595 in RTHooks.CheckLoadTracedRef (ref=16_681b3004) at > RTCollector.m3:2296 > 2296 CollectorOn(); > (gdb) print collectorOn > can't find identifier: collectorOn > (gdb) print ref > Segmentation fault > > > > >> >> Assuming this succeeded then we can be pretty sure /usr/local/cm3/ >> pkg/ >> cm3/TARGET/cm3 is good, so we can make it our default compiler by >> replacing the original /usr/local/cm3/bin/cm3: >> >> cp $CM3 /usr/local/cm3/bin/cm3 >> >> On Jun 23, 2007, at 2:38 PM, Mika Nystrom wrote: >> >>> Ok, I'm sorry if I seem a bit dimwitted in the morning like this, >>> but how exactly does one get started? I wish there were a file >>> called >>> "GETTING_STARTED" or something like that in scripts... >>> >>> My Mac is very slow so I switched to my FreeBSD/i386 system >>> (which has >>> PM3 happily installed on it) and tried to install CM3 from scratch. >>> Here are the exact commands I typed. >>> >>> >>> rm -rf /usr/local/cm3/* >>> >>> cd ~/cm3-cvs >>> mkdir boot >>> cd boot >>> tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz >>> ./cminstall >>> >>> # now I seem to have some kind of cm3 installed, /usr/local/cm3/bin/ >>> cm3 >>> >>> cd cm3 # location of my CM3 checkout >>> cvs update -d . >>> >>> cd scripts >>> ./boot-cm3-with-m3.sh realclean >>> ./do-cm3-std.sh realclean >>> >>> ./upgrade.sh # fails here, libm3 not compiled >>> ./boot-cm3-with-m3.sh build # builds cm3, but fails on >>> cminstall, patternmatching not built >>> >>> ./do-cm3-std.sh build # OK >>> ./do-cm3-std.sh buildship # OK >>> >>> ./boot-cm3-with-m3.sh realclean # start over >>> ./boot-cm3-with-m3.sh build # OK >>> ./boot-cm3-with-m3.sh buildship # OK >>> >>> ./do-cm3-std.sh realclean # OK >>> ./do-cm3-std.sh build # dies miserably... maybe the >>> compiler can't handle the new libraries? >>> >>> ./install-cm3-compiler.sh upgrade # OK, new cm3 binary installed >>> >>> After all that, "game over." I have a cm3 that segfaults. >>> >>> Text.i3: In function 'Text_I3': >>> Text.i3:81: internal compiler error: Segmentation fault >>> Please submit a full bug report, >>> with preprocessed source if appropriate. >>> See for instructions. >>> compilation failed => not building library "libm3core.a" >>> Fatal Error: package build failed >>> *** execution of failed *** >>> >>> I can't seem to get either m3gdb or gdb to say anything reasonable >>> either. ktrace shows nothing out of the ordinary. >>> >>> ----- >>> >>> Meanwhile, my Mac got through "do-cm3-std.sh realclean" and >>> "do-cm3-std.sh buildship" but my compiles are still dying on the >>> same assertion tickled by ktok. On that machine I have INSTALLROOT >>> set to ~/cm3, but hopefully that has nothing to do with it... >>> >>> ----- >>> >>> Does do-cm3-std.sh realclean clean EVERYTHING? If so my Mac should >>> really have a fresh setup. The FreeBSD, I am not sure, maybe the >>> old binary version just doesn't work right? Of course I could try >>> bootstrapping with PM3 as well... but really, there's an "approved" >>> process to get from a blank system, no? >>> >>> Mika >>> >>> >>> >>> >>> Tony Hosking writes: >>>> That sounds like you forgot to execute "do-cm3-std.sh realclean" >>>> before initiating the build. These sorts of errors sometimes arise >>>> if there are old build directories lying around. >>>> >>>> >>>> On Jun 23, 2007, at 3:34 AM, Mika Nystrom wrote: >>>> >>>>> Hello everyone, >>>>> >>>>> I am in the process of trying to consolidate build systems for a >>>>> few software packages I am maintaining. Currently, I am using an >>>>> old PM3 on FreeBSD4, an ancient PM3 (from Klagenfurt?) for Windows >>>>> (NT386GNU), and trying to get the latest CM3 from cvs up and >>>>> compiling >>>>> things on PPC_DARWIN. Ideally, I'd like to standardize everything >>>>> on the new PM3---mainly so that I can use pickles (and Network >>>>> Objects) across all three systems. I'd also like to add Linux to >>>>> the mix. >>>>> >>>>> It's natural for me to start with CM3 on Darwin, as there's no >>>>> alternative. But I am getting some assertions failing. >>>>> Everything >>>>> in the CM3 distribution compiles fine, and I believe I have >>>>> compiled >>>>> the libraries a few times (that is, including with themselves), >>>>> and >>>>> updated the compiler, too (using boot-cm3-with-m3.sh). I just cvs >>>>> updated tonight. >>>>> >>>>> Here's what I'm running into: >>>>> >>>>> /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/CHP.t -o >>>>> CHPTok.i3 >>>>> >>>>> >>>>> *** >>>>> *** runtime error: >>>>> *** <*ASSERT*> failed. >>>>> *** file "../src/runtime/common/RTCollector.m3", line 2314 >>>>> *** >>>>> >>>>> Abort >>>>> >>>>> Also: >>>>> >>>>> /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/PRS.t -o >>>>> PRSTok.i3 >>>>> Illegal instruction >>>>> >>>>> As you can see, these things are coming from the >>>>> caltech_parser. I >>>> am using >>>>> our local version, but I don't think it is very different from >>>>> what >>>>> is in the >>>>> CM3 tree. >>>>> >>>>> >>>>> Examining the first error (the failed assertion) more closely, >>>>> I see >>>>> the following: >>>>> >>>>> (gdb) list >>>>> 108 wr := FileWr.Open(Pathname.ReplaceExt(tp.out, "m3")); >>>>> 109 EXCEPT OSError.E => >>>>> 110 Debug.Error("Cannot open tok implementation output >>>>> file: " & >>>>> 111 Pathname.ReplaceExt(tp.out, "m3")); >>>>> 112 END; >>>>> 113 Wr.PutText(wr, subs.apply(Bundle.Get(Form, >>>>> "tokform.m3"))); >>>>> 114 Wr.Close(wr); >>>>> 115 END Main. >>>>> (gdb) where >>>>> #0 0x9004308c in kill () >>>>> #1 0x9009fb3c in abort () >>>>> #2 0x00096f50 in RTOS__Crash () at RTOS.m3:20 >>>>> #3 0x0005bd40 in RTProcess__Crash (M3_Bd56fi_msg=0x0) at >>>>> RTProcess.m3:65 >>>>> #4 0x0008e4e0 in RTError__EndError (M3_AicXUJ_crash=1 '\001') at >>>>> RTError.m3:115 >>>>> #5 0x0008e08c in RTError__MsgS (M3_AJWxb1_file=0xc63d8, >>>>> M3_AcxOUs_line=2314, M3_Bd56fi_msgA=0xca3d0, >>>>> M3_Bd56fi_msgB=0xcbe90, M3_Bd56fi_msgC=0xca3d0) at RTError.m3:40 >>>>> #6 0x0008eb88 in RTException__Crash (M3_Cblw37_a=0xbfffee00, >>>>> M3_AicXUJ_raises=0 '\0', M3_AJWxb1_rte=0xcb538) at >>>>> RTException.m3:79 >>>>> #7 0x0008e74c in RTException__DefaultBackstop >>>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>>> RTException.m3:39 >>>>> #8 0x0008e614 in RTException__InvokeBackstop >>>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>>> RTException.m3:25 >>>>> #9 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at >>>>> RTExFrame.m3:29 >>>>> #10 0x0008e840 in RTException__DefaultBackstop >>>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>>> RTException.m3:47 >>>>> #11 0x0008e614 in RTException__InvokeBackstop >>>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at >>>>> RTException.m3:25 >>>>> #12 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at >>>>> RTExFrame.m3:29 >>>>> #13 0x00079740 in RTHooks__ReportFault (M3_AJWxb1_module=0xb3eb8, >>>>> M3_AcxOUs_info=74048) at RTHooks.m3:110 >>>>> #14 0x0006ff4c in _m3_fault (M3_AcxOUs_arg=74048) >>>>> #15 0x0006bcf4 in RTHooks__CheckStoreTraced >>>>> (M3_Af40ku_ref=0xb2415c) at RTCollector.m3:2314 >>>>> #16 0x000700e4 in ThreadPThread__InnerLockMutex >>>>> (M3_AYIbX3_m=0xb2415c, M3_BXP32l_self=0xb24014) at >>>>> ThreadPThread.m3:126 >>>>> #17 0x000704d8 in ThreadPThread__LockMutex (M3_AYIbX3_m=0xb2415c) >>>>> at ThreadPThread.m3:153 >>>>> #18 0x00019b24 in Wr__PutText (M3_BxxOH1_wr=0xb2415c, >>>>> M3_Bd56fi_t=0xb44d5c) at Wr.m3:93 >>>>> #19 0x00003f74 in Main_M3 (M3_AcxOUs_mode=1) at Main.m3:113 >>>>> #20 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at >>>>> RTLinker.m3:399 >>>>> #21 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at >>>>> RTLinker.m3:113 >>>>> #22 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at >>>>> RTLinker.m3:122 >>>>> #23 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) >>>>> at _m3main.mc:4 >>>>> (gdb) >>>>> >>>>> The second error: >>>>> >>>>> Program received signal EXC_BAD_INSTRUCTION, Illegal instruction/ >>>>> operand. >>>>> 0x00b111ac in ?? () >>>>> (gdb) where >>>>> #0 0x00b111ac in ?? () >>>>> #1 0x0001214c in TextSubs__Apply (M3_CN69dV_self=0xb26450, >>>>> M3_Bd56fi_src=0xb21cec) at TextSubs.m3:63 >>>>> #2 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at >>>>> RTLinker.m3:399 >>>>> #3 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at >>>>> RTLinker.m3:113 >>>>> #4 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at >>>>> RTLinker.m3:122 >>>>> #5 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) >>>>> at _m3main.mc:4 >>>>> (gdb) list >>>>> 58 BEGIN >>>>> 59 WHILE pos < textLen DO >>>>> 60 c := Text.GetChar(src, pos); >>>>> 61 IF c IN self.starts THEN >>>>> 62 (* S("analysing: " & Text.Sub(src, pos), >>>>> DebugLevel); *) >>>>> 63 iter := self.tbl.iterateOrdered(); >>>>> 64 ind := pos; >>>>> 65 original := ""; >>>>> 66 REPEAT >>>>> 67 INC(ind); >>>>> (gdb) >>>>> >>>>> Any ideas what to look at? >>>>> >>>>> I don't know if this is relevant: >>>>> >>>>> [lapdog:~/t/cit_parse/PPC_DARWIN] mika% uname -a >>>>> Darwin lapdog.local 7.9.0 Darwin Kernel Version 7.9.0: Wed Mar 30 >>>>> 20:11:17 PST 2005; root:xnu/xnu-517.12.7.obj~1/RELEASE_PPC Power >>>>> Macintosh powerpc >>>>> [lapdog:~/t/cit_parse/PPC_DARWIN] mika% gcc -v >>>>> Reading specs from /usr/libexec/gcc/darwin/ppc/3.3/specs >>>>> Thread model: posix >>>>> gcc version 3.3 20030304 (Apple Computer, Inc. build 1666) >>>>> >>>>> Mika >>>>> >>>>> P.S. Am I correct in assuming that I can get CM3 to build on >>>>> Windows? >>>>> I could switch to CM3 on Unix any time, of course, but I've never >>>>> had luck with it on Windows, which is why I am using the ancient >>>>> Klagenfurt PM3, which comes on 40-odd "floppies" and a .EXE that >>>>> unpacks them into C: (and installation instructions only in >>>>> German). >>>>> If CM3 doesn't work on Windows, I am essentially wasting my time, >>>>> as the current project I am working on absolutely requires that >>>>> the >>>>> software run on Windows 2003 Server (yes, it sucks, but what can >>>>> you do?) The very old PM3 at least kind of hobbles along on this >>>>> platform---actually, better than that; it does Trestle natively >>>>> under Windows (no X required), at least on SOME Windows machines. >>>>> >>>>> P.P.S. Sorry for all the postscripts, but is it true that the >>>>> build system has been changed so that building with overrides >>>>> (cm3 -x) >>>>> requires having the compiler sources available? It didn't use to >>>>> be that way, but I can't get Network Objects to work with >>>>> overrides >>>>> now unless I have the sources available... It's a bit of a pain >>>>> because it means that every user has to have the compiler sources, >>>>> or else ship everything, or was that not the intention? From dabenavidesd at yahoo.es Fri Jun 29 17:31:21 2007 From: dabenavidesd at yahoo.es (Daniel Alejandro Benavides D.) Date: Fri, 29 Jun 2007 17:31:21 +0200 (CEST) Subject: [M3devel] LINUXLIBC6 problem Message-ID: <509060.60875.qm@web27114.mail.ukl.yahoo.com> Hi: Trying to compile the last updated sources from cvs repository, I get this with do-cm3.std.sh buildship, I have done the do-cm3-std.sh realclean before: -> archiving libm3tools.a --- shipping from LINUXLIBC6 --- . => /usr/local/cm3-cvs/pkg/m3tools/LINUXLIBC6 .M3EXPORTS libm3tools.a libm3tools.m3x .M3WEB ../src => /usr/local/cm3-cvs/pkg/m3tools/src M3Lexer.i3 M3Lexer.m3 M3AST.i3 M3AST.m3 M3Parse.m3 M3Scope.i3 M3Scope.m3 M3Type.i3 M3Type.m3 M3Const.m3 M3Const.i3 M3SetVal.i3 M3SetVal.m3 M3RecVal.i3 M3RecVal.m3 M3ArrVal.i3 M3ArrVal.m3 M3Builtin.i3 M3Builtin.m3 ==> /home/danielb/cm3-cvs/cm3/m3-sys/m3tools done === package /home/danielb/cm3-cvs/cm3/m3-sys/m3cgcat === +++ /usr/local/cm3-cvs/bin/cm3 -build -DROOT='/home/danielb/cm3-cvs/cm3' && /usr/local/cm3-cvs/bin/cm3 -ship -DROOT='/home/danielb/cm3-cvs/cm3' +++ --- building in LINUXLIBC6 --- ignoring ../src/m3overrides new source -> compiling Main.m3 -> linking m3cgcat /usr/local/cm3-cvs/pkg/libm3/LINUXLIBC6/libm3.a(FSPosix.mo): In function `FS__SetModificationTime':FSPosix.m3:345: undefined reference to `__wrap_utimes' collect2: ld returned 1 exit status Fatal Error: package build failed *** execution of failed *** danielb at danielb-desktop:~/cm3-cvs/cm3/scripts$ Thanks ____________________________________________________________________________________ ?Descubre una nueva forma de obtener respuestas a tus preguntas! Entra en Yahoo! Respuestas. http://es.answers.yahoo.com/info/welcome From hosking at cs.purdue.edu Fri Jun 29 20:11:29 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Fri, 29 Jun 2007 14:11:29 -0400 Subject: [M3devel] LINUXLIBC6 problem In-Reply-To: <509060.60875.qm@web27114.mail.ukl.yahoo.com> References: <509060.60875.qm@web27114.mail.ukl.yahoo.com> Message-ID: <2F32FD3A-00FD-46E5-BB23-9DAB23003874@cs.purdue.edu> You need to update your cm3.cfg to match the most recent version in cm3/m3-sys/cminstall/src/config/LINUXLIBC6. Wrapping of system calls is no longer needed (or supported) since the VM-synchronized GC has been discarded. On Jun 29, 2007, at 11:31 AM, Daniel Alejandro Benavides D. wrote: > Hi: > Trying to compile the last updated sources from cvs > repository, I get this with do-cm3.std.sh buildship, > I have done the do-cm3-std.sh realclean before: > > -> archiving libm3tools.a > --- shipping from LINUXLIBC6 --- > > . => /usr/local/cm3-cvs/pkg/m3tools/LINUXLIBC6 > .M3EXPORTS libm3tools.a libm3tools.m3x > .M3WEB > ../src => /usr/local/cm3-cvs/pkg/m3tools/src > M3Lexer.i3 M3Lexer.m3 M3AST.i3 > M3AST.m3 > M3Parse.m3 M3Scope.i3 M3Scope.m3 > M3Type.i3 > M3Type.m3 M3Const.m3 M3Const.i3 > M3SetVal.i3 > M3SetVal.m3 M3RecVal.i3 M3RecVal.m3 > M3ArrVal.i3 > M3ArrVal.m3 M3Builtin.i3 M3Builtin.m3 > ==> /home/danielb/cm3-cvs/cm3/m3-sys/m3tools done > > === package /home/danielb/cm3-cvs/cm3/m3-sys/m3cgcat > === > +++ /usr/local/cm3-cvs/bin/cm3 -build > -DROOT='/home/danielb/cm3-cvs/cm3' && > /usr/local/cm3-cvs/bin/cm3 -ship > -DROOT='/home/danielb/cm3-cvs/cm3' +++ > --- building in LINUXLIBC6 --- > > ignoring ../src/m3overrides > > new source -> compiling Main.m3 > -> linking m3cgcat > /usr/local/cm3-cvs/pkg/libm3/LINUXLIBC6/libm3.a(FSPosix.mo): > In function `FS__SetModificationTime':FSPosix.m3:345: > undefined reference to `__wrap_utimes' > collect2: ld returned 1 exit status > Fatal Error: package build failed > *** execution of failed *** > danielb at danielb-desktop:~/cm3-cvs/cm3/scripts$ > > > > Thanks > > > > ______________________________________________________________________ > ______________ > ?Descubre una nueva forma de obtener respuestas a tus preguntas! > Entra en Yahoo! Respuestas. > http://es.answers.yahoo.com/info/welcome From hosking at cs.purdue.edu Fri Jun 29 20:11:42 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Fri, 29 Jun 2007 14:11:42 -0400 Subject: [M3devel] LINUXLIBC6 problem In-Reply-To: <509060.60875.qm@web27114.mail.ukl.yahoo.com> References: <509060.60875.qm@web27114.mail.ukl.yahoo.com> Message-ID: <16DCE58A-40FF-4774-A645-5B2AB5A95FAE@cs.purdue.edu> You need to update your cm3.cfg to match the most recent version in cm3/m3-sys/cminstall/src/config/LINUXLIBC6. Wrapping of system calls is no longer needed (or supported) since the VM-synchronized GC has been discarded. On Jun 29, 2007, at 11:31 AM, Daniel Alejandro Benavides D. wrote: > Hi: > Trying to compile the last updated sources from cvs > repository, I get this with do-cm3.std.sh buildship, > I have done the do-cm3-std.sh realclean before: > > -> archiving libm3tools.a > --- shipping from LINUXLIBC6 --- > > . => /usr/local/cm3-cvs/pkg/m3tools/LINUXLIBC6 > .M3EXPORTS libm3tools.a libm3tools.m3x > .M3WEB > ../src => /usr/local/cm3-cvs/pkg/m3tools/src > M3Lexer.i3 M3Lexer.m3 M3AST.i3 > M3AST.m3 > M3Parse.m3 M3Scope.i3 M3Scope.m3 > M3Type.i3 > M3Type.m3 M3Const.m3 M3Const.i3 > M3SetVal.i3 > M3SetVal.m3 M3RecVal.i3 M3RecVal.m3 > M3ArrVal.i3 > M3ArrVal.m3 M3Builtin.i3 M3Builtin.m3 > ==> /home/danielb/cm3-cvs/cm3/m3-sys/m3tools done > > === package /home/danielb/cm3-cvs/cm3/m3-sys/m3cgcat > === > +++ /usr/local/cm3-cvs/bin/cm3 -build > -DROOT='/home/danielb/cm3-cvs/cm3' && > /usr/local/cm3-cvs/bin/cm3 -ship > -DROOT='/home/danielb/cm3-cvs/cm3' +++ > --- building in LINUXLIBC6 --- > > ignoring ../src/m3overrides > > new source -> compiling Main.m3 > -> linking m3cgcat > /usr/local/cm3-cvs/pkg/libm3/LINUXLIBC6/libm3.a(FSPosix.mo): > In function `FS__SetModificationTime':FSPosix.m3:345: > undefined reference to `__wrap_utimes' > collect2: ld returned 1 exit status > Fatal Error: package build failed > *** execution of failed *** > danielb at danielb-desktop:~/cm3-cvs/cm3/scripts$ > > > > Thanks > > > > ______________________________________________________________________ > ______________ > ?Descubre una nueva forma de obtener respuestas a tus preguntas! > Entra en Yahoo! Respuestas. > http://es.answers.yahoo.com/info/welcome From dragisha at m3w.org Fri Jun 29 20:20:21 2007 From: dragisha at m3w.org (=?UTF-8?Q?Dragi=C5=A1a_Duri=C4=87?=) Date: Fri, 29 Jun 2007 20:20:21 +0200 Subject: [M3devel] LINUXLIBC6 problem In-Reply-To: <2F32FD3A-00FD-46E5-BB23-9DAB23003874@cs.purdue.edu> References: <509060.60875.qm@web27114.mail.ukl.yahoo.com> <2F32FD3A-00FD-46E5-BB23-9DAB23003874@cs.purdue.edu> Message-ID: <1183141221.9643.143.camel@faramir.m3w.org> This being non-trivial... Can you provide us with diff of your systems cm3.cfg before and after wrapper removal? dd On Fri, 2007-06-29 at 14:11 -0400, Tony Hosking wrote: > You need to update your cm3.cfg to match the most recent version in > cm3/m3-sys/cminstall/src/config/LINUXLIBC6. > > Wrapping of system calls is no longer needed (or supported) since the > VM-synchronized GC has been discarded. > > On Jun 29, 2007, at 11:31 AM, Daniel Alejandro Benavides D. wrote: > > > Hi: > > Trying to compile the last updated sources from cvs > > repository, I get this with do-cm3.std.sh buildship, > > I have done the do-cm3-std.sh realclean before: > > > > -> archiving libm3tools.a > > --- shipping from LINUXLIBC6 --- > > > > . => /usr/local/cm3-cvs/pkg/m3tools/LINUXLIBC6 > > .M3EXPORTS libm3tools.a libm3tools.m3x > > .M3WEB > > ../src => /usr/local/cm3-cvs/pkg/m3tools/src > > M3Lexer.i3 M3Lexer.m3 M3AST.i3 > > M3AST.m3 > > M3Parse.m3 M3Scope.i3 M3Scope.m3 > > M3Type.i3 > > M3Type.m3 M3Const.m3 M3Const.i3 > > M3SetVal.i3 > > M3SetVal.m3 M3RecVal.i3 M3RecVal.m3 > > M3ArrVal.i3 > > M3ArrVal.m3 M3Builtin.i3 M3Builtin.m3 > > ==> /home/danielb/cm3-cvs/cm3/m3-sys/m3tools done > > > > === package /home/danielb/cm3-cvs/cm3/m3-sys/m3cgcat > > === > > +++ /usr/local/cm3-cvs/bin/cm3 -build > > -DROOT='/home/danielb/cm3-cvs/cm3' && > > /usr/local/cm3-cvs/bin/cm3 -ship > > -DROOT='/home/danielb/cm3-cvs/cm3' +++ > > --- building in LINUXLIBC6 --- > > > > ignoring ../src/m3overrides > > > > new source -> compiling Main.m3 > > -> linking m3cgcat > > /usr/local/cm3-cvs/pkg/libm3/LINUXLIBC6/libm3.a(FSPosix.mo): > > In function `FS__SetModificationTime':FSPosix.m3:345: > > undefined reference to `__wrap_utimes' > > collect2: ld returned 1 exit status > > Fatal Error: package build failed > > *** execution of failed *** > > danielb at danielb-desktop:~/cm3-cvs/cm3/scripts$ > > > > > > > > Thanks > > > > > > > > ______________________________________________________________________ > > ______________ > > ?Descubre una nueva forma de obtener respuestas a tus preguntas! > > Entra en Yahoo! Respuestas. > > http://es.answers.yahoo.com/info/welcome > -- Dragi?a Duri? From hosking at cs.purdue.edu Fri Jun 29 20:24:03 2007 From: hosking at cs.purdue.edu (Antony Hosking) Date: Fri, 29 Jun 2007 14:24:03 -0400 Subject: [M3devel] LINUXLIBC6 problem In-Reply-To: <1183141221.9643.143.camel@faramir.m3w.org> References: <509060.60875.qm@web27114.mail.ukl.yahoo.com> <2F32FD3A-00FD-46E5-BB23-9DAB23003874@cs.purdue.edu> <1183141221.9643.143.camel@faramir.m3w.org> Message-ID: <8DBCD210-FD52-4EA5-9975-2D2500D612ED@cs.purdue.edu> This is what I am using currently for 32-bit cm3 running on AMD64 with 64-bit kernel. -------------- next part -------------- A non-text attachment was scrubbed... Name: cm3.cfg Type: application/octet-stream Size: 11966 bytes Desc: not available URL: -------------- next part -------------- I haven't done a build lately for regular Linux. On Jun 29, 2007, at 2:20 PM, Dragi?a Duri? wrote: > This being non-trivial... Can you provide us with diff of your systems > cm3.cfg before and after wrapper removal? > > dd > > On Fri, 2007-06-29 at 14:11 -0400, Tony Hosking wrote: >> You need to update your cm3.cfg to match the most recent version in >> cm3/m3-sys/cminstall/src/config/LINUXLIBC6. >> >> Wrapping of system calls is no longer needed (or supported) since the >> VM-synchronized GC has been discarded. >> >> On Jun 29, 2007, at 11:31 AM, Daniel Alejandro Benavides D. wrote: >> >>> Hi: >>> Trying to compile the last updated sources from cvs >>> repository, I get this with do-cm3.std.sh buildship, >>> I have done the do-cm3-std.sh realclean before: >>> >>> -> archiving libm3tools.a >>> --- shipping from LINUXLIBC6 --- >>> >>> . => /usr/local/cm3-cvs/pkg/m3tools/LINUXLIBC6 >>> .M3EXPORTS libm3tools.a libm3tools.m3x >>> .M3WEB >>> ../src => /usr/local/cm3-cvs/pkg/m3tools/src >>> M3Lexer.i3 M3Lexer.m3 M3AST.i3 >>> M3AST.m3 >>> M3Parse.m3 M3Scope.i3 M3Scope.m3 >>> M3Type.i3 >>> M3Type.m3 M3Const.m3 M3Const.i3 >>> M3SetVal.i3 >>> M3SetVal.m3 M3RecVal.i3 M3RecVal.m3 >>> M3ArrVal.i3 >>> M3ArrVal.m3 M3Builtin.i3 M3Builtin.m3 >>> ==> /home/danielb/cm3-cvs/cm3/m3-sys/m3tools done >>> >>> === package /home/danielb/cm3-cvs/cm3/m3-sys/m3cgcat >>> === >>> +++ /usr/local/cm3-cvs/bin/cm3 -build >>> -DROOT='/home/danielb/cm3-cvs/cm3' && >>> /usr/local/cm3-cvs/bin/cm3 -ship >>> -DROOT='/home/danielb/cm3-cvs/cm3' +++ >>> --- building in LINUXLIBC6 --- >>> >>> ignoring ../src/m3overrides >>> >>> new source -> compiling Main.m3 >>> -> linking m3cgcat >>> /usr/local/cm3-cvs/pkg/libm3/LINUXLIBC6/libm3.a(FSPosix.mo): >>> In function `FS__SetModificationTime':FSPosix.m3:345: >>> undefined reference to `__wrap_utimes' >>> collect2: ld returned 1 exit status >>> Fatal Error: package build failed >>> *** execution of failed *** >>> danielb at danielb-desktop:~/cm3-cvs/cm3/scripts$ >>> >>> >>> >>> Thanks >>> >>> >>> >>> ____________________________________________________________________ >>> __ >>> ______________ >>> ?Descubre una nueva forma de obtener respuestas a tus preguntas! >>> Entra en Yahoo! Respuestas. >>> http://es.answers.yahoo.com/info/welcome >> > -- > Dragi?a Duri? From dragisha at m3w.org Fri Jun 29 20:29:01 2007 From: dragisha at m3w.org (=?UTF-8?Q?Dragi=C5=A1a_Duri=C4=87?=) Date: Fri, 29 Jun 2007 20:29:01 +0200 Subject: [M3devel] LINUXLIBC6 problem In-Reply-To: <1183141221.9643.143.camel@faramir.m3w.org> References: <509060.60875.qm@web27114.mail.ukl.yahoo.com> <2F32FD3A-00FD-46E5-BB23-9DAB23003874@cs.purdue.edu> <1183141221.9643.143.camel@faramir.m3w.org> Message-ID: <1183141741.9643.146.camel@faramir.m3w.org> Not too nice to reply to own message, but probably a time saver for people upgrading to cvs-head: --- /home/dragisha/cm3/bin/cm3.cfg 2007-04-19 22:20:00.000000000 +0200 +++ /usr/local/cm3/bin/cm3.cfg 2007-06-29 20:27:03.000000000 +0200 @@ -69,5 +69,5 @@ % fixed the permissions. -INSTALL_ROOT = "/home/dragisha/cm3" +INSTALL_ROOT = "/usr/local/cm3" BIN_INSTALL = INSTALL_ROOT & "/bin" % executables @@ -149,6 +149,6 @@ proc m3_backend (source, object, optimize, debug) is - local args = [ "-quiet", source, "-o", object, "-fPIC" ] - if optimize args += "-O" end + local args = [ "-quiet", source, "-o", object, "-fPIC", "-m32", "-fno-reorder-blocks" ] + if optimize args += "-O3" end if debug args += "-gstabs+" end if M3_PROFILING args += "-p" end @@ -169,5 +169,5 @@ proc compile_c (source, object, options, optimize, debug) is - local args = [ "-fPIC", options ] + local args = [ "-m32", "-fPIC", options ] if optimize args += "-O" end if debug args += "-gstabs+" end @@ -182,5 +182,5 @@ proc assemble (source, object) is - return try_exec ("@" & SYSTEM_ASM, source, "-o", object) + return try_exec ("@" & SYSTEM_ASM, "--32", source, "-o", object) end @@ -189,6 +189,4 @@ % a library. -GCWRAPFLAGS = "-Wl,--wrap,adjtime,--wrap,getdirentries,--wrap,readv,--wrap,utimes,--wrap,wait3" - proc make_lib (lib, options, objects, imported_libs, shared) is local ret_code = 0 @@ -204,9 +202,9 @@ % build the shared library if M3_PROFILING - ret_code = try_exec ("@" & SYSTEM_CC, "-pg -shared " & GCWRAPFLAGS & + ret_code = try_exec ("@" & SYSTEM_CC, "-pg -shared -m32 " & "-Wl,-soname," & lib_sox, "-o", lib_sox, objects) else - ret_code = try_exec ("@" & SYSTEM_CC, "-shared " & GCWRAPFLAGS & + ret_code = try_exec ("@" & SYSTEM_CC, "-shared -m32 " & "-Wl,-soname," & lib_sox, "-o", lib_sox, objects) @@ -260,9 +258,9 @@ local args = [] if M3_PROFILING args += "-pg" end - args += [ "-o", prog, "-fPIC", options, objects, imported_libs ] + args += [ "-m32", "-o", prog, "-fPIC", options, objects, imported_libs ] if shared - return try_exec ("@" & SYSTEM_CC, args, GCWRAPFLAGS) + return try_exec ("@" & SYSTEM_CC, args) else - return try_exec ("@" & SYSTEM_CC, "-static", args, GCWRAPFLAGS) + return try_exec ("@" & SYSTEM_CC, "-static", args) %%% -- see M3_NEED_STANDALONE_LINKS below %%%return try_exec ("@" & SYSTEM_CC, args) On Fri, 2007-06-29 at 20:20 +0200, Dragi?a Duri? wrote: > This being non-trivial... Can you provide us with diff of your systems > cm3.cfg before and after wrapper removal? > > dd > > On Fri, 2007-06-29 at 14:11 -0400, Tony Hosking wrote: > > You need to update your cm3.cfg to match the most recent version in > > cm3/m3-sys/cminstall/src/config/LINUXLIBC6. > > > > Wrapping of system calls is no longer needed (or supported) since the > > VM-synchronized GC has been discarded. > > > > On Jun 29, 2007, at 11:31 AM, Daniel Alejandro Benavides D. wrote: > > > > > Hi: > > > Trying to compile the last updated sources from cvs > > > repository, I get this with do-cm3.std.sh buildship, > > > I have done the do-cm3-std.sh realclean before: > > > > > > -> archiving libm3tools.a > > > --- shipping from LINUXLIBC6 --- > > > > > > . => /usr/local/cm3-cvs/pkg/m3tools/LINUXLIBC6 > > > .M3EXPORTS libm3tools.a libm3tools.m3x > > > .M3WEB > > > ../src => /usr/local/cm3-cvs/pkg/m3tools/src > > > M3Lexer.i3 M3Lexer.m3 M3AST.i3 > > > M3AST.m3 > > > M3Parse.m3 M3Scope.i3 M3Scope.m3 > > > M3Type.i3 > > > M3Type.m3 M3Const.m3 M3Const.i3 > > > M3SetVal.i3 > > > M3SetVal.m3 M3RecVal.i3 M3RecVal.m3 > > > M3ArrVal.i3 > > > M3ArrVal.m3 M3Builtin.i3 M3Builtin.m3 > > > ==> /home/danielb/cm3-cvs/cm3/m3-sys/m3tools done > > > > > > === package /home/danielb/cm3-cvs/cm3/m3-sys/m3cgcat > > > === > > > +++ /usr/local/cm3-cvs/bin/cm3 -build > > > -DROOT='/home/danielb/cm3-cvs/cm3' && > > > /usr/local/cm3-cvs/bin/cm3 -ship > > > -DROOT='/home/danielb/cm3-cvs/cm3' +++ > > > --- building in LINUXLIBC6 --- > > > > > > ignoring ../src/m3overrides > > > > > > new source -> compiling Main.m3 > > > -> linking m3cgcat > > > /usr/local/cm3-cvs/pkg/libm3/LINUXLIBC6/libm3.a(FSPosix.mo): > > > In function `FS__SetModificationTime':FSPosix.m3:345: > > > undefined reference to `__wrap_utimes' > > > collect2: ld returned 1 exit status > > > Fatal Error: package build failed > > > *** execution of failed *** > > > danielb at danielb-desktop:~/cm3-cvs/cm3/scripts$ > > > > > > > > > > > > Thanks > > > > > > > > > > > > ______________________________________________________________________ > > > ______________ > > > ?Descubre una nueva forma de obtener respuestas a tus preguntas! > > > Entra en Yahoo! Respuestas. > > > http://es.answers.yahoo.com/info/welcome > > -- Dragi?a Duri? From dabenavidesd at yahoo.es Sat Jun 30 12:20:00 2007 From: dabenavidesd at yahoo.es (Daniel Alejandro Benavides D.) Date: Sat, 30 Jun 2007 12:20:00 +0200 (CEST) Subject: [M3devel] LINUXLIBC6 problem In-Reply-To: <1183141741.9643.146.camel@faramir.m3w.org> Message-ID: <135693.79060.qm@web27104.mail.ukl.yahoo.com> Hi everybody: I like to thank you for your great help. Now I can compile with the modifications on my cm3.cfg. The file is attached in the mail. Thanks --- Dragi??a Duri?? escribi?: > Not too nice to reply to own message, but probably a > time saver for > people upgrading to cvs-head: > > --- /home/dragisha/cm3/bin/cm3.cfg 2007-04-19 > 22:20:00.000000000 +0200 > +++ /usr/local/cm3/bin/cm3.cfg 2007-06-29 > 20:27:03.000000000 +0200 > @@ -69,5 +69,5 @@ > % fixed the permissions. > > -INSTALL_ROOT = "/home/dragisha/cm3" > +INSTALL_ROOT = "/usr/local/cm3" > > BIN_INSTALL = INSTALL_ROOT & "/bin" % > executables > @@ -149,6 +149,6 @@ > > proc m3_backend (source, object, optimize, debug) > is > - local args = [ "-quiet", source, "-o", object, > "-fPIC" ] > - if optimize args += "-O" end > + local args = [ "-quiet", source, "-o", object, > "-fPIC", "-m32", "-fno-reorder-blocks" ] > + if optimize args += "-O3" end > if debug args += "-gstabs+" end > if M3_PROFILING args += "-p" end > @@ -169,5 +169,5 @@ > > proc compile_c (source, object, options, optimize, > debug) is > - local args = [ "-fPIC", options ] > + local args = [ "-m32", "-fPIC", options ] > if optimize args += "-O" end > if debug args += "-gstabs+" end > @@ -182,5 +182,5 @@ > > proc assemble (source, object) is > - return try_exec ("@" & SYSTEM_ASM, source, "-o", > object) > + return try_exec ("@" & SYSTEM_ASM, "--32", > source, "-o", object) > end > > @@ -189,6 +189,4 @@ > % a library. > > -GCWRAPFLAGS = > "-Wl,--wrap,adjtime,--wrap,getdirentries,--wrap,readv,--wrap,utimes,--wrap,wait3" > - > proc make_lib (lib, options, objects, > imported_libs, shared) is > local ret_code = 0 > @@ -204,9 +202,9 @@ > % build the shared library > if M3_PROFILING > - ret_code = try_exec ("@" & SYSTEM_CC, "-pg > -shared " & GCWRAPFLAGS & > + ret_code = try_exec ("@" & SYSTEM_CC, "-pg > -shared -m32 " & > "-Wl,-soname," & > lib_sox, > "-o", lib_sox, objects) > else > - ret_code = try_exec ("@" & SYSTEM_CC, > "-shared " & GCWRAPFLAGS & > + ret_code = try_exec ("@" & SYSTEM_CC, > "-shared -m32 " & > "-Wl,-soname," & > lib_sox, > "-o", lib_sox, objects) > @@ -260,9 +258,9 @@ > local args = [] > if M3_PROFILING args += "-pg" end > - args += [ "-o", prog, "-fPIC", options, objects, > imported_libs ] > + args += [ "-m32", "-o", prog, "-fPIC", options, > objects, imported_libs ] > if shared > - return try_exec ("@" & SYSTEM_CC, args, > GCWRAPFLAGS) > + return try_exec ("@" & SYSTEM_CC, args) > else > - return try_exec ("@" & SYSTEM_CC, "-static", > args, GCWRAPFLAGS) > + return try_exec ("@" & SYSTEM_CC, "-static", > args) > %%% -- see M3_NEED_STANDALONE_LINKS below > %%%return try_exec ("@" & SYSTEM_CC, args) > > On Fri, 2007-06-29 at 20:20 +0200, Dragi??a Duri?? > wrote: > > This being non-trivial... Can you provide us with > diff of your systems > > cm3.cfg before and after wrapper removal? > > > > dd > > > > On Fri, 2007-06-29 at 14:11 -0400, Tony Hosking > wrote: > > > You need to update your cm3.cfg to match the > most recent version in > > > cm3/m3-sys/cminstall/src/config/LINUXLIBC6. > > > > > > Wrapping of system calls is no longer needed (or > supported) since the > > > VM-synchronized GC has been discarded. > > > > > > On Jun 29, 2007, at 11:31 AM, Daniel Alejandro > Benavides D. wrote: > > > > > > > Hi: > > > > Trying to compile the last updated sources > from cvs > > > > repository, I get this with do-cm3.std.sh > buildship, > > > > I have done the do-cm3-std.sh realclean > before: > > > > > > > > -> archiving libm3tools.a > > > > --- shipping from LINUXLIBC6 --- > > > > > > > > . => /usr/local/cm3-cvs/pkg/m3tools/LINUXLIBC6 > > > > .M3EXPORTS libm3tools.a > libm3tools.m3x > > > > .M3WEB > > > > ../src => /usr/local/cm3-cvs/pkg/m3tools/src > > > > M3Lexer.i3 M3Lexer.m3 M3AST.i3 > > > > M3AST.m3 > > > > M3Parse.m3 M3Scope.i3 > M3Scope.m3 > > > > M3Type.i3 > > > > M3Type.m3 M3Const.m3 > M3Const.i3 > > > > M3SetVal.i3 > > > > M3SetVal.m3 M3RecVal.i3 > M3RecVal.m3 > > > > M3ArrVal.i3 > > > > M3ArrVal.m3 M3Builtin.i3 > M3Builtin.m3 > > > > ==> /home/danielb/cm3-cvs/cm3/m3-sys/m3tools > done > > > > > > > > === package > /home/danielb/cm3-cvs/cm3/m3-sys/m3cgcat > > > > === > > > > +++ /usr/local/cm3-cvs/bin/cm3 -build > > > > -DROOT='/home/danielb/cm3-cvs/cm3' && > > > > /usr/local/cm3-cvs/bin/cm3 -ship > > > > -DROOT='/home/danielb/cm3-cvs/cm3' +++ > > > > --- building in LINUXLIBC6 --- > > > > > > > > ignoring ../src/m3overrides > > > > > > > > new source -> compiling Main.m3 > > > > -> linking m3cgcat > > > > > /usr/local/cm3-cvs/pkg/libm3/LINUXLIBC6/libm3.a(FSPosix.mo): > > > > In function > `FS__SetModificationTime':FSPosix.m3:345: > > > > undefined reference to `__wrap_utimes' > > > > collect2: ld returned 1 exit status > > > > Fatal Error: package build failed > > > > *** execution of failed *** > > > > danielb at danielb-desktop:~/cm3-cvs/cm3/scripts$ > > > > > > > > > > > > > > > > Thanks > > > > > > > > > > > > > > > > > ______________________________________________________________________ > > > > > ______________ > > > > ??Descubre una nueva forma de obtener > respuestas a tus preguntas! > > > > Entra en Yahoo! Respuestas. > > > > http://es.answers.yahoo.com/info/welcome > > > > -- > Dragi??a Duri?? > > ____________________________________________________________________________________ ?Descubre una nueva forma de obtener respuestas a tus preguntas! Entra en Yahoo! Respuestas. http://es.answers.yahoo.com/info/welcome From hosking at cs.purdue.edu Fri Jun 1 23:11:04 2007 From: hosking at cs.purdue.edu (Tony Hosking) Date: Fri, 01 Jun 2007 21:11:04 -0000 Subject: [M3devel] Progress bootstrapping, but still trouble In-Reply-To: <4660883F.6030503@wichita.edu> References: <4659B097.5040908@wichita.edu> <4660883F.6030503@wichita.edu> Message-ID: <2EB5C3FA-9082-4875-8BA8-F439524E2B1B@cs.purdue.edu> I'm not sure about the details of you system, but you may find the attached cm3.cfg for LINUXLIBC6 to be useful. It works for me on Fedora Core. You should modify the paths as appropriate for your Linux installation. -------------- next part -------------- A non-text attachment was scrubbed... Name: cm3.cfg Type: application/octet-stream Size: 12122 bytes Desc: not available URL: -------------- next part -------------- On Jun 1, 2007, at 4:57 PM, Rodney M. Bates wrote: > My first problem bootstrapping cm3: > > ThreadPosix.i3: missing object types: _t1541f475 > imported by: TimeStamp.m3 > > goes away when I either 1) delete the entire cm3 distribution and > do a fresh cvs checkout, > or 2) do a 'do-cm3-std.sh realclean'. > > Thanks to Antony for making me aware of 'realclean', which I hadn't > known about. I have never > been able to satisfactorily clean a cm3 tree before, with 'clean' > giving lots of failure messages > and removing things inside LINUXLIBC6 build directories leaving > things unable to build due to > missing files. > > My second problem: > > rodney at runnymede:/usr/local/cm3/bin$ file m3bundle > m3bundle: ELF 32-bit LSB executable, Intel 80386, version 1 > (SYSV), for GNU/Linux 2.6.9, > dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not > stripped > rodney at runnymede:/usr/local/cm3/bin$ ./m3bundle > -bash: ./m3bundle: No such file or directory > > went away after some work on finding libpthreads. Thanks to > Daniel's web page for getting me > to looking at libpthreads. > > My cm3.cfg already had, inside SYSTEM_LIBS, the line: > > "PTHREAD" : [ "-Xlinker", "-Bdynamic", "-L/lib", "-lpthread" ], > > For one thing, there are three places in my distribution with non- > link versions of libpthread*.so: > /lib, /lib/i686, and /usr/lib. They are all different in size, and > I have no clue what the > differences are, but only /usr/lib has a link named libpthread.so, > so I guessed that was the > right place and changed cm3.cfg to look there. > > That didn't change anything, (same size executable), but removing > the "-Xlinker", "-Bdynamic", made > cm3 compile an executable for m3bundle and other things that will > load and run. There is a > libpthread.a in /usr/lib (and nowhere else that I found.) > > But this is apparently not the whole story with libraries. > Another program compiles to an executable with the same problem, > i.e., attempts > to execute it give -bash: ./LdlBatch: No such file or directory. > The other lines > in my SYSTEM_LIBS also had -Xlinker", "-Bdynamic", but removing > them fro"X11" line > gives me this: > > new "Version.io" -> linking LdlBatch > /usr/local/cm3/pkg/ui/LINUXLIBC6/libm3ui.a(TrestleOS.mo): In > function `TrestleOS__UserName': > /home/rodney/proj/m3/cm3-fresh/cm3/m3-ui/ui/LINUXLIBC6/ > TrestleOS.m3:32: warning: Using 'getpwuid' in statically linked > applications requires at runtime the shared libraries from theglibc > version used for linking > /usr/lib/libX11.a(x11_trans.o): In function `_X11TransSocketOpen': > /usr/include/X11/Xtrans/Xtranssock.c:468: warning: Using > 'getaddrinfo' in statically linked applications requires at runtime > the shared libraries from the glibc version used for linking > /usr/lib/libX11.a(imLcIm.o): In function `_XimWriteCachedDefaultTree': > /usr/src/rpm/BUILD/libX11-1.0.3/modules/im/ximcp/imLcIm.c:476: > warning: memset used with constant zero length parameter; this > could be due to transposed parameters > /usr/local/cm3/pkg/tcp/LINUXLIBC6/libm3tcp.a(IP.mo): In function > `IP__GetCanonicalByAddr': > /home/rodney/proj/m3/cm3-fresh/cm3/m3-comm/tcp/LINUXLIBC6/IP.m3:53: > warning: Using 'gethostbyaddr' in statically linked applications > requires at runtime the shared libraries from the glibc version > used for linking > /usr/local/cm3/pkg/tcp/LINUXLIBC6/libm3tcp.a(IP.mo): In function > `IP__GetHostByName': > /home/rodney/proj/m3/cm3-fresh/cm3/m3-comm/tcp/LINUXLIBC6/IP.m3:21: > warning: Using 'gethostbyname' in statically linked applications > requires at runtime the shared libraries from the glibc version > used for linking > /usr/lib/libX11.a(x11_trans.o): In function > `_X11TransSocketINETConnect': > /usr/include/X11/Xtrans/Xtranssock.c:1670: warning: Using > 'getservbyname' in statically linked applications requires at > runtime the shared libraries from the glibc version used for linking > /usr/lib/libX11.a(ConnDis.o): In function `GetAuthorization': > /usr/src/rpm/BUILD/libX11-1.0.3/src/ConnDis.c:1232: undefined > reference to `XauDisposeAuth' > /usr/src/rpm/BUILD/libX11-1.0.3/src/ConnDis.c:1037: undefined > reference to `XauGetBestAuthByAddr' > /usr/src/rpm/BUILD/libX11-1.0.3/src/ConnDis.c:1176: undefined > reference to `XdmcpWrap' > /usr/lib/libX11.a(CrGlCur.o): In function `open_library': > /usr/src/rpm/BUILD/libX11-1.0.3/src/CrGlCur.c:72: undefined > reference to `dlopen' > /usr/lib/libX11.a(CrGlCur.o): In function `fetch_symbol': > /usr/src/rpm/BUILD/libX11-1.0.3/src/CrGlCur.c:107: undefined > reference to `dlsym' > /usr/src/rpm/BUILD/libX11-1.0.3/src/CrGlCur.c:109: undefined > reference to `dlsym' > collect2: ld returned 1 exit status > Fatal Error: package build failed > > Anyone have any ideas on why neither dynamic nor static linking > works, or how to figure out what > version of the libraries I need? Better yet, can anyone point me > to some real documentation on > Linux dynamic linking in general? I've always been overwhelmed > with false hits when trying to find > it with a search engine. > > > > > > > > > > -- > ------------------------------------------------------------- > 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 ronny.forberger at elegosoft.com Fri Jun 1 23:54:14 2007 From: ronny.forberger at elegosoft.com (Ronny Forberger) Date: Fri, 01 Jun 2007 21:54:14 -0000 Subject: [M3devel] [cm3] [partially-solved] unresolved pthread symbols during bootstrap In-Reply-To: <20070530234204.77087.qmail@web27115.mail.ukl.yahoo.com> References: <20070530234204.77087.qmail@web27115.mail.ukl.yahoo.com> Message-ID: <46609577.9040600@elegosoft.com> Hi, the pthread symbol problem has solved for me. I was using development version of cm3. Now having checked out release_cm3_5_4_0 the symbols weren't needed, not even it was necessary to add PTHREAD to any array in cm3.cfg. But I now getting another issue: Though the build process successfully went though the ./do-cm3-core.sh buildship ./install-cm3-compiler.sh upgrade ./do-cm3-std.sh buildship commands, I can't see m3build binary having been built or installed. The documentation couldn't give me any answer on here as well. Have you got ideas again ? Thank you. Ronny Daniel Alejandro Benavides D. wrote: > Hi, > Looks that you haven't used the SYSTEM_LIBORDER array, > must be "PTHREAD" there in order to really link it. > > Maybe this little guide can help. Can have several > omissions, but It works well in (K)ubuntu 6.06 and > 6.10 > http://es.geocities.com/dabenavidesd/InstallationGuidecm3-Modula-3.html#SECTION00033000000000000000 > > > --- Ronny Forberger > wrote: > >> Dear m3-Developers, >> >> I could not successfully build the cm3 compiler when >> invoking >> >> >> >> >>> ./do-cm3-std.sh buildship >>> >> from the script directory as described in the >> documentation. >> >> The build process stops by the following: >> >> >>> === package /root/cm3/m3-sys/m3cgcat === >>> +++ cm3 -build -DROOT='/root/cm3' && cm3 -ship >>> >> -DROOT='/root/cm3' +++ >> >>> --- building in LINUXLIBC6 --- >>> >>> ignoring ../src/m3overrides >>> >>> -> linking m3cgcat >>> >>> > /usr/local/cm3/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): > >> In >> >>> function `ThreadPThread__InnerLockMutex': >>> >>> > /root/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:142: > >> undefined >> >>> reference to `pthread_cond_wait' >>> >>> >> [ some similar lines removed ] >> >> >>> > /usr/local/cm3/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): > >> In >> >>> function `RTHooks__PushEFrame': >>> >>> > /root/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1429: > >> undefined >> >>> reference to `pthread_getspecific' >>> >>> > /root/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1430: > >> undefined >> >>> reference to `pthread_setspecific' >>> >>> > /usr/local/cm3/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): > >> In >> >>> function `RTHooks__PopEFrame': >>> >>> > /root/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1437: > >> undefined >> >>> reference to `pthread_setspecific' >>> >>> > /usr/local/cm3/pkg/m3core/LINUXLIBC6/libm3core.a(ThreadPThread.mo): > >> In >> >>> function `ThreadPThread__InitHandlers': >>> >>> > /root/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1442: > >> undefined >> >>> reference to `pthread_key_create' >>> >>> > /root/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1443: > >> undefined >> >>> reference to `pthread_setspecific' >>> >>> > /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libc.a(vfork.o): > >> In >> >>> function `vfork': >>> (.text+0x1): undefined reference to >>> >> `pthread_create' >> >>> collect2: ld returned 1 exit status >>> Fatal Error: package build failed >>> *** execution of failed *** >>> >> Looks like gcc cannot link against the pthread-lib. >> >> I have already added >> >> >>> "PTHREAD" : [ "-L/usr/lib", "-lpthread" ] >>> >> to the SYSTEM_LIBS array in cm3.cfg. >> >> This is a Debian 4.0 'etch' system (x86) where >> libpthread.a resides in >> /usr/lib. >> >> I can build trivial C programs like gcc foo.c -L >> /usr/lib -lpthread >> arccordingly which become linked against >> libpthread.a properly. >> >> >> Do you have any glues? >> >> Best regards, >> >> Ronny >> >> -- >> Ronny Forberger >> Systemadministrator >> >> elego Software Solutions GmbH >> ronny.forberger(at)elegosoft.com >> Ohmstra?e 9, 10179 Berlin HRB 77719 >> Tel.: +49 30 23 45 86 96 Amtsgericht >> Charlottenburg >> Fax: +49 30 23 45 86 95 Sitz der >> Gesellschaft: Berlin >> http://www.elegosoft.com >> Gesch?ftsf?hrer: Olaf Wagner >> >> Bitte senden Sie Ihre technischen Support-Anfragen >> an admins(at)elego.de . >> >> >> > > > > > ______________________________________________ > LLama Gratis a cualquier PC del Mundo. > Llamadas a fijos y m?viles desde 1 c?ntimo por minuto. > http://es.voice.yahoo.com > -- Ronny Forberger Systemadministrator elego Software Solutions GmbH ronny.forberger(at)elegosoft.com Ohmstra??e 9, 10179 Berlin HRB 77719 Tel.: +49 30 23 45 86 96 Amtsgericht Charlottenburg Fax: +49 30 23 45 86 95 Sitz der Gesellschaft: Berlin http://www.elegosoft.com Gesch?EURftsf?OEhrer: Olaf Wagner Bitte senden Sie Ihre technischen Support-Anfragen an admins(at)elego.de . -------------- next part -------------- An HTML attachment was scrubbed... URL: From ronny.forberger at elegosoft.com Thu Jun 7 13:53:48 2007 From: ronny.forberger at elegosoft.com (Ronny Forberger) Date: Thu, 07 Jun 2007 11:53:48 -0000 Subject: [M3devel] errors building cvsup wih cm3 In-Reply-To: <20070605023041.71990.qmail@web27105.mail.ukl.yahoo.com> References: <20070605023041.71990.qmail@web27105.mail.ukl.yahoo.com> Message-ID: <4667F1C6.2030709@elegosoft.com> Hi, with this solution I was able to build cvsup with cm3. Thanks to all. Ronny Daniel Alejandro Benavides D. wrote: >Hi, >One of the problems I had when compiling cvsup with >current cm3 on suplib/src/FileAttr.m3 >when calling utime.gettimeofday because of the >definition of the function Utime ><*EXTERNAL*> >PROCEDURE gettimeofday (VAR t: struct_timeval; > z: UNTRACED REF >struct_timezone := NIL): int > >in the z parameter have changed, the patch was written >before this change in the procedure. > >The FileAttr.m3 uses the function on line 746: >EVAL Utime.gettimeofday(times[0], tz); > >tz is declared before in line 744: >tz: UNTRACED REF Utime.struct_timezone:=NIL; > >The program compiles as explained in the guide: >http://es.geocities.com/dabenavidesd/InstallationGuidecm3-Modula-3.html#SECTION00060000000000000000 > >I didnt have any more problems compiling cvsup with >cm3. > >Sorry by the late posting of this issue. > > >--- John Polstra wrote: > > > >>Hmm, actually you may be closer to the right answers >>than I was. I >>don't see how the lack of the patch could explain >>some of those errors. >> >>John >> >> >>Tony Hosking wrote: >> >> >>>Looks like John has the answers... >>> >>>On Jun 4, 2007, at 11:11 AM, John Polstra wrote: >>> >>> >>> >>>>There is a patch for CVSup that you have to apply >>>> >>>> >>before you can build >> >> >>>>it with cm3. Look on the cm3 downloads page, and >>>> >>>> >>you'll find it. >> >> >>>>John >>>> >>>>Ronny Forberger wrote: >>>> >>>> >>>>>Hi there, >>>>>since I've been able to build the cm3 compiler >>>>> >>>>> >>successfully on Debian >> >> >>>>>Linux 'etch' x86, I'm faced up to some other >>>>> >>>>> >>build problem: >> >> >>>>>When trying to build cvsup-snap-16.1h from >>>>> >>>>> >>sources using cm3 my build >> >> >>>>>process stops by the following error: >>>>> >>>>> >>>>>>make[2]: Entering directory >>>>>> >>>>>> >>`/home/rforb/work/cvsup-snap-16.1h/suptcp' >> >> >>>>>>cm3 >>>>>>--- building in LINUXLIBC6 --- >>>>>> >>>>>> >>>>>>Fatal Error: duplicate unit: >>>>>>/usr/local/cm3/pkg/tcp/src/POSIX/SockOpt.i3 >>>>>> >>>>>> >>../src/POSIX/SockOpt.i3 >> >> >>>>>>make[2]: *** [all] Error 1 >>>>>>make[2]: Leaving directory >>>>>> >>>>>> >>`/home/rforb/work/cvsup-snap-16.1h/suptcp' >> >> >>>>>>===> suplib >>>>>>make[2]: Entering directory >>>>>> >>>>>> >>`/home/rforb/work/cvsup-snap-16.1h/suplib' >> >> >>>>>>cm3 >>>>>>--- building in LINUXLIBC6 --- >>>>>> >>>>>>new source -> compiling TokScan.i3 >>>>>>"../src/TokScan.i3", line 36: unable to find >>>>>> >>>>>> >>interface (IP) >> >> >>>>>>1 error encountered >>>>>>new source -> compiling FileAttr.i3 >>>>>>"../src/FileAttr.i3", line 33: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(TokScan) >>>>>>1 error encountered >>>>>>new source -> compiling FileAttrRep.i3 >>>>>>"../src/FileAttrRep.i3", line 33: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(FileAttr) >>>>>>1 error encountered >>>>>>new source -> compiling FileAttrOS.m3 >>>>>>"../src/POSIX/FileAttrOS.m3", line 31: imported >>>>>> >>>>>> >>interface contains >> >> >>>>>>errors (FileAttr) >>>>>>"../src/POSIX/FileAttrOS.m3", line 31: imported >>>>>> >>>>>> >>interface contains >> >> >>>>>>errors (FileAttrRep) >>>>>>2 errors encountered >>>>>>new source -> compiling SupFileRec.i3 >>>>>>"../src/SupFileRec.i3", line 36: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(FileAttr) >>>>>>"../src/SupFileRec.i3", line 37: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(TokScan) >>>>>>2 errors encountered >>>>>>new source -> compiling SupMisc.i3 >>>>>>"../src/SupMisc.i3", line 37: unable to find >>>>>> >>>>>> >>interface (IP) >> >> >>>>>>"../src/SupMisc.i3", line 37: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(SupFileRec) >>>>>>"../src/SupMisc.i3", line 39: unable to find >>>>>> >>>>>> >>interface (SupTCP) >> >> >>>>>>3 errors encountered >>>>>>new source -> compiling PathComp.m3 >>>>>>"../src/PathComp.m3", line 33: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(SupMisc) >>>>>>1 error encountered >>>>>>new source -> compiling ChannelMux.i3 >>>>>>"../src/ChannelMux.i3", line 33: unable to find >>>>>> >>>>>> >>interface (IP) >> >> >>>>>>"../src/ChannelMux.i3", line 34: unable to find >>>>>> >>>>>> >>interface (SupConnFD) >> >> >>>>>>2 errors encountered >>>>>>new source -> compiling ChannelMux.m3 >>>>>>"../src/ChannelMux.m3", line 32: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(ChannelMux) >>>>>>"../src/ChannelMux.m3", line 35: unable to find >>>>>> >>>>>> >>interface (IP) >> >> >>>>>>"../src/ChannelMux.m3", line 35: unable to find >>>>>> >>>>>> >>interface (TCP) >> >> >>>>>>"../src/ChannelMux.m3", line 36: unable to find >>>>>> >>>>>> >>interface (SupConnFD) >> >> >>>>>>4 errors encountered >>>>>>new source -> compiling AuthMD5.i3 >>>>>>"../src/AuthMD5.i3", line 33: unable to find >>>>>> >>>>>> >>interface (IP) >> >> >>>>>>1 error encountered >>>>>>new source -> compiling AuthMD5.m3 >>>>>>"../src/AuthMD5.m3", line 31: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(AuthMD5) >>>>>>"../src/AuthMD5.m3", line 33: unable to find >>>>>> >>>>>> >>interface (IP) >> >> >>>>>>2 errors encountered >>>>>>new source -> compiling TokScan.m3 >>>>>>"../src/TokScan.m3", line 31: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(TokScan) >>>>>>"../src/TokScan.m3", line 34: unable to find >>>>>> >>>>>> >>interface (IP) >> >> >>>>>>"../src/TokScan.m3", line 34: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(SupMisc) >>>>>>3 errors encountered >>>>>>new source -> compiling DevT.i3 >>>>>>"../src/DevT.i3", line 38: imported interface >>>>>> >>>>>> >>contains errors (TokScan) >> >> >>>>>>1 error encountered >>>>>>new source -> compiling UnixMisc.i3 >>>>>>"../src/UnixMisc.i3", line 35: unable to find >>>>>> >>>>>> >>interface (IP) >> >> >>>>>>1 error encountered >>>>>>new source -> compiling FileAttr.m3 >>>>>>"../src/FileAttr.m3", line 31: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(FileAttr) >>>>>>"../src/FileAttr.m3", line 31: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(FileAttrRep) >>>>>>"../src/FileAttr.m3", line 34: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(DevT) >>>>>>"../src/FileAttr.m3", line 35: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(SupMisc) >>>>>>"../src/FileAttr.m3", line 36: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(TokScan) >>>>>>"../src/FileAttr.m3", line 36: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(UnixMisc) >>>>>>6 errors encountered >>>>>>new source -> compiling FileID.i3 >>>>>>"../src/FileID.i3", line 33: imported interface >>>>>> >>>>>> >>contains errors >> >> >>>>>>(FileAttr) >>>>>>1 error encountered >>>>>>new source -> compiling FileID.m3 >>>>>>"../src/FileID.m3", line 31: imported interface >>>>>> >>>>>> >>contains errors >> >> >>>>>>(FileID) >>>>>>"../src/FileID.m3", line 34: imported interface >>>>>> >>>>>> >>contains errors (DevT) >> >> >>>>>>"../src/FileID.m3", line 34: imported interface >>>>>> >>>>>> >>contains errors >> >> >>>>>>(FileAttr) >>>>>>"../src/FileID.m3", line 34: imported interface >>>>>> >>>>>> >>contains errors >> >> >>>>>>(FileAttrRep) >>>>>>4 errors encountered >>>>>>new source -> compiling CVProto.i3 >>>>>>"../src/CVProto.i3", line 33: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(FileAttr) >>>>>>"../src/CVProto.i3", line 33: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(TokScan) >>>>>>2 errors encountered >>>>>>new source -> compiling CVProto.m3 >>>>>>"../src/CVProto.m3", line 35: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(CVProto) >>>>>>"../src/CVProto.m3", line 38: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(SupMisc) >>>>>>"../src/CVProto.m3", line 38: imported >>>>>> >>>>>> >>interface contains errors >> >> >>>>>>(TokScan) >>>>>>3 errors encountered >>>>>>new source -> compiling ErrMsg.m3 >>>>>>"../src/ErrMsg.m3", line 34: unable to find >>>>>> >>>>>> >>interface (IP) >> >> >>>>>>"../src/ErrMsg.m3", line 34: imported interface >>>>>> >>>>>> >>contains errors >> >> >>>>>>(TokScan) >>>>>> >>>>>> >=== message truncated === > > > > >______________________________________________ >LLama Gratis a cualquier PC del Mundo. >Llamadas a fijos y m?viles desde 1 c?ntimo por minuto. >http://es.voice.yahoo.com > > -- Ronny Forberger Systemadministrator elego Software Solutions GmbH ronny.forberger(at)elegosoft.com Ohmstra?e 9, 10179 Berlin HRB 77719 Tel.: +49 30 23 45 86 96 Amtsgericht Charlottenburg Fax: +49 30 23 45 86 95 Sitz der Gesellschaft: Berlin http://www.elegosoft.com Gesch?ftsf?hrer: Olaf Wagner Bitte senden Sie Ihre technischen Support-Anfragen an admins(at)elego.de . -------------- next part -------------- An HTML attachment was scrubbed... URL: From rcoleburn at scires.com Sat Jun 23 20:57:40 2007 From: rcoleburn at scires.com (Randy Coleburn) Date: Sat, 23 Jun 2007 18:57:40 -0000 Subject: [M3devel] strange errors... In-Reply-To: <200706230734.l5N7YDeY069196@camembert.async.caltech.edu> References: <200706230734.l5N7YDeY069196@camembert.async.caltech.edu> Message-ID: <467D3000.1E75.00D7.1@scires.com> Mika: I've used CM3 (v4.1) on Windows for years with Trestle, FormsVBT, NetObjects, etc.. Make sure to use the v2 of Network Objects. I haven't moved up to the most recent version yet. I tried some time ago, but ran into some problems with Bundles not working correctly. Maybe this is fixed now. I should try again. Regards, Randy Coleburn >>> Mika Nystrom 6/23/2007 3:34 AM >>> Hello everyone, I am in the process of trying to consolidate build systems for a few software packages I am maintaining. Currently, I am using an old PM3 on FreeBSD4, an ancient PM3 (from Klagenfurt?) for Windows (NT386GNU), and trying to get the latest CM3 from cvs up and compiling things on PPC_DARWIN. Ideally, I'd like to standardize everything on the new PM3---mainly so that I can use pickles (and Network Objects) across all three systems. I'd also like to add Linux to the mix. It's natural for me to start with CM3 on Darwin, as there's no alternative. But I am getting some assertions failing. Everything in the CM3 distribution compiles fine, and I believe I have compiled the libraries a few times (that is, including with themselves), and updated the compiler, too (using boot-cm3-with-m3.sh). I just cvs updated tonight. Here's what I'm running into: /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/CHP.t -o CHPTok.i3 *** *** runtime error: *** <*ASSERT*> failed. *** file "../src/runtime/common/RTCollector.m3", line 2314 *** Abort Also: /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/PRS.t -o PRSTok.i3 Illegal instruction As you can see, these things are coming from the caltech_parser. I am using our local version, but I don't think it is very different from what is in the CM3 tree. Examining the first error (the failed assertion) more closely, I see the following: (gdb) list 108 wr := FileWr.Open(Pathname.ReplaceExt(tp.out, "m3")); 109 EXCEPT OSError.E => 110 Debug.Error("Cannot open tok implementation output file: " & 111 Pathname.ReplaceExt(tp.out, "m3")); 112 END; 113 Wr.PutText(wr, subs.apply(Bundle.Get(Form, "tokform.m3"))); 114 Wr.Close(wr); 115 END Main. (gdb) where #0 0x9004308c in kill () #1 0x9009fb3c in abort () #2 0x00096f50 in RTOS__Crash () at RTOS.m3:20 #3 0x0005bd40 in RTProcess__Crash (M3_Bd56fi_msg=0x0) at RTProcess.m3:65 #4 0x0008e4e0 in RTError__EndError (M3_AicXUJ_crash=1 '\001') at RTError.m3:115 #5 0x0008e08c in RTError__MsgS (M3_AJWxb1_file=0xc63d8, M3_AcxOUs_line=2314, M3_Bd56fi_msgA=0xca3d0, M3_Bd56fi_msgB=0xcbe90, M3_Bd56fi_msgC=0xca3d0) at RTError.m3:40 #6 0x0008eb88 in RTException__Crash (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0', M3_AJWxb1_rte=0xcb538) at RTException.m3:79 #7 0x0008e74c in RTException__DefaultBackstop (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:39 #8 0x0008e614 in RTException__InvokeBackstop (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:25 #9 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at RTExFrame.m3:29 #10 0x0008e840 in RTException__DefaultBackstop (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:47 #11 0x0008e614 in RTException__InvokeBackstop (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:25 #12 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at RTExFrame.m3:29 #13 0x00079740 in RTHooks__ReportFault (M3_AJWxb1_module=0xb3eb8, M3_AcxOUs_info=74048) at RTHooks.m3:110 #14 0x0006ff4c in _m3_fault (M3_AcxOUs_arg=74048) #15 0x0006bcf4 in RTHooks__CheckStoreTraced (M3_Af40ku_ref=0xb2415c) at RTCollector.m3:2314 #16 0x000700e4 in ThreadPThread__InnerLockMutex (M3_AYIbX3_m=0xb2415c, M3_BXP32l_self=0xb24014) at ThreadPThread.m3:126 #17 0x000704d8 in ThreadPThread__LockMutex (M3_AYIbX3_m=0xb2415c) at ThreadPThread.m3:153 #18 0x00019b24 in Wr__PutText (M3_BxxOH1_wr=0xb2415c, M3_Bd56fi_t=0xb44d5c) at Wr.m3:93 #19 0x00003f74 in Main_M3 (M3_AcxOUs_mode=1) at Main.m3:113 #20 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at RTLinker.m3:399 #21 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at RTLinker.m3:113 #22 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at RTLinker.m3:122 #23 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) at _m3main.mc:4 (gdb) The second error: Program received signal EXC_BAD_INSTRUCTION, Illegal instruction/operand. 0x00b111ac in ?? () (gdb) where #0 0x00b111ac in ?? () #1 0x0001214c in TextSubs__Apply (M3_CN69dV_self=0xb26450, M3_Bd56fi_src=0xb21cec) at TextSubs.m3:63 #2 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at RTLinker.m3:399 #3 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at RTLinker.m3:113 #4 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at RTLinker.m3:122 #5 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) at _m3main.mc:4 (gdb) list 58 BEGIN 59 WHILE pos < textLen DO 60 c := Text.GetChar(src, pos); 61 IF c IN self.starts THEN 62 (* S("analysing: " & Text.Sub(src, pos), DebugLevel); *) 63 iter := self.tbl.iterateOrdered(); 64 ind := pos; 65 original := ""; 66 REPEAT 67 INC(ind); (gdb) Any ideas what to look at? I don't know if this is relevant: [lapdog:~/t/cit_parse/PPC_DARWIN] mika% uname -a Darwin lapdog.local 7.9.0 Darwin Kernel Version 7.9.0: Wed Mar 30 20:11:17 PST 2005; root:xnu/xnu-517.12.7.obj~1/RELEASE_PPC Power Macintosh powerpc [lapdog:~/t/cit_parse/PPC_DARWIN] mika% gcc -v Reading specs from /usr/libexec/gcc/darwin/ppc/3.3/specs Thread model: posix gcc version 3.3 20030304 (Apple Computer, Inc. build 1666) Mika P.S. Am I correct in assuming that I can get CM3 to build on Windows? I could switch to CM3 on Unix any time, of course, but I've never had luck with it on Windows, which is why I am using the ancient Klagenfurt PM3, which comes on 40-odd "floppies" and a .EXE that unpacks them into C: (and installation instructions only in German). If CM3 doesn't work on Windows, I am essentially wasting my time, as the current project I am working on absolutely requires that the software run on Windows 2003 Server (yes, it sucks, but what can you do?) The very old PM3 at least kind of hobbles along on this platform---actually, better than that; it does Trestle natively under Windows (no X required), at least on SOME Windows machines. P.P.S. Sorry for all the postscripts, but is it true that the build system has been changed so that building with overrides (cm3 -x) requires having the compiler sources available? It didn't use to be that way, but I can't get Network Objects to work with overrides now unless I have the sources available... It's a bit of a pain because it means that every user has to have the compiler sources, or else ship everything, or was that not the intention? -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at cs.purdue.edu Fri Jun 29 20:24:16 2007 From: hosking at cs.purdue.edu (Antony Hosking) Date: Fri, 29 Jun 2007 18:24:16 -0000 Subject: [M3devel] LINUXLIBC6 problem In-Reply-To: <1183141221.9643.143.camel@faramir.m3w.org> References: <509060.60875.qm@web27114.mail.ukl.yahoo.com> <2F32FD3A-00FD-46E5-BB23-9DAB23003874@cs.purdue.edu> <1183141221.9643.143.camel@faramir.m3w.org> Message-ID: <8DBCD210-FD52-4EA5-9975-2D2500D612ED@cs.purdue.edu> This is what I am using currently for 32-bit cm3 running on AMD64 with 64-bit kernel. -------------- next part -------------- A non-text attachment was scrubbed... Name: cm3.cfg Type: application/octet-stream Size: 11966 bytes Desc: not available URL: -------------- next part -------------- I haven't done a build lately for regular Linux. On Jun 29, 2007, at 2:20 PM, Dragi?a Duri? wrote: > This being non-trivial... Can you provide us with diff of your systems > cm3.cfg before and after wrapper removal? > > dd > > On Fri, 2007-06-29 at 14:11 -0400, Tony Hosking wrote: >> You need to update your cm3.cfg to match the most recent version in >> cm3/m3-sys/cminstall/src/config/LINUXLIBC6. >> >> Wrapping of system calls is no longer needed (or supported) since the >> VM-synchronized GC has been discarded. >> >> On Jun 29, 2007, at 11:31 AM, Daniel Alejandro Benavides D. wrote: >> >>> Hi: >>> Trying to compile the last updated sources from cvs >>> repository, I get this with do-cm3.std.sh buildship, >>> I have done the do-cm3-std.sh realclean before: >>> >>> -> archiving libm3tools.a >>> --- shipping from LINUXLIBC6 --- >>> >>> . => /usr/local/cm3-cvs/pkg/m3tools/LINUXLIBC6 >>> .M3EXPORTS libm3tools.a libm3tools.m3x >>> .M3WEB >>> ../src => /usr/local/cm3-cvs/pkg/m3tools/src >>> M3Lexer.i3 M3Lexer.m3 M3AST.i3 >>> M3AST.m3 >>> M3Parse.m3 M3Scope.i3 M3Scope.m3 >>> M3Type.i3 >>> M3Type.m3 M3Const.m3 M3Const.i3 >>> M3SetVal.i3 >>> M3SetVal.m3 M3RecVal.i3 M3RecVal.m3 >>> M3ArrVal.i3 >>> M3ArrVal.m3 M3Builtin.i3 M3Builtin.m3 >>> ==> /home/danielb/cm3-cvs/cm3/m3-sys/m3tools done >>> >>> === package /home/danielb/cm3-cvs/cm3/m3-sys/m3cgcat >>> === >>> +++ /usr/local/cm3-cvs/bin/cm3 -build >>> -DROOT='/home/danielb/cm3-cvs/cm3' && >>> /usr/local/cm3-cvs/bin/cm3 -ship >>> -DROOT='/home/danielb/cm3-cvs/cm3' +++ >>> --- building in LINUXLIBC6 --- >>> >>> ignoring ../src/m3overrides >>> >>> new source -> compiling Main.m3 >>> -> linking m3cgcat >>> /usr/local/cm3-cvs/pkg/libm3/LINUXLIBC6/libm3.a(FSPosix.mo): >>> In function `FS__SetModificationTime':FSPosix.m3:345: >>> undefined reference to `__wrap_utimes' >>> collect2: ld returned 1 exit status >>> Fatal Error: package build failed >>> *** execution of failed *** >>> danielb at danielb-desktop:~/cm3-cvs/cm3/scripts$ >>> >>> >>> >>> Thanks >>> >>> >>> >>> ____________________________________________________________________ >>> __ >>> ______________ >>> ?Descubre una nueva forma de obtener respuestas a tus preguntas! >>> Entra en Yahoo! Respuestas. >>> http://es.answers.yahoo.com/info/welcome >> > -- > Dragi?a Duri?