Bug#319527: qemu: FTBFS on i386

2005-07-24 Thread Octavian Cerna
[Reinhard Tartler]
 It got built now on i386 and amd64. It stills FTBFS for ppc, but this
 seems to be an issue with binutils:

[Octavian Cerna]
 For PPC you can try the following patch, already applied to Qemu CVS:
 http://lists.gnu.org/archive/html/qemu-devel/2005-06/msg4.html

[Sebastian Dröge]
 The patch to the ppc linker script doesn't work for me on my ibook with
 binutils 2.16,etc on breezy. I get the same error as without the patch
 [...]
 /usr/bin/ld: qemu-i386: Not enough room for program headers (allocated
 8, need 9 )
 /usr/bin/ld: final link failed: Bad value

[Roger Leigh]
 It also fails on Debian/powerpc:
 [...]
 /usr/bin/ld: qemu-i386: Not enough room for program headers (allocated 8, 
 need 9)
 /usr/bin/ld: final link failed: Bad value

Thank you for reporting the build failures on PowerPC.

It seems that the patch from qemu-devel is not enough to fix the
problem.

Attached is the second version of my patch, against qemu_0.7.0-2:

 * debian/control (Build-Depends): add missing zlib1g-dev,
   depend on gcc-3.4, depend on binutils-2.16 for the updated
   ppc linker script
 * debian/rules: compile with gcc-3.4
 * debian/patches/02_fix_librt_linkage.patch: link with librt
   for clock_gettime (Reinhard Tartler)
 * debian/patches/34_syscalls_types.patch: new, fix compile error
   with linux-kernel-headers 2.6.12 (it's a hack:
   include linux/types.h before any other glibc header)
 * debian/patches/41_ppc_ldscript.patch: new, update the ppc linker
   script from /usr/lib/ldscripts/elf32ppclinux.x in binutils-2.16

With this patch I was able to build and run qemu on an uptodate Debian
sid emulated by qemu-system-ppc.

Octavian
diff -urN qemu-0.7.0-orig/debian/control qemu-0.7.0/debian/control
--- qemu-0.7.0-orig/debian/control  2005-07-23 01:13:01.488124413 +0300
+++ qemu-0.7.0/debian/control   2005-07-24 22:58:45.240500629 +0300
@@ -3,7 +3,7 @@
 Priority: optional
 Maintainer: Debian QEMU Team [EMAIL PROTECTED]
 Uploaders: Guilherme de S. Pastore [EMAIL PROTECTED], Guillem Jover [EMAIL 
PROTECTED], Elrond [EMAIL PROTECTED]
-Build-Depends: cdbs, debhelper (= 4.1.0), libx11-dev | xlibs-dev, 
libsdl1.2-dev ( 1.2.1), texi2html, sharutils, libgpmg1-dev [amd64 i386 
powerpc alpha sparc arm s390]
+Build-Depends: cdbs, debhelper (= 4.1.0), gcc-3.4, binutils (= 2.16), 
libx11-dev | xlibs-dev, libsdl1.2-dev ( 1.2.1), zlib1g-dev, texi2html, 
sharutils, libgpmg1-dev [amd64 i386 powerpc alpha sparc arm s390]
 Standards-Version: 3.6.1.1
 
 Package: qemu
diff -urN qemu-0.7.0-orig/debian/patches/02_fix_librt_linkage.patch 
qemu-0.7.0/debian/patches/02_fix_librt_linkage.patch
--- qemu-0.7.0-orig/debian/patches/02_fix_librt_linkage.patch   1970-01-01 
02:00:00.0 +0200
+++ qemu-0.7.0/debian/patches/02_fix_librt_linkage.patch2005-07-24 
21:55:41.816348746 +0300
@@ -0,0 +1,12 @@
+#DPATCHLEVEL=1
+--- qemu-0.7.0.orig/Makefile.target2005-04-27 20:52:05.0 +
 qemu-0.7.0/Makefile.target 2005-07-23 11:07:19.449003328 +
+@@ -212,7 +212,7 @@
+ #
+ 
+ DEFINES+=-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
+-LIBS+=-lm
++LIBS+=-lm -lrt
+ ifndef CONFIG_USER_ONLY
+ LIBS+=-lz
+ endif
diff -urN qemu-0.7.0-orig/debian/patches/34_syscalls_types.patch 
qemu-0.7.0/debian/patches/34_syscalls_types.patch
--- qemu-0.7.0-orig/debian/patches/34_syscalls_types.patch  1970-01-01 
02:00:00.0 +0200
+++ qemu-0.7.0/debian/patches/34_syscalls_types.patch   2005-07-24 
21:55:41.817348539 +0300
@@ -0,0 +1,11 @@
+#DPATCHLEVEL=0
+--- linux-user/syscall.c.orig  2005-07-23 01:55:22.169404147 +0300
 linux-user/syscall.c   2005-07-23 01:52:31.157924629 +0300
