By default, Bugzilla does not search the list of RESOLVED bugs.
You can force it to do so by putting the upper-case word ALL in front of your search query, e.g.: ALL tdelibs
We recommend searching for bugs this way, as you may discover that your bug has already been resolved and fixed in a later release.
Bug 2714 - Build issue: k3b FTBFS using cmake because missing ffmpeg/artcs includes
Summary: Build issue: k3b FTBFS using cmake because missing ffmpeg/artcs includes
Status: RESOLVED FIXED
Alias: None
Product: TDE
Classification: Unclassified
Component: non-core programs (show other bugs)
Version: R14.1.x [Trinity]
Hardware: Other Linux
: P5 normal
Assignee: Slávek Banko
URL:
Depends on:
Blocks: R14.0.4
  Show dependency treegraph
 
Reported: 2016-10-13 14:28 CDT by Francois Andriot
Modified: 2016-10-16 12:53 CDT (History)
4 users (show)

See Also:
Compiler Version:
TDE Version String:
Application Version:
Application Name:


Attachments
k3b: fix FTBFS (756 bytes, patch)
2016-10-13 14:31 CDT, Francois Andriot
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Francois Andriot 2016-10-13 14:28:55 CDT
Hello, I have 2 FTBFS in K3B 14.1.0 using cmake:

Under "plugins/decoder/ffmpeg", cannot find "libavcodec/libavcodec.h"

Under "plugins/audiooutput/arts", cannot find "artsc/artsc.h"
Comment 1 Francois Andriot 2016-10-13 14:31:15 CDT
Created attachment 2730 [details]
k3b: fix FTBFS

Attached patch fixes both issues.

About the artsc stuff, the problem is that include dir is "/opt/trinity/include/artsc", but TDE_INCLUDE_DIR is "/opt/trinity/include/tde" and ARTS_INCLUDE_DIRS is "/opt/trinity/include/tde/arts" .
Notice that artsc is installed outside the "tde" subfolder.
Comment 2 Michele Calgaro 2016-10-16 03:49:40 CDT
Francois, Slavek,
wouldn't it be better if we change the install destionation of artsc.h and artsc_export.h from /opt/trinity/include/artsc to /opt/trinity/include/arts?
Or is there a special reason why artsc include files are installed separately?
Comment 3 Michele Calgaro 2016-10-16 03:53:36 CDT
anyhow it is quite strange there are no issues in building under Debian.
What options are you passing to cmake? Just wondering.
Comment 4 Francois Andriot 2016-10-16 04:06:20 CDT
Hello, you can check the entire build log for r14.0.x here:
https://build.opensuse.org/public/build/home:PunisherHD:Trinity:r14.0.x/CentOS_6/i586/k3b/_log
(same problem in r14.1.0)

The cmake command was:
/usr/bin/cmake -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_INSTALL_LIBDIR:PATH=/usr/lib -DINCLUDE_INSTALL_DIR:PATH=/usr/include -DLIB_INSTALL_DIR:PATH=/usr/lib -DSYSCONF_INSTALL_DIR:PATH=/etc -DSHARE_INSTALL_PREFIX:PATH=/usr/share -DCMAKE_SKIP_RPATH:BOOL =ON -DBUILD_SHARED_LIBS:BOOL=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo '-DCMAKE_C_FLAGS=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -I/usr/include/ffmpeg -DNDEBUG' '-DCMAKE_CXX_FLAGS=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -I/usr/include/ffmpeg -DNDEBUG' -DCMAKE_SKIP_RPATH=OFF -DCMAKE_INSTALL_RPATH=/opt/trinity/lib -DCMAKE_NO_BUILTIN_CHRPATH=ON -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_PROGRAM_PATH=/opt/trinity/bin -DWITH_GCC_VISIBILITY=OFF -DCMAKE_INSTALL_PREFIX=/opt/trinity -DBIN_INSTALL_DIR=/opt/trineity/bin -DCONFIG_INSTALL_DIR=/etc/trinity -DINCLUDE_INSTALL_DIR=/opt/trinity/include/tde -DLIB_INSTALL_DIR=/opt/trinity/lib -DSHARE_INSTALL_PREFIX=/opt/trinity/share -DWITH_ALL_OPTIONS=ON -DWITH_MUSICBRAINZ=ON -DWITH_FFMPEG_ALL_CODECS=ON -DWITH_MUSEPACK=ON ..

I'm not sure why the artsc headers are outside TDE's include directory.
In fact, I believe that originally, both 'arts' and 'artsc' directories were under '/opt/trinity/include' directly (not tde subfolder), and that there was a mistake during the cmake conversion.
Comment 5 Slávek Banko 2016-10-16 04:13:10 CDT
(In reply to Michele Calgaro from comment #3)
> anyhow it is quite strange there are no issues in building under Debian.
> What options are you passing to cmake? Just wondering.

On Debian and Ubuntu variable INCLUDE_INSTALL_DIR is not explicitly specified for CMake builds and therefore is used the default value ${CMAKE_INSTALL_PREFIX/include} == without '/tde' at the end.
Comment 6 Slávek Banko 2016-10-16 04:18:14 CDT
(In reply to Michele Calgaro from comment #2)
> Francois, Slavek,
> wouldn't it be better if we change the install destionation of artsc.h and
> artsc_export.h from /opt/trinity/include/artsc to /opt/trinity/include/arts?
> Or is there a special reason why artsc include files are installed
> separately?

My plan is to adjust the patch so that it was used artsc-config to determine the exact path of artc inculdes. In future will be better instead of artsc-config binary to prepare appropriate pkgconfig file.

Or it would be better to focus on the future and prepare pkgconfig file now? What is your opinion?
Comment 7 Michele Calgaro 2016-10-16 04:20:43 CDT
In my opinion better to focus on future right now, avoid doing two things when only one is enough. Perhaps we can put this bug for R14.0.5 unless you think it will be a very quick fix
Comment 8 Slávek Banko 2016-10-16 04:58:53 CDT
(In reply to Michele Calgaro from comment #7)
> In my opinion better to focus on future right now, avoid doing two things
> when only one is enough. Perhaps we can put this bug for R14.0.5 unless you
> think it will be a very quick fix

Ok, I will give this direction. I assume that the patches will be ready quickly.
Comment 9 Slávek Banko 2016-10-16 12:53:31 CDT
Part from attachment 2730 [details] to fix ffmpeg includes pushed to GIT in hash a30375c6 (master) and bd93d759 (r14.0.x).

Part to fix artsc includes I reworked and pushed to GIT in hash 1602d89a (master) and b1200055 (r14.0.x).

For CMake build assumes an updated arts - with pkg-config file for artsc.