Hi Sage,
On 10/10/2011 06:39 AM, Sage Weil wrote:
Hey everyone,
Over the last few days I've wasted far more hours than I care to
remember/admit futzing around with the ceph.spec file. The goal is to use
build.opensuse.org (or maybe a private instance) to build RPMs for
multiple platforms, including opensuse, sles, fedora, rhel, and centos.
https://build.opensuse.org/package/show?package=ceph&project=home%3Aliewegas
A few things:
- I can't build packages in the actual RHEL environments because some
legal thing makes the -devel packages unavailable, so you need to look
at the CentOS ones instead.
- A bunch of debian targets are listed, but I didn't pull the debian/ dir
out of the tarball, so those show up as excluded currently.
- The tarball that in the build.opensuse.org repo is a snapshot from
recent master, not the actual ceph-0.36.tar.gz. The .spec file also
has several changes that aren't in ceph.git yet. Work from the
openbuild versions and I'll integrate back into the upstream once
things actually work.
https://build.opensuse.org/package/files?package=ceph&project=home%3Aliewegas
Here is where things currently stand:
- openSUSE_Tumbleweed, openSUSE_Factory, openSUSE_11.4, openSUSE_11.3
- Seems to build fine...
- ...but there are errors about insserv I have no idea how to fix:
insserv: FATAL: service network has to be enabled to use service ceph
insserv: exiting now!
/sbin/insserv failed, exit code 1
- SLE_11, SLE_11_SP1:
- The configure libedit check defines LIBEDIT_LIBS, which includes
-lcurses, and ncurses-devel gets installed, but
/usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../x86_64-suse-linux/bin/ld:
cannot find -lcurses
This is annoying, because the configure macro is the one deciding to
link that in in the first place... Do I need to list some other
ncurses -devel package explicitly as a build depenency??
- Fedora_14, 15 i586:
- The atomic test and set stuff doesn't seem to work on a uint32_t:
/home/abuild/rpmbuild/BUILD/ceph-0.36/src/common/simple_spin.cc:42:
undefined reference to `__sync_bool_compare_and_swap_4'
- Suddenly build.opensuse.org isn't showing build logfiles anymore
('remote error: no socket attached'), so I don't have details on the
others. :(
In case it isn't obvious, I know next to nothing about writing spec
files, and have probably made a mess of things trying to make it happy on
all of these platforms. Any help here would be greatly appreciated!
Hmm. Seems this hasn't been send in your direction, but I've already
put ceph in the buildservice:
home:hreinecke:storage
The insserv thing is easy to workaround; just don't enable service
ceph when installing the package :-)
But note I had to fiddle with the spec file a bit (the one from git
tree seems to be a bit outdated).
And I've had to do two minor tweaks for openSUSE/SLES:
- 'docdir' is defined in configure.ac; this prohibits it to be
redefined from the commandline. We should rather leave it empty and
have it specified via the --docdir switch.
- openSUSE/SLES installs the fastcgi headers in its own subdir,
so we need some configure logic to test for this.
Cheers,
Hannes
--
Dr. Hannes Reinecke zSeries & Storage
hare@xxxxxxx +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg)
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html