llvm 'gmake check' errors generating lit.site.cfg

Hi,
   Using trunk llvm ; on powerpc (powerpc64/power7); trying to do a
"gmake check", the sed bits in test/Makefile appear to be getting
tripped up when trying to generate lit.site.cfg. I've started to hack
at it, made a little bit of progress, but wonder if I'm just digging
myself a hole. Highlights of what I've poked at are below.. Comments
or thoughts?

Thanks,
-Will

llvm]$ gmake check
llvm[0]: Running test suite
gmake[1]: Entering directory `/home/willschm/llvm/test'
Making LLVM 'lit.site.cfg' file...
sed: file lit.tmp line 8: unknown option to `s'
gmake[1]: *** [lit.site.cfg] Error 1

The relevant lines in test/Makefile:
  @$(ECHOPATH) s=@OCAMLOPT@=$(OCAMLOPT) -cc \"$(CXX_FOR_OCAMLOPT)\" -I $(LibDir)/ocaml=g >> lit.tmp
  @sed -f lit.tmp $(PROJ_SRC_DIR)/lit.site.cfg.in > $@

And the line in the lit.tmp file:
s=@OCAMLOPT@=/bin/ocamlopt -cc "g++ -Wall -D_FILE_OFFSET_BITS=64 -D_REENTRANT -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64" -I /home/willschm/llvm/Debug+Asserts/lib/ocaml=g

So it looks to me like the sed delimiter "=" gets tripped up on the
parms such as D_FILE_OFFSET_BITS=64.

As a hack, I swapped out the "=" for "#" for that line in the Makefile
        @$(ECHOPATH) s#@OCAMLOPT@#$(OCAMLOPT) -cc \"$(CXX_FOR_OCAMLOPT)\" -I $(LibDir)/ocaml#g >> lit.tmp

And now get farther, but then hit another issue related to the OCAMLOPT
contents:
  File "/home/willschm/llvm/test/lit.site.cfg", line 11
    config.ocamlopt_executable = "/bin/ocamlopt -cc "g++ -Wall -D_FILE_OFFSET_BITS=64 -D_REENTRANT -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64" -I /home/willschm/llvm/Debug+Asserts/lib/ocaml"
                                                     ^
SyntaxError: invalid syntax
gmake: *** [check-local] Error 1

Morning, Will!

llvm]$ gmake check
llvm[0]: Running test suite
gmake[1]: Entering directory `/home/willschm/llvm/test'
Making LLVM 'lit.site.cfg' file...
sed: file lit.tmp line 8: unknown option to `s'
gmake[1]: *** [lit.site.cfg] Error 1

The relevant lines in test/Makefile:
        @$(ECHOPATH) s=@OCAMLOPT@=$(OCAMLOPT) -cc \"$(CXX_FOR_OCAMLOPT)\" -I $(LibDir)/ocaml=g >> lit.tmp
        @sed -f lit.tmp $(PROJ_SRC_DIR)/lit.site.cfg.in > $@

And the line in the lit.tmp file:
s=@OCAMLOPT@=/bin/ocamlopt -cc "g++ -Wall -D_FILE_OFFSET_BITS=64 -D_REENTRANT -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64" -I /home/willschm/llvm/Debug+Asserts/lib/ocaml=g

So it looks to me like the sed delimiter "=" gets tripped up on the
parms such as D_FILE_OFFSET_BITS=64.

As a hack, I swapped out the "=" for "#" for that line in the Makefile
        @$(ECHOPATH) s#@OCAMLOPT@#$(OCAMLOPT) -cc \"$(CXX_FOR_OCAMLOPT)\" -I $(LibDir)/ocaml#g >> lit.tmp

I have introduced "=" to appease MSYS. ("#" was useless then)
I will work again later, to satisfy all guys! :wink:

And now get farther, but then hit another issue related to the OCAMLOPT
contents:
  File "/home/willschm/llvm/test/lit.site.cfg", line 11
    config.ocamlopt_executable = "/bin/ocamlopt -cc "g++ -Wall -D_FILE_OFFSET_BITS=64 -D_REENTRANT -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64" -I /home/willschm/llvm/Debug+Asserts/lib/ocaml"
                                                     ^
SyntaxError: invalid syntax
gmake: *** [check-local] Error 1

We should take another quotation, indeed :wink:

Thanks to report the issues!

...Takumi

Morning, Will!

> llvm]$ gmake check
> llvm[0]: Running test suite
> gmake[1]: Entering directory `/home/willschm/llvm/test'
> Making LLVM 'lit.site.cfg' file...
> sed: file lit.tmp line 8: unknown option to `s'
> gmake[1]: *** [lit.site.cfg] Error 1
>
> The relevant lines in test/Makefile:
> @$(ECHOPATH) s=@OCAMLOPT@=$(OCAMLOPT) -cc \"$(CXX_FOR_OCAMLOPT)\" -I $(LibDir)/ocaml=g >> lit.tmp
> @sed -f lit.tmp $(PROJ_SRC_DIR)/lit.site.cfg.in > $@
>
> And the line in the lit.tmp file:
> s=@OCAMLOPT@=/bin/ocamlopt -cc "g++ -Wall -D_FILE_OFFSET_BITS=64 -D_REENTRANT -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64" -I /home/willschm/llvm/Debug+Asserts/lib/ocaml=g
>
> So it looks to me like the sed delimiter "=" gets tripped up on the
> parms such as D_FILE_OFFSET_BITS=64.
>
> As a hack, I swapped out the "=" for "#" for that line in the Makefile
> @$(ECHOPATH) s#@OCAMLOPT@#$(OCAMLOPT) -cc \"$(CXX_FOR_OCAMLOPT)\" -I $(LibDir)/ocaml#g >> lit.tmp

Hi Takumi, :slight_smile:

I have introduced "=" to appease MSYS. ("#" was useless then)
I will work again later, to satisfy all guys! :wink:

Yeah, and just to be clear, I'm not too concerned about which character
is used, I picked "#" because it looked like it was otherwise unused.

> And now get farther, but then hit another issue related to the OCAMLOPT
> contents:
> File "/home/willschm/llvm/test/lit.site.cfg", line 11
> config.ocamlopt_executable = "/bin/ocamlopt -cc "g++ -Wall -D_FILE_OFFSET_BITS=64 -D_REENTRANT -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64" -I /home/willschm/llvm/Debug+Asserts/lib/ocaml"
> ^
> SyntaxError: invalid syntax
> gmake: *** [check-local] Error 1

We should take another quotation, indeed :wink:

Thanks to report the issues!

Sure thing. Let me know if you want me to open up a bugz for this. I
wasn't sure if this was actually something wrong in my environment, so
didn't open one initially.

Thanks,
-Will