[GRASS-user] Problems with CVS compile part 2!

Apologies but I now have a new problem (I am trying to compile the latest CVS on 64bit version of Ubuntu 6.06)

The ./configure throws up erros in

/home/ndm12/grass64cvs/grass61.cvs/lib/ogsf
/home/ndm12/grass64cvs/grass61.cvs/visualization/nviz

When I try the make file in ogsf I get the following:

..relocation R_X86_64_32 against `first_avcodec' can not be used when making a shared object; recompile with -fPIC
/usr/lib/libavcodec.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make: *** [/home/ndm12/grass64cvs/grass61.cvs/dist.x86_64-unknown-linux-gnu/lib/libgrass_ogsf.6.1.cvs.so] Error 1

Grass will run but not NVIZ (not a surprise I guess).

Is this a CVS problem or do I need to do something?

Once again help is appreciated.

For the record I abandoned RHEL (actually I trashed the install and cannot get it to reinstall!) and returned to Ubuntu which generally works out of the box.

Darrel

Prof Darrel Maddy
Chair of Quaternary Science
University of Newcastle
+44 191 2226440
Skype VOIP: ProfMaddy

Darrel Maddy wrote:

Apologies but I now have a new problem (I am trying to compile the latest CVS on 64bit version of Ubuntu 6.06)

The ./configure throws up erros in

/home/ndm12/grass64cvs/grass61.cvs/lib/ogsf
/home/ndm12/grass64cvs/grass61.cvs/visualization/nviz

When I try the make file in ogsf I get the following:

..relocation R_X86_64_32 against `first_avcodec' can not be used when making a shared object; recompile with -fPIC
/usr/lib/libavcodec.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make: *** [/home/ndm12/grass64cvs/grass61.cvs/dist.x86_64-unknown-linux-gnu/lib/libgrass_ogsf.6.1.cvs.so] Error 1

I can think of several possible solutions to this:

1. Use "./configure ... --without-ffmpeg ..."
2. Remove $(FFMPEGLIB) from lib/ogsf/Makefile and add it to
visualization/nviz/src/Makefile instead.
3. Build libavcodec as a shared library.
4. Build libavcodec as a static library but compiled with the -fPIC switch.

--
Glynn Clements <glynn@gclements.plus.com>

Hi Glynn,

Very many thanks, I now have a working copy :slight_smile:

************************************************************************
**
I can think of several possible solutions to this:

1. Use "./configure ... --without-ffmpeg ..."

This did not make any difference. The compile gave the same errors.

2. Remove $(FFMPEGLIB) from lib/ogsf/Makefile and add it to
visualization/nviz/src/Makefile instead.

This appear to have worked a treat! Just aswell as I would have had to
do some reading in order to perform the following:

3. Build libavcodec as a shared library.
4. Build libavcodec as a static library but compiled with the -fPIC
switch.

************************************************************************
****

This is a very helpful list. Will I have to 'make' this change everytime
I update the CVS?

Hopefully most of my future questions will relate to the use of grass
and not its compilation.

Best wishes

Darrel

Prof Darrel Maddy
Chair of Quaternary Science
University of Newcastle, UK
http://www.ncl.ac.uk/geps/staff/profile/darrel.maddy

Darrel Maddy wrote:

Very many thanks, I now have a working copy :slight_smile:

**************************************************************************
I can think of several possible solutions to this:

1. Use "./configure ... --without-ffmpeg ..."

This did not make any difference. The compile gave the same errors.

If you re-run configure, you need to run "make clean" before
re-compiling.

2. Remove $(FFMPEGLIB) from lib/ogsf/Makefile and add it to
visualization/nviz/src/Makefile instead.

This appear to have worked a treat! Just aswell as I would have had to
do some reading in order to perform the following:

3. Build libavcodec as a shared library.
4. Build libavcodec as a static library but compiled with the -fPIC
switch.

****************************************************************************

This is a very helpful list. Will I have to 'make' this change everytime
I update the CVS?

If you don't need the ffmpeg option (which provides the ability to
record fly-throughs directly to AVI files, rather than writing out
individual frames then having to use a separate encoder), the easiest
option is to just not use the --with-ffmpeg option (it's disabled by
default).

If you need the ffmpeg option and don't want to recompile it, you may
occasionally need to re-fix the Makefiles. When you update a file from
CVS, any changes to the repository version are applied to the local
copy as a patch, so any changes to your local copy will normally be
preserved. However, if the changes affect the modified portion of the
files, you will get a conflict, and will have to fix the Makefiles
manually.

--
Glynn Clements <glynn@gclements.plus.com>