Bug 116767

Summary: x11/kdelibs3 - kde3 fails to build
Product: Ports & Packages Reporter: Ralph Zitz <ralph>
Component: Individual Port(s)Assignee: freebsd-kde (group) <kde>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: Latest   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
patch-kdeprint_cups_cupsdconf2_cups-util.c
none
patch-kdeprint_cups_ipprequest.cpp
none
patch-kdeprint_cups_cupsdconf2_cups-util.c
none
patch-kdeprint_cups_ipprequest.cpp none

Description Ralph Zitz 2007-09-30 18:30:07 UTC
KDE fails to build after the recent cups upgrade to 1.3+

if /bin/sh /usr/local/bin/libtool --silent --tag=CC --mode=compile cc -DHAVE_CONFIG_H -I. -I. -I../../.. -I../../../dcop -I../../../kdecore -I../../../kio/kssl -I../../../kjs -I../../.. -I../../../kio -I../../../kfile -I../../../dcop -I../../../libltdl -I../../../kdefx -I../../../kdecore -I../../../kdecore -I../../../kdecore/network -I../../../kdeui -I../../../kio -I../../../kio/kio -I../../../kio/kfile -I../../..  -I/usr/local/include -I/usr/local/include -I/usr/local/include  -D_THREAD_SAFE -pthread -DQT_THREAD_SUPPORT   -I/usr/local/include -I/usr/local/include  -I/usr/local/include -D_GETOPT_H -D_THREAD_SAFE   -DNDEBUG -O2  -O2 -fno-strict-aliasing -pipe -march=prescott -MT cups-util.lo -MD -MP -MF ".deps/cups-util.Tpo" -c -o cups-util.lo cups-util.c; \
        then mv -f ".deps/cups-util.Tpo" ".deps/cups-util.Plo"; else rm -f ".deps/cups-util.Tpo"; exit 1; fi
