NetBSD Problem Report #34677

From www@NetBSD.org  Sat Sep 30 22:26:32 2006
Return-Path: <www@NetBSD.org>
Received: by narn.NetBSD.org (Postfix, from userid 31301)
	id A615463B8CA; Sat, 30 Sep 2006 22:26:32 +0000 (UTC)
Message-Id: <20060930222632.A615463B8CA@narn.NetBSD.org>
Date: Sat, 30 Sep 2006 22:26:32 +0000 (UTC)
From: dhgutteridge@sympatico.ca
Reply-To: dhgutteridge@sympatico.ca
To: gnats-bugs@NetBSD.org
Subject: multimedia/totem for Gnome 2.16 fails to build on NetBSD 3.0.1/macppc
X-Send-Pr-Version: www-1.0

>Number:         34677
>Category:       pkg
>Synopsis:       multimedia/totem for Gnome 2.16 fails to build on NetBSD 3.0.1/macppc
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Sep 30 22:30:00 +0000 2006
>Last-Modified:  Wed Dec 05 03:55:01 +0000 2007
>Originator:     David H. Gutteridge
>Release:        3.0.1/macppc
>Organization:
>Environment:
NetBSD arcusv.nonus-porta.net 3.0.1 NetBSD 3.0.1 (ARCUSV) #0: Wed Jul 26 22:15:18 EDT 2006  root@arcusv.nonus-porta.net:/usr/src/sys/arch/macppc/compile/ARCUSV macppc

>Description:
Trying to compile multimedia/totem 2.16 fails during the configure
stage.

=> Required installed package digest>=20010302: digest-20050731 found
===> Checking for vulnerabilities in totem-2.16.0nb1
=> Checksum SHA1 OK for totem-2.16.0.tar.gz
=> Checksum RMD160 OK for totem-2.16.0.tar.gz
===> Installing dependencies for totem-2.16.0nb1
=> Required installed package libtool-base>=1.5.18nb5: libtool-base-1.5.22 found
=> Required installed package intltool>=0.35: intltool-0.35.0 found
=> Required installed package gmake>=3.78: gmake-3.81 found
=> Required installed package perl>=5.0: perl-5.8.8nb1 found
=> Required installed package pkg-config>=0.19: pkg-config-0.20 found
=> Required installed package x11-links>=0.25: x11-links-0.28 found
=> Required installed package gnome-doc-utils>=0.8.0: gnome-doc-utils-0.8.0 found
=> Required installed package randrproto>=1.1.1: randrproto-1.1.2 found
=> Required installed package renderproto>=0.9.1: renderproto-0.9.2 found
=> Required installed package fixesproto>=3.0.0: fixesproto-3.0.2 found
=> Required installed package xextproto>=7.0: xextproto-7.0.2 found
=> Required installed package xproto>=6.6: xproto-7.0.4 found
=> Required installed package xdg-dirs>=1.1: xdg-dirs-1.4 found
=> Required installed package gnome2-dirs>=1.5: gnome2-dirs-1.6 found
=> Required installed package hicolor-icon-theme>=0.9nb1: hicolor-icon-theme-0.9nb1 found
=> Required installed package desktop-file-utils>=0.10nb1: desktop-file-utils-0.11 found
=> Required installed package nautilus>=2.16.0nb1: nautilus-2.16.0nb1 found
=> Required installed package gnome-icon-theme>=2.12.1nb2: gnome-icon-theme-2.16.0.1 found
=> Required installed package iso-codes>=0.50: iso-codes-0.53 found
=> Required installed package scrollkeeper>=0.3.14nb8: scrollkeeper-0.3.14nb10 found
=> Required installed package gnome-desktop>=2.16.0nb1: gnome-desktop-2.16.0nb2 found
=> Required installed package libgnomeui>=2.16.0nb1: libgnomeui-2.16.0nb1 found
=> Required installed package libglade2>=2.5.1nb4: libglade2-2.6.0nb1 found
=> Required installed package gnome-vfs2>=2.16.0nb1: gnome-vfs2-2.16.0nb1 found
=> Required installed package GConf2>=2.12.1nb1: GConf2-2.14.0 found
=> Required installed package dbus-glib>=0.71: dbus-glib-0.71 found
=> Required installed package dbus>=0.91: dbus-0.92 found
=> Required installed package gtk2+>=2.8.17nb1: gtk2+-2.10.3 found
=> Required installed package gst-plugins0.10-good>=0.10.1nb1: gst-plugins0.10-good-0.10.3 found
=> Required installed package gst-plugins0.10-base>=0.10.7: gst-plugins0.10-base-0.10.9 found
=> Required installed package gstreamer0.10>=0.10.2nb1: gstreamer0.10-0.10.9 found
=> Required installed package glib2>=2.8.6nb1: glib2-2.12.3 found
=> Required installed package libxml2>=2.6.23nb1: libxml2-2.6.26 found
===> Overriding tools for totem-2.16.0nb1
===> Extracting for totem-2.16.0nb1
===> Patching for totem-2.16.0nb1
=> Applying pkgsrc patches for totem-2.16.0nb1
===> Creating toolchain wrappers for totem-2.16.0nb1
===> Configuring for totem-2.16.0nb1
=> Modifying GNU configure scripts to avoid --recheck
=> Replacing config-guess with pkgsrc versions
=> Replacing config-sub with pkgsrc versions
=> Adding run-time search paths to pkg-config files.
=> Fixing locale directory references.
configure: WARNING: If you wanted to set the --build type, don't use --host.
    If a cross compiler is detected then cross compile mode will be used.