+@@ -17,6 +17,7 @@
+  *  along with this program; if not, write to the Free Software
+  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+  */
++#include linux/types.h
+ #include stdlib.h
+ #include stdio.h
+ #include stdarg.h
diff -urN qemu-0.7.0-orig/debian/patches/41_ppc_ldscript.patch 
qemu-0.7.0/debian/patches/41_ppc_ldscript.patch
--- qemu-0.7.0-orig/debian/patches/41_ppc_ldscript.patch1970-01-01 
02:00:00.0 +0200
+++ qemu-0.7.0/debian/patches/41_ppc_ldscript.patch 2005-07-24 
21:55:41.817348539 +0300
@@ -0,0 +1,286 @@
+#DPATCHLEVEL=0
+--- ppc.ld.old 2005-07-24 01:10:38.705795341 +0300
 ppc.ld 2005-07-24 01:01:45.0 +0300
+@@ -1,106 +1,190 @@
+-/* ld script to make i386 Linux kernel
+- * Written by Martin Mares [EMAIL PROTECTED];
+- */
+-OUTPUT_FORMAT(elf32-powerpc, elf32-powerpc, elf32-powerpc)
+-OUTPUT_ARCH(powerpc)
+-SEARCH_DIR(/lib); SEARCH_DIR(/usr/lib); SEARCH_DIR(/usr/local/lib); 
SEARCH_DIR(/usr/alpha-unknown-linux-gnu/lib);
++/* Default linker script, for normal executables */
++OUTPUT_FORMAT(elf32-powerpc, elf32-powerpc,
++elf32-powerpc)
++OUTPUT_ARCH(powerpc:common)
+ ENTRY(_start)
++SEARCH_DIR(/usr/powerpc-linux-gnu/lib); SEARCH_DIR(/usr/local/lib); 
SEARCH_DIR(/lib); SEARCH_DIR(/usr/lib);

Bug#319527: qemu: FTBFS on i386

2005-07-23 Thread Reinhard Tartler
On Sat, Jul 23, 2005 at 03:27:53AM +0300, Octavian Cerna wrote:
 
 I attached a patch that fixes the FTBFS:
 
* debian/control (Build-Depends): add missing zlib1g-dev,
  depend on gcc-3.4
* debian/rules: compile with gcc-3.4
* debian/patches/34_syscalls_types.patch: new, fix compile error
  with linux-kernel-headers 2.6.12 (it's a hack:
  include linux/types.h before any other glibc header)
 
 Tested with a sid pbuilder.

thank you very much for this patch. I uploaded an updated package to
ubuntu, debdiff to the current package is here:
https://bugzilla.ubuntu.com/show_bug.cgi?id=12021

It got built now on i386 and amd64. It stills FTBFS for ppc, but this
seems to be an issue with binutils:
http://people.ubuntu.com/~lamont/buildLogs/q/qemu/0.7.0-2ubuntu1/qemu_0.7.0-2ubuntu1_20050723-1324-powerpc-failed.gz
I don't have access to ppc hardware to verify if this applies to debian,
too.

Gruesse,
Reinhard



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#319527: qemu: FTBFS on i386

2005-07-23 Thread Octavian Cerna
Reinhard Tartler wrote:
 
 It got built now on i386 and amd64. It stills FTBFS for ppc, but this
 seems to be an issue with binutils:
 http://people.ubuntu.com/~lamont/buildLogs/q/qemu/0.7.0-2ubuntu1/qemu_0.7.0-2ubuntu1_20050723-1324-powerpc-failed.gz
 I don't have access to ppc hardware to verify if this applies to debian,
 too.
 

For PPC you can try the following patch, already applied to Qemu CVS:
http://lists.gnu.org/archive/html/qemu-devel/2005-06/msg4.html

It updates the ppc.ld linker script to work with binutils 2.16.

Octavian


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#319527: qemu: FTBFS on i386

2005-07-23 Thread Roger Leigh
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Reinhard Tartler [EMAIL PROTECTED] writes:

 On Sat, Jul 23, 2005 at 03:27:53AM +0300, Octavian Cerna wrote:

 It got built now on i386 and amd64. It stills FTBFS for ppc, but this
 seems to be an issue with binutils:
 http://people.ubuntu.com/~lamont/buildLogs/q/qemu/0.7.0-2ubuntu1/qemu_0.7.0-2ubuntu1_20050723-1324-powerpc-failed.gz
 I don't have access to ppc hardware to verify if this applies to debian,
 too.

