Bug 4620 - cannot build oprofileui
Summary: cannot build oprofileui
Status: VERIFIED FIXED
Alias: None
Product: OE-Core
Classification: Build System, Metadata & Runtime
Component: devtools / tool chain (show other bugs)
Version: 1.5
Hardware: x86 Multiple
: Medium normal
Target Milestone: 1.6
Assignee: Laurentiu Palcu
QA Contact:
URL:
Whiteboard:
Depends on:
Blocks:
 
Reported: 2013-06-06 12:14 UTC by Alexandru Georgescu
Modified: 2014-04-02 06:12 UTC (History)
9 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: No (bug/feature does not impact docs)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alexandru Georgescu 2013-06-06 12:14:23 UTC
HOST: Fedora18 64bit
oprofileui:f168b8bfdc63660033de1739c6ddad1abd97c379
git repo: git://git.yoctoproject.org/oprofileui


STEPS TO REPRODUCE
1. Clone oprofileui
2. run $ ./autogen.sh

EXPECTED RESULTS
2. autogen.sh runs without errors

ACTUAL RESULTS: 
2. script fails. See log below:


[yocto@localhost oprofileui-2]$ ./autogen.sh 
**Warning**: I am going to run `configure' with no arguments.
If you wish to pass any to it, please specify them on the
`./autogen.sh' command line.

processing .
Creating ./aclocal.m4 ...
Running glib-gettextize...  Ignore non-fatal messages.
Copying file mkinstalldirs
Copying file po/Makefile.in.in

Please add the files
  codeset.m4 gettext.m4 glibc21.m4 iconv.m4 isc-posix.m4 lcmessage.m4
  progtest.m4
from the /usr/share/aclocal directory to your autoconf macro directory
or directly to your aclocal.m4 file.
You will also need config.guess and config.sub, which you can get from
ftp://ftp.gnu.org/pub/gnu/config/.

