[LLVMbugs] Intermittent issues with OOB build of llvm-gcc4.2-2.6 & llvm-2.6 using cygwin 1.7.1 w gcc 4.3.4

Mark Wezelenburg mark_wezelenburg at edpnet.be
Thu Jan 7 05:59:28 PST 2010


Not sure if this really helps, but I suppose it cannot hurt. All of the
remarks concern the build environment rather than the source/tools.
Nothing major except the last point which I suspect to be an error
on my side.

1) platform details from "configure"
2) source & output dir tree structure
3) sequence of actions
4) report

Hope this helps



1) platform details from "configure"

## --------- ##
## Platform. ##
## --------- ##

hostname = emerald
uname -m = i686
uname -r = 1.7.1(0.218/5/3)
uname -s = CYGWIN_NT-5.1
uname -v = 2009-12-07 11:48

configure:2804: checking for C compiler version
configure:2811: gcc --version >&5
gcc (GCC) 4.3.4 20090804 (release) 1

2) source & output dir tree structure
/cygdrive/g/tools/cygwin/compilers/llvm/llvm-2.6                                                    // OBJ_ROOT (for llvm-gcc)
/cygdrive/g/tools/cygwin/compilers/llvm/llvm-2.6/Release                                       // LLVM output
/cygdrive/g/tools/cygwin/compilers/llvm/llvm-2.6/llvm-gcc/llvm-gcc4.2-2.6.source      // LLVM-GCC sources
/cygdrive/g/tools/cygwin/compilers/llvm/llvm-2.6/projects/llvm-test                           // LLVM test sources

3) sequence of actions
in "/cygdrive/g/tools/cygwin/compilers/llvm/llvm-2.6"
make tools-only

in "/cygdrive/g/tools/cygwin/compilers/llvm/llvm-2.6/llvm-gcc/obj"
../llvm-gcc4.2-x.y.source/configure --prefix=/cygdrive/g/tools/cygwin/compilers/llvm/llvm-2.6/llvm-gcc/install --program-prefix=llvm- --enable-llvm=/cygdrive/g/tools/cygwin/compilers/llvm/llvm-2.6 --enable-languages=c,c++
make install

in "/cygdrive/g/tools/cygwin/compilers/llvm/llvm-2.6"
./configure --with-llvmgccdir=/cygdrive/g/tools/cygwin/compilers/llvm/llvm-2.6/llvm-gcc/install/bin
make install

in /cygdrive/g/tools/cygwin/compilers/llvm/llvm-2.6/projects/llvm-test

4) report
- From the readme's FAQ and docs it is not so clear that there is a circular
  dependency between llvm and llvm-gcc, to save recompile in (3) one ought
  to use "./configure" already with "--with-llvmgccdir"

- after llvm configure, the makefile as a linker option incompatble with gcc 4.3.4
  it suggests to change:
#RDYNAMIC := -Wl,-export-dynamic
RDYNAMIC := -Wl,-export-all-symbols

- llvm configure reports:
  mmap() of a fixed address is required but not supported
  it does not seem to be a requirement as the build process succeeds though

- the llvm build process has intermittent errors with conftest.c or contest.exe being unaccessible
  my guess is that the cygwin emulation is a bit slow and that the processes does not wait
  to check for the status of the files
  -> As certain tests fails but configure completes succesfully I have no idea on the impact

- the llvm-gcc build process has MANY intermittent errors with conftest.c or contest.exe being unaccessible
  probably same reason as above. here the build process terminates in error but restarting (quite a few times)
  results in a (apparently) operational llvm-gcc (compiles hello.c & llvm --help gives proper version)

- the llvm-gcc build process fails regurarly, but not systematically, on a gcc test
  "can gcc produce an executable ... No"
  typically at the later stages

- running the tests in .../projects/llvm-tests fails systematically
  make cannot resolve *.rbc dependencies in the first single source test

- running the hello.c test (from the web tutorial) produces hell.exe and hello.bc, but not "lli hello.bc" (see below)
  lli cannot find "put()" (cannot find the dynamic lib containing "put()") I may have simply missed a cygwin
  specific dynamic link flag / configure option (the web doc make mention of dynamic linkage on cygwin with
  the platform notes, so perhaps this is what's meant)


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20100107/39b2939a/attachment.html>

More information about the llvm-bugs mailing list