checking for a BSD-compatible install... /usr/bin/install -c -o root -g wheel
checking whether build environment is sane... yes
checking for gawk... /usr/bin/awk
checking whether make sets $(MAKE)... yes
checking for powerpc--netbsd-strip... no
checking for strip... strip
checking for style of include used by make... GNU
checking for powerpc--netbsd-gcc... cc
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 cc accepts -g... yes
checking for cc option to accept ANSI C... none needed
checking dependency style of cc... gcc3
checking how to run the C preprocessor... cc -E
checking for egrep... grep -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 locale.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking for LC_MESSAGES... yes
checking libintl.h usability... yes
checking libintl.h presence... yes
checking for libintl.h... yes
checking for ngettext in libc... no
checking for bindtextdomain in -lintl... yes
checking for ngettext in -lintl... yes
checking for dgettext in -lintl... yes
checking for bind_textdomain_codeset... yes
checking for msgfmt... /usr/pkgsrc/multimedia/totem/work/.tools/bin/msgfmt
checking for dcgettext... yes
checking for gmsgfmt... /usr/pkgsrc/multimedia/totem/work/.tools/bin/msgfmt
checking for xgettext... /usr/bin/xgettext
checking for intltool >= 0.35.0... 0.35.0 found
checking for perl... /usr/pkg/bin/perl
checking for XML::Parser... ok
checking for iconv... /usr/pkg/bin/iconv
checking for msgfmt... /usr/pkgsrc/multimedia/totem/work/.tools/bin/msgfmt
checking for msgmerge... /usr/bin/msgmerge
checking for xgettext... /usr/bin/xgettext
checking for powerpc--netbsd-g++... c++
checking whether we are using the GNU C++ compiler... yes
checking whether c++ accepts -g... yes
checking dependency style of c++... gcc3
checking build system type... powerpc-unknown-netbsd3.0.1
checking host system type... powerpc--netbsd
checking for a sed that does not truncate output... /usr/pkgsrc/multimedia/totem/work/.tools/bin/sed
checking for ld used by cc... /usr/pkgsrc/multimedia/totem/work/.wrapper/bin/ld
checking if the linker (/usr/pkgsrc/multimedia/totem/work/.wrapper/bin/ld) is GNU ld... yes
checking for /usr/pkgsrc/multimedia/totem/work/.wrapper/bin/ld option to reload object files... -r
checking for BSD-compatible nm... nm
checking whether ln -s works... yes
checking how to recognise dependent libraries... match_pattern /lib[^/]+(\.so|_pic\.a)$
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking how to run the C++ preprocessor... c++ -E
checking for powerpc--netbsd-g77... f77
checking whether we are using the GNU Fortran 77 compiler... no
checking whether f77 accepts -g... no
checking the maximum length of command line arguments... (cached) 262144
checking command to parse nm output from cc object... ok
checking for objdir... .libs
checking for powerpc--netbsd-ar... no
checking for ar... ar
checking for powerpc--netbsd-ranlib... no
checking for ranlib... ranlib
checking for powerpc--netbsd-strip... strip
checking if cc supports -fno-rtti -fno-exceptions... no
checking for cc option to produce PIC... -fPIC
checking if cc PIC flag -fPIC works... yes
checking if cc static flag -static works... yes
checking if cc supports -c -o file.o... yes
checking whether the cc linker (/usr/pkgsrc/multimedia/totem/work/.wrapper/bin/ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... yes
checking dynamic linker characteristics... NetBSD ld.elf_so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
configure: creating libtool
appending configuration tag "CXX" to libtool
checking for ld used by c++... /usr/pkgsrc/multimedia/totem/work/.wrapper/bin/ld
checking if the linker (/usr/pkgsrc/multimedia/totem/work/.wrapper/bin/ld) is GNU ld... yes
checking whether the c++ linker (/usr/pkgsrc/multimedia/totem/work/.wrapper/bin/ld) supports shared libraries... yes
checking for c++ option to produce PIC... -fPIC
checking if c++ PIC flag -fPIC works... yes
checking if c++ static flag -static works... yes
checking if c++ supports -c -o file.o... yes
checking whether the c++ linker (/usr/pkgsrc/multimedia/totem/work/.wrapper/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... NetBSD ld.elf_so
checking how to hardcode library paths into programs... immediate
appending configuration tag "F77" to libtool
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking for f77 option to produce PIC... -fPIC
checking if f77 PIC flag -fPIC works... no
checking if f77 static flag -static works... no
checking if f77 supports -c -o file.o... no
checking whether the f77 linker (/usr/pkgsrc/multimedia/totem/work/.wrapper/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... NetBSD ld.elf_so
checking how to hardcode library paths into programs... immediate
checking pkg-config is at least version 0.9.0... yes
checking for glib-genmarshal... /usr/pkg/bin/glib-genmarshal
checking for glib-mkenums... /usr/pkg/bin/glib-mkenums
checking for NVTV... gnome-config: not found
checking for GST... yes
GStreamer-0.10
checking GStreamer 0.10 playbin plugin... yes
checking GStreamer 0.10 ffmpegcolorspace plugin... yes
checking GStreamer 0.10 videoscale plugin... no
configure: error:
                                Cannot find required GStreamer-0.10 plugin 'videoscale'.
                                It should be part of gst-plugins-base. Please install it.

*** Error code 1

Stop.
make: stopped in /usr/pkgsrc/multimedia/totem
*** Error code 1

Stop.
make: stopped in /usr/pkgsrc/multimedia/totem

The videoscale plugin is indeed installed:

[disciple@arcusv:disciple]$ locate videoscale
/usr/pkg/lib/gstreamer-0.10/libgstvideoscale.a
/usr/pkg/lib/gstreamer-0.10/libgstvideoscale.la
/usr/pkg/lib/gstreamer-0.10/libgstvideoscale.so
/usr/pkgsrc/multimedia/totem/work/.buildlink/lib/gstreamer-0.10/libgstvideoscale.a
/usr/pkgsrc/multimedia/totem/work/.buildlink/lib/gstreamer-0.10/libgstvideoscale.la
/usr/pkgsrc/multimedia/totem/work/.buildlink/lib/gstreamer-0.10/libgstvideoscale.so

For some reason, the gst-inspect-0.10 program is not recognizing the
videoscale plugin.
>How-To-Repeat:

>Fix:

>Audit-Trail:
From: "David H. GUTTERIDGE" <dhgutteridge@sympatico.ca>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: pkg/34677: multimedia/totem for Gnome 2.16 fails to build on NetBSD 3.0.1/ma
Date: Tue, 03 Oct 2006 03:19:40 +0000

 I found the problem, it shows up when gst-inspect is run in debug mode:

 WARN  (0x1824580 - 0:00:01.379554000)   GST_PLUGIN_LOADING( 2638) 
 gstplugin.c(410):gst_plugin_load_file: module_open failed: 
 /usr/pkg/lib/liboil-0.3.so.0: Unsupported relocation type 10 in non-PLT 
 relocations

 This has already been discussed on pkgsrc-users:

 http://mail-index.netbsd.org/pkgsrc-users/2006/09/03/0007.html

 The fix would involve liboil.

 Dave


From: Magnus Henoch <henoch@dtek.chalmers.se>
To: gnats-bugs@netbsd.org
Cc: 
Subject: Re: pkg/34677
Date: Tue, 26 Dec 2006 00:12:17 +0100

 I have found a fix that doesn't involve libtool.  The error message
 was about relocation type 10, which is RELOC_REL24 according to
 reloc.h.  After compiling liboil, I find:

 ~/noarchive/src/liboil-0.3.10/liboil $ objdump -R .libs/liboil-0.3.so | grep -v R_PPC_RELATIVE

 .libs/liboil-0.3.so:     file format elf32-powerpc

 DYNAMIC RELOCATION RECORDS
 OFFSET   TYPE              VALUE 
 00044e34 R_PPC_REL24       _vec_memcpy
 00044fe8 R_PPC_REL24       _vec_memset
 00083e64 R_PPC_ADDR32      __cxa_finalize
 00083e70 R_PPC_ADDR32      __deregister_frame_info
 [...and much more...]

 vec_memcpy and vec_memset are in the liboil/motovec subdirectory,
 written in assembly language.  Figuring out why this happens and how
 to fix it is above me, but simply disabling compilation of the motovec
 subdirectory seems to "fix" the problem.

 New patch-ad:
 ---
 $NetBSD$

 --- liboil/Makefile.am.orig	2006-11-05 03:14:42.000000000 +0100
 +++ liboil/Makefile.am
 @@ -37,8 +37,8 @@ endif

  if HAVE_POWERPC
  if HAVE_GCC_ASM
 -SUBDIRS += powerpc motovec
 -libs += powerpc/libpowerpc.la motovec/libmotovec.la
 +SUBDIRS += powerpc #motovec
 +libs += powerpc/libpowerpc.la #motovec/libmotovec.la
  if HAVE_ASM_BLOCKS
  SUBDIRS += powerpc_asm_blocks
  libs += powerpc/libpowerpc_asm_blocks.la


 ---

 Patch to pkgsrc Makefile:

 --- Makefile	25 Nov 2006 10:13:54 +0100	1.10
 +++ Makefile	25 Dec 2006 23:36:04 +0100	
 @@ -30,4 +30,9 @@
  SUBST_SED.solaris=	-e 's,<stdint\.h>,<inttypes.h>,'
  .endif

 +USE_TOOLS+=		automake autoconf
 +
 +pre-configure:
 +	cd ${WRKSRC}; automake && autoconf
 +
  .include "../../mk/bsd.pkg.mk"

 (automake is necessary; I'm not sure if autoconf is)

From: "Loic Hoguin" <essen@dev-extend.eu>
To: gnats-bugs@netbsd.org
Cc: 
Subject: Re: pkg/34677
Date: Sun, 18 Feb 2007 22:06:49 +0100

 None of the solutions I found worked for me.
 Maybe I do something wrong?

 In the case of this last solution by Magnus Henoch, automake
 complains either that the version of aclocal.m4 is wrong and
 ask me to run it (which I did), or that some directives are
 not present in AM_CONDITIONAL.

 I can help with testing patches (provided enough explanations
 to test them).

 Thank you,

 -- 
 Loc Hoguin
 Dev:Extend
 tel : +33 (0)6 82 74 34 28
 web : http://dev-extend.eu

From: "David H. Gutteridge" <dhgutteridge@sympatico.ca>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: pkg/34677
Date: Tue, 04 Dec 2007 21:50:17 -0500

 This problem still exists with liboil-0.3.12 compiled under NetBSD
 4.0_RC5, with the same deleterious effects (it breaks the compilation
 of meta-pkgs/gnome-base, though the workaround is to build and install
 totem-xine instead, after which point everything builds).

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.