Making ./aclocal.m4 writable ...
Running intltoolize...
Running aclocal  ...
Running automake --gnu  ...
configure.ac:6: error: required file 'config.h.in' not found
Running autoconf ...
Running ./configure --enable-maintainer-mode ...
configure: WARNING: unrecognized options: --enable-maintainer-mode
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for style of include used by make... GNU
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking dependency style of gcc... gcc3
checking for library containing strerror... none required
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking dependency style of gcc... (cached) gcc3
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for ranlib... ranlib
checking whether NLS is requested... yes
checking for intltool-update... /usr/bin/intltool-update
checking for intltool-merge... /usr/bin/intltool-merge
checking for intltool-extract... /usr/bin/intltool-extract
checking for xgettext... /usr/bin/xgettext
checking for msgmerge... /usr/bin/msgmerge
checking for msgfmt... /usr/bin/msgfmt
checking for gmsgfmt... /usr/bin/msgfmt
checking for perl... /usr/bin/perl
checking for perl >= 5.8.1... 5.16.3
checking for XML::Parser... ok
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking locale.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking for LC_MESSAGES... yes
checking libintl.h usability... yes
checking libintl.h presence... yes
checking for libintl.h... yes
checking for ngettext in libc... yes
checking for dgettext in libc... yes
checking for bind_textdomain_codeset... yes
checking for msgfmt... (cached) /usr/bin/msgfmt
checking for dcgettext... yes
checking if msgfmt accepts -c... yes
checking for gmsgfmt... (cached) /usr/bin/msgfmt
checking for xgettext... (cached) /usr/bin/xgettext
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for OPROFILEUI... yes
checking for OPROFILE_SERVER... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: error: cannot find input file: `Makefile.in'
[yocto@localhost oprofileui-2]$
Comment 1 Alexandru Georgescu 2013-06-06 12:15:13 UTC
I hope it's assigned to the correct category. If not, please let me know and I will change it.
Comment 2 Tom Zanussi 2013-06-06 13:17:41 UTC
(In reply to comment #1)
> I hope it's assigned to the correct category. If not, please let me know and
> I will change it.

Yes, I ghink it's incorrectly assigned.  From maintainers.inc:

RECIPE_MAINTAINER_pn-oprofileui = "Bogdan Marinescu <bogdan.a.marinescu@intel.com>"
Comment 3 Darren Hart 2013-06-06 14:49:19 UTC
I see the same results building with the host toolchain on Fedora 18, so this appears to be an oprofile-ui bug or an error in the configure/build process.
Comment 4 Saul Wold 2013-06-06 14:51:25 UTC
http://git.yoctoproject.org/cgit/cgit.cgi/oprofileui/log/ the last commit meant to fix it for automake-1.13, but broke it when using automake-1.12  Building and configuring with HEAD-1 works
Comment 5 Saul Wold 2013-06-28 19:06:02 UTC
Was this being build directly on your host or inside of a poky build?  If 
directly on the host, please confirm the version of your automake tools? My 
guess is that your host tools (not poky -natives) are being used and you have 
an older version.  Can oprofileui be run on the host and connected to the 
target or is it target only?

We may need to extend the recipe to be a native in order to build it standalone 
for the host side.
Comment 6 Alexandru Georgescu 2013-07-01 14:12:11 UTC
(In reply to comment #5)
> Was this being build directly on your host or inside of a poky build?  If 
> directly on the host, please confirm the version of your automake tools? My 
> guess is that your host tools (not poky -natives) are being used and you
> have 
> an older version.  Can oprofileui be run on the host and connected to the 
> target or is it target only?
> 
> We may need to extend the recipe to be a native in order to build it
> standalone 
> for the host side.

Hi Saul,

*I was running the autogen.sh script directly on host, without poky sourced environment.

* I tried again on a clean machine (ubuntu 13.04 64bit) and I have the same error. 

* The autotools versoin on this host (ubuntu) is: automake (GNU automake) 1.11.6
** for the fedora 18 host, the version is: automake (GNU automake) 1.12.2

* The scenario I use oprofile ui is the following:
Launch it within Eclipse, connect with it to the target (qemu mostly) and then get data from there.

Hope this helps,
Alex.
Comment 7 Jessica 2013-07-09 20:21:15 UTC
oprofileui is meant to be run on host only as a client.
Comment 8 Alexandru Georgescu 2013-09-30 08:55:40 UTC
(In reply to comment #7)
> oprofileui is meant to be run on host only as a client.

That's what I mentioned. I am running it on the host, but in order to run it oprofile must be compiled.
Tried again with F19. same issue. 

[yocto@localhost oprofileui]$ automake --version
automake (GNU automake) 1.13.4
Comment 9 Tom Zanussi 2013-09-30 13:38:03 UTC
Try reverting the top commit:

configure.ac: fix build with automake-1.13
Comment 10 David Lerner 2013-11-01 21:04:02 UTC
Additional issues with builds on ubuntu 12.04

The README and INSTALL files reference the ‘configure’ file which is not included in the cloned repository.  So I ran autogen.sh, then configure, then followed the fixups below for an ubuntu 12.04 host based on searches on the missing package messages:

“No package ‘gtk+-2.0’” message :  added libgtk-2.0-dev
“No package ‘libglade-2.0” added libglade-2.0 (insufficient), then  libglade-2.0-dev (did the trick)
“No package ‘gconf-2.0’” message :  (gconf2 _was_ installed), added libgconf2-[dev doc  4]

Finally, after installing missing (misnamed) packages, autogen.sh still fails with 
" config.status: error: cannot find input file: ‘Makefile.in’"
Comment 11 Alexandru Georgescu 2013-11-04 08:33:18 UTC
(In reply to comment #10)
> Additional issues with builds on ubuntu 12.04
> 
> The README and INSTALL files reference the ‘configure’ file which is not
> included in the cloned repository.  So I ran autogen.sh, then configure,
> then followed the fixups below for an ubuntu 12.04 host based on searches on
> the missing package messages:
> 
> “No package ‘gtk+-2.0’” message :  added libgtk-2.0-dev
> “No package ‘libglade-2.0” added libglade-2.0 (insufficient), then 
> libglade-2.0-dev (did the trick)
> “No package ‘gconf-2.0’” message :  (gconf2 _was_ installed), added
> libgconf2-[dev doc  4]
> 
> Finally, after installing missing (misnamed) packages, autogen.sh still
> fails with 
> " config.status: error: cannot find input file: ‘Makefile.in’"

Hi David,
You actually have a different problem. You need to install those packages first in your system before trying to build oprofileui. They are needed for the build. Also, take note that some of them may have slightly different names on different distros (but very similar) so it may take a little to search for the correct ones.
Comment 12 David Lerner 2013-11-04 15:24:51 UTC
Hi Alex,
After resolving all of the "missing" components, and also installing intltools to resolve a missing m4 macro, then after running ./autogen.sh I get the exact error message and preamble config.status messages as originally reported in the defect: 

checking for OPROFILE_SERVER... yes
configure: creating ./config.status
config.status: error: cannot find input file: `Makefile.in'

