The configure script seems to strip some / from path

Hi LLVMers,

The root of my SRC_DIR is: /home/hb/projects/src/llvm-1/llvm/
and the root of my OBJ_DIR is: /home/hb/projects/build/FC1/llvm-1-1.

However, the configure script seems to have stripped some of the / from the paths:
Makefile.common:63: /home/hb/projects/buildFC1llvm-1-1/Makefile.config: No such file or directory
Makefile.common:69: /home/hb/projects/srcllvm-1/Makefile.rules: No such file or directory

My system is Fedora Core 1:
[hb@fc1s050612 llvm-1-1]$ uname -a
Linux fc1s050612 2.4.22-1.2115.nptl #1 Wed Oct 29 15:42:51 EST 2003 i686 i686 i386 GNU/Linux

logfiles.gz (22.8 KB)

No one else on FC has reported these problems and I think this must be
local to your situation. Note that Makefile.common looks like this, with
lines 63 and 69 highlighted with ***:

ifndef LLVM_OBJ_ROOT
include $(LEVEL)/Makefile.config
else
include $(LLVM_OBJ_ROOT)/Makefile.config ***
endif

From: Reid Spencer
Date: Sat, 18 Jun 2005 09:32:36 -0700

> Hi LLVMers,
>
> The root of my SRC_DIR is: /home/hb/projects/src/llvm-1/llvm/
> and the root of my OBJ_DIR is: /home/hb/projects/build/FC1/llvm-1-1.
>
> However, the configure script seems to have stripped some of the / from the
> paths:
> Makefile.common:63: /home/hb/projects/buildFC1llvm-1-1/Makefile.config: No
> such file or directory
> Makefile.common:69: /home/hb/projects/srcllvm-1/Makefile.rules: No such file
> or directory

No one else on FC has reported these problems and I think this must be
local to your situation. Note that Makefile.common looks like this, with
lines 63 and 69 highlighted with ***:

ifndef LLVM_OBJ_ROOT
include $(LEVEL)/Makefile.config
else
include $(LLVM_OBJ_ROOT)/Makefile.config ***
endif

#
# Include all of the build rules used for making LLVM
#
include $(LLVM_SRC_ROOT)/Makefile.rules ***

The only way for this to produce these messages is if LLVM_OBJ_ROOT and
LLVM_SRC_ROOT are set before including Makefile.common. None of the
makefiles in LLVM do this. Perhaps you have these set in your
environment? If so, unset them.

You're absolutely right. Now, I've unset LLVM_OBJ_ROOT and
LLVM_SRC_ROOT in my environment.

Or, perhaps you are including
Makefile.common from your own directory in which the Makefile sets
LLVM_OBJ_ROOT and LLVM_SRC_ROOT (incorrectly).

>
> My system is Fedora Core 1:
> [hb@fc1s050612 llvm-1-1]$ uname -a
> Linux fc1s050612 2.4.22-1.2115.nptl #1 Wed Oct 29 15:42:51 EST 2003 i686
> i686 i386 GNU/Linux
>
> -------------------------------------
> [hb@fc1s050612 llvm-1-1]$ cmlog.sh --logfile my_configure.log
> ~/projects/src/llvm-1/llvm/configure --prefix=/home/hb/llvm/
> --enable-targets=host-only
> ...
> hb@fc1s050612 llvm-1-1]$ cmlog.sh --logfile my_make_tools-only.log make
> tools-only -k ENABLE_OPTIMIZED=1
>

What is cmlog.sh ?

It just captures the output from the command(s) given to a logfile.

> cm_exec_plt=/home/hb/projects/CMHTREE/PLT/BASH.PLT
> cm_srctree=/home/hb/projects/src
> cm_cmhtree=/home/hb/projects/CMHTREE
> Makefile.common:63: /home/hb/projects/buildFC1llvm-1-1/Makefile.config: No
> such file or directory
> Makefile.common:69: /home/hb/projects/srcllvm-1/Makefile.rules: No such file
> or directory

does cmlog.sh set LLVM_OBJ_ROOT and LLVM_SRC_ROOT? It shouldn't do that.

Right, I've set (and now unset) LLVM_OBJ_ROOT and LLVM_SRC_ROOT in my .bash_profile.

Henrik.