Bug 996265

Summary: sudo yum-builddep libreoffice does not install all dependencies needed for upstream build
Product: [Fedora] Fedora Reporter: Tobias Lippert <drtl>
Component: libreofficeAssignee: Caolan McNamara <caolanm>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 19CC: admiller, caolanm, dtardon, erack, ltinkl, mstahl, packaging-team-maint, pmatilai, sbergman, tim.lauridsen, zpavlas
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-08-13 08:05:15 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Tobias Lippert 2013-08-12 19:22:58 UTC
I want to help with the libreoffice project.
On the project page
https://wiki.documentfoundation.org/Development/BuildingOnLinux
it says that I should type
yum-builddep libreoffice
to install everything that I need to develop.

However, I was missing the following libraries.
gstreamer-plugins-base-devel
gstreamer-devel
libX11-devel

Maybe there are more libraries which are missing but which I happened to have.

It could make sense to install ccache because libreoffice is such a large project, and it will take a long time to build.

I would consider this bug fixed if I can follow the instructions on aforementioned page, i.e.
./autogen.sh
will run through.

Comment 1 Panu Matilainen 2013-08-13 05:35:22 UTC
yum-builddep relies on data supplied by the packager to pull in the dependencies, so if something is missing that needs addressing in the libreoffice package, reassigning to libreoffice.

A few comments:
- In Fedora, there's a set of implicit build-requires which packages need not list
- Package's buildrequires reflect the set of packages needed to build the software as packaged for Fedora. That doesn't necessarily include everything needed for building from upstream VCS checkout, or all possible upstream supported options
- Tools to speed up builds, such as ccache, are not actually *required* for building so it would be wrong for eg libreoffice to buildrequire that.
- Upstream documentation for building on a fast-moving target such as Fedora might not be entirely up to date at all times

Comment 2 David Tardon 2013-08-13 08:05:15 UTC
yum-builddep libreoffice installs dependencies that are needed for building the Fedora package (obviously). It is only a shortcut to get most of the needed stuff (there are different configure options, changes in the current master vs. released versions etc.) If the page says the command will install _all_ needed deps, it is wrong and should be fixed.

Comment 3 Tobias Lippert 2013-08-13 19:34:34 UTC
Okay, I have edited the page on the LibreOffice wiki and removed Fedora from the list of supported distros.

Is there anything more I can do, e.g., contact whoever is responsible for changing the behavior of yum-builddep libreoffice ?

Comment 4 David Tardon 2013-08-14 05:12:32 UTC
(In reply to Tobias Lippert from comment #3)
> Okay, I have edited the page on the LibreOffice wiki and removed Fedora from
> the list of supported distros.

And I reverted the change because it is completely wrong. "It is currently not possible to build LibreOffice on Fedora". Seriously?! I build libreoffice master on Fedora every day.

> 
> Is there anything more I can do, e.g., contact whoever is responsible for
> changing the behavior of yum-builddep libreoffice ?

You do not understand. There is nothing here to fix. yum-builddep libreoffice takes the dependencies of libreoffice srpm and installs them. The set of dependencies reflects 1/ the version of Fedora you have installed 2/ the specific options used by the distribution build. There is nothing specific about Fedora here either--the other tools (zypper, apt-get,...) work in _exactly_ the same way. IOW, you will get all the necessary dependencies iff you build the exact branch your distro version is packaging and with exactly the same options. And we are only speaking about _default_ configuration (i.e., just ./autogen.sh). It gets progressively worse when one starts using --with-system-libs.

That said, yum-builddep libreoffice is a _very_ good start to get the dependencies needed for building master--way way better than running ./autogen.sh repeatedly and installing a new -devel package every time it fails... (that is something for long winter hours, especially when using --with-system-libs)

Comment 5 Tobias Lippert 2013-08-14 11:47:05 UTC
You said, that the instructions were wrong, and I fixed them.
Now you reverted the fix, and the instructions are wrong again. (instead of making the changes that you proposed, and I misunderstood)

I do not understand how broken instructions help the project to encourage new developers. But I do not care enough to start a huge discussion :)

Comment 6 David Tardon 2013-08-14 12:12:38 UTC
(In reply to Tobias Lippert from comment #5)
> You said, that the instructions were wrong, and I fixed them.

You did not fix them, you made them even worse.

> Now you reverted the fix, and the instructions are wrong again. (instead of
> making the changes that you proposed, and I misunderstood)

Have you even looked?

> 
> I do not understand how broken instructions help the project to encourage
> new developers. But I do not care enough to start a huge discussion :)

They were not broken, there was just a small detail missing. And I am not entirely convinced it was necessary to add it. IMHO every (even potential) linux programmer should be able to figure out that a devel package is missing when configure fails.

And I do not think we care much about people who checkout a project sources, discover that it fails in confiure and go away...

Comment 7 Tobias Lippert 2013-08-14 17:57:30 UTC
I looked, but honestly I just looked for my changes, and they were gone. (And you said that you have reverted them, not that you corrected the instructions.)

Anyway, I think that the instructions are much better now, because they give a hint on what one can do if the steps do not work. Thank you for correcting them.