It also fails on Debian/powerpc:

gcc-3.4 -Wall -O2 -g -fno-strict-aliasing -D__powerpc__ -I. 
-I/tmp/qe/qemu-0.7.0/./target-i386 -I/tmp/qe/qemu-0.7.0/. 
-I/tmp/qe/qemu-0.7.0/./linux-user -I/tmp/qe/qemu-0.7.0/./linux-user/i386 
-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE 
-I/tmp/qe/qemu-0.7.0/./fpu -I/tmp/qe/qemu-0.7.0/./slirp -c -o gdbstub.o 
/tmp/qe/qemu-0.7.0/./gdbstub.c
gcc-3.4 -g -Wl,-T,/tmp/qe/qemu-0.7.0/./ppc.ld -o qemu-i386 elfload.o main.o 
syscall.o mmap.o signal.o path.o osdep.o thunk.o vm86.o libqemu.a gdbstub.o   
-lm -lrt
/usr/bin/ld: qemu-i386: Not enough room for program headers (allocated 8, need 
9)
/usr/bin/ld: final link failed: Bad value
collect2: ld returned 1 exit status
make[2]: *** [qemu-i386] Error 1


- -- 
Roger Leigh
Printing on GNU/Linux?  http://gimp-print.sourceforge.net/
Debian GNU/Linuxhttp://www.debian.org/
GPG Public Key: 0x25BFB848.  Please sign and encrypt your mail.
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Processed by Mailcrypt 3.5.8 http://mailcrypt.sourceforge.net/

iD8DBQFC4mnLVcFcaSW/uEgRAi8OAKClwNvwODl/a/WtVt4PrSti0a5IsgCeM/3/
xH7L6NVj1fZuHjHcEH/eQeU=
=zi6c
-END PGP SIGNATURE-


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#319527: qemu: FTBFS on i386

2005-07-22 Thread Reinhard Tartler
Package: qemu
Severity: serious
Justification: no longer builds from source

I'm trying to get qemu build in current sid. First issue is
missing zlib1g-dev. After adding that to debian/control, the build
stops shortly later.

