Some months ago I asked if anybody managed to compile LilyPond in a
computer which has a MIPS architecture:
http://lists.gnu.org/archive/html/lilypond-user/2009-12/msg00127.html 

In the meanwhile I bought a MIPSel netbook (Lemote Yeeloong) and
successfully compiled lilypond in gNewSense 3 (based on Debian stable).

I'm wondering if it is worth having a mipsel package on lilypond.org
(when 2.14 comes out, maybe).
I'd be happy to do it, if I can. A chance to help and learn something
new.

Here's what I've done:

git clone git://github.com/janneke/gub.git
cd gub
bin/gub lilypond-installer

But I have a problem with librestrict (attached librestrict.log):

#########################################################################

Tail of target/tools/log/librestrict.log >>>>>>>>
    ./xstatconv.c:224: error: 'struct stat' has no member named '__pad2'
    ./xstatconv.c:266: error: 'struct stat' has no member named
'__unused4'
    ./xstatconv.c:269: error: 'struct stat' has no member named
'__unused5'
    Command barfed:
cd /home/fede/src/gub/target/tools/build/librestrict-1.9.a && gcc -W
-Wall -fno-stack-protector -I. -fPIC -shared -o librestrict-stat.so
restrict-stat.c || gcc -W -Wall  -I. -fPIC -shared -o
librestrict-stat.so restrict-stat.c
<<<<<<<< Tail of target/tools/log/librestrict.log

*** Failed target: tools::librestrict

##########################################################################

Just in case, I attach also target/tools/build/librestrict-1.9.a/xstatconv.c

How can I fix it?

Thanks,
Federico


