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 debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to