Hi Tim,
at Debian, a certain build issue of magic was found:
Consider building scmos.tech, built like this, according to the log:
[...]
make[4]: Entering directory
`/build/buildd-magic_7.5.220-1-amd64-6X73cI/magic-7.5.220/scmos/cif_template'
../../scripts/mkdirs objs
mkdir objs
rm -f objs/CIFin
gcc -E -x c -DSTANDARD cifin.c | sed -e "/^#/D" -e "s/(gen )/(gen)/" -e
"s/(nowell )/(nowell)/" -e "s/(nwell )/(nwell)/" -e "s/(pwell )/(pwell)/" >
objs/CIFin
rm -f objs/CIFout
gcc -E -x c -DSTANDARD cifout.c | sed -e "/^#/D" -e "s/(gen )/(gen)/" -e
"s/(nowell )/(nowell)/" -e "s/(nwell )/(nwell)/" -e "s/(pwell )/(pwell)/" >
objs/CIFout
rm -f objs/IBMCIFin
gcc -E -x c -DIBM cifin.c | sed -e "/^#/D" -e "s/(gen )/(gen)/" -e "s/(nowell
)/(nowell)/" -e "s/(nwell )/(nwell)/" -e "s/(pwell )/(pwell)/" > objs/IBMCIFin
rm -f objs/IBMCIFout
gcc -E -x c -DIBM cifout.c | sed -e "/^#/D" -e "s/(gen )/(gen)/" -e "s/(nowell
)/(nowell)/" -e "s/(nwell )/(nwell)/" -e "s/(pwell )/(pwell)/" > objs/IBMCIFout
rm -f objs/TMCIFin
gcc -E -x c -DTIGHTMETAL cifin.c | sed -e "/^#/D" -e "s/(gen )/(gen)/" -e
"s/(nowell )/(nowell)/" -e "s/(nwell )/(nwell)/" -e "s/(pwell )/(pwell)/" >
objs/TMCIFin
rm -f objs/TMCIFout
gcc -E -x c -DTIGHTMETAL cifout.c | sed -e "/^#/D" -e "s/(gen )/(gen)/" -e
"s/(nowell )/(nowell)/" -e "s/(nwell )/(nwell)/" -e "s/(pwell )/(pwell)/" >
objs/TMCIFout
rm -f objs/SUBCIFin
gcc -E -x c -DSUBMICRON cifin.c | sed -e "/^#/D" -e "s/(gen )/(gen)/" -e
"s/(nowell )/(nowell)/" -e "s/(nwell )/(nwell)/" -e "s/(pwell )/(pwell)/" >
objs/SUBCIFin
rm -f objs/SUBCIFout
gcc -E -x c -DSUBMICRON cifout.c | sed -e "/^#/D" -e "s/(gen )/(gen)/" -e
"s/(nowell )/(nowell)/" -e "s/(nwell )/(nwell)/" -e "s/(pwell )/(pwell)/" >
objs/SUBCIFout
make[4]: Leaving directory
`/build/buildd-magic_7.5.220-1-amd64-6X73cI/magic-7.5.220/scmos/cif_template'
/usr/bin/m4 minimum.tech.m4 > minimum.tech
/usr/bin/m4 gdsquery.tech.m4 > gdsquery.tech
gcc -E -x c -I./extract_template -DV5 -DSTANDARD scmos.tech.in > scmos.tech
[...]
Now, looking at source and resulting files:
scmos.tech.in:
=================================================================
[...]
/* ---------------------------------------------------------------- */
/* Well */
/* ---------------------------------------------------------------- */
/* 1.1 */
/* Now use "edge" for width DRC... A test only for rule1 */
/* Other rules may follow in the near future... */
#ifdef SUBMICRON
edge4way (~nwell)/w nwell 12 nwell nwell 12\
"N-Well width must be at least 12 (MOSIS rule #1.1)"
edge4way (~pwell)/w pwell 12 pwell pwell 12\
"P-Well width must be at least 12 (MOSIS rule #1.1)"
#else
edge4way (~nwell)/w nwell 10 nwell nwell 10\
"N-Well width must be at least 10 (MOSIS rule #1.1)"
edge4way (~pwell)/w pwell 10 pwell pwell 10\
"P-Well width must be at least 10 (MOSIS rule #1.1)"
#endif
[...]
=================================================================
scmos.tech:
=================================================================
[...]
# 960 "scmos.tech.in"
edge4way (~nwell)/w nwell 10 nwell nwell 10
"N-Well width must be at least 10 (MOSIS rule #1.1)"
edge4way (~pwell)/w pwell 10 pwell pwell 10
"P-Well width must be at least 10 (MOSIS rule #1.1)"
[...]
=================================================================
Looks like the gcc (4.7.2-5 in Debian) preprocessor just discards the "\"
line endings instead of interpreting as line continuations, resulting in
broken resulting files, as reported below.
Is this a known issue?
Please see also http://bugs.debian.org/698760 and please tell how we
can help debugging this.
Thanks in advance,
Roland
On 01/23/2013 11:47 AM, Ильяс Гасанов wrote:
> Package: magic
> Version: 7.5.229-1
> Severity: important
>
> Dear Maintainer,
>
> I have detected an errant behavior at magic loadtime when process
> technology files are being parsed. Particularly, there are error
> messages about DRC rule syntax violations, for example:
>
> /usr/lib/x86_64-linux-gnu/magic/sys/scmos.tech: line 4493:
> section drc:
> Rule type "edge4way" usage: edge4way layers1 layers2
> distance okTypes cornerTypes cornerDistance why [plane]
> /usr/lib/x86_64-linux-gnu/magic/sys/scmos.tech: line 4494:
> section drc:
> Bad DRC rule type "N-Well width must be at least 10
> (MOSIS rule #1.1)"
> Valid rule types are:
> angles, edge, edge4way, exact_overlap, extend, no_overlap,
> overhang, rect_only, spacing, stepsize, surround, width,
> widespacing, area, maxwidth, cifstyle, cifwidth, cifspacing,
> cifarea, cifmaxwidth, rectangle.
>
> After that I have observed these files in /usr/lib/<arch>/magic/sys/ and
> diagnosed that they have redundant line breaks at logged positions.
> During the design process many design rule checks are not performed due
> to this.
>
> This issue has been detected in both Debian testing and experimental
> package trees. Furthermore, the files listed at magic official site do
> not have such syntax violations and work just ok:
>
> http://opencircuitdesign.com/magic/tech.html
>
> In the attachment there is a log extracted from wish stderr stream at
> magic startup.
>
>
>
> -- System Information:
> Debian Release: 7.0
> APT prefers testing
> APT policy: (500, 'testing'), (1, 'experimental')
> Architecture: amd64 (x86_64)
> Foreign Architectures: i386
>
> Kernel: Linux 3.2.0-4-amd64 (SMP w/2 CPU cores)
> Locale: LANG=ru_RU.utf8, LC_CTYPE=ru_RU.utf8 (charmap=UTF-8)
> Shell: /bin/sh linked to /bin/dash
>
> Versions of packages magic depends on:
> ii libc6 2.13-37
> ii libx11-6 2:1.5.0-1
> ii tcl8.5 8.5.11-2
> ii tk8.5 8.5.11-2
>
> magic recommends no packages.
>
> Versions of packages magic suggests:
> ii irsim 9.7.78-1
>
> -- no debconf information
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]