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 2789 - Build issue: Trinity 14.0.4 FTBFS on Fedora 26
Summary: Build issue: Trinity 14.0.4 FTBFS on Fedora 26
Status: RESOLVED FIXED
Alias: None
Product: TDE
Classification: Unclassified
Component: other (any) (show other bugs)
Version: R14.0.x [Trinity]
Hardware: amd64 Linux
: P5 blocker
Assignee: Francois Andriot
URL:
Depends on:
Blocks: R14.0.5
  Show dependency treegraph
 
Reported: 2017-07-21 14:18 CDT by Francois Andriot
Modified: 2017-10-17 18:20 CDT (History)
3 users (show)

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


Attachments
tdebase: fix FTBFS on Fedora 26 (1.11 KB, patch)
2017-07-21 14:21 CDT, Francois Andriot
Details | Diff
tdepim: fix FTBFS on Fedora 26 (648 bytes, patch)
2017-07-21 16:00 CDT, Francois Andriot
Details | Diff
tdemultimedia: fix detection on cdda include files when using cmake (6.93 KB, patch)
2017-07-22 14:35 CDT, Francois Andriot
Details | Diff
tdemultimedia: fix detection on cdda include files when using cmake (2) (7.68 KB, patch)
2017-07-23 07:39 CDT, Francois Andriot
Details | Diff
tdemultimedia: fix build X86_SSE (1.71 KB, patch)
2017-07-23 13:48 CDT, Slávek Banko
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Francois Andriot 2017-07-21 14:18:10 CDT
Some TDE packages fail to build on the brand new Fedora 26 distribution.
Comment 1 Francois Andriot 2017-07-21 14:21:41 CDT
Created attachment 2799 [details]
tdebase: fix FTBFS on Fedora 26

Tdebase FTBFS:

error: ISO C++ forbids comparison between pointer and integer
Comment 2 Francois Andriot 2017-07-21 16:00:53 CDT
Created attachment 2800 [details]
tdepim: fix FTBFS on Fedora 26

[ 57%] Building CXX object korganizer/CMakeFiles/korganizer-shared.dir/koeditorattachments.cpp.o
cd /tmp/BUILD.fc26.x86_64/trinity-tdepim-14.0.4/build/korganizer && /usr/lib64/ccache/c++  -DHAVE_CONFIG_H -D_FILE_OFFSET_BITS=64 -Dkorganizer_shared_EXPORTS -I/tmp/BUILD.fc26.x86_64/trinity-tdepim-14.0.4/build/korganizer -I/tmp/BUILD.fc26.x86_64/trinity-tdepim-14.0.4/korganizer -I/tmp/BUILD.fc26.x86_64/trinity-tdepim-14.0.4/korganizer/interfaces -I/tmp/BUILD.fc26.x86_64/trinity-tdepim-14.0.4/korganizer/printing -I/tmp/BUILD.fc26.x86_64/trinity-tdepim-14.0.4/build -I/tmp/BUILD.fc26.x86_64/trinity-tdepim-14.0.4 -I/tmp/BUILD.fc26.x86_64/trinity-tdepim-14.0.4/libkholidays -I/tmp/BUILD.fc26.x86_64/trinity-tdepim-14.0.4/libtdepim -I/tmp/BUILD.fc26.x86_64/trinity-tdepim-14.0.4/certmanager/lib -I/opt/trinity/include/tde -I/usr/include/tqt3 -I/usr/include/tqt  -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -DNDEBUG  -DQT_NO_ASCII_CAST -DQT_CLEAN_NAMESPACE -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -DQT_THREAD_SUPPORT -D_REENTRANT -I/usr/include/tqt3 -I/usr/include/tqt -include tqt.h -DQT_NO_ASCII_CAST -DQT_CLEAN_NAMESPACE -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -DQT_THREAD_SUPPORT -D_REENTRANT -include tqt.h -DNDEBUG -fPIC   -o CMakeFiles/korganizer-shared.dir/koeditorattachments.cpp.o -c /tmp/BUILD.fc26.x86_64/trinity-tdepim-14.0.4/korganizer/koeditorattachments.cpp
/tmp/BUILD.fc26.x86_64/trinity-tdepim-14.0.4/korganizer/koeditorattachments.cpp: In constructor 'AttachmentListItem::AttachmentListItem(KCal::Attachment*, TQIconView*)':
/tmp/BUILD.fc26.x86_64/trinity-tdepim-14.0.4/korganizer/koeditorattachments.cpp:82:50: error: invalid conversion from 'char' to 'const char*' [-fpermissive]
         mAttachment = new KCal::Attachment( '\0' ); //use the non-uri constructor
                                                  ^