PS (a report on a different subject)
I've read that you have changed the ./configure in 2.13.21
In previous versions, when I run ./autogen.sh, ./configure failed to recognise 
my architecture,
even though some information were printed on terminal (can't remember)
and especially: `uname -m mips64`
Since this version I don't have this warning.
Maybe next time I can try removing the --build=mips64 option and see what 
happen.

 * Starting build: Sun May 16 17:08:13 2010
must rebuild: tools::librestrict

 *** Checksum mismatch: diff (librestrict, tools)
--- /home/fede/src/gub/target/tools/packages/librestrict.checksum 0000

+++ THIS BUILD Sun May 16 17:06:31 2010

@@ -1,1 +1,217 @@

-0000
+UpdateSourceDir(not tracking)
 *** Checksum mismatch: diff (librestrict, tools)
--- /home/fede/src/gub/target/tools/packages/librestrict.checksum 0000

+++ THIS BUILD Sun May 16 17:06:31 2010

@@ -1,1 +1,217 @@

-0000
+UpdateSourceDir(not tracking)
+Dump
+/home/fede/src/gub/target/tools/status/librestrict-1.9.a-1.9.a
+untar
+Dump
+/home/fede/src/gub/target/tools/status/librestrict-1.9.a-1.9.a
+patch
+rm -rf /home/fede/src/gub/target/tools/build/librestrict-1.9.a
+ShadowTree
+/home/fede/src/gub/librestrict
+/home/fede/src/gub/target/tools/build/librestrict-1.9.a
+Dump
+/home/fede/src/gub/target/tools/status/librestrict-1.9.a-1.9.a
+shadow
+cd /home/fede/src/gub/target/tools/build/librestrict-1.9.a && cd /home/fede/src/gub/target/tools/build/librestrict-1.9.a && cat restrict-open.c > restrict-all.c
+cd /home/fede/src/gub/target/tools/build/librestrict-1.9.a && gcc -W -Wall -fno-stack-protector -I. -fPIC -shared -o librestrict-exec.so restrict-exec.c || gcc -W -Wall  -I. -fPIC -shared -o librestrict-exec.so restrict-exec.c
+cd /home/fede/src/gub/target/tools/build/librestrict-1.9.a && gcc -W -Wall -fno-stack-protector -I. -fPIC -shared -o librestrict-open.so restrict-open.c || gcc -W -Wall  -I. -fPIC -shared -o librestrict-open.so restrict-open.c
+cd /home/fede/src/gub/target/tools/build/librestrict-1.9.a && gcc -W -Wall -fno-stack-protector -I. -fPIC -shared -o librestrict-stat.so restrict-stat.c || gcc -W -Wall  -I. -fPIC -shared -o librestrict-stat.so restrict-stat.c
+cd /home/fede/src/gub/target/tools/build/librestrict-1.9.a && gcc -W -Wall -fno-stack-protector -I. -fPIC -shared -o librestrict-all.so restrict-all.c || gcc -W -Wall  -I. -fPIC -shared -o librestrict-all.so restrict-all.c
+cd /home/fede/src/gub/target/tools/build/librestrict-1.9.a && mv librestrict-all.so librestrict.so
+Dump
+/home/fede/src/gub/target/tools/status/librestrict-1.9.a-1.9.a
+compile
+rm -rf /home/fede/src/gub/target/tools/install/librestrict-1.9.a-root
+cd /home/fede/src/gub/target/tools/build/librestrict-1.9.a &&  mkdir -p /home/fede/src/gub/target/tools/install/librestrict-1.9.a-root//home/fede/src/gub/target/tools/root/usr/lib && cp -p librestrict*.so /home/fede/src/gub/target/tools/install/librestrict-1.9.a-root//home/fede/src/gub/target/tools/root/usr/lib 
+Func
+        def install (logger, lst):
+            for file in lst:
+                if os.path.exists (file):
+                    cmd = self.expand ('''
+mkdir -p %(install_root)s/license
+cp %(file)s %(install_root)s/license/%(name)s
+''', locals ())
+                    loggedos.system (logger, cmd)
+                    return
+
+(['/home/fede/src/gub/target/tools/src/librestrict-1.9.a/COPYING', '/home/fede/src/gub/target/tools/src/librestrict-1.9.a/COPYING.LIB', '/home/fede/src/gub/target/tools/src/librestrict-1.9.a/LICENSE', '/home/fede/src/gub/target/tools/src/librestrict-1.9.a/LICENCE'],)
+MapLocate
+        def installed_la_fixup (logger, la):
+            (dir, base) = os.path.split (la)
+            base = base[3:-3]
+            dir = re.sub (r"^\./", "/", dir)
+
+            loggedos.file_sub (logger, [(''' *-L *[^\"\' ][^\"\' ]*''', ''),
+                    (self.expand ('''( |=|\')(/[^ ]*usr/lib|%(targetdir)s.*)/lib([^ \'/]*)\.(a|la|so)[^ \']*'''),
+                    '\\1-l\\3 '),
+                    ('^old_library=.*',
+                     self.expand ("""old_library='lib%(base)s.a'""", env=locals ())),
+                    ],
+                   la)
+            if self.settings.platform.startswith ('mingw'):
+
+                loggedos.file_sub (logger, [('library_names=.*',
+                                 self.expand ("library_names='lib%(base)s.dll.a'", env=locals ()))],
+                               la)
+
+/home/fede/src/gub/target/tools/install/librestrict-1.9.a-root
+lib*.la
+rm -f     /home/fede/src/gub/target/tools/install/librestrict-1.9.a-root/home/fede/src/gub/target/tools/root/usr/info/dir     /home/fede/src/gub/target/tools/install/librestrict-1.9.a-root/home/fede/src/gub/target/tools/root/usr/info/dir.old     /home/fede/src/gub/target/tools/install/librestrict-1.9.a-root/home/fede/src/gub/target/tools/root/usr/share/info/dir     /home/fede/src/gub/target/tools/install/librestrict-1.9.a-root/home/fede/src/gub/target/tools/root/usr/share/info/dir.old     /home/fede/src/gub/target/tools/install/librestrict-1.9.a-root/home/fede/src/gub/target/tools/root/usr/cross/info/dir     /home/fede/src/gub/target/tools/install/librestrict-1.9.a-root/home/fede/src/gub/target/tools/root/usr/cross/info/dir.old     /home/fede/src/gub/target/tools/install/librestrict-1.9.a-root/home/fede/src/gub/target/tools/root/usr/cross/share/info/dir     /home/fede/src/gub/target/tools/install/librestrict-1.9.a-root/home/fede/src/gub/target/tools/root/usr/cross/share/info/dir.old 
+Dump
+/home/fede/src/gub/target/tools/status/librestrict-1.9.a-1.9.a
+install
+tar -C /home/fede/src/gub/target/tools/src --exclude "*~" --exclude "*.orig" -zcf /home/fede/src/gub/target/tools/packages/librestrict-1.9.a-src.tools.tar.gz librestrict-1.9.a
+Dump
+/home/fede/src/gub/target/tools/status/librestrict-1.9.a-1.9.a
+src_package
+MapLocate
+        def rewire (logger, file):
+            if os.path.islink (file):
+                s = os.readlink (file)
+                if s.startswith ('/') and self.settings.system_root not in s:
+                    new_dest = os.path.join (self.settings.system_root, s[1:])
+                    loggedos.remove (logger, file)
+                    loggedos.symlink (logger, new_dest, file)
+
+/home/fede/src/gub/target/tools/install/librestrict-1.9.a-root
+*
+PackageGlobs
+/
+/home/fede/src/gub/target/tools/install/librestrict-1.9.a-root
+/home/fede/src/gub/target/tools/root
+/home/fede/src/gub/target/tools/packages/librestrict-1.9.a.tools.gup
+Dump
+/home/fede/src/gub/target/tools/packages/librestrict.tools.hdr
+CPATH=
+CPLUS_INCLUDE_PATH=/home/fede/src/gub/target/tools/root/usr/include
+C_INCLUDE_PATH=/home/fede/src/gub/target/tools/root/usr/include
+LD_LIBRARY_PATH=/home/fede/src/gub/target/tools/root
+LD_PRELOAD=
+LIBRARY_PATH=/home/fede/src/gub/target/tools/root/usr/lib
+PATH=/home/fede/src/gub/target/tools/root/usr/bin:/home/fede/src/gub/target/tools/root/usr/cross/bin:/home/fede/src/gub/target/tools/root/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/games
+PERL5LIB=foo:/home/fede/src/gub/target/tools/root/usr/lib/perl5/5.10.0:/home/fede/src/gub/target/tools/root/usr/lib/perl5/5.10.0/mipsel-linux:/home/fede/src/gub/target/tools/root/usr/share/autoconf
+__module__=librestrict
+_created_name=librestrict
+allbuilddir=/home/fede/src/gub/target/tools/build
+alllogdir=/home/fede/src/gub/log
+allsrcdir=/home/fede/src/gub/target/tools/src
+alltargetdir=/home/fede/src/gub/target
+architecture=tools
+autodir=/home/fede/src/gub/target/tools/src/librestrict-1.9.a
+ball_suffix=-1.9.a
+basename=librestrict-1.9a
+bits=32
+branch=
+build_architecture=mipsel-linux
+build_bits=32
+build_cpu=mipsel
+build_dependencies_string=system::gcc
+build_hardware_bits=32
+build_number=0
+build_os=linux
+build_platform=linux-mipsel
+builddir=/home/fede/src/gub/target/tools/build/librestrict-1.9.a
+category=
+checksum_file=/home/fede/src/gub/target/tools/packages/librestrict.checksum
+compile_command=cd /home/fede/src/gub/target/tools/build/librestrict-1.9.a && cat restrict-open.c > restrict-all.c
+cd /home/fede/src/gub/target/tools/build/librestrict-1.9.a && gcc -W -Wall -fno-stack-protector -I. -fPIC -shared -o librestrict-exec.so restrict-exec.c || gcc -W -Wall  -I. -fPIC -shared -o librestrict-exec.so restrict-exec.c
+cd /home/fede/src/gub/target/tools/build/librestrict-1.9.a && gcc -W -Wall -fno-stack-protector -I. -fPIC -shared -o librestrict-open.so restrict-open.c || gcc -W -Wall  -I. -fPIC -shared -o librestrict-open.so restrict-open.c
+cd /home/fede/src/gub/target/tools/build/librestrict-1.9.a && gcc -W -Wall -fno-stack-protector -I. -fPIC -shared -o librestrict-stat.so restrict-stat.c || gcc -W -Wall  -I. -fPIC -shared -o librestrict-stat.so restrict-stat.c
+cd /home/fede/src/gub/target/tools/build/librestrict-1.9.a && gcc -W -Wall -fno-stack-protector -I. -fPIC -shared -o librestrict-all.so restrict-all.c || gcc -W -Wall  -I. -fPIC -shared -o librestrict-all.so restrict-all.c
+cd /home/fede/src/gub/target/tools/build/librestrict-1.9.a && mv librestrict-all.so librestrict.so
+compile_command_native=make -j2 prefix=/home/fede/src/gub/target/tools/root/usr 
+compile_flags=
+config_cache_file=/home/fede/src/gub/target/tools/build/librestrict-1.9.a/config.cache
+config_cache_overrides=
+configure_binary=/home/fede/src/gub/target/tools/src/librestrict-1.9.a/configure
+configure_command= sh /home/fede/src/gub/target/tools/src/librestrict-1.9.a/configure --prefix=/home/fede/src/gub/target/tools/root/usr --enable-shared --enable-static --disable-silent-rules  CFLAGS=-I/home/fede/src/gub/target/tools/root/usr/include LDFLAGS='-L/home/fede/src/gub/target/tools/root/usr/lib -Wl,-rpath -Wl,\$$ORIGIN/../lib -Wl,-rpath -Wl,/home/fede/src/gub/target/tools/root/usr/lib ' 
+configure_flags= --prefix=/home/fede/src/gub/target/tools/root/usr --enable-shared --enable-static --disable-silent-rules 
+configure_prefix=/home/fede/src/gub/target/tools/root/usr
+configure_variables= CFLAGS=-I/home/fede/src/gub/target/tools/root/usr/include LDFLAGS='-L/home/fede/src/gub/target/tools/root/usr/lib -Wl,-rpath -Wl,\$$ORIGIN/../lib -Wl,-rpath -Wl,/home/fede/src/gub/target/tools/root/usr/lib ' 
+conflicts_string=;librestrict;librestrict-exec;librestrict-exec-open;librestrict-exec-open-stat;librestrict-exec-stat;librestrict-open;librestrict-open-stat;librestrict-stat;coreutils;bash
+core_prefix=/home/fede/src/gub/target/tools/root/usr/cross/core
+cpu=tools
+cpu_count=1
+cpu_count_str=1
+cross_allsrcdir=/home/fede/src/gub/target/tools/src/cross
+cross_dir=/cross
+cross_packages=/home/fede/src/gub/target/tools/packages/cross
+cross_prefix=/home/fede/src/gub/target/tools/root/usr/cross
+cross_statusdir=/home/fede/src/gub/target/tools/status/cross
+debian_branch=stable
+dependencies_string=;
+description=
+downloads=/home/fede/src/gub/downloads
+fakeroot=fakeroot -i -s 
+fakeroot_cache=
+file_name=librestrict-1.9a.tar
+full_version=1.9.a
+gtk_version=2.8
+gubdir=/home/fede/src/gub
+gubdir_prefix=/home/fede/src/gub
+install_command= mkdir -p /home/fede/src/gub/target/tools/install/librestrict-1.9.a-root//home/fede/src/gub/target/tools/root/usr/lib && cp -p librestrict*.so /home/fede/src/gub/target/tools/install/librestrict-1.9.a-root//home/fede/src/gub/target/tools/root/usr/lib 
+install_flags= DESTDIR=/home/fede/src/gub/target/tools/install/librestrict-1.9.a-root install
+install_flags_destdir_broken= bindir=/home/fede/src/gub/target/tools/install/librestrict-1.9.a-root//home/fede/src/gub/target/tools/root/usr/bin aclocaldir=/home/fede/src/gub/target/tools/install/librestrict-1.9.a-root//home/fede/src/gub/target/tools/root/usr/share/aclocal datadir=/home/fede/src/gub/target/tools/install/librestrict-1.9.a-root//home/fede/src/gub/target/tools/root/usr/share exec_prefix=/home/fede/src/gub/target/tools/install/librestrict-1.9.a-root//home/fede/src/gub/target/tools/root/usr gcc_tooldir=/home/fede/src/gub/target/tools/install/librestrict-1.9.a-root//home/fede/src/gub/target/tools/root/usr includedir=/home/fede/src/gub/target/tools/install/librestrict-1.9.a-root//home/fede/src/gub/target/tools/root/usr/include infodir=/home/fede/src/gub/target/tools/install/librestrict-1.9.a-root//home/fede/src/gub/target/tools/root/usr/share/info libdir=/home/fede/src/gub/target/tools/install/librestrict-1.9.a-root//home/fede/src/gub/target/tools/root/usr/lib libexecdir=/home/fede/src/gub/target/tools/install/librestrict-1.9.a-root//home/fede/src/gub/target/tools/root/usr/lib mandir=/home/fede/src/gub/target/tools/install/librestrict-1.9.a-root//home/fede/src/gub/target/tools/root/usr/share/man prefix=/home/fede/src/gub/target/tools/install/librestrict-1.9.a-root//home/fede/src/gub/target/tools/root/usr sysconfdir=/home/fede/src/gub/target/tools/install/librestrict-1.9.a-root//home/fede/src/gub/target/tools/root/usr/etc tooldir=/home/fede/src/gub/target/tools/install/librestrict-1.9.a-root//home/fede/src/gub/target/tools/root/usr 
+install_prefix=/home/fede/src/gub/target/tools/install/librestrict-1.9.a-root//home/fede/src/gub/target/tools/root/usr
+install_root=/home/fede/src/gub/target/tools/install/librestrict-1.9.a-root
+installdir=/home/fede/src/gub/target/tools/install
+job_spec=-j2
+libs=
+logdir=/home/fede/src/gub/target/tools/log
+make_flags=prefix=/home/fede/src/gub/target/tools/root/usr
+name=librestrict
+name_version=librestrict-1.9.a
+nsisdir=/home/fede/src/gub/nsis
+os=tools
+package_arch=mipsel
+packages=/home/fede/src/gub/target/tools/packages
+packaging_suffix_dir=/home/fede/src/gub/target/tools/root
+patchdir=/home/fede/src/gub/patches
+platform=tools
+platform_uploads=/home/fede/src/gub/uploads/tools
+prefix_dir=/usr
+pretty_name=Librestrict_nomake
+root_dir=/root
+rpath=-Wl,-rpath -Wl,\$$ORIGIN/../lib -Wl,-rpath -Wl,/home/fede/src/gub/target/tools/root/usr/lib
+so_extension=.so
+so_version=1
+source_checksum=1.9.a
+source_name=librestrict
+sourcefiledir=/home/fede/src/gub/sourcefiles
+specdir=/home/fede/src/gub/gub/specs
+split_ball=/home/fede/src/gub/target/tools/packages/librestrict-1.9.a.tools.gup
+split_hdr=/home/fede/src/gub/target/tools/packages/librestrict.tools.hdr
+split_name=librestrict
+src_package_ball=/home/fede/src/gub/target/tools/packages/librestrict-1.9.a-src.tools.tar.gz
+src_package_uploads=/home/fede/src/gub/target/tools/packages
+srcdir=/home/fede/src/gub/target/tools/src/librestrict-1.9.a
+stamp_file=/home/fede/src/gub/target/tools/status/librestrict-1.9.a-1.9.a
+statusdir=/home/fede/src/gub/target/tools/status
+sub_name=
+system_cross_prefix=/home/fede/src/gub/target/tools/root/usr/cross
+system_prefix=/home/fede/src/gub/target/tools/root/usr
+system_root=/home/fede/src/gub/target/tools/root
+target_architecture=mipsel-linux
+target_bits=32
+target_cpu=mipsel
+target_gcc_flags=
+target_os=linux
+target_platform=tools
+targetdir=/home/fede/src/gub/target/tools
+toolchain_prefix=
+tools_cross_prefix=/home/fede/src/gub/target/tools/root/usr/cross
+tools_prefix=/home/fede/src/gub/target/tools/root/usr
+tools_root=/home/fede/src/gub/target/tools/root
+tools_root_dir=/tools/root
+uploads=/home/fede/src/gub/uploads
+vc_branch=
+vc_branch_suffix=
+version=1.9.a
+workdir=/home/fede/src/gub
+workdir_prefix=/home/fede/src/gub
+rm -rf /home/fede/src/gub/target/tools/install/librestrict-1.9.a-root
+Dump
+/home/fede/src/gub/target/tools/status/librestrict-1.9.a-1.9.a
+package
+rm -rf  /home/fede/src/gub/target/tools/status/librestrict-1.9.a-1.9.a /home/fede/src/gub/target/tools/install/librestrict-1.9.a-root
+rm -rf /home/fede/src/gub/target/tools/src/librestrict-1.9.a /home/fede/src/gub/target/tools/build/librestrict-1.9.a
building package: tools::librestrict
 *** Stage: download (librestrict, tools)
 *** Stage: untar (librestrict, tools)
invoking rm -rf /home/fede/src/gub/target/tools/src/librestrict-1.9.a /home/fede/src/gub/target/tools/build/librestrict-1.9.a /home/fede/src/gub/target/tools/install/librestrict-1.9.a-root
Running dump_file
  ('untar', '/home/fede/src/gub/target/tools/status/librestrict-1.9.a-1.9.a', 'w')
  {'permissions': 420}
 *** Stage: patch (librestrict, tools)
Running dump_file
  ('patch', '/home/fede/src/gub/target/tools/status/librestrict-1.9.a-1.9.a', 'w')
  {'permissions': 420}
 *** Stage: shadow (librestrict, tools)
invoking rm -rf /home/fede/src/gub/target/tools/build/librestrict-1.9.a
Running shadow
  ('/home/fede/src/gub/librestrict', '/home/fede/src/gub/target/tools/build/librestrict-1.9.a', False)
  {}
Running dump_file
  ('shadow', '/home/fede/src/gub/target/tools/status/librestrict-1.9.a-1.9.a', 'w')
  {'permissions': 420}
 *** Stage: compile (librestrict, tools)
invoking cd /home/fede/src/gub/target/tools/build/librestrict-1.9.a && cd /home/fede/src/gub/target/tools/build/librestrict-1.9.a && cat restrict-open.c > restrict-all.c
invoking cd /home/fede/src/gub/target/tools/build/librestrict-1.9.a && gcc -W -Wall -fno-stack-protector -I. -fPIC -shared -o librestrict-exec.so restrict-exec.c || gcc -W -Wall  -I. -fPIC -shared -o librestrict-exec.so restrict-exec.c
invoking cd /home/fede/src/gub/target/tools/build/librestrict-1.9.a && gcc -W -Wall -fno-stack-protector -I. -fPIC -shared -o librestrict-open.so restrict-open.c || gcc -W -Wall  -I. -fPIC -shared -o librestrict-open.so restrict-open.c
invoking cd /home/fede/src/gub/target/tools/build/librestrict-1.9.a && gcc -W -Wall -fno-stack-protector -I. -fPIC -shared -o librestrict-stat.so restrict-stat.c || gcc -W -Wall  -I. -fPIC -shared -o librestrict-stat.so restrict-stat.c
In file included from restrict-stat.c:106:
./xstatconv.c: In function '__xstat_conv':
./xstatconv.c:54: error: 'struct stat' has no member named '__pad1'
./xstatconv.c:63: error: 'struct stat' has no member named '__pad2'
./xstatconv.c:90: error: 'struct stat' has no member named '__unused4'
./xstatconv.c:93: error: 'struct stat' has no member named '__unused5'
./xstatconv.c: In function '__xstat32_conv':
./xstatconv.c:192: error: 'struct stat' has no member named '__pad1'
./xstatconv.c:224: error: 'struct stat' has no member named '__pad2'
./xstatconv.c:266: error: 'struct stat' has no member named '__unused4'
./xstatconv.c:269: error: 'struct stat' has no member named '__unused5'
In file included from restrict-stat.c:106:
./xstatconv.c: In function '__xstat_conv':
./xstatconv.c:54: error: 'struct stat' has no member named '__pad1'
./xstatconv.c:63: error: 'struct stat' has no member named '__pad2'
./xstatconv.c:90: error: 'struct stat' has no member named '__unused4'
./xstatconv.c:93: error: 'struct stat' has no member named '__unused5'
./xstatconv.c: In function '__xstat32_conv':
./xstatconv.c:192: error: 'struct stat' has no member named '__pad1'
./xstatconv.c:224: error: 'struct stat' has no member named '__pad2'
./xstatconv.c:266: error: 'struct stat' has no member named '__unused4'
./xstatconv.c:269: error: 'struct stat' has no member named '__unused5'
Command barfed: cd /home/fede/src/gub/target/tools/build/librestrict-1.9.a && gcc -W -Wall -fno-stack-protector -I. -fPIC -shared -o librestrict-stat.so restrict-stat.c || gcc -W -Wall  -I. -fPIC -shared -o librestrict-stat.so restrict-stat.c
Traceback (most recent call last):
  File "bin/gub", line 233, in exceptional_build
    build (settings, options, files)
  File "bin/gub", line 229, in build
    b.build_source_packages (names)
  File "bin/../gub/buildrunner.py", line 334, in build_source_packages
    self.spec_build (spec_name)
  File "bin/../gub/buildrunner.py", line 262, in spec_build
    deferred_runner.execute_deferred_commands ()
  File "bin/../gub/runner.py", line 167, in execute_deferred_commands
    cmd.execute (self.logger)
  File "bin/../gub/commands.py", line 75, in execute
    ignore_errors=self.ignore_errors)
  File "bin/../gub/loggedos.py", line 93, in system
    raise misc.SystemFailed (m)
