|
|
#1 |
|
Prospect
Join Date: Apr 2005
Posts: 32
|
gtk2 build fails
Seems like there are many knowledgable folks lurking here so enlighten me please I have tried so many things to resolve this-but I must be totally on the wrong track. mozilla, gnome all fail because I can't get gtk2 to compile-here's the shell output:
(Note: I'm running darwinports version from cvs prior to 1.0 release on a 1.33Mhz powerbook with panther 10.3.9) Configuring gtk2 Error: Target com.apple.configure returned: configure failure: shell command "cd "/Users/johnsmac/darwinports/dports/x11/gtk2/work/gtk+-2.6.7" && LDFLAGS="-L/opt/local/lib -lpango-1.0" CPPFLAGS="-I/opt/local/include -no-cpp-precomp -DX_LOCALE" CFLAGS="-O3 -funroll-loops -fstrict-aliasing" ./configure --prefix=/opt/local --disable-shm --disable-gtk-doc --with-included-loaders --mandir=/opt/local/share/man" returned error 1 Command output: checking for stdlib.h... (cached) yes checking for unistd.h... (cached) yes checking for getpagesize... yes checking for working mmap... yes checking for mallinfo... no checking for getresuid... no checking for uid_t in sys/types.h... yes checking for fd_set... yes, found in sys/types.h checking for wchar.h... yes checking for wctype.h... yes checking for iswalnum... yes checking if iswalnum() and friends are properly defined... yes checking for uxtheme.h... no checking whether to build gmodulized gdk-pixbuf... yes checking whether dynamic modules work... yes checking for TIFFReadScanline in -ltiff... yes checking tiffio.h usability... yes checking tiffio.h presence... yes checking for tiffio.h... yes checking for jpeg_destroy_decompress in -ljpeg... yes checking for jpeglib.h... yes checking for jpeg_simple_progression in -ljpeg... yes checking for libpng12... yes checking pixbuf loaders to build... png,bmp,wbmp,gif,ico,ani,jpeg,pnm,ras,tiff,xpm,tga,pcx checking for sys/wait.h that is POSIX.1 compatible... yes checking return type of signal handlers... (cached) void checking for x86 platform... no checking for freetype-config... /opt/local/bin/freetype-config checking For sufficiently new FreeType (at least 2.0.1)... yes configure: error: Xft Pango backend is required for x11 target The following ports are currently installed: abiword 1.0.2_0 (active) AfterStep 2.00.01_0 (active) atk 1.9.0_0 (active) cvs2svn 1.1.0_0 (active) dillo 0.8.4_1 (active) docbook-xml-scrollkeeper 4.2_0 (active) docbook-xsl 1.67.0_0 (active) expat 1.95.8_1 (active) fontconfig 2.2.3_1 (active) freetype 2.1.9_1 (active) gettext 0.14.3_1 (active) gimp 1.2.5_2 (active) glib1 1.2.10_4 (active) glib2 2.6.2_1 (active) gmake 3.80_1 (active) gnome-backgrounds 2.10.0_0 (active) gtk1 1.2.10_6 (active) imlib2 1.1.0_0 (active) intltool 0.33_0 (active) jpeg 6b_0 (active) libiconv 1.9.2_1 (active) libpng 1.2.8_1 (active) libungif 4.1.3_0 (active) libxml2 2.6.16_0 (active) libxslt 1.1.12_0 (active) oroborus 2.0.12_0 (active) p5-xml-parser 2.34_3 (active) pango 1.8.0_0 (active) perl5.8 5.8.6_1 (active) pkgconfig 0.17.2_0 (active) python23 2.3.5_2 (active) render 0.8_2 (active) scrollkeeper 0.3.14_0 (active) tiff 3.7.1_0 (active) windowmaker 0.91.0_0 (active) Xft2 2.1.6_0 (active) xorg X11R6.8.2_0 (active) xrender 0.8.4_0 (active) zlib 1.2.2_1 (active) Xft2 is installed-tried many suggestions from googling. A fink thread suggested that pango1-xft2-dev be installed (+ one other package ) but it's/they're not available from darwinports. I don't want to install fink. Is there any hope for this? |
|
|
|
|
|
#2 |
|
Prospect
Join Date: May 2005
Posts: 19
|
Well, lets break it down. The problem your having is during the configure phase. So if we look in the configure script, we see (in this edited text):
if /opt/local/bin/pkg-config --exists 'pangoxft >= 1.2.0' ; then if $have_freetype ; then else [blah, blah, you ain't got no freetype] fi else { { echo "$as_me:$LINENO: error: Xft Pango backend is required for x11 target" >&5 echo "$as_me: error: Xft Pango backend is required for x11 target" >&2;} fi ----------------------- If you run the command below, do you see yes on a separate line? If no, then you don't pango properly installed.: Code:
pkg-config --exists 'pangoxft >= 1.2.0' && echo yes, I have pangoxft You can reduce the configure logic to: if PANGOXFT_test then if FREETYPE_Test then (its implicit that the first line after an if statement is that the test was true) (its true, I have freetype. Things are looking up)No output (its false) echo "Xft Pango backend found but did not find freetype libraries" end (of FREETYPE_Test if loop) - you passed the freetype_test else (here is where we go if the PANGTOXFT test fails - its basically the same as the pkg-config command above (PANGOXFT_test is false) echo THE ERROR YOU ARE SEEING: "Xft Pango backend is required for x11 target" end if It would seem that what is keeping you from gtk2 is a pangoxft problem. pangoxft comes from pango. I did an lsbom on my package: ./opt/local/lib/pkgconfig/pangoxft.pc 100644 501/80 337 849823468 I even removed that specific file, and sure enough I got zero output from the command above, which would mean that I (like you) would fail this particular test. I believe the fink pango-dev package contains ancillary headers, and this exact pkg-config file. Its stuff that is only useful for compiling software that rests on top of pango (like gtk2) - hence the "-dev" suffix. Darwinports doesn't do the "-dev" or "shlibs" stuff - it ALL gets installed. |
|
|
|
|
|
#3 |
|
Prospect
Join Date: Apr 2005
Posts: 32
|
Thank you s-l-o-w-l-y I am learning. The code you provided returned simply the prompt.
That means pangoxft isn't installed-correct? I don't know how to get pangoxft. I've been to the pango webpage... I think you would recommend using fink to install pango? Problem is will it resolve this or just create other problems? I have some gnu packages ( binutils, primarily, hand installed in an attempt to get garnome to work ) |
|
|
|
|
|
#4 |
|
Prospect
Join Date: May 2005
Posts: 19
|
Correct, pango (probably) isn't installed correctly. Or pkg-config isn't.
pangoxft is a part of pango. Its the "Xft backend". Try first to re-built it from scratch: "port clean pango" and then however you install, but tack a " -v" on at the end for verbose (like "port mpkg gtk2 -v"). In this case, you only need to be missing 1 file (the /opt/local/libs/pkgconfig/pangoxft.pc file) to wreck your whole day. I would look for it when it installs. Fink does things differently. They split-off "-dev" and "-shlibs", but that isn't done in darwinports. "-dev" would mean headers and files useful only for compiling. and pkg-config is useful for compiling, so that is where the pangoxft.pc file would be - in a -dev package. In darwinports, its all unified - a stock build of pango will have that pkgconfig file (if you have pkgconfig installed and working - its all a big pyramid scheme). Fink? FINK? I'm of the mind that fink IS a problem, but I'm a dp-lover, so I'm biased. glorified string-parser, THATs what fink is. Moaners, too. Yup, big whiners and moaners. Mostly moaners. yeah. |
|
|
|
|
|
#5 |
|
Prospect
Join Date: Apr 2005
Posts: 32
|
Thank you once more anaxamander. I am focusing on this pangoxft problem before I get involved in the other (gcc) one. I looked at the man again for port, and read what it said about mpkg. Do you recommend this as the way to install pangoxft/gtk2? Is there an advantage to creating the mpkg? I have, so far, mostly used the install and build commands for installation.
|
|
|
|
|
|
#6 |
|
Prospect
Join Date: Apr 2005
Posts: 32
|
I must be missing something. The "port clean pango" didn't seem to have any effect. and when I do "port installed" pango is still listed and (active).
What didn't I do, or do correctly? Below is the shell output and doing "mpkg" gave the same result. I see that the check for xft is returning "no". $ sudo port clean pango Password: ---> Cleaning pango Johns-Computer:~ johnsmac$ sudo port install gtk2 -v ---> Configuring gtk2 checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for gawk... no checking for mawk... no checking for nawk... no checking for awk... awk checking whether make sets $(MAKE)... yes checking build system type... powerpc-apple-darwin7.9.0 checking host system type... powerpc-apple-darwin7.9.0 checking for native Win32... no checking for gcc... gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ANSI C... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for a sed that does not truncate output... /usr/bin/sed checking for egrep... grep -E checking for ld used by gcc... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... no checking for /usr/bin/ld option to reload object files... -r checking for BSD-compatible nm... /usr/bin/nm -p checking whether ln -s works... yes checking how to recognise dependent libraries... pass_all checking how to run the C preprocessor... gcc -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking dlfcn.h usability... yes checking dlfcn.h presence... yes checking for dlfcn.h... yes checking for g++... g++ checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes checking dependency style of g++... gcc3 checking how to run the C++ preprocessor... g++ -E checking for g77... no checking for f77... no checking for xlf... no -snip- configure: creating libtool appending configuration tag "CXX" to libtool checking for ld used by g++... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... no checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes checking for g++ option to produce PIC... -fno-common checking if g++ PIC flag -fno-common works... yes checking if g++ supports -c -o file.o... yes checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes checking dynamic linker characteristics... darwin7.9.0 dyld checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes appending configuration tag "F77" to libtool checking for special C compiler options needed for large files... no checking for _FILE_OFFSET_BITS value needed for large files... no checking for _LARGE_FILES value needed for large files... no checking whether to enable maintainer-specific portions of Makefiles... no checking for some Win32 platform... no checking whether build environment is sane... yes checking for strerror in -lcposix... no checking for gcc option to accept ANSI C... none needed checking for a BSD-compatible install... /usr/bin/install -c checking whether make sets $(MAKE)... (cached) yes checking for pkg-config... /opt/local/bin/pkg-config checking for glib-2.0 >= 2.6.0 atk >= 1.0.1 pango >= 1.8.0... yes checking BASE_DEPENDENCIES_CFLAGS... -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include/atk-1.0 -I/opt/local/include/pango-1.0 checking BASE_DEPENDENCIES_LIBS... -L/opt/local/lib -lglib-2.0 -lintl -liconv -latk-1.0 -lpango-1.0 checking Whether to write dependencies into .pc files... no checking for perl5... no checking for perl... /opt/local/bin/perl checking for indent... indent -snip- checking for mallinfo... no checking for getresuid... no checking for uid_t in sys/types.h... yes checking for fd_set... yes, found in sys/types.h checking for wchar.h... yes checking for wctype.h... yes checking for iswalnum... yes checking if iswalnum() and friends are properly defined... yes checking for uxtheme.h... no checking whether to build gmodulized gdk-pixbuf... yes checking whether dynamic modules work... yes checking for TIFFReadScanline in -ltiff... yes checking tiffio.h usability... yes checking tiffio.h presence... yes checking for tiffio.h... yes checking for jpeg_destroy_decompress in -ljpeg... yes checking for jpeglib.h... yes checking for jpeg_simple_progression in -ljpeg... yes checking for libpng12... yes checking pixbuf loaders to build... png,bmp,wbmp,gif,ico,ani,jpeg,pnm,ras,tiff,xpm,tga,pcx checking for sys/wait.h that is POSIX.1 compatible... yes checking return type of signal handlers... (cached) void checking for x86 platform... no checking for freetype-config... /opt/local/bin/freetype-config checking For sufficiently new FreeType (at least 2.0.1)... yes configure: error: Xft Pango backend is required for x11 target Error: Target com.apple.configure returned: configure failure: shell command "cd "/Users/johnsmac/darwinports/dports/x11/gtk2/work/gtk+-2.6.7" && LDFLAGS="-L/opt/local/lib -lpango-1.0" CPPFLAGS="-I/opt/local/include -no-cpp-precomp -DX_LOCALE" CFLAGS="-O3 -funroll-loops -fstrict-aliasing" ./configure --prefix=/opt/local --disable-shm --disable-gtk-doc --with-included-loaders --mandir=/opt/local/share/man" returned error 1 Command output: checking for stdlib.h... (cached) yes checking for unistd.h... (cached) yes checking for getpagesize... yes checking for working mmap... yes checking for mallinfo... no checking for getresuid... no checking for uid_t in sys/types.h... yes checking for fd_set... yes, found in sys/types.h checking for wchar.h... yes checking for wctype.h... yes checking for iswalnum... yes checking if iswalnum() and friends are properly defined... yes checking for uxtheme.h... no checking whether to build gmodulized gdk-pixbuf... yes checking whether dynamic modules work... yes -snip checking for freetype-config... /opt/local/bin/freetype-config checking For sufficiently new FreeType (at least 2.0.1)... yes configure: error: Xft Pango backend is required for x11 target Warning: the following items did not execute (for gtk2): com.apple.activate com.apple.configure com.apple.build com.apple.destroot com.apple.archive com.apple.install |
|
|
|
|
|
#7 |
|
Prospect
Join Date: Apr 2005
Posts: 32
|
Here's what I did: I downloaded a bsd version of pango, untarred it and copied the pangoxft.pc file to /opt/local/lib/pkgconfig. OK no xft error BUT....
Now I get into the snag (below)-I went to the pango site but searching the error seems to bring up threads on a gtk bug and no clear solution. anyway heres the shell output once again: checking for XineramaQueryExtension in -lXinerama... yes checking for X11/extensions/Xinerama.h... yes checking for Xinerama support on XFree86... yes checking if <X11/extensions/XIproto.h> is needed for xReply... no checking for XShapeCombineMask in -lXext... yes checking for XConvertCase in -lX11... yes checking for XInternAtoms in -lX11... yes checking for XAddConnectionWatch in -lX11... yes checking for XkbQueryExtension in -lX11... yes checking for XRRUpdateConfiguration in -lXrandr... yes checking for X11/extensions/Xrandr.h... no checking for xcursor... checking for XSyncQueryExtension in -lXext... yes checking for X11/extensions/sync.h... no checking for xfixes... checking Pango flags... -I/usr/local/include/pango-1.0 -I/usr/X11R6/include/freetype2 -I/usr/X11R6/include -I/opt/local/include/pango-1.0 -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -L/usr/local/lib -L/usr/X11R6/lib -L/opt/local/lib -lpangoxft-1.0 -lXft -lfreetype -lXrender -lfontconfig -lpangox-1.0 configure: error: *** Can't link to Pango. Pango is required to build *** GTK+. For more information see http://www.pango.org I'm reading man ld but so far nothing. Thanks in advance for any help on this. (Added later) I found this line: "ld: warning prebinding disabled because dependent library: /opt/local/lib/libpango-1.0.0.dylib is not prebound" repeated many times in /Users/johnsmac/darwinports/dports/x11/gtk2/work/gtk+-2.6.7/config.log And this: "ld: can't locate file for: -lcposix configure:20406: $? = 1 configure: failed program was: | /* confdefs.h. */" Last edited by jxeon; 05-05-2005 at 01:19 AM. |
|
|
|
|
|
#8 |
|
Prospect
Join Date: May 2005
Posts: 19
|
how about:
sudo port clean pango sudo port uninstall pango sudo port install pango -v -------------------------------- If push comes to shove, I know that 1.8.1 compiles fine, and port should compile pango if it sees a new one is available. Unless you have a localports directory, you'll have to alter the pango portfile for these changes: version 1.8.1 checksums md5 88aa6bf1876766db6864f3b93577887c post-destroot { system "ln -fs libpango-1.0.0.800.1.dylib \ ${destroot}${prefix}/lib/libpango.1.dylib" system "ln -fs libpangox-1.0.0.800.1.dylib \ ${destroot}${prefix}/lib/libpangox.1.dylib" system "ln -fs libpangoft2-1.0.0.800.1.dylib \ ${destroot}${prefix}/lib/libpangoft2.1.dylib" ---------------------------------- Do you have these files after you compiled? You can quickly see (without full paths) with "ls -R /opt/local/ | grep pango | grep ft" ./opt/local/include/pango-1.0/pango/pangoft2.h ./opt/local/include/pango-1.0/pango/pangoxft-render.h ./opt/local/include/pango-1.0/pango/pangoxft.h ./opt/local/lib/libpangoft2-1.0.0.800.1.dylib ./opt/local/lib/libpangoft2-1.0.0.dylib ./opt/local/lib/libpangoft2-1.0.dylib ./opt/local/lib/libpangoft2-1.0.la ./opt/local/lib/libpangoft2.1.dylib ./opt/local/lib/libpangoxft-1.0.0.800.1.dylib ./opt/local/lib/libpangoxft-1.0.0.dylib ./opt/local/lib/libpangoxft-1.0.dylib ./opt/local/lib/libpangoxft-1.0.la ./opt/local/lib/pkgconfig/pangoft2.pc ./opt/local/lib/pkgconfig/pangoxft.pc If you see those files, then go onto gtk2. and come to think of it, you probably have port images activated, so you should have that pkg-config file somewhere in like: /opt/local/var/db/dports/software/pango/1.8.0/opt/local/lib/pkgconfig/pangoxft,pc with a symlink to where its /opt location. |
|
|
|
|
|
#9 |
|
Prospect
Join Date: Apr 2005
Posts: 32
|
$ sudo port build gtk2
---> Configuring gtk2 ---> Building gtk2 with target all Wow is this the end of the pango-mango? Gtk2 is building now. I am very grateful-switching to version 1.8.1 (pango) seems to have done it. Is there documentation at darwinports or elsewhere for doing that? I didn't know I could edit the portfile and get a newer pkg. Anyway this pangoxft problem has been with me for months. BTW I had done the make clean, uninstall and install with version 1.8.0 and still had that error-maybe it's an actual bug? Thank you, thank you, thank you!!! Staging gtk2 into destroot ---> Packaging tgz archive for gtk2 2.6.7_0 ---> Installing gtk2 2.6.7_0 ---> Activating gtk2 2.6.7_0 ---> Cleaning gtk2 Last edited by jxeon; 05-05-2005 at 04:52 PM. |
|
|
|
|
|
#10 |
|
Prospect
Join Date: May 2005
Posts: 19
|
http://darwinports.opendarwin.org/docs/ch04s02.html is where you'll find how to make your own basic portfiles. It doesn't explicitly state that "to get a new version, change the version string and put in a new md5", but for a lot of packages, that is exactly what happens.
-------------- Your problem with pango could have been a bug, might have been a whacked out portfile/darwinportbase that existed for 1 day - the day you happened to download darwinports. For all I know, you might have also gotten out of that pango error by adding something like "revision 99" to the pango 1.8.0 portfile and saving it - that could have been the trick to a re-compile. |
|
|
|
![]() |
|
|