Mailinglist Archive: opensuse-factory (710 mails)

< Previous Next >
Re: [opensuse-factory] Another srpm won't build: transmission
On Tue, Jun 7, 2011 at 6:08 PM, Linda Walsh <suse@xxxxxxxxx> wrote:




peer-io.c: In function ‘tr_evbuffer_write’:
peer-io.c:285:31: error: dereferencing pointer to incomplete type
make[1]: *** [peer-io.o] Error 1

---
This one REALLY has me curious as to how it was build for the distribution,
since I have been unable to build transmission from their source repo for
some time due to something along the lines of (if not the exact same) error
I'm getting from the 11.4 package.


I have a system that seems to be fully updated to 11.4, and installed the
appropriate build-requires.

Yet another rpmbuild -bb fails with errors indicating it never should have
been buildable to a binary in the first place.

So what's going on?
----

FWIW, I also tried using the "build" command to see if that worked any
better...:
expanding package dependencies...
reqesting
dir:///Share/suse/11.4/repo/oss/suse/x86_64/rpm-4.8.0-27.1.x86_64.rpm failed:
501 Protocol scheme 'dir' is not supported
Warning: distribution not specified, assuming 'default' (see
/usr/lib/build/configs).
downloading
zypp://Open_Suse_11.4_Update/rpm/x86_64/Mesa-7.10.2-7.3.1.x86_64.rpm ...
reqesting
dir:///Share/suse/11.4/update/rpm/x86_64/Mesa-7.10.2-7.3.1.x86_64.rpm failed:
501 Protocol scheme 'dir' is not supported



So how does one build binary RPM's from source rpm's or am I just
getting 'lucky' in choosing broken SRPM's?

:-(

(and people want me to use the build-system to build updates for
products...um...  a main reason for resisting that has been being
able to make sure I wasn't building in a 'walled garden', that
included things I didn't know about.
In it's simplest form, this merely means the build environment
seems to include things that aren't obvious to someone
building the packages on a standard 11.4 system....
As such, it doesn't seem to be a "portable" build environment...


Linda,

I suggest you get more familiar with osc. Especially if you are
considering using OBS.

So, have you tried building locally just like factory does?

By that I mean:

cd ~ #or wherever you want the source
package
mkdir obs; cd obs; #you are now in your new working dir
osc co openSUSE:Factory transmission #now you have the source as OBS has it
cd openSUSE\:Factory/transmission/
ls # verify you have
the source
transmission-2.31.tar.bz2 transmission.changes
transmission-qt.desktop transmission.spec
osc build transmission.spec # build it.

(I use Factory above. You might prefer openSUSE:11.4 The support
packages pulled in to do the compile come from the repo you pull
transmission from, so it should all work out.)

Note that by default, the build_root is in /var/tmp and it can be a
few GB. Edit .oscrc to point it somewhere else.

I just did a test build like the above (from openSUSE:Factory) and it
worked fine for me.

=== rpms I just built locally
ls
/home/gaf/obs/osc_roots/build-root-standard-x86_64-openSUSE\:Factory/usr/src/packages/RPMS/x86_64/

transmission-2.31-1.x86_64.rpm
transmission-gtk-2.31-1.x86_64.rpm
transmission-qt-debuginfo-2.31-1.x86_64.rpm
transmission-debuginfo-2.31-1.x86_64.rpm
transmission-gtk-debuginfo-2.31-1.x86_64.rpm
transmission-debugsource-2.31-1.x86_64.rpm transmission-qt-2.31-1.x86_64.rpm
===

So it could be a bug in the "buildrequires" logic that is implicitly
satisfied by the above, but not by your process.

Personally, I'd rather use the osc approach regardless because it more
closely maps to how that actual distro is built.

And if you are doing this to see if OBS is the place for you, then
even more reason to use osc.

HTH
Greg
--
To unsubscribe, e-mail: opensuse-factory+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-factory+help@xxxxxxxxxxxx

< Previous Next >
References