cups-util.c: In function 'cupsGetConf':
cups-util.c:111: error: dereferencing pointer to incomplete type
cups-util.c:119: error: dereferencing pointer to incomplete type
cups-util.c:138: error: dereferencing pointer to incomplete type
cups-util.c:213: warning: 'httpRead' is deprecated (declared at /usr/local/include/cups/http.h:361)
cups-util.c: In function 'cupsPutConf':
cups-util.c:308: warning: 'httpWrite' is deprecated (declared at /usr/local/include/cups/http.h:371)
cups-util.c:312: warning: 'httpWrite' is deprecated (declared at /usr/local/include/cups/http.h:371)
cups-util.c:337: error: dereferencing pointer to incomplete type
cups-util.c:345: error: dereferencing pointer to incomplete type
cups-util.c:364: error: dereferencing pointer to incomplete type
cups-util.c: In function 'cups_local_auth':
cups-util.c:454: warning: passing argument 1 of 'httpAddrLocalhost' from incompatible pointer type
gmake[4]: *** [cups-util.lo] Error 1
gmake[4]: Leaving directory `/usr/ports/x11/kdelibs3/work/kdelibs-3.5.7/kdeprint/cups/cupsdconf2'
gmake[3]: *** [all-recursive] Error 1
gmake[3]: Leaving directory `/usr/ports/x11/kdelibs3/work/kdelibs-3.5.7/kdeprint/cups'
gmake[2]: *** [all-recursive] Error 1
gmake[2]: Leaving directory `/usr/ports/x11/kdelibs3/work/kdelibs-3.5.7/kdeprint'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/usr/ports/x11/kdelibs3/work/kdelibs-3.5.7'
gmake: *** [all] Error 2
*** Error code 2

Stop in /usr/ports/x11/kdelibs3.

How-To-Repeat: Install new cups, and kde
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2007-09-30 23:33:16 UTC
Responsible Changed
From-To: freebsd-ports-bugs->kde

Over to maintainer
Comment 2 Patrick Lamaiziere 2007-10-01 18:24:44 UTC
Hi,

The problem is that KDE uses the struct http_t
from /usr/local/include/cups/http.h but this struct is private
since the new port of cups

typedef struct _http_s http_t;          /**** HTTP connection type ****/

_http_s is defined in the cups-base port only, in
cups-base/work/cups-1.3.0/cups/http-private.h

There was a warning in cups-1.2.12 :
typedef struct _http_s                  /**** HTTP connection
structure. ****/ {
 /*
  * DO NOT ACCESS MEMBERS OF THIS STRUCTURE DIRECTLY; INSTEAD, USE THE
  * PROVIDED APIS FOR ACCESSING THE VALUES INSTEAD.
  *
  * This structure definition will be removed from the public headers in
  * CUPS 1.3.
  */

Regards.
Comment 3 understudy 2007-10-02 01:31:28 UTC
This bug is very similar to
http://www.freebsd.org/cgi/query-pr.cgi?pr=116781
I reported
http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/116765
which was closed as a duplicate to
http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/116750

The patched version did not work for me. I removed cups. Built gtk20 and 
then rebuilt cups.

Currently I am having the same issue with kdelibs. This appears to be 
related to cups 1.3

cups-util.c:454: warning: passing arg 1 of `httpAddrLocalhost' from 
incompatible pointer type
gmake[4]: *** [cups-util.lo] Error 1
gmake[4]: Leaving directory 
`/usr/ports/x11/kdelibs3/work/kdelibs-3.5.7/kdeprint/cups/cupsdconf2'
gmake[3]: *** [all-recursive] Error 1
gmake[3]: Leaving directory 
`/usr/ports/x11/kdelibs3/work/kdelibs-3.5.7/kdeprint/cups'
gmake[2]: *** [all-recursive] Error 1
gmake[2]: Leaving directory 
`/usr/ports/x11/kdelibs3/work/kdelibs-3.5.7/kdeprint'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/usr/ports/x11/kdelibs3/work/kdelibs-3.5.7'
gmake: *** [all] Error 2
*** Error code 2

Stop in /usr/ports/x11/kdelibs3.

Gargoyle# uname -a
FreeBSD Gargoyle.brendhanhorne.com 6.2-STABLE FreeBSD 6.2-STABLE #7: Tue 
Aug 14 10:37:09 EDT 2007 
root@Gargoyle.brendhanhorne.com:/usr/obj/usr/src/sys/BLACKHOLE  i386


Ports was downloaded on 10/01/07 at 5pm EDT.

This problem is repeatable
portupgrade -aP

Sincerely,
Brendhan
Comment 4 Scot Hetzel 2007-10-03 04:49:43 UTC
The attached patches fixes the build for kdelibs3.

The patch to cups-util.c replaces the current version with the one
from the head of the SVN repository.

http://websvn.kde.org/trunk/KDE/kdelibs/kdeprint/cups/cupsdconf2/cups-util.c?revision=709485&view=markup

The patch to ipprequest.cpp changes direct access to HTTP->authstring
to use http{Set,Get}AuthString.

http://websvn.kde.org/trunk/KDE/kdelibs/kdeprint/cups/ipprequest.cpp?r1=704615&r2=706199

Scot
Comment 5 Scot Hetzel 2007-10-03 06:13:16 UTC
GMail corrupts the sending of patches, try sending thru Kmail+Postfix

Scot

This electronic mail transmission is intended for the sole use of the named individual or entity to which it is directed and may contain information that is confidential or privileged. If you have received this transmission in error, please delete it from your system without copying or forwarding it, and notify the sender by reply email so that the sender's address records can be corrected.
Comment 6 Ade Lovett freebsd_committer freebsd_triage 2007-10-05 05:53:05 UTC
State Changed
From-To: open->closed

Patch committed, thanks. 
PORTREVISION not bumped at the request of kde@
Comment 7 dfilter service freebsd_committer freebsd_triage 2007-10-05 05:53:56 UTC
ade         2007-10-05 04:53:50 UTC

  FreeBSD ports repository

  Added files:
    x11/kdelibs3/files   
                         patch-kdeprint_cups_cupsdconf2_cups-util.c 
  Log:
  Add fix to allow kdelibs3 to build with new CUPS
  
  PR:             116767
  Submitted by:   Ralph Zitz <ralph@imada.sdu.dk>
  Approved by:    kde (Andy Fawcett)
  
  Revision  Changes    Path
  1.1       +606 -0    ports/x11/kdelibs3/files/patch-kdeprint_cups_cupsdconf2_cups-util.c (new)
_______________________________________________
cvs-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"