I'm also running automake 1.11 on ubuntu12.04.  

Running 'autoreconf -fim' gets me further but only to:
config.status: creating data/Makefile
config.status: creating scripts/Makefile
config.status: error: cannot find input file: `po/Makefile.in.in'

Rollling back the clone to HEAD^1 produces the 'po/Makefile.in.in' error above also.
Comment 13 Alexandru Georgescu 2013-11-04 16:14:44 UTC
(In reply to comment #12)
> Hi Alex,
> After resolving all of the "missing" components, and also installing
> intltools to resolve a missing m4 macro, then after running ./autogen.sh I
> get the exact error message and preamble config.status messages as
> originally reported in the defect: 
> 
> checking for OPROFILE_SERVER... yes
> configure: creating ./config.status
> config.status: error: cannot find input file: `Makefile.in'
> 
> I'm also running automake 1.11 on ubuntu12.04.  
> 
> Running 'autoreconf -fim' gets me further but only to:
> config.status: creating data/Makefile
> config.status: creating scripts/Makefile
> config.status: error: cannot find input file: `po/Makefile.in.in'
> 
> Rollling back the clone to HEAD^1 produces the 'po/Makefile.in.in' error
> above also.

Hi David, 
So you have the same problem I am having. As Tom suggested, you can revert the last commit so that you will use the one before it: 82ecf8c6b53b84f80682a8312f9defa83a95f2a3


That should work.
Comment 14 David Lerner 2013-11-04 16:36:14 UTC
Hi Alex,
As I noted previously, I did revert the last commit and that creates the same fault as running 'autoreconf -fim'.
oprofileui> git log -1 --pretty=oneline
82ecf8c6b53b84f80682a8312f9defa83a95f2a3 oprofileui: allow build of server witho
oprofileui> ./autogen.sh 2>&1 | tail
checking for OPROFILEUI... yes
checking for OPROFILE_SERVER... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating protocol/Makefile
config.status: creating server/Makefile
config.status: creating src/Makefile
config.status: creating data/Makefile
config.status: creating scripts/Makefile
config.status: error: cannot find input file: `po/Makefile.in.in'
Comment 15 Tom Zanussi 2013-11-06 17:25:12 UTC
Assigning to Nitin to address the build problem.  Once past the build problem, if there's run-time testing or problems to be done, I can take it back.
Comment 16 Nitin Kamble 2013-11-06 17:58:06 UTC
Has this worked before? If yes, what was the setup on which it worked? From the description here, looks like an issue in oprofileui codebase. Do we have oprofileui developer involved in this discussion?

it would be helpful to get this data:

1. On what setup this issue does not happen?
2. On what setup this issue happens?

Is it related to automake version?
Comment 17 Alexandru Georgescu 2013-11-20 13:49:07 UTC
(In reply to comment #16)
> Has this worked before? If yes, what was the setup on which it worked? From
> the description here, looks like an issue in oprofileui codebase. Do we have
> oprofileui developer involved in this discussion?
> 
> it would be helpful to get this data:
> 
> 1. On what setup this issue does not happen?
> 2. On what setup this issue happens?
> 
> Is it related to automake version?

Hi Nitin,

I'll try to answer the best I can. I tried on both Ubuntu 13.10 (64bit) and FC19 (64bit):

1. Compile works when checking out the commit before the last one: 82ecf8c6b53b84f80682a8312f9defa83a95f2a3 . The build works.

2. Using the last commit: 

commit f168b8bfdc63660033de1739c6ddad1abd97c379
Author: Marko Lindqvist <cazfi74@gmail.com>
Date:   Fri Feb 8 23:40:46 2013 +0200

I have the error on both machines.

Regarding the automake, I have  1.13.3 version and the error (see my previous comments) states that makefile.in isn't created. Also, david had the same problem I have.
Comment 18 Nitin Kamble 2014-03-06 22:44:52 UTC
This looks like a automake (toolchain) issue. Fixing the category and assigning it to Bogdan.
Comment 19 Laurentiu Palcu 2014-04-01 10:24:19 UTC
I sent a fix to oprofileui. Should build just fine now.
Comment 20 Alexandru Georgescu 2014-04-02 06:12:21 UTC
verified!