Opened 17 years ago

Closed 15 years ago

Last modified 9 years ago

#11379 closed defect (fixed)

GTK2-2.10.7 cups-headers is now required for 10.3

Reported by: yaseppochi (Stephen J. Turnbull) Owned by: mij@…
Priority: High Milestone:
Component: ports Version:
Keywords: Cc: nox@…, markd@…
Port: gtk2

Description

--->  Deactivating gtk2 2.8.19_0
--->  Building gtk2 with target all
Error: Target com.apple.build returned: shell command "cd "/opt/local/var/db/dports/build/_Users_steve_Software_MacPorts_dports_x11_gtk2/work/gtk+-2.10.7" && make all CFLAGS+="-I/usr/X11R6/include"" returned error 2
Command output: gtkprintbackendcups.c:2317: error: request for member `num_groups' in something not a structure or union
gtkprintbackendcups.c:2318: error: request for member `groups' in something not a structure or union
gtkprintbackendcups.c: At top level:
gtkprintbackendcups.c:2328: error: parse error before "ppd_file_t"
gtkprintbackendcups.c:2328: warning: no semicolon at end of struct or union
gtkprintbackendcups.c: In function `foreach_option_get_settings':
gtkprintbackendcups.c:2571: error: dereferencing pointer to incomplete type
gtkprintbackendcups.c: In function `cups_printer_get_settings_from_options':
gtkprintbackendcups.c:2623: error: storage size of `data' isn't known
gtkprintbackendcups.c: In function `cups_printer_list_papers':
gtkprintbackendcups.c:2719: error: `ppd_file_t' undeclared (first use in this function)
gtkprintbackendcups.c:2720: error: `ppd_size_t' undeclared (first use in this function)
gtkprintbackendcups.c:2720: error: `size' undeclared (first use in this function)
gtkprintbackendcups.c:2724: error: `ppd_option_t' undeclared (first use in this function)
gtkprintbackendcups.c:2724: error: `option' undeclared (first use in this function)
gtkprintbackendcups.c:2725: error: `ppd_choice_t' undeclared (first use in this function)
gtkprintbackendcups.c:2725: error: `choice' undeclared (first use in this function)
gtkprintbackendcups.c:2735: error: request for member `num_sizes' in something not a structure or union
gtkprintbackendcups.c:2737: error: request for member `sizes' in something not a structure or union
gtkprintbackendcups.c: In function `cups_printer_get_hard_margins':
gtkprintbackendcups.c:2778: error: `ppd_file_t' undeclared (first use in this function)
gtkprintbackendcups.c:2784: error: request for member `custom_margins' in something not a structure or union
gtkprintbackendcups.c:2785: error: request for member `custom_margins' in something not a structure or union
gtkprintbackendcups.c:2786: error: request for member `custom_margins' in something not a structure or union
gtkprintbackendcups.c:2787: error: request for member `custom_margins' in something not a structure or union
make[4]: *** [gtkprintbackendcups.lo] Error 1
make[3]: *** [all-recursive] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

Change History (14)

comment:1 Changed 17 years ago by yaseppochi (Stephen J. Turnbull)

Oh great. This blocks GIMP, because it leaves GTK+ deactivated. (And, since this is MacPorts, reactivating GTK+ doesn't help, because it will just try to upgrade GTK+ again, deactivate it, barf, and leave it dieactivated. But that's a separate bug.)

--->  Deactivating gimp2 2.2.12_0
--->  Verifying checksum(s) for gimp2
--->  Extracting gimp2
--->  Configuring gimp2
Error: Target com.apple.configure returned: configure failure: shell command "cd "/opt/local/var/db/dports/build/_Users_steve_Software_MacPorts_dports_graphics_gimp2/work/gimp-2.2.13" && LDFLAGS=-L/opt/local/lib CPPFLAGS=-I/opt/local/include ./configure --prefix=/opt/local --enable-mp --mandir=/opt/local/share/man" returned error 1
Command output: checking libintl.h presence... yes
checking for libintl.h... yes
checking for ngettext in libc... no
checking for bindtextdomain in -lintl... yes
checking for ngettext in -lintl... yes
checking for dgettext in -lintl... yes
checking for bind_textdomain_codeset... yes
checking for msgfmt... /opt/local/bin/msgfmt
checking for dcgettext... yes
checking for gmsgfmt... /opt/local/bin/msgfmt
checking for xgettext... /opt/local/bin/xgettext
checking for catalogs to be installed...  bg ca cs da de el en_CA en_GB es eu fi fr ga gl he hu hr id it ja ko lt mk ms nb nl no pa pl pt pt_BR ro ru sk sr sr@Latn sv tr uk vi yi zh_CN zh_TW
checking for pkg-config... /opt/local/bin/pkg-config
checking for GLIB - version >= 2.4.5... yes (version 2.12.7)
checking pkg-config is at least version 0.9.0... yes
checking for GMODULE... yes
checking if GLib is version 2.7.0 or newer... yes
checking for bind_textdomain_codeset... (cached) yes
checking for X... libraries /usr/X11R6/lib, headers /usr/X11R6/include
checking for gethostbyname... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for IceConnectionNumber in -lICE... yes
checking for pkg-config... (cached) /opt/local/bin/pkg-config
checking for GTK+ - version >= 2.4.4... no
*** Could not run GTK+ test program, checking why...
*** The test program failed to compile or link. See the file config.log for the
*** exact error that occured. This usually means GTK+ is incorrectly installed.
configure: error: Test for GTK+ failed. See the file 'INSTALL' for help.

comment:2 Changed 17 years ago by markd@…

Cc: mij@… added
Owner: changed from macports-dev@… to mij@…
Summary: CUPS/GTK+ v2 still don't get a long on PantherGTK2-2.10.7 cups-headers is now required for 10.3

Now on 10.3 I need to have cups installed to install gtk 2.10.7. I had to install cups-headers and comment out the conditional for darwin 7 to exit if it is present. So it seems that cups-headers should be a dependency at least for 10.3.

comment:3 Changed 17 years ago by yaseppochi (Stephen J. Turnbull)

It's also required for gtk2-2.10.9 on 10.3, but that Portfile (stupidly enough) exits if cups-headers is present.

Note also that cups-headers 1.1.15_1 blows chunks. I need cups-headers 1.1.15_0.

I suggest simply disabling the exit in the pre-configure stanza. Then the warning is present for information of those who shouldn't have cups-headers installed.

That is, the following sequence succeeds for me:

$ vi `port file gtk2` # kneecap the Big Nurse here
$ sudo port -f activate cups-headers @1.1.15_0
$ sudo port upgrade gtk2

N.B. I'm also having problems upgrading the GIMP even with the latest gtk2 installed. I don't yet know why, but it's dying with

checking for gimpprint-config... /opt/local/bin/gimpprint-config
checking for GIMP-PRINT - version >= 4.2.0... no
*** Could not run GIMP-PRINT test program, checking why...
*** The test program compiled, but did not run. This usually means
*** that the run-time linker is not finding GIMP-PRINT or finding the wrong
*** version of GIMP-PRINT. If it is not finding GIMP-PRINT, you'll need to set
*** your LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point
*** to the installed location  Also, make sure you have run ldconfig if that
*** is required on your system
***
*** If you have an old version installed, it is best to remove it, although
*** you may also be able to get things to work by modifying LD_LIBRARY_PATH
configure: error:
*** Check for libgimpprint failed. You can download it from
*** http://gimp-print.sourceforge.net/ or you can build without it by passing
*** --disable-print to configure (but you won't be able to print then).

so I suspect cups-headers problems. Investigating ...

comment:5 Changed 17 years ago by pipping@…

Milestone: Available Ports

comment:6 Changed 17 years ago by pipping@…

Milestone: Available PortsPort Bugs

comment:7 Changed 17 years ago by william.allen.simpson@…

Failure continues for gtk2 2.10.11, what's the workaround now?

comment:8 Changed 17 years ago by william.allen.simpson@…

Looks like this was also Ticket #10699 (prematurely closed as "worksforme") and a half dozen threads on the user mailing list, a perennial problem!

sudo port install cups-headers (cups-headers 1.1.15_1+darwin_7) helped me

Apparently should be a dependency for Panther only.

And the maintainer should be careful, as each port update seems to break the dependency over again!

comment:9 Changed 17 years ago by william.allen.simpson@…

Who is the maintainer, and why is s/he/it so clueless?!?!?

For 2.10.13_0, the problem is now back! The old work-around stopped working! Having cups-headers prevents the build, deactivating cups-headers causes the old build failure....

port outdated
gtk2                           2.10.11_0 < 2.10.13_0     
sudo port upgrade outdated
--->  Fetching gtk2
--->  Attempting to fetch gtk+-2.10.13.tar.bz2 from http://mandril.creatis.insa-lyon.fr/linux/gnome.org/sources/gtk+/2.10
--->  Verifying checksum(s) for gtk2
--->  Extracting gtk2
--->  Configuring gtk2

The cups-headers port may prevent building this port.  Please uninstall
(or deactivate) cups-headers and restart the build.
sudo port deactivate cups-headers
--->  Deactivating cups-headers 
sudo port upgrade gtk2
--->  Configuring gtk2
--->  Building gtk2 with target all
Error: Target com.apple.build returned: shell command " cd "/opt/local/var/db/dports/build/_opt_local_var_db_dports_sources_rsync.rsync.darwinports.org_dpupdate_dports_x11_gtk2/work/gtk+-2.10.13" && make all CFLAGS+="-I/usr/X11R6/include" " returned error 2
Command output: gtkprintbackendcups.c:2409: error: request for member `num_groups' in something not a structure or union
gtkprintbackendcups.c:2410: error: request for member `groups' in something not a structure or union
gtkprintbackendcups.c: At top level:
gtkprintbackendcups.c:2420: error: parse error before "ppd_file_t"
gtkprintbackendcups.c:2420: warning: no semicolon at end of struct or union
gtkprintbackendcups.c: In function `foreach_option_get_settings':
gtkprintbackendcups.c:2663: error: dereferencing pointer to incomplete type
gtkprintbackendcups.c: In function `cups_printer_get_settings_from_options':
gtkprintbackendcups.c:2715: error: storage size of `data' isn't known
gtkprintbackendcups.c: In function `cups_printer_list_papers':
gtkprintbackendcups.c:2811: error: `ppd_file_t' undeclared (first use in this function)
gtkprintbackendcups.c:2812: error: `ppd_size_t' undeclared (first use in this function)
gtkprintbackendcups.c:2812: error: `size' undeclared (first use in this function)
gtkprintbackendcups.c:2816: error: `ppd_option_t' undeclared (first use in this function)
gtkprintbackendcups.c:2816: error: `option' undeclared (first use in this function)
gtkprintbackendcups.c:2817: error: `ppd_choice_t' undeclared (first use in this function)
gtkprintbackendcups.c:2817: error: `choice' undeclared (first use in this function)
gtkprintbackendcups.c:2827: error: request for member `num_sizes' in something not a structure or union
gtkprintbackendcups.c:2829: error: request for member `sizes' in something not a structure or union
gtkprintbackendcups.c: In function `cups_printer_get_hard_margins':
gtkprintbackendcups.c:2870: error: `ppd_file_t' undeclared (first use in this function)
gtkprintbackendcups.c:2876: error: request for member `custom_margins' in something not a structure or union
gtkprintbackendcups.c:2877: error: request for member `custom_margins' in something not a structure or union
gtkprintbackendcups.c:2878: error: request for member `custom_margins' in something not a structure or union
gtkprintbackendcups.c:2879: error: request for member `custom_margins' in something not a structure or union
make[4]: *** [gtkprintbackendcups.lo] Error 1
make[3]: *** [all-recursive] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

