[GRASS-dev] [GRASS GIS] #1353: ./configure with ffmpeg x86_64 - problem, with workaround

#1353: ./configure with ffmpeg x86_64 - problem, with workaround
---------------------+------------------------------------------------------
Reporter: geep999 | Owner: grass-dev@…
     Type: defect | Status: new
Priority: normal | Milestone:
Component: Default | Version: 6.4.1 RCs
Keywords: | Platform: Linux
      Cpu: x86-64 |
---------------------+------------------------------------------------------
I have a bug and workaround for grass 6.4.1 ./configure with ffmpeg on
Slackware 13.37 x86_64

{{{
./configure \
--with-ffmpeg \
--with-ffmpeg-includes="/usr/include/libpostproc /usr/include/libswscale
/usr/include/libavcodec \
/usr/include/libavdevice /usr/include/libavfilter /usr/include/libavformat
/usr/include/libavutil" \
--with-ffmpeg-libs="/usr/lib64"
}}}

I get error messages like:

{{{
checking whether to use FFMPEG...
yes
checking for location of FFMPEG includes... /usr/include/libpostproc
/usr/include/libswscale /usr/include/libavcodec
                         /usr/include/libavdevice /usr/include/libavfilter
/usr/include/libavformat /usr/include/libavutil
checking for avcodec.h... yes
checking for avformat.h... yes
checking for swscale.h... yes
checking for location of FFMPEG library... /usr/lib64
checking for av_free in -lavutil... yes
checking for avcodec_init in -lavcodec... yes
checking for av_set_parameters in -lavformat... no
checking for av_set_parameters in -lavformat... no
configure: error: *** Unable to locate FFMPEG library.
}}}

This happens because ./configure is looking for:
/usr/lib64/libavcodec.so /usr/lib64/libavformat.so /usr/lib64/libavutil.so

But on my 64bit Slackware 13.37 they are installed in:
/usr/lib64/libavcodec64.so /usr/lib64/libavformat64.so
/usr/lib64/libavutil64.so

Making soft links cures the problem, but perhaps ./configure could be
upgraded.

{{{
cd /usr/lib64
ln -s libavformat64.so libavformat.so
ln -s libavcodec64.so libavcodec.so
ln -s libavutil64.so libavutil.so
}}}

I am not sure yet if I should also have created soft links for:

'''libswscale64.so libpostproc64.so libavdevice64.so libavfilter64.so'''

but they are not needed in order to get ./configure to run.
[[BR]]
Keep up the good work.
[[BR]]
Cheers,
[[BR]]
Peter

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/1353&gt;
GRASS GIS <http://grass.osgeo.org>

#1353: ./configure with ffmpeg x86_64 - problem, with workaround
---------------------+------------------------------------------------------
Reporter: geep999 | Owner: grass-dev@…
     Type: defect | Status: new
Priority: normal | Milestone:
Component: Default | Version: 6.4.1 RCs
Keywords: | Platform: Linux
      Cpu: x86-64 |
---------------------+------------------------------------------------------

Comment(by glynn):

Replying to [ticket:1353 geep999]:

> This happens because ./configure is looking for:
> /usr/lib64/libavcodec.so /usr/lib64/libavformat.so
/usr/lib64/libavutil.so
>
>
> But on my 64bit Slackware 13.37 they are installed in:
> /usr/lib64/libavcodec64.so /usr/lib64/libavformat64.so
/usr/lib64/libavutil64.so
>
> Making soft links cures the problem, but perhaps ./configure could be
upgraded.

What does:
{{{
pkg-config --libs libavcodec
}}}
say?

