|
Magic Mailing List |
|
From: Michael Doster (mtdos AT erols DOT com) Date: Sat Mar 29 2003 - 10:21:26 EST
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
>>>
>>
>>
>> #################################################################
>> #################################################################
>> #################################################################
>> #####
>> #####
>> #####
>> #################################################################
>> #################################################################
>> #################################################################
>>
>
|
|
|
|