SystemFailed: Command barfed: cd /home/fede/src/gub/target/tools/build/librestrict-1.9.a && gcc -W -Wall -fno-stack-protector -I. -fPIC -shared -o librestrict-stat.so restrict-stat.c || gcc -W -Wall  -I. -fPIC -shared -o librestrict-stat.so restrict-stat.c

/* Convert between the kernel's `struct stat' format, and libc's.
   Copyright (C) 1991,1995-1997,2000,2002,2003 Free Software Foundation, Inc.
   This file is part of the GNU C Library.

   The GNU C Library is free software; you can redistribute it and/or
   modify it under the terms of the GNU Lesser General Public
   License as published by the Free Software Foundation; either
   version 2.1 of the License, or (at your option) any later version.

   The GNU C Library is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   Lesser General Public License for more details.

   You should have received a copy of the GNU Lesser General Public
   License along with the GNU C Library; if not, write to the Free
   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
   02111-1307 USA.  */

#include <errno.h>
#include <sys/stat.h>
#include <kernel_stat.h>

#ifdef STAT_IS_KERNEL_STAT

/* Dummy.  */
struct kernel_stat;

#else

#include <string.h>


#if !defined __ASSUME_STAT64_SYSCALL || defined XSTAT_IS_XSTAT64
int
__xstat_conv (int vers, struct kernel_stat *kbuf, void *ubuf)
{
  switch (vers)
    {
    case _STAT_VER_KERNEL:
      /* Nothing to do.  The struct is in the form the kernel expects.
         We should have short-circuted before we got here, but for
         completeness... */
      *(struct kernel_stat *) ubuf = *kbuf;
      break;

    case _STAT_VER_LINUX:
      {
	struct stat *buf = ubuf;

	/* Convert to current kernel version of `struct stat'.  */
	buf->st_dev = kbuf->st_dev;
#ifdef _HAVE_STAT___PAD1
	buf->__pad1 = 0;
#endif
	buf->st_ino = kbuf->st_ino;
	buf->st_mode = kbuf->st_mode;
	buf->st_nlink = kbuf->st_nlink;
	buf->st_uid = kbuf->st_uid;
	buf->st_gid = kbuf->st_gid;
	buf->st_rdev = kbuf->st_rdev;
#ifdef _HAVE_STAT___PAD2
	buf->__pad2 = 0;
#endif
	buf->st_size = kbuf->st_size;
	buf->st_blksize = kbuf->st_blksize;
	buf->st_blocks = kbuf->st_blocks;
#ifdef _HAVE_STAT_NSEC
	buf->st_atim.tv_sec = kbuf->st_atim.tv_sec;
	buf->st_atim.tv_nsec = kbuf->st_atim.tv_nsec;
	buf->st_mtim.tv_sec = kbuf->st_mtim.tv_sec;
	buf->st_mtim.tv_nsec = kbuf->st_mtim.tv_nsec;
	buf->st_ctim.tv_sec = kbuf->st_ctim.tv_sec;
	buf->st_ctim.tv_nsec = kbuf->st_ctim.tv_nsec;
#else
	buf->st_atime = kbuf->st_atime;
	buf->st_mtime = kbuf->st_mtime;
	buf->st_ctime = kbuf->st_ctime;
#endif
#ifdef _HAVE_STAT___UNUSED1
	buf->__unused1 = 0;
#endif
#ifdef _HAVE_STAT___UNUSED2
	buf->__unused2 = 0;
#endif
#ifdef _HAVE_STAT___UNUSED3
	buf->__unused3 = 0;
#endif
#ifdef _HAVE_STAT___UNUSED4
	buf->__unused4 = 0;
#endif
#ifdef _HAVE_STAT___UNUSED5
	buf->__unused5 = 0;
#endif
      }
      break;

    default:
      __set_errno (EINVAL);
      return -1;
    }

  return 0;
}
#endif

