[GRASS5] GRASS5.7: compile error: " No rule to make target `OBJ.i686-pc-linux-gnu/get_proj.o"

Hello,

Trying to compile 5.7 from todays CVS I get the following error:

make[2]: Entering directory `/data/GRASSCVS/grass51/lib/proj'
make[2]: *** No rule to make target `OBJ.i686-pc-linux-gnu/get_proj.o',
needed b
y `/data/GRASSCVS/grass51/dist.i686-pc-linux-gnu/lib/libgrass_gproj.so'.
Stop.
make[2]: Leaving directory `/data/GRASSCVS/grass51/lib/proj'
make[1]: *** [subdirs] Error 1

I use Debian testing with proj (debian) version 4.4.7-3.

Is this a problem in the Makefile, or somewhere else ?

Moritz

Replying to myself as a follow-up:

Moritz Lennert said:

Hello,

Trying to compile 5.7 from todays CVS I get the following error:

make[2]: Entering directory `/data/GRASSCVS/grass51/lib/proj'
make[2]: *** No rule to make target `OBJ.i686-pc-linux-gnu/get_proj.o',
needed b
y `/data/GRASSCVS/grass51/dist.i686-pc-linux-gnu/lib/libgrass_gproj.so'.
Stop.
make[2]: Leaving directory `/data/GRASSCVS/grass51/lib/proj'
make[1]: *** [subdirs] Error 1

I got it to compile by linking to get_proj.c and do_proj.c in the GRASS5.3
directory /src/libes/proj.

Is this the correct solution and make mix should create these links or am
I on the wrong path ?

Moritz

Hello Moritz

On Mon, 17 Nov 2003, Moritz Lennert wrote:

> make[2]: *** No rule to make target `OBJ.i686-pc-linux-gnu/get_proj.o',
> needed b
> y `/data/GRASSCVS/grass51/dist.i686-pc-linux-gnu/lib/libgrass_gproj.so'.
> Stop.
> make[2]: Leaving directory `/data/GRASSCVS/grass51/lib/proj'
> make[1]: *** [subdirs] Error 1
>

I got it to compile by linking to get_proj.c and do_proj.c in the GRASS5.3
directory /src/libes/proj.

Is this the correct solution and make mix should create these links or am
I on the wrong path ?

Those files now exist in the 5.7 CVS and are slightly different from the
5.3 versions. If you make sure any old 'make mix' links are deleted and
run cvs update they should appear; if not I don't know what's wrong.

Paul

Paul Kelly said:

Hello Moritz

On Mon, 17 Nov 2003, Moritz Lennert wrote:

> make[2]: *** No rule to make target
`OBJ.i686-pc-linux-gnu/get_proj.o',
> needed b
> y
`/data/GRASSCVS/grass51/dist.i686-pc-linux-gnu/lib/libgrass_gproj.so'.
> Stop.
> make[2]: Leaving directory `/data/GRASSCVS/grass51/lib/proj'
> make[1]: *** [subdirs] Error 1
>

I got it to compile by linking to get_proj.c and do_proj.c in the
GRASS5.3
directory /src/libes/proj.

Is this the correct solution and make mix should create these links or
am
I on the wrong path ?

Those files now exist in the 5.7 CVS and are slightly different from the
5.3 versions. If you make sure any old 'make mix' links are deleted and
run cvs update they should appear; if not I don't know what's wrong.

I just redid a cvs update in the 5.7 tree, followed by make distclean,
./configure (+options), make mixclean, and make mix. I get exactly the
same compilation error. Here is what I have in the ./lib/proj directory:

alaska.lla datum.c Makefile ntv1_can.dat stlrnc.lla WO.lla
conus.lla ellipse.c MD.lla nzgd2kgrid0005.gsb stpaul.lla
convert.c FL.lla nad2bin prvi.lla TN.lla
CVS hawaii.lla nad2bin.c stgeorge.lla WI.lla

No get_proj.c nor do_proj.c...

Moritz

On Monday 17 November 2003 16:50, Moritz Lennert wrote:

I just redid a cvs update in the 5.7 tree, followed by make distclean,
./configure (+options), make mixclean, and make mix. I get exactly the
same compilation error. Here is what I have in the ./lib/proj directory:

alaska.lla datum.c Makefile ntv1_can.dat stlrnc.lla WO.lla
conus.lla ellipse.c MD.lla nzgd2kgrid0005.gsb stpaul.lla
convert.c FL.lla nad2bin prvi.lla TN.lla
CVS hawaii.lla nad2bin.c stgeorge.lla WI.lla

No get_proj.c nor do_proj.c...

I think, that you shoud start by make distclean, make mixclean
followed by cvs update, otherwise symlinks are in way.

Radim

Radim Blazek said:

On Monday 17 November 2003 16:50, Moritz Lennert wrote:

I just redid a cvs update in the 5.7 tree, followed by make distclean,
./configure (+options), make mixclean, and make mix. I get exactly the
same compilation error. Here is what I have in the ./lib/proj directory:

alaska.lla datum.c Makefile ntv1_can.dat stlrnc.lla
WO.lla
conus.lla ellipse.c MD.lla nzgd2kgrid0005.gsb stpaul.lla
convert.c FL.lla nad2bin prvi.lla TN.lla
CVS hawaii.lla nad2bin.c stgeorge.lla WI.lla

No get_proj.c nor do_proj.c...

I think, that you shoud start by make distclean, make mixclean
followed by cvs update, otherwise symlinks are in way.

That seems to have been it, except that I had to do the make mixclean
before the make distclean, because the latter erases the Makefile defining
the former.

Thanks Radim and Paul !

Moritz