Error: Unable to upgrade port: 1

comment:10 Changed 17 years ago by gherndon@…

i don't know if this is related to this issue or not, but i'm having trouble with a gtk2 dependency failing when trying to install gtkglext and libglade2 as follows:

sudo port install gtkglext libglade2 Password: ---> Building gtk2 with target all Error: Target org.macports.build returned: shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_x11_gtk2/work/gtk+-2.10.13" && make all CFLAGS+="-I/usr/X11R6/include" " returned error 2 Command output: Making all in theme-bits make[4]: Nothing to be done for `all'. Making all in xdgmime make[4]: Nothing to be done for `all'. Making all in modules Making all in input make[3]: Nothing to be done for `all'. Making all in engines Making all in pixbuf make[4]: Nothing to be done for `all'. make[4]: Nothing to be done for `all-am'. Making all in printbackends Making all in file make[4]: Nothing to be done for `all'. Making all in lpr make[4]: Nothing to be done for `all'. Making all in cups if /bin/sh ../../../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I../../.. -I../../.. -I../../../gtk -I../../../gtk -I../../../gdk -I../../../gdk -DGTK_PRINT_BACKEND_ENABLE_UNSUPPORTED -D_REENTRANT -DPNG_NO_MMX_CODE -DXTHREADS -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include -I/opt/local/include/pango-1.0 -I/opt/local/include/cairo -I/opt/local/include/freetype2 -I/opt/local/include/libpng12 -I/usr/X11/include -I/opt/local/include/atk-1.0 -DG_DISABLE_CAST_CHECKS -I/opt/local/include -no-cpp-precomp -DX_LOCALE -I/opt/local/include -I/usr/X11/include -I/usr/X11R6/include -MT gtkprintbackendcups.lo -MD -MP -MF ".deps/gtkprintbackendcups.Tpo" \

-c -o gtkprintbackendcups.lo test -f 'gtkprintbackendcups.c' || echo './'gtkprintbackendcups.c; \

then mv -f ".deps/gtkprintbackendcups.Tpo" ".deps/gtkprintbackendcups.Plo"; \ else rm -f ".deps/gtkprintbackendcups.Tpo"; exit 1; \ fi

gcc -DHAVE_CONFIG_H -I. -I. -I../../.. -I../../.. -I../../../gtk -I../../../gtk -I../../../gdk -I../../../gdk -DGTK_PRINT_BACKEND_ENABLE_UNSUPPORTED -D_REENTRANT -DPNG_NO_MMX_CODE -DXTHREADS -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include -I/opt/local/include/pango-1.0 -I/opt/local/include/cairo -I/opt/local/include/freetype2 -I/opt/local/include/libpng12 -I/usr/X11/include -I/opt/local/include/atk-1.0 -DG_DISABLE_CAST_CHECKS -I/opt/local/include -no-cpp-precomp -DX_LOCALE -I/opt/local/include -I/usr/X11/include -I/usr/X11R6/include -MT gtkprintbackendcups.lo -MD -MP -MF .deps/gtkprintbackendcups.Tpo -c gtkprintbackendcups.c -fno-common -DPIC -o .libs/gtkprintbackendcups.o

gtkprintbackendcups.c: In function 'cups_dispatch_watch_check': gtkprintbackendcups.c:531: error: dereferencing pointer to incomplete type make[4]: * [gtkprintbackendcups.lo] Error 1 make[3]: * [all-recursive] Error 1 make[2]: * [all-recursive] Error 1 make[1]: * [all-recursive] Error 1 make: * [all] Error 2

Error: The following dependencies failed to build: gtk2 Error: Status 1 encountered during processing.

i'm a newb, so be gentle with suggestions :-)

comment:11 Changed 17 years ago by nox@…

Cc: nox@… markd@… added
Priority: BlockerHigh

So, we should disable print backend, no?

comment:12 Changed 15 years ago by blb@…

Port: gtk2 added
Resolution: fixed
Status: newclosed

Looks like this issue should have been fixed in r28266 and r28274 (10.3 depends on cups_headers, 10.4+ complains if it is installed). Speak up if that's not the case.

comment:13 Changed 15 years ago by (none)

Milestone: Port Bugs

Milestone Port Bugs deleted

comment:14 Changed 9 years ago by jmroot (Joshua Root)

Cc: mij@… removed
Note: See TracTickets for help on using tickets.