int
__xstat64_conv (int vers, struct kernel_stat *kbuf, void *ubuf)
{
#ifdef XSTAT_IS_XSTAT64
  return __xstat_conv (vers, kbuf, ubuf);
#else
  switch (vers)
    {
    case _STAT_VER_LINUX:
      {
	struct stat64 *buf = ubuf;

	/* Convert to current kernel version of `struct stat64'.  */
	buf->st_dev = kbuf->st_dev;
#ifdef _HAVE_STAT64___PAD1
	buf->__pad1 = 0;
#endif
	buf->st_ino = kbuf->st_ino;
#ifdef _HAVE_STAT64___ST_INO
	buf->__st_ino = kbuf->st_ino;
#endif
	buf->st_mode = kbuf->st_mode;
	buf->st_nlink = kbuf->st_nlink;
	buf->st_uid = kbuf->st_uid;
	buf->st_gid = kbuf->st_gid;
	buf->st_rdev = kbuf->st_rdev;
#ifdef _HAVE_STAT64___PAD2
	buf->__pad2 = 0;
#endif
	buf->st_size = kbuf->st_size;
	buf->st_blksize = kbuf->st_blksize;
	buf->st_blocks = kbuf->st_blocks;
#ifdef _HAVE_STAT64_NSEC
	buf->st_atim.tv_sec = kbuf->st_atim.tv_sec;
	buf->st_atim.tv_nsec = kbuf->st_atim.tv_nsec;
	buf->st_mtim.tv_sec = kbuf->st_mtim.tv_sec;
	buf->st_mtim.tv_nsec = kbuf->st_mtim.tv_nsec;
	buf->st_ctim.tv_sec = kbuf->st_ctim.tv_sec;
	buf->st_ctim.tv_nsec = kbuf->st_ctim.tv_nsec;
#else
	buf->st_atime = kbuf->st_atime;
	buf->st_mtime = kbuf->st_mtime;
	buf->st_ctime = kbuf->st_ctime;
#endif
#ifdef _HAVE_STAT64___UNUSED1
	buf->__unused1 = 0;
#endif
#ifdef _HAVE_STAT64___UNUSED2
	buf->__unused2 = 0;
#endif
#ifdef _HAVE_STAT64___UNUSED3
	buf->__unused3 = 0;
#endif
#ifdef _HAVE_STAT64___UNUSED4
	buf->__unused4 = 0;
#endif
#ifdef _HAVE_STAT64___UNUSED5
	buf->__unused5 = 0;
#endif
      }
      break;

      /* If struct stat64 is different from struct stat then
	 _STAT_VER_KERNEL does not make sense.  */
    case _STAT_VER_KERNEL:
    default:
      __set_errno (EINVAL);
      return -1;
    }

  return 0;
#endif
}

