mozilla configure says: checking for xft... Package xft was not found in the pkg-config search path. Perhaps you should add the directory containing `xft.pc' to the PKG_CONFIG_PATH environment variable No package 'xft' found configure: error: Library requirements (xft) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.
cvs update and try again .. just check that its: mozilla-1.2.ebuild,v 1.6 2002/12/04
you have gtk2 enabled in your USE without xft being installed (all versions are masked as well) which is causing this error. if you change gtk2 to -gtk2 then the ebuild will build the Xft support it needs statically and your error will disappear.
Not 100%, no. It checked if xft or pango-1.1 was installed. Guess he had pango-1.1, but not Xft.
Confirmed for mozilla 1.2.1 Aren't both pango 1.1 and xft masked? So what is the legal way to do it? I get the same xft-error.
Confirmed for 1.2.1 ? This is from the 1.2.1 ebuild. If "gtk2" is in USE, it do not enable if pkg-config do not detect Xft2.0. If "gtk2" is NOT in USE, then we compile and install our own. ------------------------------------------------- if [ -n "`use gtk2`" ] then # Only enable Xft if we have Xft2.0 installed ... if pkg-config xft 2> /dev/null then einfo "Building with Xft2.0 support!" myconf="${myconf} --enable-xft" else myconf="${myconf} --disable-xft" fi else einfo "Building with Xft2.0 support!" myconf="${myconf} --enable-xft" fi ------------------------------------------------------
> Confirmed for mozilla 1.2.1 If you cp'd the 1.2 ebuild over to 1.2.1, its possible. If you used the 1.2.1 I commited, Its been fixed (except maybe in some wierd instance if you say dont have pkg-config installed .. but that is a DEPEND and NOT masked ... ) > Aren't both pango 1.1 and xft masked? So what is the legal way to do it? I get > the same xft-error. Yes, that is why I used pkg-config to detect their presence, and did NOT put them in DEPEND. If pkg-config did not detect them, it disables Xft ...
Azarah, I use your mozilla ebuild. pkg-config is installed. gtk2 is in my useflags. When I emerge mozilla 1.2.1, I get exactly the same error as described in comment #1. pkg-config xft doesn't yield any form of output.
..sorry, in stead of comment #1 I ment the original error created with this bug.
------------------------------------------------------------------ workshop mozilla # pkg-config xft && echo yes workshop mozilla # ebuild /usr/portage/x11-libs/xft/xft-2.0-r1.ebuild merge >>> md5 ;-) fcpackage.2_0.tar.gz >>> Unpacking source... ... >>> /usr/X11R6/lib/libXft.so -> ../../lib/libXft.so.2.0 * Your old Xft includes have been saved to /root/.Xft >>> Regenerating /etc/ld.so.cache... >>> x11-libs/xft-2.0-r1 merged. workshop mozilla # pkg-config xft && echo yes yes workshop mozilla # ------------------------------------------------------------------ Anything more I need to say ?
Not untill my re-emerge of mozilla 1.2.1 is complete ;)
What I meant, was that pkg-config should fail if xft is not installed, disabling xft support because of that if statement .... Hanno, where are you ? You cant file a bug and expect if to be resolved if you do not give feedback.
Azarah, after a bit pondering, ofcourse the syntax of this if-statement is incorrect. "if pkg-config xft 2> /dev/null" will always be 1 unless pkg-config errors out. In another way, this means "If pkg-config xft exits without an error code". Not whether or not xft is actually installed. Mark
if pkg-config xft 2> /dev/null could be replaced by: if [ "`pkg-config xft && echo yes`" == "yes" ]
So does it in its current form fail for you ? It works fine on my Xft2 enabled AND my other box that do not have Xft2 installed ...
It failed before I issued `ebuild /usr/portage/x11-libs/xft/xft-2.0-r1.ebuild merge': it acted like xft was installed. Maybe it worked for you because you had the file "xft.pc" somewhere. I hadn't such a file thus the emerge failed.
No, you do not understand ... look at the following bit if "gtk2" in USE ... -------------------------------- # Only enable Xft if we have Xft2.0 installed ... if pkg-config xft 2> /dev/null then einfo "Building with Xft2.0 support!" myconf="${myconf} --enable-xft" else myconf="${myconf} --disable-xft" fi -------------------------------- Basicaly, 'pkg-config xft' will return true if Xft2.0 is installed. Thus, if 'pkg-config xft' returns 0, then pass '--enable-xft' to ./configure, else if 'pkg-config xft' returns 1 (fail), pass '--disable-xft' to ./configure So, if you have Xft2 present in your system, build mozilla with Xft support, else disable it. And it does work fine here like that ....
Ok, then I was wrong with comment #12 and #13. I am out of options, but I merged xft now and am compiling mozilla. What fronzes my eyebrows are that my mozilla ebuild wanted to merge with Xft-support no matter what the if-statement returns.
Not here .. notice it does not print the Xft stuff, and it do not fail on configure. --------------------------------------------------------------- workshop mozilla # USE=gtk2 ebuild mozilla-1.2.1.ebuild compile >>> md5 ;-) mozilla-source-1.2.1.tar.bz2 >>> md5 ;-) enigmail-0.71.0.tar.gz >>> md5 ;-) ipc-1.0.1.tar.gz >>> md5 ;-) fcpackage.2_0.tar.gz * Configuring Mozilla... loading cache ./config.cache checking host system type... i686-pc-linux-gnu checking target system type... i686-pc-linux-gnu checking build system type... i686-pc-linux-gnu checking for gcc... gcc checking whether the C compiler (gcc -mcpu=i686 -march=i686 -O3 -pipe ) works... yes checking whether the C compiler (gcc -mcpu=i686 -march=i686 -O3 -pipe ) is a cross-compiler... no checking whether we are using GNU C... yes checking whether gcc accepts -g... yes checking for c++... gcc checking whether the C++ compiler (gcc -mcpu=i686 -march=i686 -O3 -pipe -Wno-deprecated ) works... yes checking whether the C++ compiler (gcc -mcpu=i686 -march=i686 -O3 -pipe -Wno-deprecated ) is a cross-compiler... no checking whether we are using GNU C++... yes checking whether gcc accepts -g... yes checking for ranlib... ranlib checking for as... /usr/bin/as checking for ar... /usr/bin/ar checking for ld... /usr/bin/ld checking for strip... /usr/bin/strip checking for dlltool... no checking whether gcc and cc understand -c and -o together... yes checking how to run the C preprocessor... gcc -E checking how to run the C++ preprocessor... gcc -E checking for a BSD compatible install... /bin/install -c checking whether ln -s works... yes checking for mawk... no checking for gawk... gawk checking for perl5... no checking for perl... /usr/bin/perl checking for minimum required perl version >= 5.004... 5.006001 checking for full perl installation... yes checking for doxygen... : checking for whoami... /usr/bin/whoami checking for autoconf... /usr/bin/autoconf checking for unzip... /usr/bin/unzip checking for zip... /usr/bin/zip checking for makedepend... /usr/X11R6/bin/makedepend checking for xargs... /usr/bin/xargs checking for gmake... /usr/bin/gmake checking whether /usr/bin/gmake sets ${MAKE}... yes checking for X... libraries /usr/X11R6/lib, headers /usr/X11R6/include checking for dnet_ntoa in -ldnet... no checking for dnet_ntoa in -ldnet_stub... no checking for gethostbyname... yes checking for connect... yes checking for remove... yes checking for shmat... yes checking for IceConnectionNumber in -lICE... yes checking whether ld has archive extraction flags... yes checking for ANSI C header files... yes checking for working const... yes checking for mode_t... yes checking for off_t... yes checking for pid_t... yes checking for size_t... yes checking for uid_t in sys/types.h... yes checking for st_blksize in struct stat... yes checking for siginfo_t... yes checking for int16_t... yes checking for int32_t... yes checking for int64_t... yes checking for int64... no checking for uint... yes checking for uint_t... no checking for uint16_t... no checking for uname.domainname... no checking for uname.__domainname... yes checking for 64-bit OS... no checking for usable wchar_t (2 bytes, unsigned)... no checking for compiler -fshort-wchar option... no checking for wcrtomb... yes checking for mbrtowc... yes checking for dirent.h that defines DIR... yes checking for opendir in -ldir... no checking for sys/byteorder.h... no checking for compat.h... no checking for getopt.h... yes checking for sys/bitypes.h... yes checking for memory.h... yes checking for unistd.h... yes checking for gnu/libc-version.h... yes checking for nl_types.h... yes checking for X11/XKBlib.h... yes checking for sys/statvfs.h... yes checking for sys/statfs.h... yes checking for sys/vfs.h... yes checking for sys/mount.h... yes checking for mmintrin.h... no checking for new... yes checking for sys/cdefs.h... yes checking for gethostbyname_r in -lc_r... no checking for atan in -lm... yes checking for dlopen in -ldl... yes checking for socket in -lsocket... no checking for XDrawLines in -lX11... yes checking for XextAddDisplay in -lXext... yes checking for XtFree in -lXt... yes checking for XineramaIsActive in -lXinerama... yes checking for X11/extensions/Xinerama.h... yes checking for XShmCreateImage in -lXext... yes checking for X11/extensions/XShm.h... yes checking for XieFloGeometry in -lXIE... no checking for X11/extensions/XIElib.h... no checking for pthread_create in -lpthreads... no checking for pthread_create in -lpthread... yes checking whether gcc accepts -pthread... yes checking whether mmap() sees write()s... yes checking whether gcc needs -traditional... no checking for 8-bit clean memcmp... yes checking for random... yes checking for strerror... yes checking for lchown... yes checking for fchmod... yes checking for snprintf... yes checking for statvfs... yes checking for memmove... yes checking for rint... yes checking for nl_langinfo... yes checking for flockfile... yes checking for localtime_r... yes checking for strtok_r... yes checking for res_ninit()... yes checking for gnu_get_libc_version()... yes checking for iconv in -liconv... no checking for libiconv in -liconv... no checking for iconv()... yes checking for iconv() with const input... no checking whether va_list assignments need array notation... no checking for C++ exceptions flag... -fno-exceptions checking for gcc 3.0 ABI... no checking for ios::binary... yes checking for ios::bin... yes checking for C++ "explicit" keyword... yes checking for C++ template specialization support... yes checking for modern C++ template specialization syntax support... yes checking whether partial template specialization works... yes checking whether operators must be re-defined for templates derived from templates... no checking whether we need to cast a derived template to pass as its base class... no checking whether the compiler can resolve const ambiguities for templates... yes checking whether the C++ "using" keyword can change access... no checking whether the C++ "using" keyword resolves ambiguity... no checking for "std::" namespace... yes checking whether standard template operator!=() is ambiguous... unambiguous checking for C++ reinterpret_cast... yes checking for C++ dynamic_cast to void*... yes checking whether C++ requires implementation of unused virtual methods... yes checking for trouble comparing to zero near std::operator!=()... no checking for LC_MESSAGES... yes checking for zlib.h... yes checking for gzread in -lz... yes checking for pkg-config... /usr/bin/pkg-config checking for gtk+-2.0 >= 1.3.7... yes checking MOZ_GTK2_CFLAGS... -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/X11R6/include -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include checking MOZ_GTK2_LIBS... -Wl,--export-dynamic -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangoxft-1.0 -lpangox-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 checking for freetype-config... /usr/bin/freetype-config checking for FreeType - version >= 6.1.0... yes checking for XpGetPrinterList in -lXp... yes configure: warning: Cannot build venkman without JavaScript debug library. Removing venkman from MOZ_EXTENSIONS. checking for __builtin_vec_new... yes checking for __builtin_vec_delete... yes checking for __builtin_new... yes checking for __builtin_delete... yes checking for __pure_virtual... yes checking for cplus_demangle in -liberty... yes checking for gcc -pipe support... yes checking for correct overload resolution with const and templates... no checking whether compiler supports -Wno-long-long... yes checking for libIDL-2.0 >= 0.8.0... yes checking LIBIDL_CFLAGS... -I/usr/include/libIDL-2.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include checking LIBIDL_LIBS... -lIDL-2 -lglib-2.0 creating mozilla-config.h ==== mozilla-config.h ================================= /* List of defines generated by configure. Included with preprocessor flag, * -include, to avoid long list of -D defines on the compile command-line. * Do not edit. */ #ifndef _MOZILLA_CONFIG_H_ #define _MOZILLA_CONFIG_H_ #define ACCESSIBILITY 1 #define CPP_THROW_NEW throw() #define D_INO d_ino #define FUNCPROTO 15 #define HAVE_CPP_DYNAMIC_CAST_TO_VOID_PTR 1 #define HAVE_CPP_EXPLICIT 1 #define HAVE_CPP_MODERN_SPECIALIZE_TEMPLATE_SYNTAX 1 #define HAVE_CPP_NAMESPACE_STD 1 #define HAVE_CPP_NEW_CASTS 1 #define HAVE_CPP_PARTIAL_SPECIALIZATION 1 #define HAVE_CPP_SPECIALIZATION 1 #define HAVE_CPP_UNAMBIGUOUS_STD_NOTEQUAL 1 #define HAVE_DIRENT_H 1 #define HAVE_FCHMOD 1 #define HAVE_FLOCKFILE 1 #define HAVE_GETOPT_H 1 #define HAVE_GNU_GET_LIBC_VERSION 1 #define HAVE_GNU_LIBC_VERSION_H 1 #define HAVE_I18N_LC_MESSAGES 1 #define HAVE_ICONV 1 #define HAVE_INT16_T 1 #define HAVE_INT32_T 1 #define HAVE_INT64_T 1 #define HAVE_IOS_BIN 1 #define HAVE_IOS_BINARY 1 #define HAVE_LCHOWN 1 #define HAVE_LIBDL 1 #define HAVE_LIBM 1 #define HAVE_LOCALTIME_R 1 #define HAVE_MBRTOWC 1 #define HAVE_MEMMOVE 1 #define HAVE_MEMORY_H 1 #define HAVE_NL_LANGINFO 1 #define HAVE_NL_TYPES_H 1 #define HAVE_RANDOM 1 #define HAVE_RES_NINIT 1 #define HAVE_RINT 1 #define HAVE_SIGINFO_T 1 #define HAVE_SNPRINTF 1 #define HAVE_STATVFS 1 #define HAVE_STRERROR 1 #define HAVE_STRTOK_R 1 #define HAVE_ST_BLKSIZE 1 #define HAVE_SYS_BITYPES_H 1 #define HAVE_SYS_CDEFS_H 1 #define HAVE_SYS_MOUNT_H 1 #define HAVE_SYS_STATFS_H 1 #define HAVE_SYS_STATVFS_H 1 #define HAVE_SYS_VFS_H 1 #define HAVE_UINT 1 #define HAVE_UNAME_US_DOMAINNAME_FIELD 1 #define HAVE_UNISTD_H 1 #define HAVE_WCRTOMB 1 #define HAVE_X11_XKBLIB_H 1 #define HAVE_XSHM 1 #define HAVE___BUILTIN_DELETE 1 #define HAVE___BUILTIN_NEW 1 #define HAVE___BUILTIN_VEC_DELETE 1 #define HAVE___BUILTIN_VEC_NEW 1 #define HAVE___PURE_VIRTUAL 1 #define IBMBIDI 1 #define INCLUDE_XUL 1 #define JS_THREADSAFE 1 #define MOZ_ACCESSIBILITY_ATK 1 #define MOZ_DEFAULT_MOZILLA_FIVE_HOME "/usr/lib/mozilla" #define MOZ_DEFAULT_TOOLKIT "gtk2" #define MOZ_DISABLE_DTD_DEBUG 1 #define MOZ_DLL_SUFFIX ".so" #define MOZ_ENABLE_COREXFONTS 1 #define MOZ_ENABLE_OLD_ABI_COMPAT_WRAPPERS 1 #define MOZ_ENABLE_XREMOTE 1 #define MOZ_LOGGING 1 #define MOZ_MATHML 1 #define MOZ_USER_DIR ".mozilla" #define MOZ_WIDGET_GTK2 1 #define MOZ_X11 1 #define MOZ_XUL 1 #define NEED_CPP_UNUSED_IMPLEMENTATIONS 1 #define NEW_H <new> #define NS_MT_SUPPORTED 1 #define NS_PRINTING 1 #define NS_PRINT_PREVIEW 1 #define STDC_HEADERS 1 #define UNIX_ASYNC_DNS 1 #define USE_IMG2 1 #define XP_UNIX 1 #define _POSIX_SOURCE 1 #define _REENTRANT 1 #define _SVID_SOURCE 1 #endif /* _MOZILLA_CONFIG_H_ */
The 1.2.1 ebuild currently has a wrong digest. The problem is not on my pc, but on the pc of a friend. He now disabled gtk2.
Dont tell me they went and changed the tarball again ?
Created attachment 6223 [details] Output of mozilla-merge This is the output of an `emerge mozilla'. gtk and gtk2 are both in my make.conf (does that make the difference?) and xft is unmerged. Notice the configure-process errors out. When I put -gtk2 in my useflags, mozilla will build again.
Ok, fixed the digest, and tweaked the detection code a bit. Still test fine this side, just check that you have: mozilla-1.2.1.ebuild,v 1.2 2002/12/05 14:16:44 and let me know.
> Just check that you have: > mozilla-1.2.1.ebuild,v 1.2 2002/12/05 14:16:44 > and let me know. It has no trouble compiling anymore. Did you change anything? For as far as I'm concerned this bug may be closed. Let's wait for Hanno's input though. Thanks for the help, Azarah :) Mark
*** Bug 11623 has been marked as a duplicate of this bug. ***
Yep, ripped out the if '[ -n "${MOZ_ENABLE_XFT}" ]', and changed ------------------- if [ -n "`use gtk2`" ] then # Only enable Xft if we have Xft2.0 installed ... if pkg-config xft 2> /dev/null then einfo "Building with Xft2.0 support!" myconf="${myconf} --enable-xft" else myconf="${myconf} --disable-xft" fi else einfo "Building with Xft2.0 support!" myconf="${myconf} --enable-xft" fi ------------------------------ To: ------------------------------- if [ -n "`use gtk2`" ] then # Only enable Xft if we have Xft2.0 installed ... if (test -x /usr/bin/pkg-config) && (pkg-config xft) then einfo "Building with Xft2.0 support!" myconf="${myconf} --enable-xft" else ewarn "Building without Xft2.0 support!" myconf="${myconf} --disable-xft" fi else einfo "Building with Xft2.0 support!" myconf="${myconf} --enable-xft" fi ------------------------ You still had 'gtk2' in USE, and x11-libs/xft NOT installed ?
Indeed, and that works perfectly now :) It's not compiled yet but as soon as it has I'll tell you the results. Great work so far :)
Ok Azarah, it's compiled without a problem. Just one minor question: does gtk2 stop antialiasing for fonts? Nothing is antialiased anymore. (I'm not fully updated on Xft and freetype and so)
Question if I may ... why do you compile with gtk2 ? For galeon-cvs ? And why if for galeon-cvs ? Why I ask, is because without 'gtk2', mozilla will do AA with Xft2.0 which is really nice, and if you merge galeon-1.2.7 against it, its a real stable combination with pages rendered AA as well :) See: http://cvs.gentoo.org/~azarah/galeon-1.2.7.png
Ok, was a commit collide there. Well, problem with 1.2, is that for AA fonts, you need Xft2.0. Thus, if you do not have 'gtk2' in USE, the moz ebuild build and install it in /usr/lib/mozilla. If 'gtk2' is in USE, we cannot build with Xft2.0 support if you do not have pango-1.1, as it then links to Xft1.1 *and* Xft2.0 and cause it to segfault (reminds me now why I had the pango check).
Ah, explains the segfault ;) Well it was basically just to see the differences as I use the browser mozilla, no galeon or whatever (fluxbox all the way ;). I have to say there are some nice things in Mozilla+gtk2 but these are minor things. I had random crashes too and lockups when I compiled it against gtk, I want to see if gtk2 will prevent this. Anyway, it's good these small bug-kinda-things are found, better now than when mozilla+gtk2 would be a standard.
Ok, added the pango check back again: ------------------------------- if [ -n "`use gtk2`" ] then local pango_version="" # We need Xft2.0 localy installed if (test -x /usr/bin/pkg-config) && (pkg-config xft) then pango_version="`pkg-config --modversion pango | cut -d. -f1,2`" pango_version="`echo ${pango_version} | sed -e 's:\.::g'`" # We also need pango-1.1, else Mozilla links to both # Xft1.1 *and* Xft2.0, and segfault... if [ "${pango_version}" -gt "10" ] then einfo "Building with Xft2.0 support!" myconf="${myconf} --enable-xft" else ewarn "Building without Xft2.0 support!" myconf="${myconf} --disable-xft" fi else ewarn "Building without Xft2.0 support!" myconf="${myconf} --disable-xft" fi else einfo "Building with Xft2.0 support!" myconf="${myconf} --enable-xft" fi ----------------------------------- If you want to help the Xft2.0 testing, check: bug #10834
This should be fixed now.