[opensuse-buildservice] Valgrind-devel package on RHEL
G'day, I have a project https://build.opensuse.org/project/show/home:gnb:novaprova which I'm trying to make available on as many distros as possible. To build it needs to include the valgrind.h header file from Valgrind (and before you ask, no this is not optional). When building for RHEL, OBS can't find the valgrind-devel RPM which contains this header. I think this is because RH shipped that RPM on the "optional" media, and that OBS doesn't know how to find the RPMs from that media. So what's the best way to convince OBS to actually find those RPMs so I can build? -- Greg. -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
On Mon, Jan 13, 2014 at 01:10:56PM -0800, Greg Banks wrote:
I have a project https://build.opensuse.org/project/show/home:gnb:novaprova which I'm trying to make available on as many distros as possible. To build it needs to include the valgrind.h header file from Valgrind (and before you ask, no this is not optional). When building for RHEL, OBS can't find the valgrind-devel RPM which contains this header. I think this is because RH shipped that RPM on the "optional" media, and that OBS doesn't know how to find the RPMs from that media.
So what's the best way to convince OBS to actually find those RPMs so I can build?
Import the source rpm in your project, limit the built the necessary distribution, disable publishing and enable use-for-build flag. Regards, Martin -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
G'day Martin, On 13 January 2014 13:58, Martin Koegler <martin.koegler@chello.at> wrote:
On Mon, Jan 13, 2014 at 01:10:56PM -0800, Greg Banks wrote:
I have a project https://build.opensuse.org/project/show/home:gnb:novaprova which I'm trying to make available on as many distros as possible. To build it needs to include the valgrind.h header file from Valgrind (and before you ask, no this is not optional). When building for RHEL, OBS can't find the valgrind-devel RPM which contains this header. I think this is because RH shipped that RPM on the "optional" media, and that OBS doesn't know how to find the RPMs from that media.
So what's the best way to convince OBS to actually find those RPMs so I can build?
Import the source rpm in your project, limit the built the necessary distribution, disable publishing and enable use-for-build flag.
That seemed pretty sensible, so I tried it. Unfortunately it seems that the valgrind source RPM from RHEL6 won't build in OBS's RHEL6 VM. The problem seems to be that the VM is running a much newer kernel than RHEL is supposed to be running. From the build log [ 46s] checking for a supported OS... ok (linux-gnu) [ 46s] checking for the kernel version... unsupported (3.11.6-4-default) <--- [ 46s] configure: error: Valgrind works on kernels 2.4, 2.6 [ 46s] error: Bad exit status from /var/tmp/rpm-tmp.Qzy4DK (%build) the VM is running 3.11.6, but according to https://access.redhat.com/site/articles/3078 the most recent supported kernel for RHEL6 is 2.6.32. So is there a way to get the real binary valgrind-devel RPM from the RHEL media installed into the VM? -- Greg. -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
On Mon, Jan 13, 2014 at 10:57:38PM -0800, Greg Banks wrote:
Import the source rpm in your project, limit the built the necessary distribution, disable publishing and enable use-for-build flag.
That seemed pretty sensible, so I tried it.
Unfortunately it seems that the valgrind source RPM from RHEL6 won't build in OBS's RHEL6 VM. The problem seems to be that the VM is running a much newer kernel than RHEL is supposed to be running. From the build log
[ 46s] checking for a supported OS... ok (linux-gnu) [ 46s] checking for the kernel version... unsupported (3.11.6-4-default) <--- [ 46s] configure: error: Valgrind works on kernels 2.4, 2.6 [ 46s] error: Bad exit status from /var/tmp/rpm-tmp.Qzy4DK (%build)
the VM is running 3.11.6, but according to
https://access.redhat.com/site/articles/3078
the most recent supported kernel for RHEL6 is 2.6.32.
Looks like the build VMs are using a generic kernel. Personally, I would patch configure to handle 3.X the same way as 2.6.
So is there a way to get the real binary valgrind-devel RPM from the RHEL media installed into the VM?
If you setup your own OBS instance, you can import, whatever you want. Regards, Martin -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
On Dienstag, 14. Januar 2014, 08:26:33 wrote Martin Koegler:
On Mon, Jan 13, 2014 at 10:57:38PM -0800, Greg Banks wrote:
Import the source rpm in your project, limit the built the necessary distribution, disable publishing and enable use-for-build flag.
That seemed pretty sensible, so I tried it.
Unfortunately it seems that the valgrind source RPM from RHEL6 won't build in OBS's RHEL6 VM. The problem seems to be that the VM is running a much newer kernel than RHEL is supposed to be running. From the build log
[ 46s] checking for a supported OS... ok (linux-gnu) [ 46s] checking for the kernel version... unsupported (3.11.6-4-default) <--- [ 46s] configure: error: Valgrind works on kernels 2.4, 2.6 [ 46s] error: Bad exit status from /var/tmp/rpm-tmp.Qzy4DK (%build)
the VM is running 3.11.6, but according to
https://access.redhat.com/site/articles/3078
the most recent supported kernel for RHEL6 is 2.6.32.
Looks like the build VMs are using a generic kernel. Personally, I would patch configure to handle 3.X the same way as 2.6.
So is there a way to get the real binary valgrind-devel RPM from the RHEL media installed into the VM?
If you setup your own OBS instance, you can import, whatever you want.
Or you can repackage the RHEL kernel in your so that OBS VM will use it. If that works we can even make this default in RHEL project. For reference check osc co home:adrianSuSE kernel-obs-build After this package has successfully build for your RHEL repo, add the line VMinstall: kernel-obs-build to your prjconf via "osc meta prjconf -e $YOUR_PROJECT". Any feedback whether you succeed or not would be nice :) bye adrian -- Adrian Schroeter email: adrian@suse.de SUSE LINUX GmbH, GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer, HRB 21284 (AG Nürnberg) Maxfeldstraße 5 90409 Nürnberg Germany -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
G'day Adrian, On 14 January 2014 01:50, Adrian Schröter <adrian@suse.de> wrote:
On Dienstag, 14. Januar 2014, 08:26:33 wrote Martin Koegler:
If you setup your own OBS instance, you can import, whatever you want.
Or you can repackage the RHEL kernel in your so that OBS VM will use it.
That seems like a *whole* lot of work just for one header file.
If that works we can even make this default in RHEL project.
I'm curious, why do OBS's RHEL build VMs use a kernel which isn't the default RHEL kernel? What if someone wants to build a package which includes kernel modules? -- Greg. -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
On Dienstag, 14. Januar 2014, 08:37:20 wrote Greg Banks:
G'day Adrian,
On 14 January 2014 01:50, Adrian Schröter <adrian@suse.de> wrote:
On Dienstag, 14. Januar 2014, 08:26:33 wrote Martin Koegler:
If you setup your own OBS instance, you can import, whatever you want.
Or you can repackage the RHEL kernel in your so that OBS VM will use it.
That seems like a *whole* lot of work just for one header file.
not really, you just need an rpm which provides a kernel and an initrd binary at a defined place. It is not about to compile a new kernel, just repackage in a way which is usable by OBS.
If that works we can even make this default in RHEL project.
I'm curious, why do OBS's RHEL build VMs use a kernel which isn't the default RHEL kernel?
Back in the days when we started OBS the XEN stuff was new and kvm did not exist. We were happy to have one kernel at all which was working in VM's. Most of the kernels did not work. And so far we did not want to debug and fix kernels of foreign distributions.
What if someone wants to build a package which includes kernel modules?
well, just to build kernel modules, you just need to have the proper sources installed. The kernel does not have to run. But you are right that there are also use case where you may want to load a kernel module during the build. That is one of the reasons why we added the support to load native distribution kernels. But we have not configured it as default yet. But I guess we will do so soon for openSUSE:Factory at least. -- Adrian Schroeter email: adrian@suse.de SUSE LINUX GmbH, GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer, HRB 21284 (AG Nürnberg) Maxfeldstraße 5 90409 Nürnberg Germany -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
On 14 January 2014 08:41, Adrian Schröter <adrian@suse.de> wrote:
On Dienstag, 14. Januar 2014, 08:37:20 wrote Greg Banks:
G'day Adrian,
If that works we can even make this default in RHEL project.
I'm curious, why do OBS's RHEL build VMs use a kernel which isn't the default RHEL kernel?
Back in the days when we started OBS the XEN stuff was new and kvm did not exist.
We were happy to have one kernel at all which was working in VM's. Most of the kernels did not work. And so far we did not want to debug and fix kernels of foreign distributions.
Ah, this makes sense.
What if someone wants to build a package which includes kernel modules?
well, just to build kernel modules, you just need to have the proper sources installed. The kernel does not have to run.
True, but some bits of build infrastructure does a uname -r and assumes that means something significant.
But you are right that there are also use case where you may want to load a kernel module during the build. That is one of the reasons why we added the support to load native distribution kernels.
Yes, and the ability to actually test a kernel module you just built is one of the advantages of a VM based approach over a chroot approach.
But we have not configured it as default yet. But I guess we will do so soon for openSUSE:Factory at least.
Ok. Thanks for explaning. -- Greg. -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
G'day, On 13 January 2014 23:26, Martin Koegler <martin.koegler@chello.at> wrote:
Looks like the build VMs are using a generic kernel. Personally, I would patch configure to handle 3.X the same way as 2.6.
This sounds like the simplest solution. In fact more recent versions of Valgrind do exactly this. So I tried it and it worked (or at least the Valgrind package built). Thanks!
So is there a way to get the real binary valgrind-devel RPM from the RHEL media installed into the VM?
If you setup your own OBS instance, you can import, whatever you want.
Sure, if I wanted to do that, which I don't. -- Greg. -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
participants (3)
-
Adrian Schröter
-
Greg Banks
-
Martin Koegler