Subject: bug#20259: bug#20270: bug#20259: bug#20270: 25.0.50; 'Invalid slot type: semanticdb-project-database-file, reference-directory, string, nil' with semantic-mode

From: Ivan Shmakov <[email-masked]>
Date: Thu, 09 Apr 2015 15:05:33 +0000

>>>>> Stefan Monnier <[email-masked]> writes:

 >> #!/bin/bash
 >> set -e -x
 >> mkdir -v -- emacs-$(date -uI)-build
 >> cd emacs-$(date -uI)-build
 >> lndir -- ../emacs-src
 >> autoreconf -v -i -I m4

	The call to ./configure is obviously missing here:

    ./configure --prefix="$HOME" \
        --disable-silent-rules \
        --enable-dependency-tracking \
        --enable-gcc-warnings \
        --without-{pop,sound,x-toolkit,gpm,dbus,gconf,gsettings,makeinfo,x} \
        --with-{wide-int,gnutls,zlib}

 >> ## Ensure there are no stray .elc files in the build directory.
 >> ! grep -q -- . < <(find -name \*.elc)
  
 >> LC_ALL=C nohup /usr/bin/time make \
 >>     -- lib lib-src src lisp

 >> Should I expect it to fix bug#20259 just as well?  (I hope to check
 >> it myself later.)

 > I don't know.

	My point is that the error message is exactly the same for
	either report:

Invalid slot type: semanticdb-project-database-file, reference-directory, string, nil

 > I share Paul's impression that it might be a bootstrap problem.
 > The .elc files are not placed in the build directory but in the
 > source directory (I know, it's weird),

	I know; it is.  And that’s the whole point of using lndir(1):
	to create a symlink-based “shadow” of the /source/ directory and
	use it as the build one.

 > so I don't think your script reproduces the behavior of "make
 > bootstrap".

	Per emacs-2015-04-07-build/config.status, srcdir is ‘.’.
	If there’s no .elc in the directory $ make is invoked from
	(and the ‘grep’ line in my script above ensures that), where
	else would the build process find any .elc files to use?

-- 
FSF associate member #7257  np. First Breath — David Modica  … B6A0 230E 334A