Project

General

Profile

Actions

Feature #94

closed

Out of tree builds fail

Added by Anik Mishra over 12 years ago. Updated over 12 years ago.

Status:
Resolved
Priority:
Normal
Target version:
-
Start date:
02/22/2012
Due date:
% Done:

0%

Estimated time:

Description

If multiple builds with different compile flags are desired for the same source tree, it's common to perform the build outside the source tree.

Steps to reproduce:

git clone git://git.lttng.org/userspace-rcu.git userspace-rcu
mkdir userspace-rcu-64bit
cd userspace-rcu
./bootstrap
cd ../userspace-rcu-64bit
../userspace-rcu/configure
make

Expected:
Proper compilation

Obtained:

make  all-recursive
make[1]: Entering directory `userspace-rcu-64bit'
Making all in .
make[2]: Entering directory `userspace-rcu-64bit'
  CC     wfqueue.lo
  CC     wfstack.lo
  CCLD   liburcu-common.la
  CC     urcu.lo
  CC     urcu-pointer.lo
  CCLD   liburcu.la
  CC     urcu-qsbr.lo
  CCLD   liburcu-qsbr.la
  CC     liburcu_mb_la-urcu.lo
  CC     liburcu_mb_la-urcu-pointer.lo
  CCLD   liburcu-mb.la
  CC     liburcu_signal_la-urcu.lo
  CC     liburcu_signal_la-urcu-pointer.lo
  CCLD   liburcu-signal.la
  CC     urcu-bp.lo
  CCLD   liburcu-bp.la
  CC     rculfqueue.lo
  CC     rculfstack.lo
  CCLD   liburcu-cds.la
make[2]: *** No rule to make target `urcu/map/*.h', needed by `all-am'.  Stop.
make[2]: Leaving directory `userspace-rcu-64bit'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `userspace-rcu-64bit'
make: *** [all] Error 2

Actions #1

Updated by John Williams over 12 years ago

I did a quick hack past this - it's ugly but works. In Makefile.am, just add $(top_srcdir) in front of each of the header declarations, then run autoreconf.

nobase_dist_include_HEADERS = $(top_srcdir)/urcu/compiler.h $(top_srcdir)/urcu/hlist.h $(top_srcdir)/urcu/list.h \
...

This at least permits an out of tree build to complete. There is certainly a cleaner solution.

Actions #2

Updated by Mathieu Desnoyers over 12 years ago

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

fixed by:

commit e224628499d5396c5b2942ab43993ba99b207c4d
Author: Mathieu Desnoyers <>
Date: Fri Apr 13 08:37:53 2012 -0400

Fix out-of-tree build

Thanks for reporting this !

Actions

Also available in: Atom PDF