int
__xstat32_conv (int vers, struct stat64 *kbuf, struct stat *buf)
{
  switch (vers)
    {
    case _STAT_VER_LINUX:
      {
	/* Convert current kernel version of `struct stat64' to
           `struct stat'.  */
	buf->st_dev = kbuf->st_dev;
#ifdef _HAVE_STAT___PAD1
	buf->__pad1 = 0;
#endif
#ifdef _HAVE_STAT64___ST_INO
# if __ASSUME_ST_INO_64_BIT == 0
	if (kbuf->st_ino == 0)
	  buf->st_ino = kbuf->__st_ino;
	else
# endif
	  {
	    buf->st_ino = kbuf->st_ino;
	    if (sizeof (buf->st_ino) != sizeof (kbuf->st_ino)
		&& buf->st_ino != kbuf->st_ino)
	      {
		__set_errno (EOVERFLOW);
		return -1;
	      }
	  }
#else
	buf->st_ino = kbuf->st_ino;
	if (sizeof (buf->st_ino) != sizeof (kbuf->st_ino)
	    && buf->st_ino != kbuf->st_ino)
	  {
	    __set_errno (EOVERFLOW);
	    return -1;
	  }
#endif
	buf->st_mode = kbuf->st_mode;
	buf->st_nlink = kbuf->st_nlink;
	buf->st_uid = kbuf->st_uid;
	buf->st_gid = kbuf->st_gid;
	buf->st_rdev = kbuf->st_rdev;
#ifdef _HAVE_STAT___PAD2
	buf->__pad2 = 0;
#endif
	buf->st_size = kbuf->st_size;
	/* Check for overflow.  */
	if (sizeof (buf->st_size) != sizeof (kbuf->st_size)
	    && buf->st_size != kbuf->st_size)
	  {
	    __set_errno (EOVERFLOW);
	    return -1;
	  }
	buf->st_blksize = kbuf->st_blksize;
	buf->st_blocks = kbuf->st_blocks;
	/* Check for overflow.  */
	if (sizeof (buf->st_blocks) != sizeof (kbuf->st_blocks)
	    && buf->st_blocks != kbuf->st_blocks)
	  {
	    __set_errno (EOVERFLOW);
	    return -1;
	  }
#ifdef _HAVE_STAT_NSEC
	buf->st_atim.tv_sec = kbuf->st_atim.tv_sec;
	buf->st_atim.tv_nsec = kbuf->st_atim.tv_nsec;
	buf->st_mtim.tv_sec = kbuf->st_mtim.tv_sec;
	buf->st_mtim.tv_nsec = kbuf->st_mtim.tv_nsec;
	buf->st_ctim.tv_sec = kbuf->st_ctim.tv_sec;
	buf->st_ctim.tv_nsec = kbuf->st_ctim.tv_nsec;
#else
	buf->st_atime = kbuf->st_atime;
	buf->st_mtime = kbuf->st_mtime;
	buf->st_ctime = kbuf->st_ctime;
#endif

#ifdef _HAVE_STAT___UNUSED1
	buf->__unused1 = 0;
#endif
#ifdef _HAVE_STAT___UNUSED2
	buf->__unused2 = 0;
#endif
#ifdef _HAVE_STAT___UNUSED3
	buf->__unused3 = 0;
#endif
#ifdef _HAVE_STAT___UNUSED4
	buf->__unused4 = 0;
#endif
#ifdef _HAVE_STAT___UNUSED5
	buf->__unused5 = 0;
#endif
      }
      break;

      /* If struct stat64 is different from struct stat then
	 _STAT_VER_KERNEL does not make sense.  */
    case _STAT_VER_KERNEL:
    default:
      __set_errno (EINVAL);
      return -1;
    }

  return 0;
}

#endif
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to