Project

General

Profile

Actions

Bug #198

closed

lttng-ust-comm.c:122: error: 'SOCK_CLOEXEC' undeclared (first use in this function)

Added by Clint O about 12 years ago. Updated about 12 years ago.

Status:
Resolved
Priority:
Normal
Target version:
-
Start date:
03/28/2012
Due date:
% Done:

0%

Estimated time:

Description

I successfully built and installed userspace-rcu-0.6.7, but I got stuck on the next step trying to compile lttng-ust-2.0.0. I did a quick search, and apparently this is a feature of newer Linux kernels. Unfortunately, our company does not have the luxury of being able to upgrade to the latest kernels. Is there any workaround for this? Can you suggest an alternative to use if LTTng is not appropriate? Thanks...

Actions #1

Updated by Yannick Brosseau about 12 years ago

  • Project changed from 8 to LTTng-UST
Actions #2

Updated by Yannick Brosseau about 12 years ago

Which kernel version are you using?

Actions #3

Updated by Mathieu Desnoyers about 12 years ago

  • Status changed from New to Resolved
  • Assignee set to Mathieu Desnoyers

I pulled the following fix from the dev branch that address this issue. Please try again with the git master branch:

commit 11ba4bcb6479533420c5a5f051efb69998bc7a5d
Author: Mathieu Desnoyers <>
Date: Mon Feb 20 22:01:52 2012 -0500

Use bsd-compatible fcntl for close-on-exec on socket
Signed-off-by: Mathieu Desnoyers &lt;&gt;
Actions #4

Updated by Clint O about 12 years ago

According to uname -a, it says I'm using 2.6.29.4. Can you give me a git command to grab from the dev branch? I don't regularly use git. Thanks!

Actions #5

Updated by Clint O about 12 years ago

I was able to grab sources using the directions on the web page:

% git clone git://git.lttng.org/lttng-ust.git

However, this doesn't have a configure script. I tried running the bootstrap, but it bombs out:

lttng-ust% ./bootstrap
+ '[' '!' -e config ']'
+ mkdir config
+ autoreconf -i
/usr/share/aclocal/libgcrypt.m4:23: warning: underquoted definition of AM_PATH_LIBGCRYPT
run info '(automake)Extending aclocal'
or see http://sources.redhat.com/automake/automake.html#Extending-aclocal
/usr/share/aclocal/ao.m4:9: warning: underquoted definition of XIPH_PATH_AO
configure.ac:14: warning: AC_CANONICAL_HOST invoked multiple times
configure.ac:14: warning: AC_CANONICAL_HOST invoked multiple times
configure.ac:14: warning: AC_CANONICAL_HOST invoked multiple times
configure.ac:26: error: possibly undefined macro: AC_PROG_SED
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
configure.ac:286: error: possibly undefined macro: AS_ECHO
configure.ac:296: error: possibly undefined macro: AS_ECHO_N
autoreconf: /usr/bin/autoconf failed with exit status: 1

Actions #6

Updated by Clint O about 12 years ago

I found a newer version of autoreconf:

% ./bootstrap
+ '[' '!' -e config ']'
+ mkdir config
+ /home/utils/autoconf-2.67-1/bin/autoreconf -i
/usr/share/aclocal/libgcrypt.m4:23: warning: underquoted definition of AM_PATH_LIBGCRYPT
run info '(automake)Extending aclocal'
or see http://sources.redhat.com/automake/automake.html#Extending-aclocal
/usr/share/aclocal/ao.m4:9: warning: underquoted definition of XIPH_PATH_AO
configure.ac:16: version mismatch. This is Automake 1.11,
configure.ac:16: but the definition used by this AM_INIT_AUTOMAKE
configure.ac:16: comes from Automake 1.9.2. You should recreate
configure.ac:16: aclocal.m4 with aclocal and run automake again.
configure.ac:13: installing `config/config.guess'
configure.ac:13: installing `config/config.sub'
configure.ac:16: installing `config/install-sh'
liblttng-ust-comm/Makefile.am:3: Libtool library used but `LIBTOOL' is undefined
liblttng-ust-comm/Makefile.am:3: The usual way to define `LIBTOOL' is to add `AC_PROG_LIBTOOL'
liblttng-ust-comm/Makefile.am:3: to `configure.ac' and run `aclocal' and `autoconf' again.
liblttng-ust-comm/Makefile.am:3: If `AC_PROG_LIBTOOL' is in `configure.ac', make sure
liblttng-ust-comm/Makefile.am:3: its definition is in aclocal's search path.
liblttng-ust-comm/Makefile.am: installing `config/depcomp'
liblttng-ust-ctl/Makefile.am:4: Libtool library used but `LIBTOOL' is undefined
liblttng-ust-ctl/Makefile.am:4: The usual way to define `LIBTOOL' is to add `AC_PROG_LIBTOOL'
liblttng-ust-ctl/Makefile.am:4: to `configure.ac' and run `aclocal' and `autoconf' again.
liblttng-ust-ctl/Makefile.am:4: If `AC_PROG_LIBTOOL' is in `configure.ac', make sure
liblttng-ust-ctl/Makefile.am:4: its definition is in aclocal's search path.
liblttng-ust-fork/Makefile.am:4: Libtool library used but `LIBTOOL' is undefined
liblttng-ust-fork/Makefile.am:4: The usual way to define `LIBTOOL' is to add `AC_PROG_LIBTOOL'
liblttng-ust-fork/Makefile.am:4: to `configure.ac' and run `aclocal' and `autoconf' again.
liblttng-ust-fork/Makefile.am:4: If `AC_PROG_LIBTOOL' is in `configure.ac', make sure
liblttng-ust-fork/Makefile.am:4: its definition is in aclocal's search path.
liblttng-ust-java/Makefile.am:5: Libtool library used but `LIBTOOL' is undefined
liblttng-ust-java/Makefile.am:5: The usual way to define `LIBTOOL' is to add `AC_PROG_LIBTOOL'
liblttng-ust-java/Makefile.am:5: to `configure.ac' and run `aclocal' and `autoconf' again.
liblttng-ust-java/Makefile.am:5: If `AC_PROG_LIBTOOL' is in `configure.ac', make sure
liblttng-ust-java/Makefile.am:5: its definition is in aclocal's search path.
liblttng-ust-libc-wrapper/Makefile.am:4: Libtool library used but `LIBTOOL' is undefined
liblttng-ust-libc-wrapper/Makefile.am:4: The usual way to define `LIBTOOL' is to add `AC_PROG_LIBTOOL'
liblttng-ust-libc-wrapper/Makefile.am:4: to `configure.ac' and run `aclocal' and `autoconf' again.
liblttng-ust-libc-wrapper/Makefile.am:4: If `AC_PROG_LIBTOOL' is in `configure.ac', make sure
liblttng-ust-libc-wrapper/Makefile.am:4: its definition is in aclocal's search path.
liblttng-ust/Makefile.am:6: Libtool library used but `LIBTOOL' is undefined
liblttng-ust/Makefile.am:6: The usual way to define `LIBTOOL' is to add `AC_PROG_LIBTOOL'
liblttng-ust/Makefile.am:6: to `configure.ac' and run `aclocal' and `autoconf' again.
liblttng-ust/Makefile.am:6: If `AC_PROG_LIBTOOL' is in `configure.ac', make sure
liblttng-ust/Makefile.am:6: its definition is in aclocal's search path.
libringbuffer/Makefile.am:4: Libtool library used but `LIBTOOL' is undefined
libringbuffer/Makefile.am:4: The usual way to define `LIBTOOL' is to add `AC_PROG_LIBTOOL'
libringbuffer/Makefile.am:4: to `configure.ac' and run `aclocal' and `autoconf' again.
libringbuffer/Makefile.am:4: If `AC_PROG_LIBTOOL' is in `configure.ac', make sure
libringbuffer/Makefile.am:4: its definition is in aclocal's search path.
snprintf/Makefile.am:4: Libtool library used but `LIBTOOL' is undefined
snprintf/Makefile.am:4: The usual way to define `LIBTOOL' is to add `AC_PROG_LIBTOOL'
snprintf/Makefile.am:4: to `configure.ac' and run `aclocal' and `autoconf' again.
snprintf/Makefile.am:4: If `AC_PROG_LIBTOOL' is in `configure.ac', make sure
snprintf/Makefile.am:4: its definition is in aclocal's search path.
tests/Makefile.am:6: library used but `RANLIB' is undefined
tests/Makefile.am:6: The usual way to define `RANLIB' is to add `AC_PROG_RANLIB'
tests/Makefile.am:6: to `configure.ac' and run `autoconf' again.
tests/demo/Makefile.am:14: Libtool library used but `LIBTOOL' is undefined
tests/demo/Makefile.am:14: The usual way to define `LIBTOOL' is to add `AC_PROG_LIBTOOL'
tests/demo/Makefile.am:14: to `configure.ac' and run `aclocal' and `autoconf' again.
tests/demo/Makefile.am:14: If `AC_PROG_LIBTOOL' is in `configure.ac', make sure
tests/demo/Makefile.am:14: its definition is in aclocal's search path.
tests/hello-static-lib/Makefile.am:3: Libtool library used but `LIBTOOL' is undefined
tests/hello-static-lib/Makefile.am:3: The usual way to define `LIBTOOL' is to add `AC_PROG_LIBTOOL'
tests/hello-static-lib/Makefile.am:3: to `configure.ac' and run `aclocal' and `autoconf' again.
tests/hello-static-lib/Makefile.am:3: If `AC_PROG_LIBTOOL' is in `configure.ac', make sure
tests/hello-static-lib/Makefile.am:3: its definition is in aclocal's search path.
autoreconf: automake failed with exit status: 63

Actions #7

Updated by Anonymous about 12 years ago

If you want to build from git you also have to install autoconf,
automake and libtool. Check the README file in the tree, it should list
the minimum required versions.

Actions #8

Updated by Clint O about 12 years ago

Unfortunately, even when I select newer versions of autoconf by updating my PATH, the bootstrap is not very good about picking up those changes. I've resorted to hacking it some to select newer versions of things, but it's very counterintuitive. How do I know I'm getting the right version of libtool for example? We have alternate builds of libtool, but I don't where that gets invoked in the toolchain or if it's getting it from my PATH or hardcoded to something like /usr/bin.

Actions #9

Updated by Mathieu Desnoyers about 12 years ago

On such an old distribution, the recommended approach would be to either create a virtual machine, or a chroot into a more recent distribution, or use a separate machine that provide a Linux installation with all the recent tools. Then get the git sources, and build a tarball with "make dist". You can then copy the tarball to the older distribution and simply configure/make/make install it without having to do the automake/libtool/autoconf setup on the old distro.

Side-note: the follow up of this discussion belongs to rather than the bug tracker entry, as it is not linked to the bug.

Thank you,

Mathieu

Actions

Also available in: Atom PDF