In file included from /tmp/BUILD.fc26.x86_64/trinity-tdepim-14.0.4/libkcal/incidence.h:31:0,
                 from /tmp/BUILD.fc26.x86_64/trinity-tdepim-14.0.4/korganizer/koeditorattachments.cpp:29:
/tmp/BUILD.fc26.x86_64/trinity-tdepim-14.0.4/libkcal/attachment.h:60:5: note:   initializing argument 1 of 'KCal::Attachment::Attachment(const char*, const TQString&)'
     Attachment( const char *base64, const TQString &mime = TQString() );
     ^~~~~~~~~~
make[3]: *** [korganizer/CMakeFiles/korganizer-shared.dir/build.make:1181: korganizer/CMakeFiles/korganizer-shared.dir/koeditorattachments.cpp.o] Error 1
make[3]: Leaving directory '/tmp/BUILD.fc26.x86_64/trinity-tdepim-14.0.4/build'
make[2]: *** [CMakeFiles/Makefile2:6044: korganizer/CMakeFiles/korganizer-shared.dir/all] Error 2
make[2]: Leaving directory '/tmp/BUILD.fc26.x86_64/trinity-tdepim-14.0.4/build'
make[1]: *** [Makefile:133: all] Error 2
Comment 3 Francois Andriot 2017-07-22 11:54:34 CDT
No more patch needed for Fedora 26.
Comment 4 Francois Andriot 2017-07-22 14:30:16 CDT
Spoke too soon.
tdemultimedia FTBFS on i686 architecture only, no problem on x86_64.

make[5]: Entering directory '/dev/shm/BUILD.fc26.i386/trinity-tdemultimedia-14.0.4/noatun/library/noatunarts'
/bin/sh ../../../libtool  --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I. -I../../.. -I/opt/trinity/include/tde/arts -I/opt/trinity/include/tde -I/usr/include/tqt3 -I. -include tqt.h  -I/usr/include/cdda -I/usr/include/cddb -I/opt/trinity/include/tde/arts -I/opt/trinity/include/artsc  -DQT_THREAD_SUPPORT  -D_REENTRANT -I/usr/include/cdda  -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -DNDEBUG -DNO_DEBUG -O2 -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m32 -march=i686 -fasynchronous-unwind-tables -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -I/usr/include/tqt -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION  -c -o StereoVolumeControl_impl.lo StereoVolumeControl_impl.cpp
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../../.. -I/opt/trinity/include/tde/arts -I/opt/trinity/include/tde -I/usr/include/tqt3 -I. -include tqt.h -I/usr/include/cdda -I/usr/include/cddb -I/opt/trinity/include/tde/arts -I/opt/trinity/include/artsc -DQT_THREAD_SUPPORT -D_REENTRANT -I/usr/include/cdda -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -DNDEBUG -DNO_DEBUG -O2 -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m32 -march=i686 -fasynchronous-unwind-tables -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -I/usr/include/tqt -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -c StereoVolumeControl_impl.cpp  -fPIC -DPIC -o .libs/StereoVolumeControl_impl.o
In file included from /usr/include/c++/7/i686-redhat-linux/bits/os_defines.h:39:0,
                 from /usr/include/c++/7/i686-redhat-linux/bits/c++config.h:533,
                 from /usr/include/c++/7/string:38,
                 from /opt/trinity/include/tde/arts/buffer.h:26,
                 from /opt/trinity/include/tde/arts/common.h:26,
                 from /opt/trinity/include/tde/arts/artsflow.h:6,
                 from StereoVolumeControl_impl.cpp:6:
/usr/include/features.h:180:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp]
 # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
   ^~~~~~~
StereoVolumeControl_impl.cpp: Assembler messages:
StereoVolumeControl_impl.cpp:179: Error: symbol `.l1' is already defined
StereoVolumeControl_impl.cpp:192: Error: symbol `.l2' is already defined
StereoVolumeControl_impl.cpp:197: Error: symbol `.l3' is already defined
StereoVolumeControl_impl.cpp:210: Error: symbol `.l4' is already defined
make[5]: *** [Makefile:770: StereoVolumeControl_impl.lo] Error 1
make[5]: Leaving directory '/dev/shm/BUILD.fc26.i386/trinity-tdemultimedia-14.0.4/noatun/library/noatunarts'
make[4]: *** [Makefile:934: all-recursive] Error 1
make[4]: Leaving directory '/dev/shm/BUILD.fc26.i386/trinity-tdemultimedia-14.0.4/noatun/library'
make[3]: *** [Makefile:833: all-recursive] Error 1
make[3]: Leaving directory '/dev/shm/BUILD.fc26.i386/trinity-tdemultimedia-14.0.4/noatun'
make[2]: *** [Makefile:652: all-recursive] Error 1
make[2]: Leaving directory '/dev/shm/BUILD.fc26.i386/trinity-tdemultimedia-14.0.4'
make[1]: *** [Makefile:569: all] Error 2
make[1]: Leaving directory '/dev/shm/BUILD.fc26.i386/trinity-tdemultimedia-14.0.4'
Comment 5 Francois Andriot 2017-07-22 14:35:40 CDT
Created attachment 2802 [details]
tdemultimedia: fix detection on cdda include files when using cmake

Not for TDE 14.0.4 (still using autotools) but for upcoming 14.0.5 (using cmake), an FTBFS occurs because "cdda_interface.h" is located under '/usr/include/cdda', not '/usr/include'.
Comment 6 Slávek Banko 2017-07-22 17:41:55 CDT
François, did I know correctly that Fedora uses GCC7? I suppose we should make an update of build-key in tqt3, just like we did for GCC6:

http://mirror.git.trinitydesktop.org/cgit/tqt3/commit/?id=c56533c9
Comment 7 Francois Andriot 2017-07-22 17:57:09 CDT
You are correct, Fedora 26 uses GCC 7.
This is exact version:

$ gcc -v
Using built-in specs.
COLLECT_GCC=/usr/bin/gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/7/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-redhat-linux
Configured with: ../configure --enable-bootstrap --enable-languages=c,c++,objc,obj-c++,fortran,ada,go,lto --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --with-linker-hash-style=gnu --enable-plugin --enable-initfini-array --with-isl --enable-libmpx --enable-offload-targets=nvptx-none --without-cuda-driver --enable-gnu-indirect-function --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux
Thread model: posix
gcc version 7.1.1 20170622 (Red Hat 7.1.1-3) (GCC)
Comment 8 Slávek Banko 2017-07-22 18:28:53 CDT
Thank you. Buildkey has been updated.

I also thank you for your current patches - they will be pushed soon.
Comment 9 Francois Andriot 2017-07-23 07:39:08 CDT
Created attachment 2803 [details]
tdemultimedia: fix detection on cdda include files when using cmake (2)

Updated patch for cdda detection using cmake
Comment 10 Slávek Banko 2017-07-23 13:48:09 CDT
Created attachment 2804 [details]
tdemultimedia: fix build X86_SSE

About comment 4 - I have one discrepancy here, but at the same time I see the suspicion of a wrong condition in the code.