I assume this is a gcc-4.0 issue, but I don't have time atm to get
deeper into this :(

regards,
Reinhard

-- System Information:
Debian Release: testing/unstable
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: i386 (x86_64)
Shell:  /bin/sh linked to /bin/bash



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#319527: qemu: FTBFS on i386

2005-07-22 Thread Reinhard Tartler
On Fri, Jul 22, 2005 at 09:53:07PM +0100, Roger Leigh wrote:
  I'm trying to get qemu build in current sid. First issue is
  missing zlib1g-dev. After adding that to debian/control, the build
  stops shortly later.
 
 Do you have a transcript of the failure?

Sure, I attached the buildlog showing the failure to this email. This is
inside an uptodate sid chroot.

regards,
Reinhard
dpkg-buildpackage: source package is qemu
dpkg-buildpackage: source version is 0.7.0-2
dpkg-buildpackage: source changed by Guillem Jover [EMAIL PROTECTED]
dpkg-buildpackage: host architecture i386
 fakeroot debian/rules clean
test -x debian/rules
test `id -u` = 0
if test -n   test  != .; then rmdir ; fi
if test . != .; then rmdir .; fi
dh_clean
/usr/bin/make -f debian/rules reverse-config
make[1]: Entering directory `/home/siretart/src/debian/qemu/qemu-0.7.0'
make[1]: Nothing to be done for `reverse-config'.
make[1]: Leaving directory `/home/siretart/src/debian/qemu/qemu-0.7.0'
patches: debian/patches/01_doc_typos.patch 
debian/patches/04_do_not_print_rtc_freq_if_ok.patch 
debian/patches/05_non-fatal_if_linux_hd_missing.patch 
debian/patches/10_signal_jobs.patch debian/patches/11_signal_sigaction.patch 
debian/patches/12_signal_silent.patch debian/patches/20_net_socket.patch 
debian/patches/21_net_sockopt.patch debian/patches/30_syscall_ipc.patch 
debian/patches/31_syscalls.patch debian/patches/32_syscall_sysctl.patch 
debian/patches/33_syscall_truncate64.patch 
debian/patches/40_fpu_arm_sigfpe.patch
Trying patch debian/patches/40_fpu_arm_sigfpe.patch at level 0...0...success.
Trying patch debian/patches/33_syscall_truncate64.patch at level 
0...0...success.
Trying patch debian/patches/32_syscall_sysctl.patch at level 0...0...success.
Trying patch debian/patches/31_syscalls.patch at level 0...0...success.
Trying patch debian/patches/30_syscall_ipc.patch at level 0...0...success.
Trying patch debian/patches/21_net_sockopt.patch at level 0...0...success.
Trying patch debian/patches/20_net_socket.patch at level 0...0...success.
Trying patch debian/patches/12_signal_silent.patch at level 0...0...success.
Trying patch debian/patches/11_signal_sigaction.patch at level 0...0...success.
Trying patch debian/patches/10_signal_jobs.patch at level 0...0...success.
Trying reversed patch debian/patches/05_non-fatal_if_linux_hd_missing.patch at 
level 0...1...success.
Trying patch debian/patches/04_do_not_print_rtc_freq_if_ok.patch at level 
1...1...success.
Trying patch debian/patches/01_doc_typos.patch at level 1...1...success.
if [ reverse-patches = debian/stamp-patched ] ; then touch 
debian/stamp-patched ; \
elif [ reverse-patches = reverse-patches ] ; then rm -f debian/stamp-patch* 
; \
fi
# after reverting patches, we don't need update-config because:
#  - the tree is already in a consistent state.
#  - the initialisation of this routine is already in charge of making
#the tree not only consistent, but also prepared to accept patching.
if [ reverse-patches != reverse-patches ] ; then \
/usr/bin/make -f debian/rules update-config ; \
fi
for dir in debian/patches ; do \
rm -f $dir/*.log ; \
done
make -C . -k distclean || true
make[1]: Entering directory `/home/siretart/src/debian/qemu/qemu-0.7.0'
rm -f config.mak config.h op-i386.h opc-i386.h gen-op-i386.h op-arm.h opc-arm.h 
gen-op-arm.h 
rm -f *.o *.a qemu-img dyngen TAGS *.pod *~ */*~
make -C tests clean
make[2]: Entering directory `/home/siretart/src/debian/qemu/qemu-0.7.0/tests'
rm -f *~ *.o test-i386.out test-i386.ref \
   test-x86_64.log test-x86_64.ref qruncom test-x86_64 sha1
make[2]: Leaving directory `/home/siretart/src/debian/qemu/qemu-0.7.0/tests'
for d in i386-user arm-user armeb-user sparc-user ppc-user i386-softmmu 
ppc-softmmu sparc-softmmu x86_64-softmmu; do \
make -C $d clean || exit 1 ; \
done
make[2]: Entering directory 
`/home/siretart/src/debian/qemu/qemu-0.7.0/i386-user'
rm -f *.o  *.a *~ qemu-i386 gen-op.h opc.h op.h nwfpe/*.o slirp/*.o fpu/*.o
make[2]: Leaving directory `/home/siretart/src/debian/qemu/qemu-0.7.0/i386-user'
make[2]: Entering directory `/home/siretart/src/debian/qemu/qemu-0.7.0/arm-user'
rm -f *.o  *.a *~ qemu-arm gen-op.h opc.h op.h nwfpe/*.o slirp/*.o fpu/*.o
make[2]: Leaving directory `/home/siretart/src/debian/qemu/qemu-0.7.0/arm-user'
make[2]: Entering directory 
`/home/siretart/src/debian/qemu/qemu-0.7.0/armeb-user'
rm -f *.o  *.a *~ qemu-armeb gen-op.h opc.h op.h nwfpe/*.o slirp/*.o fpu/*.o
make[2]: Leaving directory 
`/home/siretart/src/debian/qemu/qemu-0.7.0/armeb-user'
make[2]: Entering directory 
`/home/siretart/src/debian/qemu/qemu-0.7.0/sparc-user'
rm -f *.o  *.a *~ qemu-sparc gen-op.h opc.h op.h nwfpe/*.o slirp/*.o fpu/*.o
make[2]: Leaving directory 
`/home/siretart/src/debian/qemu/qemu-0.7.0/sparc-user'
make[2]: Entering directory `/home/siretart/src/debian/qemu/qemu-0.7.0/ppc-user'
rm -f *.o  *.a *~ qemu-ppc gen-op.h opc.h op.h nwfpe/*.o slirp/*.o fpu/*.o
make[2]: Leaving directory 

Bug#319527: qemu: FTBFS on i386

2005-07-22 Thread Roger Leigh
Reinhard Tartler [EMAIL PROTECTED] writes:

 I'm trying to get qemu build in current sid. First issue is
 missing zlib1g-dev. After adding that to debian/control, the build
 stops shortly later.

Do you have a transcript of the failure?


-- 
Roger Leigh
Printing on GNU/Linux?  http://gimp-print.sourceforge.net/
Debian GNU/Linuxhttp://www.debian.org/
GPG Public Key: 0x25BFB848.  Please sign and encrypt your mail.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#319527: qemu: FTBFS on i386

2005-07-22 Thread Octavian Cerna
tags 319527 + patch
thanks

Reinhard Tartler wrote:
 On Fri, Jul 22, 2005 at 09:53:07PM +0100, Roger Leigh wrote:
 
I'm trying to get qemu build in current sid. First issue is
missing zlib1g-dev. After adding that to debian/control, the build
stops shortly later.

Do you have a transcript of the failure?
 
 
 Sure, I attached the buildlog showing the failure to this email. This is
 inside an uptodate sid chroot.
 

Hello,

Qemu does not support GCC 4.0, see http://www.qemu.org/faq.html

I attached a patch that fixes the FTBFS:

   * debian/control (Build-Depends): add missing zlib1g-dev,
 depend on gcc-3.4
   * debian/rules: compile with gcc-3.4
   * debian/patches/34_syscalls_types.patch: new, fix compile error
 with linux-kernel-headers 2.6.12 (it's a hack:
 include linux/types.h before any other glibc header)

Tested with a sid pbuilder.

HTH,
Octavian
diff -urN qemu-0.7.0-orig/debian/control qemu-0.7.0/debian/control
--- qemu-0.7.0-orig/debian/control  2005-07-23 01:13:01.488124413 +0300
+++ qemu-0.7.0/debian/control   2005-07-23 01:58:11.640203677 +0300
@@ -3,7 +3,7 @@
 Priority: optional
 Maintainer: Debian QEMU Team [EMAIL PROTECTED]
 Uploaders: Guilherme de S. Pastore [EMAIL PROTECTED], Guillem Jover [EMAIL 
PROTECTED], Elrond [EMAIL PROTECTED]
-Build-Depends: cdbs, debhelper (= 4.1.0), libx11-dev | xlibs-dev, 
libsdl1.2-dev ( 1.2.1), texi2html, sharutils, libgpmg1-dev [amd64 i386 
powerpc alpha sparc arm s390]
+Build-Depends: cdbs, debhelper (= 4.1.0), gcc-3.4, libx11-dev | xlibs-dev, 
libsdl1.2-dev ( 1.2.1), zlib1g-dev, texi2html, sharutils, libgpmg1-dev [amd64 
i386 powerpc alpha sparc arm s390]
 Standards-Version: 3.6.1.1
 
 Package: qemu
diff -urN qemu-0.7.0-orig/debian/patches/34_syscalls_types.patch 
qemu-0.7.0/debian/patches/34_syscalls_types.patch
--- qemu-0.7.0-orig/debian/patches/34_syscalls_types.patch  1970-01-01 
02:00:00.0 +0200
+++ qemu-0.7.0/debian/patches/34_syscalls_types.patch   2005-07-23 
01:56:44.864227756 +0300
@@ -0,0 +1,11 @@
+#DPATCHLEVEL=0
+--- linux-user/syscall.c.orig  2005-07-23 01:55:22.169404147 +0300
 linux-user/syscall.c   2005-07-23 01:52:31.157924629 +0300
+@@ -17,6 +17,7 @@
+  *  along with this program; if not, write to the Free Software
+  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+  */
++#include linux/types.h
+ #include stdlib.h
+ #include stdio.h
+ #include stdarg.h
diff -urN qemu-0.7.0-orig/debian/rules qemu-0.7.0/debian/rules
--- qemu-0.7.0-orig/debian/rules2005-07-23 01:13:01.493123375 +0300
+++ qemu-0.7.0/debian/rules 2005-07-23 01:58:44.745327472 +0300
@@ -12,7 +12,7 @@
ppc_rom.bin \
proll.elf
 
-DEB_CONFIGURE_NORMAL_ARGS := --prefix=$(DEB_CONFIGURE_PREFIX) --enable-slirp
+DEB_CONFIGURE_NORMAL_ARGS := --prefix=$(DEB_CONFIGURE_PREFIX) --cc=gcc-3.4 
--enable-slirp
 
 DEB_MAKE_INSTALL_TARGET := install prefix=$(DEB_DESTDIR)/usr \
   bindir=$(DEB_DESTDIR)/usr/bin \