GNOME Bugzilla – Bug 590907
files_general_hg: variable `NULL' is used but `NULL' is undefined
Last modified: 2009-09-03 13:22:42 UTC
*** Configuring glibmm *** [1/1] ./autogen.sh --prefix /opt/gnome2 --libdir '/opt/gnome2/lib64' --disable-static Found GNU make at /usr/bin/make... good. Adding libtools. Building macros. Building makefiles. files_general_hg: variable `NULL' is used but `NULL' is undefined files_all_hg: variable `files_general_deprecated_hg' is used but `files_general_deprecated_hg' is undefined files_all_extra_h: variable `sublib_files_extra_general_deprecated_h' is used but `sublib_files_extra_general_deprecated_h' is undefined
The glibmm build is currently undergoing a huge rework and you were probably just unlucky with some intermediate work. Could you try again, please?
The errors are from the old stuff. It is not unlikely that it may suddenly work now, as it has now changed completely.
By the way -- this is somewhat unrelated, but as I just saw this line in your output: ./autogen.sh --prefix /opt/gnome2 --libdir '/opt/gnome2/lib64' if this is on Ubuntu or any other system that does not use the lib64 directory for binaries native to the architecture, then make sure to add a line use_lib64 = False to your ~/.jhbuildrc. Also make sure that ${prefix}/lib is a real directory, and create a symlink from lib64 to lib to work around some broken packages like Python. On the other hand, if you are on RedHat or Fedora, then the lib64 is correct. Sorry for the side-track. The error you are reporting here cannot possibly occur anymore with glibmm master, because I already removed the offending $(NULL). It did work before for me though, which makes me believe that you are probably using a different (and pickier) version of Automake. I'm leaving the bug open for now, since the other branches of glibmm probably still exhibit it.
Ok so the original problem is gone, but i am stuck now here. nazgul@rivendell:~$ jhbuild buildone glibmm *** Checking out glibmm *** [1/1] git pull --rebase remote: Counting objects: 249, done. remote: Compressing objects: 100% (51/51), done. remote: Total 180 (delta 99), reused 180 (delta 99) Receiving objects: 100% (180/180), 37.49 KiB | 27 KiB/s, done. Resolving deltas: 100% (99/99), completed with 22 local objects. From ssh://ckirbach@git.gnome.org/git/glibmm be416f1..ba84a26 master -> origin/master First, rewinding head to replay your work on top of it... Fast-forwarded master to ba84a26bac2353d622036fac3dc03979ec3d83fc. *** Configuring glibmm *** [1/1] ./autogen.sh --prefix /opt/gnome2 --libdir '/opt/gnome2/lib64' --disable-static ./autogen.sh: 5: mm-common-prepare: not found Hmm thanks fo the hint Daniel altough I do not easily see how that behaviour would make sense. then again I am not an expert. however your hint did not remedy: ./autogen.sh --prefix /opt/gnome2 --libdir '/opt/gnome2/lib' --disable-static ./autogen.sh: 5: mm-common-prepare: not found
Sorry, I have not yet pushed my changes to the jhbuild module sets to make glibmm depend on the new mm-common module. You will have to clone mm-common manually for now. libsigc++2 master will also be needed. Regarding my hint; yes, as I said it is unrelated to this bug. I just happened to notice it when I read your bug report, and you would likely have stumbled over that problem later on.
Daniel, do you have any idea what causes this problem with NULL? A specific auto* version? I've never seen it before in all the years that we've had this build system. Christian, what distro is this?
Terminating a list with $(NULL) is just a conventional means to avoid the syntax difference at the last filename in the list, as it must not end in a backslash. You can use any empty variable for this purpose, but you also have to define it or Automake will complain, or at least it used to. So, an "AC_SUBST([NULL], [[]])" in configure.ac, or a "NULL =" in the Makefile.am should fix the problem. I am a bit surprised that apparently it wasn't defined in glibmm. My guess is that Automake started to support $(NULL) directly as a special case at some point, and I am probably using a version that does that.
Doesn't apply anymore since the world changed completely in the meantime. Closing.