Hi everyone,
Thank you very much for the updates. CPPstats problem is solved.
More details of the build:
I tested a new build from the for-upstream (using both trusty and xenial),
but the the vagrant provision fails at some point of the integration
scripts.
I tried to run the the scripts manually (the same order as the vagrantfile)
and got this error after install_codeface_python.sh
Exception:
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 209, in
main
status = self.run(options, args)
File "/usr/lib/python2.7/dist-packages/pip/commands/install.py", line
317, in run
requirement_set.prepare_files(finder)
File "/usr/lib/python2.7/dist-packages/pip/req/req_set.py", line 360, in
prepare_files
ignore_dependencies=self.ignore_dependencies))
File "/usr/lib/python2.7/dist-packages/pip/req/req_set.py", line 448, in
_prepare_file
req_to_install, finder)
File "/usr/lib/python2.7/dist-packages/pip/req/req_set.py", line 387, in
_check_skip_installed
req_to_install.check_if_exists()
File "/usr/lib/python2.7/dist-packages/pip/req/req_install.py", line
1011, in check_if_exists
self.req.project_name
AttributeError: 'Requirement' object has no attribute 'project_name'
But even with this error, python seems to be working without problems. The
integrations tests pass and I also tested a project with the feature
analysis (xenial box).
Maybe this error was stopping the provision, or maybe some instability in
my network was causing the problem. I will do another test once I get a
wired connection.
For now, is working :)
Best,
Rodrigo
On Thu, Jun 23, 2016 at 6:17 PM, Wolfgang Mauerer <
wolfgang.mauerer@xxxxxxxxxxxxxxxxx> wrote:
Am 23/06/2016 um 18:27 schrieb Claus Hunsen:
Am 23.06.2016 um 17:00 schrieb Wolfgang Mauerer:in
Am 23/06/2016 um 16:25 schrieb Claus Hunsen:
Hi everybody,
some words from my side regarding the feature analysis. This part of
Codeface heavily depends on cppstats which should be install properly
systemthe provision phase of Vagrant. But, I am sure this is where your
problem is located: If cppstats does not work properly, all calls to
cppstats consequently fail and no features are found.
There is basically one thing for cppstats that needs to be ensured:
Codeface installs cppstats and also its dependency on srcML
(http://srcml.org) for Ubuntu *precise*. [1] If you move to another
system (trusty or xenial), you also need to move srcML in the proper
version from here: http://131.123.42.38/lmcrs/ ;(not the beta!)
If there are no binaries for your environment available on the download
site, you can build it from source or install the binaries of the
release before yours (e.g., use the trusty release on xenial). Be sure
that all dynamically-linked libraries of srcML are installed on your
system. You can get those by calling "ldd /path/to/srcml-binary" (where
the binaries are "src2srcml" and "srcml2src"). Install anything that is
missing.
If this does not fix the problems for you, please contact me.
thanks for pointing out that cppstats has this sort of "silent" failure
mode. I just saw that the distributed srcML binaries are 32 bit; we use
a 64 bit distro, though. Since no 32 bit compatibility layer is
installed on our vagrant setup, the binary won't run at all.
I have a 64bit binary in my Vagrant machine and there are also 64bit
binaries on the website I linked (look for "-64.tar.gz"). And in the
integration script of Codeface, the right version is downloaded.
right, there's a 64 bit binary provided. Obviously staring at
provisioning output for too long causes temporary visual parsing
problems on my side.
well played :) There should be a cppstats app. Apps make topics
I guess if things work after building srcML from source (I'll give
this a try asap), I need to submit a request to the cppstats
maintainers to make this failure channel explicit ;)
If you can spare a student to implement stuff for cppstats...
attractive for students these days.
Furthermore, there are also a bunch of things caught by Codeface and
silently ignored. Additionally, if cppstats calls a non-existing srcML
binary, it breaks completely. Consequently, the error is ignored on the
Codeface side. ;)
Aborting codeface runs as early as possible when infrastructure
SW is broken/incorrectly installed/not properly started is something
I've had on my TODO list for a long while anyway. Does cppstats have any
switch or so that we could use to check for a correct installation?
Then we could add such a check to the beginning of a codeface run, and
abort early and explicitly if things fail.
Anyway, combing back to the original problem: I've updated branch
for-upstream to work with both, Ubuntu 16.04 and 14.04 as base
distributions. With the proper srcML binaries, the previously failing
feature unit tests do work again. There are still some issues with
travis, but these should be solved soon.
@Rodrigo: Can you please check if branch for-upstream solves your
current issues?
Thanks, Wolfgang