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 2270

Summary: tdelibs refuses to build with cups 2.0.1
Product: TDE Reporter: mummenschanz
Component: tdelibsAssignee: Slávek Banko <slavek.banko>
Status: RESOLVED FIXED    
Severity: critical CC: bugwatch, mummenschanz, slavek.banko
Priority: P5    
Version: R14.0.0 [Trinity]   
Hardware: amd64   
OS: Linux   
Compiler Version: TDE Version String:
Application Version: Application Name:
Bug Depends on:    
Bug Blocks: 2246    
Attachments: Fix FTBFS because CUPS 2.x

Description mummenschanz 2014-12-23 03:04:08 CST
Hello, 
it looks like cups 2.0.1 is giving tdelibs some headeache. 

cmake configure: cmake ../tdelibs -DCMAKE_INSTALL_PREFIX=~/tdebuild/tde-git-161214 -DWITH_CUPS=ON

Using -DWITH_CUPS=OFF fixed the issue however cups printing is crippled.

~/tdebuild/tde/tdelibs/tdeprint/cups/ipprequest.cpp: In member function 'void IppRequest::setMap(const TQMap<TQString, TQString>&)':
~/tdebuild/tde/tdelibs/tdeprint/cups/ipprequest.cpp:765:34: error: invalid use of incomplete type 'ipp_t {aka struct _ipp_s}'
  ipp_attribute_t *attr = request_->attrs;
                                  ^
In file included from ~/tdebuild/tde/tdelibs/tdeprint/cups/ipprequest.h:28:0,
                 from ~/tdebuild/tde/tdelibs/tdeprint/cups/ipprequest.cpp:20:
/usr/include/cups/ipp.h:673:16: error: forward declaration of 'ipp_t {aka struct _ipp_s}'
 typedef struct _ipp_s ipp_t;  /**** IPP request/response data ****/
                ^
~/tdebuild/tde/tdelibs/tdeprint/cups/ipprequest.cpp:768:11: error: invalid use of incomplete type 'ipp_attribute_t {aka struct _ipp_attribute_s}'
   if (attr->next && strcmp(attr->next->name, "document-format") == 0)
           ^
In file included from ~/tdebuild/tde/tdelibs/tdeprint/cups/ipprequest.h:28:0,
                 from ~/tdebuild/tde/tdelibs/tdeprint/cups/ipprequest.cpp:20:
/usr/include/cups/ipp.h:674:16: error: forward declaration of 'ipp_attribute_t {aka struct _ipp_attribute_s}'
 typedef struct _ipp_attribute_s ipp_attribute_t;
                ^
~/tdebuild/tde/tdelibs/tdeprint/cups/ipprequest.cpp:768:32: error: invalid use of incomplete type 'ipp_attribute_t {aka struct _ipp_attribute_s}'
   if (attr->next && strcmp(attr->next->name, "document-format") == 0)
                                ^
In file included from ~/tdebuild/tde/tdelibs/tdeprint/cups/ipprequest.h:28:0,
                 from ~/tdebuild/tde/tdelibs/tdeprint/cups/ipprequest.cpp:20:
/usr/include/cups/ipp.h:674:16: error: forward declaration of 'ipp_attribute_t {aka struct _ipp_attribute_s}'
 typedef struct _ipp_attribute_s ipp_attribute_t;
                ^
~/tdebuild/tde/tdelibs/tdeprint/cups/ipprequest.cpp:770:33: error: invalid use of incomplete type 'ipp_attribute_t {aka struct _ipp_attribute_s}'
    ipp_attribute_t *attr2 = attr->next;
                                 ^
In file included from ~/tdebuild/tde/tdelibs/tdeprint/cups/ipprequest.h:28:0,
                 from ~/tdebuild/tde/tdelibs/tdeprint/cups/ipprequest.cpp:20:
/usr/include/cups/ipp.h:674:16: error: forward declaration of 'ipp_attribute_t {aka struct _ipp_attribute_s}'
 typedef struct _ipp_attribute_s ipp_attribute_t;
                ^
~/tdebuild/tde/tdelibs/tdeprint/cups/ipprequest.cpp:771:8: error: invalid use of incomplete type 'ipp_attribute_t {aka struct _ipp_attribute_s}'
    attr->next = attr2->next;
        ^
In file included from ~/tdebuild/tde/tdelibs/tdeprint/cups/ipprequest.h:28:0,
                 from ~/tdebuild/tde/tdelibs/tdeprint/cups/ipprequest.cpp:20:
/usr/include/cups/ipp.h:674:16: error: forward declaration of 'ipp_attribute_t {aka struct _ipp_attribute_s}'
 typedef struct _ipp_attribute_s ipp_attribute_t;
                ^
~/tdebuild/tde/tdelibs/tdeprint/cups/ipprequest.cpp:771:22: error: invalid use of incomplete type 'ipp_attribute_t {aka struct _ipp_attribute_s}'
    attr->next = attr2->next;
                      ^
In file included from ~/tdebuild/tde/tdelibs/tdeprint/cups/ipprequest.h:28:0,
                 from ~/tdebuild/tde/tdelibs/tdeprint/cups/ipprequest.cpp:20:
/usr/include/cups/ipp.h:674:16: error: forward declaration of 'ipp_attribute_t {aka struct _ipp_attribute_s}'
 typedef struct _ipp_attribute_s ipp_attribute_t;
                ^
~/tdebuild/tde/tdelibs/tdeprint/cups/ipprequest.cpp:772:24: error: '_ipp_free_attr' was not declared in this scope
    _ipp_free_attr(attr2);
                        ^
~/tdebuild/tde/tdelibs/tdeprint/cups/ipprequest.cpp:775:14: error: invalid use of incomplete type 'ipp_attribute_t {aka struct _ipp_attribute_s}'
   attr = attr->next;
              ^
In file included from ~/tdebuild/tde/tdelibs/tdeprint/cups/ipprequest.h:28:0,
                 from ~/tdebuild/tde/tdelibs/tdeprint/cups/ipprequest.cpp:20:
/usr/include/cups/ipp.h:674:16: error: forward declaration of 'ipp_attribute_t {aka struct _ipp_attribute_s}'
 typedef struct _ipp_attribute_s ipp_attribute_t;
                ^
tdeprint/cups/CMakeFiles/tdeprint_cups-module.dir/build.make:132: recipe for target 'tdeprint/cups/CMakeFiles/tdeprint_cups-module.dir/ipprequest.cpp.o' failed
make[2]: *** [tdeprint/cups/CMakeFiles/tdeprint_cups-module.dir/ipprequest.cpp.o] Error 1
CMakeFiles/Makefile2:5650: recipe for target 'tdeprint/cups/CMakeFiles/tdeprint_cups-module.dir/all' failed
make[1]: *** [tdeprint/cups/CMakeFiles/tdeprint_cups-module.dir/all] Error 2
Makefile:117: recipe for target 'all' failed
make: *** [all] Error 2

Apparently kde4 suffered from the same problem:
https://bugs.kde.org/show_bug.cgi?id=338543

any patches availble?

Regards
Dieter
Comment 1 Slávek Banko 2014-12-24 09:49:26 CST
Created attachment 2404 [details]
Fix FTBFS because CUPS 2.x

Please try attached patch.
Comment 2 mummenschanz 2014-12-25 07:23:10 CST
Thank you! Your supplied patch works like a charm :)
Comment 3 Slávek Banko 2014-12-25 12:13:55 CST
Fixed in GIT hash 592bebb5 (master) and 608ee3f5 (r14.0.x).