Go Back   The macosxhints Forums > OS X Help Requests > UNIX - Newcomers



Reply
 
Thread Tools Rate Thread Display Modes
Old 05-03-2005, 02:00 PM   #1
jxeon
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?
jxeon is offline   Reply With Quote
Old 05-03-2005, 05:45 PM   #2
anaxamander
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.
anaxamander is offline   Reply With Quote
Old 05-03-2005, 11:21 PM   #3
jxeon
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 )
jxeon is offline   Reply With Quote
Old 05-04-2005, 02:09 AM   #4
anaxamander
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.
anaxamander is offline   Reply With Quote
Old 05-04-2005, 11:02 PM   #5
jxeon
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.
jxeon is offline   Reply With Quote
Old 05-04-2005, 11:24 PM   #6
jxeon
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
jxeon is offline   Reply With Quote
Old 05-05-2005, 12:56 AM   #7
jxeon
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.
jxeon is offline   Reply With Quote
Old 05-05-2005, 07:59 AM   #8
anaxamander
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.
anaxamander is offline   Reply With Quote
Old 05-05-2005, 04:37 PM   #9
jxeon
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.
jxeon is offline   Reply With Quote
Old 05-06-2005, 08:13 AM   #10
anaxamander
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.
anaxamander is offline   Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump



All times are GMT -5. The time now is 10:30 PM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2014, vBulletin Solutions, Inc.
Site design © IDG Consumer & SMB; individuals retain copyright of their postings
but consent to the possible use of their material in other areas of IDG Consumer & SMB.