Am Mittwoch, 20. Juni 2012, 16:46:15 schrieb Troy Telford:
On 2012-06-20 02:55:06 +0000, Robert Schiele said:
On Wed, Jun 20, 2012 at 2:35 AM, Troy Telford
wrote: So it appears that while OBS is at least attempting to build the package, I'm not seeing any indication that qemu is being invoked. It seems that the worker is just trying to execute the ARM-architecture 'rpm' as native x86_64 code - and dies.
In fact it tries to invoke /usr/bin/qemu-arm-binfmt which likely does not exist in your qemu package.
Yup; qemu-arm exists, but qemu-arm-binfmt does not.
To solve this there are two options: Either you just use the qemu package from openSUSE or if you prefer to use the Fedora qemu you might want to create a separate package in addition that has the qemu-arm-binfmt (taking the source code or binary from the openSUSE package).
That is very helpful!
I'm nearly there, I think, but I have a few outstanding issues I don't know how to explain:
1.) My worker nodes (SLES 11SP2) report a warning - I do not get the warning if a user uses 'osc build' (from an openSUSE 12.1 system). registering binfmt handlers Warning: could not register binfmt handlers
That looks like a problem. Are you sure that you have binfmtmisc handler available here? Some debugging here may give some insight ..
Warning: mmap_min_addr is != 0. If programs fail at mmap this could be the reason Use of uninitialized value in string eq at /var/run/obs/worker/1/build/Build.pm line 608. (repeated many times)
not nice, but most likely not important here.
When the build gets past the 'preinst' packages - and tries to execute 'rpm' (using the native ARM rpm binary), it fails as before.
I've tried: * updating OBS (I'm using 2.3 stable) * restarting OBS on the server * stopped the workers * removed /var/run/obs and /var/tmp/obs_workers (ie. everything that's stored on the worker's filesystem) * re-started the workers
I still get the same problem - the buildroot only partially builds on the worker nodes, but works fine if a 'local' build using 'osc build' is done.
the setup works in the same way on local build as on the servers. So something must be different on your installations. I have to admit that I have not tested the workers on SP2 yet ...
2.) When using 'osc build' to do a local build, instead of installing the compiler to /usr/bin/g++ (which is what rpm -ql gcc-c++ shows the installation path *should* be), the compiler is instead installed to /usr/bin/armv5tel-redhat-linux-gnueabi-c++, with no symlink to the corresponding 'short' compiler name.
Does anybody know why this is? It certainly plays havoc with makefiles expecting to call gcc, g++, cc, c++, etc.
This must be caused by your project configuration. build is just installing packages. Either your compiler package is not installed or some other other package is messing it up ... -- Adrian Schroeter SUSE Linux Products GmbH email: adrian@suse.de -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org