If it points to the 64-bit libraries, we could try that. OTOH, if the
64-bit version is a separate package (from pkg-config's perspective), that
doesn't help.

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/1353#comment:1&gt;
GRASS GIS <http://grass.osgeo.org>

#1353: ./configure with ffmpeg x86_64 - problem, with workaround
---------------------+------------------------------------------------------
Reporter: geep999 | Owner: grass-dev@…
     Type: defect | Status: new
Priority: normal | Milestone:
Component: Default | Version: 6.4.1 RCs
Keywords: | Platform: Linux
      Cpu: x86-64 |
---------------------+------------------------------------------------------

Comment(by geep999):

{{{
pkg-config --libs libavcodec
-lavcodec64
}}}

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/1353#comment:2&gt;
GRASS GIS <http://grass.osgeo.org>

#1353: ./configure with ffmpeg x86_64 - problem, with workaround
---------------------+------------------------------------------------------
Reporter: geep999 | Owner: grass-dev@…
     Type: defect | Status: new
Priority: normal | Milestone:
Component: Default | Version: 6.4.1 RCs
Keywords: | Platform: Linux
      Cpu: x86-64 |
---------------------+------------------------------------------------------

Comment(by geep999):

Replying to [comment:1 glynn]:
> Replying to [ticket:1353 geep999]:
>
> > This happens because ./configure is looking for:
> > /usr/lib64/libavcodec.so /usr/lib64/libavformat.so
/usr/lib64/libavutil.so
> >
> >
> > But on my 64bit Slackware 13.37 they are installed in:
> > /usr/lib64/libavcodec64.so /usr/lib64/libavformat64.so
/usr/lib64/libavutil64.so
> >
> > Making soft links cures the problem, but perhaps ./configure could be
upgraded.
>
> What does:
> {{{
> pkg-config --libs libavcodec
> }}}
> say?
>
> If it points to the 64-bit libraries, we could try that. OTOH, if the
64-bit version is a separate package (from pkg-config's perspective), that
doesn't help.

{{{
pkg-config --libs libavcodec
-lavcodec64
}}}

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/1353#comment:3&gt;
GRASS GIS <http://grass.osgeo.org>

#1353: ./configure with ffmpeg x86_64 - problem, with workaround
-----------------------+----------------------------------------------------
Reporter: geep999 | Owner: grass-dev@…
     Type: defect | Status: new
Priority: normal | Milestone: 6.4.4
Component: Compiling | Version: 6.4.1 RCs
Keywords: ffmpeg | Platform: Linux
      Cpu: x86-64 |
-----------------------+----------------------------------------------------
Changes (by martinl):

  * keywords: => ffmpeg
  * component: Default => Compiling
  * milestone: => 6.4.4

Comment:

Could be related to (1). What version of FFMPEG are you using?

I have updated OGSF lib for new FFMPEG API in r53854. We should probably
support also the old FFMPEG's API.

(1) https://ffmpeg.org/trac/ffmpeg/ticket/1805

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/1353#comment:4&gt;
GRASS GIS <http://grass.osgeo.org>

#1353: ./configure with ffmpeg x86_64 - problem, with workaround
-----------------------+----------------------------------------------------
Reporter: geep999 | Owner: grass-dev@…
     Type: defect | Status: new
Priority: normal | Milestone: 6.4.4
Component: Compiling | Version: 6.4.1 RCs
Keywords: ffmpeg | Platform: Linux
      Cpu: x86-64 |
-----------------------+----------------------------------------------------

Comment(by hamish):

see also #303 and #1423

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/1353#comment:5&gt;
GRASS GIS <http://grass.osgeo.org>

#1353: ./configure with ffmpeg x86_64 - problem, with workaround
------------------------+---------------------------------------------------
  Reporter: geep999 | Owner: grass-dev@…
      Type: defect | Status: closed
  Priority: normal | Milestone: 6.4.3
Component: Compiling | Version: 6.4.1 RCs
Resolution: fixed | Keywords: ffmpeg
  Platform: Linux | Cpu: x86-64
------------------------+---------------------------------------------------
Changes (by hamish):

  * status: new => closed
  * resolution: => fixed
  * milestone: 6.4.4 => 6.4.3

Comment:

hopefully fixed in relbr64 with r56737. see #1423 for details.

Hamish

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/1353#comment:6&gt;
GRASS GIS <http://grass.osgeo.org>