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 681330 - [regression] Build failure in 0.8
[regression] Build failure in 0.8
Status: RESOLVED FIXED
Product: libsecret
Classification: Other
Component: General
unspecified
Other Linux
: Normal critical
: ---
Assigned To: libsecret maintainer(s)
libsecret maintainer(s)
Depends on:
Blocks:
 
 
Reported: 2012-08-06 19:18 UTC by David Ronis
Modified: 2012-08-16 18:00 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Require valac in order to 'make distcheck' (1.04 KB, patch)
2012-08-06 20:14 UTC, Stef Walter
committed Details | Review
build: Fix build without libgcrypt (1.15 KB, patch)
2012-08-08 05:57 UTC, Stef Walter
committed Details | Review
vala: use nodist sources for vala test cases (2.16 KB, patch)
2012-08-16 07:31 UTC, Evan Nemerson
committed Details | Review

Description David Ronis 2012-08-06 19:18:04 UTC
I'm trying to build libsecret-0.8.  The build goes well until the test phase, where it dies with:
 
CCLD     test-collection
make[5]: *** No rule to make target `test-vala-lang.vala', needed by `test-vala-lang.c'.  Stop.

find shows no test-vala-lang.vala in the libsecret tree.

I have vala-0.17.4 installed.
Comment 1 Stef Walter 2012-08-06 20:14:49 UTC
Created attachment 220495 [details] [review]
Require valac in order to 'make distcheck'

* Otherwise problems with vala files not being distributed
Comment 2 David Ronis 2012-08-06 20:42:01 UTC
I tried applying the patch to the 0.8 sources.   This worked; however, gnome-autogen complains about

Running autoconf...
configure.ac:98: error: possibly undefined macro: AM_PATH_LIBGCRYPT
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.

Looks like libgcrypt is a must.
Comment 3 David Ronis 2012-08-06 21:07:50 UTC
I installed libgcrypt.   Still no go.  configure still finds valac even though the test-vala-lang.vala isn't installed.

From config.log:

configure:14992: checking for valac
configure:15010: found /opt/garnome-3.5/bin/valac
configure:15022: result: /opt/garnome-3.5/bin/valac


I got it to build by adding --enable-vala=no to the configure args, but this is cheating.
Comment 4 Stef Walter 2012-08-08 05:57:47 UTC
Created attachment 220637 [details] [review]
build: Fix build without libgcrypt

 * Needed to use m4_ifdef on the libgcrypt autoconf macro
Comment 5 Stef Walter 2012-08-08 06:00:32 UTC
Please include the complete build error (In reply to comment #3)
> I installed libgcrypt.   Still no go.  configure still finds valac even though
> the test-vala-lang.vala isn't installed.

Could you please include the complete build error text. Thank you.
Comment 6 David Ronis 2012-08-08 16:12:21 UTC
With both patches applied 0.8 no longer builds  (i.e., without adding --enable-vala=no)

As before I get:

make[5]: Entering directory `/home/ronis/Project/notar/GNOME/garnome/desktop/libsecret/work/main.d/libsecret-0.8/libsecret/tests'
make[5]: *** No rule to make target `test-vala-lang.vala', needed by `test-vala-lang.c'.  Stop.
Comment 7 Stef Walter 2012-08-08 16:14:12 UTC
Right. You'll need to generate a new tarball from libsecret git. Or if you're not able to, then I can send you one. Let me know.

I'll be releasing 0.9 shortly, but want to make sure the issues you've raised are fixed before I do.
Comment 8 David Ronis 2012-08-08 16:30:30 UTC
A new tarball?  Why?   I applied the patches and autogen to a freshly unpacked 0.8.   If you really want me to use a new tarball, you'll have to send me one.
Comment 9 Stef Walter 2012-08-08 16:32:10 UTC
Beca(In reply to comment #8)
> A new tarball?  Why?  

Because the first patch affects how the tarball is built, and doesn't change anything for an already created tarball.
Comment 10 Stef Walter 2012-08-10 11:50:33 UTC
I emailed you a tarball. Any updates? I want to release libsecret 0.9 shortly.
Comment 11 David Ronis 2012-08-10 16:54:11 UTC
Hi Stef, 

I never got the tarball and AFAIK it wasn't trapped by my spam filter.

Please try again.

David
Comment 12 Stef Walter 2012-08-13 15:24:06 UTC
Evan, do you have time to figure this one out?

When someone does 'make distcheck' we want to be able to display a message that they can't do that without the required vala installed.

I tried to do that (see the patch below) but it doesn't do the trick. Especially if you delete libsecret/tests/test-vala-lang.c you can see this behavior.

One gets the following message:


     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)
make[3]: Entering directory `/data/projects/libsecret/egg/tests'
make[3]: Leaving directory `/data/projects/libsecret/egg/tests'
make[2]: Leaving directory `/data/projects/libsecret/egg'
 (cd libsecret && make  top_distdir=../libsecret-0.9 distdir=../libsecret-0.9/libsecret \
     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)
make[2]: Entering directory `/data/projects/libsecret/libsecret'
 (cd tests && make  top_distdir=../../libsecret-0.9 distdir=../../libsecret-0.9/libsecret/tests \
     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)
make[3]: Entering directory `/data/projects/libsecret/libsecret/tests'
make[3]: *** No rule to make target `test-vala-lang.c', needed by `distdir'.  Stop.
make[3]: Leaving directory `/data/projects/libsecret/libsecret/tests'
make[2]: *** [distdir] Error 1
make[2]: Leaving directory `/data/projects/libsecret/libsecret'
make[1]: *** [distdir] Error 1
make[1]: Leaving directory `/data/projects/libsecret'
Comment 13 Evan Nemerson 2012-08-16 07:31:53 UTC
Created attachment 221346 [details] [review]
vala: use nodist sources for vala test cases

(In reply to comment #12)
> Evan, do you have time to figure this one out?
> 
> When someone does 'make distcheck' we want to be able to display a message that
> they can't do that without the required vala installed.
> 
> I tried to do that (see the patch below) but it doesn't do the trick.
> Especially if you delete libsecret/tests/test-vala-lang.c you can see this
> behavior.

Interesting issue.  According to the automake docs "If the dist-hook rule exists, it is run after the distribution directory is filled, but before the actual distribution archives are created."  So it will expect test-vala-lang.c to exist before dist-hook is ever called.  The attached patch will use nodist SOURCES for the Vala tests.
Comment 14 Stef Walter 2012-08-16 10:08:08 UTC
Thanks Evan, that seems to do the trick.

Attachment 221346 [details] pushed as 8f3387c - vala: use nodist sources for vala test cases
Comment 15 David Ronis 2012-08-16 17:53:39 UTC
I applied the patch in attachment 221346 [details] [review] to an unpacked 0.8 tarball.   The build still fails:

make[5]: Entering directory `/home/ronis/Project/notar/GNOME/garnome/desktop/libsecret/work/main.d/libsecret-0.8/libsecret/tests'
make[5]: *** No rule to make target `test-vala-lang.vala', needed by `test-vala-lang.c'.  Stop.

I'm clearly not getting something.
Comment 16 Stef Walter 2012-08-16 18:00:26 UTC
Please use git master to test. You can run 'make distcheck' on git master to generate a new tarball. Thank you.