No subject
Wed Nov 14 13:37:45 EST 2007
extern "C" {
include "tk.h"
include "interface.h"
}
(and possibly other include files that reference functions in 'C'
compiled libraries) to all the.c source files you are compiling with
C++.
I hope this helps and feel free to ask about details that I haven't
made very clear in this brief synopsis of how I build applications
using a C++ compiler.
Kind Regards,
Scott O'Donnell
BTW,
Thanks for your quick service. I recently ordered Marcus' & Helena's
book from OpenOSX.com and received it sooner than expected.
---
grass5-request at grass.itc.it wrote:
>
> Message: 10
> Date: Tue, 8 Oct 2002 20:26:14 -0700
> From: Jeshua Lacock <jeshua at OpenOSX.com>
> To: grass5 list <grass5 at grass.itc.it>
> Subject: [GRASS5] Grass 5.0.0 Mac OS 10.2 Report
>
> Greetings,
>
> Here is my full report of my attempt to get the failed modules compiled
> on Mac OS X 10.2.1 (Jaguar, Darwin 6.0) using gcc 3.1.
>
> With booth d.zoom and i.pca I renamed the "round" function to "round2"
> because it conflicted with the "round" function included with of the
> Mac OS X math library. Both modules test out OK.
>
> The module g.region fails with E_edit_cellhd as an undefined symbol.
>
> The v.reclass, r.weight and r.reclass modules all fail with
> _E_edit_cats as an undefined symbol.
>
> While building "src/raster/r.support", in addition to missing
> _E_edit_cats, I get another undefined symbol:
>
> /usr/bin/ld: Undefined symbols:
> _E_edit_cats
> _E_edit_fp_cats
>
> E_edit_cellhd, E_edit_cats and E_edit_fp_cats are all defined in
> src/include/edit.h. Suspicious?
>
> While attempting to build r.in.gdal I get some strange undefined
> symbols:
>
> /usr/bin/ld: Undefined symbols:
> _GBGetSymbol
> ___gxx_personality_v0
> __Unwind_Resume
> __ZdlPv
> __Znwm
> __ZTVN10__cxxabiv117__class_type_infoE
> __ZTVN10__cxxabiv120__si_class_type_infoE
> ___cxa_pure_virtual
> __ZdaPv
> __Znam
>
> A google search indicated that this could be a symptom of using cc
> instead of c++, so I used g++ instead of gcc and just get:
>
> ld: Undefined symbols:
> _GBGetSymbol
>
> The last failed module is NVIZ2.2:
>
> In file included from nvizAppInit.c:9:
> interface.h:257: conflicting types for `Tk_SetAppName'
> /usr/local/include/tkDecls.h:573: previous declaration of
> `Tk_SetAppName'
> make[1]: *** [OBJ.powerpc-apple-darwin6.0/nvizAppInit.o] Error 1
> make: *** [nvwish] Error 2
>
> So I commented out "char *Tk_SetAppName(Tk_Window, char *);" from
> interface.h and I got:
>
> togl.c:161: header file 'tkInt8.4.h' not found
>
> So I tried copying tkInt.h to tkInt8.4.h
>
> It then built with some warnings:
> init_commands.c: In function `init_commands':
> init_commands.c:131: warning: passing arg 3 of `Tcl_CreateCommand' from
> incompatible pointer type
> init_commands.c: ....
> ....for all lines that use "Tcl_CreateCommand"
>
> nviz_init.c: In function `Ngetargs':
> nviz_init.c:303: warning: assignment discards qualifiers from pointer
> target type
> nviz_init.c:304: warning: assignment discards qualifiers from pointer
> target type
> [...snip...]
> togl.c: In function `Togl_Init':
> togl.c:729: warning: passing arg 3 of `Tcl_CreateCommand' from
> incompatible pointer type
> togl.c: In function `Togl_Cmd':
> togl.c:1179: warning: passing arg 3 of `Tcl_CreateCommand' from
> incompatible pointer type
> [...snip...]
> /usr/bin/ld: warning multiple definitions of symbol _tclPlatStubsPtr
> /usr/lib/libtcl.dylib(tclStubLib.o) definition of _tclPlatStubsPtr
> /usr/local/lib/libtk8.4.dylib(tclStubLib.o) definition of
> _tclPlatStubsPtr
> /usr/bin/ld: warning multiple definitions of symbol _tclIntStubsPtr
> /usr/lib/libtcl.dylib(tclStubLib.o) definition of _tclIntStubsPtr
> /usr/local/lib/libtk8.4.dylib(tclStubLib.o) definition of
> _tclIntStubsPtr
> /usr/bin/ld: warning multiple definitions of symbol _Tcl_InitStubs
> /usr/lib/libtcl.dylib(tclStubLib.o) definition of _Tcl_InitStubs
> /usr/local/lib/libtk8.4.dylib(tclStubLib.o) definition of _Tcl_InitStubs
> /usr/bin/ld: warning multiple definitions of symbol _tclIntPlatStubsPtr
> /usr/lib/libtcl.dylib(tclStubLib.o) definition of _tclIntPlatStubsPtr
> /usr/local/lib/libtk8.4.dylib(tclStubLib.o) definition of
> _tclIntPlatStubsPtr
> /usr/bin/ld: warning multiple definitions of symbol _tclStubsPtr
> /usr/lib/libtcl.dylib(tclStubLib.o) definition of _tclStubsPtr
> /usr/local/lib/libtk8.4.dylib(tclStubLib.o) definition of _tclStubsPtr
> /usr/bin/ld: warning suggest use of -bind_at_load, as lazy binding may
> result in errors or different symbols being used
> symbol _tclIntPlatStubsPtr used from dynamic library
> /usr/lib/libtcl.dylib(tclStubLib.o) not from earlier dynamic library
> /usr/local/lib/libtk8.4.dylib(tclStubLib.o)
> symbol _Tcl_InitStubs used from dynamic library
> /usr/lib/libtcl.dylib(tclStubLib.o) not from earlier dynamic library
> /usr/local/lib/libtk8.4.dylib(tclStubLib.o)
> symbol _tclStubsPtr used from dynamic library
> /usr/lib/libtcl.dylib(tclStubLib.o) not from earlier dynamic library
> /usr/local/lib/libtk8.4.dylib(tclStubLib.o)
> symbol _tclPlatStubsPtr used from dynamic library
> /usr/lib/libtcl.dylib(tclStubLib.o) not from earlier dynamic library
> /usr/local/lib/libtk8.4.dylib(tclStubLib.o)
>
> When I attempt to run NVIZ I get:
>
> GRASS 5.0.0 > nviz
> child killed: SIGABRT
> while executing
> "exec /usr/local/grass5/etc/nviz2.2/NVWISH2.2 -f
> /usr/local/grass5/etc/nviz2.2/scripts/nviz2.2_script -name NVIZ
> >&@stdout"
> ("eval" body line 1)
> invoked from within
> "eval exec $env(GISBASE)/etc/nviz2.2/NVWISH2.2 -f
> $env(GISBASE)/etc/nviz2.2/scripts/nviz2.2_script -name NVIZ >&@stdout"
> invoked from within
> "if {$argv == ""} {
> #no arguments
> eval exec $env(GISBASE)/etc/nviz2.2/NVWISH2.2 -f
> $env(GISBASE)/etc/nviz2.2/scripts/nviz2.2_script -name NVIZ >&@stdo..."
> (file "/usr/local/grass5/bin/nviz" line 16)
>
> So I tried:
>
> GRASS 5.0.0 > eval exec /usr/local/grass5/etc/nviz2.2/NVWISH2.2 -f
> /usr/local/grass5/etc/nviz2.2/scripts/nviz2.2_script
> /usr/local/grass5/etc/Init.sh: line 517: 20182 Abort trap
> $ETC/run $SHELL
>
> Cleaning up temporary files.....
> done
>
> Goodbye from GRASS GIS
>
> [themac:~] jeshua%
>
> And it quits me right out of Grass!
>
> Everything else seems to work great - excellent work!
>
> Any help would be greatly appreciated! I am willing to hire someone to
> log-on and take a look...
>
> Thanks,
>
> Jeshua Lacock __________________________
> Programmer/Owner Phone: 760.935.4736
> http://OpenOSX.com Fax: 760.935.4845
> -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
>
> _______________________________________________
> grass5 mailing list
> grass5 at grass.itc.it
> http://grass.itc.it/mailman/listinfo/grass5
>
> End of grass5 Digest
--
Reality is that which, when you stop believing | Scott O'Donnell
in it, doesn't go away. -- Philip K. Dick | odonnell at peakpeak.com
| odonnell at fsl.noaa.gov
| 303·497·6562
More information about the grass-dev
mailing list