Linux From ScratchThis Forum is for the discussion of LFS.
LFS is a project that provides you with the steps necessary to build your own custom Linux system.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Running BLFS 8. Tried to compile SeaMonkey. It fails, claiming that I need gtk3. The book says gtk2 will work. I detect an inconsistency here. Can someone clue me in?
I am using the mozconfig configuration file, created to match as it appears in the book (no changes to it).
I have all required and recommended dependencies already in.
Log of compilation attempt (showing also the commands as I pasted/type them):
Reexecuting in the virtualenv
Adding configure options from /home/bob/compile/seamonkey-2.46/mozconfig
--disable-dbus
--disable-necko-wifi
--enable-startup-notification
--disable-pulseaudio
--disable-gconf
--enable-system-sqlite
--with-system-libevent
--with-system-libvpx
--with-system-nspr
--with-system-nss
--prefix=/usr
--enable-application=suite
--disable-crashreporter
--disable-updater
--disable-tests
--enable-optimize
--enable-strip
--enable-install-strip
--enable-gio
--enable-official-branding
--enable-safe-browsing
--enable-url-classifier
--enable-system-ffi
--enable-system-pixman
--with-pthreads
--with-system-bz2
--with-system-jpeg
--with-system-png
--with-system-zlib
checking for a shell... /bin/sh
checking for host system type... x86_64-pc-linux-gnu
checking for target system type... x86_64-pc-linux-gnu
checking whether cross compiling... no
checking for pkg_config... /usr/bin/pkg-config
checking for pkg-config version... 0.29.1
checking for tar... /bin/tar
checking for unzip... /usr/bin/unzip
checking for zip... /usr/bin/zip
checking for yasm... /usr/bin/yasm
checking yasm version... 1.3.0
checking for the target C compiler... /usr/bin/gcc
checking whether the target C compiler can be used... yes
checking the target C compiler version... 6.3.0
checking for the target C++ compiler... /usr/bin/g++
checking whether the target C++ compiler can be used... yes
checking the target C++ compiler version... 6.3.0
checking for the host C compiler... /usr/bin/gcc
checking whether the host C compiler can be used... yes
checking the host C compiler version... 6.3.0
checking for the host C++ compiler... /usr/bin/g++
checking whether the host C++ compiler can be used... yes
checking the host C++ compiler version... 6.3.0
checking for awk... /usr/bin/gawk
checking for perl... /usr/bin/perl
checking for minimum required perl version >= 5.006... 5.024001
checking for full perl installation... yes
checking for doxygen... /usr/bin/doxygen
checking for xargs... /usr/bin/xargs
checking for rpmbuild... not found
checking for autoconf... /usr/bin/autoconf2.13
Refreshing /home/bob/compile/seamonkey-2.46/mozilla/old-configure with /usr/bin/autoconf2.13
creating cache ./config.cache
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
checking build system type... x86_64-pc-linux-gnu
checking for objcopy... /usr/bin/objcopy
checking for gcc... /usr/bin/gcc -std=gnu99
checking whether the C compiler (/usr/bin/gcc -std=gnu99 -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2 -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2 ) works... yes
checking whether the C compiler (/usr/bin/gcc -std=gnu99 -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2 -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2 ) is a cross-compiler... no
checking whether we are using GNU C... yes
checking whether /usr/bin/gcc -std=gnu99 accepts -g... yes
checking for c++... /usr/bin/g++ -std=gnu++11
checking whether the C++ compiler (/usr/bin/g++ -std=gnu++11 -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2 -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2 ) works... yes
checking whether the C++ compiler (/usr/bin/g++ -std=gnu++11 -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2 -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2 ) is a cross-compiler... no
checking whether we are using GNU C++... yes
checking whether /usr/bin/g++ -std=gnu++11 accepts -g... yes
checking for ranlib... ranlib
checking for as... /usr/bin/as
checking for ar... ar
checking for ld... ld
checking for strip... strip
checking for windres... no
checking for otool... no
checking for rustc... no
checking how to run the C preprocessor... /usr/bin/gcc -std=gnu99 -E
checking how to run the C++ preprocessor... /usr/bin/g++ -std=gnu++11 -E
checking for make... /usr/bin/make
checking for X... libraries , headers
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 that static assertion macros used in autoconf tests work... yes
checking for --noexecstack option to as... yes
checking for -z noexecstack option to ld... yes
checking for -z text option to ld... yes
checking for --build-id option to ld... yes
checking for --ignore-unresolved-symbol option to ld... yes
checking if toolchain supports -mssse3 option... yes
checking if toolchain supports -msse4.1 option... yes
checking for x86 AVX2 asm support in compiler... yes
checking whether the C compiler supports -Wclass-varargs... no
checking whether the C compiler supports -Wloop-analysis... no
checking whether the C compiler supports -Wthread-safety... no
checking whether the C compiler supports -Wno-error=maybe-uninitialized... yes
checking whether the C compiler supports -Wno-error=deprecated-declarations... yes
checking whether the C compiler supports -Wno-error=array-bounds... yes
checking whether the C++ compiler supports -Wc++11-compat-pedantic... no
checking whether the C++ compiler supports -Wc++14-compat... yes
checking whether the C++ compiler supports -Wc++14-compat-pedantic... no
checking whether the C++ compiler supports -Wc++1z-compat... no
checking whether the C++ compiler supports -Wclass-varargs... no
checking whether the C++ compiler supports -Wimplicit-fallthrough... no
checking whether the C++ compiler supports -Wloop-analysis... no
checking whether the C++ compiler supports -Wthread-safety... no
checking whether the C++ compiler supports -Wno-inline-new-delete... no
checking whether the C++ compiler supports -Wno-error=maybe-uninitialized... yes
checking whether the C++ compiler supports -Wno-error=deprecated-declarations... yes
checking whether the C++ compiler supports -Wno-error=array-bounds... yes
checking for 64-bit OS... yes
checking whether the C++ compiler (/usr/bin/g++ -std=gnu++11 -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2 -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2 -fno-exceptions -fno-strict-aliasing -fno-rtti -Wl,-z,noexecstack -Wl,-z,text -Wl,--build-id) actually is a C++ compiler... 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 whether 64-bits std::atomic requires -latomic... no
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 malloc.h... yes
checking for X11/XKBlib.h... yes
checking for io.h... no
checking for cpuid.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 sys/quota.h... yes
checking for sys/sysmacros.h... yes
checking for linux/quota.h... yes
checking for linux/if_addr.h... yes
checking for linux/rtnetlink.h... yes
checking for sys/queue.h... yes
checking for sys/types.h... yes
checking for netinet/in.h... yes
checking for byteswap.h... yes
checking for sockaddr_in.sin_len... false
checking for sockaddr_in6.sin6_len... false
checking for sockaddr.sa_len... false
checking for linux/perf_event.h... yes
checking for perf_event_open system call... yes
checking for gethostbyname_r in -lc_r... no
checking for library containing dlopen... -ldl
checking for dlfcn.h... yes
checking for dladdr... yes
checking for memmem... 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 XShmCreateImage in -lXext... yes
checking for X11/extensions/scrnsaver.h... yes
checking for XScreenSaverQueryInfo in -lXss... yes
checking for pthread_create in -lpthreads... no
checking for pthread_create in -lpthread... yes
checking whether /usr/bin/gcc -std=gnu99 accepts -pthread... yes
checking for pthread.h... yes
checking whether /usr/bin/gcc -std=gnu99 needs -traditional... no
checking for 8-bit clean memcmp... yes
checking for stat64... yes
checking for lstat64... yes
checking for truncate64... yes
checking for statvfs64... yes
checking for statvfs... yes
checking for statfs64... yes
checking for statfs... yes
checking for getpagesize... yes
checking for gmtime_r... yes
checking for localtime_r... yes
checking for arc4random... no
checking for arc4random_buf... no
checking for mallinfo... yes
checking for gettid... no
checking for lchown... yes
checking for setpriority... yes
checking for strerror... yes
checking for syscall... yes
checking for clock_gettime(CLOCK_MONOTONIC)...
checking for wcrtomb... yes
checking for mbrtowc... yes
checking for res_ninit()... yes
checking for iconv in -lc... yes
checking for iconv()... yes
checking for iconv() with const input... no
checking for nl_langinfo and CODESET... yes
checking for an implementation of va_copy()... yes
checking whether va_list can be copied by value... no
checking whether the C++ "using" keyword resolves ambiguity... yes
checking for C++ dynamic_cast to void*... yes
checking for __thread keyword for TLS variables... yes
checking for __attribute__((always_inline))... yes
checking for LC_MESSAGES... yes
checking for localeconv... yes
checking for malloc.h... (cached) yes
checking for alloca.h... yes
checking for strndup... yes
checking for posix_memalign... yes
checking for memalign... yes
checking for malloc_usable_size... yes
checking for malloc.h... (cached) yes
checking whether malloc_usable_size definition can use const argument... no
checking for valloc in malloc.h... yes
checking for valloc in unistd.h... no
checking NSPR selection... system
checking for nspr-config... /usr/bin/nspr-config
checking for NSPR - version >= 4.12... yes
checking for libevent... yes
checking MOZ_LIBEVENT_CFLAGS...
checking MOZ_LIBEVENT_LIBS... -levent
checking for nss-config... /usr/bin/nss-config
checking for NSS - version >= 3.25... yes
checking for jpeg_destroy_compress in -ljpeg... yes
checking for gzread in -lz... yes
checking for BZ2_bzread in -lbz2... yes
checking for png_get_valid in -lpng... yes
checking for png_get_acTL in -lpng... yes
checking for libffi >= 3.0.9... yes
checking MOZ_FFI_CFLAGS...
checking MOZ_FFI_LIBS... -L/usr/lib/../lib -lffi
checking if app-specific confvars.sh exists... /home/bob/compile/seamonkey-2.46/mozilla/../suite/confvars.sh
checking for gtk+-3.0 >= 3.4.0 gtk+-unix-print-3.0 glib-2.0 gobject-2.0 ... Package gtk+-3.0 was not found in the pkg-config search path. Perhaps you should add the directory containing `gtk+-3.0.pc' to the PKG_CONFIG_PATH environment variable No package 'gtk+-3.0' found Package gtk+-unix-print-3.0 was not found in the pkg-config search path. Perhaps you should add the directory containing `gtk+-unix-print-3.0.pc' to the PKG_CONFIG_PATH environment variable No package 'gtk+-unix-print-3.0' found
configure: error: Library requirements (gtk+-3.0 >= 3.4.0 gtk+-unix-print-3.0 glib-2.0 gobject-2.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.
DEBUG: <truncated - see config.log for full output>
DEBUG: configure:13700: checking for NSS - version >= 3.25
DEBUG: configure:13781: checking for jpeg_destroy_compress in -ljpeg
DEBUG: configure:13800: /usr/bin/gcc -std=gnu99 -o conftest -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2 -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2 -fno-strict-aliasing -fno-math-errno -pthread -lpthread -Wl,-z,noexecstack -Wl,-z,text -Wl,--build-id -B /home/bob/compile/seamonkey-2.46/obj-x86_64-pc-linux-gnu/build/unix/gold conftest.c -ljpeg -ldl 1>&5
DEBUG: configure:13840: /usr/bin/gcc -std=gnu99 -c -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2 -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2 -fno-strict-aliasing -fno-math-errno -pthread conftest.c 1>&5
DEBUG: configure:13887: checking for gzread in -lz
DEBUG: configure:13906: /usr/bin/gcc -std=gnu99 -o conftest -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2 -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2 -fno-strict-aliasing -fno-math-errno -pthread -lpthread -Wl,-z,noexecstack -Wl,-z,text -Wl,--build-id -B /home/bob/compile/seamonkey-2.46/obj-x86_64-pc-linux-gnu/build/unix/gold conftest.c -lz -ldl 1>&5
DEBUG: configure:13941: /usr/bin/gcc -std=gnu99 -c -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2 -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2 -fno-strict-aliasing -fno-math-errno -pthread conftest.c 1>&5
DEBUG: configure:13989: checking for BZ2_bzread in -lbz2
DEBUG: configure:14008: /usr/bin/gcc -std=gnu99 -o conftest -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2 -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2 -fno-strict-aliasing -fno-math-errno -pthread -lpthread -Wl,-z,noexecstack -Wl,-z,text -Wl,--build-id -B /home/bob/compile/seamonkey-2.46/obj-x86_64-pc-linux-gnu/build/unix/gold conftest.c -lbz2 -ldl 1>&5
DEBUG: configure:14057: checking for png_get_valid in -lpng
DEBUG: configure:14076: /usr/bin/gcc -std=gnu99 -o conftest -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2 -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2 -fno-strict-aliasing -fno-math-errno -pthread -lpthread -Wl,-z,noexecstack -Wl,-z,text -Wl,--build-id -B /home/bob/compile/seamonkey-2.46/obj-x86_64-pc-linux-gnu/build/unix/gold conftest.c -lpng -ldl 1>&5
DEBUG: configure:14098: checking for png_get_acTL in -lpng
DEBUG: configure:14117: /usr/bin/gcc -std=gnu99 -o conftest -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2 -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2 -fno-strict-aliasing -fno-math-errno -pthread -lpthread -Wl,-z,noexecstack -Wl,-z,text -Wl,--build-id -B /home/bob/compile/seamonkey-2.46/obj-x86_64-pc-linux-gnu/build/unix/gold conftest.c -lpng -ldl 1>&5
DEBUG: configure:14165: /usr/bin/gcc -std=gnu99 -c -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2 -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2 -fno-strict-aliasing -fno-math-errno -pthread conftest.c 1>&5
DEBUG: configure:14293: checking for libffi >= 3.0.9
DEBUG: configure:14300: checking MOZ_FFI_CFLAGS
DEBUG: configure:14305: checking MOZ_FFI_LIBS
DEBUG: configure:14543: checking if app-specific confvars.sh exists
DEBUG: configure:15475: checking for gtk+-3.0 >= 3.4.0 gtk+-unix-print-3.0 glib-2.0 gobject-2.0
DEBUG: configure: error: Library requirements (gtk+-3.0 >= 3.4.0 gtk+-unix-print-3.0 glib-2.0 gobject-2.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.
ERROR: old-configure failed
*** Fix above errors and then restart with\
"make -f client.mk build"
make[1]: *** [/home/bob/compile/seamonkey-2.46/client.mk:353: configure] Error 1
make[1]: Leaving directory '/home/bob/compile/seamonkey-2.46'
make: *** [client.mk:365: /home/bob/compile/seamonkey-2.46/obj-x86_64-pc-linux-gnu/Makefile] Error 2
bob@artemis:~/compile/seamonkey-2.46 $
Distribution: LFS 9.0 Custom, Merged Usr, Linux 4.19.x
Posts: 616
Rep:
Recent package changes are sometimes overlooked in the books. When last I looked, they were in the process of porting Seamonkey to GTK3. Other packages are too, like Mate. So, I imagine at some point it will become required and maybe the current version has reached that point.
If that isn't the case, the other options are: You enabled something that requires GTK3. You missed something in the instructions. Or, you installed something that was picked up by the build scripts that needs GTK3. I would start by attempting to run confvars.sh by hand and then looking in the script to see if it just checks for GTK3, or checks for it conditionally if something else was found or requested by the build.
seamonkey nowadays defaults to gtk3, but it seems it's still possible to compile it with gtk2.
here's an archlinux PKGBUILD that should help you figure it out:
Code:
pkgname=seamonkey-gtk2
_pkgname=seamonkey
pkgver=2.46
pkgrel=2
pkgdesc="SeaMonkey internet suite (GTK2 version)"
arch=('i686' 'x86_64')
license=('MPL')
depends=('alsa-lib' 'dbus-glib' 'desktop-file-utils' 'gtk2' 'hunspell' 'libevent' 'libnotify' '$
makedepends=('unzip' 'zip' 'pkg-config' 'python2' 'yasm' 'wireless_tools' 'mesa' 'autoconf2.13' 'ima$
optdepends=('gst-plugins-base: vorbis decoding, ogg demuxing'
'gst-plugins-bad: aac, vp8 and opus decoding'
'gst-plugins-good: webm and mp4 demuxing'
'gst-plugins-ugly: h.264 decoding')
url="http://www.seamonkey-project.org/"
provides=("$_pkgname=$pkgver.$pkgrel")
conflicts=("$_pkgname")
source=(https://archive.mozilla.org/pub/mozilla.org/seamonkey/releases/$pkgver/source/seamonkey-$pkgv$
mozconfig
seamonkey-2.0-lang.patch
rhbz-966424.patch
mozbug1323209.patch
mozbug1329272.patch)
sha256sums=('39c84ce6fa1ed7c30152473e0dcd858df07437e84b29e5a18973db437a28a912'
'9a730ec71744e9e674a7922cd573fe2428f39ee53b0c3c8912053a910975f1d8'
'ab19d10fbd6258aec37ab5e5efb12429814b2c24a1193284a48dd654311b4e2e'
'746cb474c5a2c26fc474256e430e035e604b71b27df1003d4af85018fa263f4a'
'87fb92e45f161d47b9e3ca31bcce60555bc33d633116dab4baa3bfba6ad965c4'
'33c7031781357faf5fba7140d7723bf301c1569068922477742ac958ee82e62b')
prepare() {
cd "$_pkgname-$pkgver"
cp ../mozconfig .mozconfig
echo "ac_add_options --enable-default-toolkit=cairo-gtk2" >>.mozconfig
#patch -Np1 -i ../seamonkey-2.0-lang.patch
# FS#48404
#echo "ac_add_options --enable-gstreamer=1.0" >> .mozconfig
# https://bugs.archlinux.org/task/mozbug1329272.patch
# Don't exit with error when some libs are missing which we have in
# system.
sed -i '/^MOZ_PKG_FATAL_WARNINGS/s@= 1@= 0@' suite/installer/Makefile.in
# configure script misdetects the preprocessor without an optimization level
sed -i '/ac_cpp=/s/$CPPFLAGS/& -O2/' configure
# 2.26 build fix from wgnie (blfs ch 37)
sed -i 's/$(MOZ_ZLIB_CFLAGS)/& $(MOZ_PIXMAN_CFLAGS)/' config/config.mk
}
build() {
cd "$_pkgname-$pkgver"
export LDFLAGS="$LDFLAGS -Wl,-rpath,/usr/lib/seamonkey-$pkgver"
export MOZ_MAKE_FLAGS="$MAKEFLAGS"
unset MAKEFLAGS
unset CPPFLAGS
# GCC 6
CFLAGS+=" -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2"
CXXFLAGS+=" -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2"
make -j1 -f client.mk build
}
package() {
cd "$_pkgname-$pkgver"
make -j1 -f client.mk DESTDIR="$pkgdir" INSTALL_SDK= install
rm -rf "$pkgdir"/usr/lib/seamonkey-$pkgver/{dictionaries,hyphenation}
ln -s /usr/share/hunspell "$pkgdir/usr/lib/seamonkey-$pkgver/dictionaries"
ln -s /usr/share/hyphen "$pkgdir/usr/lib/seamonkey-$pkgver/hyphenation"
install -Dm644 suite/branding/nightly/icons/gtk/seamonkey.png \
"$pkgdir/usr/share/pixmaps/seamonkey.png"
install -Dm644 mozilla/toolkit/mozapps/installer/linux/rpm/mozilla.desktop \
"$pkgdir/usr/share/applications/seamonkey.desktop"
sed -i 's/@MOZ_APP_DISPLAYNAME@/SeaMonkey internet suite/' \
"$pkgdir/usr/share/applications/seamonkey.desktop"
sed -i 's/@MOZ_APP_NAME@/seamonkey/' "$pkgdir/usr/share/applications/seamonkey.desktop"
rm -f "$pkgdir/usr/lib/pkgconfig/"seamonkey-ns{s,pr}.pc
#rm -r "$pkgdir"/usr/{include,lib/seamonkey-devel-$pkgver,share/idl}
}
Distribution: Void, Linux From Scratch, Slackware64
Posts: 3,152
Rep:
Found a similar problem with chromium, it wont build the tools without gtk3, even though gtk2 is specifed, after building ldd on the chromium binarys says that they are linked against gtk2, personally i detest gtk3 its the biggest peice of broken crap i' e ever had to use.
Distribution: LFS 9.0 Custom, Merged Usr, Linux 4.19.x
Posts: 616
Rep:
Quote:
Originally Posted by Keith Hedger
personally i detest gtk3 its the biggest peice of broken crap i' e ever had to use.
Sometimes, I think those developers don't know if they're coming or going...
Quote:
The new release of Gtk is going to be fully parallel-installable with the old one. Gtk 4 and Gtk 3 will install alongside each other in exactly the same way as Gtk 2 and Gtk 3 ... (Note how this person says this as if the GTK2/3 divide did not cause an explosion of necessary problems that lasted for years.)
(Later in same post)
Meanwhile, Gtk 4.0 will not be the final stable API of what we would call “Gtk 4”. Each 6 months, the new release (Gtk 4.2, Gtk 4.4, Gtk 4.6) will break API and ABI vs. the release that came before it. These incompatible minor versions will not be fully parallel installable; they will use the same pkg-config name and the same header file directory... (SOURCE)
Emphasis mine. I read sh..stuff like that and say to myself, "This person cannot possibly have an engineering degree. This is how children build 'forts' in the woods or sandcastles on a beach." What moron would put people with that kind of ineptitude for vision and forethought in charge of a software library? Between that and the horrid idea they call "introspection", I have to believe someone is either asleep at the wheel or on drugs on the Gnome team.
Qt and EFL aren't perfect either, but it appears they at least try to be consistent. The GTK people are basically saying that they're planning to change their mind at regular intervals.
Distribution: Void, Linux From Scratch, Slackware64
Posts: 3,152
Rep:
+1000
Alas as a small developer I have to put up with all the breakages caused by gtk3, I am slowly transferring all my projects to QT but it's sllooooowww.
The md5sum of the source tar matches what is in the BLFS8 book. This means that the version I downloaded is the version that was used/tested/tried at the time before this version of the book was released. So in order for me to have downloaded a version that fails to compile as instructed in the book, the authors of said book would have failed to actually check that the package compiles as per their instructions. Either that or the md5sum was deliberately fudged later on by the mozilla developers. Possible, but unlikely: why would they bother?
Here is a quote from the BLFS8 book, with regard to
SeaMonkey's dependencies:
Quote:
SeaMonkey Dependencies
Required
alsa-lib-1.1.3, Autoconf-2.13, GTK+-2.24.31, UnZip-6.0, yasm-1.3.0, and
Zip-3.0
Recommended
ICU-58.2, libevent-2.1.8, libvpx-1.6.1, NSPR-4.13.1, NSS-3.29, and
SQLite-3.17.0
Now maybe my eyesight is failing, but I am sure that I see a "GTK+-2" in there, and do not see a "GTK 3". Again, I would think that the developers of BLFS would have checked something like that before commiting the book for stable release.
There are multiple confvars.sh files. The one in the suite directory seemed likely to be the one most likely to be relavent. Looking thruogh that, and then some trial and error, proved to be a waste of time.
Deciding to use the mozconfig file to nudge the compile process towards gtk2 and away
from gtk3, I added the following line:
Aside from that, my mozconfig is still as it is in the book. Unfortunately, that did not fix anything and did not change the error message.
@ondoho: i will see if I can give that a try. Thank you.
Thank you, all, for the replies. This stuff is rocket science, so I need all the advice I can get.
p.s. Honestly, my impression was the the unix community at large was simply ignoring gtk3 and going about their business as if gtk2 was the one-and-only version. Whatever. Now if gtk3 had a built in compatibility layer for gtk2 and gtk, analogous to how alsa has one for oss, that would be a different story.
p.p.s. @Keith Hedger: Oh, I agree, totally ... it's just that I've made some nice themes for gtk2. Sigh. :/
Last edited by jr_bob_dobbs; 06-01-2017 at 07:31 AM.
bob@artemis:~/compile/seamonkey-2.46 $ ../compile_seamonkey.sh
mkdir -p '/home/bob/compile/seamonkey-2.46/obj-x86_64-pc-linux-gnu/'
> /home/bob/compile/seamonkey-2.46/obj-x86_64-pc-linux-gnu/.mozconfig.mk
Generating /home/bob/compile/seamonkey-2.46/configure
sed '1,/^divert/d' /home/bob/compile/seamonkey-2.46/configure.in > /home/bob/compile/seamonkey-2.46/configure
chmod +x /home/bob/compile/seamonkey-2.46/configure
Generating /home/bob/compile/seamonkey-2.46/mozilla/configure
sed '1,/^divert/d' /home/bob/compile/seamonkey-2.46/mozilla/configure.in > /home/bob/compile/seamonkey-2.46/mozilla/configure
chmod +x /home/bob/compile/seamonkey-2.46/mozilla/configure
Generating /home/bob/compile/seamonkey-2.46/mozilla/js/src/configure
sed '1,/^divert/d' /home/bob/compile/seamonkey-2.46/mozilla/js/src/configure.in > /home/bob/compile/seamonkey-2.46/mozilla/js/src/configure
chmod +x /home/bob/compile/seamonkey-2.46/mozilla/js/src/configure
make[1]: Entering directory '/home/bob/compile/seamonkey-2.46'
cd /home/bob/compile/seamonkey-2.46/obj-x86_64-pc-linux-gnu
/home/bob/compile/seamonkey-2.46/configure
Creating Python environment
New python executable in /home/bob/compile/seamonkey-2.46/obj-x86_64-pc-linux-gnu/_virtualenv/bin/python2.7
Also creating executable in /home/bob/compile/seamonkey-2.46/obj-x86_64-pc-linux-gnu/_virtualenv/bin/python
Installing setuptools, pip, wheel...done.
running build_ext
copying build/lib.linux-x86_64-2.7/psutil/_psutil_linux.so -> psutil
copying build/lib.linux-x86_64-2.7/psutil/_psutil_posix.so -> psutil
Reexecuting in the virtualenv
ERROR: Cannot find project browser
*** Fix above errors and then restart with\
"make -f client.mk build"
make[1]: *** [/home/bob/compile/seamonkey-2.46/client.mk:353: configure] Error 1
make[1]: Leaving directory '/home/bob/compile/seamonkey-2.46'
make: *** [client.mk:365: /home/bob/compile/seamonkey-2.46/obj-x86_64-pc-linux-gnu/Makefile] Error 2
bob@artemis:~/compile/seamonkey-2.46 $
contents of my mozconfig:
Code:
# my additions:
#ac_add_options --enable-default-toolkit=cairo-gtk2
ac_add_options --enable-default-toolkit=cairo-gtk2-x11
ac_add_options --enable-application=browser
#end my additions
# as per the blfs8 book:
# If you have a multicore machine, all cores will be used by default.
# If desired, you can reduce the number of cores used, e.g. to 1, by
# uncommenting the next line and setting a valid number of CPU cores.
#mk_add_options MOZ_MAKE_FLAGS="-j1"
# If you have installed DBus-Glib comment out this line:
ac_add_options --disable-dbus
# If you have installed dbus-glib, and you have installed (or will install)
# wireless-tools, and you wish to use geolocation web services, comment out
# this line
ac_add_options --disable-necko-wifi
# Uncomment these two lines if you have installed optional dependencies:
#ac_add_options --enable-system-hunspell
#ac_add_options --enable-startup-notification
# Comment out the following option if you have PulseAudio installed
ac_add_options --disable-pulseaudio
# Comment out following option if you have gconf installed
ac_add_options --disable-gconf
# Comment out following options if you have not installed
# recommended dependencies:
ac_add_options --enable-system-sqlite
ac_add_options --with-system-libevent
ac_add_options --with-system-libvpx
ac_add_options --with-system-nspr
ac_add_options --with-system-nss
# Us the internal version of icu due to execution problems
#ac_add_options --with-system-icu
# The BLFS editors recommend not changing anything below this line:
ac_add_options --prefix=/usr
ac_add_options --enable-application=suite
ac_add_options --disable-crashreporter
ac_add_options --disable-updater
ac_add_options --disable-tests
ac_add_options --enable-optimize
ac_add_options --enable-strip
ac_add_options --enable-install-strip
ac_add_options --enable-gio
ac_add_options --enable-official-branding
ac_add_options --enable-safe-browsing
ac_add_options --enable-url-classifier
# Use internal cairo due to reports of unstable execution with
# system cairo
#ac_add_options --enable-system-cairo
ac_add_options --enable-system-ffi
ac_add_options --enable-system-pixman
ac_add_options --with-pthreads
ac_add_options --with-system-bz2
ac_add_options --with-system-jpeg
ac_add_options --with-system-png
ac_add_options --with-system-zlib
# actual end of this file
compile_mozzilla.sh is a simple script to do the copy-in sed and ../configure as in the book. Here are the relavent lines:
Code:
# pre-configure tweaks
CFLAGS_HOLD=$CFLAGS
CXXFLAGS_HOLD=$CXXFLAGS
EXTRA_FLAGS=" -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2"
export CFLAGS+=$EXTRA_FLAGS
export CXXFLAGS+=$EXTRA_FLAGS
unset EXTRA_FLAGS
sed -e 's/256/224/' \
-i mozilla/netwerk/protocol/http/Http2Session.cpp &&
sed -e '/version=/s/:space:/[&]/' \
-i ./mozilla/build/autoconf/icu.m4 &&
sed -e s/_EVENT_SIZEOF/EVENT__SIZEOF/ \
-i mozilla/ipc/chromium/src/base/message_pump_libevent.cc
make -f client.mk
The original error of the gtk3 is gone. In that regard, I suppose the original topic of this thread is solved. Problem is, a new problem. And it is not like the error message has any hint as to what the problem is. Whatever.
(an equals sign before cairo-gtk). The configure script for 2.49.1 doesn't output all of the available configure options when "--help" is passed so that may be hard to figure out.
For the last post, ac_add_options --enable-application=suite should be used for SeaMonkey instead of ...=browser. I'm not sure that option even needs to be passed at all with recent versions.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.