After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 743708 - libgitg/gitg-credentials-manager.vala:254.11-254.48: error: `Ggit.CredSshKeyFromAgent' does not have a default constructor
libgitg/gitg-credentials-manager.vala:254.11-254.48: error: `Ggit.CredSshKeyF...
Status: RESOLVED FIXED
Product: libgit2-glib
Classification: Core
Component: General
git master
Other Linux
: Normal normal
: ---
Assigned To: gitg-maint
gitg-maint
Depends on:
Blocks:
 
 
Reported: 2015-01-29 17:48 UTC by Michael Catanzaro
Modified: 2019-02-22 03:51 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
apps-3.16: libgit2 should be built with SSH support (910 bytes, patch)
2015-02-22 02:17 UTC, Michael Catanzaro
none Details | Review
sysdeps-3.16: add libssh (882 bytes, patch)
2015-02-22 02:17 UTC, Michael Catanzaro
none Details | Review
sysdeps-3.16: fixup for libssh (731 bytes, patch)
2015-02-22 02:28 UTC, Michael Catanzaro
none Details | Review
sysdeps-3.16: another fixup for libssh (839 bytes, patch)
2015-02-22 13:17 UTC, Michael Catanzaro
none Details | Review
3.16: rename libssh to libssh2 (1.48 KB, patch)
2015-02-22 18:44 UTC, Michael Catanzaro
none Details | Review

Description Michael Catanzaro 2015-01-29 17:48:06 UTC
gitg master does not build anymore in jhbuild (so I'm using the master branch of all dependencies).

libgitg/gitg-credentials-manager.vala:254.11-254.48: error: `Ggit.CredSshKeyFromAgent' does not have a default constructor
			return new Ggit.CredSshKeyFromAgent(username);
			       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Compilation failed: 1 error(s), 1 warning(s)

Which seems to be a terrible error message from Vala. I see this in ggit-1.0.vapi:

[CCode (cheader_filename = "libgit2-glib/ggit.h")]
[Compact]
public class CredSshKeyFromAgent {
}

I'm not sure what's going wrong there.
Comment 1 Nicolas Laplante 2015-02-22 00:21:00 UTC
Your libgit2 doesn't support ssh. Rebuild libgit2 with -DUSE_SSH=ON, then rebuild libgit2-glib. This should fix your problem.
Comment 2 Michael Catanzaro 2015-02-22 02:06:48 UTC
Ugh, libssh is not in jhbuild. Well it looks like libgit2 doesn't depend on any particular version, so I will add it as a sysdep.
Comment 3 Michael Catanzaro 2015-02-22 02:17:38 UTC
The following fixes have been pushed:
62e70e3 apps-3.16: libgit2 should be built with SSH support
a4113b7 sysdeps-3.16: add libssh
Comment 4 Michael Catanzaro 2015-02-22 02:17:41 UTC
Created attachment 297546 [details] [review]
apps-3.16: libgit2 should be built with SSH support

gitg wants to use SSH support in libgit2. It will be selected
automatically if libssh-devel is installed.
Comment 5 Michael Catanzaro 2015-02-22 02:17:44 UTC
Created attachment 297547 [details] [review]
sysdeps-3.16: add libssh

Needed for libgit2. Its pkg-config file was added in 2009 and there's no
version requirement, so no worries.
Comment 6 Michael Catanzaro 2015-02-22 02:28:34 UTC
The following fix has been pushed:
b538426 sysdeps-3.16: fixup for libssh
Comment 7 Michael Catanzaro 2015-02-22 02:28:37 UTC
Created attachment 297548 [details] [review]
sysdeps-3.16: fixup for libssh
Comment 8 Paolo Borelli 2015-02-22 08:18:18 UTC
Are you sure that works? because the dependency if I recall correctly is on libssh2 and for istance in fedora there are both libssh and libssh2
Comment 9 Michael Catanzaro 2015-02-22 13:15:59 UTC
Yup it's wrong, good catch!
Comment 10 Michael Catanzaro 2015-02-22 13:17:13 UTC
The following fix has been pushed:
608b135 sysdeps-3.16: another fixup for libssh
Comment 11 Michael Catanzaro 2015-02-22 13:17:15 UTC
Created attachment 297569 [details] [review]
sysdeps-3.16: another fixup for libssh

There is libssh.pc and also libssh2.pc. We need libssh2.
Comment 12 Paolo Borelli 2015-02-22 14:15:02 UTC
Review of attachment 297569 [details] [review]:

I'd also change the module name since they are two different projetcs
Comment 13 Michael Catanzaro 2015-02-22 18:41:45 UTC
Goodness gracious :)
Comment 14 Michael Catanzaro 2015-02-22 18:44:02 UTC
The following fix has been pushed:
c8f265c 3.16: rename libssh to libssh2
Comment 15 Michael Catanzaro 2015-02-22 18:44:05 UTC
Created attachment 297590 [details] [review]
3.16: rename libssh to libssh2

As has been pointed out, these are two competing libraries, not two
different versions of the same library. Goodness gracious. Can't wait to
see what happens when libssh bumps their pkg-config version....