subproject fails due to missing dependency, but is in another subproject

Hi, I am just beginning to use obs and so I may be overlooking the obvious.

I am trying to package rsyslog here: https://build.opensuse.org/project/show/home:rgerhards

For the time being let’s concentrate on Debian 8, as this clearly shows my problem:
The rsyslog subproject fails with missing dependency libfastjson-dev:
https://build.opensuse.org/package/live_build_log/home:rgerhards/rsyslog/Debian_8.0/x86_64

However, libfastjson-dev was properly build for Debian 8 in the libfastjson subproject:
https://build.opensuse.org/package/live_build_log/home:rgerhards/libfastjson/Debian_8.0/x86_64

So far, I had assume that all subprojects inside the same project are automatically available as dependencies (and some other forum posts seem to point into that direction).

I would appreciate any help in resolving this issue. I know there are many other issues with the current state of my project, but I would like to solve this issue first and then work on resolving the other ones.

Thanks in advance,
Rainer

Not that I’m aware of. You probably want to add additional repository referring to your subproject. See openSUSE:Build Service Tips and Tricks - openSUSE Wiki

Thanks for the tip. Unfortunately I seem to still be doing something wrong :frowning: I did:

$ osc meta -e prj home:rgerhards

I edited:

<repository name=“Debian_8.0”>
<path project=“home:rgerhards” repository=“Debian_8.0” />
<path project=“Debian:8.0” repository=“standard”/>
<arch>i586</arch>
<arch>x86_64</arch>
</repository>

upon exit from the editor I got:
Sending meta data…
BuildService API error: project_save_error (400)
Using same repository as path element is not allowed
Try again? ([y/N]):

I tried different names for project and repository, but then I always got a “could not walk path” error (which makes sense to me).

The package resides here:
Install package home:rgerhards / libfastjson4

Can you suggest what I am doing wrong?

Sorry, I misunderstood you. I thought required package was built in a subproject.

Looking at your project it does not appear OBS problem at all. First, rsyslog is successfully built for Tumbleweed with fastjson dependency. So it is resolved. Second, your rsyslog.dsc does not list libfastjson-dev at all, which is probably why OBS does not install it. I have no experience with creating/building dpkg, so I do not know where this dependency comes from, but IMHO the simplest fix would be to add this library to rsyslog.dsc Build-Depends explicitly.

See https://en.opensuse.org/openSUSE:Build_Service_Debian_builds for more details about building dpkg on OBS. In your case it appears that dsc and control files are out of sync.

Thank you very much for your support! It really helps me get going :slight_smile: I just did a couple of experiments with the RPM spec, and this worked out as (now) expected. So now going to reading the doc you posted. I’ll update, hopefully with a success report.

Once again, many thanks!
Rainer

Thank you once again! Actually, one problem was that the version number was incorrectly specified inside libfastjson.dsc. But now that I knew what to expect, things cleared up pretty much. In the mean time I was also able to fix a number of other issues. I am still not fully there, but now everything looks very promising.

A BIG THANKS for this!

Rainer