[LLVMbugs] [Bug 14530] New: Attempt to use 'configure --libdir' to use $prefix/lib64 was ignored.

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Thu Dec 6 13:52:16 PST 2012


http://llvm.org/bugs/show_bug.cgi?id=14530

             Bug #: 14530
           Summary: Attempt to use 'configure --libdir' to use
                    $prefix/lib64 was ignored.
           Product: Build scripts
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: Makefiles
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: peeter.joot at gmail.com
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified


I've configured with --prefix=$HOME/clang/optimized
--libdir=$HOME/clang/optimized/lib64 but the libdir was ignored.

Despite this use of configure --libdir, after 'make install' I see the clang
runtime libraries in $prefix/lib/ (where $prefix is the path specified in
--prefix=...).  Generating a list of the files before and after make install of
clang, here's where the shared libs where installed:

grep -F .so d | xargs file
optimized/lib/LLVMHello.so:      ELF 64-bit LSB shared object, x86-64, version
1 (SYSV), dynamically linked, not stripped
optimized/lib/libLTO.so:         ELF 64-bit LSB shared object, x86-64, version
1 (SYSV), dynamically linked, not stripped
optimized/lib/BugpointPasses.so: ELF 64-bit LSB shared object, x86-64, version
1 (SYSV), dynamically linked, not stripped
optimized/lib/libclang.so:       ELF 64-bit LSB shared object, x86-64, version
1 (SYSV), dynamically linked, not stripped
optimized/lib/libprofile_rt.so:  ELF 64-bit LSB shared object, x86-64, version
1 (SYSV), dynamically linked, not stripped

See that none of these shared libs went into the configured $prefix/lib64 path.

For reference, note that the full set of config options used was:

../llvm/configure --prefix=/home/peeterj/clang/optimized --enable-optimized
--libdir=lib64 --with-gcc-toolchain=/home/peeterj/clang/optimized
--with-extra-ld-options=-Wl,-R,/home/peeterj/clang/optimized/lib64

The use of --libdir=$prefix/lib64 was used because I'd installed gcc to that
same path, and wanted both the clang and gcc runtime libraries in the same
place so that I only have to specify one set of -Wl,-rpath,... flags when I use
this compiler.  The reason for this sort of build complexity is because the
default system compiler on this machine doesn't appear to build clang (
http://llvm.org/bugs/show_bug.cgi?id=14527 )

I'd also argue that lib64 ought to be the default linux libdir when the version
of clang that is being built targets x64 (or any other 64-bit linux platform
where compilers can target either 32-bit or 64-bit object models).  i.e. having
to specify libdir at all to get the clang runtime libs into $prefix/lib64 also
seems like a bug to me.

svn version in question was from the trunk, obtained fairly recently:

$ cat svn.revision
Path: .
Working Copy Root Path: /vbs/bldsupp.linux1/linuxamd64/clang/llvm
URL: http://llvm.org/svn/llvm-project/llvm/trunk
Repository Root: http://llvm.org/svn/llvm-project
Repository UUID: 91177308-0d34-0410-b5e6-96231b3b80d8
Revision: 169002
Node Kind: directory
Schedule: normal
Last Changed Author: eliben
Last Changed Rev: 169002
Last Changed Date: 2012-11-30 09:22:14 -0500 (Fri, 30 Nov 2012)

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list