MAGIC Magic Mailing List
 
 

From: Michael Doster (mtdos AT erols DOT com)
Date: Fri Mar 28 2003 - 20:03:32 EST

  • Next message: Stefan Jones: "Re: tclspice & magic"

    Stefan,
    
    Check to make sure that -fno-common is in your gcc compilation line also,
    because that's what the "common" errors usually mean.  I was able to
    successfully compile Magic-7.2.32 for Mac OS X w/ the Tcl interface without
    incident so I know it really does work.
    
    -- Mike Doster
    
    > Hi everyone,
    > 
    > I am trying to compile magic 7.2.32 on MacOS X 10.2.4 and compile fails
    > at the end.
    > 
    > Prior to making the files I installed Apple's latest X11 beta3 and by
    > using fink, I installed tcl/tk version 8.4.
    > 
    > First, I tried the recommended configuration using OpenGL + X11 and I
    > got those error messages when compiling libgraphics.o
    > 
    > --- linking libgraphics.o
    > rm -f libgraphics.o
    > ld -r grMain.o grLock.o grDStyle.o grText.o grCMap.o grClip.o
    > grGlyphs.o grNull.o W3Dmain.o grTk1.o grTk2.o grTk3.o gr
    > Tk4.o grTk5.o grTOGL1.o grTOGL2.o grTOGL3.o grTOGL4.o grTOGL5.o
    > grTkCommon.o -o libgraphics.o
    > ld: multiple definitions of symbol _grXdpy
    > grTk1.o definition of _grXdpy in section (__DATA,__common)
    > grTOGL1.o definition of _grXdpy in section (__DATA,__common)
    > ld: multiple definitions of symbol _grXscrn
    > grTk1.o definition of _grXscrn in section (__DATA,__common)
    > grTOGL1.o definition of _grXscrn in section (__DATA,__common)
    > ld: multiple definitions of symbol _grPixels
    > grTk1.o definition of _grPixels in section (__DATA,__common)
    > grTOGL2.o definition of _grPixels in section (__DATA,__common)
    > ld: multiple definitions of symbol _grPlanes
    > grTk1.o definition of _grPlanes in section (__DATA,__common)
    > grTOGL2.o definition of _grPlanes in section (__DATA,__common)
    > ld: multiple definitions of symbol _grCursors
    > grTk5.o definition of _grCursors in section (__DATA,__common)
    > grTOGL5.o definition of _grCursors in section (__DATA,__common)
    > make[2]: *** [libgraphics.o] Error 1
    > 
    > This error seemed to prevent compilation of the tcl shared libs. One of
    > the first error of compilation was:
    > 
    > make[2]: *** No rule to make target `../graphics/libgraphics.o', needed
    > by `tclmagic.dylib'.  Stop.
    > 
    > Ok, I suspected that choosing the X11+OpenGL fopr magic is not yet
    > working for MacOS X. Am I right?
    > 
    > Now I chose only X11 and libgraphics.o got compiled no problem (same
    > thing with OpenGL). However, the tcl shared libs did not. I suspect I
    > did not choose the right file for tcl/tk shared libs. In make config, I
    > answered the following questions like this:
    > 
    > Tcl shared object library directory: /sw/lib
    > Tcl shared object: libtcl8.4.dylib
    > Tk shared object library directory: /sw/lib
    > Tk shared object:  libtk8.4.dylib
    > 
    > The error messages I got from the make.log contained the following:
    > 
    > /usr/bin/libtool: can't locate file for: -llibtcl.dylib
    > /usr/bin/libtool: file: -llibtcl.dylib is not an object file (not
    > allowed in a library)
    > /usr/bin/libtool: can't locate file for: -llibtk.dylib
    > /usr/bin/libtool: file: -llibtk.dylib is not an object file (not
    > allowed in a library)
    > 
    > So now I suspect the libtcl.dylib and libtk.dylib are not the shared
    > object files. I looked for a libtcl.so and libtk.so files (or something
    > similar) and found none on my system. In the fink installer (for those
    > who know about it) it shows I have installed the tcltk, tcktk-dev and
    > tcktk-shlibs.
    > 
    > From all of this, I would like to know if someone knows where my
    > problem is?
    > 
    > I included the last portion of the make.log file where you can see the
    > error messages for the Tcl/Tk shared libraries at the end of this email.
    > 
    > Best regards,
    > 
    > Stefan Robert
    > University of Sherbrooke
    > 
    > 
    > --- making Tcl shared libraries
    > for dir in magic ext2sim ext2spice plot router; do \
    >        (cd $dir && make tcl-main); done
    > cc -g  -I/sw/include -I/sw/include -I/usr/X11R6/include -I/sw/include
    > -O2 -fno-common -I. -I.. -DMAGIC_WRAPPER
    > -DTCL_DIR=\"/Users/stefan/cad/lib/magic/tcl
    > \" -DHAVE_LIMITS_H -Dmacosx -DmacII -DCALMA_MODULE -DCIF_MODULE
    > -DPLOT_AUTO -DNONMANHATTAN -DROUTE_AUTO -DUSE_NEW_MACROS
    > -DCAD_DIR=\"/Users/stefan/cad\" -
    > DMAGIC_VERSION="\"7.2\"" -DMAGIC_DATE="\"`date`\"" tclmagic.c -c -o
    > tclmagic.o
    > tclmagic.c: In function `TagCallback':
    > tclmagic.c:155: warning: assignment discards qualifiers from pointer
    > target type
    > tclmagic.c: In function `_tcl_dispatch':
    > tclmagic.c:351: warning: passing arg 3 of `Tcl_GetIndexFromObj' from
    > incompatible pointer type
    > tclmagic.c: In function `MakeWindowCommand':
    > tclmagic.c:439: warning: passing arg 3 of `Tcl_CreateCommand' from
    > incompatible pointer type
    > tclmagic.c: In function `TxParseString':
    > tclmagic.c:605: warning: assignment discards qualifiers from pointer
    > target type
    > tclmagic.c: In function `Tclmagic_Init':
    > tclmagic.c:839: warning: passing arg 3 of `Tcl_CreateCommand' from
    > incompatible pointer type
    > tclmagic.c:845: warning: passing arg 3 of `Tcl_CreateCommand' from
    > incompatible pointer type
    > tclmagic.c:850: warning: passing arg 3 of `Tcl_CreateCommand' from
    > incompatible pointer type
    > tclmagic.c:861: warning: passing arg 3 of `Tcl_CreateCommand' from
    > incompatible pointer type
    > --- making magic Tcl library (tclmagic.dylib)
    > rm -f tclmagic.dylib
    > cc -g  -I/sw/include -I/sw/include -I/usr/X11R6/include -I/sw/include
    > -O2 -fno-common -I. -I.. -o tclmagic.dylib -dynamiclib -flat_namespace
    > -undefined su
    > ppress -bind_at_load tclmagic.o ../cmwind/libcmwind.o
    > ../commands/libcommands.o  ../database/libdatabase.o
    > ../dbwind/libdbwind.o ../drc/libdrc.o ../debug/
    > libdebug.o ../extract/libextract.o ../graphics/libgraphics.o
    > ../macros/libmacros.o ../main/libmain.o ../misc/libmisc.o
    > ../parser/libparser.o ../select/lib
    > select.o ../signals/libsignals.o ../tech/libtech.o
    > ../textio/libtextio.o ../tiles/libtiles.o ../undo/libundo.o
    > ../windows/libwindows.o ../wiring/libwiring
    > .o ../resis/libresis.o ../sim/libsim.o ../netlist/libnetlist.o
    > ../netmenu/libnetmenu.o ../plow/libplow.o ../utils/libutils.o
    > ../calma/libcalma.o ../cif/li
    > bcif.o -lc -L/usr/X11R6/lib  -lX11  -lm -L/sw/lib -L/sw/lib
    > -llibtcl.dylib -llibtk.dylib
    > /usr/bin/libtool: can't locate file for: -llibtcl.dylib
    > /usr/bin/libtool: file: -llibtcl.dylib is not an object file (not
    > allowed in a library)
    > /usr/bin/libtool: can't locate file for: -llibtk.dylib
    > /usr/bin/libtool: file: -llibtk.dylib is not an object file (not
    > allowed in a library)
    > make[2]: *** [tclmagic.dylib] Error 1
    > cc -g  -I/sw/include -I/sw/include -I/usr/X11R6/include -I/sw/include
    > -O2 -fno-common -I. -I.. -DMAGIC_WRAPPER
    > -DTCL_DIR=\"/Users/stefan/cad/lib/magic/tcl
    > \" -DHAVE_LIMITS_H -Dmacosx -DmacII -DCALMA_MODULE -DCIF_MODULE
    > -DPLOT_AUTO -DNONMANHATTAN -DROUTE_AUTO -DUSE_NEW_MACROS
    > -DCAD_DIR=\"/Users/stefan/cad\" e
    > xt2sim.c -c -o simwrap.o
    > /usr/include/gcc/darwin/3.1/stdarg.h:59: warning: redefinition of macro
    > va_start
    > /usr/include/gcc/darwin/3.1/varargs.h:71: warning: this is the location
    > of the previous definition
    > ext2sim.c: In function `CmdExtToSim':
    > ext2sim.c:363: warning: assignment discards qualifiers from pointer
    > target type
    > --- making exttosim Tcl library (exttosim.dylib)
    > rm -f exttosim.dylib
    > cc -g  -I/sw/include -I/sw/include -I/usr/X11R6/include -I/sw/include
    > -O2 -fno-common -I. -I.. -o exttosim.dylib -dynamiclib -flat_namespace
    > -undefined su
    > ppress -bind_at_load simwrap.o \
    >        ../extflat/libextflat.o ../magic/tclmagic.dylib -lc -lm
    > -L/sw/lib -L/sw/lib -llibtcl.dylib -llibtk.dylib
    > cc: ../magic/tclmagic.dylib: No such file or directory
    > make[2]: *** [exttosim.dylib] Error 1
    > cc -g  -I/sw/include -I/sw/include -I/usr/X11R6/include -I/sw/include
    > -O2 -fno-common -I. -I.. -DMAGIC_WRAPPER
    > -DTCL_DIR=\"/Users/stefan/cad/lib/magic/tcl
    > \" -DHAVE_LIMITS_H -Dmacosx -DmacII -DCALMA_MODULE -DCIF_MODULE
    > -DPLOT_AUTO -DNONMANHATTAN -DROUTE_AUTO -DUSE_NEW_MACROS
    > -DCAD_DIR=\"/Users/stefan/cad\" e
    > xt2spice.c -c -o spicewrap.o
    > /usr/include/gcc/darwin/3.1/stdarg.h:59: warning: redefinition of macro
    > va_start
    > /usr/include/gcc/darwin/3.1/varargs.h:71: warning: this is the location
    > of the previous definition
    > ext2spice.c: In function `CmdExtToSpice':
    > ext2spice.c:460: warning: assignment discards qualifiers from pointer
    > target type
    > --- making exttospice Tcl library (exttospice.dylib)
    > rm -f exttospice.dylib
    > cc -g  -I/sw/include -I/sw/include -I/usr/X11R6/include -I/sw/include
    > -O2 -fno-common -I. -I.. -o exttospice.dylib -dynamiclib
    > -flat_namespace -undefined
    > suppress -bind_at_load spicewrap.o \
    >        ../extflat/libextflat.o ../magic/tclmagic.dylib -lc -lm
    > -L/sw/lib -L/sw/lib -llibtcl.dylib -llibtk.dylib
    > cc: ../magic/tclmagic.dylib: No such file or directory
    > make[2]: *** [exttospice.dylib] Error 1
    > cc -g  -I/sw/include -I/sw/include -I/usr/X11R6/include -I/sw/include
    > -O2 -fno-common -I. -I.. -DMAGIC_WRAPPER
    > -DTCL_DIR=\"/Users/stefan/cad/lib/magic/tcl
    > \" -DHAVE_LIMITS_H -Dmacosx -DmacII -DCALMA_MODULE -DCIF_MODULE
    > -DPLOT_AUTO -DNONMANHATTAN -DROUTE_AUTO -DUSE_NEW_MACROS
    > -DCAD_DIR=\"/Users/stefan/cad\" t
    > clplot.c -c -o tclplot.o
    > --- making Tcl auto-load module (tclplot.dylib)
    > rm -f tclplot.dylib
    > cc -g  -I/sw/include -I/sw/include -I/usr/X11R6/include -I/sw/include
    > -O2 -fno-common -I. -I.. -o tclplot.dylib -dynamiclib -flat_namespace
    > -undefined sup
    > press -bind_at_load tclplot.o plotCmd.o plotGremln.o plotPS.o
    > plotMain.o plotRutils.o plotVers.o plotPixels.o plotPNM.o  \
    >          -lc -L/sw/lib -L/sw/lib -llibtcl.dylib -llibtk.dylib
    > /usr/bin/libtool: can't locate file for: -llibtcl.dylib
    > /usr/bin/libtool: file: -llibtcl.dylib is not an object file (not
    > allowed in a library)
    > /usr/bin/libtool: can't locate file for: -llibtk.dylib
    > /usr/bin/libtool: file: -llibtk.dylib is not an object file (not
    > allowed in a library)
    > make[2]: *** [tclplot.dylib] Error 1
    > cc -g  -I/sw/include -I/sw/include -I/usr/X11R6/include -I/sw/include
    > -O2 -fno-common -I. -I.. -DMAGIC_WRAPPER
    > -DTCL_DIR=\"/Users/stefan/cad/lib/magic/tcl
    > \" -DHAVE_LIMITS_H -Dmacosx -DmacII -DCALMA_MODULE -DCIF_MODULE
    > -DPLOT_AUTO -DNONMANHATTAN -DROUTE_AUTO -DUSE_NEW_MACROS
    > -DCAD_DIR=\"/Users/stefan/cad\" t
    > clroute.c -c -o tclroute.o
    > --- making Tcl auto-load module (tclroute.dylib)
    > rm -f tclroute.dylib
    > cc -g  -I/sw/include -I/sw/include -I/usr/X11R6/include -I/sw/include
    > -O2 -fno-common -I. -I.. -o tclroute.dylib -dynamiclib -flat_namespace
    > -undefined su
    > ppress -bind_at_load tclroute.o rtrCmd.o rtrMain.o rtrDcmpose.o
    > ftrFdback.o rtrHazards.o rtrChannel.o rtrPaint.o rtrPin.o rtrSide.o
    > rtrStem.o rtrTech.o rt
    > rVia.o rtrTravers.o  \
    >         ../garouter/libgarouter.o ../mzrouter/libmzrouter.o
    > ../irouter/libirouter.o ../grouter/libgrouter.o ../gcr/libgcr.o -lc
    > -L/sw/lib -L/sw/lib -llib
    > tcl.dylib -llibtk.dylib
    > /usr/bin/libtool: can't locate file for: -llibtcl.dylib
    > /usr/bin/libtool: file: -llibtcl.dylib is not an object file (not
    > allowed in a library)
    > /usr/bin/libtool: can't locate file for: -llibtk.dylib
    > /usr/bin/libtool: file: -llibtk.dylib is not an object file (not
    > allowed in a library)
    > make[2]: *** [tclroute.dylib] Error 1
    > make[1]: *** [tcllibrary] Error 2
    > 
    > 
    > ***** Other warnings I got in make.log file ******
    > EFname.c: In function `EFHNIsGlob':
    > EFname.c:85: warning: assignment discards qualifiers from pointer
    > target type
    > EFname.c: In function `EFHNIsGND':
    > EFname.c:121: warning: assignment discards qualifiers from pointer
    > target type
    > 
    > /usr/include/gcc/darwin/3.1/stdarg.h:59: warning: redefinition of macro
    > va_start
    > /usr/include/gcc/darwin/3.1/varargs.h:71: warning: this is the location
    > of the previous definition
    > 
    > ExtBasic.c: In function `extOutputTrans':
    > ExtBasic.c:760: warning: initialization discards qualifiers from
    > pointer target type
    > 
    > grTkCommon.c: In function `ImgLayerConfigureMaster':
    > grTkCommon.c:362: warning: passing arg 5 of `Tk_ConfigureWidget' from
    > incompatible pointer type
    > grTkCommon.c: In function `ImgLayerCmd':
    > grTkCommon.c:672: warning: passing arg 3 of `Tcl_GetIndexFromObj' from
    > incompatible pointer type
    > grTkCommon.c: In function `RegisterTkCommands':
    > grTkCommon.c:952: warning: passing arg 3 of `Tcl_CreateCommand' from
    > incompatible pointer type
    > 
    > path.c: In function `PaExpand':
    > path.c:216: warning: assignment discards qualifiers from pointer target
    > type
    > 
    > /usr/include/gcc/darwin/3.1/stdarg.h:59: warning: redefinition of macro
    > va_start
    > /usr/include/gcc/darwin/3.1/varargs.h:71: warning: this is the location
    > of the previous definition
    > ext2sim.c: In function `CmdExtToSim':
    > ext2sim.c:363: warning: assignment discards qualifiers from pointer
    > target type
    > 
    > /usr/include/gcc/darwin/3.1/stdarg.h:59: warning: redefinition of macro
    > va_start
    > /usr/include/gcc/darwin/3.1/varargs.h:71: warning: this is the location
    > of the previous definition
    > ext2spice.c: In function `CmdExtToSpice':
    > ext2spice.c:460: warning: assignment discards qualifiers from pointer
    > target type
    > 
    


  •  
     
    Questions? Contact Rajit Manohar
    cornell logo