[GRASS-dev] lots of link errors in trunk (OSX)

Markus Neteler neteler at osgeo.org
Fri Aug 28 03:43:48 EDT 2009


On Fri, Aug 28, 2009 at 4:49 AM, William
Kyngesburye<woklist at kyngchaos.com> wrote:
> I'm getting a lot of link errors in trunk now.

Same here (Linux). To catch the errors as OSX does, I use for years

MYCFLAGS="-g -Wall -Werror-implicit-function-declaration -fno-common"
MYCXXFLAGS="-g -Wall"
MYLDFLAGS="-Wl,--no-undefined"


LDFLAGS="$MYLDFLAGS" CFLAGS="$MYCFLAGS" CXXFLAGS="$MYCXXFLAGS" ./configure \
...

so:

[neteler at localhost cluster]$ make
gcc -shared -o /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/lib/libgrass_cluster.7.0.svn.so
-L/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/lib
-L/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/lib
-Wl,--no-undefined -Wl,--export-dynamic  -L/usr/lib64
-Wl,-rpath-link,/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/lib
  OBJ.x86_64-unknown-linux-gnu/c_assign.o
OBJ.x86_64-unknown-linux-gnu/c_begin.o
OBJ.x86_64-unknown-linux-gnu/c_clear.o
OBJ.x86_64-unknown-linux-gnu/c_distinct.o
OBJ.x86_64-unknown-linux-gnu/c_exec.o
OBJ.x86_64-unknown-linux-gnu/c_execmem.o
OBJ.x86_64-unknown-linux-gnu/c_means.o
OBJ.x86_64-unknown-linux-gnu/c_merge.o
OBJ.x86_64-unknown-linux-gnu/c_nclasses.o
OBJ.x86_64-unknown-linux-gnu/c_point.o
OBJ.x86_64-unknown-linux-gnu/c_reassign.o
OBJ.x86_64-unknown-linux-gnu/c_reclass.o
OBJ.x86_64-unknown-linux-gnu/c_sep.o
OBJ.x86_64-unknown-linux-gnu/c_sig.o
OBJ.x86_64-unknown-linux-gnu/c_sum2.o  -lgrass_imagery -lgrass_gis -lm
OBJ.x86_64-unknown-linux-gnu/c_point.o: In function `I_cluster_point':
/home/neteler/grass70/lib/cluster/c_point.c:38: undefined reference to
`Rast_is_d_null_value'
OBJ.x86_64-unknown-linux-gnu/c_point.o: In function `I_cluster_point_part':
/home/neteler/grass70/lib/cluster/c_point.c:92: undefined reference to
`Rast_is_d_null_value'
collect2: ld returned 1 exit status
make: *** [/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/lib/libgrass_cluster.7.0.svn.so]
Error 1


[neteler at localhost rowio]$ make
gcc -shared -o /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/lib/libgrass_rowio.7.0.svn.so
-L/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/lib
-L/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/lib
-Wl,--no-undefined -Wl,--export-dynamic  -L/usr/lib64
-Wl,-rpath-link,/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/lib
  OBJ.x86_64-unknown-linux-gnu/fileno.o
OBJ.x86_64-unknown-linux-gnu/forget.o
OBJ.x86_64-unknown-linux-gnu/get.o OBJ.x86_64-unknown-linux-gnu/put.o
OBJ.x86_64-unknown-linux-gnu/release.o
OBJ.x86_64-unknown-linux-gnu/setup.o   -lm
/usr/bin/ld: Dwarf Error: Offset (94) greater than or equal to
.debug_str size (49).
OBJ.x86_64-unknown-linux-gnu/setup.o: In function `Rowio_setup':
/home/neteler/grass70/lib/rowio/setup.c:59: undefined reference to `G__malloc'
/home/neteler/grass70/lib/rowio/setup.c:61: undefined reference to `G_gettext'
...

/home/neteler/grass70/lib/vector/vedit
/home/neteler/grass70/lib/gpde
/home/neteler/grass70/lib/dspf
/home/neteler/grass70/lib/stats

Susequently, a set of modules naturally won't be compiled.

Markus


More information about the grass-dev mailing list