MAGIC Magic Mailing List
 
 

From: Michael Doster (mtdos AT erols DOT com)
Date: Sat Mar 29 2003 - 10:21:26 EST

  • Next message: John Griessen: "snag compiling latest magic-7.2.32"

    Stefan,
    
    The only difference I see between our compilations appears to be where
    Tcl/Tk is coming from.  Where you're using fink's tcltk package, I did a
    compile of the Tcl/Tk source from sourceforge. One would think that wouldn't
    make a difference but for some reason it is.
    
    -- Mike Doster
    
    > Mike,
    > 
    > thank you for you assistance.
    > Well, first I did a "make clean" then I tried what you told me and it
    > still gives me the "common" errors. Even if the -fno-common flag is
    > defined in CFLAG I added this flag to the CC line in defs.mak
    > 
    > CC                     = gcc -fno-common
    > CPP                    = /usr/bin/cpp -P
    > CPPFLAGS               = -I. -I${MAGICDIR}
    > DFLAGS                 =  -DMAGIC_WRAPPER -DTCL_DIR=\"${TCLDIR}\"
    > -DTHREE_D -DHAVE_LIMITS_H -Dmacosx -DmacII -DCALMA_MODULE -DCIF_MODULE
    > -DPLOT_AUTO -DNONMANHATTAN -DROUTE_AUTO -DUSE_NEW_MACROS
    > -DCAD_DIR=\"${ADDIR}\"
    > CFLAGS                 = -g  -I/sw/include -I/sw/include
    > -I/usr/X11R6/include -I/sw/include -O2 -fno-common
    > 
    > I am using the following version of gcc:
    > 
    > Apple Computer, Inc. GCC version 1151, based on gcc version 3.1
    > 20020420 (prerelease)
    > 
    > Are you using the same version?
    > Also, are you using the tcltk from the fink package manager?
    > Did you run your compilation from the X11 terminal command line or
    > Apple's terminal application? I did it from X11 terminal. (On Apple's
    > terminal the config script does not find some critical file and "make
    > config" does not even finish and generates an error)
    > 
    > Thanks for your help.
    > 
    > Stefan
    > 
    > Le Vendredi, 28 mars 2003, à 20:03 America/Montreal, Michael Doster a
    > écrit :
    > 
    >> 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