From ceklock at gmail.com Thu Jan 12 17:14:11 2006 From: ceklock at gmail.com (Carlos Klock) Date: Thu Oct 30 14:33:28 2008 Subject: [Magic-dev] Errors when opening cif file Message-ID: <61d405e50601121114p567ba7ffn784d0e3ddd401d73@mail.gmail.com> Hi, I am trying to convert a file to CIF, but when I try to open the CIF file with Magic VLSI I get many errors, like the errors below. What could be wrong? Thanks in advance for any help, Carlos. -------------------------------------------------------------------------------------------------------------------- ERROR WHEN TRYING TO OPEN CIF USING MAGIC -------------------------------------------------------------------------------------------------------------------- :cif read teste_and2 Warning: CIF reading is not undoable! I hope that's OK. Error at line 87 of CIF file: Input off lambda grid by 1/2; snapped to grid. Error at line 87 of CIF file: Input off lambda grid by 1/2; snapped to grid. Error at line 87 of CIF file: Input off lambda grid by 1/2; snapped to grid. Error at line 87 of CIF file: Input off lambda grid by 1/2; snapped to grid. Error at line 87 of CIF file: Input off lambda grid by 1/2; snapped to grid. Error at line 87 of CIF file: Input off lambda grid by 1/2; snapped to grid. Error at line 87 of CIF file: Input off lambda grid by 1/2; snapped to grid. ........... -------------------------------------------------------------------------------------------------------------------- GENERATED CIF FILE - SOMETHING WRONG -------------------------------------------------------------------------------------------------------------------- ( @@source : teste_layout.xml ); ( @@technology : amis_c5n_3m ); ( @@techdesc : Technology AMIS C5/N Submicron, 3 Metal Layers (Mosis SCN3M_SUBM.30) ); ( @@style : lambda=30.0 centimicron ); ( @@date : Thu Jan 12 15:56:50 BRST 2006 ); DS 1 30 1; 9 AND2; L CAA; B 4 4 -2 -2; B 4 4 6 -2; B 4 4 26 -2; B 20 8 -2 46; B 16 12 21 44; B 20 4 -2 15; B 16 8 21 13; B 4 4 -2 68; B 4 4 6 68; B 4 4 26 68; L CSP; B 8 8 -4 -4; B 8 8 4 -4; B 8 8 24 -4; B 24 12 -4 44; B 20 16 19 42; L CSN; B 24 8 -4 13; B 20 12 19 11; B 8 8 -4 66; B 8 8 4 66; B 8 8 24 66; L CCA; B 2 2 22 47; B 2 2 34 47; B 2 2 -1 49; B 2 2 7 49; B 2 2 15 49; B 2 2 22 52; B 2 2 34 52; B 2 2 -1 69; B 2 2 7 69; B 2 2 27 69; B 2 2 -1 16; B 2 2 7 16; B 2 2 15 16; B 2 2 22 16; B 2 2 34 16; B 2 2 -1 -1; B 2 2 7 -1; B 2 2 27 -1; L CV1; B 2 2 -1 25; B 2 2 15 25; B 2 2 -1 32; B 2 2 7 32; B 2 2 15 32; L CM2; B 20 4 -2 24; B 20 4 -2 31; L CM1; B 29 8 -8 -4; B 4 23 21 -4; B 18 8 25 -4; B 4 13 -2 15; B 4 13 14 15; B 4 20 6 15; B 4 21 -2 31; B 4 21 14 31; B 12 4 18 31; B 4 40 33 15; B 14 8 -8 66; B 4 26 6 48; B 11 8 10 66; B 4 28 21 46; B 18 8 25 66; L CPG; B 2 43 3 13; B 2 43 11 13; B 1 4 26 31; B 2 47 27 11; B 1 4 29 31; L CCP; B 2 2 27 32; L CWP; B 51 32 -8 -5; L CWN; B 51 37 -8 38; DF; C 1; End -------------------------------------------------------------------------------------------------------------------- GENERATED MAG FILE - LAYOUT SHOULD BE LIKE THIS (ties are defined with wrong layers) -------------------------------------------------------------------------------------------------------------------- magic << checkpaint >> rect -9 -6 44 76 << genericcontact >> rect 22 47 24 49 rect 34 47 36 49 rect -1 49 1 51 rect 7 49 9 51 rect 15 49 17 51 rect 22 52 24 54 rect 34 52 36 54 rect -1 69 1 71 rect 7 69 9 71 rect 27 69 29 71 rect -1 16 1 18 rect 7 16 9 18 rect 15 16 17 18 rect 22 16 24 18 rect 34 16 36 18 rect -1 -1 1 1 rect 7 -1 9 1 rect 27 -1 29 1 rect 27 32 29 34 << nwell >> rect -8 38 43 75 << gv1 >> rect -1 25 1 27 rect 15 25 17 27 rect -1 32 1 34 rect 7 32 9 34 rect 15 32 17 34 << polysilicon >> rect 3 13 5 56 rect 11 13 13 56 rect 26 31 27 35 rect 27 11 29 58 rect 29 31 30 35 << pdiffusion >> rect -2 -2 2 2 rect 6 -2 10 2 rect 26 -2 30 2 rect -2 46 18 54 rect 21 44 37 56 << ndiffusion >> rect -2 15 18 19 rect 21 13 37 21 rect -2 68 2 72 rect 6 68 10 72 rect 26 68 30 72 << metal2 >> rect -2 24 18 28 rect -2 31 18 35 << metal1 >> rect -8 -4 21 4 rect 21 -4 25 19 rect 25 -4 43 4 rect -2 15 2 28 rect 14 15 18 28 rect 6 15 10 35 rect -2 31 2 52 rect 14 31 18 52 rect 18 31 30 35 rect 33 15 37 55 rect -8 66 6 74 rect 6 48 10 74 rect 10 66 21 74 rect 21 46 25 74 rect 25 66 43 74 << pwell >> rect -8 -5 43 27 << end >> -------------- next part -------------- An HTML attachment was scrubbed... URL: http://vlsi.csl.cornell.edu/pipermail/magic-dev/attachments/20060112/11b913d9/attachment.html From tim.edwards at multigig.com Mon Jan 23 20:46:20 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Thu Oct 30 14:33:30 2008 Subject: [Magic-dev] Re: Magic lef read problems In-Reply-To: <20060124012454.47455.qmail@web53005.mail.yahoo.com> References: <20060124012454.47455.qmail@web53005.mail.yahoo.com> Message-ID: <43D5B11C.8060703@multigig.com> Dear Frank, > I get errors trying to do "lef read ibm01.lef" for a > well-known public benchmark in > http://er.cs.ucla.edu/benchmarks/ibm-place2/LEFDEF/ibm01-v2-lefdef.tar.gz > > I suppose the benchmark should be okay since it > probably get used many times. > So I suspect that I might did something wrong with my > magic. The default "scmos.tech" doesn't have a "lef" section that tells magic how to map layers from the LEF file to magic planes and layers. The "ibm01.lef" benchmark is a 4-layer metal technology, so you'll want to start with a 4-metal- layer (at least) techfile. I've attached "scmos8m.tech", which is posted on my website, except in the attached version I have pasted in a simple LEF section that I ripped out of another techfile. I used this on "ibm01.lef" and got better results. Note that LEF files, like GDS, don't define a current or top-level cell, so nothing shows up immediately. Do "cellname top" to get a list of the defined LEF macros that were loaded. I guess the LEF/DEF stuff is well-developed enough now that I should include a "lef" section in the default scmos.tech file, and the sample scmos8m.tech and scmos9m.tech files. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards@multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ -------------- next part -------------- tech version 29 scmos end version version 2003 description "SCMOS: Generic 8-metal layer process with stacked contacts" end # NOTES: # This tech file is designed to be used with magic version 7.3.4 or newer. # The stacked contacts are not compatible with magic versions 7.2 or earlier. planes well,w active,a metal1,m1 metal2,m2 metal3,m3 metal4,m4 metal5,m5 metal6,m6 metal7,m7 metal8,m8 oxide,ox comment,c end types well nwell,nw well pwell,pw well rnwell,rnw,wellres active ntransistor,nfet active ptransistor,pfet active ndiffusion,ndif,green active pdiffusion,pdif,brown active rndiffusion,rndiff,rnd active rpdiffusion,rpdiff,rpd active ndcontact,ndc active pdcontact,pdc active psubstratepdiff,ppdiff,ppd,psd active nsubstratendiff,nndiff,nnd,nsd active psubstratepcontact,pwcontact,pwc,psc active nsubstratencontact,nwcontact,nwc,nsc active polysilicon,red,poly,p,pl active polycontact,pcontact,polycut,pc,pl-m1 active rpoly,rp,resistor,res metal1 metal1,m1,blue metal1 m2contact,m2cut,m2c,via,v,via12,m1-m2 metal2 metal2,m2,purple metal2 m3contact,m3cut,m3c,via2,v2,via23,m2-m3 metal3 metal3,m3,cyan metal3 m4contact,m4cut,m4c,via3,v3,via34,m3-m4 metal4 metal4,m4,yellow metal4 m5contact,m5cut,m5c,via4,v4,via45,m4-m5 metal5 metal5,m5 metal5 m6contact,m6cut,m6c,via5,v5,via56,m5-m6 metal6 metal6,m6 metal6 m7contact,m7cut,m7c,via6,v6,via67,m6-m7 metal7 metal7,m7 metal7 m8contact,m8cut,m8c,via7,v7,via78,m7-m8 metal8 metal8,m8,topmetal,mtop metal8 pad oxide glass comment comment end contact pc poly metal1 ndc ndiff metal1 pdc pdiff metal1 nsc nsd metal1 psc psd metal1 m2c metal1 metal2 m3c metal2 metal3 m4c metal3 metal4 m5c metal4 metal5 m6c metal5 metal6 m7c metal6 metal7 m8c metal7 metal8 stackable end styles styletype mos nwell nwell pwell pwell ndiff ndiffusion pdiff pdiffusion nsd ndiff_in_nwell psd pdiff_in_pwell nfet ntransistor ntransistor_stripes pfet ptransistor ptransistor_stripes ndc ndiffusion metal1_alt contact_X'es pdc pdiffusion metal1_alt contact_X'es nsc ndiff_in_nwell metal1_alt contact_X'es psc pdiff_in_pwell metal1_alt contact_X'es poly polysilicon pc poly_contact contact_X'es metal1 metal1 m2c metal1 metal2 contact_waffle metal2 metal2 m3c metal2 metal3 via2 metal3 metal3 m4c metal3 metal4 via3 metal4 metal4 m5c metal4 metal5 via4 metal5 metal5 m6c metal5 metal6 via5 metal6 metal6 m7c metal6 metal7 via6 metal7 metal7 m8c metal7 metal8 via7 metal8 metal8 pad metal3 metal4 overglass via3 glass overglass res poly_resist poly_resist_stripes rnd ndiffusion poly_resist_stripes rpd pdiffusion nwell_field_implant rnw nwell nwell_field_implant comment comment error_p error_waffle error_s error_waffle error_ps error_waffle magnet via5 rotate via6 fence via7 end compose compose nfet poly ndiff compose pfet poly pdiff paint ndc nwell pdc paint nfet nwell pfet paint ndiff nwell pdiff paint psd nwell nsd paint psc nwell nsc paint pdc pwell ndc paint pfet pwell nfet paint pdiff pwell ndiff paint nsd pwell psd paint nsc pwell psc paint pad m1 pad paint pad m2c pad paint pad m2 pad paint pad m3 pad paint pad m4 pad paint pad m5 pad paint pad m6 pad paint pad m7 pad paint pad m8 pad end connect nwell,*nsd nwell,*nsd pwell,*psd pwell,*psd *m1 *m1 *m2 *m2 *m3 *m3 *m4 *m4 *m5 *m5 *m6 *m6 *m7 *m7 *m8 *m8 *ndiff,*nsd,*pdiff,*psd *ndiff,*nsd,*pdiff,*psd *poly,nfet,pfet *poly,nfet,pfet pad m1,m2,m3,m4,m5,m6,m7,m8 end cifoutput style lambda=0.065 scalefactor 65 calmaonly nanometers layer CWN nwell,rnw bloat-or *pdiff,pfet * 390 bloat-or *nsd * 195 grow 195 shrink 195 calma 21 0 templayer TNS ndc/m1,nsc/m1 grow 36 templayer TPS pdc/m1,psc/m1 grow 36 #diffusion auto-nselect (will have priority) templayer XDN bloat-or *ndiff,rnd * 130 *psd 0 or TNS #diffusion auto-pselect (will have priority) templayer XDP bloat-or *pdiff,rpd * 130 *nsd 0 or TPS #final pselect templayer FSP bloat-or *pdiff,*psd,rpd,pfet * 180 *ndiff,*nsd,rnd,nfet 0 or XDP #give diff nselect priority and-not XDN or TPS shrink 100 grow 100 grow 100 shrink 100 #final nselect templayer FSN bloat-or *ndiff,*nsd,rnd,nfet * 180 *pdiff,*psd,rpd,pfet 0 or XDN #never conflict with final pselect and-not FSP #drawn select always goes or TNS shrink 100 grow 100 grow 100 shrink 100 layer CSN FSN calma 32 0 layer CSP FSP calma 31 0 layer CAA *ndiff,rnd,nfet,*nsd,*pdiff,rpd,pfet,*psd labels *ndiff,rnd,nfet,*nsd,*pdiff,rpd,pfet,*psd calma 22 0 layer CCA ndc/m1,nsc/m1 squares 65 130 260 calma 33 0 layer CCA pdc/m1,psc/m1 squares 65 130 260 calma 33 0 layer CPG *poly,rp,nfet,pfet labels *poly,rp,nfet,pfet calma 30 0 layer CCP pc/m1 squares 65 130 260 calma 33 0 layer CVA m2c/m1 squares 65 195 195 calma 35 0 layer CVS m3c/m2 squares 65 195 195 calma 38 0 layer CVT m4c/m3 squares 65 195 195 calma 40 0 layer CVQ m5c/m4 squares 65 195 195 calma 41 0 layer CV5 m6c/m5 squares 65 195 195 calma 82 0 layer CV6 m7c/m6 squares 65 195 195 calma 127 0 layer CV7 m8c/m7 squares 65 360 360 calma 129 0 templayer XPAD1 pad shrink 54 templayer XPAD2 XPAD1 shrink 54 layer CM8 pad calma 53 0 layer CV7 XPAD2 squares 65 360 520 calma 129 0 layer CM7 pad calma 128 0 layer CV6 XPAD2 squares 520 195 585 calma 127 0 layer CM6 pad calma 126 0 layer CV5 XPAD2 squares 130 195 585 calma 82 0 layer CMP pad calma 81 0 layer CVQ XPAD2 squares 520 195 585 calma 41 0 layer CMQ pad calma 46 0 layer CVT XPAD2 squares 130 195 585 calma 40 0 layer CMT pad calma 42 0 layer CVS XPAD2 squares 520 195 585 calma 38 0 layer CMS pad calma 36 0 layer CVA XPAD2 squares 130 195 585 calma 35 0 layer CMF pad calma 34 0 layer CMF *m1 labels *m1 calma 34 0 templayer BM2 *m2 shrink 100 grow 100 layer CMS *m2 and-not BM2 grow 5 or BM2 labels *m2 calma 36 0 templayer BM3 *m3 shrink 100 grow 100 layer CMT *m3 and-not BM3 grow 5 or BM3 labels *m3 calma 42 0 templayer BM4 *m4 shrink 100 grow 100 layer CMQ *m4 and-not BM4 grow 5 or BM4 labels *m4 calma 46 0 templayer BM5 *m5 shrink 100 grow 100 layer CMP *m5 and-not BM5 grow 5 or BM5 labels *m5 calma 81 0 templayer BM6 *m6 shrink 100 grow 100 layer CM6 *m6 and-not BM6 grow 5 or BM6 labels *m6 calma 126 0 templayer BM7 *m7 shrink 100 grow 100 layer CM7 *m7 and-not BM7 grow 5 or BM7 labels *m7 calma 128 0 layer CM8 *m8 labels *m8 calma 53 0 layer COG pad shrink 364 or glass calma 37 0 render CWN 12 -0.2 0.2 render CAA 2 -0.15 0.15 render CPG 1 0.025 0.05 render CCA 19 0.0 0.2 render CCP 19 0.075 0.125 render CMF 20 0.2 0.05 render CVA 19 0.25 0.05 render CMS 21 0.3 0.05 render CVS 19 0.35 0.05 render CMT 22 0.4 0.05 render CVT 19 0.45 0.05 render CMQ 23 0.5 0.05 render CVQ 19 0.55 0.05 render CMP 24 0.6 0.05 render CV5 19 0.65 0.05 render CM6 64 0.7 0.05 render CV6 19 0.75 0.05 render CM7 65 0.8 0.05 render CV7 19 0.85 0.05 render CM8 66 0.9 0.05 style lambda=0.09(p) scalefactor 9 calmaonly layer CWN nwell,rnw bloat-or *pdiff,rpd,pfet * 54 bloat-or *nsd * 27 grow 27 shrink 27 calma 42 0 layer CWP pwell bloat-or *ndiff,rnd,nfet * 54 bloat-or *psd * 27 grow 27 shrink 27 and-not CWN calma 41 0 templayer TNS ndc/m1,nsc/m1 grow 5 templayer TPS pdc/m1,psc/m1 grow 5 #diffusion auto-nselect (will have priority) templayer XDN bloat-or *ndiff,rnd * 18 *psd 0 or TNS #diffusion auto-pselect (will have priority) templayer XDP bloat-or *pdiff,rpd * 18 *nsd 0 or TPS #final pselect templayer FSP bloat-or *pdiff,rpd,pfet,*psd * 18 *ndiff,rnd,*nsd,nfet 0 or XDP #give diff nselect priority and-not XDN or TPS shrink 14 grow 14 grow 14 shrink 14 #final nselect templayer FSN bloat-or *ndiff,rnd,nfet,*nsd * 18 *pdiff,rpd,*psd,pfet 0 or XDN #never conflict with final pselect and-not FSP #drawn select always goes or TNS shrink 14 grow 14 grow 14 shrink 14 layer CAA *ndiff,rnd,nfet,*nsd,*pdiff,rpd,pfet,*psd labels *ndiff,rnd,nfet,*nsd,*pdiff,rpd,pfet,*psd calma 43 0 layer CCA ndc/m1,nsc/m1 squares 09 18 36 calma 48 0 layer CCA pdc/m1,psc/m1 squares 09 18 36 calma 48 0 layer CPG *poly,rp,nfet,pfet labels *poly,rp,nfet,pfet calma 46 0 layer CCP pc/m1 squares 09 18 36 calma 47 0 layer CVA m2c/m1 squares 09 27 27 calma 50 0 layer CVS m3c/m2 squares 09 27 27 calma 61 0 layer CVT m4c/m3 squares 09 27 27 calma 30 0 layer CVQ m5c/m4 squares 09 27 27 calma 32 0 layer CV5 m6c/m5 squares 09 36 36 calma 36 0 templayer XPAD1 pad shrink 54 templayer XPAD2 XPAD1 shrink 54 layer CM6 pad calma 37 0 layer CV5 XPAD2 squares 09 36 72 calma 36 0 layer CMP pad calma 33 0 layer CVQ XPAD2 squares 72 27 81 calma 32 0 layer CMQ pad calma 31 0 layer CVT XPAD2 squares 18 27 81 calma 30 0 layer CMT pad calma 62 0 layer CVS XPAD2 squares 72 27 81 calma 61 0 layer CMS pad calma 51 0 layer CVA XPAD2 squares 18 27 81 calma 50 0 layer CMF pad calma 49 0 layer CMF *m1 labels *m1 calma 49 0 layer CMS *m2 labels *m2 calma 51 0 layer CMT *m3 labels *m3 calma 62 0 layer CMQ *m4 labels *m4 calma 31 0 layer CMP *m5 labels *m5 calma 33 0 layer CM6 *m6 labels *m6 calma 37 0 layer COG pad shrink 504 or glass calma 52 0 #CRE/CRM layer CRW rnw calma 65 0 layer CRG rp calma 67 0 layer CRD rnd,rpd calma 66 0 layer CRE rnw,rp,rnd,rpd calma 64 0 layer CX comment calma 63 0 end cifinput style lambda=0.065(chartered) scalefactor 65 calmaonly nanometers layer nwell CWN and-not CRW labels CWN calma CWN 42 * layer rnw CWN and CRW calma CWN 42 * layer pwell CWP labels CWP calma CWP 41 * layer ndiff CAA and-not CPG and-not CWN and-not CSP and CSN labels CAA calma CAA 43 * layer rnd CAA and CRD and-not CPG and-not CWN and-not CSP and CSN calma CAA 43 * layer pdiff CAA and-not CPG and CWN and-not CSN and CSP labels CAA calma CAA 43 * layer rpd CAA and CRD and-not CPG and CWN and-not CSN and CSP calma CAA 43 * layer nfet CAA and CPG and-not CWN and-not CSP and CSN labels CAA calma CAA 43 * layer pfet CAA and CPG and CWN and-not CSN and CSP labels CAA calma CAA 43 * layer nsd CAA and CWN and CSN and-not CSP labels CAA calma CAA 43 * layer psd CAA and-not CWN and-not CSN and CSP labels CAA calma CAA 43 * layer ndc CCA,CCC and CAA and CSN and-not CWN and CMF grow 65 grow 65 shrink 65 calma CCA 48 * layer nsc CCA,CCC and CAA and CSN and CWN and CMF grow 65 grow 65 shrink 65 calma CCA 48 * layer pdc CCA,CCC and CAA and CSP and CWN and CMF grow 65 grow 65 shrink 65 calma CCA 48 * layer psc CCA,CCC and CAA and CSP and-not CWN and CMF grow 65 grow 65 shrink 65 calma CCA 48 * layer poly CPG labels CPG calma CPG 46 * layer rp CPG and CRG calma CPG 46 * layer pc CCP,CCC and CPG and-not CAA grow 65 and CMF grow 65 shrink 65 calma CCP 47 * layer m2c CVA and-not XP grow 65 and CMS and CMF grow 35 shrink 35 calma CVA 50 * layer m1 CMF and-not XP labels CMF calma CMF 49 * layer m2 CMS and-not XP labels CMS calma CMS 51 * layer m3c CVS and-not XP grow 65 and CMT and CMS grow 35 shrink 35 calma CVS 61 * layer m3 CMT and-not XP labels CMT calma CMT 62 * layer m4 CMQ and-not XP labels CMQ calma CMQ 31 * layer m4c CVT and-not XP grow 65 and CMQ and CMT grow 65 shrink 65 calma CVT 30 * layer m5 CMP and-not XP labels CMP calma CMP 33 * layer m5c CVQ and-not XP grow 65 and CMP and CMQ grow 65 shrink 65 calma CVQ 32 * layer m6 CM6 and-not XP labels CM6 calma CM6 37 * layer m6c CV5 and-not XP grow 65 and CM6 and CMP grow 65 shrink 65 calma CV5 36 * layer m7 CM7 and-not XP labels CM7 calma CM7 128 * layer m7c CV6 and-not XP grow 65 and CM7 and CM6 grow 65 shrink 65 calma CV6 127 * layer m8 CM8 and-not XP labels CM8 calma CM8 53 * layer m8c CV7 and-not XP grow 65 and CM8 and CM7 grow 65 shrink 65 calma CV7 129 * layer pad XP labels pad calma XP 26 * layer glass COG and-not XP labels COG calma COG 52 * style lambda=0.09(p) scalefactor 09 layer nwell CWN and-not CRW labels CWN calma CWN 42 * layer rnw CWN and CRW calma CWN 42 * layer pwell CWP labels CWP calma CWP 41 * layer ndiff CAA and-not CRD and-not CPG and-not CWN and-not CSP and CSN labels CAA calma CAA 43 * layer rnd CAA and CRD and-not CPG and-not CWN and-not CSP and CSN calma CAA 43 * layer pdiff CAA and-not CRD and-not CPG and CWN and-not CSN and CSP labels CAA calma CAA 43 * layer rpd CAA and CRD and-not CPG and CWN and-not CSN and CSP calma CAA 43 * layer nfet CAA and CPG and-not CWN and-not CSP and CSN labels CAA calma CAA 43 * layer pfet CAA and CPG and CWN and-not CSN and CSP labels CAA calma CAA 43 * layer nsd CAA and CWN and CSN and-not CSP labels CAA calma CAA 43 * layer psd CAA and-not CWN and-not CSN and CSP labels CAA calma CAA 43 * layer ndc CCA,CCC and CAA and CSN and-not CWN and CMF grow 09 grow 9 shrink 9 calma CCA 48 * layer nsc CCA,CCC and CAA and CSN and CWN and CMF grow 09 grow 9 shrink 9 calma CCA 48 * layer pdc CCA,CCC and CAA and CSP and CWN and CMF grow 09 grow 9 shrink 9 calma CCA 48 * layer psc CCA,CCC and CAA and CSP and-not CWN and CMF grow 09 grow 9 shrink 9 calma CCA 48 * layer poly CPG and-not CRG labels CPG calma CPG 46 * layer rp CPG and CRG calma CPG 46 * layer pc CCP,CCC and CPG and-not CAA grow 09 and CMF grow 9 shrink 9 calma CCP 47 * layer m2c CVA and-not XP grow 09 and CMS and CMF grow 5 shrink 5 calma CVA 50 * layer m1 CMF and-not XP labels CMF calma CMF 49 * layer m2 CMS and-not XP labels CMS calma CMS 51 * layer m3c CVS and-not XP grow 09 and CMT and CMS grow 5 shrink 5 calma CVS 61 * layer m3 CMT and-not XP labels CMT calma CMT 62 * layer m4 CMQ and-not XP labels CMQ calma CMQ 31 * layer m4c CVT and-not XP grow 09 and CMQ and CMT grow 09 shrink 09 calma CVT 30 * layer m5 CMP and-not XP labels CMP calma CMP 33 * layer m5c CVQ and-not XP grow 09 and CMP and CMQ grow 09 shrink 09 calma CVQ 32 * layer m6 CM6 and-not XP labels CM6 calma CM6 37 * layer m6c CV5 and-not XP grow 09 and CM6 and CMP grow 09 shrink 09 calma CV5 36 * layer pad XP labels pad calma XP 26 * layer glass COG and-not XP labels COG calma COG 52 * layer comment CX labels CX calma CX 63 * end mzrouter style irouter # layer hCost vCost jogCost hintCost layer metal6 2 1 2 1 layer metal5 1 2 2 1 layer metal4 2 1 2 1 layer metal3 1 2 2 1 layer metal2 2 1 2 1 layer metal1 2 3 2 1 layer poly 10 10 11 1 contact m6contact metal6 metal5 2 contact m5contact metal5 metal4 3 contact m4contact metal4 metal3 4 contact m3contact metal3 metal2 5 contact m2contact metal2 metal1 6 contact pcontact metal1 poly 7 notactive poly pcontact style garouter layer m2 32 64 256 1 layer m1 64 32 256 1 contact m2contact metal1 metal2 1024 end drc width nwell 12 \ "N-well width < 12 (#NW.1a)" width rnw 28 \ "rnwell (for resistor L/W extraction) width < 28 (Mosis #1.1)" width pwell 12 \ "P-well width < 12 (Mosis #1.1)" width *ndiff,rnd,nfet,*nsd,*pdiff,rpd,pfet,*psd 3 \ "Diffusion width < 3 (#DF.1a)" edge4way *nsd *pdiff,rpd 4 ~(*nsd)/active *pdiff,rpd 4 \ "P-Diffusion width in N-Ohmic < 4 (Mosis #2.1)" edge4way *psd *ndiff,rnd 4 ~(*psd)/active *ndiff,rnd 4 \ "N-Diffusion width in P-Ohmic < 4 (Mosis #2.1)" edge4way *pdiff,rpd *nsd 4 ~(*pdiff,rpd)/active *nsd 4 \ "N-Ohmic width in P-Diffusion < 4 (Mosis #2.1)" edge4way *ndiff,rnd *psd 4 ~(*ndiff,rnd)/active *psd 4 \ "P-Ohmic width in N-Diffusion < 4 (Mosis #2.1)" width *poly,rp,nfet,pfet 2 \ "Poly width < 2 (Mosis #3.1)" width *ndiff,rnd,*nsd 3 \ "N-Diffusion,N-Ohmic width < 3 (Mosis #4.4)" width *pdiff,rpd,*psd 3 \ "P-Diffusion,P-Ohmic width < 3 (Mosis #4.4)" width pc/m1 4 \ "Poly contact width < 4 (Mosis #5.1)" width ndc/m1 4 \ "Diffusion contact width < 4 (Mosis #6.1)" width nsc/m1 4 \ "Diffusion contact width < 4 (Mosis #6.1)" width pdc/m1 4 \ "Diffusion contact width < 4 (Mosis #6.1)" width psc/m1 4 \ "Diffusion contact width < 4 (Mosis #6.1)" width (*m1)/m1 3 \ "Metal1 width < 3 (Mosis #7.1)" width (*m2)/m2 3 \ "Metal2 width < 3 (Mosis #9.1)" width (*m3)/m3 3 \ "Metal3 width < 3 (Mosis #15.1)" width (*m4)/m4 3 \ "Metal4 width < 3 (Mosis #22.1)" width (*m5)/m5 3 \ "Metal5 width < 3 (Mosis #26.2)" width (*m6)/m6 3 \ "Metal6 width < 3 (#M6.1)" width (*m7)/m7 3 \ "Metal7 width < 3 (#M7.1)" width (*m8)/m8 7 \ "Metal8 width < 7 (#M8.1)" width m2c 5 \ "Via1 width < 5 (#V1.1)" width m3c 5 \ "Via2 width < 5 (#V2.1)" width m4c 5 \ "Via3 width < 5 (#V3.1)" width m5c 5 \ "Via4 width < 5 (#V4.1)" width m6c 5 \ "Via5 width < 5 (#V5.1)" width m7c 5 \ "Via6 width < 5 (#V6.1)" width m8c 9 \ "Via7 width < 9 (#V7.1)" spacing nwell nwell 6 touching_ok \ "N-well(at-same-potential) spacing < 6 (Mosis #1.3)" spacing pwell pwell 6 touching_ok \ "P-well(at-same-potential) spacing < 6 (Mosis #1.3)" spacing rnw nwell 18 touching_illegal \ "rnw (for resistor L/W extraction) spacing to N-well < 18 (Mosis #2.3)" edge4way ~(pwell)/well pwell 1 ~(rnw)/active 0 0 \ "P-well cannot touch rnw (for resistor L/W extraction) (Mosis #1.4)" spacing *ndiff,rnd,*nsd,*pdiff,rpd,*psd,nfet,pfet \ *ndiff,rnd,*nsd,*pdiff,rpd,*psd,nfet,pfet 3 touching_ok \ "Diffusion spacing < 3 (Mosis #2.2)" spacing nwell *ndiff,rnd,nfet 6 touching_illegal \ "N-well spacing to N-Diffusion < 6 (Mosis #2.3)" spacing pwell *pdiff,rpd,pfet 6 touching_illegal \ "P-well spacing to P-Diffusion < 6 (Mosis #2.3)" spacing *ndiff,rnd,nfet *pdiff,rpd,pfet 12 touching_illegal \ "N-Diffusion spacing to P-Diffusion < 12 (Mosis #2.3+2.3)" surround *pdiff,rpd,pfet nwell 6 absence_ok \ "N-well overlap of P-Diffusion < 6 (Mosis #2.4)" surround *ndiff,rnd,nfet pwell 6 absence_ok \ "P-well overlap of N-Diffusion < 6 (Mosis #2.4)" surround *nsd nwell 3 absence_ok \ "N-well overlap of N-Ohmic < 3 (Mosis #2.4)" surround *psd pwell 3 absence_ok \ "P-well overlap of P-Ohmic < 3 (Mosis #2.4)" spacing *ndiff,rnd *nsd 9 touching_illegal \ "N-Diffusion spacing to N-Ohmic < 9 (Mosis #2.3+2.4)" spacing *pdiff,rpd *psd 9 touching_illegal \ "P-Diffusion spacing to P-Ohmic < 9 (Mosis #2.3+2.4)" spacing nwell *psd 3 touching_illegal \ "N-well spacing to P-Ohmic < 3 (Mosis #2.4)" spacing pwell *nsd 3 touching_illegal \ "P-well spacing to N-Ohmic < 3 (Mosis #2.4)" spacing *psd rnw 3 touching_illegal \ "P-Ohmic spacing to rnw < 3 (Mosis #2.4)" spacing *nsd *psd 6 touching_illegal \ "N-Ohmic spacing to P-Ohmic < 6 (Mosis #2.4+2.4)" spacing *ndiff,rnd,nfet *psd 4 touching_ok \ "N-Diffusion spacing to P-Ohmic < 4 (Mosis #2.5)" spacing *pdiff,rpd,pfet *nsd 4 touching_ok \ "P-Diffusion spacing to N-Ohmic < 4 (Mosis #2.5)" spacing *poly,rp,nfet,pfet *poly,rp,nfet,pfet 3 touching_ok \ "Poly spacing < 3 (Mosis #3.2)" spacing nfet,pfet nfet,pfet 4 touching_ok \ "Poly spacing < 4 (Mosis #3.2.a)" overhang *poly,rp nfet,pfet 3 \ "Poly overhang of Transistor < 3 (Mosis #3.3)" overhang *ndiff,rnd,*pdiff,rpd nfet,pfet 4 \ "N-Diffusion,P-Diffusion overhang of Transistor < 4 (Mosis #3.4)" edge4way *poly,rp ~(*poly,rp,nfet,pfet)/active 1 space space 1 \ "Poly spacing to Diffusion < 1 (Mosis #3.5)" edge4way nfet ~(nfet)/active 4 ~(*psd)/active ~(nfet)/active 3 \ "N-Transistor space to P-Ohmic < 4 (Mosis #4.1)" edge4way pfet ~(pfet)/active 4 ~(*nsd)/active ~(pfet)/active 3 \ "P-Transistor space to N-Ohmic < 4 (Mosis #4.1)" area *nsd,*psd 16 3 \ "Ohmic-Diffusion area < 16 (Mosis #+++)" edge4way *ndiff,rnd *psd 2 ~(*ndiff,rnd)/active 0 0 \ "P-Ohmic (that touches N-Diffusion) width < 2 (Mosis #4.4)" edge4way *pdiff,rpd *nsd 2 ~(*pdiff,rpd)/active 0 0 \ "N-Ohmic (that touches P-Diffusion) width < 2 (Mosis #4.4)" spacing *poly,rp pc/a 4 touching_ok \ "Poly spacing to Poly contact < 4 (Mosis #5.5.b)" spacing pc/a pc/a 2 touching_ok \ "Poly contact spacing < 2 (Mosis #6.3)" spacing ndc/a,pdc/a,psc/a,nsc/a ndc/a,pdc/a,psc/a,nsc/a 2 touching_ok \ "Diffusion contact spacing < 2 (Mosis #6.3)" # edge4way *ndiff,rnd ~(*ndiff,rnd)/active 0 ~(pdc/a,psc/a)/active \ # ~(*ndiff,rnd)/active 0 \ # "N-Diffusion space to Diffusion contact < 0 (Mosis #6.2x)" # edge4way *pdiff,rpd ~(*pdiff,rpd)/active 0 ~(ndc/a,nsc/a)/active \ # ~(*pdiff,rpd)/active 0 \ # "P-Diffusion space to Diffusion contact < 0 (Mosis #6.2x)" # edge4way *nsd ~(*nsd)/active 0 ~(pdc/a,psc/a)/active ~(*nsd)/active 0 \ # "N-Ohmic space to Diffusion contact < 0 (Mosis #6.2x)" # edge4way *psd ~(*psd)/active 0 ~(ndc/a,nsc/a)/active ~(*psd)/active 0 \ # "P-Ohmic space to Diffusion contact < 0 (Mosis #6.2x)" spacing nsc/m1 pdc/m1 2 touching_illegal \ "nsc spacing to pdc < 2 (Mosis #6.3)" spacing psc/m1 ndc/m1 2 touching_illegal \ "psc spacing to ndc < 2 (Mosis #6.3)" spacing nfet,pfet ndc/a,pdc/a,nsc/a,psc/a 1 touching_illegal \ "N-Transistor,P-Transistor spacing to Diffusion contact < 1 (Mosis #6.4)" spacing *ndiff,rnd,nfet,*nsd,*pdiff,rpd,pfet,*psd pc/a 1 touching_illegal \ "Diffusion spacing to Poly contact < 1 (Mosis #6.5.b)" spacing *ndiff,rnd,nfet,*nsd,*pdiff,rpd,pfet,*psd ndc/a,pdc/a,psc/a,nsc/a \ 4 touching_ok \ "Diffusion spacing to Diffusion contact < 4 (Mosis #6.5.b)" spacing pc/a ndc/a,pdc/a,psc/a,nsc/a 2 touching_illegal \ "Poly contact spacing to Diffusion contact < 2 (Mosis #6.7)" spacing *m1 *m1 3 touching_ok \ "Metal1 spacing < 3 (Mosis #7.2)" widespacing m1 153 m1 10 touching_ok \ "Spacing to wide (> 10um) metal1 < 10 (#M1.2B)" spacing *m2 *m2 4 touching_ok \ "Metal2 spacing < 4 (Mosis #9.2)" width glass 10 \ "overglass width < 10 (Mosis #10.2)" surround glass pad 67 absence_illegal \ "pad overlap of overglass < 67 (Mosis #10.3)" spacing *m3 *m3 4 touching_ok \ "Metal3 spacing < 4 (Mosis #15.2)" spacing *m4 *m4 4 touching_ok \ "Metal4 spacing < 4 (Mosis #22.2)" spacing *m5 *m5 4 touching_ok \ "Metal5 spacing < 4 (Mosis #26.3)" spacing m6c/m5 m6c/m5 2 touching_ok \ "Metal6 contact spacing < 2 (Mosis #29.3b)" spacing *m6 *m6 4 touching_ok \ "Metal6 spacing < 4 (Mosis #30.3)" spacing *m7 *m7 4 touching_ok \ "Metal7 spacing < 4 (Mosis #30.3)" spacing *m8 *m8 8 touching_ok \ "Metal8 spacing < 8 (#MT.2a)" rect_only ndc/a,nsc/a "Contact not rectangular (Magic rule)" rect_only pdc/a,psc/a "Contact not rectangular (Magic rule)" rect_only pc/a "Contact not rectangular (Magic rule)" rect_only m2c/m1 "Contact not rectangular (Magic rule)" rect_only m3c/m2 "Contact not rectangular (Magic rule)" rect_only m4c/m3 "Contact not rectangular (Magic rule)" rect_only m5c/m4 "Contact not rectangular (Magic rule)" rect_only m6c/m5 "Contact not rectangular (Magic rule)" rect_only m7c/m6 "Contact not rectangular (Magic rule)" rect_only m8c/m7 "Contact not rectangular (Magic rule)" exact_overlap ndc/a,pdc/a,psc/a,nsc/a,pc/a exact_overlap ndc/m1,nsc/m1,pdc/m1,psc/m1,pc/m1 exact_overlap m2c/m2 exact_overlap m3c/m3 exact_overlap m4c/m4 exact_overlap m5c/m5 exact_overlap m6c/m6 exact_overlap m7c/m7 exact_overlap m8c/m8 rect_only nfet,pfet "Transistor cannot bend in this process (#PL.6)" stepsize 400 end #----------------------------------------------------------------- # LEF format definitions #----------------------------------------------------------------- lef # LEF layer names corresponding to magic layer names masterslice ndiff diffusion active masterslice poly poly POLY1 pl routing m1 m1 metal1 METAL1 METAL_1 routing m2 m2 metal2 METAL2 METAL_2 routing m3 m3 metal3 METAL3 METAL_3 routing m4 m4 metal4 METAL4 METAL_4 routing m5 m5 metal5 METAL5 METAL_5 routing m6 m6 metal6 METAL6 METAL_6 routing m7 m7 metal7 METAL7 METAL_7 routing m8 m8 metal8 METAL8 METAL_8 cut pc cont1 pl-m1 cut m2c via1 cont2 VIA12 m1-m2 cut m3c via2 cont3 VIA23 m2-m3 cut m4c via3 cont4 VIA34 m3-m4 cut m5c via4 cont5 VIA45 m4-m5 cut m6c via5 cont6 VIA56 m5-m6 cut m7c via6 cont7 VIA67 m6-m7 cut m8c via7 cont8 VIA78 m7-m8 overlap comment overlap OVERLAP # LEF layer name translations for obstruction geometry obs obsact diffusion ISLND_BLK obs obspoly poly POLY_BLK obs obsm1 metal1 cont2 MET1_BLK obs obsm2 metal2 cont3 MET2_BLK obs obsm3 metal3 cont4 MET3_BLK obs obsm4 metal4 cont5 MET4_BLK obs obsm5 metal5 cont6 MET5_BLK obs obsm6 metal6 cont7 MET6_BLK obs obsm7 metal7 cont8 MET7_BLK obs obsm8 metal8 MET8_BLK end extract style standard cscale 1 lambda 9 step 100 sidehalo 8 planeorder well 0 planeorder active 1 planeorder metal1 2 planeorder metal2 3 planeorder metal3 4 planeorder metal4 5 planeorder metal5 6 planeorder metal6 7 planeorder metal7 8 planeorder metal8 9 planeorder oxide 10 planeorder comment 11 resist (*ndiff,rnd,*nsd)/active 4700 resist (*pdiff,rpd,*psd)/active 3500 resist (nwell)/well 1191000 resist (rnw)/active 1191000 resist (pwell)/well 1 resist (*poly,nfet,pfet)/active 4200 resist (rp)/active 4200 resist (*m1)/metal1 60 resist (*m2)/metal2 80 resist (*m3)/metal3 80 resist (*m4)/metal4 80 resist (*m5)/metal5 30 resist (*m6)/metal6 30 contact ndc 4 6700 contact pdc 4 5700 contact pc 4 5700 contact m2c 4 2020 contact m3c 4 4070 contact m4c 4 5790 #nwell,pwell areacap (nwell)/well 0.502 #rnw areacap (rnw)/active 0.502 #ndiff # MODEL HANDLES THIS: areacap (*ndiff)/active 15.163 # MODEL HANDLES THIS: overlap (*ndiff)/active ~space/w 15.163 # MODEL HANDLES THIS: perimc (*ndiff)/active ~(*ndiff,nfet,pfet)/active 39.600 # MODEL HANDLES THIS: sideoverlap (*ndiff)/active ~(*ndiff,nfet,pfet)/active \ # ~space/w 39.600 areacap (rnd)/active 15.163 overlap (rnd)/active ~space/w 15.163 perimc (rnd)/active ~(rnd)/active 39.600 sideoverlap (rnd)/active ~(rnd)/active ~space/w 39.600 #pdiff # MODEL HANDLES THIS: areacap (*pdiff)/active 15.204 # MODEL HANDLES THIS: overlap (*pdiff)/active ~space/w 15.204 # MODEL HANDLES THIS: perimc (*pdiff)/active ~(*pdiff,nfet,pfet)/active 31.680 # MODEL HANDLES THIS: sideoverlap (*pdiff)/active ~(*pdiff,nfet,pfet)/active \ # ~space/w 31.680 areacap (rpd)/active 15.204 overlap (rpd)/active ~space/w 15.204 perimc (rpd)/active ~(rpd)/active 31.680 sideoverlap (rpd)/active ~(rpd)/active ~space/w 31.680 #poly # MODEL HANDLES THIS: overlap (nfet)/active (*ndiff,rnd)/active 47.887 # MODEL HANDLES THIS: sideoverlap (nfet)/active ~(nfet)/active \ # (*ndiff,rnd)/active 56.430 # MODEL HANDLES THIS: overlap (pfet)/active (*pdiff)/active 46.097 # MODEL HANDLES THIS: sideoverlap (pfet)/active ~(pfet)/active \ # (*pdiff,rpd)/active 50.310 sidewall (*poly,rp)/active ~(*poly,rp)/active ~(*poly,rp)/active \ (*poly,rp)/active 12.714 areacap (*poly,rp)/active 0.786 overlap (*poly,rp)/active ~space/w 0.786 perimc (*poly,rp)/active ~(*poly,rp)/active 2.316 sideoverlap (*poly,rp)/active ~(*poly,rp)/active ~space/w 2.316 #metal1 sidewall (*m1)/metal1 ~(*m1)/metal1 ~(*m1)/metal1 (*m1)/metal1 23.087 areacap (*m1)/metal1 0.308 #metal1-sub blocked by ~space/a overlap (*m1)/metal1 ~space/w 0.308 ~space/a perimc (*m1)/metal1 ~(*m1)/metal1 2.070 sideoverlap (*m1)/metal1 ~(*m1)/metal1 ~space/w 2.070 ~space/a #rnw overlap (*m1)/metal1 rnw/active 0.308 sideoverlap (*m1)/metal1 ~(*m1)/metal1 rnw/active 2.070 #metal1-diff blocked by overlap (*m1)/metal1 (*ndiff,rnd)/active 0.405 sideoverlap (*m1)/metal1 ~(*m1)/metal1 (*ndiff,rnd)/active 2.070 overlap (*m1)/metal1 (*pdiff,rpd)/active 0.405 sideoverlap (*m1)/metal1 ~(*m1)/metal1 (*pdiff,rpd)/active 2.070 #metal1-poly blocked by overlap (*m1)/metal1 (*poly,rp,nfet,pfet)/active 0.510 sideoverlap (*m1)/metal1 ~(*m1)/metal1 (*poly,rp,nfet,pfet)/active 6.300 sideoverlap (*poly,rp,nfet,pfet)/active ~(*poly,rp,nfet,pfet)/active \ (*m1)/metal1 6.300 #metal2 sidewall (*m2)/metal2 ~(*m2)/metal2 ~(*m2)/metal2 (*m2)/metal2 25.475 areacap (*m2)/metal2 0.154 #metal2-sub blocked by overlap (m2,m3c)/metal2 ~space/w 0.154 ~space/a,~space/m1 perimc (*m2)/metal2 ~(*m2)/metal2 5.400 sideoverlap (*m2)/metal2 ~(*m2)/metal2 ~space/w 5.400 ~space/a,~space/m1 overlap (m2,m3c)/metal2 rnw/active 0.154 ~space/m1 sideoverlap (*m2)/metal2 ~(*m2)/metal2 rnw/active 5.400 ~space/m1 #metal2-*diff blocked by ~space/m1 overlap (m2,m3c)/metal2 (*ndiff,rnd)/active 0.162 ~space/m1 sideoverlap (*m2)/metal2 ~(*m2)/metal2 (*ndiff,rnd)/active 5.400 ~space/m1 overlap (m2,m3c)/metal2 (*pdiff,rpd)/active 0.162 ~space/m1 sideoverlap (*m2)/metal2 ~(*m2)/metal2 (*pdiff,rpd)/active 5.400 ~space/m1 #metal2-poly blocked by ~space/m1 overlap (m2,m3c)/metal2 (*poly,rp,nfet,pfet)/active 0.138 ~space/m1 sideoverlap (*m2)/metal2 ~(*m2)/metal2 (*poly,rp,nfet,pfet)/active \ 3.780 ~space/m1 sideoverlap (*poly,rp,nfet,pfet)/active ~(*poly,rp,nfet,pfet)/active \ (*m2)/metal2 3.780 ~space/m1 #M2->M1 overlap (m2,m3c)/metal2 (*m1)/metal1 0.300 sideoverlap (*m2)/metal2 ~(*m2)/metal2 (*m1)/metal1 4.680 sideoverlap (*m1)/metal1 ~(*m1)/metal1 (*m2)/metal2 4.680 #metal3 sidewall (*m3)/metal3 ~(*m3)/metal3 ~(*m3)/metal3 (*m3)/metal3 26.825 areacap (*m3)/metal3 0.105 #metal3-sub blocked by ~space/a,~space/m1,~space/m2 overlap (m3,m4c)/metal3 ~space/w 0.105 ~space/a,~space/m1,~space/m2 perimc (*m3)/metal3 ~(*m3)/metal3 5.040 sideoverlap (*m3)/metal3 ~(*m3)/metal3 ~space/w 5.040 \ ~space/a,~space/m1,~space/m2 #rnw overlap (m3,m4c)/metal3 rnw/active 0.105 ~space/m1,~space/m2 sideoverlap (*m3)/metal3 ~(*m3)/metal3 rnw/active 5.040 \ ~space/m1,~space/m2 #metal3-*diff blocked by ~space/m1,~space/m2 overlap (m3,m4c)/metal3 (*ndiff,rnd)/active 0.113 ~space/m1,~space/m2 sideoverlap (*m3)/metal3 ~(*m3)/metal3 (*ndiff,rnd)/active 5.040 \ ~space/m1,~space/m2 overlap (m3,m4c)/metal3 (*pdiff,rpd)/active 0.113 ~space/m1,~space/m2 sideoverlap (*m3)/metal3 ~(*m3)/metal3 (*pdiff,rpd)/active 5.040 \ ~space/m1,~space/m2 #metal3-poly blocked by ~space/m1,~space/m2 overlap (m3,m4c)/metal3 (*poly,rp,nfet,pfet)/active 0.081 ~space/m1,~space/m2 sideoverlap (*m3)/metal3 ~(*m3)/metal3 (*poly,rp,nfet,pfet)/active 2.700 \ ~space/m1,~space/m2 sideoverlap (*poly,rp,nfet,pfet)/active ~(*poly,rp,nfet,pfet)/active \ (*m3)/metal3 2.700 ~space/m1,~space/m2 #M3->M1 #metal3-metal1 blocked by ~space/m2 overlap (m3,m4c)/metal3 (*m1)/metal1 0.122 ~space/m2 sideoverlap (*m3)/metal3 ~(*m3)/metal3 (*m1)/metal1 3.240 ~space/m2 sideoverlap (*m1)/metal1 ~(*m1)/metal1 (*m3)/metal3 3.240 ~space/m2 #M3->M2 overlap (m3,m4c)/metal3 (*m2)/metal2 0.308 sideoverlap (*m3)/metal3 ~(*m3)/metal3 (*m2)/metal2 4.410 sideoverlap (*m2)/metal2 ~(*m2)/metal2 (*m3)/metal3 4.410 #metal4 sidewall (*m4)/metal4 ~(*m4)/metal4 ~(*m4)/metal4 (*m4)/metal4 72.420 areacap (m4)/metal4 0.065 #metal4-sub blocked by ~space/a,~space/m1,~space/m2,~space/m3 overlap (m4)/metal4 ~space/w 0.065 ~space/a,~space/m1,~space/m2,~space/m3 perimc (*m4)/metal4 ~(*m4)/metal4 3.780 sideoverlap (*m4)/metal4 ~(*m4)/metal4 ~space/w 3.780 \ ~space/a,~space/m1,~space/m2,~space/m3 #rnw overlap (m4)/metal4 rnw/active 0.065 ~space/m1,~space/m2,~space/m3 sideoverlap (*m4)/metal4 ~(*m4)/metal4 rnw/active 3.780 \ ~space/m1,~space/m2,~space/m3 #metal4-*diff blocked by ~space/m1,~space/m2,~space/m3 overlap (m4)/metal4 (*ndiff,rnd)/active 0.089 ~space/m1,~space/m2,~space/m3 sideoverlap (*m4)/metal4 ~(*m4)/metal4 (*ndiff,rnd)/active 3.780 \ ~space/m1,~space/m2,~space/m3 overlap (m4)/metal4 (*pdiff,rpd)/active 0.089 ~space/m1,~space/m2,~space/m3 sideoverlap (*m4)/metal4 ~(*m4)/metal4 (*pdiff,rpd)/active 3.780 \ ~space/m1,~space/m2,~space/m3 #metal4-poly blocked by ~space/m1,~space/m2,~space/m3 overlap (m4)/metal4 (*poly,rp,nfet,pfet)/active 0.057 \ ~space/m1,~space/m2,~space/m3 sideoverlap (*m4)/metal4 ~(*m4)/metal4 (*poly,rp,nfet,pfet)/active 2.160 \ ~space/m1,~space/m2,~space/m3 sideoverlap (*poly,rp,nfet,pfet)/active ~(*poly,rp,nfet,pfet)/active \ (*m4)/metal4 2.160 ~space/m1,~space/m2,~space/m3 #M4->M1 #metal4-metal1 blocked by ~space/m2,~space/m3 overlap (m4)/metal4 (*m1)/metal1 0.073 ~space/m2,~space/m3 sideoverlap (*m4)/metal4 ~(*m4)/metal4 (*m1)/metal1 2.610 ~space/m2,~space/m3 sideoverlap (*m1)/metal1 ~(*m1)/metal1 (*m4)/metal4 2.610 ~space/m2,~space/m3 #M4->M2 #metal4-metal2 blocked by ~space/m3 overlap (m4)/metal4 (*m2)/metal2 0.122 ~space/m3 sideoverlap (*m4)/metal4 ~(*m4)/metal4 (*m2)/metal2 3.240 ~space/m3 sideoverlap (*m2)/metal2 ~(*m2)/metal2 (*m4)/metal4 3.240 ~space/m3 #M4->M3 overlap (m4)/metal4 (*m3)/metal3 0.308 sideoverlap (*m4)/metal4 ~(*m4)/metal4 (*m3)/metal3 4.680 sideoverlap (*m3)/metal3 ~(*m3)/metal3 (*m4)/metal4 4.680 #metal5 sidewall (*m5)/metal5 ~(*m5)/metal5 ~(*m5)/metal5 (*m5)/metal5 13.090 areacap (m5)/metal5 0.065 #metal5-sub blocked by ~space/a,~space/m1,~space/m2,~space/m3,~space/m4 overlap (m5)/metal5 ~space/w 0.065 \ ~space/a,~space/m1,~space/m2,~space/m3,~space/m4 perimc (*m5)/metal5 ~(*m5)/metal5 2.160 sideoverlap (*m5)/metal5 ~(*m5)/metal5 ~space/w 2.160 \ ~space/a,~space/m1,~space/m2,~space/m3,~space/m4 #rnw overlap (m5)/metal5 rnw/active 0.065 \ ~space/m1,~space/m2,~space/m3,~space/m4 sideoverlap (*m5)/metal5 ~(*m5)/metal5 rnw/active 2.160 \ ~space/m1,~space/m2,~space/m3,~space/m4 #metal5-*diff blocked by ~space/m1,~space/m2,~space/m3,~space/m4 overlap (m5)/metal5 (*ndiff,rnd)/active 0.073 \ ~space/m1,~space/m2,~space/m3,~space/m4 sideoverlap (*m5)/metal5 ~(*m5)/metal5 (*ndiff,rnd)/active 2.160 \ ~space/m1,~space/m2,~space/m3,~space/m4 overlap (m5)/metal5 (*pdiff,rpd)/active 0.073 \ ~space/m1,~space/m2,~space/m3,~space/m4 sideoverlap (*m5)/metal5 ~(*m5)/metal5 (*pdiff,rpd)/active 2.160 \ ~space/m1,~space/m2,~space/m3,~space/m4 #metal5-poly blocked by ~space/m1,~space/m2,~space/m3,~space/m4 overlap (m5)/metal5 (*poly,rp,nfet,pfet)/active 0.049 \ ~space/m1,~space/m2,~space/m3,~space/m4 sideoverlap (*m5)/metal5 ~(*m5)/metal5 (*poly,rp,nfet,pfet)/active 1.890 \ ~space/m1,~space/m2,~space/m3,~space/m4 sideoverlap (*poly,rp,nfet,pfet)/active ~(*poly,rp,nfet,pfet)/active \ (*m5)/metal5 1.890 ~space/m1,~space/m2,~space/m3,~space/m4 #M5->M1 #metal5-metal1 blocked by ~space/m2,~space/m3,~space/m4 overlap (m5)/metal5 (*m1)/metal1 0.073 ~space/m2,~space/m3,~space/m4 sideoverlap (*m5)/metal5 ~(*m5)/metal5 (*m1)/metal1 2.160 \ ~space/m2,~space/m3,~space/m4 sideoverlap (*m1)/metal1 ~(*m1)/metal1 (*m5)/metal5 2.160 \ ~space/m2,~space/m3,~space/m4 #M5->M2 #metal5-metal2 blocked by ~space/(m3,m4) overlap (m5)/metal5 (*m2)/metal2 0.073 ~space/m3,~space/m4 sideoverlap (*m5)/metal5 ~(*m5)/metal5 (*m2)/metal2 2.610 ~space/m3,~space/m4 sideoverlap (*m2)/metal2 ~(*m2)/metal2 (*m5)/metal5 2.610 ~space/m3,~space/m4 #M5->M3 #metal5-metal3 blocked by ~space/m4 overlap (m5)/metal5 (*m3)/metal3 0.122 ~space/m4 sideoverlap (*m5)/metal5 ~(*m5)/metal5 (*m3)/metal3 3.420 ~space/m4 sideoverlap (*m3)/metal3 ~(*m3)/metal3 (*m5)/metal5 3.420 ~space/m4 #M5->M4 overlap (m5)/metal5 (*m4)/metal4 0.300 sideoverlap (*m5)/metal5 ~(*m5)/metal5 (*m4)/metal4 5.850 sideoverlap (*m4)/metal4 ~(*m4)/metal4 (*m5)/metal5 5.850 #metal6 sidewall (*m6)/metal6 ~(*m6)/metal6 ~(*m6)/metal6 (*m6)/metal6 27.675 areacap (m6)/metal6 0.065 #metal6-sub blocked by ~space/(a,m1,m2,m3,m4,m5) overlap (m6)/metal6 ~space/w 0.065 \ ~space/a,~space/m1,~space/m2,~space/m3,~space/m4,~space/m5 perimc (*m6)/metal6 ~(*m6)/metal6 2.160 sideoverlap (*m6)/metal6 ~(*m6)/metal6 ~space/w 2.160 \ ~space/a,~space/m1,~space/m2,~space/m3,~space/m4,~space/m5 #rnw overlap (m6)/metal6 rnw/active 0.065 \ ~space/m1,~space/m2,~space/m3,~space/m4,~space/m5 sideoverlap (*m6)/metal6 ~(*m6)/metal6 rnw/active 2.160 \ ~space/m1,~space/m2,~space/m3,~space/m4,~space/m5 #metal6-*diff blocked by ~space/m1,~space/m2,~space/m3,~space/m4,~space/m5 overlap (m6)/metal6 (*ndiff,rnd)/active 0.073 \ ~space/m1,~space/m2,~space/m3,~space/m4,~space/m5 sideoverlap (*m6)/metal6 ~(*m6)/metal6 (*ndiff,rnd)/active 2.160 \ ~space/m1,~space/m2,~space/m3,~space/m4,~space/m5 overlap (m6)/metal6 (*pdiff,rpd)/active 0.073 \ ~space/m1,~space/m2,~space/m3,~space/m4,~space/m5 sideoverlap (*m6)/metal6 ~(*m6)/metal6 (*pdiff,rpd)/active 2.160 \ ~space/m1,~space/m2,~space/m3,~space/m4,~space/m5 #metal6-poly blocked by ~space/m1,~space/m2,~space/m3,~space/m4,~space/m5 overlap (m6)/metal6 (*poly,rp,nfet,pfet)/active 0.049 \ ~space/m1,~space/m2,~space/m3,~space/m4,~space/m5 sideoverlap (*m6)/metal6 ~(*m6)/metal6 (*poly,rp,nfet,pfet)/active 1.890 \ ~space/m1,~space/m2,~space/m3,~space/m4,~space/m5 sideoverlap (*poly,rp,nfet,pfet)/active ~(*poly,rp,nfet,pfet)/active \ (*m6)/metal6 1.890 ~space/m1,~space/m2,~space/m3,~space/m4,~space/m5 #M6->M1 #metal6-metal1 blocked by ~space/m2,~space/m3,~space/m4,~space/m5 overlap (m6)/metal6 (*m1)/metal1 0.073 ~space/m2,~space/m3,~space/m4,~space/m5 sideoverlap (*m6)/metal6 ~(*m6)/metal6 (*m1)/metal1 2.160 \ ~space/m2,~space/m3,~space/m4,~space/m5 sideoverlap (*m1)/metal1 ~(*m1)/metal1 (*m6)/metal6 2.160 \ ~space/m2,~space/m3,~space/m4,~space/m5 #M6->M2 #metal6-metal2 blocked by ~space/m3,~space/m4,~space/m5 overlap (m6)/metal6 (*m2)/metal2 0.073 ~space/m3,~space/m4,~space/m5 sideoverlap (*m6)/metal6 ~(*m6)/metal6 (*m2)/metal2 2.610 \ ~space/m3,~space/m4,~space/m5 sideoverlap (*m2)/metal2 ~(*m2)/metal2 (*m6)/metal6 2.610 \ ~space/m3,~space/m4,~space/m5 #M6->M3 #metal6-metal3 blocked by ~space/m4,~space/m5 overlap (m6)/metal6 (*m3)/metal3 0.122 ~space/m4,~space/m5 sideoverlap (*m6)/metal6 ~(*m6)/metal6 (*m3)/metal3 3.420 ~space/m4,~space/m5 sideoverlap (*m3)/metal3 ~(*m3)/metal3 (*m6)/metal6 3.420 ~space/m4,~space/m5 #M6->M4 #metal6-metal4 blocked by ~space/m5 overlap (m6)/metal6 (*m4)/metal4 0.300 ~space/m5 sideoverlap (*m6)/metal6 ~(*m6)/metal6 (*m4)/metal4 5.850 ~space/m5 sideoverlap (*m4)/metal4 ~(*m4)/metal4 (*m6)/metal6 5.850 ~space/m5 #M6->M5 overlap (m6)/metal6 (*m5)/metal5 0.300 sideoverlap (*m6)/metal6 ~(*m6)/metal6 (*m5)/metal5 5.850 sideoverlap (*m5)/metal5 ~(*m5)/metal5 (*m6)/metal6 5.850 #devices device mosfet pfet pfet pdiff,pdc nwell Vdd! 50 46 device mosfet nfet nfet ndiff,ndc pwell Gnd! 50 46 fetresis pfet linear 41017 fetresis pfet saturation 41017 fetresis nfet linear 8770 fetresis nfet saturation 8770 device resistor nwellResistor rnw *nsd device resistor polyResistor rp *poly device resistor ndiffResistor rnd *ndiff device resistor pdiffResistor rpd *pdiff # layer heights and thicknesses for inductance extraction and 3D rendering height nwell -0.1 0.1 height ndiff,pdiff,nsd,psd -0.075 0.075 height poly,pfet,nfet 0.1 0.05 height ndc,pdc,nsc,psc 0.001 0.25 height pc 0.1 0.15 height m1 0.2 0.05 height m2c 0.2 0.15 height m2 0.3 0.05 height m3c 0.3 0.15 height m3 0.4 0.05 height m4c 0.4 0.15 height m4 0.5 0.05 height m5c 0.5 0.15 height m5 0.6 0.05 height m6c 0.6 0.15 height m6 0.7 0.05 height m7c 0.7 0.15 height m7 0.8 0.05 height m8c 0.9 0.15 height m8 0.9 0.2 end wiring contact pdcontact 4 metal1 0 pdiff 0 contact ndcontact 4 metal1 0 ndiff 0 contact pcontact 4 metal1 0 poly 0 contact m2contact 4 metal1 0 metal2 0 contact m3contact 5 metal2 0 metal3 1 contact m4contact 4 metal3 0 metal4 0 contact m5contact 5 metal4 0 metal5 0 contact m6contact 6 metal5 0 metal6 0 end router layer2 metal2 3 *m2 4 *poly,rp,m1 1 layer1 metal1 3 *m1 3 contacts m2contact 4 gridspacing 8 end plowing fixed nfet,pfet,glass,pad covered nfet,pfet drag nfet,pfet end plot style pnm draw metal1 draw metal2 draw metal3 draw metal4 draw metal5 draw metal6 draw metal7 draw metal8 draw polysilicon draw ndiffusion draw pdiffusion draw ntransistor draw ptransistor map psubstratepdiff pdiffusion map nsubstratendiff ndiffusion map polycontact polysilicon metal1 map m2contact metal1 metal2 map m3contact metal2 metal3 map m4contact metal3 metal4 map m5contact metal4 metal5 map m6contact metal5 metal6 map m7contact metal6 metal7 map m8contact metal7 metal8 map ndcontact ndiffusion metal1 map pdcontact pdiffusion metal1 map nsubstratencontact ndiffusion metal1 map psubstratepcontact pdiffusion metal1 style postscript 1 C0C0C0C0 C0C0C0C0 00000000 00000000 0C0C0C0C 0C0C0C0C 00000000 00000000 2 A0A0A0A0 0A0A0A0A A0A0A0A0 0A0A0A0A A0A0A0A0 0A0A0A0A A0A0A0A0 0A0A0A0A 3 00030003 000C000C 00300030 00C000C0 03000300 0C000C00 30003000 C000C000 4 00000000 00000000 C0C0C0C0 00000000 00000000 00000000 0C0C0C0C 00000000 5 FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF 6 07070707 0E0E0E0E 1C1C1C1C 38383838 70707070 E0E0E0E0 C1C1C1C1 83838383 7 18181818 30303030 60606060 C0C0C0C0 81818181 03030303 06060606 0C0C0C0C 8 18181818 0C0C0C0C 06060606 03030303 81818181 C0C0C0C0 60606060 30303030 9 18181818 3C3C3C3C 3C3C3C3C 18181818 81818181 C3C3C3C3 C3C3C3C3 81818181 10 F0F0F0F0 60606060 06060606 0F0F0F0F 0F0F0F0F 06060606 60606060 F0F0F0F0 11 01000080 02000040 0C000030 F000000F 000FF000 00300C00 00400200 00800100 12 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 13 00000000 00000000 33333333 33333333 00000000 00000000 CCCCCCCC CCCCCCCC 1 47 95 111 0 2 223 31 223 0 3 0 0 0 192 4 31 111 31 0 5 31 111 255 0 6 63 95 191 0 7 255 63 255 0 8 0 0 0 127 9 223 47 223 0 10 0 255 255 0 11 0 0 255 0 12 191 127 0 0 13 95 223 63 0 14 0 0 0 255 15 191 127 63 0 16 111 151 244 0 17 23 175 183 0 pc,ndc,pdc,psc,nsc 14 X m2c,pad,glass 14 B pad,glass 14 11 m2c 14 13 m2,m2c,pad 13 10 pdc,ndc,psc,nsc,pc,m1,m2c 12 9 nsd,nsc 7 1 psd,psc 6 1 nfet 9 8 pfet 1 7 poly,pc 10 5 nfet 16 5 pfet 17 5 pdiff,pdc 1 5 ndiff,ndc 9 5 pwell 1 4 nwell 2 4 end From jc_lien at yahoo.com Mon Jan 23 17:24:53 2006 From: jc_lien at yahoo.com (Frank Lien) Date: Thu Oct 30 14:33:30 2008 Subject: [Magic-dev] Magic lef read problems Message-ID: <20060124012454.47455.qmail@web53005.mail.yahoo.com> Hi MAGIC Guys, I get errors trying to do "lef read ibm01.lef" for a well-known public benchmark in http://er.cs.ucla.edu/benchmarks/ibm-place2/LEFDEF/ibm01-v2-lefdef.tar.gz I suppose the benchmark should be okay since it probably get used many times. So I suspect that I might did something wrong with my magic. Below is what I got ---------------------------------- loading history file ... 48 events added Use openwrapper to create a new GUI-based layout window Use closewrapper to remove a new GUI-based layout window Starting magic under Tcl interpreter Magic 7.3 revision 118 - Compiled on Thu Jan 19 14:17:41 PST 2006. Using Tk console window Using TrueColor, VisualID 0x23 depth 24 Input style lambda=1.0(gen): scaleFactor=100, multiplier=1 Using technology "scmos", version 8.2.8. MOSIS Scalable CMOS Technology for Standard Rules Processing system .magicrc file New windows will not have a title caption. New windows will not have scroll bars. New windows will not have a border. Repainting console in magic layout window colors Root cell box: width x height ( llx, lly ), ( urx, ury ) area (units^2) microns: 1.00 x 1.00 ( 0.00, 0.00 ), ( 1.00, 1.00 ) 1.00 lambda: 1 x 1 ( 0, 0 ), ( 1, 1 ) 1 Main console display active (Tcl8.4.7 / Tk8.4.7) % % lef read ibm01.lef Reading LEF data from file ibm01.lef. This action is undoable. LEF Read, Line 9: Layer poly1 cannot be mapped to any magic layer! LEF Read, Line 22: Layer via12 cannot be mapped to any magic layer! LEF Read, Line 35: Layer via23 cannot be mapped to any magic layer! LEF Read, Line 48: Layer via34 cannot be mapped to any magic layer! LEF Read, Line 52: Layer metal4 cannot be mapped to any magic layer! LEF Read, Line 61: Layer overlap cannot be mapped to any magic layer! LEF Read, Line 68: Don't know how to parse layer "via12" LEF Read, Line 68: Try adding this name to the LEF techfile section LEF Read, Line 69: No layer defined for RECT. LEF Read, Line 77: Don't know how to parse layer "via23" LEF Read, Line 77: Try adding this name to the LEF techfile section LEF Read, Line 78: No layer defined for RECT. LEF Read, Line 86: Don't know how to parse layer "via34" LEF Read, Line 86: Try adding this name to the LEF techfile section LEF Read, Line 87: No layer defined for RECT. LEF Read, Line 88: Don't know how to parse layer "metal4" LEF Read, Line 88: Try adding this name to the LEF techfile section LEF Read, Line 89: No layer defined for RECT. LEF file: Defines site core (ignored) Moving label "P0" from metal1 to space in cell mod0. Moving label "P1" from metal1 to space in cell mod1. Moving label "P0" from metal1 to space in cell mod4. Moving label "P1" from metal1 to space in cell mod4. Moving label "P0" from metal1 to space in cell mod5. Moving label "P1" from metal1 to space in cell mod5. Moving label "P1" from metal1 to space in cell mod7. Moving label "P2" from metal1 to space in cell mod7. Moving label "P3" from metal1 to space in cell mod7. ... ... -------------------------------- Do you know how to get it right ? I will apprecaite very much if you can help me identify the problems. Thank you very much Frank Lien From naderi at async.caltech.edu Wed Jan 25 16:27:04 2006 From: naderi at async.caltech.edu (Mohsen Naderi) Date: Thu Oct 30 14:33:30 2008 Subject: [Magic-dev] Joining Development team Message-ID: Hi, I'm interested in joining the development team. There are two opening that I'm interested in supporting OpenAccess and also in tclspice. I looked for OpenAccess information but I could not find good information about it. Can anybody point me to a good reference? Regards, Mohsen From Ryan.Steans at asu.edu Thu Jan 26 12:48:45 2006 From: Ryan.Steans at asu.edu (Ryan Steans) Date: Thu Oct 30 14:33:32 2008 Subject: [Magic-dev] learning about Magic and VLSI Message-ID: Dear Cornell, I work with online courses and distributed education at Arizona State University's Fulton School of Engineering. I'd recently heard of "Magic" as a tool for VLSI, which is an area of study. I was wondering if you could tell me more about Magic, and if you think it would be available to ASU for use in our programs. thanks Ryan J. Steans Manager, Distance Learning Delivery Center for Professional Development Ira A. Fulton School of Engineering Arizona State University -------------- next part -------------- An HTML attachment was scrubbed... URL: http://vlsi.csl.cornell.edu/pipermail/magic-dev/attachments/20060126/5a4dc08e/attachment.html From tim.edwards at multigig.com Wed Jan 25 10:04:14 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Thu Oct 30 14:33:32 2008 Subject: [Magic-dev] Re: CIF torture test In-Reply-To: <43D6E9FF.80008@isl.stanford.edu> References: <43D6893F.5090104@multigig.com> <43D68FFE.9060405@isl.stanford.edu> <43D69852.8030703@multigig.com> <43D699D3.9090507@isl.stanford.edu> <43D69F12.7070305@multigig.com> <43D6E9FF.80008@isl.stanford.edu> Message-ID: <43D7BD9E.4010302@multigig.com> Dear Michael, > I tried 120 using gcc 4.1 (comes with FC5beta) and -O2 leads to same > segment fault. So, this error in gcc appears to be semi-permanent. > Can you test for gcc4.x and set -O0, or does this need to be done manually? The "configure" script in the top-level directory calls the real configure script in ths "scripts" subdirectory. The proper way to handle optimizer flags, according to the autoconf documentation, is to set CFLAGS as an environment variable before running configure (seems pretty stupid to me, but then again it's only one of a long list of complaints I have about autoconf). Because I have the indirect call to the real configure script, I was able to add the CFLAGS setting there. I should have done that long ago, but didn't think of that (in retrospect, obvious) solution. > Also, at some point you will get complaints about the hard-wired X11 > path: /usr/X11R6/... Fedora has decided to "integrate" X11. Binaries > are in /usr/bin and headers are in /usr/include/. So, the Depend files in > graphics and utils need to be changed (or use the results of ./configure) > so that the X11 .h files can be found. The "Depend" files are only for the benefit of the developer, to note which files must be recompiled when other files are modified. To that end, dependencies on system files should not even show up in the Depend file. From what I can glean from the documentation, the -MM file passed to gcc probably did the right thing in gcc-3.0 and earlier, but now gcc has some obscure (and incorrect) way of determining what is a "system header file", and anything in the /usr/X11R6 path is apparently NOT in that list. So I threw in some "sed" scripts to patch up the gcc output, and the resulting Depend files should not cause you problems any more. > Changing the -O2 to -O0 and the X11 change produces a Magic that > seems to run fine using gcc4.1 and the new X11. The version which I believe should compile and run correctly on FC4 is posted as 7.3.121. In addition to the FC4-compliance hacks, I also made a few other changes to the CIF read-in that now causes the cif-torture.cif file to produce what appears to be correct output to the extent that magic is able to handle the input (no cell rotations allowed that are not multiples of 90 degrees). A few things like rotated boxes and roundflashes could be supported, but I doubt it is worth the effort. ---Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards@multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From tim.edwards at multigig.com Thu Jan 26 13:43:52 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Thu Oct 30 14:33:32 2008 Subject: [Magic-dev] Re: Magic lambda to microns mapping In-Reply-To: <20060126192929.63873.qmail@web53007.mail.yahoo.com> References: <20060126192929.63873.qmail@web53007.mail.yahoo.com> Message-ID: <43D94298.4020301@multigig.com> Dear Frank, > I tried to understand the relationship between the basic lambda unit > and tech microns in lef file. I read the tech tutorial. However, it > seems that I can't get it right. I would appreciate very much > your help on the following. > 1. How do I specify absolute number of microns to a magic lambda unit > in tech file? > 2. How do I translate a unit in magic (lambda) to/from microns in lef? > (I may be able to get this one if I know answer to #1). This is always a tricky one. "Lambda" traditionally meant the minimum process feature size, usually 1/2 the length of a minimum size poly gate, and therefore (confusingly), half of whatever the process claims to be (e.g., "AMI 0.5" has a lambda of 0.25um), but possibly rounded up it the process minimum gate length is an odd number (e.g., "AMI 0.3 has a lambda of 0.3um in at least one tech file). It's a fake number for "scalable CMOS", one that (hopefully) conveniently works out such that all major features can be described in multiple lambda units---minimum gate length 2 lambda, contact size 4 lambda, minimum metal1 route width 3 lambda, etc. Usually vendor- specified minimum dimensions are rounded up, so scalability comes at some performance price. Because the idea is that lambda units are "scalable" (although as far as I am aware, no actual process in recorded history was truly scalable), they are dimensionless. In magic, the thing that maps lambda units to a physical dimension is the "cifoutput" section. Each "cifoutput" section may specify a different scaling from lambda to physical output dimensions. Thus when you type "box" at the magic command prompt and get an answer in microns, this depends on the "cif ostyle" currently specified. The dimension that you are looking for, then is the "scalefactor" value that is the first entry for a style in the "cifoutput" section of the magic technology file. This value is equal to centimicrons per lambda (although keywords "nanometers" and "angstroms" can be used to mean that the scale value is nanometers per lambda or angstroms per lambda, respectively). Note that older technology files give two values on the "scalefactor" line; only the first value is relevant (the second value should be the least common denominator of all distances declared in the cifoutput style, which is computable, so magic-7.3 computes it, so you don't have to). LEF files declare all units in physical dimensions. When I implemented the "lef" section in the magic techfile, I decided I'd had it with too many different scalefactors in the file, so I let stand the idea that the "cif ostyle" determines the lambda-to-microns scaling, and all else follows. So, yes, the answer to question #1 effectively determines the answer to question #2. Finally, please note that the tutorials and maintainer's manual #2 (technology file manual) still cover only magic versions up to 6.5 and not everything stated is true for magic-7.3. In particular, a number of severe restrictions on the value of the scalefactor no longer apply. The scalefactor can be anything down to 1 angstrom (not that you would want to) and still produce correct output for CIF, GDS, and (I think) LEF and DEF. I hope you don't mind my posting this answer to the magic-dev mailing list, so it can end up in the email archives, since this is a question fundamental to the working of magic (and CIF, GDS, LEF, and DEF) that leaves a lot of people confused. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards@multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From tim.edwards at multigig.com Fri Jan 27 11:20:31 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Thu Oct 30 14:33:32 2008 Subject: [Magic-dev] learning about Magic and VLSI In-Reply-To: References: Message-ID: <43DA727F.5080404@multigig.com> Dear Ryan, > I work with online courses and distributed education at Arizona State > University?s Fulton School of Engineering. I am currently the primary developer of "magic", so I suppose I'm best qualified to reply to your query. > I?d recently heard of ?Magic? as a tool for VLSI, which is an area of > study. I was wondering if you could tell me more about Magic, and if > you think it would be available to ASU for use in our programs. Yes. "magic" has been used in universities worldwide since the 1980's, when it was first written by John Ousterhout at UC Berkeley. Since about 3 years ago, I have worked on further development to make the program competitive with the expensive industry standard tools like Cadence and Mentor Graphics. However, "magic" is, and always has been, freely distributed open source software. It's primary drawback at present is the lack of support for the tools by chip foundries. Only the MOSIS foundation at USC has any official support for it, largely due to the anti-open-source sentiment among foundries and commercial tool vendors which prevents users and distributers of magic and other open-source VLSI tools from distributing information that foundries perceive to be proprietary. At MultiGiG, I have managed to work out an environment in which magic, xcircuit, and pcb (our primary open-source tools) complement our limited number of licenses for commercial tools. Although our design flow is largely proprietary, I hope to be generating an open-source version of the tool flow and adding it to the tool distribution. The most detailed information on the program can be found on my website at http://opencircuitdesign.com/magic/ If you have any further questions, feel free to contact me by either email or by phone (contact information below). Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards@multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From tim.edwards at multigig.com Sun Jan 29 09:49:46 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Thu Oct 30 14:33:32 2008 Subject: [Magic-dev] Bad error in 7.3 from revision 117 to 121 Message-ID: <43DD003A.8080008@multigig.com> I got a report from Eric Wong at U.Md. of a rather bad bug that I introduced into the code in revision 117. I was attempting to get rid of a more subtle bug, the one that caused magic to report something like "cells are so small that non-neighboring cells may have interacting CIF!". But a one point, the CIF/GDS array interaction generation routine can return while leaving array bounds messed up, and arrays of cells in the layout can be reduced to 2 without notice. If you have magic 7.3.117 to magic 7.3.121, you should update to 7.3.122 to avoid having any layout auto-revised in a bad way during a CIF or GDS write. ---Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards@multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From mpe at writeme.com Fri Feb 3 14:42:13 2006 From: mpe at writeme.com (Marcus Escobosa) Date: Thu Oct 30 14:33:32 2008 Subject: [Magic-dev] Resistor Extraction Message-ID: <20060203224213.36934.qmail@web82107.mail.mud.yahoo.com> Hi, I am using Magic with the XFAB process and I am writting a tech file for it. I am using scmos8m.tech as a model, and I have Magic 7.3.85 which has been working great. I use fedora core 3. I have a "device resistor rpolyhResistor rpolyh hrpc" where rpolyh is a high resistance poly layer and hrpc is a contact for rpolyh. I have drawn just 1 of these resistors in the layout window. Extraction finds the resistor and assigns netnames and model names just fine. However, W is set to 0u and L is set to the width. I have been playing with it, but just can seem to get around this. There are no errors or warnings when :extract and :ext2spice are executed. Should I have a newer version of Magic? Is there something I need to make sure not to leave out? It looks like it is almost there, but something seems to be missing. Both rpolyh and hrpc are on the active plane, but on different lines so that they are not aliases of eachother. Thanks for any help. Best Regards, Marcus Escobosa From mayank_a at students.iiit.ac.in Sun Feb 5 12:17:21 2006 From: mayank_a at students.iiit.ac.in (Mayank Agarwal) Date: Thu Oct 30 14:33:32 2008 Subject: [Magic-dev] Simulation of the circuit through Magic Message-ID: <51297.192.168.36.204.1139122041.squirrel@192.168.36.200> Dear all, We are trying to simulate the circuit extracted by Magic, But there's a problem. First, we are extracting the circuit through magic command :extract all Second, Converting *.ext file to *.spice files by ext2spice <> command. Third we need to convert *.spice files to *.cir file to be simulated by spice3 package available for Linux. Our spice installation is working properly with other sample *.cir files. Fourth we tried irsim in magic to simulate the circuit, but it's giving no paramer files found, we copied scmos30.prm to all sys/ scmos/ diretory tree of magic. But still it's saying "not found parameter file" Questions: 1. Any package to convert *.spice to *.cir files available. 2. Any way to simulate *.spice file after adding proper stimuli ?? 3. Way to correct error, to make irsim work with magic tool ?? Any kind of suggestions will be very helpful to us. Kindly give us directions to proceed further. Thanks and Regards Mayank Agarwal, Student, IIIT Hyderabad India. From stephenry at gmail.com Mon Feb 6 22:02:00 2006 From: stephenry at gmail.com (Stephen Henry) Date: Thu Oct 30 14:33:33 2008 Subject: [Magic-dev] MAGIC 7.3.122 Message-ID: <98d558bd0602061402y8052409v65899c7de8dd8b95@mail.gmail.com> Hi all, I'm trying to build MAGIC on ubuntu breezy and I cannot get it to build without errors. I recieve the following error: --- linking libgcr.o --- compiling lef/lefCmd.o --- compiling lef/lefTech.o --- compiling lef/lefWrite.o --- compiling lef/defWrite.o --- compiling lef/lefRead.o --- compiling lef/defRead.o --- linking liblef.o --- compiling ext2sim/ext2sim.o --- linking libext2sim.o --- making Tcl shared libraries --- making magic Tcl library (tclmagic.so) --- making exttosim Tcl library (exttosim.so) make[2]: *** No rule to make target `tcl-main'. Stop. make[2]: *** No rule to make target `tcl-main'. Stop. stephenry@agamemnon:~/magic-7.3.122$ I've tried looking at the makefiles, to see what they're doing, but for the life of me I cannot find out where they are going awry. Does anyone have any ideas? Thanks, Stephen Henry -------------- next part -------------- An HTML attachment was scrubbed... URL: http://vlsi.csl.cornell.edu/pipermail/magic-dev/attachments/20060206/4a6c0ca7/attachment.html From tim.edwards at multigig.com Tue Feb 7 13:12:15 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Thu Oct 30 14:33:33 2008 Subject: [Magic-dev] Simulation of the circuit through Magic In-Reply-To: <51297.192.168.36.204.1139122041.squirrel@192.168.36.200> References: <51297.192.168.36.204.1139122041.squirrel@192.168.36.200> Message-ID: <43E90D2F.6040201@multigig.com> Dear Mayank, > Questions: > 1. Any package to convert *.spice to *.cir files available. > 2. Any way to simulate *.spice file after adding proper stimuli ?? > 3. Way to correct error, to make irsim work with magic tool ?? Yes, but I need to know the versions of magic and irsim you are using, because the answer varies depending on whether you are using version 7.1 (or earlier) or version 7.3 of magic, and irsim version 9.5 or version 9.7. IRSIM finds its parameter files in its own install path, not magic's. You would find it in /usr/local/lib/irsim/prm/ (version 9.7), or $CAD_HOME/irsim/ (version 9.5). You should use "ext2spice -f spice3" if you're getting .spice files that are not compatible with Berkeley Spice-3. Of course, it is still necessary to have proper device models for the process. Note that you really should be using "ng-spice" (which can be downloaded from SourceForge), as that is a considerable improvement over the original Spice-3 distribution. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards@multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From fang at csl.cornell.edu Tue Feb 7 23:08:44 2006 From: fang at csl.cornell.edu (David Fang) Date: Thu Oct 30 14:33:33 2008 Subject: [Magic-dev] 7.1 update in CVS Message-ID: <20060207224713.V83140-100000@maxwell.csl.cornell.edu> Hi all, For those of you feeling the nostaligia for 7.1, now would be a good time to checkout and rebuild our old friend, and give it a test drive. I've finally merged in cleanups for magic-7.1 into the CVS HEAD. No functional code changes were introduced, but with this revision, it should be more compilable with the newer, stricter compilers, especially gcc-3.3 to 4.0. Revisions also include: Proper forward declarations for many headers, and new headers. Standalone headers -- for development sanity. No more #ifndef _MAGIC error messages. Proper prototypes for nearly every extern referenced function. (None of the "#define Void int" nonsense.) More consistent format string to argument usage. No more tokens at the end of preprocesing directives. varargs.h replaced with stdarg.h (good riddance) Some deprecated functions replaced with equivalents. Minor Makefile enhancements, such as optional program-suffix. Warning count from 8000+ to < 80. You can read more about it in the new ChangeLog! I've only validated this against {FreBSD 4.3, Mac OS X 10.3, 10.4, and linux (SuSE, GNU) } x { gcc-3.3, 3.4, 4.0 }. Some wishful thinking for the future: Since 7.1 is a STABLE series, I don't intend to add any features to it. However, backporting fixes from the newer series would be welcome. One of the next tasks (I'm volunteering when I have time) is to bring 7.1 under autoconf/automake/libtool control for better portability, replacing the interactive config scripts. David Fang Computer Systems Laboratory Electrical & Computer Engineering Cornell University http://www.csl.cornell.edu/~fang/ -- (2400 baud? Netscape 3.0?? lynx??? No problem!) From tim.edwards at multigig.com Thu Feb 9 16:59:49 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Thu Oct 30 14:33:33 2008 Subject: [Magic-dev] magic version 7.4.0 Message-ID: <43EBE585.80903@multigig.com> I know a number of people have been talking about moving to version 7.3 as the distribution version of magic, but have been hesitant to do so while I continue to keep it to myself and hack it to death every few weeks. So, I have just decided that I have done what I set out to do to version 7.3. From this point, my development ideas are so far afield that they will certainly make the code base unstable for a long time to come. I have just posted version 7.4.0, which is just a copy of 7.3.123, and there will be no further revisions of 7.3. There will be no development on the 7.4 branch, just bug fixes. I will continue development with branch version 7.5. This basically follows the scheme of Linux kernels, even numbers for distribution and odd numbers for development. I'd like to have the 7.4.0 distribution placed into CVS on Cornell so other people can help out with bug fixes and compatibility issues. The distribution is posted at: http://opencircuitdesign.com/magic/ The web page is undergoing some reorganization, but you can find the download for 7.4.0 easily enough. Comments and suggestions are always encouraged. ---Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards@multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From deepa_mevlsi at yahoo.com Wed Feb 15 21:47:39 2006 From: deepa_mevlsi at yahoo.com (deepa vickraman) Date: Thu Oct 30 14:33:34 2008 Subject: [Magic-dev] help regarding magic Message-ID: <20060216054739.53295.qmail@web36711.mail.mud.yahoo.com> respected sir am deepa doing ME VLSI design in kongu engineering college Tamilnadu,india. i have drawn layout for inverter in magic.i want to draw layout for adder,pls reply me how to draw layout for adder, in magic , is there any integrating commands available ?pls help me .how to draw layout for adder pls reply me. thanks deepa --------------------------------- Relax. Yahoo! Mail virus scanning helps detect nasty viruses!-------------- next part -------------- An HTML attachment was scrubbed... URL: http://vlsi.csl.cornell.edu/pipermail/magic-dev/attachments/20060215/a83b2995/attachment.html From denis.dupeyron at mxmlab.com Fri Feb 17 17:31:01 2006 From: denis.dupeyron at mxmlab.com (Denis Dupeyron) Date: Thu Oct 30 14:33:35 2008 Subject: [Magic-dev] Gentoo ebuild for magic 7.4.2 Message-ID: <43F5FA45.6010101@mxmlab.com> For those of you who are using Gentoo, you should know that I have submitted an ebuild to install magic 7.4.2. It's not in Portage yet, and it may take some time before it gets officially accepted, but you can get it right now from Gentoo's bugzilla here : http://bugs.gentoo.org/show_bug.cgi?id=123013 If you need help in setting up a Portage overlay, please read this : http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=3&chap=5 Then, as root, use the following recipe (assuming your portage overlay is in '/usr/local/portage', like it should, and that you start typing what follows from the directory where you downloaded the ebuild and patch) : mkdir -p /usr/local/portage/sci-electronics/magic mv magic-7.4.2.ebuild /usr/local/portage/sci-electronics/magic mkdir -p /usr/local/portage/sci-electronics/magic/files mv magic-7.4-ppc-endian.patch /usr/local/portage/sci-electronics/magic/files ebuild /usr/local/portage/sci-electronics/magic/magic-7.4.2.ebuild digest Then 'emerge magic' as usual. Best regards, Denis. -------------- next part -------------- A non-text attachment was scrubbed... Name: denis.dupeyron.vcf Type: text/x-vcard Size: 266 bytes Desc: not available Url : http://vlsi.csl.cornell.edu/pipermail/magic-dev/attachments/20060217/19e059f3/denis.dupeyron.vcf From the5 at MIT.EDU Thu Feb 23 13:36:02 2006 From: the5 at MIT.EDU (Jason LaPenta) Date: Thu Oct 30 14:33:35 2008 Subject: [Magic-dev] MAGIC: calculate selected area In-Reply-To: <200602221700.k1MH07P7092008@csl.cornell.edu> References: <200602221700.k1MH07P7092008@csl.cornell.edu> Message-ID: <1140719762.3909.9.camel@dhcp-45-145.media.mit.edu> Hello, I would like to calculate the area of a selected region for capacitance modeling. Is there a feature to do this operation? Or does anyone have a script for this function? I've tried to modify the colors for something that has a little more contrast than the gray background. I tried editing the mos.24bit.dstyle and mos.24bit.std.cmap locate in the /usr/local/lib/magic/sys directory, but that appears to have no effect. I'm using Linux Redhat 9. Should I be editing some other file? Anybody have a color scheme with a black background they would like to share? BTW: love the TCL script interface. makes life loads easier to automate tasks. I'm a PERL-head(certified addict). Anybody use perl with magic instead of TCL? If so, any tips on setting up perl with magic? Thanks, Jason From mrkaczor at interia.pl Fri Feb 24 11:09:36 2006 From: mrkaczor at interia.pl (interia) Date: Thu Oct 30 14:33:36 2008 Subject: [Magic-dev] compilation on debian sid ... errors Message-ID: <43FEDB60.2070600@interia.pl> hi all i am student of microelectronics form poland, i use linux and i am very happy that the most usable software for my specialisation si for my favorite OS also ;-) i have problems with compilation of magic-7.1 on debian sid .... i run normaly make config and then make and i get: " --- making modules --- compiling extflat/EFargs.o EFargs.c:22:9: warning: extra tokens at end of #endif directive /usr/lib/gcc/i486-linux-gnu/4.0.3/include/varargs.h:4:2: error: #error "GCC no longer implements ." /usr/lib/gcc/i486-linux-gnu/4.0.3/include/varargs.h:5:2: error: #error "Revise your code to use ." ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../extflat/extflat.h:24:8: warning: extra tokens at end of #endif directive ../extflat/EFint.h:24:8: warning: extra tokens at end of #endif directive --- compiling extract/ExtArray.o ExtArray.c:23:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:30:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:33:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:36:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:39:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:42:8: warning: extra tokens at end of #endif directive ExtArray.c:614: warning: incompatible implicit declaration of built-in function 'memcpy' --- compiling extract/ExtBasic.o ExtBasic.c:22:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:30:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:33:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:36:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:39:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:42:8: warning: extra tokens at end of #endif directive ../utils/stack.h:27:8: warning: extra tokens at end of #endif directive ExtBasic.c:339: warning: incompatible implicit declaration of built-in function 'strlen' ExtBasic.c:650: warning: incompatible implicit declaration of built-in function 'strcat' ExtBasic.c:925: warning: incompatible implicit declaration of built-in function 'strlen' --- compiling extract/ExtCell.o ExtCell.c:22:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:30:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:33:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:36:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:39:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:42:8: warning: extra tokens at end of #endif directive ../utils/stack.h:27:8: warning: extra tokens at end of #endif directive ../main/main.h:27:8: warning: extra tokens at end of #endif directive ../main/main.h:30:8: warning: extra tokens at end of #endif directive ../undo/undo.h:28:8: warning: extra tokens at end of #endif directive --- compiling extract/ExtCouple.o ExtCouple.c:22:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:30:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:33:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:36:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:39:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:42:8: warning: extra tokens at end of #endif directive --- compiling extract/ExtHard.o ExtHard.c:24:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:30:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:33:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:36:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:39:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:42:8: warning: extra tokens at end of #endif directive ExtHard.c:230: warning: incompatible implicit declaration of built-in function 'strlen' ExtHard.c:332: warning: incompatible implicit declaration of built-in function 'strlen' --- compiling extract/ExtHier.o ExtHier.c:24:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:30:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:33:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:36:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:39:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:42:8: warning: extra tokens at end of #endif directive --- compiling extract/ExtLength.o ExtLength.c:27:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:30:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:33:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:36:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:39:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:42:8: warning: extra tokens at end of #endif directive ../utils/stack.h:27:8: warning: extra tokens at end of #endif directive ../main/main.h:27:8: warning: extra tokens at end of #endif directive ../main/main.h:30:8: warning: extra tokens at end of #endif directive ExtLength.c:484: warning: incompatible implicit declaration of built-in function 'strcpy' ExtLength.c:495: warning: incompatible implicit declaration of built-in function 'strlen' ExtLength.c:573: warning: incompatible implicit declaration of built-in function 'strlen' ExtLength.c:582: warning: incompatible implicit declaration of built-in function 'strcpy' --- compiling extract/ExtMain.o ExtMain.c:22:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:30:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:33:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:36:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:39:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:42:8: warning: extra tokens at end of #endif directive ../utils/stack.h:27:8: warning: extra tokens at end of #endif directive ../main/main.h:27:8: warning: extra tokens at end of #endif directive ../main/main.h:30:8: warning: extra tokens at end of #endif directive ../undo/undo.h:28:8: warning: extra tokens at end of #endif directive --- compiling extract/ExtNghbors.o ExtNghbors.c:24:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:30:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:33:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:36:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:39:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:42:8: warning: extra tokens at end of #endif directive ../utils/stack.h:27:8: warning: extra tokens at end of #endif directive --- compiling extract/ExtPerim.o ExtPerim.c:23:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../utils/stack.h:27:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:30:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:33:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:36:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:39:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:42:8: warning: extra tokens at end of #endif directive --- compiling extract/ExtRegion.o ExtRegion.c:23:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:30:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:33:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:36:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:39:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:42:8: warning: extra tokens at end of #endif directive --- compiling extract/ExtSubtree.o ExtSubtree.c:27:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:30:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:33:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:36:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:39:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:42:8: warning: extra tokens at end of #endif directive ExtSubtree.c:53:8: warning: extra tokens at end of #endif directive ExtSubtree.c:181:7: warning: extra tokens at end of #else directive ExtSubtree.c:213:8: warning: extra tokens at end of #endif directive ExtSubtree.c:263:8: warning: extra tokens at end of #endif directive ExtSubtree.c:323:8: warning: extra tokens at end of #endif directive ExtSubtree.c:334:8: warning: extra tokens at end of #endif directive ExtSubtree.c:650:8: warning: extra tokens at end of #endif directive --- compiling extract/ExtTech.o ExtTech.c:23:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../database/databaseInt.h:25:8: warning: extra tokens at end of #endif directive ../database/databaseInt.h:28:8: warning: extra tokens at end of #endif directive ../database/databaseInt.h:31:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:30:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:33:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:36:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:39:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:42:8: warning: extra tokens at end of #endif directive ../cif/CIFint.h:26:8: warning: extra tokens at end of #endif directive ../cif/CIFint.h:29:8: warning: extra tokens at end of #endif directive --- compiling extract/ExtTest.o ExtTest.c:22:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../graphics/graphics.h:105:7: warning: extra tokens at end of #else directive ../graphics/graphics.h:108:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../main/main.h:27:8: warning: extra tokens at end of #endif directive ../main/main.h:30:8: warning: extra tokens at end of #endif directive ../commands/commands.h:27:8: warning: extra tokens at end of #endif directive ../commands/commands.h:31:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:30:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:33:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:36:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:39:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:42:8: warning: extra tokens at end of #endif directive --- compiling extract/ExtTimes.o ExtTimes.c:21:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:30:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:33:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:36:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:39:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:42:8: warning: extra tokens at end of #endif directive --- compiling extract/ExtYank.o ExtYank.c:22:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:30:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:33:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:36:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:39:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:42:8: warning: extra tokens at end of #endif directive ExtYank.c:79: warning: incompatible implicit declaration of built-in function 'strlen' ExtYank.c:81: warning: incompatible implicit declaration of built-in function 'memcpy' --- compiling extract/ExtInter.o ExtInter.c:22:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../undo/undo.h:28:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:30:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:33:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:36:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:39:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:42:8: warning: extra tokens at end of #endif directive --- compiling extract/ExtUnique.o ExtUnique.c:22:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:30:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:33:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:36:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:39:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:42:8: warning: extra tokens at end of #endif directive ../utils/stack.h:27:8: warning: extra tokens at end of #endif directive ../main/main.h:27:8: warning: extra tokens at end of #endif directive ../main/main.h:30:8: warning: extra tokens at end of #endif directive ../undo/undo.h:28:8: warning: extra tokens at end of #endif directive --- linking libextract.o --- compiling garouter/gaChannel.o gaChannel.c:21:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../utils/doubleint.h:26:9: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../main/main.h:27:8: warning: extra tokens at end of #endif directive ../main/main.h:30:8: warning: extra tokens at end of #endif directive ../gcr/gcr.h:191:8: warning: extra tokens at end of #endif directive --- compiling garouter/gaMain.o gaMain.c:209:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../utils/doubleint.h:26:9: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../main/main.h:27:8: warning: extra tokens at end of #endif directive ../main/main.h:30:8: warning: extra tokens at end of #endif directive ../gcr/gcr.h:191:8: warning: extra tokens at end of #endif directive ../drc/drc.h:27:8: warning: extra tokens at end of #endif directive ../drc/drc.h:30:8: warning: extra tokens at end of #endif directive ../drc/drc.h:180:8: warning: extra tokens at end of #endif directive --- compiling garouter/gaMaze.o gaMaze.c:21:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../utils/doubleint.h:26:9: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../main/main.h:27:8: warning: extra tokens at end of #endif directive ../main/main.h:30:8: warning: extra tokens at end of #endif directive ../gcr/gcr.h:191:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../drc/drc.h:27:8: warning: extra tokens at end of #endif directive ../drc/drc.h:30:8: warning: extra tokens at end of #endif directive ../drc/drc.h:180:8: warning: extra tokens at end of #endif directive ../utils/list.h:32:8: warning: extra tokens at end of #endif directive --- compiling garouter/gaSimple.o gaSimple.c:23:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../utils/doubleint.h:26:9: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../main/main.h:27:8: warning: extra tokens at end of #endif directive ../main/main.h:30:8: warning: extra tokens at end of #endif directive ../gcr/gcr.h:191:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../drc/drc.h:27:8: warning: extra tokens at end of #endif directive ../drc/drc.h:30:8: warning: extra tokens at end of #endif directive ../drc/drc.h:180:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:30:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:33:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:36:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:39:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:42:8: warning: extra tokens at end of #endif directive --- compiling garouter/gaStem.o gaStem.c:21:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../utils/doubleint.h:26:9: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../main/main.h:27:8: warning: extra tokens at end of #endif directive ../main/main.h:30:8: warning: extra tokens at end of #endif directive ../gcr/gcr.h:191:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../drc/drc.h:27:8: warning: extra tokens at end of #endif directive ../drc/drc.h:30:8: warning: extra tokens at end of #endif directive ../drc/drc.h:180:8: warning: extra tokens at end of #endif directive --- compiling garouter/gaTest.o gaTest.c:21:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../utils/doubleint.h:26:9: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../gcr/gcr.h:191:8: warning: extra tokens at end of #endif directive ../graphics/graphics.h:105:7: warning: extra tokens at end of #else directive ../graphics/graphics.h:108:8: warning: extra tokens at end of #endif directive ../main/main.h:27:8: warning: extra tokens at end of #endif directive ../main/main.h:30:8: warning: extra tokens at end of #endif directive ../commands/commands.h:27:8: warning: extra tokens at end of #endif directive ../commands/commands.h:31:8: warning: extra tokens at end of #endif directive --- linking libgarouter.o --- compiling gcr/gcrChannel.o gcrChannel.c:24:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../gcr/gcr.h:191:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive gcrChannel.c:78: warning: incompatible implicit declaration of built-in function 'memset' gcrChannel.c:103:8: warning: extra tokens at end of #endif directive gcrChannel.c:188:8: warning: extra tokens at end of #endif directive gcrChannel.c:282: warning: incompatible implicit declaration of built-in function 'memcpy' gcrChannel.c:287:8: warning: extra tokens at end of #endif directive gcrChannel.c:295:8: warning: extra tokens at end of #endif directive gcrChannel.c:395: warning: incompatible implicit declaration of built-in function 'memcpy' gcrChannel.c:404:8: warning: extra tokens at end of #endif directive gcrChannel.c:460: warning: incompatible implicit declaration of built-in function 'memcpy' gcrChannel.c:485:8: warning: extra tokens at end of #endif directive --- compiling gcr/gcrColl.o gcrColl.c:20:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../gcr/gcr.h:191:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive --- compiling gcr/gcrDebug.o gcrDebug.c:20:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../gcr/gcr.h:191:8: warning: extra tokens at end of #endif directive ../utils/doubleint.h:26:9: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive gcrDebug.c:382:8: warning: extra tokens at end of #endif directive gcrDebug.c:391:8: warning: extra tokens at end of #endif directive gcrDebug.c:400:8: warning: extra tokens at end of #endif directive gcrDebug.c:408:8: warning: extra tokens at end of #endif directive --- compiling gcr/gcrEdge.o gcrEdge.c:22:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../gcr/gcr.h:191:8: warning: extra tokens at end of #endif directive --- compiling gcr/gcrFeas.o gcrFeas.c:22:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../gcr/gcr.h:191:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive --- compiling gcr/gcrFlags.o gcrFlags.c:35:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../gcr/gcr.h:191:8: warning: extra tokens at end of #endif directive --- compiling gcr/gcrInit.o gcrInit.c:20:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../utils/doubleint.h:26:9: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../gcr/gcr.h:191:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive gcrInit.c:45:8: warning: extra tokens at end of #endif directive --- compiling gcr/gcrLib.o gcrLib.c:21:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../gcr/gcr.h:191:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive --- compiling gcr/gcrRiver.o gcrRiver.c:21:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../gcr/gcr.h:191:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive --- compiling gcr/gcrRoute.o gcrRoute.c:20:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../gcr/gcr.h:191:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive --- compiling gcr/gcrShwFlgs.o gcrShwFlgs.c:20:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../gcr/gcr.h:191:8: warning: extra tokens at end of #endif directive ../utils/doubleint.h:26:9: warning: extra tokens at end of #endif directive ../main/main.h:27:8: warning: extra tokens at end of #endif directive ../main/main.h:30:8: warning: extra tokens at end of #endif directive --- compiling gcr/gcrUnsplit.o gcrUnsplit.c:22:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../gcr/gcr.h:191:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive --- linking libgcr.o --- compiling graphics/grMain.o grMain.c:23:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../graphics/graphics.h:105:7: warning: extra tokens at end of #else directive ../graphics/graphics.h:108:8: warning: extra tokens at end of #endif directive ../graphics/graphicsInt.h:55:8: warning: extra tokens at end of #endif directive grMain.c:120:8: warning: extra tokens at end of #endif directive /usr/lib/gcc/i486-linux-gnu/4.0.3/include/varargs.h:4:2: error: #error "GCC no longer implements ." /usr/lib/gcc/i486-linux-gnu/4.0.3/include/varargs.h:5:2: error: #error "Revise your code to use ." grMain.c:124:8: warning: extra tokens at end of #endif directive grMain.c:156:8: warning: extra tokens at end of #endif directive grMain.c:159:8: warning: extra tokens at end of #endif directive grMain.c:166:8: warning: extra tokens at end of #endif directive grMain.c:170:8: warning: extra tokens at end of #endif directive grMain.c:197:8: warning: extra tokens at end of #endif directive grMain.c:200:8: warning: extra tokens at end of #endif directive grMain.c:207:8: warning: extra tokens at end of #endif directive grMain.c:211:8: warning: extra tokens at end of #endif directive grMain.c:215:8: warning: extra tokens at end of #endif directive grMain.c:272:8: warning: extra tokens at end of #endif directive grMain.c:305:8: warning: extra tokens at end of #endif directive grMain.c:369: warning: incompatible implicit declaration of built-in function 'strlen' grMain.c:440:7: warning: extra tokens at end of #else directive grMain.c:442:8: warning: extra tokens at end of #endif directive grMain.c:496:8: warning: extra tokens at end of #endif directive grMain.c:533:8: warning: extra tokens at end of #endif directive --- compiling grouter/grouteChan.o ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../utils/doubleint.h:26:9: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../gcr/gcr.h:191:8: warning: extra tokens at end of #endif directive ../main/main.h:27:8: warning: extra tokens at end of #endif directive ../main/main.h:30:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive --- compiling grouter/grouteCrss.o grouteCrss.c:22:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../utils/doubleint.h:26:9: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../gcr/gcr.h:191:8: warning: extra tokens at end of #endif directive ../main/main.h:27:8: warning: extra tokens at end of #endif directive ../main/main.h:30:8: warning: extra tokens at end of #endif directive grouteCrss.c:203: warning: incompatible implicit declaration of built-in function 'strcpy' --- compiling grouter/grouteDens.o grouteDens.c:21:8: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../utils/doubleint.h:26:9: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../gcr/gcr.h:191:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive grouteDens.c:223: warning: incompatible implicit declaration of built-in function 'memcpy' --- compiling grouter/grouteMain.o ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../utils/doubleint.h:26:9: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../gcr/gcr.h:191:8: warning: extra tokens at end of #endif directive ../main/main.h:27:8: warning: extra tokens at end of #endif directive ../main/main.h:30:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive --- compiling grouter/grouteMult.o grouteMult.c:25:8: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../utils/doubleint.h:26:9: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../gcr/gcr.h:191:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive --- compiling grouter/grouteMaze.o grouteMaze.c:26:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../utils/doubleint.h:26:9: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../gcr/gcr.h:191:8: warning: extra tokens at end of #endif directive ../main/main.h:27:8: warning: extra tokens at end of #endif directive ../main/main.h:30:8: warning: extra tokens at end of #endif directive --- compiling grouter/groutePath.o groutePath.c:21:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../utils/doubleint.h:26:9: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../gcr/gcr.h:191:8: warning: extra tokens at end of #endif directive ../main/main.h:27:8: warning: extra tokens at end of #endif directive ../main/main.h:30:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive --- compiling grouter/groutePen.o groutePen.c:22:8: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../utils/doubleint.h:26:9: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../gcr/gcr.h:191:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../utils/list.h:32:8: warning: extra tokens at end of #endif directive groutePen.c:240:8: warning: extra tokens at end of #endif directive --- compiling grouter/grouteTest.o grouteTest.c:21:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../utils/doubleint.h:26:9: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../gcr/gcr.h:191:8: warning: extra tokens at end of #endif directive ../graphics/graphics.h:105:7: warning: extra tokens at end of #else directive ../graphics/graphics.h:108:8: warning: extra tokens at end of #endif directive ../main/main.h:27:8: warning: extra tokens at end of #endif directive ../main/main.h:30:8: warning: extra tokens at end of #endif directive ../commands/commands.h:27:8: warning: extra tokens at end of #endif directive ../commands/commands.h:31:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive grouteTest.c:366: warning: incompatible implicit declaration of built-in function 'strcpy' --- linking libgrouter.o --- compiling irouter/irCommand.o irCommand.c:27:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../graphics/graphics.h:105:7: warning: extra tokens at end of #else directive ../graphics/graphics.h:108:8: warning: extra tokens at end of #endif directive ../main/main.h:27:8: warning: extra tokens at end of #endif directive ../main/main.h:30:8: warning: extra tokens at end of #endif directive ../commands/commands.h:27:8: warning: extra tokens at end of #endif directive ../commands/commands.h:31:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../utils/list.h:32:8: warning: extra tokens at end of #endif directive ../utils/doubleint.h:26:9: warning: extra tokens at end of #endif directive irCommand.c:613: warning: incompatible implicit declaration of built-in function 'strlen' irCommand.c:655: warning: incompatible implicit declaration of built-in function 'strlen' irCommand.c:716: warning: incompatible implicit declaration of built-in function 'strlen' irCommand.c:942: warning: incompatible implicit declaration of built-in function 'strlen' irCommand.c:985: warning: incompatible implicit declaration of built-in function 'strlen' irCommand.c:1047: warning: incompatible implicit declaration of built-in function 'strlen' --- compiling irouter/irMain.o irMain.c:26:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../drc/drc.h:27:8: warning: extra tokens at end of #endif directive ../drc/drc.h:30:8: warning: extra tokens at end of #endif directive ../drc/drc.h:180:8: warning: extra tokens at end of #endif directive ../select/select.h:27:8: warning: extra tokens at end of #endif directive ../select/select.h:30:8: warning: extra tokens at end of #endif directive ../undo/undo.h:28:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../utils/list.h:32:8: warning: extra tokens at end of #endif directive ../utils/doubleint.h:26:9: warning: extra tokens at end of #endif directive --- compiling irouter/irRoute.o irRoute.c:22:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../drc/drc.h:27:8: warning: extra tokens at end of #endif directive ../drc/drc.h:30:8: warning: extra tokens at end of #endif directive ../drc/drc.h:180:8: warning: extra tokens at end of #endif directive ../main/main.h:27:8: warning: extra tokens at end of #endif directive ../main/main.h:30:8: warning: extra tokens at end of #endif directive ../undo/undo.h:28:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../utils/list.h:32:8: warning: extra tokens at end of #endif directive ../utils/doubleint.h:26:9: warning: extra tokens at end of #endif directive ../select/select.h:27:8: warning: extra tokens at end of #endif directive ../select/select.h:30:8: warning: extra tokens at end of #endif directive irRoute.c:1055: warning: incompatible implicit declaration of built-in function 'strcpy' irRoute.c:1095: warning: incompatible implicit declaration of built-in function 'strcpy' --- compiling irouter/irTestCmd.o irTestCmd.c:23:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../graphics/graphics.h:105:7: warning: extra tokens at end of #else directive ../graphics/graphics.h:108:8: warning: extra tokens at end of #endif directive ../main/main.h:27:8: warning: extra tokens at end of #endif directive ../main/main.h:30:8: warning: extra tokens at end of #endif directive ../commands/commands.h:27:8: warning: extra tokens at end of #endif directive ../commands/commands.h:31:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../utils/list.h:32:8: warning: extra tokens at end of #endif directive ../utils/doubleint.h:26:9: warning: extra tokens at end of #endif directive --- compiling irouter/irUtils.o irUtils.c:23:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../utils/doubleint.h:26:9: warning: extra tokens at end of #endif directive ../utils/list.h:32:8: warning: extra tokens at end of #endif directive --- linking libirouter.o --- compiling lisp/lispMain.o ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive lispMain.c:185: warning: incompatible implicit declaration of built-in function 'strlen' lispMain.c:186: warning: incompatible implicit declaration of built-in function 'strcpy' --- compiling lisp/lispEval.o ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive lispEval.c:292: warning: incompatible implicit declaration of built-in function 'strlen' --- compiling lisp/lispPrint.o ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive --- compiling lisp/lispParse.o ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive lispParse.c:224: warning: incompatible implicit declaration of built-in function 'strlen' lispParse.c:225: warning: incompatible implicit declaration of built-in function 'strcpy' --- compiling lisp/lispA-Z.o ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive lispA-Z.c: In function 'LispError': lispA-Z.c:1518: warning: incompatible implicit declaration of built-in function 'strlen' lispA-Z.c:1519: warning: incompatible implicit declaration of built-in function 'strcpy' --- compiling lisp/lispGC.o ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive lispGC.c:155: warning: incompatible implicit declaration of built-in function 'strlen' lispGC.c:156: warning: incompatible implicit declaration of built-in function 'strcpy' --- compiling lisp/lispFrame.o ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive --- compiling lisp/lispTrace.o ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive --- compiling lisp/lispMagic.o ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../main/main.h:27:8: warning: extra tokens at end of #endif directive ../main/main.h:30:8: warning: extra tokens at end of #endif directive ../commands/commands.h:27:8: warning: extra tokens at end of #endif directive ../commands/commands.h:31:8: warning: extra tokens at end of #endif directive ../select/select.h:27:8: warning: extra tokens at end of #endif directive ../select/select.h:30:8: warning: extra tokens at end of #endif directive lispMagic.c:229: warning: incompatible implicit declaration of built-in function 'memset' lispMagic.c:299: warning: incompatible implicit declaration of built-in function 'memset' lispMagic.c:364: warning: incompatible implicit declaration of built-in function 'strlen' lispMagic.c:410: warning: incompatible implicit declaration of built-in function 'memset' lispMagic.c:472: warning: incompatible implicit declaration of built-in function 'memset' --- compiling lisp/lispArith.o ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive --- compiling lisp/lispString.o ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive lispString.c:62: warning: incompatible implicit declaration of built-in function 'strlen' lispString.c:63: warning: incompatible implicit declaration of built-in function 'strcpy' lispString.c:64: warning: incompatible implicit declaration of built-in function 'strcat' lispString.c:97: warning: incompatible implicit declaration of built-in function 'strlen' lispString.c:98: warning: incompatible implicit declaration of built-in function 'strcpy' lispString.c:172: warning: incompatible implicit declaration of built-in function 'strlen' lispString.c:173: warning: incompatible implicit declaration of built-in function 'strcpy' lispString.c:269: warning: incompatible implicit declaration of built-in function 'strlen' lispString.c:340: warning: incompatible implicit declaration of built-in function 'strlen' lispString.c:381: warning: incompatible implicit declaration of built-in function 'strlen' lispString.c:423: warning: incompatible implicit declaration of built-in function 'strlen' lispString.c:430: warning: incompatible implicit declaration of built-in function 'strncpy' --- compiling lisp/lispIO.o ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive lispIO.c:334: warning: incompatible implicit declaration of built-in function '_exit' --- linking liblisp.o --- compiling macros/macros.o macros.c:21:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive macros.c:188: warning: incompatible implicit declaration of built-in function 'strlen' macros.c:190: warning: incompatible implicit declaration of built-in function 'strcat' macros.c:347: warning: incompatible implicit declaration of built-in function 'strlen' --- linking libmacros.o --- compiling main/main.o main.c:23:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../graphics/graphics.h:105:7: warning: extra tokens at end of #else directive ../graphics/graphics.h:108:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../drc/drc.h:27:8: warning: extra tokens at end of #endif directive ../drc/drc.h:30:8: warning: extra tokens at end of #endif directive ../drc/drc.h:180:8: warning: extra tokens at end of #endif directive ../commands/commands.h:27:8: warning: extra tokens at end of #endif directive ../commands/commands.h:31:8: warning: extra tokens at end of #endif directive ../cif/cif.h:27:8: warning: extra tokens at end of #endif directive ../cif/cif.h:30:8: warning: extra tokens at end of #endif directive ../undo/undo.h:28:8: warning: extra tokens at end of #endif directive ../wiring/wiring.h:26:8: warning: extra tokens at end of #endif directive ../wiring/wiring.h:29:8: warning: extra tokens at end of #endif directive ../plot/plot.h:26:8: warning: extra tokens at end of #endif directive ../utils/doubleint.h:26:9: warning: extra tokens at end of #endif directive ../utils/list.h:32:8: warning: extra tokens at end of #endif directive main.c:64:8: warning: extra tokens at end of #endif directive main.c:174: warning: incompatible implicit declaration of built-in function 'exit' main.c:542:8: warning: extra tokens at end of #endif directive main.c:644:8: warning: extra tokens at end of #endif directive main.c:868:8: warning: extra tokens at end of #endif directive main.c:900:8: warning: extra tokens at end of #endif directive main.c:916:8: warning: extra tokens at end of #endif directive --- linking libmain.o --- compiling misc/niceabort.o niceabort.c:22:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../main/main.h:27:8: warning: extra tokens at end of #endif directive ../main/main.h:30:8: warning: extra tokens at end of #endif directive niceabort.c:92: warning: incompatible implicit declaration of built-in function 'execl' niceabort.c:93: warning: incompatible implicit declaration of built-in function 'exit' niceabort.c:103: warning: incompatible implicit declaration of built-in function 'exit' --- compiling misc/patchlevel.o patchlevel.c:21:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive patchlevel.c:50: warning: incompatible implicit declaration of built-in function 'strcpy' patchlevel.c:51: warning: incompatible implicit declaration of built-in function 'strcat' --- linking libmisc.o --- compiling mzrouter/mzBlock.o mzBlock.c:57:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../utils/list.h:32:8: warning: extra tokens at end of #endif directive ../utils/doubleint.h:26:9: warning: extra tokens at end of #endif directive --- compiling mzrouter/mzDebug.o mzDebug.c:22:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../utils/list.h:32:8: warning: extra tokens at end of #endif directive ../utils/doubleint.h:26:9: warning: extra tokens at end of #endif directive --- compiling mzrouter/mzEstimate.o mzEstimate.c:91:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../utils/list.h:32:8: warning: extra tokens at end of #endif directive ../utils/doubleint.h:26:9: warning: extra tokens at end of #endif directive --- compiling mzrouter/mzXtndDown.o mzXtndDown.c:21:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../utils/doubleint.h:26:9: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../utils/list.h:32:8: warning: extra tokens at end of #endif directive --- compiling mzrouter/mzXtndLeft.o mzXtndLeft.c:21:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../utils/doubleint.h:26:9: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../utils/list.h:32:8: warning: extra tokens at end of #endif directive --- compiling mzrouter/mzXtndRght.o mzXtndRght.c:21:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../utils/doubleint.h:26:9: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../utils/list.h:32:8: warning: extra tokens at end of #endif directive --- compiling mzrouter/mzXtndUp.o mzXtndUp.c:21:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../utils/doubleint.h:26:9: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../utils/list.h:32:8: warning: extra tokens at end of #endif directive --- compiling mzrouter/mzHint.o mzHint.c:26:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../utils/list.h:32:8: warning: extra tokens at end of #endif directive ../utils/doubleint.h:26:9: warning: extra tokens at end of #endif directive --- compiling mzrouter/mzInit.o mzInit.c:23:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../drc/drc.h:27:8: warning: extra tokens at end of #endif directive ../drc/drc.h:30:8: warning: extra tokens at end of #endif directive ../drc/drc.h:180:8: warning: extra tokens at end of #endif directive ../select/select.h:27:8: warning: extra tokens at end of #endif directive ../select/select.h:30:8: warning: extra tokens at end of #endif directive ../undo/undo.h:28:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../utils/list.h:32:8: warning: extra tokens at end of #endif directive ../utils/doubleint.h:26:9: warning: extra tokens at end of #endif directive --- compiling mzrouter/mzNumLine.o mzNumLine.c:24:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../utils/list.h:32:8: warning: extra tokens at end of #endif directive ../utils/doubleint.h:26:9: warning: extra tokens at end of #endif directive --- compiling mzrouter/mzMain.o mzMain.c:27:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../drc/drc.h:27:8: warning: extra tokens at end of #endif directive ../drc/drc.h:30:8: warning: extra tokens at end of #endif directive ../drc/drc.h:180:8: warning: extra tokens at end of #endif directive ../select/select.h:27:8: warning: extra tokens at end of #endif directive ../select/select.h:30:8: warning: extra tokens at end of #endif directive ../undo/undo.h:28:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../main/main.h:27:8: warning: extra tokens at end of #endif directive ../main/main.h:30:8: warning: extra tokens at end of #endif directive ../utils/list.h:32:8: warning: extra tokens at end of #endif directive ../utils/doubleint.h:26:9: warning: extra tokens at end of #endif directive --- compiling mzrouter/mzSearch.o mzSearch.c:127:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../utils/doubleint.h:26:9: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../utils/list.h:32:8: warning: extra tokens at end of #endif directive --- compiling mzrouter/mzStart.o mzStart.c:22:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../utils/doubleint.h:26:9: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../utils/list.h:32:8: warning: extra tokens at end of #endif directive --- compiling mzrouter/mzSubrs.o mzSubrs.c:22:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../drc/drc.h:27:8: warning: extra tokens at end of #endif directive ../drc/drc.h:30:8: warning: extra tokens at end of #endif directive ../drc/drc.h:180:8: warning: extra tokens at end of #endif directive ../select/select.h:27:8: warning: extra tokens at end of #endif directive ../select/select.h:30:8: warning: extra tokens at end of #endif directive ../undo/undo.h:28:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../main/main.h:27:8: warning: extra tokens at end of #endif directive ../main/main.h:30:8: warning: extra tokens at end of #endif directive ../utils/list.h:32:8: warning: extra tokens at end of #endif directive ../utils/doubleint.h:26:9: warning: extra tokens at end of #endif directive --- compiling mzrouter/mzTech.o mzTech.c:24:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../utils/doubleint.h:26:9: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../wiring/wiring.h:26:8: warning: extra tokens at end of #endif directive ../wiring/wiring.h:29:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../utils/list.h:32:8: warning: extra tokens at end of #endif directive ../main/main.h:27:8: warning: extra tokens at end of #endif directive ../main/main.h:30:8: warning: extra tokens at end of #endif directive mzTech.c:1468:8: warning: extra tokens at end of #endif directive mzTech.c:1666:8: warning: extra tokens at end of #endif directive --- compiling mzrouter/mzTestCmd.o mzTestCmd.c:23:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../graphics/graphics.h:105:7: warning: extra tokens at end of #else directive ../graphics/graphics.h:108:8: warning: extra tokens at end of #endif directive ../main/main.h:27:8: warning: extra tokens at end of #endif directive ../main/main.h:30:8: warning: extra tokens at end of #endif directive ../commands/commands.h:27:8: warning: extra tokens at end of #endif directive ../commands/commands.h:31:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../utils/list.h:32:8: warning: extra tokens at end of #endif directive ../utils/doubleint.h:26:9: warning: extra tokens at end of #endif directive --- compiling mzrouter/mzWalk.o mzWalk.c:22:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../utils/doubleint.h:26:9: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../utils/list.h:32:8: warning: extra tokens at end of #endif directive --- linking libmzrouter.o --- compiling netlist/netlist.o netlist.c:23:8: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../utils/doubleint.h:26:9: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive netlist.c:164: warning: incompatible implicit declaration of built-in function 'memset' --- linking libnetlist.o --- compiling netmenu/NMbutton.o NMbutton.c:21:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../graphics/graphics.h:105:7: warning: extra tokens at end of #else directive ../graphics/graphics.h:108:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../netmenu/nmInt.h:27:8: warning: extra tokens at end of #endif directive ../netmenu/nmInt.h:30:8: warning: extra tokens at end of #endif directive ../main/main.h:27:8: warning: extra tokens at end of #endif directive ../main/main.h:30:8: warning: extra tokens at end of #endif directive NMbutton.c:155: warning: incompatible implicit declaration of built-in function 'strchr' --- compiling netmenu/NMcmdAK.o NMcmdAK.c:21:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../netmenu/nmInt.h:27:8: warning: extra tokens at end of #endif directive ../netmenu/nmInt.h:30:8: warning: extra tokens at end of #endif directive ../main/main.h:27:8: warning: extra tokens at end of #endif directive ../main/main.h:30:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive --- compiling netmenu/NMcmdLZ.o NMcmdLZ.c:21:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../netmenu/nmInt.h:27:8: warning: extra tokens at end of #endif directive ../netmenu/nmInt.h:30:8: warning: extra tokens at end of #endif directive ../main/main.h:27:8: warning: extra tokens at end of #endif directive ../main/main.h:30:8: warning: extra tokens at end of #endif directive --- compiling netmenu/NMlabel.o NMlabel.c:24:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../main/main.h:27:8: warning: extra tokens at end of #endif directive ../main/main.h:30:8: warning: extra tokens at end of #endif directive ../netmenu/nmInt.h:27:8: warning: extra tokens at end of #endif directive ../netmenu/nmInt.h:30:8: warning: extra tokens at end of #endif directive ../commands/commands.h:27:8: warning: extra tokens at end of #endif directive ../commands/commands.h:31:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive NMlabel.c:163: warning: incompatible implicit declaration of built-in function 'strlen' NMlabel.c:192: warning: incompatible implicit declaration of built-in function 'strcpy' NMlabel.c:210: warning: incompatible implicit declaration of built-in function 'strcpy' NMlabel.c:642: warning: incompatible implicit declaration of built-in function 'strncpy' --- compiling netmenu/NMmain.o NMmain.c:25:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../graphics/graphics.h:105:7: warning: extra tokens at end of #else directive ../graphics/graphics.h:108:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../netmenu/nmInt.h:27:8: warning: extra tokens at end of #endif directive ../netmenu/nmInt.h:30:8: warning: extra tokens at end of #endif directive ../undo/undo.h:28:8: warning: extra tokens at end of #endif directive --- compiling netmenu/NMnetlist.o NMnetlist.c:22:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../main/main.h:27:8: warning: extra tokens at end of #endif directive ../main/main.h:30:8: warning: extra tokens at end of #endif directive ../netmenu/nmInt.h:27:8: warning: extra tokens at end of #endif directive ../netmenu/nmInt.h:30:8: warning: extra tokens at end of #endif directive ../undo/undo.h:28:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive NMnetlist.c:439: warning: incompatible implicit declaration of built-in function 'strlen' NMnetlist.c:768: warning: incompatible implicit declaration of built-in function 'strlen' --- compiling netmenu/NMshowpt.o NMshowpt.c:22:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../graphics/graphics.h:105:7: warning: extra tokens at end of #else directive ../graphics/graphics.h:108:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../main/main.h:27:8: warning: extra tokens at end of #endif directive ../main/main.h:30:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive --- compiling netmenu/NMshowcell.o NMshowcell.c:23:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../graphics/graphics.h:105:7: warning: extra tokens at end of #else directive ../graphics/graphics.h:108:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../main/main.h:27:8: warning: extra tokens at end of #endif directive ../main/main.h:30:8: warning: extra tokens at end of #endif directive ../netmenu/nmInt.h:27:8: warning: extra tokens at end of #endif directive ../netmenu/nmInt.h:30:8: warning: extra tokens at end of #endif directive --- compiling netmenu/NMundo.o NMundo.c:21:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../netmenu/nmInt.h:27:8: warning: extra tokens at end of #endif directive ../netmenu/nmInt.h:30:8: warning: extra tokens at end of #endif directive ../undo/undo.h:28:8: warning: extra tokens at end of #endif directive NMundo.c:93: warning: incompatible implicit declaration of built-in function 'strlen' NMundo.c:106: warning: incompatible implicit declaration of built-in function 'strcpy' NMundo.c:112: warning: incompatible implicit declaration of built-in function 'strcpy' --- compiling netmenu/NMwiring.o NMwiring.c:24:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../main/main.h:27:8: warning: extra tokens at end of #endif directive ../main/main.h:30:8: warning: extra tokens at end of #endif directive ../netmenu/nmInt.h:27:8: warning: extra tokens at end of #endif directive ../netmenu/nmInt.h:30:8: warning: extra tokens at end of #endif directive ../drc/drc.h:27:8: warning: extra tokens at end of #endif directive ../drc/drc.h:30:8: warning: extra tokens at end of #endif directive ../drc/drc.h:180:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive NMwiring.c:404: warning: incompatible implicit declaration of built-in function 'strchr' --- linking libnetmenu.o --- compiling parser/parser.o parser.c:22:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive --- linking libparser.o --- compiling plot/plotGremln.o plotGremln.c:22:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../commands/commands.h:27:8: warning: extra tokens at end of #endif directive ../commands/commands.h:31:8: warning: extra tokens at end of #endif directive plotGremln.c:582: warning: incompatible implicit declaration of built-in function 'strlen' plotGremln.c:676: warning: incompatible implicit declaration of built-in function 'strlen' plotGremln.c:691: warning: incompatible implicit declaration of built-in function 'strlen' --- compiling plot/plotPS.o plotPS.c:22:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../commands/commands.h:27:8: warning: extra tokens at end of #endif directive ../commands/commands.h:31:8: warning: extra tokens at end of #endif directive plotPS.c:752: warning: incompatible implicit declaration of built-in function 'strlen' --- compiling plot/plotMain.o plotMain.c:23:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../plot/plotInt.h:24:8: warning: extra tokens at end of #endif directive ../plot/plotInt.h:27:8: warning: extra tokens at end of #endif directive ../plot/plotInt.h:47:8: warning: extra tokens at end of #endif directive --- compiling plot/plotRutils.o plotRutils.c:25:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../plot/plotInt.h:24:8: warning: extra tokens at end of #endif directive ../plot/plotInt.h:27:8: warning: extra tokens at end of #endif directive ../plot/plotInt.h:47:8: warning: extra tokens at end of #endif directive plotRutils.c:133:8: warning: extra tokens at end of #endif directive plotRutils.c:229: warning: incompatible implicit declaration of built-in function 'memset' plotRutils.c:542:8: warning: extra tokens at end of #endif directive --- compiling plot/plotVers.o plotVers.c:22:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../plot/plotInt.h:24:8: warning: extra tokens at end of #endif directive ../plot/plotInt.h:27:8: warning: extra tokens at end of #endif directive ../plot/plotInt.h:47:8: warning: extra tokens at end of #endif directive ../commands/commands.h:27:8: warning: extra tokens at end of #endif directive ../commands/commands.h:31:8: warning: extra tokens at end of #endif directive plotVers.c:330:9: warning: extra tokens at end of #endif directive plotVers.c:427:9: warning: extra tokens at end of #endif directive --- compiling plot/plotPixels.o plotPixels.c:24:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../plot/plotInt.h:24:8: warning: extra tokens at end of #endif directive ../plot/plotInt.h:27:8: warning: extra tokens at end of #endif directive ../plot/plotInt.h:47:8: warning: extra tokens at end of #endif directive ../commands/commands.h:27:8: warning: extra tokens at end of #endif directive ../commands/commands.h:31:8: warning: extra tokens at end of #endif directive ../graphics/graphicsInt.h:55:8: warning: extra tokens at end of #endif directive plotPixels.c:1151: warning: incompatible implicit declaration of built-in function 'memset' --- compiling plot/plotPNM.o plotPNM.c:22:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../main/main.h:27:8: warning: extra tokens at end of #endif directive ../main/main.h:30:8: warning: extra tokens at end of #endif directive ../commands/commands.h:27:8: warning: extra tokens at end of #endif directive ../commands/commands.h:31:8: warning: extra tokens at end of #endif directive --- linking libplot.o --- compiling plow/PlowJogs.o PlowJogs.c:21:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../undo/undo.h:28:8: warning: extra tokens at end of #endif directive ../plow/plowInt.h:27:8: warning: extra tokens at end of #endif directive ../plow/plowInt.h:30:8: warning: extra tokens at end of #endif directive ../plow/plowInt.h:33:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive --- compiling plow/PlowMain.o PlowMain.c:23:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../undo/undo.h:28:8: warning: extra tokens at end of #endif directive ../plow/plowInt.h:27:8: warning: extra tokens at end of #endif directive ../plow/plowInt.h:30:8: warning: extra tokens at end of #endif directive ../plow/plowInt.h:33:8: warning: extra tokens at end of #endif directive ../drc/drc.h:27:8: warning: extra tokens at end of #endif directive ../drc/drc.h:30:8: warning: extra tokens at end of #endif directive ../drc/drc.h:180:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../main/main.h:27:8: warning: extra tokens at end of #endif directive ../main/main.h:30:8: warning: extra tokens at end of #endif directive PlowMain.c:483:8: warning: extra tokens at end of #endif directive PlowMain.c:515:8: warning: extra tokens at end of #endif directive PlowMain.c:1026:8: warning: extra tokens at end of #endif directive PlowMain.c:1036:8: warning: extra tokens at end of #endif directive --- compiling plow/PlowQueue.o PlowQueue.c:22:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../plow/plowInt.h:27:8: warning: extra tokens at end of #endif directive ../plow/plowInt.h:30:8: warning: extra tokens at end of #endif directive ../plow/plowInt.h:33:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive --- compiling plow/PlowRandom.o PlowRandom.c:25:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../plow/plowInt.h:27:8: warning: extra tokens at end of #endif directive ../plow/plowInt.h:30:8: warning: extra tokens at end of #endif directive ../plow/plowInt.h:33:8: warning: extra tokens at end of #endif directive ../undo/undo.h:28:8: warning: extra tokens at end of #endif directive PlowRandom.c:83:8: warning: extra tokens at end of #endif directive PlowRandom.c:101:8: warning: extra tokens at end of #endif directive PlowRandom.c:145:8: warning: extra tokens at end of #endif directive PlowRandom.c:157:8: warning: extra tokens at end of #endif directive PlowRandom.c:255:8: warning: extra tokens at end of #endif directive --- compiling plow/PlowRules1.o PlowRules1.c:22:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../undo/undo.h:28:8: warning: extra tokens at end of #endif directive ../plow/plowInt.h:27:8: warning: extra tokens at end of #endif directive ../plow/plowInt.h:30:8: warning: extra tokens at end of #endif directive ../plow/plowInt.h:33:8: warning: extra tokens at end of #endif directive ../drc/drc.h:27:8: warning: extra tokens at end of #endif directive ../drc/drc.h:30:8: warning: extra tokens at end of #endif directive ../drc/drc.h:180:8: warning: extra tokens at end of #endif directive --- compiling plow/PlowRules2.o PlowRules2.c:22:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../undo/undo.h:28:8: warning: extra tokens at end of #endif directive ../plow/plowInt.h:27:8: warning: extra tokens at end of #endif directive ../plow/plowInt.h:30:8: warning: extra tokens at end of #endif directive ../plow/plowInt.h:33:8: warning: extra tokens at end of #endif directive ../drc/drc.h:27:8: warning: extra tokens at end of #endif directive ../drc/drc.h:30:8: warning: extra tokens at end of #endif directive ../drc/drc.h:180:8: warning: extra tokens at end of #endif directive --- compiling plow/PlowRules3.o PlowRules3.c:22:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../undo/undo.h:28:8: warning: extra tokens at end of #endif directive ../plow/plowInt.h:27:8: warning: extra tokens at end of #endif directive ../plow/plowInt.h:30:8: warning: extra tokens at end of #endif directive ../plow/plowInt.h:33:8: warning: extra tokens at end of #endif directive ../drc/drc.h:27:8: warning: extra tokens at end of #endif directive ../drc/drc.h:30:8: warning: extra tokens at end of #endif directive ../drc/drc.h:180:8: warning: extra tokens at end of #endif directive PlowRules3.c:120:8: warning: extra tokens at end of #endif directive PlowRules3.c:177:8: warning: extra tokens at end of #endif directive PlowRules3.c:252:8: warning: extra tokens at end of #endif directive PlowRules3.c:346:8: warning: extra tokens at end of #endif directive --- compiling plow/PlowSearch.o PlowSearch.c:22:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../plow/plowInt.h:27:8: warning: extra tokens at end of #endif directive ../plow/plowInt.h:30:8: warning: extra tokens at end of #endif directive ../plow/plowInt.h:33:8: warning: extra tokens at end of #endif directive ../utils/stack.h:27:8: warning: extra tokens at end of #endif directive --- compiling plow/PlowTech.o PlowTech.c:23:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../plow/plowInt.h:27:8: warning: extra tokens at end of #endif directive ../plow/plowInt.h:30:8: warning: extra tokens at end of #endif directive ../plow/plowInt.h:33:8: warning: extra tokens at end of #endif directive ../drc/drc.h:27:8: warning: extra tokens at end of #endif directive ../drc/drc.h:30:8: warning: extra tokens at end of #endif directive ../drc/drc.h:180:8: warning: extra tokens at end of #endif directive --- compiling plow/PlowTest.o PlowTest.c:22:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../graphics/graphics.h:105:7: warning: extra tokens at end of #else directive ../graphics/graphics.h:108:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../main/main.h:27:8: warning: extra tokens at end of #endif directive ../main/main.h:30:8: warning: extra tokens at end of #endif directive ../commands/commands.h:27:8: warning: extra tokens at end of #endif directive ../commands/commands.h:31:8: warning: extra tokens at end of #endif directive ../drc/drc.h:27:8: warning: extra tokens at end of #endif directive ../drc/drc.h:30:8: warning: extra tokens at end of #endif directive ../drc/drc.h:180:8: warning: extra tokens at end of #endif directive ../plow/plowInt.h:27:8: warning: extra tokens at end of #endif directive ../plow/plowInt.h:30:8: warning: extra tokens at end of #endif directive ../plow/plowInt.h:33:8: warning: extra tokens at end of #endif directive PlowTest.c:760:8: warning: extra tokens at end of #endif directive --- compiling plow/PlowWidth.o PlowWidth.c:22:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../plow/plowInt.h:27:8: warning: extra tokens at end of #endif directive ../plow/plowInt.h:30:8: warning: extra tokens at end of #endif directive ../plow/plowInt.h:33:8: warning: extra tokens at end of #endif directive PlowWidth.c:44:8: warning: extra tokens at end of #endif directive PlowWidth.c:85:8: warning: extra tokens at end of #endif directive PlowWidth.c:103:8: warning: extra tokens at end of #endif directive PlowWidth.c:111:8: warning: extra tokens at end of #endif directive PlowWidth.c:128:8: warning: extra tokens at end of #endif directive PlowWidth.c:138:8: warning: extra tokens at end of #endif directive PlowWidth.c:181:8: warning: extra tokens at end of #endif directive PlowWidth.c:250:8: warning: extra tokens at end of #endif directive PlowWidth.c:355:8: warning: extra tokens at end of #endif directive PlowWidth.c:363:8: warning: extra tokens at end of #endif directive PlowWidth.c:380:8: warning: extra tokens at end of #endif directive PlowWidth.c:390:8: warning: extra tokens at end of #endif directive PlowWidth.c:433:8: warning: extra tokens at end of #endif directive --- compiling plow/PlowYank.o PlowYank.c:23:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../undo/undo.h:28:8: warning: extra tokens at end of #endif directive ../plow/plowInt.h:27:8: warning: extra tokens at end of #endif directive ../plow/plowInt.h:30:8: warning: extra tokens at end of #endif directive ../plow/plowInt.h:33:8: warning: extra tokens at end of #endif directive ../drc/drc.h:27:8: warning: extra tokens at end of #endif directive ../drc/drc.h:30:8: warning: extra tokens at end of #endif directive ../drc/drc.h:180:8: warning: extra tokens at end of #endif directive --- linking libplow.o --- compiling resis/ResMain.o ResMain.c:3:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../database/databaseInt.h:25:8: warning: extra tokens at end of #endif directive ../database/databaseInt.h:28:8: warning: extra tokens at end of #endif directive ../database/databaseInt.h:31:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:30:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:33:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:36:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:39:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:42:8: warning: extra tokens at end of #endif directive --- compiling resis/ResJunct.o ResJunct.c:4:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../database/databaseInt.h:25:8: warning: extra tokens at end of #endif directive ../database/databaseInt.h:28:8: warning: extra tokens at end of #endif directive ../database/databaseInt.h:31:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:30:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:33:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:36:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:39:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:42:8: warning: extra tokens at end of #endif directive ../utils/stack.h:27:8: warning: extra tokens at end of #endif directive --- compiling resis/ResMakeRes.o ResMakeRes.c:4:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:30:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:33:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:36:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:39:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:42:8: warning: extra tokens at end of #endif directive --- compiling resis/ResSimple.o ResSimple.c:13:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../utils/doubleint.h:26:9: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:30:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:33:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:36:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:39:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:42:8: warning: extra tokens at end of #endif directive ../utils/stack.h:27:8: warning: extra tokens at end of #endif directive --- compiling resis/ResPrint.o ResPrint.c:4:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:30:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:33:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:36:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:39:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:42:8: warning: extra tokens at end of #endif directive ../utils/stack.h:27:8: warning: extra tokens at end of #endif directive --- compiling resis/ResReadSim.o ResReadSim.c:4:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:30:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:33:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:36:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:39:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:42:8: warning: extra tokens at end of #endif directive --- compiling resis/ResConDCS.o ResConDCS.c:8:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../database/databaseInt.h:25:8: warning: extra tokens at end of #endif directive ../database/databaseInt.h:28:8: warning: extra tokens at end of #endif directive ../database/databaseInt.h:31:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:30:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:33:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:36:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:39:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:42:8: warning: extra tokens at end of #endif directive --- compiling resis/ResRex.o ResRex.c:4:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:30:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:33:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:36:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:39:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:42:8: warning: extra tokens at end of #endif directive --- compiling resis/ResBasic.o ResBasic.c:4:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:30:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:33:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:36:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:39:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:42:8: warning: extra tokens at end of #endif directive --- compiling resis/ResMerge.o ResMerge.c:4:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive --- compiling resis/ResChecks.o ResChecks.c:4:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:30:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:33:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:36:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:39:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:42:8: warning: extra tokens at end of #endif directive ../utils/stack.h:27:8: warning: extra tokens at end of #endif directive --- compiling resis/ResFract.o ResFract.c:12:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../database/databaseInt.h:25:8: warning: extra tokens at end of #endif directive ../database/databaseInt.h:28:8: warning: extra tokens at end of #endif directive ../database/databaseInt.h:31:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../main/main.h:27:8: warning: extra tokens at end of #endif directive ../main/main.h:30:8: warning: extra tokens at end of #endif directive --- compiling resis/ResUtils.o ResUtils.c:4:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../database/databaseInt.h:25:8: warning: extra tokens at end of #endif directive ../database/databaseInt.h:28:8: warning: extra tokens at end of #endif directive ../database/databaseInt.h:31:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:30:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:33:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:36:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:39:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:42:8: warning: extra tokens at end of #endif directive ../utils/stack.h:27:8: warning: extra tokens at end of #endif directive --- compiling resis/ResDebug.o ResDebug.c:4:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:30:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:33:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:36:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:39:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:42:8: warning: extra tokens at end of #endif directive ../utils/stack.h:27:8: warning: extra tokens at end of #endif directive --- linking libresis.o --- compiling router/rtrMain.o rtrMain.c:20:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../utils/doubleint.h:26:9: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../gcr/gcr.h:191:8: warning: extra tokens at end of #endif directive ../main/main.h:27:8: warning: extra tokens at end of #endif directive ../main/main.h:30:8: warning: extra tokens at end of #endif directive --- compiling router/rtrDcmpose.o rtrDcmpose.c:34:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../main/main.h:27:8: warning: extra tokens at end of #endif directive ../main/main.h:30:8: warning: extra tokens at end of #endif directive ../utils/doubleint.h:26:9: warning: extra tokens at end of #endif directive ../undo/undo.h:28:8: warning: extra tokens at end of #endif directive ../gcr/gcr.h:191:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive --- compiling router/ftrFdback.o ftrFdback.c:24:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../main/main.h:27:8: warning: extra tokens at end of #endif directive ../main/main.h:30:8: warning: extra tokens at end of #endif directive ../gcr/gcr.h:191:8: warning: extra tokens at end of #endif directive ../utils/doubleint.h:26:9: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ftrFdback.c: In function 'RtrChannelError': ftrFdback.c:99: warning: incompatible implicit declaration of built-in function 'strlen' ftrFdback.c:107: warning: incompatible implicit declaration of built-in function 'strcat' --- compiling router/rtrHazards.o rtrHazards.c:35:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../gcr/gcr.h:191:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive --- compiling router/rtrChannel.o rtrChannel.c:20:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../utils/doubleint.h:26:9: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../gcr/gcr.h:191:8: warning: extra tokens at end of #endif directive ../main/main.h:27:8: warning: extra tokens at end of #endif directive ../main/main.h:30:8: warning: extra tokens at end of #endif directive rtrChannel.c:60:8: warning: extra tokens at end of #endif directive rtrChannel.c:537: warning: incompatible implicit declaration of built-in function 'memcpy' rtrChannel.c:541:8: warning: extra tokens at end of #endif directive --- compiling router/rtrPaint.o rtrPaint.c:22:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../utils/doubleint.h:26:9: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../gcr/gcr.h:191:8: warning: extra tokens at end of #endif directive ../main/main.h:27:8: warning: extra tokens at end of #endif directive ../main/main.h:30:8: warning: extra tokens at end of #endif directive --- compiling router/rtrPin.o rtrPin.c:22:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../utils/doubleint.h:26:9: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../gcr/gcr.h:191:8: warning: extra tokens at end of #endif directive ../main/main.h:27:8: warning: extra tokens at end of #endif directive ../main/main.h:30:8: warning: extra tokens at end of #endif directive rtrPin.c:424: warning: incompatible implicit declaration of built-in function 'strcat' rtrPin.c:430:8: warning: extra tokens at end of #endif directive --- compiling router/rtrSide.o rtrSide.c:22:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../utils/doubleint.h:26:9: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../gcr/gcr.h:191:8: warning: extra tokens at end of #endif directive ../main/main.h:27:8: warning: extra tokens at end of #endif directive ../main/main.h:30:8: warning: extra tokens at end of #endif directive --- compiling router/rtrStem.o rtrStem.c:24:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../gcr/gcr.h:191:8: warning: extra tokens at end of #endif directive ../utils/doubleint.h:26:9: warning: extra tokens at end of #endif directive ../main/main.h:27:8: warning: extra tokens at end of #endif directive ../main/main.h:30:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive --- compiling router/rtrTech.o rtrTech.c:23:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive rtrTech.c:382:8: warning: extra tokens at end of #endif directive --- compiling router/rtrVia.o rtrVia.c:21:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../utils/doubleint.h:26:9: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../main/main.h:27:8: warning: extra tokens at end of #endif directive ../main/main.h:30:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../gcr/gcr.h:191:8: warning: extra tokens at end of #endif directive --- compiling router/rtrTravers.o rtrTravers.c:24:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../main/main.h:27:8: warning: extra tokens at end of #endif directive ../main/main.h:30:8: warning: extra tokens at end of #endif directive ../gcr/gcr.h:191:8: warning: extra tokens at end of #endif directive --- linking librouter.o --- compiling select/selCreate.o selCreate.c:21:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../undo/undo.h:28:8: warning: extra tokens at end of #endif directive ../commands/commands.h:27:8: warning: extra tokens at end of #endif directive ../commands/commands.h:31:8: warning: extra tokens at end of #endif directive ../select/selInt.h:27:8: warning: extra tokens at end of #endif directive ../select/selInt.h:30:8: warning: extra tokens at end of #endif directive ../drc/drc.h:27:8: warning: extra tokens at end of #endif directive ../drc/drc.h:30:8: warning: extra tokens at end of #endif directive ../drc/drc.h:180:8: warning: extra tokens at end of #endif directive ../main/main.h:27:8: warning: extra tokens at end of #endif directive ../main/main.h:30:8: warning: extra tokens at end of #endif directive --- compiling select/selDisplay.o selDisplay.c:21:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../graphics/graphics.h:105:7: warning: extra tokens at end of #else directive ../graphics/graphics.h:108:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive --- compiling select/selEnum.o selEnum.c:24:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../main/main.h:27:8: warning: extra tokens at end of #endif directive ../main/main.h:30:8: warning: extra tokens at end of #endif directive ../select/select.h:27:8: warning: extra tokens at end of #endif directive ../select/select.h:30:8: warning: extra tokens at end of #endif directive ../select/selInt.h:27:8: warning: extra tokens at end of #endif directive ../select/selInt.h:30:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive --- compiling select/selOps.o selOps.c:22:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../main/main.h:27:8: warning: extra tokens at end of #endif directive ../main/main.h:30:8: warning: extra tokens at end of #endif directive ../select/select.h:27:8: warning: extra tokens at end of #endif directive ../select/select.h:30:8: warning: extra tokens at end of #endif directive ../select/selInt.h:27:8: warning: extra tokens at end of #endif directive ../select/selInt.h:30:8: warning: extra tokens at end of #endif directive ../undo/undo.h:28:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../drc/drc.h:27:8: warning: extra tokens at end of #endif directive ../drc/drc.h:30:8: warning: extra tokens at end of #endif directive ../drc/drc.h:180:8: warning: extra tokens at end of #endif directive --- compiling select/selUndo.o selUndo.c:24:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../graphics/graphics.h:105:7: warning: extra tokens at end of #else directive ../graphics/graphics.h:108:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../undo/undo.h:28:8: warning: extra tokens at end of #endif directive ../select/select.h:27:8: warning: extra tokens at end of #endif directive ../select/select.h:30:8: warning: extra tokens at end of #endif directive ../select/selInt.h:27:8: warning: extra tokens at end of #endif directive ../select/selInt.h:30:8: warning: extra tokens at end of #endif directive --- compiling select/selUnselect.o ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../commands/commands.h:27:8: warning: extra tokens at end of #endif directive ../commands/commands.h:31:8: warning: extra tokens at end of #endif directive ../main/main.h:27:8: warning: extra tokens at end of #endif directive ../main/main.h:30:8: warning: extra tokens at end of #endif directive ../select/select.h:27:8: warning: extra tokens at end of #endif directive ../select/select.h:30:8: warning: extra tokens at end of #endif directive ../select/selInt.h:27:8: warning: extra tokens at end of #endif directive ../select/selInt.h:30:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive --- linking libselect.o --- compiling signals/signals.o signals.c:21:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../graphics/graphics.h:105:7: warning: extra tokens at end of #else directive ../graphics/graphics.h:108:8: warning: extra tokens at end of #endif directive signals.c:240:8: warning: extra tokens at end of #endif directive signals.c:357: warning: incompatible implicit declaration of built-in function 'exit' signals.c:462: warning: incompatible implicit declaration of built-in function 'strcpy' signals.c:471: warning: incompatible implicit declaration of built-in function 'exit' signals.c:525:8: warning: extra tokens at end of #endif directive --- linking libsignals.o --- compiling sim/SimDBstuff.o ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../database/databaseInt.h:25:8: warning: extra tokens at end of #endif directive ../database/databaseInt.h:28:8: warning: extra tokens at end of #endif directive ../database/databaseInt.h:31:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:30:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:33:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:36:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:39:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:42:8: warning: extra tokens at end of #endif directive ../commands/commands.h:27:8: warning: extra tokens at end of #endif directive ../commands/commands.h:31:8: warning: extra tokens at end of #endif directive ../graphics/graphics.h:105:7: warning: extra tokens at end of #else directive ../graphics/graphics.h:108:8: warning: extra tokens at end of #endif directive SimDBstuff.c:231: warning: incompatible implicit declaration of built-in function 'strcpy' SimDBstuff.c:243: warning: incompatible implicit declaration of built-in function 'strlen' SimDBstuff.c:413: warning: incompatible implicit declaration of built-in function 'strcpy' SimDBstuff.c:736: warning: incompatible implicit declaration of built-in function 'strcat' SimDBstuff.c:952: warning: incompatible implicit declaration of built-in function 'strlen' SimDBstuff.c:954: warning: incompatible implicit declaration of built-in function 'strcpy' --- compiling sim/SimSelect.o SimSelect.c:23:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../undo/undo.h:28:8: warning: extra tokens at end of #endif directive ../commands/commands.h:27:8: warning: extra tokens at end of #endif directive ../commands/commands.h:31:8: warning: extra tokens at end of #endif directive ../select/selInt.h:27:8: warning: extra tokens at end of #endif directive ../select/selInt.h:30:8: warning: extra tokens at end of #endif directive ../main/main.h:27:8: warning: extra tokens at end of #endif directive ../main/main.h:30:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive --- compiling sim/SimRsim.o ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../utils/stack.h:27:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive SimRsim.c:181: warning: incompatible implicit declaration of built-in function 'strcpy' SimRsim.c:189: warning: incompatible implicit declaration of built-in function 'strcat' SimRsim.c:248: warning: incompatible implicit declaration of built-in function '_exit' SimRsim.c:321: warning: incompatible implicit declaration of built-in function 'strcat' SimRsim.c:336: warning: incompatible implicit declaration of built-in function 'strlen' SimRsim.c:391: warning: incompatible implicit declaration of built-in function 'strcpy' SimRsim.c:392: warning: incompatible implicit declaration of built-in function 'strlen' SimRsim.c:546: warning: incompatible implicit declaration of built-in function 'strcpy' SimRsim.c:561: warning: incompatible implicit declaration of built-in function 'strlen' SimRsim.c:851: warning: incompatible implicit declaration of built-in function 'strlen' --- compiling sim/SimExtract.o ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:30:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:33:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:36:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:39:8: warning: extra tokens at end of #endif directive ../extract/extractInt.h:42:8: warning: extra tokens at end of #endif directive ../utils/stack.h:27:8: warning: extra tokens at end of #endif directive SimExtract.c:649: warning: incompatible implicit declaration of built-in function 'strcpy' SimExtract.c:651: warning: incompatible implicit declaration of built-in function 'strcat' --- linking libsim.o --- compiling textio/txCommands.o txCommands.c:22:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../textio/textioInt.h:56:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../drc/drc.h:27:8: warning: extra tokens at end of #endif directive ../drc/drc.h:30:8: warning: extra tokens at end of #endif directive ../drc/drc.h:180:8: warning: extra tokens at end of #endif directive ../graphics/graphics.h:105:7: warning: extra tokens at end of #else directive ../graphics/graphics.h:108:8: warning: extra tokens at end of #endif directive ../utils/dqueue.h:29:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive txCommands.c:807: warning: incompatible implicit declaration of built-in function 'strncpy' --- compiling textio/txInput.o txInput.c:21:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../textio/textioInt.h:56:8: warning: extra tokens at end of #endif directive ../utils/dqueue.h:29:8: warning: extra tokens at end of #endif directive ../graphics/graphics.h:105:7: warning: extra tokens at end of #else directive ../graphics/graphics.h:108:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../database/databaseInt.h:25:8: warning: extra tokens at end of #endif directive ../database/databaseInt.h:28:8: warning: extra tokens at end of #endif directive ../database/databaseInt.h:31:8: warning: extra tokens at end of #endif directive ../cif/CIFint.h:26:8: warning: extra tokens at end of #endif directive ../cif/CIFint.h:29:8: warning: extra tokens at end of #endif directive ../cif/CIFread.h:26:8: warning: extra tokens at end of #endif directive ../cif/CIFread.h:29:8: warning: extra tokens at end of #endif directive txInput.c:1045:8: warning: extra tokens at end of #endif directive txInput.c:1068:8: warning: extra tokens at end of #endif directive txInput.c:1076:8: warning: extra tokens at end of #endif directive txInput.c:1102:8: warning: extra tokens at end of #endif directive txInput.c:1117:8: warning: extra tokens at end of #endif directive txInput.c:1126:8: warning: extra tokens at end of #endif directive txInput.c:1169:8: warning: extra tokens at end of #endif directive txInput.c:1194:8: warning: extra tokens at end of #endif directive --- compiling textio/txMain.o txMain.c:22:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../textio/textioInt.h:56:8: warning: extra tokens at end of #endif directive --- compiling textio/txMore.o txMore.c:20:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive txMore.c:47: warning: incompatible implicit declaration of built-in function 'sprintf' --- compiling textio/txOutput.o txOutput.c:21:9: warning: extra tokens at end of #endif directive txOutput.c:29:8: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../textio/textioInt.h:56:8: warning: extra tokens at end of #endif directive ../graphics/graphics.h:105:7: warning: extra tokens at end of #else directive ../graphics/graphics.h:108:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive /usr/lib/gcc/i486-linux-gnu/4.0.3/include/varargs.h:4:2: error: #error "GCC no longer implements ." /usr/lib/gcc/i486-linux-gnu/4.0.3/include/varargs.h:5:2: error: #error "Revise your code to use ." txOutput.c:46:8: warning: extra tokens at end of #endif directive txOutput.c:86: error: syntax error before 'va_dcl' txOutput.c:87: error: syntax error before '{' token txOutput.c:92: warning: parameter names (without types) in function declaration txOutput.c:92: warning: data definition has no type or storage class txOutput.c:93: error: conflicting types for 'f' txOutput.c:90: error: previous declaration of 'f' was here txOutput.c:93: error: 'args' undeclared here (not in a function) txOutput.c:93: error: syntax error before 'FILE' txOutput.c:94: error: conflicting types for 'fmt' txOutput.c:89: error: previous declaration of 'fmt' was here txOutput.c:94: error: syntax error before 'char' txOutput.c:96: warning: parameter names (without types) in function declaration txOutput.c:96: warning: data definition has no type or storage class txOutput.c:97: error: syntax error before '}' token txOutput.c:98:7: warning: extra tokens at end of #else directive txOutput.c:110:8: warning: extra tokens at end of #endif directive txOutput.c:139: error: syntax error before 'va_dcl' txOutput.c:140: error: syntax error before '{' token txOutput.c:145: error: syntax error before 'if' txOutput.c:159: warning: parameter names (without types) in function declaration txOutput.c:159: warning: data definition has no type or storage class txOutput.c:160: error: conflicting types for 'fmt' txOutput.c:142: error: previous declaration of 'fmt' was here txOutput.c:160: error: syntax error before 'char' txOutput.c:162: warning: parameter names (without types) in function declaration txOutput.c:162: warning: data definition has no type or storage class txOutput.c:163: error: conflicting types for 'TxPrompt' ../textio/textio.h:48: error: previous declaration of 'TxPrompt' was here txOutput.c:163: warning: data definition has no type or storage class txOutput.c:164: error: syntax error before '}' token txOutput.c:168: error: conflicting types for 'fmt' txOutput.c:142: error: previous declaration of 'fmt' was here txOutput.c:168: error: syntax error before 'char' txOutput.c:170: warning: parameter names (without types) in function declaration txOutput.c:170: warning: data definition has no type or storage class txOutput.c:171: error: syntax error before '}' token txOutput.c:176:7: warning: extra tokens at end of #else directive txOutput.c:215:8: warning: extra tokens at end of #endif directive txOutput.c:310: error: syntax error before 'va_dcl' txOutput.c:311: error: syntax error before '{' token txOutput.c:316: error: syntax error before 'void' txOutput.c:324: warning: parameter names (without types) in function declaration txOutput.c:324: warning: data definition has no type or storage class txOutput.c:325: error: conflicting types for 'fmt' txOutput.c:313: error: previous declaration of 'fmt' was here txOutput.c:325: error: syntax error before 'char' txOutput.c:327: warning: parameter names (without types) in function declaration txOutput.c:327: warning: data definition has no type or storage class txOutput.c:328: error: conflicting types for 'TxPrompt' ../textio/textio.h:48: error: previous declaration of 'TxPrompt' was here txOutput.c:328: warning: data definition has no type or storage class txOutput.c:329: error: syntax error before '}' token txOutput.c:332: error: conflicting types for 'fmt' txOutput.c:313: error: previous declaration of 'fmt' was here txOutput.c:332: error: syntax error before 'char' txOutput.c:334: warning: parameter names (without types) in function declaration txOutput.c:334: warning: data definition has no type or storage class txOutput.c:335: error: syntax error before '}' token txOutput.c:339:7: warning: extra tokens at end of #else directive txOutput.c:367:8: warning: extra tokens at end of #endif directive txOutput.c:535:9: warning: extra tokens at end of #endif directive --- compiling tech/tech.o tech.c:21:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../graphics/graphics.h:105:7: warning: extra tokens at end of #else directive ../graphics/graphics.h:108:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive /usr/lib/gcc/i486-linux-gnu/4.0.3/include/varargs.h:4:2: error: #error "GCC no longer implements ." /usr/lib/gcc/i486-linux-gnu/4.0.3/include/varargs.h:5:2: error: #error "Revise your code to use ." tech.c:35:9: warning: extra tokens at end of #endif directive tech.c:419: error: syntax error before 'va_dcl' tech.c:420: error: syntax error before '{' token tech.c:424: error: conflicting types for 'TechPrintLine' tech.c:401: error: previous definition of 'TechPrintLine' was here tech.c:424: warning: data definition has no type or storage class tech.c:425: warning: parameter names (without types) in function declaration tech.c:425: warning: data definition has no type or storage class tech.c:426: error: conflicting types for 'fmt' tech.c:422: error: previous declaration of 'fmt' was here tech.c:426: error: 'args' undeclared here (not in a function) tech.c:426: error: syntax error before 'char' tech.c:428: warning: parameter names (without types) in function declaration tech.c:428: warning: data definition has no type or storage class tech.c:429: error: syntax error before '}' token tech.c:430:7: warning: extra tokens at end of #else directive tech.c:443:8: warning: extra tokens at end of #endif directive --- compiling tiles/tile.o tile.c:21:8: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive --- compiling tiles/search.o search.c:21:8: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive --- compiling tiles/search2.o search2.c:21:8: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive --- linking libtiles.o --- compiling undo/undo.o undo.c:27:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../undo/undo.h:28:8: warning: extra tokens at end of #endif directive --- linking libundo.o --- compiling utils/args.o args.c:21:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive --- compiling utils/child.o child.c:17:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive --- compiling utils/doubleint.o ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../utils/doubleint.h:26:9: warning: extra tokens at end of #endif directive doubleint.c:31:8: warning: extra tokens at end of #endif directive --- compiling utils/finddisp.o finddisp.c:25:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive --- compiling utils/flock.o flock.c:22:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive flock.c:137: warning: incompatible implicit declaration of built-in function 'strcat' flock.c:358: warning: incompatible implicit declaration of built-in function 'strpbrk' flock.c:359: warning: incompatible implicit declaration of built-in function 'strlen' flock.c:438: warning: incompatible implicit declaration of built-in function 'strpbrk' flock.c:439: warning: incompatible implicit declaration of built-in function 'strlen' --- compiling utils/flsbuf.o flsbuf.c:26:9: warning: extra tokens at end of #endif directive flsbuf.c:187:8: warning: extra tokens at end of #else directive flsbuf.c:197:8: warning: extra tokens at end of #endif directive --- compiling utils/geometry.o geometry.c:21:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive --- compiling utils/getrect.o getrect.c:23:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive getrect.c:130: warning: pointer targets in assignment differ in signedness getrect.c:156: warning: pointer targets in assignment differ in signedness --- compiling utils/hash.o hash.c:23:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive hash.c:418: warning: incompatible implicit declaration of built-in function 'strlen' hash.c:419: warning: incompatible implicit declaration of built-in function 'strcpy' --- compiling utils/heap.o heap.c:21:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../utils/doubleint.h:26:9: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive heap.c:381: warning: incompatible implicit declaration of built-in function 'memcpy' --- compiling utils/list.o list.c:22:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../utils/list.h:32:8: warning: extra tokens at end of #endif directive --- compiling utils/lookup.o lookup.c:21:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive --- compiling utils/lookupany.o lookupany.c:23:9: warning: extra tokens at end of #endif directive --- compiling utils/lookupfull.o lookupfull.c:23:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive --- compiling utils/malloc.o malloc.c:24:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive malloc.c:43: warning: conflicting types for built-in function 'malloc' malloc.c:70:8: warning: extra tokens at end of #endif directive malloc.c:1272:8: warning: extra tokens at end of #endif directive malloc.c:1299: warning: incompatible implicit declaration of built-in function 'memset' --- compiling utils/match.o match.c:20:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive --- compiling utils/path.o path.c:21:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive path.c:62: warning: incompatible implicit declaration of built-in function 'strlen' path.c:65: warning: incompatible implicit declaration of built-in function 'strcpy' path.c:177: warning: incompatible implicit declaration of built-in function 'strlen' path.c:178: warning: incompatible implicit declaration of built-in function 'strcpy' path.c:190: warning: incompatible implicit declaration of built-in function 'strlen' path.c:192: warning: incompatible implicit declaration of built-in function 'strncpy' path.c:287: warning: incompatible implicit declaration of built-in function 'strlen' path.c:287: warning: incompatible implicit declaration of built-in function 'strncpy' path.c:288: warning: incompatible implicit declaration of built-in function 'strcpy' path.c:357: warning: incompatible implicit declaration of built-in function 'strlen' path.c:361: warning: incompatible implicit declaration of built-in function 'strncpy' path.c:399: warning: incompatible implicit declaration of built-in function 'strncpy' --- compiling utils/pathvisit.o pathvisit.c:23:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive --- compiling utils/port.o port.c:20:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive --- compiling utils/printstuff.o printstuff.c:3:8: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive printstuff.c:11: warning: incompatible implicit declaration of built-in function 'printf' printstuff.c:19: warning: incompatible implicit declaration of built-in function 'printf' --- compiling utils/stack.o stack.c:21:8: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../utils/stack.h:27:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive --- compiling utils/strdup.o strdup.c:21:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive strdup.c:59: warning: incompatible implicit declaration of built-in function 'strlen' strdup.c:60: warning: incompatible implicit declaration of built-in function 'strcpy' --- compiling utils/dqueue.o dqueue.c:21:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../utils/dqueue.h:29:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive --- compiling utils/runstats.o runstats.c:23:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive --- compiling utils/saveimage.o saveimage.c:22:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive saveimage.c:35:9: warning: extra tokens at end of #endif directive saveimage.c:214:8: warning: extra tokens at end of #endif directive saveimage.c:254: warning: incompatible implicit declaration of built-in function 'memset' --- compiling utils/set.o set.c:22:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../utils/doubleint.h:26:9: warning: extra tokens at end of #endif directive ../utils/list.h:32:8: warning: extra tokens at end of #endif directive --- compiling utils/show.o show.c:21:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../graphics/graphics.h:105:7: warning: extra tokens at end of #else directive ../graphics/graphics.h:108:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive --- compiling utils/touchtypes.o touchtypes.c:22:8: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive --- linking libutils.o --- compiling windows/windClient.o windClient.c:21:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../main/main.h:27:8: warning: extra tokens at end of #endif directive ../main/main.h:30:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../graphics/graphics.h:105:7: warning: extra tokens at end of #else directive ../graphics/graphics.h:108:8: warning: extra tokens at end of #endif directive ../undo/undo.h:28:8: warning: extra tokens at end of #endif directive windClient.c:609:8: warning: extra tokens at end of #endif directive --- compiling windows/windCmdAM.o windCmdAM.c:21:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../graphics/graphics.h:105:7: warning: extra tokens at end of #else directive ../graphics/graphics.h:108:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive --- compiling windows/windCmdNR.o windCmdNR.c:21:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../main/main.h:27:8: warning: extra tokens at end of #endif directive ../main/main.h:30:8: warning: extra tokens at end of #endif directive ../undo/undo.h:28:8: warning: extra tokens at end of #endif directive ../graphics/graphics.h:105:7: warning: extra tokens at end of #else directive ../graphics/graphics.h:108:8: warning: extra tokens at end of #endif directive --- compiling windows/windCmdSZ.o windCmdSZ.c:21:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../undo/undo.h:28:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive --- compiling windows/windSend.o windSend.c:21:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../utils/stack.h:27:8: warning: extra tokens at end of #endif directive --- compiling windows/windDebug.o windDebug.c:21:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive --- compiling windows/windDisp.o windDisp.c:20:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../graphics/graphics.h:105:7: warning: extra tokens at end of #else directive ../graphics/graphics.h:108:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../undo/undo.h:28:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive --- compiling windows/windSun.o windSun.c:21:9: warning: extra tokens at end of #endif directive windSun.c:386:8: warning: extra tokens at end of #endif directive --- compiling windows/windMain.o windMain.c:48:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../utils/stack.h:27:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../graphics/graphics.h:105:7: warning: extra tokens at end of #else directive ../graphics/graphics.h:108:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive windMain.c:287: warning: incompatible implicit declaration of built-in function 'strlen' --- compiling windows/windMove.o windMove.c:22:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../graphics/graphics.h:105:7: warning: extra tokens at end of #else directive ../graphics/graphics.h:108:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive windMove.c:201:8: warning: extra tokens at end of #endif directive windMove.c:331:8: warning: extra tokens at end of #endif directive windMove.c:452:8: warning: extra tokens at end of #endif directive windMove.c:515:8: warning: extra tokens at end of #endif directive --- compiling windows/windSearch.o windSearch.c:21:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive --- compiling windows/windTrans.o windTrans.c:22:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive --- compiling windows/windView.o windView.c:22:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive --- linking libwindows.o --- compiling wiring/wireOps.o wireOps.c:23:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../select/select.h:27:8: warning: extra tokens at end of #endif directive ../select/select.h:30:8: warning: extra tokens at end of #endif directive ../drc/drc.h:27:8: warning: extra tokens at end of #endif directive ../drc/drc.h:30:8: warning: extra tokens at end of #endif directive ../drc/drc.h:180:8: warning: extra tokens at end of #endif directive ../main/main.h:27:8: warning: extra tokens at end of #endif directive ../main/main.h:30:8: warning: extra tokens at end of #endif directive ../wiring/wiring.h:26:8: warning: extra tokens at end of #endif directive ../wiring/wiring.h:29:8: warning: extra tokens at end of #endif directive ../wiring/wireInt.h:26:8: warning: extra tokens at end of #endif directive ../wiring/wireInt.h:29:8: warning: extra tokens at end of #endif directive --- compiling wiring/wireTech.o wireTech.c:22:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../wiring/wiring.h:26:8: warning: extra tokens at end of #endif directive ../wiring/wiring.h:29:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive --- compiling wiring/wireUndo.o wireUndo.c:22:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../wiring/wiring.h:26:8: warning: extra tokens at end of #endif directive ../wiring/wiring.h:29:8: warning: extra tokens at end of #endif directive ../wiring/wireInt.h:26:8: warning: extra tokens at end of #endif directive ../wiring/wireInt.h:29:8: warning: extra tokens at end of #endif directive ../undo/undo.h:28:8: warning: extra tokens at end of #endif directive --- linking libwiring.o --- building GNU readline display.c:1273: warning: comparison is always true due to limited range of data type callback.c:100: warning: incompatible implicit declaration of built-in function 'abort' --- compiling ext2sim/ext2sim.o ext2sim.c:17:9: warning: extra tokens at end of #endif directive /usr/lib/gcc/i486-linux-gnu/4.0.3/include/varargs.h:4:2: error: #error "GCC no longer implements ." /usr/lib/gcc/i486-linux-gnu/4.0.3/include/varargs.h:5:2: error: #error "Revise your code to use ." ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../extflat/extflat.h:24:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ext2sim.c:203:8: warning: extra tokens at end of #endif directive ext2sim.c:310: warning: incompatible implicit declaration of built-in function 'strchr' ext2sim.c:320: warning: incompatible implicit declaration of built-in function 'strlen' ext2sim.c:321: warning: incompatible implicit declaration of built-in function 'strcpy' ext2sim.c:567: warning: incompatible implicit declaration of built-in function 'strlen' --- compiling ext2spice/ext2spice.o /usr/lib/gcc/i486-linux-gnu/4.0.3/include/varargs.h:4:2: error: #error "GCC no longer implements ." /usr/lib/gcc/i486-linux-gnu/4.0.3/include/varargs.h:5:2: error: #error "Revise your code to use ." ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive ../utils/dqueue.h:29:8: warning: extra tokens at end of #endif directive ../extflat/extflat.h:24:8: warning: extra tokens at end of #endif directive ../extflat/EFint.h:24:8: warning: extra tokens at end of #endif directive ext2spice.c:247: warning: incompatible implicit declaration of built-in function 'exit' ext2spice.c:319:8: warning: extra tokens at end of #endif directive ext2spice.c:421: warning: incompatible implicit declaration of built-in function 'strchr' ext2spice.c:437: warning: incompatible implicit declaration of built-in function 'exit' ext2spice.c:439: warning: incompatible implicit declaration of built-in function 'strlen' ext2spice.c:440: warning: incompatible implicit declaration of built-in function 'strcpy' ext2spice.c:462: warning: incompatible implicit declaration of built-in function 'exit' ext2spice.c:731: warning: incompatible implicit declaration of built-in function 'strlen' ext2spice.c:1168: warning: incompatible implicit declaration of built-in function 'strcpy' ext2spice.c:1214: warning: incompatible implicit declaration of built-in function 'strlen' ext2spice.c:1242: warning: incompatible implicit declaration of built-in function 'strcpy' ext2spice.c:1248: warning: incompatible implicit declaration of built-in function 'exit' ext2spice.c:1474: warning: incompatible implicit declaration of built-in function 'strlen' ext2spice.c:1474: warning: incompatible implicit declaration of built-in function 'strcat' ext2spice.c:1477: warning: incompatible implicit declaration of built-in function 'strlen' ext2spice.c:1477: warning: incompatible implicit declaration of built-in function 'strcat' ext2spice.c:1580: error: syntax error before 'va_dcl' ext2spice.c:1581: error: syntax error before '{' token ext2spice.c:1587: error: syntax error before 'if' ext2spice.c:1589: error: conflicting types for 'fp' ext2spice.c:1584: error: previous declaration of 'fp' was here ext2spice.c:1589: warning: initialization makes integer from pointer without a cast ext2spice.c:1589: error: initializer element is not constant ext2spice.c:1589: warning: data definition has no type or storage class ext2spice.c:1590: error: conflicting types for 'fmt' ext2spice.c:1583: error: previous declaration of 'fmt' was here ext2spice.c:1590: error: 'args' undeclared here (not in a function) ext2spice.c:1590: error: syntax error before 'char' ext2spice.c:1592: warning: parameter names (without types) in function declaration ext2spice.c:1592: warning: data definition has no type or storage class ext2spice.c:1594: error: syntax error before 'void' --- compiling magic/magicTop.o magicTop.c:25:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive --- linking libmagic.o --- compiling magicusage/magicusage.o ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../utils/stack.h:27:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive magicusage.c:43:9: warning: extra tokens at end of #endif directive magicusage.c:115: warning: incompatible implicit declaration of built-in function 'exit' magicusage.c:180: warning: incompatible implicit declaration of built-in function 'strcpy' --- linking libmagicusage.o --- compiling net2ir/net2ir.o ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive net2ir.c:31:8: warning: extra tokens at end of #endif directive net2ir.c:64: warning: incompatible implicit declaration of built-in function 'exit' net2ir.c:73: warning: incompatible implicit declaration of built-in function 'exit' net2ir.c:111: warning: incompatible implicit declaration of built-in function 'exit' --- linking libnet2ir.o --- compiling extcheck/extcheck.o extcheck.c:27:9: warning: extra tokens at end of #endif directive /usr/lib/gcc/i486-linux-gnu/4.0.3/include/varargs.h:4:2: error: #error "GCC no longer implements ." /usr/lib/gcc/i486-linux-gnu/4.0.3/include/varargs.h:5:2: error: #error "Revise your code to use ." ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../extflat/extflat.h:24:8: warning: extra tokens at end of #endif directive extcheck.c:73: warning: incompatible implicit declaration of built-in function 'exit' extcheck.c:93:8: warning: extra tokens at end of #endif directive --- compiling mpack/mpackMain.o mpackMain.c:18:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../cif/cif.h:27:8: warning: extra tokens at end of #endif directive ../cif/cif.h:30:8: warning: extra tokens at end of #endif directive ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive mpackMain.c:629: warning: incompatible implicit declaration of built-in function 'strncpy' --- compiling mpack/magicMain.o magicMain.c:22:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../graphics/graphics.h:105:7: warning: extra tokens at end of #else directive ../graphics/graphics.h:108:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../drc/drc.h:27:8: warning: extra tokens at end of #endif directive ../drc/drc.h:30:8: warning: extra tokens at end of #endif directive ../drc/drc.h:180:8: warning: extra tokens at end of #endif directive ../commands/commands.h:27:8: warning: extra tokens at end of #endif directive ../commands/commands.h:31:8: warning: extra tokens at end of #endif directive ../cif/cif.h:27:8: warning: extra tokens at end of #endif directive ../cif/cif.h:30:8: warning: extra tokens at end of #endif directive magicMain.c:94: warning: incompatible implicit declaration of built-in function 'exit' --- compiling mpack/magicStubs.o magicStubs.c:14:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive ../database/database.h:29:8: warning: extra tokens at end of #endif directive ../database/database.h:32:8: warning: extra tokens at end of #endif directive ../database/database.h:35:8: warning: extra tokens at end of #endif directive ../database/database.h:490:8: warning: extra tokens at end of #endif directive ../undo/undo.h:28:8: warning: extra tokens at end of #endif directive --- linking libmpack.o --- compiling graphics/grMain.o grMain.c:23:9: warning: extra tokens at end of #endif directive ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive ../graphics/graphics.h:105:7: warning: extra tokens at end of #else directive ../graphics/graphics.h:108:8: warning: extra tokens at end of #endif directive ../graphics/graphicsInt.h:55:8: warning: extra tokens at end of #endif directive grMain.c:120:8: warning: extra tokens at end of #endif directive /usr/lib/gcc/i486-linux-gnu/4.0.3/include/varargs.h:4:2: error: #error "GCC no longer implements ." /usr/lib/gcc/i486-linux-gnu/4.0.3/include/varargs.h:5:2: error: #error "Revise your code to use ." grMain.c:124:8: warning: extra tokens at end of #endif directive grMain.c:156:8: warning: extra tokens at end of #endif directive grMain.c:159:8: warning: extra tokens at end of #endif directive grMain.c:166:8: warning: extra tokens at end of #endif directive grMain.c:170:8: warning: extra tokens at end of #endif directive grMain.c:197:8: warning: extra tokens at end of #endif directive grMain.c:200:8: warning: extra tokens at end of #endif directive grMain.c:207:8: warning: extra tokens at end of #endif directive grMain.c:211:8: warning: extra tokens at end of #endif directive grMain.c:215:8: warning: extra tokens at end of #endif directive grMain.c:272:8: warning: extra tokens at end of #endif directive grMain.c:305:8: warning: extra tokens at end of #endif directive grMain.c:369: warning: incompatible implicit declaration of built-in function 'strlen' grMain.c:440:7: warning: extra tokens at end of #else directive grMain.c:442:8: warning: extra tokens at end of #endif directive grMain.c:496:8: warning: extra tokens at end of #endif directive grMain.c:533:8: warning: extra tokens at end of #endif directive " any ideas??? pliz help i need that software for my laboratories Blazej ---------------------------------------------------------------------- Ocen dziewczyny Playboya!!! >>> http://link.interia.pl/f190f From fang at csl.cornell.edu Sun Feb 26 16:06:48 2006 From: fang at csl.cornell.edu (David Fang) Date: Thu Oct 30 14:33:36 2008 Subject: [Magic-dev] compilation on debian sid ... errors In-Reply-To: <43FEDB60.2070600@interia.pl> Message-ID: <20060226155929.G3850-100000@maxwell.csl.cornell.edu> Hello, Your problems have already been fixed, but the latest official distribution hasn't been updated yet (I believe). Either 1) check out the latest in CVS: http://vlsi.cornell.edu/magic/cvs.html 2) Grab the tarball of the current 7.1 CVS HEAD from http://www.csl.cornell.edu/~fang/sw/magic-7.1-20060207.tar.gz and follow the usual instructions. Some more recent revision history and info is at: http://www.csl.cornell.edu/~fang/sw/magic-7.1-osx.html (option 2 is probably less hassle) Let us know if there are problems with this distribution. * Incidentally, we haven't gotten around to plugging "7.4" into CVS yet. When we do, we intend to keep 7.1 around on its own branch, and let 7.4 be the main trunk. > i am student of microelectronics form poland, i use linux and i am very > happy that the most usable software for my specialisation si for my > favorite OS also ;-) > > i have problems with compilation of magic-7.1 on debian sid .... > > i run normaly make config and then make and i get: > > " > --- making modules > --- compiling extflat/EFargs.o > EFargs.c:22:9: warning: extra tokens at end of #endif directive > /usr/lib/gcc/i486-linux-gnu/4.0.3/include/varargs.h:4:2: error: #error > "GCC no longer implements ." > /usr/lib/gcc/i486-linux-gnu/4.0.3/include/varargs.h:5:2: error: #error > "Revise your code to use ." > ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive > ../utils/malloc.h:201:8: warning: extra tokens at end of #endif directive > ../extflat/extflat.h:24:8: warning: extra tokens at end of #endif directive > ../extflat/EFint.h:24:8: warning: extra tokens at end of #endif directive > --- compiling extract/ExtArray.o > ExtArray.c:23:9: warning: extra tokens at end of #endif directive > ../misc/magic.h:102:8: warning: extra tokens at end of #endif directive > ../tiles/tile.h:31:8: warning: extra tokens at end of #endif directive > ../tiles/tile.h:34:8: warning: extra tokens at end of #endif directive > ../database/database.h:29:8: warning: extra tokens at end of #endif David Fang Computer Systems Laboratory Electrical & Computer Engineering Cornell University http://www.csl.cornell.edu/~fang/ -- (2400 baud? Netscape 3.0?? lynx??? No problem!) From clint.kelly at gmail.com Sun Feb 26 16:17:50 2006 From: clint.kelly at gmail.com (Clint Kelly) Date: Thu Oct 30 14:33:36 2008 Subject: [Magic-dev] batch mode / no window Message-ID: <20eabb880602261317s1e7a2a0fkd75f4dd4706545cd@mail.gmail.com> Greetings, everyone. In the tcl tutorial, it says that you can use the -nowindow option to magic to use it in batch mode, i.e., without a window. I am interested in writing some command-line scripts that I could use to extract magic files, calma write, etc. I tried the -nowindow option, however, and all of the graphical windows still popped up... How should I go about doing this? I would appreciate any help that anyone can offer. -Clint From svenn at bjerkem.de Sun Feb 26 22:19:42 2006 From: svenn at bjerkem.de (Svenn Are Bjerkem) Date: Thu Oct 30 14:33:36 2008 Subject: [Magic-dev] compilation on debian sid ... errors In-Reply-To: <43FEDB60.2070600@interia.pl> References: <43FEDB60.2070600@interia.pl> Message-ID: <200602262219.42372.svenn@bjerkem.de> On Friday 24 February 2006 11:09, interia wrote: > i run normaly make config and then make and i get: > > " > --- making modules > --- compiling extflat/EFargs.o > EFargs.c:22:9: warning: extra tokens at end of #endif directive > /usr/lib/gcc/i486-linux-gnu/4.0.3/include/varargs.h:4:2: error: #error > "GCC no longer implements ." I bet you are compiling an old version of magic with a too new version of gcc. Maybe you can try: $> CC=gcc.3.4 make -- Svenn From clint.kelly at gmail.com Wed Mar 1 14:14:41 2006 From: clint.kelly at gmail.com (Clint Kelly) Date: Thu Oct 30 14:33:36 2008 Subject: [Magic-dev] minimum area requirements Message-ID: <20eabb880603011114r14903ff6w268f794bd9a5179d@mail.gmail.com> Hello everybody. Is there a way to specify a minimum area requirement in a magic tech file? I read the documentation on the web and I couldn't find any information about this. Thanks! -Clint From tim.edwards at multigig.com Mon Feb 27 10:32:16 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Thu Oct 30 14:33:36 2008 Subject: [Magic-dev] MAGIC: calculate selected area In-Reply-To: <1140719762.3909.9.camel@dhcp-45-145.media.mit.edu> References: <200602221700.k1MH07P7092008@csl.cornell.edu> <1140719762.3909.9.camel@dhcp-45-145.media.mit.edu> Message-ID: <440345B0.1010800@multigig.com> Dear Jason, > I would like to calculate the area of a selected region for capacitance > modeling. Is there a feature to do this operation? Or does anyone have a > script for this function? I don't have a script, but I can tell you the general idea. You can select an entire net, then use "select save" to save the single net as its own subcell. Then, load that subcell, and extract it. The ".ext" file generated will contain a list of areas and perimeters, broken up into "resist classes" (groups of types which share the same resistivity), on the "node" line. Since you're a Perl freak, you should find it a trivial matter to write a perl script to parse the .ext file for the "node" line and sum up the areas and perimeters. > I've tried to modify the colors for something that has a little more > contrast than the gray background. I tried editing the mos.24bit.dstyle > and mos.24bit.std.cmap locate in the /usr/local/lib/magic/sys directory, > but that appears to have no effect. I'm using Linux Redhat 9. Should I > be editing some other file? Anybody have a color scheme with a black > background they would like to share? I think a lot of people use Magic just because they can't stand Cadence's black background, which is bound to cause layout engineers to eventually go blind, go crazy, or both. But, chacon a son gout. . . Assuming that you're using 24 bit plane graphics, the files that you're editing are the correct ones. Magic will report what visual it's using on startup. If you use the OpenGL interface, different style and colormap files are used, and if your video card supports 8-bit overlays, then magic will use the 7-bit style and colormap files. Changing the first color ("background_gray") of mos.24bit.std.cmap to "0 0 0 0" will turn the background black. The "-m" switch to magic allows you to substitute an alternative colormap ("-m std" being equivalent to the default). > BTW: love the TCL script interface. makes life loads easier to automate > tasks. I'm a PERL-head(certified addict). Anybody use perl with magic > instead of TCL? If so, any tips on setting up perl with magic? The original development effort was supposed to use SWIG and be possible to compile for Tcl, Perl, or Python. However, the graphics interface made it difficult to keep supporting all three, so I chose one, which happened to be Tcl. If you want it embedded, look at Rajit's SCHEME interpreter implementation (mostly in the "lisp" subdirectory). An embedded interpreter is easier to implement, but an interpreter extension is much more flexible. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards@multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From tim.edwards at multigig.com Mon Feb 27 11:23:15 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Thu Oct 30 14:33:36 2008 Subject: [Magic-dev] batch mode / no window In-Reply-To: <20eabb880602261317s1e7a2a0fkd75f4dd4706545cd@mail.gmail.com> References: <20eabb880602261317s1e7a2a0fkd75f4dd4706545cd@mail.gmail.com> Message-ID: <440351A3.7000605@multigig.com> Dear Clint, > In the tcl tutorial, it says that you can use the -nowindow option to > magic to use it in batch mode, i.e., without a window. I am > interested in writing some command-line scripts that I could use to > extract magic files, calma write, etc. I tried the -nowindow option, > however, and all of the graphical windows still popped up... I haven't updated the Tcl tutorial recently. Actually, I have put all the tutorials online, and am in the process of updating them, but I have only worked up to tutorial #5 so far. Anyway, the proper invocation now requires "magic -dnull". In the latest versions of magic there is a subtle difference between "-dnull" and "-d null". The best bet for a script is to use: #!/bin/sh magic -dnull -noconsole << EOF drc off box 0 0 0 0 # (put your magic and Tcl commands here) quit -noprompt EOF "drc off" is useful to keep magic from trying to run DRC on every cell it loads. "box 0 0 0 0" establishes the box; otherwise, there are a number of layout commands that won't work. There's a more substantial example script at http://www.opencircuitdesign.com/magic/ Click on "Using Magic" and then, from the table of contents, click on "Script Invocation". Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards@multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From mrkaczor at interia.pl Tue Feb 28 09:49:13 2006 From: mrkaczor at interia.pl (Blazej Kaczorowski z interia.pl) Date: Thu Oct 30 14:33:36 2008 Subject: [Magic-dev] compilation on debian sid ... errors In-Reply-To: <200602262219.42372.svenn@bjerkem.de> References: <43FEDB60.2070600@interia.pl> <200602262219.42372.svenn@bjerkem.de> Message-ID: <44040E89.5070406@interia.pl> oki i made it .. i compiled Magic 3.4 ... but i have problems with Techmgr ... Error: can't read "CAD_ROOT": no such variable ... i was tryingto make CAD_ROOT variable, but i realy dont know what it shoulb be pointing at ... my directory with projects or maybe /usr/local/lib/magic? or what ... pliz help ... i dont have any technologies just "Technology: (none)" ... pliz help Svenn Are Bjerkem napisa?(a): >On Friday 24 February 2006 11:09, interia wrote: > > >>i run normaly make config and then make and i get: >> >>" >>--- making modules >>--- compiling extflat/EFargs.o >>EFargs.c:22:9: warning: extra tokens at end of #endif directive >>/usr/lib/gcc/i486-linux-gnu/4.0.3/include/varargs.h:4:2: error: #error >>"GCC no longer implements ." >> >> > >I bet you are compiling an old version of magic with a too new version of gcc. > >Maybe you can try: > $> CC=gcc.3.4 make > > > ---------------------------------------------------------------------- Kliknij po wiecej! >>> http://link.interia.pl/f18ed From mrkaczor at interia.pl Fri Mar 3 10:47:32 2006 From: mrkaczor at interia.pl (Blazej Kaczorowski z interia.pl) Date: Thu Oct 30 14:33:36 2008 Subject: [Magic-dev] compilation on debian sid ... errors In-Reply-To: <44040E89.5070406@interia.pl> References: <43FEDB60.2070600@interia.pl> <200602262219.42372.svenn@bjerkem.de> <44040E89.5070406@interia.pl> Message-ID: <440810B4.6090301@interia.pl> when i make $> export CAD_ROOT ~/.magic before running magic i got couldn't read file "/home/kaczor/.magic/magic/tcl/wrapper.tcl": no such file or directory but when i point to /usr/local/lib i still get the same error :-/ ... magic works and i got the tech file but if i run: "/home/kaczor/Documents/uczelnia/Semestr8/AUS/magic/tech/SCN3ME_SUBM.30.tech: line 6563: section drc: OK types "space" in more than one plane. Assuming same plane (active) as edge." but i gues its some error in tech file ... this is the lines from 6560-6570: " "N-Diffusion,P-Diffusion overhang of Transistor < 3 (Mosis #3.4)" active edge4way poly,fp,rp,pc/a ~(poly,fp,rp,pc/a,nfet,pfet,fet,prp)/active 1 space space 1 \ "Poly spacing to Diffusion < 1 (Mosis #3.5)" edge4way nfet ~(nfet)/active 3 ~(pselect)/select ~(nfet)/active 3 \ "N-Transistor space to P-Select < 3 (Mosis #4.1)" select edge4way pfet ~(pfet)/active 3 ~(nselect)/select ~(pfet)/active 3 \ "P-Transistor space to N-Select < 3 (Mosis #4.1)" select " pliz help ... i dont know even if this file loads properly ... Blazej Kaczorowski z interia.pl napisa?(a): > oki i made it .. i compiled Magic 3.4 ... but i have problems with > Techmgr ... Error: can't read "CAD_ROOT": no such variable ... > i was tryingto make CAD_ROOT variable, but i realy dont know what it > shoulb be pointing at ... my directory with projects or maybe > /usr/local/lib/magic? or what ... pliz help ... i dont have any > technologies just "Technology: (none)" ... pliz help > > Svenn Are Bjerkem napisa?(a): > >> On Friday 24 February 2006 11:09, interia wrote: >> >> >>> i run normaly make config and then make and i get: >>> >>> " >>> --- making modules >>> --- compiling extflat/EFargs.o >>> EFargs.c:22:9: warning: extra tokens at end of #endif directive >>> /usr/lib/gcc/i486-linux-gnu/4.0.3/include/varargs.h:4:2: error: #error >>> "GCC no longer implements ." >>> >> >> >> I bet you are compiling an old version of magic with a too new >> version of gcc. >> >> Maybe you can try: >> $> CC=gcc.3.4 make >> >> >> > > > ---------------------------------------------------------------------- > Kliknij po wiecej! >>> http://link.interia.pl/f18ed > > _______________________________________________ > magic-dev mailing list > magic-dev@vlsi.cornell.edu > http://vlsi.csl.cornell.edu/mailman/listinfo/magic-dev > > ---------------------------------------------------------------------- Kliknij po wiecej! >>> http://link.interia.pl/f18ed From ycui2 at Central.UH.EDU Thu Mar 2 16:45:04 2006 From: ycui2 at Central.UH.EDU (Cui, Yonggang ) Date: Thu Oct 30 14:33:36 2008 Subject: [Magic-dev] tcl/tk problems with magic Message-ID: <2B3C8EB27F1E1741BA9A5EAB5AD17653115724FE@EX1SERVER1.cougarnet.uh.edu> I downloaded the newest version of magic, and tried to install on FC4 with tcl/tk support. When I compiled the magic, I got a lot errors like --- making magic Tcl library (tclmagic.so) /root/magic/tcltk/tclmagic.c:591: multiple definition of 'TxDialog' ../textio/libtextio.o(.text+0x1743):/root/magic/textio/txInput.c:325: first defined here The same things happens to TxSetPrompt, TxFlushOut, TxStopMore, TxFlushErr...... Could you help me with these errors? Yonggang -------------- next part -------------- An HTML attachment was scrubbed... URL: http://vlsi.csl.cornell.edu/pipermail/magic-dev/attachments/20060302/0168e5d2/attachment.html From svenn at bjerkem.de Fri Mar 3 20:24:18 2006 From: svenn at bjerkem.de (Svenn Are Bjerkem) Date: Thu Oct 30 14:33:37 2008 Subject: [Magic-dev] compilation on debian sid ... errors In-Reply-To: <440810B4.6090301@interia.pl> References: <43FEDB60.2070600@interia.pl> <44040E89.5070406@interia.pl> <440810B4.6090301@interia.pl> Message-ID: <200603032024.18794.svenn@bjerkem.de> On Friday 03 March 2006 10:47, Blazej Kaczorowski z interia.pl wrote: > when i make > > ?$> export CAD_ROOT ~/.magic > > > before running magic i got > > couldn't read file "/home/kaczor/.magic/magic/tcl/wrapper.tcl": no such > file or directory > but when i point to /usr/local/lib i still get the same error :-/ ... > magic works and i got the tech file but if i run: Sorry, my mistake. The CAD_ROOT is supposed to point to the lib directory in your installation path. I mixed up with another tool. Do I understand you correctly if I assume that you managed to get magic compiled? -- Svenn From tim at multigig.com Sat Mar 4 13:58:21 2006 From: tim at multigig.com (R. Timothy Edwards) Date: Thu Oct 30 14:33:37 2008 Subject: [Magic-dev] Re: Graphics performance In-Reply-To: <440A09BE.70906@isl.stanford.edu> References: <440A09BE.70906@isl.stanford.edu> Message-ID: <440A0D7D.9050302@opencircuitdesign.com> Dear Michael, > I have been doing a minor study of graphics performance. > [...] Right now I am mainly just running glxgears on > various Linux boxes. Some cards (like the ATI 9200 PRO) run > OpenGL pretty quickly, other ATI cards are pretty slow. Any > suggestions for this? I've stuck with Nvidia GeForce cards, which seem to be pretty fast with Magic. Magic itself is an excellent benchmark for OpenGL cards and their drivers. First, it tends to bring out all the errors in OpenGL implementations (especially the toolbar, which uses off-screen rendering, which has proven to be the most likely source of error for OpenGL drivers). Second, a large chip-size layout can take around 10 seconds to redraw, so small differences in performance can produce easily measurable results. Before I wrote the OpenGL implementation, I used to have a Matrox video card, which was the only cheap card around that supported 8-bit overlays on top of 24-bit graphics. But Matrox lost out in the wars with ATI and Nvidia, which was what prompted me to write the OpenGL driver. > This led to my noticing that use of OpenGL is normally off in > Magic. Would it make sense, or is there a compile option, to have > to default on? It appears to be possible to test for OGL at runtime. It is theoretically possible for Magic to switch graphics drivers while running, even to drive multiple windows with different drivers. But auto-detecting OpenGL seems to be a good idea. What's the best way to do the auto-detection? Is it possible to differentiate between hardware accelerated OpenGL and a software emulation like Mesa? This has been the main reason I haven't made OpenGL the default---it is certainly preferred if it's hardware accelerated, but nobody would want to wait around for the redraw of a chip using software-emulated OpenGL calls. I'm CC'ing this message to magic-dev so that others can weigh in on the graphics card/OpenGL issue. There are a lot of graphics cards available, and I only own a couple myself. ---Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim@opencircuitdesign.com | | Open Circuit Design, Inc. | web: http://opencircuitdesign.com | | 22815 Timber Creek Lane | phone: (301) 528-9364 | | Clarksburg, MD 20871-4001 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From tim.edwards at multigig.com Thu Mar 2 07:20:03 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Thu Oct 30 14:33:37 2008 Subject: [Magic-dev] minimum area requirements In-Reply-To: <20eabb880603011114r14903ff6w268f794bd9a5179d@mail.gmail.com> References: <20eabb880603011114r14903ff6w268f794bd9a5179d@mail.gmail.com> Message-ID: <44070D23.80903@multigig.com> Dear Clint, > Is there a way to specify a minimum area requirement in a magic tech > file? I read the documentation on the web and I couldn't find any > information about this. For a small are or for an entire chip? For a small area, there's the "area" DRC rule. This was part of the "tutwrl1" tutorial, which is not really a tutorial at all, and should have been merged into the Maintainer's Manual #2 long ago. I finally did this a few days ago. Look on http://opencircuitdesign.com/magic/, click on "Technology Files", and then "The Magic Technology File Manual". For whole chips, I don't have a way to check vs. a requirement (you could write a Tcl script to do this), but you can do the command "cif coverage " to check the percentage coverage of a specific layer (e.g., "cif coverage *m2"). Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards@multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From tim at multigig.com Sun Mar 5 16:25:49 2006 From: tim at multigig.com (R. Timothy Edwards) Date: Thu Oct 30 14:33:37 2008 Subject: [Magic-dev] compilation on debian sid ... errors In-Reply-To: <440810B4.6090301@interia.pl> References: <43FEDB60.2070600@interia.pl> <200602262219.42372.svenn@bjerkem.de> <44040E89.5070406@interia.pl> <440810B4.6090301@interia.pl> Message-ID: <440B818D.7080700@opencircuitdesign.com> Dear Blazej, > $> export CAD_ROOT ~/.magic > > before running magic i got > > couldn't read file "/home/kaczor/.magic/magic/tcl/wrapper.tcl": no such > file or directory Whatever are you doing this for? Don't set CAD_ROOT at all. > but when i point to /usr/local/lib i still get the same error :-/ ... You do? Or do you mean you get the error 'couldn't read file "/usr/local/lib/magic/tcl/wrapper.tcl"'? Is that path correct, or did you install somewhere else? Let Magic figure out where CAD_ROOT is, since it knows best where it was installed. > magic works and i got the tech file but if i run: > > "/home/kaczor/Documents/uczelnia/Semestr8/AUS/magic/tech/SCN3ME_SUBM.30.tech: > line 6563: section drc: > OK types "space" in more than one plane. > Assuming same plane (active) as edge." > > but i gues its some error in tech file ... this is the lines from > 6560-6570: It's not really an error; all of the older tech files use the layer "space" ambiguously; I now have magic print a warning message (and maybe one day Jeff Sondeen will fix those lines. . .). However, Magic interprets the line correctly. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim@opencircuitdesign.com | | Open Circuit Design, Inc. | web: http://opencircuitdesign.com | | 22815 Timber Creek Lane | phone: (301) 528-9364 | | Clarksburg, MD 20871-4001 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From deepa_mevlsi at yahoo.com Mon Mar 6 21:41:06 2006 From: deepa_mevlsi at yahoo.com (deepa vickraman) Date: Thu Oct 30 14:33:38 2008 Subject: [Magic-dev] help regarding magic Message-ID: <20060307054106.93453.qmail@web36703.mail.mud.yahoo.com> sir am deepa doing ME VLSI design in kongu engg.college,i need help regarding magic in my project i used magic 7.2 version , my doubt is regarding GDS2 file format. i want to create a GDS2 file format .it is possible in magic pls reply me then only i can proceed my work further.pls reply me sir. thanks deepa --------------------------------- Yahoo! Mail Bring photos to life! New PhotoMail makes sharing a breeze. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://vlsi.csl.cornell.edu/pipermail/magic-dev/attachments/20060306/b71b2ff6/attachment.html From deepa_mevlsi at yahoo.com Mon Mar 6 22:26:51 2006 From: deepa_mevlsi at yahoo.com (deepa vickraman) Date: Thu Oct 30 14:33:38 2008 Subject: [Magic-dev] Help regrding magic Message-ID: <20060307062651.77482.qmail@web36701.mail.mud.yahoo.com> sir i am deepa doing ME VLSI design in kongu engg college,in my project am using MAGIC tool to draw layout,in which am having one doubt regarding GDS2 file format,sir can i create GDS2 file format in magic, is it possible in magic pls reply me then only i can proceed further. Thanks deepa --------------------------------- Relax. Yahoo! Mail virus scanning helps detect nasty viruses!-------------- next part -------------- An HTML attachment was scrubbed... URL: http://vlsi.csl.cornell.edu/pipermail/magic-dev/attachments/20060306/2fa5e6d8/attachment.html From irahman at northsouth.edu Tue Mar 7 17:16:30 2006 From: irahman at northsouth.edu (Iqbalur Rahman) Date: Thu Oct 30 14:33:38 2008 Subject: [Magic-dev] Magic for Windows Versions 7.2 and 7.3 Message-ID: <000501c641d8$96141e00$d7aafd80@labcordpc> Dear Sir, I am trying to use Magic, the interactive layout editor supporting on-line design rule checking and circuit extraction, developed by the group of John Ousterhout at the University of California at Berkeley. I already downloaded and setup Cygwin. I also downloaded magic_win.zip (Magic for Windows Versions 7.2 and 7.3) from http://bach.ece.jhu.edu/~tim/programs/magic/windows/windows.html. Then I tried to invoke magic by doing following step: 1. Run magic by bringing up a new Cygwin terminal. Type "export DISPLAY=:0" then "magic" or "magic -d OGL". But I am getting error message: ======================= Begin ========================== irahman@labcordpc ~ $ export DISPLAY=:0 irahman@labcordpc ~ $ XWin_GL -multiwindow bash: XWin_GL: command not found irahman@labcordpc ~ $ $ magic Magic 7.2 - Compiled on Sat Apr 10 11:45:24 EST 2004. Couldn't open display; check DISPLAY variable The graphics display couldn't be correctly initialized. Use '-d NULL' if you don't need graphics. irahman@labcordpc ~ $ ====================== end =============================== Would you please help me out in order to resolve this issue and can use magic EDA tool for our VLSI academic program. I?ll really appreciate your kind help and cooperation in this regard. Thanks. Regards, Iqbal Rahman Lab Coordinator and Faculty, Deaprtment of Computer Science and Engineering North South University Dhaka, Bangladesh www.northsouth.edu -------------- next part -------------- An HTML attachment was scrubbed... URL: http://vlsi.csl.cornell.edu/pipermail/magic-dev/attachments/20060307/a29d1b86/attachment.html From des32 at MIT.EDU Wed Mar 8 18:07:42 2006 From: des32 at MIT.EDU (Daniel E Smalley) Date: Thu Oct 30 14:33:38 2008 Subject: [Magic-dev] nonmanhatten rotations Message-ID: <20060308180742.xxvr2fgry7k040c4@webmail.mit.edu> Hi, In the release notes I noticed "extensions for nonmanhatten geometries" but I can't find functions for nonmanhatten rotations? (other than multiples of 90') Does anyone know where I can find them?--do they exist in version 7.3 or any version? -daniel From tim.edwards at multigig.com Thu Mar 9 11:47:13 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Thu Oct 30 14:33:38 2008 Subject: [Magic-dev] nonmanhatten rotations In-Reply-To: <20060308180742.xxvr2fgry7k040c4@webmail.mit.edu> References: <20060308180742.xxvr2fgry7k040c4@webmail.mit.edu> Message-ID: <44108641.9030201@multigig.com> Dear Daniel, > In the release notes I noticed "extensions for nonmanhatten geometries" but I > can't find functions for nonmanhatten rotations? (other than multiples of 90') > Does anyone know where I can find them?--do they exist in version 7.3 or any > version? No, they don't. Non-Manhattan rotations don't fit in very well with Magic's tiled plane structures. It would take some considerable hacking to add routines to perform copies with non-Manhattan transformations. A quick-and-dirty implementation could allow such cells to be displayed but would forbid edit-in-place, connectivity searches, flattening, or any other function that requires transforming coordinates between a subcell and its parent. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards@multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From tim.edwards at multigig.com Sat Mar 11 23:34:54 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Thu Oct 30 14:33:38 2008 Subject: [Magic-dev] Re: Some notes on Magic 7.4 In-Reply-To: <20060311231904.DLW42195@isrmail.isr.umd.edu> References: <20060311231904.DLW42195@isrmail.isr.umd.edu> Message-ID: <4413CF1E.1040605@multigig.com> Dear Eric, > I am using the magic-7.4.6 on windows XP with cygwin, and in the cygwin terminal, > the following line appears after quitting magic: > > $ magic4 icb > icb.mag: Function not implemented > pfetwcapc.mag: Function not implemented > nfetwcapc.mag: Function not implemented > rename: Permission denied > > The first 3 lines seem to related to the expand cell action (key x), since icb contains pfetwcapc and nfetwcapc. > And it fails to overwrite the original file if I tried to modify it, so the last line must be that. In 7.3, the > rename permission denied ONLY happens when I save the second time. i.e., I load a file, fix something and save, > it's ok. And then, I fix something more, and save, then permission denied. But now, with 7.4, I get the error > even the first time I fix something. I have searched internet about this issue, and windows permission to the > file includes everyone and myself. I suspect the problem is in part Cygwin's, in its implementation of Unix system functions. I have not yet compiled version 7.4 under Cygwin, so you are probably encountering these issues for the first time. When you expand the cell, you load its contents from the file. The difference in 7.4 is that it uses fcntl() calls to place an advisory lock on the file. This function likely has no counterpart in Windows, so I suspect the fcntl() call is what produces the "Function not implemented". The way to disable this is to undefine FILE_LOCKS using "configure --disable-locking", although it looks like I will want to disable this by default for Cygwin. The "rename" error is due to magic's way of saving files. To prevent a file from being wiped out if a fatal crash occurs while writing a file, magic first writes to a temporary file name, then renames it to the same name as the original. The temporary file is probably the one that has the incorrect permissions, and you don't see it because it exists for only a fraction of a second. I would be very suspicious of database/DBio.c lines 2306 to 2327, some of which is very specific to UNIX systems. In particular, the mkstemp() function under UNIX generates a file with permissions 0600. It may correct the error to move the code in DBio.c lines 2323-2325 up to line 2288 (and change "expandname" to "tmpname" in chmod(), so that it fixes the permissions on the temporary file itself). Try this and let me know if it works. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards@multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From omeryetik at gmail.com Sun Mar 12 16:02:29 2006 From: omeryetik at gmail.com (Omer Yetik) Date: Thu Oct 30 14:33:38 2008 Subject: [Magic-dev] Magic 7.4.6 on Mac OS X Tiger Message-ID: <28AC4E78-5265-42FB-A3B0-E152D6A655BC@gmail.com> Hi, I am an Electrical & Electronics Engineering student at Bogazici University in Istanbul, Turkey. I am trying to install Magic 7.4.6 TCL/TK version on my PowerPC Powerbook which has Mac OS X Tiger running on it. I run "./configure" command on the terminal, then run "make tcl" and "make install-tcl" respectively. There occurs no errors or anything else but I cannot manage to start the Magic software. I run "tclsh" command and start tcl in the UNIX terminal. then I enter "magic -noconsole" but it says "Invalid command 'magic'" and does not start the software. I have to mention that I am a newbie in these tasks and I have never used the UNIX terminal in Mac OS X. This is very crucial and I need Magic for a course project. I would be very glad if you can help me as soon as possible. Thank you very much. From mrkaczor at interia.pl Mon Mar 13 22:42:10 2006 From: mrkaczor at interia.pl (Blazej Kaczorowski z interia.pl) Date: Thu Oct 30 14:33:38 2008 Subject: [Magic-dev] compilation on debian sid ... errors In-Reply-To: <440B818D.7080700@opencircuitdesign.com> References: <43FEDB60.2070600@interia.pl> <200602262219.42372.svenn@bjerkem.de> <44040E89.5070406@interia.pl> <440810B4.6090301@interia.pl> <440B818D.7080700@opencircuitdesign.com> Message-ID: <4415E732.6080007@interia.pl> but i still cant chose technology from technology meneger and i get an error when i try ;/ R. Timothy Edwards napisa?(a): > Dear Blazej, > >> $> export CAD_ROOT ~/.magic >> >> before running magic i got >> >> couldn't read file "/home/kaczor/.magic/magic/tcl/wrapper.tcl": no >> such file or directory > > > Whatever are you doing this for? Don't set CAD_ROOT at all. > >> but when i point to /usr/local/lib i still get the same error :-/ ... > > > You do? Or do you mean you get the error > 'couldn't read file "/usr/local/lib/magic/tcl/wrapper.tcl"'? Is that > path correct, or did you install somewhere else? Let Magic figure out > where CAD_ROOT is, since it knows best where it was installed. > >> magic works and i got the tech file but if i run: >> >> "/home/kaczor/Documents/uczelnia/Semestr8/AUS/magic/tech/SCN3ME_SUBM.30.tech: >> line 6563: section drc: >> OK types "space" in more than one plane. >> Assuming same plane (active) as edge." >> >> but i gues its some error in tech file ... this is the lines from >> 6560-6570: > > > It's not really an error; all of the older tech files use the layer > "space" ambiguously; I now have magic print a warning message (and > maybe one day Jeff Sondeen will fix those lines. . .). However, > Magic interprets the line correctly. > > Regards, > Tim > > +--------------------------------+-------------------------------------+ > | Dr. R. Timothy Edwards (Tim) | email: tim@opencircuitdesign.com | > | Open Circuit Design, Inc. | web: http://opencircuitdesign.com | > | 22815 Timber Creek Lane | phone: (301) 528-9364 | > | Clarksburg, MD 20871-4001 | cell: (240) 401-0616 | > +--------------------------------+-------------------------------------+ > > -------------------------------------------------------------------- Nosi betonowe majtki z hartowana gumka. KIM JEST STEFAN?!? | http://www.stefan.pl/ From mrkaczor at interia.pl Tue Mar 14 19:32:45 2006 From: mrkaczor at interia.pl (Blazej Kaczorowski z interia.pl) Date: Thu Oct 30 14:33:38 2008 Subject: [Magic-dev] compilation on debian sid ... errors In-Reply-To: <4415E732.6080007@interia.pl> References: <43FEDB60.2070600@interia.pl> <200602262219.42372.svenn@bjerkem.de> <44040E89.5070406@interia.pl> <440810B4.6090301@interia.pl> <440B818D.7080700@opencircuitdesign.com> <4415E732.6080007@interia.pl> Message-ID: <44170C4D.2020709@interia.pl> oki everything super and working thx alll folks ... but only one thing ... how to set working directory ??? ;-) Blazej Kaczorowski z interia.pl napisa?(a): > but i still cant chose technology from technology meneger and i get an > error when i try ;/ > > R. Timothy Edwards napisa?(a): > >> Dear Blazej, >> >>> $> export CAD_ROOT ~/.magic >>> >>> before running magic i got >>> >>> couldn't read file "/home/kaczor/.magic/magic/tcl/wrapper.tcl": no >>> such file or directory >> >> >> >> Whatever are you doing this for? Don't set CAD_ROOT at all. >> >>> but when i point to /usr/local/lib i still get the same error :-/ ... >> >> >> >> You do? Or do you mean you get the error >> 'couldn't read file "/usr/local/lib/magic/tcl/wrapper.tcl"'? Is that >> path correct, or did you install somewhere else? Let Magic figure out >> where CAD_ROOT is, since it knows best where it was installed. >> >>> magic works and i got the tech file but if i run: >>> >>> "/home/kaczor/Documents/uczelnia/Semestr8/AUS/magic/tech/SCN3ME_SUBM.30.tech: >>> line 6563: section drc: >>> OK types "space" in more than one plane. >>> Assuming same plane (active) as edge." >>> >>> but i gues its some error in tech file ... this is the lines from >>> 6560-6570: >> >> >> >> It's not really an error; all of the older tech files use the layer >> "space" ambiguously; I now have magic print a warning message (and >> maybe one day Jeff Sondeen will fix those lines. . .). However, >> Magic interprets the line correctly. >> >> Regards, >> Tim >> >> +--------------------------------+-------------------------------------+ >> | Dr. R. Timothy Edwards (Tim) | email: tim@opencircuitdesign.com | >> | Open Circuit Design, Inc. | web: http://opencircuitdesign.com | >> | 22815 Timber Creek Lane | phone: (301) 528-9364 | >> | Clarksburg, MD 20871-4001 | cell: (240) 401-0616 | >> +--------------------------------+-------------------------------------+ >> >> > > > -------------------------------------------------------------------- > Nosi betonowe majtki z hartowana gumka. > KIM JEST STEFAN?!? | http://www.stefan.pl/ > > _______________________________________________ > magic-dev mailing list > magic-dev@vlsi.cornell.edu > http://vlsi.csl.cornell.edu/mailman/listinfo/magic-dev > > From anand at alvin.inst.bnl.gov Tue Mar 21 06:44:51 2006 From: anand at alvin.inst.bnl.gov (Anand Kandasamy) Date: Thu Oct 30 14:33:38 2008 Subject: [Magic-dev] Maximum filesize limit exceeded Message-ID: <200603211144.k2LBipFZ003989@alvin.inst.bnl.gov> Hello, I am still running Magic 7.1.5 for our production designs. On one of our recent designs, when trying to write to gdsII, magic exited with a "Maximum filesize limit exceeded" error, it is obvious that the file being created is > 2GB. What are my options ? Upgrade to 7.4.8 and compile and use in a 64 bit system ? Any pointers will be helpful. Thanks Anand From tim.edwards at multigig.com Tue Mar 21 20:23:41 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Thu Oct 30 14:33:38 2008 Subject: [Magic-dev] Maximum filesize limit exceeded In-Reply-To: <200603211144.k2LBipFZ003989@alvin.inst.bnl.gov> References: <200603211144.k2LBipFZ003989@alvin.inst.bnl.gov> Message-ID: <4420D14D.7040201@multigig.com> Dear Anand, > I am still running Magic 7.1.5 for our production designs. On one of our > recent designs, when trying to write to gdsII, magic exited with a > "Maximum filesize limit exceeded" error, it is obvious that the file > being created is > 2GB. > > What are my options ? Upgrade to 7.4.8 and compile and use in a 64 bit system ? No. The limits are a function of your kernel version and your filesystem. Go read: http://cbbrowne.com/info/fs.html The part at the end not only explains filesystems and the 2GB limit, but is also entertaining to read. 64 bits will only help you if your *internal* database exceeds 2GB. Note, however, that magic's internal database consists of lots of pointers, which means that migrating to 64 bits automatically doubles the size of the database for any given design---so you need more than 4GB of memory to take advantage of the 64-bit architecture! Naturally, I've thought of a way around this problem which will beat the socks off of Cadence, performance-wise, if I ever get some time to code it. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards@multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From fang at csl.cornell.edu Mon Apr 3 14:43:23 2006 From: fang at csl.cornell.edu (David Fang) Date: Thu Oct 30 14:33:38 2008 Subject: [Magic-dev] magic CVS repository proposition Message-ID: <20060403133638.A69351-100000@shannon.csl.cornell.edu> Hi folks, We've been a little behind making way for hosting magic 7.4 into CVS at Cornell, apologies. Before we host 7.4, we're proposing to relocate the current 7.1 CVS tree into a subdirectory: magic/magic-7.1 to make way for trees for other versions of 7.x, present and future. This move, however, may perturb any CVS checkouts you have of magic-7.1. Would anyone object to this move, if we provided a patch-script to migrate your checkouts (CVS control files) to point to the new repository directory? Speak now (in the next few days), or forever hold your PFETs! David Fang Computer Systems Laboratory Electrical & Computer Engineering Cornell University http://www.csl.cornell.edu/~fang/ -- (2400 baud? Netscape 3.0?? lynx??? No problem!) From tim.edwards at multigig.com Mon Apr 3 21:37:07 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Thu Oct 30 14:33:38 2008 Subject: [Magic-dev] magic CVS repository proposition In-Reply-To: <20060403133638.A69351-100000@shannon.csl.cornell.edu> References: <20060403133638.A69351-100000@shannon.csl.cornell.edu> Message-ID: <4431E9E3.7050406@multigig.com> Dear David, > We've been a little behind making way for hosting magic 7.4 into > CVS at Cornell, apologies. Before we host 7.4, we're proposing to > relocate the current 7.1 CVS tree into a subdirectory: magic/magic-7.1 to > make way for trees for other versions of 7.x, present and future. This > move, however, may perturb any CVS checkouts you have of magic-7.1. > Would anyone object to this move, if we provided a patch-script to migrate > your checkouts (CVS control files) to point to the new repository > directory? Speak now (in the next few days), or forever hold your PFETs! I'm perfectly willing to host the CVS for Magic on the opencircuitdesign website. For that matter, I could host the email archives as well--- I just ported the xcircuit-dev mailing list from SourceForge because I didn't have enough control over it there, and it was getting flooded with spam. I integrated a search engine into MailMan, which is a nice feature. There's a Wiki for Magic and Xcircuit on the opencircuitdesign site now, as well. An alternative idea is to make one a mirror site of the other, although I don't know how well that works with the MailMan, UseMod, and CVS interfaces. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards@multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From fang at csl.cornell.edu Tue Apr 4 02:27:28 2006 From: fang at csl.cornell.edu (David Fang) Date: Thu Oct 30 14:33:38 2008 Subject: [Magic-dev] magic CVS repository proposition In-Reply-To: <4431E9E3.7050406@multigig.com> Message-ID: <20060404010731.H70662-100000@shannon.csl.cornell.edu> Hi Tim (and users), > I'm perfectly willing to host the CVS for Magic on the opencircuitdesign > website. For that matter, I could host the email archives as well--- > I just ported the xcircuit-dev mailing list from SourceForge because I > didn't have enough control over it there, and it was getting flooded > with spam. I integrated a search engine into MailMan, which is a nice > feature. There's a Wiki for Magic and Xcircuit on the opencircuitdesign > site now, as well. I'm just a pawn in this whole process. :) It wouldn't matter to me where the home for magic was, as long as the server is reliable and secure (backed up), AND public read-only CVS access was available to everyone. For example, do you have open repositories for the 7.2, 7.3 series? From here, we have no CVS revision continuity, only the certain releases on your website, which doesn't help us identify and backport fixes. (Or have I overlooked something?) I've heard similar grievances about sourceforge as well, which is unfortunate. As you may be aware, we're constantly battling spam on the cornell magic mailing lists, which has been on emergency hold for as long as I can remember. The situation is almost tolerable today with the help of filter/analysis tools, but still requires manual moderation (arg!). > An alternative idea is to make one a mirror site of the other, although > I don't know how well that works with the MailMan, UseMod, and CVS > interfaces. I'm not sure how well mirroring would work with CVS. I don't think we'd need to consider it unless CVS bandwidth becomes a problem -- perhaps never. Keeping the releases and possibly snapshots mirrored would be a good idea. I don't know if there are issues with mirroring Wiki's -- that may not be necessary. Rajit (and developers), we could use your input. :) Fang From David.YT.Chen at stanford.edu Tue Apr 11 15:29:48 2006 From: David.YT.Chen at stanford.edu (David Chen) Date: Thu Oct 30 14:33:38 2008 Subject: [Magic-dev] TSMC 130nm CL013G Process technology file for magic Message-ID: <443C1FCC.30701@Stanford.edu> Hi, I am David, one of the PhD students working with Prof. Bill Dally in the CVA group of the EE department at Stanford University. We're currently seeking the magic technology file for the TSMC 130nm process to use in our preliminary analysis of the low energy processor work that we are doing. Would anyone be able to give us some lead as to where we might be able to obtain this tech file? Thank you very much for your help. Regards, David From sdb at cloud9.net Wed Apr 12 12:01:00 2006 From: sdb at cloud9.net (Stuart Brorson) Date: Thu Oct 30 14:33:38 2008 Subject: [Magic-dev] TSMC 130nm CL013G Process technology file for magic In-Reply-To: <443C1FCC.30701@Stanford.edu> from "David Chen" at Apr 11, 2006 02:29:48 PM Message-ID: <20060412150100.3861A2AA07@earl-grey.cloud9.net> Hi David, > I am David, one of the PhD students working with Prof. Bill Dally in the > CVA group of the EE department at Stanford University. We're currently > seeking the magic technology file for the TSMC 130nm process to use in > our preliminary analysis of the low energy processor work that we are > doing. Would anyone be able to give us some lead as to where we might > be able to obtain this tech file? Ummmm, perhaps you should ask TSMC? HTH, Stuart From svenn at bjerkem.de Fri Apr 14 00:43:12 2006 From: svenn at bjerkem.de (Svenn Are Bjerkem) Date: Thu Oct 30 14:33:38 2008 Subject: [Magic-dev] TSMC 130nm CL013G Process technology file for magic In-Reply-To: <20060412150100.3861A2AA07@earl-grey.cloud9.net> References: <20060412150100.3861A2AA07@earl-grey.cloud9.net> Message-ID: <200604132343.12079.svenn@bjerkem.de> I went over to www.mosis.org to see if they provide anything. I have no account so I can?t tell if tech for TSMC is also available for magic. -- Svenn From David.YT.Chen at stanford.edu Thu Apr 13 16:36:57 2006 From: David.YT.Chen at stanford.edu (David Chen) Date: Thu Oct 30 14:33:38 2008 Subject: [Magic-dev] Magic runtime problem Message-ID: <443ED289.4060303@Stanford.edu> Hi Guys, I have managed to compile and install magic 7.4 on our clusters. However, when I run magic, I get the following error message in the pop-up tkcon 2.3 Main window: ------------------------------------------------------------------------------------------------------------------------------ error in slave eval: couldn't load file "/usr/lib/tk8.4/../libtk8.4.so": /usr/lib/tk8.4/../libtk8.4.so: cannot open shared object file: No such file or directory ------------------------------------------------------------------------------------------------------------------------------ I have checked our machines and found where the .so files are, they are located in: /usr/lib rather than /usr/lib/tk8.4/... so obviously could not be found Do I have to compile magic inserting this directory path somewhere or is this a tcl/tk issue? I am new to linux so any help is greatly appreciated. Thanks you in advance for your time. Regards, David From rajit at csl.cornell.edu Fri Apr 14 14:01:43 2006 From: rajit at csl.cornell.edu (Rajit Manohar) Date: Thu Oct 30 14:33:39 2008 Subject: [Magic-dev] TSMC 130nm CL013G Process technology file for magic In-Reply-To: <443C1FCC.30701@Stanford.edu> References: <443C1FCC.30701@Stanford.edu> Message-ID: <443FD577.3040104@csl.cornell.edu> Hi, We normally end up writing our own tech files. I'm not 100% sure, but I'm guessing this is related to the fact that foundries do not give you their design rule manual unless you sign an NDA. So unless MOSIS has an agreement with a foundry and is willing to write the tech file, you're stuck writing your own... Regards, -Rajit From tim.edwards at multigig.com Fri Apr 14 12:18:34 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Thu Oct 30 14:33:39 2008 Subject: [Magic-dev] Magic runtime problem In-Reply-To: <443ED289.4060303@Stanford.edu> References: <443ED289.4060303@Stanford.edu> Message-ID: <443FE77A.9020200@multigig.com> Dear David, > error in slave eval: > couldn't load file "/usr/lib/tk8.4/../libtk8.4.so": > /usr/lib/tk8.4/../libtk8.4.so: cannot open shared object file: No such > file or directory This looks like a Tcl/Tk installation issue. Try running "tclsh" and typing "package require Tk". Also check whether "magic -noconsole" works. Finally, check what /usr/local/bin/magic sets MAGIC_WISH to. The file to load is set by /usr/lib/tk8.4/pkgIndex.tcl. If magic is configured to find /usr/lib/tclConfig.sh, then it will search all subdirectories of /usr/lib for files named "pkgIndex.tcl" and execute them. In this case, note that /usr/lib/tk8.4/../libtk8.4.so is, in fact, equivalent to /usr/lib/libtk8.4.so. So in spite of the error message, it's not likely that the problem was in finding the file. More likely that the Tcl and Tk versions conflict, so that the libtk8.4.so can't be loaded correctly. The last thing to try is to do "tclsh" followed by the command (in Tcl) "load /usr/lib/libtk8.4.so". Here's what happens when you run "magic": 1) "magic" is a shell script. It sets the variable MAGIC_WISH and executes "tkcon.tcl" (a Tcl/Tk script). 2) "tkcon" launches the executable pointed to by MAGIC_WISH. 3) "tkcon" spins off a slave interpreter which then attempts to load the Tk object library You'll note that I haven't actually solved your problem. The answer is somewhere in all these variable settings, and is most likely related to the setting of MAGIC_WISH and the location where "configure" found the Tk and Tcl libraries when magic was compiled. Looking at "config.log" or running "configure" again in the magic source directory should show if something bad happened, such as the "configure" script locating incompatible versions of Tcl and Tk. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards@multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From bharathx.seshadri at intel.com Fri Apr 14 12:49:41 2006 From: bharathx.seshadri at intel.com (Seshadri, BharathX) Date: Thu Oct 30 14:33:39 2008 Subject: [Magic-dev] Magic runtime problem Message-ID: <85514027246E4643A1B0780EC0F6F45805510AA0@orsmsx410> David, It looks like that directory is not in your search path. Adding it to your path (using set path (tcsh) / export path (bash)) should fix the problem. Bharath -----Original Message----- From: magic-dev-bounces@csl.cornell.edu [mailto:magic-dev-bounces@csl.cornell.edu] On Behalf Of David Chen Sent: Thursday, April 13, 2006 3:37 PM To: magic-dev@csl.cornell.edu Subject: [Magic-dev] Magic runtime problem Hi Guys, I have managed to compile and install magic 7.4 on our clusters. However, when I run magic, I get the following error message in the pop-up tkcon 2.3 Main window: ------------------------------------------------------------------------ ------------------------------------------------------ error in slave eval: couldn't load file "/usr/lib/tk8.4/../libtk8.4.so": /usr/lib/tk8.4/../libtk8.4.so: cannot open shared object file: No such file or directory ------------------------------------------------------------------------ ------------------------------------------------------ I have checked our machines and found where the .so files are, they are located in: /usr/lib rather than /usr/lib/tk8.4/... so obviously could not be found Do I have to compile magic inserting this directory path somewhere or is this a tcl/tk issue? I am new to linux so any help is greatly appreciated. Thanks you in advance for your time. Regards, David _______________________________________________ magic-dev mailing list magic-dev@vlsi.cornell.edu http://vlsi.csl.cornell.edu/mailman/listinfo/magic-dev From sondeen at ISI.EDU Wed Apr 19 11:08:19 2006 From: sondeen at ISI.EDU (Jeff Sondeen) Date: Thu Oct 30 14:33:39 2008 Subject: [Magic-dev] Magic runtime problem In-Reply-To: <443FE77A.9020200@multigig.com> References: <443ED289.4060303@Stanford.edu> <443FE77A.9020200@multigig.com> Message-ID: <17478.28291.647702.657021@vapor.isi.edu> Hi, i solved a similar problem (getting the dir '/usr/lib64' to be first in the search order) with this: % diff ./lib/magic/tcl/tkcon.tcl~ ./lib/magic/tcl/tkcon.tcl 4a5,13 > > #jws: > > #set auto_path [linsert $auto_path 0 /usr/lib64 ] > #set auto_path > puts stderr "old auto_path: $auto_path" > set auto_path [lreplace $auto_path 2 2] > puts stderr "new auto_path: $auto_path" > R. Timothy Edwards writes: > Dear David, > > > error in slave eval: > > couldn't load file "/usr/lib/tk8.4/../libtk8.4.so": > > /usr/lib/tk8.4/../libtk8.4.so: cannot open shared object file: No such > > file or directory > > This looks like a Tcl/Tk installation issue. Try running "tclsh" > and typing "package require Tk". Also check whether "magic -noconsole" > works. Finally, check what /usr/local/bin/magic sets MAGIC_WISH to. > > The file to load is set by /usr/lib/tk8.4/pkgIndex.tcl. If magic is > configured to find /usr/lib/tclConfig.sh, then it will search all > subdirectories of /usr/lib for files named "pkgIndex.tcl" and execute > them. > > In this case, note that /usr/lib/tk8.4/../libtk8.4.so is, in fact, > equivalent to /usr/lib/libtk8.4.so. So in spite of the error message, > it's not likely that the problem was in finding the file. More likely > that the Tcl and Tk versions conflict, so that the libtk8.4.so can't > be loaded correctly. > > The last thing to try is to do "tclsh" followed by the command (in Tcl) > "load /usr/lib/libtk8.4.so". > > Here's what happens when you run "magic": > 1) "magic" is a shell script. It sets the variable MAGIC_WISH and > executes "tkcon.tcl" (a Tcl/Tk script). > 2) "tkcon" launches the executable pointed to by MAGIC_WISH. > 3) "tkcon" spins off a slave interpreter which then attempts to > load the Tk object library > > You'll note that I haven't actually solved your problem. The answer > is somewhere in all these variable settings, and is most likely related > to the setting of MAGIC_WISH and the location where "configure" found > the Tk and Tcl libraries when magic was compiled. Looking at "config.log" > or running "configure" again in the magic source directory should show > if something bad happened, such as the "configure" script locating > incompatible versions of Tcl and Tk. > > Regards, > Tim > > +--------------------------------+-------------------------------------+ > | Dr. R. Timothy Edwards (Tim) | email: tim.edwards@multigig.com | > | MultiGiG, Inc. | web: http://www.multigig.com | > | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | > | Scotts Valley, CA 95066 | cell: (240) 401-0616 | > +--------------------------------+-------------------------------------+ > > _______________________________________________ > magic-dev mailing list > magic-dev@vlsi.cornell.edu > http://vlsi.csl.cornell.edu/mailman/listinfo/magic-dev From David.YT.Chen at stanford.edu Thu Apr 20 18:31:09 2006 From: David.YT.Chen at stanford.edu (David Chen) Date: Thu Oct 30 14:33:39 2008 Subject: [Magic-dev] Magic makedbh compile error? Message-ID: <444827CD.7030402@Stanford.edu> Hi Guys, I have recently downloaded the latest version of magic (April version) from the website but sudden got this following error when compiling: ./scripts/makedbh database/database.h.in database/database.h make[1]: ./scripts/makedbh: Command not found make[1]: *** [database/database.h] Error 127 Even though that I checked the scripts directory to find makedbh sitting there. I used to have a similar problem with configure but fixed that using the build-essential package. Is this also a configuration issue? Thanks a lot for your help. Regards, David From David.YT.Chen at stanford.edu Sat Apr 22 00:59:44 2006 From: David.YT.Chen at stanford.edu (David Chen) Date: Thu Oct 30 14:33:39 2008 Subject: [Magic-dev] Magic makedbh compile error? In-Reply-To: <44497178.5080508@multigig.com> References: <444827CD.7030402@Stanford.edu> <44497178.5080508@multigig.com> Message-ID: <4449D460.8040702@Stanford.edu> Hi Tim, I downloaded the latest version of FC5 and everything is compiled and working now with the TSMC130 techfile that you gave me last time. It fixed all the Tcl/Tk and makedbh problems. Once again, your kind help and time is greatly appreciated! Thank you very much. Best regards, David R. Timothy Edwards wrote: > Dear David, > >> I have recently downloaded the latest version of magic (April >> version) from the website but sudden got this following error when >> compiling: >> >> ./scripts/makedbh database/database.h.in database/database.h >> make[1]: ./scripts/makedbh: Command not found >> make[1]: *** [database/database.h] Error 127 > > This error means that the interpreter specified by the 1st line of > makedbh can't be found, not that makedbh itself can't be found. > The first line of makedbh is: > > #!/bin/csh -f > > so if you don't have /bin/csh, it won't run. If csh is in a different > location than /bin, or if you have tcsh but not csh, then you can make > a symbolic link /bin/csh to point to one of them. Otherwise, you will > have to install a distribution of csh or tcsh on your system. > > Regards, > Tim > > +--------------------------------+-------------------------------------+ > | Dr. R. Timothy Edwards (Tim) | email: tim.edwards@multigig.com | > | MultiGiG, Inc. | web: http://www.multigig.com | > | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | > | Scotts Valley, CA 95066 | cell: (240) 401-0616 | > +--------------------------------+-------------------------------------+ From tim.edwards at multigig.com Fri Apr 21 17:57:44 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Thu Oct 30 14:33:39 2008 Subject: [Magic-dev] Magic makedbh compile error? In-Reply-To: <444827CD.7030402@Stanford.edu> References: <444827CD.7030402@Stanford.edu> Message-ID: <44497178.5080508@multigig.com> Dear David, > I have recently downloaded the latest version of magic (April version) > from the website but sudden got this following error when compiling: > > ./scripts/makedbh database/database.h.in database/database.h > make[1]: ./scripts/makedbh: Command not found > make[1]: *** [database/database.h] Error 127 This error means that the interpreter specified by the 1st line of makedbh can't be found, not that makedbh itself can't be found. The first line of makedbh is: #!/bin/csh -f so if you don't have /bin/csh, it won't run. If csh is in a different location than /bin, or if you have tcsh but not csh, then you can make a symbolic link /bin/csh to point to one of them. Otherwise, you will have to install a distribution of csh or tcsh on your system. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards@multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From tim.edwards at multigig.com Sun Apr 23 18:11:56 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Thu Oct 30 14:33:39 2008 Subject: [Magic-dev] CVS repository at opencircuitdesign Message-ID: <444C17CC.2040504@multigig.com> I have the repository for magic-7.4, magic-7.5, IRSIM, netgen, and xcircuit set up on opencircuitdesign.com. When I created it, the user "anonymous" had the password "anoncvs" (same as the repository at Cornell) and had both read and write access. Since the anonymous user password is posted on the website, this is a huge security hole. So I have now restricted user "anonymous" to read-only access (there is also no password now for the anonymous user). Anyone who wants to have write access to the repository can have it; just send me an email to let me know so I can add a username and password to the passwd file. Thanks, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards@multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From opoku at ece.cmu.edu Tue Apr 25 03:41:29 2006 From: opoku at ece.cmu.edu (Osei Poku) Date: Thu Oct 30 14:33:40 2008 Subject: [Magic-dev] configure.in patch Message-ID: <20060425064105.GA12403@ece.cmu.edu> Hi, I just download magic 7.5.12 from the website. There is a small bug in the configure.in that causes the tkConfig.sh script to not be found on some systems (debian/ubuntu etc). The repairing patch is attached. Thanks, Osei -- Osei Poku Graduate Student, Dept. of ECE, CMU -------------- next part -------------- --- configure.in 2006-04-10 18:03:14.000000000 -0400 +++ configure.in_fixed 2006-04-25 02:37:55.000000000 -0400 @@ -465,11 +465,11 @@ # if test "x$tk_config_sh" = "x" ; then for dir in \ - `ls -dr /usr/local/tcl/tcl[[7-9]].[[0-9]]* 2>/dev/null` \ + `ls -dr /usr/local/tk/tk[[7-9]].[[0-9]]* 2>/dev/null` \ /usr/local/tcl \ /usr/local/lib \ /usr/local \ - `ls -dr /usr/lib/tcl[[7-9]].[[0-9]]* 2>/dev/null` \ + `ls -dr /usr/lib/tk[[7-9]].[[0-9]]* 2>/dev/null` \ /sw/lib \ ${x_libraries} \ /usr From clint.kelly at gmail.com Tue May 2 13:56:44 2006 From: clint.kelly at gmail.com (Clint Kelly) Date: Thu Oct 30 14:33:40 2008 Subject: [Magic-dev] magic highlights "reset" nodes Message-ID: <20eabb880605020956k5298810yd96a8c2ceeaf5798@mail.gmail.com> Hi everybody, Since I started using magic 7.3 and 7.4, I have noticed that sometimes nodes that are labeled with names containing "reset" in them (like "_reset", "reset", "reseta", etc.) sometimes show up with their labels in blue. Then when I select such a node, it is shown as connected to other nodes with similar labels, even though they aren't electrically connected. I assume that this is some kind of feature. Is there some way to turn it off? Cheers, Clint From tim.edwards at multigig.com Sun May 7 11:46:01 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Thu Oct 30 14:33:40 2008 Subject: [Magic-dev] Re: Diodes -- IRSIM representation In-Reply-To: <200605042023.k44KNGGb003267@smtpserver2.Princeton.EDU> References: <200605042023.k44KNGGb003267@smtpserver2.Princeton.EDU> Message-ID: <445E3259.7050703@multigig.com> Dear Muzaffer, > I have a question. Is there any way to include diodes or any other one-way > transmitting circuit elements into IRSIM .sim files? For what purpose? I've put "extra" devices into the .sim format as handled by netgen so I could do LVS on layouts. Simulation is another matter. I don't know enough about how the switch and linear simulation models work. It would be reasonably easy to stick some diode models into the simulator; what I can't say is whether or not evaluating them would immediately lock up the simulator. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards@multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From tim.edwards at multigig.com Mon May 8 10:49:09 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Thu Oct 30 14:33:40 2008 Subject: [Magic-dev] Re: Cannot access anonymous CVS Message-ID: <445F7685.1050301@multigig.com> In response to Michael Goffioul's email to xcircuit-dev: The anonymous CVS server on opencircuitdesign.com is now fixed. User "anonymous" has no password for CVS login, but has read-only access and cannot make changes to the code database. Anyone who wants write access to the repository (which includes magic-7.4 and 7.5, xcircuit-3.4 and 3.6, irsim-9.7, netgen-1.3, and pcb-3.0) should email me to request write access. This is a simple matter of adding a line to the CVS password file, so it's not a big deal, just a modicum of security for the site. I don't want to discourage tool development. Also, a had to add a measure of security to the Wiki site, which immediately became a spam magnet. Since all the spam was obviously automatically generated, the security is correspondingly lightweight. To edit the Wiki pages, just go to the "Preferences" page and enter "ocd_edit" into the "Administrator Password" box. The password is written there, so you can't forget it. I'm working entirely through CVS now. For those who have voiced concern about not getting the convenient tarballs: I have set up an automated system (cron job) which daily checks, for each package, if any commits have been made to the CVS database. If so, it increments the revision number, builds a new tarball, posts the new tarball on the package download web page, and adds the CVS revision comments to the code history web page. So, note to developers: please make helpful comments on the edit page after a CVS commit, and remember that whatever you write will be posted on the website for everyone to see. Thanks, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards@multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From tim at opencircuitdesign.com Wed May 10 00:11:19 2006 From: tim at opencircuitdesign.com (R. Timothy Edwards) Date: Thu Oct 30 14:33:40 2008 Subject: [Magic-dev] Re: Magic Dstyle In-Reply-To: <1538202108@web.de> References: <1538202108@web.de> Message-ID: <44618407.5080507@opencircuitdesign.com> Dear Oliver, > I searched in the Maintainer's Manual #3 but I can't find no reference between the > numbers and stipples. There are some explainded in the Dstyle but not all. > Is there a dokument that explains all? Are the stipples a Unix thing? Using integers for the stipple number, and hex numbers for the patterns, the following line from the mos.24bit.dstyle file: 5 40 20 10 08 04 02 01 80 sparse diagonal stripes, ll to ur corresponds to a hex pattern 0x40 0x20 0x10 0x08 0x04 0x02 0x01 0x80 which in binary is an 8x8 bitmap: 00000010 00000100 00001000 00010000 00100000 01000000 10000000 00000001 Note that the actual bit pattern is reversed, left-to-right, with the most significant bit on the right, not the left. I'm pretty sure I documented this somewhere, although it is clear that a new, updated, online, HTML version of the "Maintainer's Manual #3" is needed. > Which dstyle file is loaded by default? There is no "default" per se, but all the standard technology files declare style "mos", and the default monitor is "std". The styles depend on the graphics package used ("-d" option), which for most systems would default to "24bit" (few people use 8-bit indexed graphics anymore). So, the usual files would be: mos.24bit.std.cmap mos.24bit.dstyle Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim@opencircuitdesign.com | | Open Circuit Design, Inc. | web: http://opencircuitdesign.com | | 22815 Timber Creek Lane | phone: (301) 528-9364 | | Clarksburg, MD 20871-4001 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From tim.edwards at multigig.com Thu May 11 23:41:41 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Thu Oct 30 14:33:40 2008 Subject: [Magic-dev] magic highlights "reset" nodes In-Reply-To: <20eabb880605020956k5298810yd96a8c2ceeaf5798@mail.gmail.com> References: <20eabb880605020956k5298810yd96a8c2ceeaf5798@mail.gmail.com> Message-ID: <44642015.7060305@multigig.com> Dear Clint, > Since I started using magic 7.3 and 7.4, I have noticed that sometimes > nodes that are labeled with names containing "reset" in them (like > "_reset", "reset", "reseta", etc.) sometimes show up with their labels > in blue. Then when I select such a node, it is shown as connected to > other nodes with similar labels, even though they aren't electrically > connected. > > I assume that this is some kind of feature. Is there some way to turn > it off? Blue (cyan, to be pedantic) labels are "ports", and if magic were working correctly, then they wouldn't show up unless you created them from labels with the "port" command. I'm skeptical that there is anything special about the "reset" string. What happens (and I just figured it out this evening) is that due to a mismatch between the type declarations for the label structure and its equivalent record for the "undo/redo" mechanism, magic fouls up one of the subroutine calls. If a label is deleted and then undeleted by using the "undo" command, then it can reappear as a label (the tile type information which records which type the label is attached to is trashed, which may cause other problems as well). Ports do have the property that ports with the same name are treated as electrically connected. This allows one to create a standard cell with "thru" ports (by giving the entrance and exit points the same label name) and therefore trace an entire network through a standard cell layout even if the contents of the standard cells are not drawn. Another use is to trace a network through buffers that have been inserted into the path by giving the buffer input and output ports the same name. Since I finally tracked down the bug, I also fixed it, of course, and the corrected version is available from CVS and from the tarballs of versions 7.4.16 and 7.5.15 (which will be automatically posted tonight at 2:40 am pacific daylight time). Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards@multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From ahmnaveed at gmail.com Thu May 18 12:15:16 2006 From: ahmnaveed at gmail.com (Naveed Ahmed) Date: Thu Oct 30 14:33:41 2008 Subject: [Magic-dev] using magic Message-ID: <3b8645980605172315i720fee81se1716b1aef3f83ab@mail.gmail.com> Hello, I have installed magic on my Fedora4 OS and I can run it, but there is a problem! Only one window i.e. layout editor window opens, and there is no window thru which i can type commands from the keyboard. Will I have to install TCL for it, or there is some other way? If yes, then how to do it? -- ------------------------- Naveed Ahmed -------------- next part -------------- An HTML attachment was scrubbed... URL: http://vlsi.csl.cornell.edu/pipermail/magic-dev/attachments/20060518/f4d22fcb/attachment.html From tfires at Glue.umd.edu Tue May 23 18:08:45 2006 From: tfires at Glue.umd.edu (Todd Firestone) Date: Thu Oct 30 14:33:41 2008 Subject: [Magic-dev] Magic 7.4 giving me error Message-ID: Hello, I just installed 7.4 in SuSE Linux 10.2 with no compilations errors. I started a session with the intentions of copying previous work. I used the command "openwindow " which opened ok, but gave errors in the command window: SCN3ME_SUBM.30.tech27: line 7586: section (none): Unrecognized layer (type) name "capwell" SCN3ME_SUBM.30.tech27: line 7586: section (none): Unrecognized layer (type) name "capacitor" SCN3ME_SUBM.30.tech27: line 7586: section (none): Unrecognized layer (type) name "wellcapacitor" SCN3ME_SUBM.30.tech27: line 7586: section (none): Unrecognized layer (type) name "entransistor" SCN3ME_SUBM.30.tech27: line 7586: section (none): Unrecognized layer (type) name "eptransistor" .... Warning: label "cwell" attached to unknown type "capwell" Warning: label "cap" attached to unknown type "capacitor" Warning: label "pffet" attached to unknown type "doubleptransistor" Warning: label "nffet" attached to unknown type "doublentransistor" Warning: label "enfet" attached to unknown type "entransistor" Warning: label "wcap" attached to unknown type "wellcapacitor" ... I tried several things after this including zooming, trying to copy a section of layout over to my new design, trying to click on a single layer to copy over and I get an application error: 'Error:invalid command name"..titlebar.drcbutton" '. This message comes up several times and will not stop until I close the secondary window. I tried a few different designs which were made in ver 7.1 and 6.4 with the same results. Do I not have a path setup correctly? Sincerely, Todd ************************************** Todd M. Firestone Department of Electrical Engineering University of Maryland College Park, MD 20742 tfires@glue.umd.edu From msimsir at Princeton.EDU Thu May 25 12:22:00 2006 From: msimsir at Princeton.EDU (Muzaffer Simsir) Date: Thu Oct 30 14:33:41 2008 Subject: [Magic-dev] RE: Diodes -- IRSIM representation In-Reply-To: <445E3259.7050703@multigig.com> Message-ID: <200605251521.k4PFLuc3000136@smtpserver2.Princeton.EDU> Dear Dr Timothy Edwards, Thank you very much for your reply. I am planning to do simulations on circuits that are constructed with nanotechnologies. In nanotechnologies, diodes are widely used to construct logic functions. To be able to get the correct functionality of the circuit, we need diodes. I believe that integrating diodes in IRSIM may be important in the future. For the diode, an ideal model would be enough for our use. Say, it will conduct current if voltage exceeds 0.5V, otherwise it will not conduct. We can put resistance after the diode to model the resistance of the diode. In your previous email, you mentioned that "It would be reasonably easy to stick some diode models into the simulator". If you can give me hints about how to do this, I am willing to try and see if the simulator will work. Thank you very much. Sincerely, Muzaffer Simsir PhD Candidate Department Of Electrical Engineering Princeton University Olden Street Princeton, NJ, 08544 Office: +1 (609) 258 1354 -----Original Message----- From: R. Timothy Edwards [mailto:tim.edwards@multigig.com] Sent: Sunday, May 07, 2006 1:46 PM To: Muzaffer Simsir Cc: magic-dev@csl.cornell.edu Subject: Re: Diodes -- IRSIM representation Dear Muzaffer, > I have a question. Is there any way to include diodes or any other > one-way transmitting circuit elements into IRSIM .sim files? For what purpose? I've put "extra" devices into the .sim format as handled by netgen so I could do LVS on layouts. Simulation is another matter. I don't know enough about how the switch and linear simulation models work. It would be reasonably easy to stick some diode models into the simulator; what I can't say is whether or not evaluating them would immediately lock up the simulator. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards@multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From graham.petley at vlsitechnology.org Thu Jun 1 03:15:53 2006 From: graham.petley at vlsitechnology.org (Graham Petley) Date: Thu Oct 30 14:33:42 2008 Subject: [Magic-dev] Magic search paths Message-ID: <20060601091553.66104.qmail@web210.biz.mail.re2.yahoo.com> Hallo, I use my own technology file and have it in my working directory. I would like to move it elsewhere, but then can't get Magic to find it. magic -Tvsc200 finds file vsc200.tech27 in the . directory. But if I define the search path by adding path sys ". /home/dev/magic/etc" or path sys +/home/dev/magic/etc to the .magicrc file in /usr/local/lib/magic/sys then any technology file in /home/dev/magic/etc is not picked up by Magic. If I do the path command in Magic, all I get is Search path for cells is "." whereas according to Tim's web page I should get something like Search path for cells is "." Cell library search path is "$CAD_ROOT/magic/scmos $CAD_ROOT/magic/tutorial" System search path is ". $CAD_ROOT/magic/sys $CAD_ROOT/magic/sys/current" How can I get Magic to pick up my tech file from /home/dev/magic/etc? Best regards, Graham Petley From aminer2k at yahoo.com Sun Jun 4 22:08:52 2006 From: aminer2k at yahoo.com (Andrew Miner) Date: Thu Oct 30 14:33:42 2008 Subject: [Magic-dev] magic 7.14.5 compile, suse 10.0 Message-ID: <20060605040852.71057.qmail@web50806.mail.yahoo.com> I have gotten to the point of where the ./config script states that tcl/tk is OK, but I now get the following from the make command: --- compiling graphics/grTk1.o grTk1.c:18:22: error: X11/Xlib.h: No such file or directory grTk1.c:19:23: error: X11/Xutil.h: No such file or directory grTk1.c:20:24: error: X11/keysym.h: No such file or directory from grTk1.c:22: from grTk1.c:22: In file included from grTk1.c:40: In file included from grTk1.c:42: grTk1.c:51: error: expected ?=?, ?,?, ?;?, ?asm? or ?__attribute__? before ?grGCFill? grTk1.c:52: error: expected ?=?, ?,?, ?;?, ?asm? or ?__attribute__? before ?*? token grTk1.c:54: error: expected ?=?, ?,?, ?;?, ?asm? or ?__attribute__? before ?grXcmap? grTk1.c:59: error: expected ?=?, ?,?, ?;?, ?asm? or ?__attribute__? before ?colors? grTk1.c:61: error: expected ?=?, ?,?, ?;?, ?asm? or ?__attribute__? before ?*? token grTk1.c: In function ?grtkSetWMandC?: grTk1.c:132: error: ?AllPlanes? undeclared (first use in this function) grTk1.c:132: error: (Each undeclared identifier is reported only once grTk1.c:132: error: for each function it appears in.) grTk1.c:139: error: ?grtkLines? undeclared (first use in this function) grTk1.c:139: error: ?grtkRects? undeclared (first use in this function) I am using ATI's opengl drivers, but the ./config script is not able recognize my opengl. I do not know whether my issues are from Tcl or opengl problems. Please advise. I am trying to get away from a commercial EDA package, and would like to give magic a try. Thanks AM From harmeshlad at yahoo.com Mon Jun 5 19:33:45 2006 From: harmeshlad at yahoo.com (Harmesh Lad) Date: Thu Oct 30 14:33:43 2008 Subject: [Magic-dev] issue with TCL magic on Mac OS X Message-ID: <20060606013345.21138.qmail@web51315.mail.yahoo.com> Hi, I have been having some trouble getting the TCL version of magic 7.4.19 running on Mac OS X 10.4.6. I have tclsh 8.4 and wish 8.4 on my system. I compile with build.sh (a script I wrote; see attachment), which seemed to run successfully (see build.log, make.log, install.log). When I run bin/magic, it crashes with a seg fault. Next I tried running lib/magic/tcl/magicexec, which also crashed with a seg fault. I ran it under gdb and found the crash occurs at a call to XDefaultColormap in grTk1.c (see gdb.log). I successfully compiled and ran magic with TCL disabled. Next, I tried changing the XDefaultColormap call in grTk1.c to Tk_Colormap (see grTk1.c.patch) and recompiling. When I do this, magicexec crashes with a seg fault on the following call (XDefaultVisual). bin/magic also crashes with a seg fault. Any suggestions? -Harmesh Lad __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com -------------- next part -------------- A non-text attachment was scrubbed... Name: osx_bug.tar.gz Type: application/x-gzip Size: 21074 bytes Desc: 146671441-osx_bug.tar.gz Url : http://vlsi.csl.cornell.edu/pipermail/magic-dev/attachments/20060605/5d3e787b/osx_bug.tar.bin From aminer2k at yahoo.com Tue Jun 6 21:35:46 2006 From: aminer2k at yahoo.com (Andrew Miner) Date: Thu Oct 30 14:33:43 2008 Subject: [Magic-dev] install on suse, now 9.3 Message-ID: <20060607033546.96748.qmail@web50808.mail.yahoo.com> I gave up installing on my suse 10.0 laptop and am trying to get this running on suse 9.3 that uses xorg rather than a proprietary driver. It all installs OK, as far as I can tell. When running magic from the comand line, two windows open, the larger displays: error in slave eval: couldn't load file "/usr/local/lib/magic/tcl/tclmagic.so": /usr/local/lib/magic/tcl/tclmagic.so: undefined symbol: W3Dinit I am unable to find references to this problem on the magic web sites. Any ideas? AM From tim.edwards at multigig.com Wed Jun 7 11:29:17 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Thu Oct 30 14:33:43 2008 Subject: [Magic-dev] Re: MAGIC - CIFOUTPUT In-Reply-To: <1589658190@web.de> References: <1589658190@web.de> Message-ID: <44870CED.3020901@multigig.com> Dear Oliver, > But now it comes to write the Cifoutput/ Cifinput. > Either this is a very simple section to write or I'm seeing > way to much in it. It can be simple or not, depending on how the rest of the tech file is written. > I know that it's just about getting the masks for each physical > layer. I read the corresponding part of the online techfile manual > a few times but I still don't understand. > > I order to draw I set the scalefactor in the Cifoutput to 100 (or 1000 nanometers) > so I get 1um for one Lambda. That way I can see the x y coordinates directly in um. > To draw a feature size of 0.55um I set the scalegrid to 20/1 -> 0.05um per internal unit. > In the DRC -Section I set the scalefactor to 20 (1/20 of Lambda) as you said in > order to measure also in 0.05um. The "cifoutput" scalefactor sets the physical dimensions of the layout, which are otherwise "dimensionless" lambda units. The scalefactor maps the value of 1 internal unit (before any scaling with "scalegrid") to centimicrons or nanometers. > Does the Cif-Section also take the internal units for measuring? (eg for squares operator) > Because nowhere is said what a Cifunit is. Or at least I didn't see it. > Or is it enough here that 1Lambda equals 1um... A "cif unit" is 1 centimicron (1/100 micron, or 10 nanometers). If you said "scalefactor 100" then the units in the cifoutput section must be in centimicrons. If you said "scalefactor 1000 nanometers" then they must be in nanometers. > For what are the or,ands... operations for? "or" comes in several forms: layer CAA ndiff,pdiff,nsd,psd,ndc/a,pdc/a,nsc/a,psc/a,nfet,pfet is equivalent to: layer CAA ndiff or pdiff or nsd or psd or ndc/a or pdc/a or nsc/a or psc/a or nfet or pfet and is also equivalent to: layer CAA *ndiff,*pdiff,*nsd,*psd,nfet,pfet so you can often get by without using the "or" operator. The "and" operator is required in the "cifinput" section if you want to separate out the layer types that got OR'd together in the "cifoutput" section: layer ndiff CAA and-not CPG and-not CWN and CSN layer nfet CAA and CPG and-not CWN and CSN layer pdiff CAA and-not CPG and CWN and CSP layer pfet CAA and CPG and CWN and CSP and so forth. That is, mask layer CAA (diffusion), can represent either "ndiff", "pdiff", "nfet", "pfet", "nsd", or "psd", depending on the presence or absense of other layers CWN (N-well) or CPG (polysilicon), CSP (P+), and CSN (N+), depending on what the technology defines. > Can't I just write eg "layer CNW n-well" > gds 42 (1 ???) > in order to extract the mask for n-well? Yes, if you insist that the n-well layer must be drawn, and have the correct DRC rules for it. If you have a one-to-one mapping between drawn layers and GDS layers, then yes, you can do it this way, and everything is simple. You can also choose to make the drc and cif/gds rules more complicated as a trade-off for making the layout drawing simpler. For example, magic can auto-generate the CWN layer for you, with a complicated set of boolean operators. By the way, if the fabrication process doesn't define CIF names for layers (most don't anymore), I recommend using names that you're more likely to remember, like POLY, DIFF, CONT, and WELL, rather than the more cryptic "CPG", "CAA", "CCC", and "CWN". For that matter, if you never write CIF, you don't need to stick to the 4-character limit on layer names that CIF format imposes, so you can use names like "CONTACT" and "NWELL" (auf Deutsch, if you prefer). > If I import a GDS/Cif I would take the same scalefactor (100) so that > I get my 1Lambda-1um, correct? Yes. > The Label statement says that each Magic Layer should only appear in one Cifstatement of a > Style. But what about the layers like pfet,cap? This means that you should only have one "label" statement for a layer. This is because labels are handled separately from layout geometry in the database, and so each label record indicates what layer the label is attached to. So a label can be attached to layer "pfet", but since there is no layer "pfet" in the GDS output, the label will be missing in the GDS file unless the cifoutput section explicitly states that labels attached to "pfet" in magic should be attached to, say, polysilicon in the GDS file. So at the end of the "layer CPG" block in cifoutput, you might put "labels poly,pfet,nfet" so that labels attached to transistor gates will be attached to the poly layer in GDS. > For what are different Cifstyles useful if the Techfile is only written for a specific process (eg 0.5um)? It depends on a number of things. I often start out with a single cifoutput style, then write others as I need them. You might have a style that generates fill patterns, for example, or that exercises different process options (most fabrication processes come with lots of options). I did extend the cifoutput/cifinput/extract/drc section formats to allow each style to have "variants", so that it is not necessary to duplicate an entire cifoutput style to cover a single process option. > Personally, I would use the 1Lambda-1um scaling in any case. For the actual drawing process I > would use the scalegrid (eg 20/1..) > But probably this is only useful for absolute processes in around 0.5um... For a long time, magic was stuck with 1 internal unit = 1 lambda. I have myself only recently started to make use of my own code changes and start writing techfiles in vendor units and using scalegrid in the startup script. So if anything doesn't work right, let me know. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards@multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From graham.petley at vlsitechnology.org Fri Jun 9 15:24:38 2006 From: graham.petley at vlsitechnology.org (Graham Petley) Date: Thu Oct 30 14:33:43 2008 Subject: [Magic-dev] Writing deep submicron spice decks from Magic Message-ID: <20060609212438.22339.qmail@web205.biz.mail.re2.yahoo.com> Hallo, I would like to read a 0.13um CIF file with 5nm resolution into Magic and write out a spice deck. In the cifinput section I use a scaling of scalefactor 5 1 nanometers In extraction section I would need to use lambda 0.5 but the smallest allowed value is 1 and then the transistor widths and lengths are 2X too big. Is there a way to express lambda in nanometers instead of centimicrons in the extract section, similar to the nanometers keyword in the cifinput section? Best regards, Graham Petley From lovelemon at hotmail.com Tue Jun 20 10:00:54 2006 From: lovelemon at hotmail.com (Meg Megy) Date: Thu Oct 30 14:33:43 2008 Subject: [Magic-dev] Magic 7.4 on Mac OS X Tiger Message-ID: Hi, I'm interested in installing Magic 7.4 on Powerbook G4 running with OS X 10.4. What I need to do is only to download the source and compile, right ? Do I need to install any other software like X11 or Wish X11 (not sure what it is) ? Please suggest me or give me any information page so that I can proceed. I tried a lot on Google, but never found a right material. Thank you in advance, Alez From aminer2k at yahoo.com Tue Jun 20 17:26:27 2006 From: aminer2k at yahoo.com (Andrew Miner) Date: Thu Oct 30 14:33:43 2008 Subject: [Magic-dev] GDS output Message-ID: <20060620232627.6141.qmail@web50805.mail.yahoo.com> I brought a gds file containing 7 layers into magic that was provided by a customer. I did this by creating a technology file using the script to produce gdstemp.tech. I added a new layer (layer 1) to the technology file. Now I am trying to output a gds file, but by using 'gds write' I only get a gds file with the original 7 layers, not my new layer (which is the only layer I really need in the file). How can I get my new layer to output? The .tech file is below. Andy tech 30 gdstemp end version version 0.0 description "Auto-generated techfile for unknown GDS read-in" end planes plane1 plane22 plane24 plane25 plane28 plane63 plane84 plane85 end types plane1 type1 plane22 type22 plane24 type24 plane25 type25 plane28 type28 plane63 type63 plane84 type84 plane85 type85 end contact end styles styletype mos type1 metal5 type22 polysilicon type24 ndiffusion type25 pdiffusion type28 capacitor type63 metal1 type84 metal2 type85 metal3 end compose end connect end cifoutput style generic scalefactor 1 end cifinput style generic scalefactor 1 layer type1 GDS1 labels GDS1 layer type22 GDS22 labels GDS22 layer type24 GDS24 labels GDS24 layer type25 GDS25 labels GDS25 layer type28 GDS28 labels GDS28 layer type63 GDS63 labels GDS63 layer type84 GDS84 labels GDS84 layer type85 GDS85 labels GDS85 calma GDS1 1 0 calma GDS22 22 0 calma GDS24 24 0 calma GDS25 25 0 calma GDS28 28 0 calma GDS63 63 0 calma GDS84 84 0 calma GDS85 85 0 end # mzrouter # end drc end extract style generic cscale 1 lambda 1 step 10 sidehalo 0 planeorder plane22 0 planeorder plane24 1 planeorder plane25 2 planeorder plane28 3 planeorder plane63 4 planeorder plane84 5 planeorder plane85 6 planeorder plane1 7 end # wiring # end # router # end # plowing # end plot style pnm end From tim.edwards at multigig.com Thu Jun 29 00:31:35 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Thu Oct 30 14:33:43 2008 Subject: [Magic-dev] Re: Compliation of magic on Fedora 5 In-Reply-To: <85FA28559CB0734FA6AABF430740D7A5505888@exchangemb2.bnl.gov> References: <85FA28559CB0734FA6AABF430740D7A5505867@exchangemb2.bnl.gov> <446A9B86.1030005@multigig.com> <85FA28559CB0734FA6AABF430740D7A5505888@exchangemb2.bnl.gov> Message-ID: <44A373C7.6090905@multigig.com> Dear Yonggang, > --- compiling commands/CmdFI.o > CmdFI.c: In function ?CmdFeedback?: > CmdFI.c:285: error: ?TT_SIDE? undeclared (first use in this function) I see that there isn't any #ifdef NONMANHATTAN around that code, as there should be. Apparently you did "configure --disable-nonmanhattan"? There's no reason to do that, although it's useful to have somebody tell me that the nonmanhattan code is not properly self-contained as it's supposed to be. Make sure that "defs.mak" defines DFLAGS as including "-DNONMANHATTAN=1". Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards@multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From asenthil at kongu.ac.in Sat Jul 1 16:15:35 2006 From: asenthil at kongu.ac.in (Senthil Kumar. A) Date: Thu Oct 30 14:33:44 2008 Subject: [Magic-dev] Help required for magic Message-ID: <20060701094538.M74719@kongu.ac.in> An HTML attachment was scrubbed... URL: http://vlsi.csl.cornell.edu/pipermail/magic-dev/attachments/20060701/60159eed/attachment.html From tim.edwards at multigig.com Wed Jul 19 15:53:52 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Thu Oct 30 14:33:44 2008 Subject: [Magic-dev] Re: Installation error In-Reply-To: References: Message-ID: <44BEA9F0.40208@multigig.com> Dear Prassana, > I'm using Mandriva Linux release 2006. > I'm just trying to install magic 7.5 . > After running configure and make, when i tried to run make install I got > the message as below: > > --- installing executable to /usr/local/bin > --- installing runtime files to /home/cad/magic-7.5.26/tcltk/ > /usr/bin/ld: cannot find -lGLU > collect2: ld returned 1 exit status > make[2]: *** [tclmagic.so] Error 1 > > Can you please help me in this regard. Apparently you have an installation of Linux (either related to Mandriva or to the video card drivers, if separate from the distribution) that came with only a partial set of the OpenGL libraries. Your choices are: 1) Compile without OpenGL support by disabling it in the "configure" script: configure --with-opengl=no 2) Obtain the GLU library. I got mine with the video driver distribution from nvidia (downloaded from nvidia's website). You might find it as an optional install package for Mandriva. Since I wrote the OpenGL interface to Magic, and use it all the time, of course I strongly recommend option (2). Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards@multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From calchan at gentoo.org Fri Jul 28 23:21:17 2006 From: calchan at gentoo.org (Denis Dupeyron) Date: Thu Oct 30 14:33:44 2008 Subject: [Magic-dev] Possible bug in magic-7.4.23 Message-ID: <7c612fc60607281321i5c7ebdactf3afb5f4f03cd85b@mail.gmail.com> Dear Tim, I'm having some trouble with magic-7.4.23. It looks to me that the HeapAddDInt function in utils/heap.c was supposed to be renamed HeapAddDLong and wasn't. Could you please confirm this ? Or not ? Best regards, Denis. From tim at opencircuitdesign.com Fri Jul 28 16:40:57 2006 From: tim at opencircuitdesign.com (R. Timothy Edwards) Date: Thu Oct 30 14:33:44 2008 Subject: [Magic-dev] Re: Fwd: Possible bug in magic-7.4.23 In-Reply-To: <7c612fc60607281524o327bf9b2uae756e9b03ad107e@mail.gmail.com> References: <7c612fc60607281321i5c7ebdactf3afb5f4f03cd85b@mail.gmail.com> <7c612fc60607281524o327bf9b2uae756e9b03ad107e@mail.gmail.com> Message-ID: <44CA9279.4000002@opencircuitdesign.com> Dear Denis, > I'm having some trouble with magic-7.4.23. It looks to me that the > HeapAddDInt function in utils/heap.c was supposed to be renamed > HeapAddDLong and wasn't. > > Could you please confirm this ? Or not ? Yes, sorry, an unfortunate typo that I allowed to get into the database yesterday evening, which then automatically became a tarball without my having tried to compile the source. There is one instance where the word "HeapAddDInt" should be replaced with "HeapAddDLong". Tomorrow's tarball will be corrected. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim@opencircuitdesign.com | | Open Circuit Design, Inc. | web: http://opencircuitdesign.com | | 22815 Timber Creek Lane | phone: (301) 528-9364 | | Clarksburg, MD 20871-4001 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From trangkhuyet at gmail.com Mon Aug 7 17:11:47 2006 From: trangkhuyet at gmail.com (Hoa Trang) Date: Thu Oct 30 14:33:46 2008 Subject: [Magic-dev] Problem compiling magic on Sun Solaris Message-ID: Skipped content of type multipart/alternative-------------- next part -------------- A non-text attachment was scrubbed... Name: log.tar.gz Type: application/x-gzip Size: 12243 bytes Desc: not available Url : http://vlsi.csl.cornell.edu/pipermail/magic-dev/attachments/20060807/6b2badbf/log.tar.bin From rajashekhar_ninganure at mindtree.com Thu Aug 10 15:32:58 2006 From: rajashekhar_ninganure at mindtree.com (Rajashekhar Ninganure) Date: Thu Oct 30 14:33:46 2008 Subject: [Magic-dev] Regarding capacitor and bjt layout Message-ID: <16271F716C971E4BBBE29C45FA4A0138020FF8B9@mtw01ex01.mindtree.com> Skipped content of type multipart/alternative-------------- next part -------------- ----------------------------------------------------------------------------------------------------------------------------- Disclaimer ----------------------------------------------------------------------------------------------------------------------------- "This message(including attachment if any)is confidential and may be privileged.Before opening attachments please check them for viruses and defects.MindTree Consulting Private Limited (MindTree)will not be responsible for any viruses or defects or any forwarded attachments emanating either from within MindTree or outside.If you have received this message by mistake please notify the sender by return e-mail and delete this message from your system. Any unauthorized use or dissemination of this message in whole or in part is strictly prohibited. Please note that e-mails are susceptible to change and MindTree shall not be liable for any improper, untimely or incomplete transmission." ----------------------------------------------------------------------------------------------------------------------------- From tim.edwards at multigig.com Thu Aug 10 09:31:03 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Thu Oct 30 14:33:46 2008 Subject: [Magic-dev] [Fwd: Magic7.3.107: GDS2 importation.] Message-ID: <44DB5137.3030307@multigig.com> -------- Original Message -------- Subject: Magic7.3.107: GDS2 importation. Date: Thu, 10 Aug 2006 13:40:28 +0100 From: Simon HARPHAM Reply-To: SimonH@SiliconDevices.com Organization: Silicon Devices (UK) Limited To: tim.edwards@multigig.com Hi Tim, not sure if I should send this to you or the forum, but here goes: > Yes, it is, so I'm forwarding it (without the attachment), along with my response. > It's a problem any number of users may encounter, so it is helpful to have the > question and the answer in the archive. I have recently downloaded and installed v7.3.107 from http://opencircuitdesign.com/cygwin/archive/magic_win.tgz running under cygwin from: http://sourceware.org/cygwin/ including the TCL/TK patch at: http://opencircuitdesign.com/cygwin/archive/tcltk_x11_win.tgz - these are installed on a Dell Inspirion PC running Windows XP professional. The feature I am getting is that sometimes when I read gds from another source, I cannot see the layout contained in that gds - I get a blank layout window. I have attached two gds files - the first is the layout for tut3d exported from Magic, which, when read back in, works fine (as you would expect). If I then import this (tut3d_magic.gds) file into WinLASI, then export it (as Tut3d_lasi.gds) then read it back into Magic, it loads in but Magic does not display the layout. If I examine both the above gds files with StreamVista, or convert them to dump files using Electric, then as near as I can tell, they are identical (a file compare shows the the dump files to be the same with the exception of the names, create date and revision dates). Interestingly, if I convert the dump file (Tit3d_lasi.txt) or the re-export the Tut3d_lasi.gds from Electric (as TUT3D_electric.gds) both files (only one, -lasi.gds > dump > -electric.gds has been provided) read into magic ok. The extracted spice netlists (for both -magic.gds and -electric.gds) look a little different in terms of values, plus some extra parasitic caps, but I don't see anything obvious that might be causing the failure to read in. The dump file from -electric.gds looks identical to the dump from -magic.gds with the exception of one line, line 18 (of the attached TUT3d_electric.txt dump file): 17: aidname: project 18: userbits: 64 in the -magic.txt and -lasi.txt dump files "userbits" have been set to 0. Any ideas what is wrong? Cheers, SimonH. -- +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards@multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From tim.edwards at multigig.com Sun Aug 13 13:16:40 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Thu Oct 30 14:33:46 2008 Subject: [Magic-dev] Re: Magic7.3.107: GDS2 importation. In-Reply-To: <44DC826B.3060302@SiliconDevices.com> References: <42E3C1CD.8070300@ieee.org> <42E3EDCE.5070504@opencircuitdesign.com> <42E75F80.6000309@ieee.org> <42E7BB70.1070107@opencircuitdesign.com> <44DB293C.4020004@SiliconDevices.com> <44DB513F.5030607@multigig.com> <44DC826B.3060302@SiliconDevices.com> Message-ID: <44DF7A98.5070409@multigig.com> Dear Simon, > Also this was further confused by that the fact that when I typed > "load tut3d", instead of "load TUT3D", I was getting the original > file located at ~/usr/local/lib/magic/tutorial/ not the one I > thought I should get. Changing the tutorial file to tut_3d sorted > it all out! It has always seemed strange to me that the tutorial directory is always tacked on to the search path. I think that it would make more sense (particularly with the Tcl/Tk version) if the tutorial directory were removed from the search path, and instead, the wrapper window should have some option menu button for "enable tutorials". That would mean that the tutorials are only accessible when you want them, not when you don't. By the way, as far as I'm aware, GDS is always case-sensitive. > Interestingly, once you have done a "gds read filename1" followed by > "load filename1" for the first of the gds files from LASI, subsequent > ones load with just "gds read filename2"; you don't need to do the > "load filename2" step. This probably is caused by the fact that Magic creates a cell with the same name as the library name declared in the GDS file, and its behavior is different based on whether or not such a cell exists. The creation of a cell with the same name as the library is, I think, a mistake. When reading GDS, Magic should detect files that it wrote itself from the "creator" field of the GDS file header. ---Tim P.S.---Hope you don't mind me CC'ing this to magic-dev, since it involves issues that many users are likely to encounter when dealing with 3rd-party GDS files. +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards@multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From madhavan at usc.edu Sun Aug 27 11:07:01 2006 From: madhavan at usc.edu (Bindu Madhavan) Date: Thu Oct 30 14:33:46 2008 Subject: [Magic-dev] Increasing the number of planes In-Reply-To: <44BEA9F0.40208@multigig.com> Message-ID: <000301c6c9fb$36473b50$9200a8c0@bm2> Hi Tim, How do I increase the maximum number of planes in magic ? I see how to increase the number of tiles in database/database.h, but not the number of planes. Recent cmos processes (especially those with multiple types of devices and special layer (including layers for lvs purposes) requirements are pushing against the current limitation (as I understand it) of 24. I am currently at magic 7.2.60 because of some modifications that Jeff Sondeen and I ported to that version. It will be very nice to be able to increase the maximum number of planes to 64. thanks bindu From viet at asicadvantage.com Wed Sep 6 15:18:42 2006 From: viet at asicadvantage.com (Viet Dinh) Date: Thu Oct 30 14:33:46 2008 Subject: [Magic-dev] Plotting help needed Message-ID: <44FF3B32.1090807@asicadvantage.com> The company I work for added to Magic 6.6 the ability to plot directly to a HP DesignJet 1055C. It was added on through the VERSATEC plot option. While trying to add this feature to 7.4 I found that line number 140 of the file plot/plotCmd.c has a typo. It should be: #ifdef VERSATEC not #ifdef VERSATEX The latest Magic 7.4 can plot to a ps file or pnm file. How do people on here plot/print this out as a hardcopy? What plotters/printers are people using? I have used GIMP to open the pnm and it looks nice. I am using Fedora Core 4 and can't find drivers for the 1055c. Attached is the fixed plotCmd.c file. -------------- next part -------------- A non-text attachment was scrubbed... Name: plotCmd.c Type: text/x-csrc Size: 7621 bytes Desc: not available Url : http://vlsi.csl.cornell.edu/pipermail/magic-dev/attachments/20060906/5cdeb751/plotCmd.bin From sudarshan_onkar at yahoo.com Sun Sep 10 16:36:46 2006 From: sudarshan_onkar at yahoo.com (sudarshan onkar) Date: Thu Oct 30 14:33:46 2008 Subject: [Magic-dev] Help on net gen Message-ID: <20060910143646.6754.qmail@web50410.mail.yahoo.com> Sir I have downloaded netgen from opencircuits and installed i learnt some commnds by going through the homepage of netgen. In the doc file it is written that we can write netlist using functions CellDef(),Initialise(),etc but i am not able to compile and execute can you please send a step by step method for executing? I am using linux os (mandriva).plz do the needful as i have to submit my work very soon. This mail id i got from tim edwards. Regards Sudarshan __________________________________________________________ Yahoo! India Answers: Share what you know. Learn something new http://in.answers.yahoo.com/ From chenycs at tpts5.seed.net.tw Tue Sep 12 13:52:41 2006 From: chenycs at tpts5.seed.net.tw (=?big5?B?s6+lw7Tc?=) Date: Thu Oct 30 14:33:47 2008 Subject: [Magic-dev] Magic_7.4.26 on cygwin save probelm Message-ID: <01ba01c6d627$4771b260$76a8a8c0@piva> Dear Tim I had compiled Magic_7.4.26 on cygwin without tcl/tk, I found a problem : when I want to save my layout, first time always success to save, but I continue to edit and save again, Magic can not save again. Error meaage: VREF : write, autowrite, flush, skip, or abort command? [write] <---- Save OK VREF : write, autowrite, flush, skip, or abort command? [write] <---- Can not save rename: Permission denied ATTENTION: Magic was unable to rename file VREF.mag.mxPPBFK to VREF.mag. If the file VREF.mag exists, it is the old copy of the cell VREF. The new copy is in the file VREF.mag.mxPPBFK. Please copy this file to a safe place before executing any more Magic commands. Could not write file. Cell not written. I check the file's permission , it is writable. *** Same source code I compiled on sun solaris 8, no this probelem. *** Please help me fix this probelem. Arthur Chen -------------- next part -------------- An HTML attachment was scrubbed... URL: http://vlsi.csl.cornell.edu/pipermail/magic-dev/attachments/20060912/bfa22e40/attachment.html From ccl28 at cornell.edu Tue Sep 12 14:28:30 2006 From: ccl28 at cornell.edu (Christopher LaFrieda) Date: Thu Oct 30 14:33:47 2008 Subject: [Magic-dev] ext2sim, ext2spice unexpected behavior Message-ID: <200609121328.31203.ccl28@cornell.edu> I have noticed some unexpected behavior with ext2sim and ext2spice packaged with magic 7.4.25, as compared to those with my 7.1 distro. Using the same .mag file and the same .tech file, ext2sim with the 7.4 distro doesn't produce a .al or .nodes file (for use with extresis), while the 7.1 does. Similarly, when using ext2spice under 7.4 all AS,PS,AD,PD values are zero, while for ext2spice under 7.1 they are non-zero. Is there a new way to extract caps/resis? Or are the defaults different now that I need to specify some command line params to ext2sim/ext2spice? BTW, this is compiled under SUSE 10 and I've tried both the tcl and scheme version. Thanks, Chris LaFrieda From clint.kelly at gmail.com Tue Sep 12 11:54:27 2006 From: clint.kelly at gmail.com (Clint Kelly) Date: Thu Oct 30 14:33:47 2008 Subject: [Magic-dev] ext2sim, ext2spice unexpected behavior In-Reply-To: <200609121328.31203.ccl28@cornell.edu> References: <200609121328.31203.ccl28@cornell.edu> Message-ID: <20eabb880609121054o2d7d9favcbce22506bd022a0@mail.gmail.com> Hey Chris, I had the exact same problem, and I have compiled magic7.4 under a variety of different platforms. The solution that I found was to use the "exttospice" command from within magic in the tcl version. I have a script that does this (so that it looks like the old "ext2spice" command-line command) if you are interested. Using this I was able to get non-zero area and perim values for the spice deck. BTW in my experience the built-in "exttospice" in the tcl version is *much* faster than the old command line version. I can't help you with the ext2sim stuff, although I have also written scripts that walk the .ext files and determine all of the aliases for every node (not sure if that's what you need or not). -Clint On 9/12/06, Christopher LaFrieda wrote: > I have noticed some unexpected behavior with ext2sim and ext2spice packaged > with magic 7.4.25, as compared to those with my 7.1 distro. Using the > same .mag file and the same .tech file, ext2sim with the 7.4 distro doesn't > produce a .al or .nodes file (for use with extresis), while the 7.1 does. > Similarly, when using ext2spice under 7.4 all AS,PS,AD,PD values are zero, > while for ext2spice under 7.1 they are non-zero. > > Is there a new way to extract caps/resis? Or are the defaults different now > that I need to specify some command line params to ext2sim/ext2spice? > > BTW, this is compiled under SUSE 10 and I've tried both the tcl and scheme > version. > > Thanks, > Chris LaFrieda > > _______________________________________________ > magic-dev mailing list > magic-dev@vlsi.cornell.edu > http://vlsi.csl.cornell.edu/mailman/listinfo/magic-dev > From ccl28 at cornell.edu Tue Sep 12 17:50:57 2006 From: ccl28 at cornell.edu (Christopher LaFrieda) Date: Thu Oct 30 14:33:47 2008 Subject: [Magic-dev] ext2sim, ext2spice unexpected behavior In-Reply-To: <200609121328.31203.ccl28@cornell.edu> References: <200609121328.31203.ccl28@cornell.edu> Message-ID: <200609121650.57516.ccl28@cornell.edu> Thanks to a hint from Clint Kelly, I can answer my own question. In the tcl version, you do the following to simulate these commands: ext2sim = exttosim labels on;exttosim ext2spice = exttospice The standard extract everything (super paranoid) can be done via the following (for hspice): exttosim labels on;exttosim extresist exttospice cthresh 0;extospice format hspice; exttospice extresist on;exttospice You need a minimum of 7.4.27 to do this or else the capacitances will be left out. -Chris From tim.edwards at multigig.com Fri Oct 6 22:27:00 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Thu Oct 30 14:33:47 2008 Subject: [Magic-dev] Important fixes to IRSIM Message-ID: <45272C94.9080702@multigig.com> Since a lot of people who use Magic also use IRSIM, I'd like to announce here that I have fixed one of the worst bugs in IRSIM---the tendency to propagate indeterminate ('X') values through circuits which otherwise (e.g., in SPICE) behave perfectly well. I have seen this problem attributed to IRSIM's method of breaking feedback loops. However, I looked at a fairly typical failing circuit closely, and decided that this is not the case at all. The problem occurs in circuits like delay flip-flops, where a value is held stable by a weak feedback inverter, creating a stable back-to-back inverter pair. IRSIM has no knowledge of the tight positive feedback loop. What it sees is a node being driven (in the case of a changing value) by two nodes (the flip-flop input and the feedback inverter) at two opposite logic values. This can happen when the pass-gates in the feed-forward and feedback loops are both ON simultaneously due to small gate delays setting the various clock and !clock values. IRSIM determines that the resulting node value must be indeterminate, and sets it immediately. The state of the flip-flop then becomes indeterminate, and quickly spreads to other nodes in the circuit. I implemented a very simple scheme in which I introduced a value called "settle", set by a command of the same name. "settle" should be set to some small value, typically smaller than a step size but larger than a typical gate delay. When IRSIM encounters a node being driven by multiple conflicting values resulting in an intermediate voltage value, it will punt on the indeterminate value for a time of "settle" time units (ps). If the problem of having multiple drivers on the same node is resolved within that time, the event setting the indeterminate result is discarded. Naturally, this solution is a bit of a "hack" in the sense that the "correct" solution would be to determine where positive feedback loops occur, and treat them accordingly. But I think this simple solution will prove to work correctly in the vast majority of cases. ---Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards@multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From tim at opencircuitdesign.com Wed Oct 11 17:56:07 2006 From: tim at opencircuitdesign.com (R. Timothy Edwards) Date: Thu Oct 30 14:33:47 2008 Subject: [Magic-dev] Re: Magic error message In-Reply-To: <2E7E40E3A002074D98C9C0975A7B8754659D86@EXS4.ad.okstate.edu> References: <2E7E40E3A002074D98C9C0975A7B8754659D86@EXS4.ad.okstate.edu> Message-ID: <452D8497.4040001@opencircuitdesign.com> Dear Aswin Ramachandran, > I work as a Teaching Assistant for Dr. James Stine at Oklahoma State > University. We have a question regarding Magic and I'm sure you could > help us. > > When I run magic with a filename as a parameter, we get the below > message (in red), > > /x/cadence/lib/magic/sys/scmos.tech: line 6615: section drc: > OK types "space" in more than one plane. > Assuming same plane (active) as edge. > > Though we could use the editor tools normally, we like to know if we > have to do something to fix this error message. This error showed up when I rewrote some of the DRC parsing routines. It turns out that pretty much all of the SCMOS set of techfiles has one or two rules with an ambiguous use of "space". Space appears on all planes and therefore should be qualified with a plane (e.g., "space/a", "space/m1", etc.). In the original syntax, there was only one way to interpret the lines as written. With my extended syntax, it can be ambiguous, so I flag a warning message. For example, running magic on SCN4ME_SUBM.20.TSMC, I get the same error coming from this line: edge4way poly,fp,rp,pc/a \ ~(poly,fp,rp,pc/a,nfet,pfet,fet,hnfet,hpfet,hfet,prp)/active \ 1 space space 1 \ "Poly spacing to Diffusion < 1 (Mosis #3.5)" The use of "space" here means that ONLY space and no other material type is allowed within 1 unit of poly where poly abuts field. What's ambiguous is that Magic can potentially check for material in any plane, not just the plane of the edge. The correct, unambiguous rule should state "space/a" instead of "space". This is not, in fact, an error, since Magic uses the most obvious interpretation, which is correct in this case. Hope that explanation helps! Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim@opencircuitdesign.com | | Open Circuit Design, Inc. | web: http://opencircuitdesign.com | | 22815 Timber Creek Lane | phone: (301) 528-9364 | | Clarksburg, MD 20871-4001 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From tim.edwards at multigig.com Wed Oct 11 18:11:50 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Thu Oct 30 14:33:47 2008 Subject: [Magic-dev] Re: Help on magic extraction In-Reply-To: <20061011181047.93584.qmail@web50415.mail.yahoo.com> References: <20061011181047.93584.qmail@web50415.mail.yahoo.com> Message-ID: <452D8846.8090902@multigig.com> > Is there anyway to extract magic layout with corners such as > temperature Normally, the design kit (usually Cadence) that comes from the semiconductor foundry will contain SPICE models at the primary process corners. Normally this would mean separate models for FAST, FAST-SLOW, NOMINAL, SLOW, and SLOW-FAST. Temperature is handled separately, since all models should be valid over the continuous temperature range of interest (commercial/industrial/ military minimum and maximum values, and of course room temperature nominal). Neither the models or temperature is related to the extraction, at least as far as *modeled* devices are concerned. To get from an extracted SPICE deck from magic to a simulation, you need to insert the models along with the rest of a testbench setup for SPICE, so at that time you would reference the proper corner model and set the proper corner temperature. For *unmodeled* devices, namely the parasitic capacitors and unmodeled resistor and capacitor devices (using my newer extraction algorithms), if you wanted to go to the trouble, you could add separate style sections in the Magic technology file representing each process corner, and appropriately adjust area and perimeter capacitances, sheet resistances, etc. I have never seen this done. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards@multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From tim.edwards at multigig.com Fri Oct 13 09:15:40 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Thu Oct 30 14:33:48 2008 Subject: [Magic-dev] Re: re magic3d In-Reply-To: <82087A46029CB74A9EA3AA6AA31A36736D9B10@stexchange1.students.ltu.edu.au> References: <82087A46029CB74A9EA3AA6AA31A36736D9B10@stexchange1.students.ltu.edu.au> Message-ID: <452FAD9C.3050009@multigig.com> Dear Jinesh, > whilel using 3d view in magic i am having some problem > it open magic3d but can't see any think Although I think the errors are most likely related to the errors that you mention, be aware that the 3-D view will not display anything significant unless style types are defined for each of the CIF/GDS layers in the "cifoutput" section of the technology file using a "render" statement for each. > it gives me folowing error > > Error of failed request: BadMatch (invalid parameter attributes) > Major opcode of failed request: 145 (GLX) > Minor opcode of failed request: 5 (X_GLXMakeCurrent) > Serial number of failed request: 135494 > Current serial number in output stream: 135494 > > or > > segmentation fault (core dumped) The OpenGL drivers have not been tested on a wide variety of platforms or video cards, each of which seems to behave differently. What OS version do you have, and what is your video card hardware and driver? Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards@multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From isiterradas at hotmail.com Mon Oct 23 18:34:42 2006 From: isiterradas at hotmail.com (Isi Terradas) Date: Thu Oct 30 14:33:50 2008 Subject: [Magic-dev] tkcon.tcl Message-ID: Hi, I'm trying to install Magic software using Cygwin. I've downloaded and installed Cygwin, and then: "" Bring up a Cygwin terminal on the Windows desktop. Type cd / This is where the file magic7_5_39.tgz should be. Type tar xfz magic7_5_39.tgz Run by typing magic. This should be all you need to do! In case the executable is not found, it may be necessary to use the full path to the executable, which is /usr/local/bin/magic. "" But I can't run magic because there is a problem: /usr/local/lib/magic /tcl/tkcon.tcl: line 3 /usr/local/bin/wish: No such file or directory /usr/local/lib/magic /tcl/tkcon.tcl: line 3 exec: /usr/local/bin/wish: cannot execute: No such file or directory What happens? What's my problem? Thanks, Isidor _________________________________________________________________ Busca desde cualquier p?gina Web con una protecci?n excepcional. Consigue la Barra de herramientas de Windows Live hoy mismo y GRATUITAMENTE. http://www.toolbar.live.com-------------- next part -------------- An HTML attachment was scrubbed... URL: http://vlsi.csl.cornell.edu/pipermail/magic-dev/attachments/20061023/27875daf/attachment.html From hojongch at usc.edu Mon Oct 30 19:43:09 2006 From: hojongch at usc.edu (Hojong Choi) Date: Thu Oct 30 14:33:50 2008 Subject: [Magic-dev] Question of Magic Layout Message-ID: Dear Dr. Tim Edward I just simulated the LNA designa and try to make a layout for this. Can I draw the diode(high speed PN diode, Not diode-connected load) and register, capacitance and inductor layout in magic? Sincerely Hojong Choi EE-Physics Ph.D. Student University of Southern California From tim.edwards at multigig.com Wed Nov 1 13:04:18 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Thu Oct 30 14:33:50 2008 Subject: [Magic-dev] Re: "staged" design rules In-Reply-To: <2B7AE358F7B72040879A71F946D99CA702254A7E@aplesjustice.dom1.jhuapl.edu> References: <2B7AE358F7B72040879A71F946D99CA702254A7E@aplesjustice.dom1.jhuapl.edu> Message-ID: <45490BD2.1060107@multigig.com> Dear Mark, > I don't think "staged" is the best term but that's all I > could come up with right now. Basically I have run into the > issue where I have some design rules that look at large distances, > say pad rules, or wide metal rules. Philippe pointed out that > these can really slow down the DRC since it has a lot of rectangles > to check when the grid size is small. > > It might be nice if there was a way to turn on/off select rules. > In my "vision" rules could be tagged in the techfile (perhaps > by putting them in a special sub section) to be checked > or not checked. This flag to check/not check could be set > at the use discretion back and forth as the need to check > these rules arose. > > Not knowing anything about the internals of magic this may > be a nightmare to code, but I though I would toss it out > there anyway. You're in luck---it's already done! About a month or two ago, I added the ability to put "styles" sections into the DRC block of the techfile, and at the same time implemented the "variants" option (the style subsection also takes a "scalefactor" line that lets you define a scaling between DRC units and magic's internal units, so you can put in vendor DRC rules in standard units). I use it for just the reason you cite. ----------------------------------------------------------- drc style xxxx035xxx variants (drc),(stress),(varactor),(all) scalefactor 175 . . . variants (stress),(all) maxwidth *m1,rm1,m1p 35000 bend_ok \ "Metal1 > 35um requires slotting" . . . variants * -------------------------------------------------------------- ---Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards@multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From tim.edwards at multigig.com Thu Nov 2 14:29:24 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Thu Oct 30 14:33:51 2008 Subject: [Magic-dev] Re: "staged" design rules In-Reply-To: <2B7AE358F7B72040879A71F946D99CA702254BD9@aplesjustice.dom1.jhuapl.edu> References: <2B7AE358F7B72040879A71F946D99CA702254BD9@aplesjustice.dom1.jhuapl.edu> Message-ID: <454A7144.7060202@multigig.com> Dear Mark, >> About a month or two ago, I added the ability to put "styles" sections >> into the DRC block of the techfile, and at the same time implemented >> the "variants" option > I assume these are in the 7.5 branch of the code correct? It pretty much *defines* the difference between 7.4 and 7.5. > Is this documented anywhere? I think I get the gist of it all, > but I wanted to be sure. Finally, I assume you switch between > the rules sets with something like > drc style varient_name It's in the online techfile reference manual. And yes, that's the right invocation. Since there were already a lot of style variants in the scmos techfiles like "lambda=1.0um(p)", etc., I decided that it would be helpful to keep a compatible syntax. So if you declare: style lambda=1.0um variants (p),(s),(ps),() Then you can switch rulesets with "cif ostyle lambda=1.0(p)". The same syntax applies to the cifoutput, cifinput, extract, and (now) drc sections. > I am thinking of reworking the ami0.5um techfile and this would > also allow me to put the HV rules in a different variant if they > aren't being used. That's the obvious thing to do. > Finally, I want to understand the scale factor as well. say > I have a deck with lambda = 0.1um. and a design rule spacing of > say .7um. I can then use .7 in my DRC section by setting my > scale factor to 10. > If I wanted the grid to be 0.05um, I then have to set my > scale factor to 20. If lambda is 0.1um and the design rule spacing is 0.7, then the DRC rule distance is just 7 internal units with no scalefactor needed. If you set the drc scalefactor to 10, then the rule distance would be 70 (unscaled) units. And yes, if your cifoutput section defines the internal unit-to-GDS unit scale to be 1 internal unit = 0.05um, then you can just change the DRC scalefactor to 20 and you don't have to touch the rules. > But this feature doesn't allow me to check design rules that are > on an internal grid that may be half of my lambda grid. size > the (DRCVAL)*scalefactor must be an integer It's more flexible than that. The DRC scalefactor defines the multiplication factor between units in the DRC database and Magic's lambda value. Physical units are still relative to the "cifoutput" style scalefactor. The whole point of the scalefactor is to let you define rules with distances that are finer than the lambda grid. Normally you just set the DRC scalefactor so that you can represent any DRC value as an integer, and preferably some obvious units such as nanometers so you don't have to get out a calculator to copy the process design rule manual into the techfile rules. Magic remembers the actual value (e.g., nanometer units value) for the rule, but also computes a distance relative to its internal grid---so if, for example, a spacing rule specifies 0.01um, and the internal grid is 0.1um, then the spacing rule is 1/10 of Magic's internal grid resolution, and the rule gets converted (rounded UP, of course) to 1 internal unit minimum spacing. HOWEVER, the 0.01um value is remembered, and if you then did "scalegrid 1 20", then the DRC rule would be recomputed as 2 internal units minimum. In effect, what you get is "automatic scalable CMOS" where the DRC rules are always correct relative to lambda. I like it because it lets me write all the DRC rules really fast by copying them more or less verbatim from the process manual, but I can still set the default lambda to 2 lambda = minimum poly gate length. The automatic scaling then effectively works out what are the minimum width and scaling for each layer (usually more conservative than what you'd get if you did it by hand), but you can always scale the grid down with "scalegrid" and trade of ease of design for adherence to vendor minimum rules. Example: I did a 0.35um techfile a few months ago. Lambda comes out to the awkward value of 0.175, but I set it to this value anyway. I set the cifoutput scalefactor to "175 nanometers", and I set the DRC scalefactor to 175, so that all DRC rules were in (integer) nanometers. On startup, I had the .magicrc file do "scalegrid 1 7" so that the internal grid would be 25nm (which was the minimum grid resolution allowed by the process), and I used "squares-grid" for all the contact cuts so that the contact cuts would not be placed at positions finer than the 25nm internal grid. Right now, I'm adding a "gridlimit" keyword to the "cifoutput" section so that I can make life even simpler by defining what is the minimum grid, and preventing Magic from ever generating any output geometry finer than the minimum resolution. Hopefully that feature will be done by the end of the day. ---Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards@multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From p_almitra at yahoo.com Mon Nov 6 08:40:03 2006 From: p_almitra at yahoo.com (almitra pradhan) Date: Thu Oct 30 14:33:52 2008 Subject: [Magic-dev] Detailed capacitance extraction using magic Message-ID: <20061106164003.24996.qmail@web51404.mail.yahoo.com> Hello, I am currently trying to develop a detailed interconnect model for a given layout. For this, I would like to consider each contact (say a m2c contact) in my layout as a node and then extract all capacitances and resistances between the nodes using magic (7.1). Since magic extracts area, internodal capacitance, it usually considers my entire net as one node. Is there any way (straight forward or roundabout) in which I can break a net at contacts and force magic to extract the caps and resistances between various segments of a net than the entire net? Also how do we use magic to extract very small capacitances. Any hints will be very helpful. Thanks, Almitra Pradhan. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://vlsi.csl.cornell.edu/pipermail/magic-dev/attachments/20061106/fe899fc7/attachment.html From p_almitra at yahoo.com Tue Nov 7 13:59:21 2006 From: p_almitra at yahoo.com (almitra pradhan) Date: Thu Oct 30 14:33:53 2008 Subject: [Magic-dev] detailed RC extraction for nets Message-ID: <20061107215921.28517.qmail@web51406.mail.yahoo.com> Hello, I deal with detailed modeling of interconnect network. I am interested in both lumped and distributed modeling of interconnect. I use magic 7.1 Lumped: Capacitance - area as well as coupling caps easily extracted by magic Resistance - Is it possible to get resistance of wires/nets in magic. I sometimes have a magic file with only the layout of interconnect (no active devices) and I want to get resistance of the nets. I tried to use extresis all. The output is Total nets 78 Nets Extracted 0 Nets Output 0 Is there a minimum value of reistance that can be extracted? The layouts that I am working on now are very small. Could that be the reason for not extracting resistance? Distributed: I am interested in modeling the interconnect network as a distributed R C model. I want to consider each segment of metal between two contact points as a segment and model each segment by a pi model. Capacitance: Magic does give lumped capacitance easily, however is there any way where I can get capacitance (area and coupling) for segments instead of the entire node. If there is not direct way/command to do this, is there any roundabout way in which I can obtain capacitance values for segments? All suggestions are appreciated. Regards, Almitra Pradhan. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://vlsi.csl.cornell.edu/pipermail/magic-dev/attachments/20061107/adf593eb/attachment.html From tim.edwards at multigig.com Fri Nov 10 09:52:20 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Thu Oct 30 14:33:53 2008 Subject: [Magic-dev] Re: re magic3d In-Reply-To: <82087A46029CB74A9EA3AA6AA31A36736D9B1F@stexchange1.students.ltu.edu.au> References: <82087A46029CB74A9EA3AA6AA31A36736D9B10@stexchange1.students.ltu.edu.au> <452FAD9C.3050009@multigig.com> <82087A46029CB74A9EA3AA6AA31A36736D9B1F@stexchange1.students.ltu.edu.au> Message-ID: <4554BC54.1010408@multigig.com> Dear Jinesh, > As I had mail you regarding 3D magic problem. > You had me to check OS version and my video card hardware and driver? > I am using windows_XP SP2 and my video card hardware and driver are Intel(R) 82815 Graphics Controller (Microsoft Corporation) > Which video card hardware and driver you recommend I need for magic to run under 3d? I am not an expert on OpenGL drivers for Windows and Cygwin. I can say that I have tested on what I believe is either an Nvidia or ATI card on my wife's desktop. To my knowledge, I have never tested an Intel 82815 either under Cygwin or under Linux. I'm copying this message to the magic-dev mailing group; perhaps someone reading the newsgroup has some more information about using the Intel video chipset. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards@multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From tim.edwards at multigig.com Fri Nov 10 10:00:42 2006 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Thu Oct 30 14:33:53 2008 Subject: [Magic-dev] Re: A question on technology files In-Reply-To: References: Message-ID: <4554BE4A.5020000@multigig.com> Dear Vinay, > My name is Vinay Chinta and I'm a student of Rochester Institute of > technology, New York. I'm working on a project which needs a 45nm or > 65nm DRC (rule file) file. Do you know anything about how to get it? I > understand that many industries treat the design rules as proprietery > material. But is there a free layout design rule available on the net > from any of the universities? The foundries keep very close watch on the most advanced technologies such as 65nm and below. I am quite certain that you will not find anything in the public domain. For example, I'm told by a friend of mine who is a professor at U.C. Santa Cruz that another professor in the EE department there posted the TSMC design rules on the class website, and now the entire department is banned from using MOSIS. This is not to say that I *agree* that design rules should not be publicly distributed, because I think that foundries could not possibly lose any business thereby, and stand to gain a lot, not to mention univerities, small companies, and the world in general. But you have to tread carefully where the damn lawyers are involved. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards@multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From svenn at bjerkem.de Sun Nov 12 21:20:07 2006 From: svenn at bjerkem.de (Svenn Are Bjerkem) Date: Thu Oct 30 14:33:53 2008 Subject: [Magic-dev] Re: A question on technology files In-Reply-To: <4554BE4A.5020000@multigig.com> References: <4554BE4A.5020000@multigig.com> Message-ID: <200611122120.07289.svenn@bjerkem.de> On Friday 10 November 2006 19:00, R. Timothy Edwards wrote: > The foundries keep very close watch on the most advanced technologies > such as 65nm and below. ?I am quite certain that you will not find > anything in the public domain. ?For example, I'm told by a friend of > mine who is a professor at U.C. Santa Cruz that another professor in > the EE department there posted the TSMC design rules on the class > website, and now the entire department is banned from using MOSIS. I was told by somebody who has been in the business for some years that the current and the previous "node" are kind of business secret and do differ a bit between the foundries. Older nodes tend to converge towards compatibility. Signing NDA's may be nescessary in many cases. Putting things on web-sites is most likely violating both license agreement and copyright even if it is a university intranet. > > This is not to say that I *agree* that design rules should not be > publicly distributed, because I think that foundries could not > possibly lose any business thereby, and stand to gain a lot, not > to mention univerities, small companies, and the world in general. > But you have to tread carefully where the damn lawyers are involved. I suspect that big players in the EDA software business like to have an advantage on other tool vendors and have some kind of agreement with the foundries about who get what for whatever purpose. I also guess that it is a wish from the foundry side to have a reduced need to support a pletora of tools that deliver gds to them. Just look at Gerber for PCB industry. While a clean standard is missing, several PCB manufacturers deliver their own tools to avoid problems. -- Svenn From p_almitra at yahoo.com Wed Nov 15 08:57:51 2006 From: p_almitra at yahoo.com (almitra pradhan) Date: Thu Oct 30 14:33:55 2008 Subject: [Magic-dev] resistance extraction with extresist seems to mess up the capacitance extraction Message-ID: <20061115165751.88413.qmail@web51414.mail.yahoo.com> Hi, I , Almitra Pradhan, am a student at the University of Cincinnati. I am working on detailed parasitics extraction from layouts. Here is what appears a problem for me: When I extract a magic layout (no resistance extraction) I get capacitance from node to ground and coupling capacitance between nodes. However, when I use extresist for resistace extraction in the manner explained in Tutorial#8 i.e magic layoutname extract quit ext2sim layoutname.ext magic layoutname extresist all (currently I need all, later I can use the tolerance option) quit cat layoutname.ext layoutname.res.ext > layoutname.withres.ext ext2sim layoutname.withres.ext ext2spice layoutname.withres.ext (I finally need a spice file) I obtain the resistance, however in the sim and spice files, I see only the node to ground cap (that too for very few nodes) and no coupling caps at all. Is there anyway to get the same kind of capacitance extraction even when extresist is used? MORE SPECIFICALLY: is it possible to get the capacitance information for nodes that get created when extresist is used. If anyone could make any suggestions, or give me some pointers it would be invaluable for me. Thanks and Regards, Almitra Pradhan. Note: I can provide an example file if it will help. ____________________________________________________________________________________ Sponsored Link Rates near historic lows - $200,000 mortgage for $660/ month - http://yahoo.ratemarketplace.com-------------- next part -------------- An HTML attachment was scrubbed... URL: http://vlsi.csl.cornell.edu/pipermail/magic-dev/attachments/20061115/6e3b50b5/attachment.html From matlockr at ucla.edu Fri Nov 17 10:57:55 2006 From: matlockr at ucla.edu (Ryan Matlock) Date: Thu Oct 30 14:33:55 2008 Subject: [Magic-dev] tcl/tk problem on mac os x.4 Message-ID: <4c150ac60611171057h7bd28c7arf3798bd6aa57240c@mail.gmail.com> Hello, I contacted Dr. Timothy Edwards in regards to what seems to be a tcl/tk problem with xcircuit, and he advised that I send my problem here, as the startup is the same as magic. Anyway, I'm trying to run the xcircuit using the fink build, and it installs without any problems. I've also made sure tcl/tk is current by reinstalling it, and it says i have 8.4.1-12. The problem arises when I attempt to start xcircuit, and I get the following message: Application initialization failed: no display name and no $DISPLAY environment variable Error in startup script: no display name and no $DISPLAY environment variable while executing "load /sw/lib/tk8.4/../libtk8.4.dylib Tk" ("package ifneeded" script) invoked from within "package require -exact Tk $tcl_version" invoked from within "if {$tcl_version < 8.0} { return -code error "tkcon requires at least Tcl/Tk8" } else { package require -exact Tk $tcl_version }" (file "/sw/lib/xcircuit- 3.4/tkcon.tcl" line 44) I've checked the tkcon.tcl file, but I really don't know how to go about modifying it. At one point I simply deleted the offending lines, but that only led to problems on subsequent lines in the file. Anyway, I'm not very familiar with any of this stuff, and I was mainly just hoping I could have a decent GUI editor of electronic schematics. Your help would be greatly appreciated. Sincerely, Ryan Matlock From fang at csl.cornell.edu Sat Nov 18 13:41:50 2006 From: fang at csl.cornell.edu (David Fang) Date: Thu Oct 30 14:33:55 2008 Subject: [Magic-dev] tcl/tk problem on mac os x.4 In-Reply-To: <4c150ac60611171057h7bd28c7arf3798bd6aa57240c@mail.gmail.com> Message-ID: <20061118133745.X9664-100000@maxwell.csl.cornell.edu> > I contacted Dr. Timothy Edwards in regards to what seems to be a > tcl/tk problem with xcircuit, and he advised that I send my problem > here, as the startup is the same as magic. Anyway, I'm trying to run > the xcircuit using the fink build, and it installs without any > problems. I've also made sure tcl/tk is current by reinstalling it, > and it says i have 8.4.1-12. The problem arises when I attempt to > start xcircuit, and I get the following message: > > Application initialization failed: no display name and no $DISPLAY > environment variable > Error in startup script: no display name and no $DISPLAY environment variable > while executing Hi, Try setting your environment variable prior to running: [t]csh: setenv DISPLAY :0 [ba]sh: export DISPLAY=:0 Might sound obvious, but make sure X11 is running already. Sometimes the value "localhost:0" works instead of just ":0", though localhost is assumed otherwise. You can add this line to your startup script ~/.cshrc or ~/.bashrc for convenience. Fang From calchan at gentoo.org Sun Nov 19 12:37:33 2006 From: calchan at gentoo.org (Denis Dupeyron) Date: Thu Oct 30 14:33:56 2008 Subject: [Magic-dev] Re: A question on technology files Message-ID: <7c612fc60611190337ya5b7d8ak133f4cdbc981f14c@mail.gmail.com> Svenn, > I was told by somebody who has been in the business for some years that the > current and the previous "node" are kind of business secret and do differ a > bit between the foundries. [...] Signing NDA's may be nescessary in many cases. That, and the fact that the design kit you get from the foundries is more than just the tech files. There are pads, with their ESD protections, digital and/or analog standard cells, and sometimes more. And this has a lot of IP in it. I agree it's rarely rocket science, but legally speaking it's IP, and it requires an NDA. > I suspect that big players in the EDA software business like to have an > advantage on other tool vendors and have some kind of agreement with the > foundries about who get what for whatever purpose. Right on. Foundries I worked for got indecent prices on EDA software. Sometimes only paying a minimum maintenance fee, the license itself being free. And that was not only for design kit development (which would be understandable), but also for commercial chip development. They also get more support and customization. I remember once calling the-big-EDA-software-vendor-that-everybody-knows, telling them some numerical model in their analog simulator wasn't really suiting my needs, and they had changed it for me and made a release in less than a week. In exchange of what, EDA software vendors get a dramatization of that above secrecy thing, which gives them a competitive advantage. > I also guess that it is a > wish from the foundry side to have a reduced need to support a pletora of > tools that deliver gds to them. AFAIK, not really. The sign-off guys usually perform a DRC and antenna-rule checks at best with their own tools, and that's it. If you want more, LVS for example, you'd have to provide a schematic database in the format of the one and only software they support. The good news is that it's almost always the same, and the bad news is that particular software is far from free in both sense of the word. If it doesn't come out OK, or if they can't read it at all, they tell you where the errors are, and that's up to you to fix them. Saving millions of dollars on free (or almost) EDA software is, I believe, the real reason for supporting only one vendor. Denis. From nadav5 at 012.net.il Mon Dec 25 11:12:45 2006 From: nadav5 at 012.net.il (baruch) Date: Thu Oct 30 14:33:56 2008 Subject: [Magic-dev] magic problem Message-ID: <0JAT00511OL51350@i_mtaout2.012.net.il> Hello I am a student to her electrical engineering and I learn vlsi I try to open a file that guarded in the ending mag and I am not successful to open will be happy if will help me I work by the version of windowes xp thank you very much maman baruch 0549985605 mamanb@gmail.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://vlsi.csl.cornell.edu/pipermail/magic-dev/attachments/20061225/6f9e137d/attachment.html