Your error report mentions StereoVolumeControl_impl.cpp lines 179, 192, 197 and 210. But in GIT (master and also r14.0.x) I see a length of 182 lines. What's different?

In the code is condition if GCC is version 3 greater than 3.2. However, there is no expectation that the GCC version may currently be greater than 3.x. Attached patch corrects the condition. However, I do not know if it can help with the problem mentioned in comment 4. Please, can you try it?
Comment 11 Francois Andriot 2017-07-23 14:57:57 CDT
Hello, thanks for the patch, alas, it does not fix the issue.

My 'StereoVolumeControl_impl.cpp' has 182 lines too.
The actual error probably relies in expanded code from "REGISTER_IMPLEMENTATION" macro... I guess...
Comment 12 Francois Andriot 2017-07-24 13:53:57 CDT
BTW, why is there X86 assembler code directly in TDE ?

This SSE specific code is probably a performance optimization intended for the brand new Intel(R) Pentium 3, that was out in 1999 ...

This code is disabled on 64 bits processor, even though SSE still exists, so it is useless for 99% users in 2017.

I suggest we simply remove this piece of code.
Comment 13 Slávek Banko 2017-08-01 13:21:20 CDT
(In reply to Francois Andriot from comment #12)
> BTW, why is there X86 assembler code directly in TDE ?
> 
> This SSE specific code is probably a performance optimization intended for
> the brand new Intel(R) Pentium 3, that was out in 1999 ...
> 
> This code is disabled on 64 bits processor, even though SSE still exists, so
> it is useless for 99% users in 2017.
> 
> I suggest we simply remove this piece of code.

I guess this extra code is not required for x64 because all x64 processors have SSE == code with SSE instructions can generate a compiler. While with x86, these instructions are probably not used. Unfortunately, I did not find the original commit for this code - if something useful was mentioned in the commit log.

I understand correctly that the problem is only for building using automake?
Comment 14 Francois Andriot 2017-08-01 15:40:45 CDT
Hello, no, the 32 bits FTBFS also occurs when building 14.1.0 using cmake.
Comment 15 Slávek Banko 2017-10-13 07:36:57 CDT
(In reply to Francois Andriot from comment #14)
> Hello, no, the 32 bits FTBFS also occurs when building 14.1.0 using cmake.

I have a "good" news - the problem now also occurs on Debian Buster and Ubuntu Artful. It occurs on both branches - R14.1.0~pre and also R14.0.5~pre.
Comment 16 Slávek Banko 2017-10-13 10:47:14 CDT
(In reply to Slávek Banko from comment #15)
> (In reply to Francois Andriot from comment #14)
> > Hello, no, the 32 bits FTBFS also occurs when building 14.1.0 using cmake.
> 
> I have a "good" news - the problem now also occurs on Debian Buster and
> Ubuntu Artful. It occurs on both branches - R14.1.0~pre and also R14.0.5~pre.

Fixed in GIT commit 81449b86 (master) and 758a817e (r14.0.x)!
Comment 17 Slávek Banko 2017-10-16 13:07:31 CDT
(In reply to Slávek Banko from comment #16)
> (In reply to Slávek Banko from comment #15)
> > (In reply to Francois Andriot from comment #14)
> > > Hello, no, the 32 bits FTBFS also occurs when building 14.1.0 using cmake.
> > 
> > I have a "good" news - the problem now also occurs on Debian Buster and
> > Ubuntu Artful. It occurs on both branches - R14.1.0~pre and also R14.0.5~pre.
> 
> Fixed in GIT commit 81449b86 (master) and 758a817e (r14.0.x)!

François, please, can you verify if the patch has resolved the issue also on Fedora? If so, then this bug report is likely to close.
Comment 18 Francois Andriot 2017-10-17 14:45:06 CDT
Hello, I confirm it builds correctly on Fedora 26 i686 with current Git.
Thank you for the patch.