Trying to do a "make install" on a mips box . llvm[2]: Installing Release+Asserts Archive Library /home/rkotler/caviumllvmwclang/install/lib/libLLVMLineEditor.a make[2]: Leaving directory `/home/rkotler/caviumllvmwclang/build/lib/LineEditor' make[1]: Leaving directory `/home/rkotler/caviumllvmwclang/build/lib' make[1]: Entering directory `/home/rkotler/caviumllvmwclang/build/tools/llvm-config' llvm[1]: Installing llvm-config-host strip: Unable to recognise the format of the input file `/home/rkotler/caviumllvmwclang/install/bin/llvm-config-host' /usr/bin/install: strip process terminated abnormally make[1]: *** [install] Error 1 make[1]: Leaving directory `/home/rkotler/caviumllvmwclang/build/tools/llvm-config' make: *** [install] Error 1 I can provide another strip but I don' think that we have a way to control the install command to use it. Any ideas? Tia. Reed
Hi, On Thu, Feb 27, 2014 at 4:36 AM, reed kotler <rkotler at mips.com> wrote:> Trying to do a "make install" on a mips box . > > llvm[2]: Installing Release+Asserts Archive Library > /home/rkotler/caviumllvmwclang/install/lib/libLLVMLineEditor.a > make[2]: Leaving directory > `/home/rkotler/caviumllvmwclang/build/lib/LineEditor' > make[1]: Leaving directory `/home/rkotler/caviumllvmwclang/build/lib' > make[1]: Entering directory > `/home/rkotler/caviumllvmwclang/build/tools/llvm-config' > llvm[1]: Installing llvm-config-host > strip: Unable to recognise the format of the input file > `/home/rkotler/caviumllvmwclang/install/bin/llvm-config-host' > /usr/bin/install: strip process terminated abnormally > make[1]: *** [install] Error 1 > make[1]: Leaving directory > `/home/rkotler/caviumllvmwclang/build/tools/llvm-config' > make: *** [install] Error 1 > > > I can provide another strip but I don' think that we have a way to control > the install command to use it.It's a known problem. See r142997 and r143009. And this discussion: http://llvm.1065342.n5.nabble.com/The-make-install-fails-in-cross-compile-mode-td23139.html Install tool invokes strip. GNU install allows to configure which strip to use (--strip-program). In general (for example on FreeBSD) it is not possible and install always runs just 'strip'. In case of cross-compilation that leads to the error. The workaround, I hope it still works, is to keep symbols: KEEP_SYMBOLS=1 make install -- Simon
On 02/26/2014 11:05 PM, Simon Atanasyan wrote:> Hi, > > On Thu, Feb 27, 2014 at 4:36 AM, reed kotler <rkotler at mips.com> wrote: >> Trying to do a "make install" on a mips box . >> >> llvm[2]: Installing Release+Asserts Archive Library >> /home/rkotler/caviumllvmwclang/install/lib/libLLVMLineEditor.a >> make[2]: Leaving directory >> `/home/rkotler/caviumllvmwclang/build/lib/LineEditor' >> make[1]: Leaving directory `/home/rkotler/caviumllvmwclang/build/lib' >> make[1]: Entering directory >> `/home/rkotler/caviumllvmwclang/build/tools/llvm-config' >> llvm[1]: Installing llvm-config-host >> strip: Unable to recognise the format of the input file >> `/home/rkotler/caviumllvmwclang/install/bin/llvm-config-host' >> /usr/bin/install: strip process terminated abnormally >> make[1]: *** [install] Error 1 >> make[1]: Leaving directory >> `/home/rkotler/caviumllvmwclang/build/tools/llvm-config' >> make: *** [install] Error 1 >> >> >> I can provide another strip but I don' think that we have a way to control >> the install command to use it. > It's a known problem. See r142997 and r143009. And this discussion: > http://llvm.1065342.n5.nabble.com/The-make-install-fails-in-cross-compile-mode-td23139.html > > Install tool invokes strip. GNU install allows to configure which > strip to use (--strip-program). In general (for example on FreeBSD) it > is not possible and install always runs just 'strip'. In case of > cross-compilation that leads to the error. > > The workaround, I hope it still works, is to keep symbols: > KEEP_SYMBOLS=1 make install >Another workaround is to configure with --enable-keep-symbols. I had to chuckle when I read the discussion you pointed to. Reed was in it. -Rich
On 27 February 2014 00:05, Simon Atanasyan <simon at atanasyan.com> wrote:> > Install tool invokes strip. GNU install allows to configure which > strip to use (--strip-program). In general (for example on FreeBSD) it > is not possible and install always runs just 'strip'. In case of > cross-compilation that leads to the error.Actually it is possible on FreeBSD -- from install(1): ENVIRONMENT The install utility checks for the presence of the STRIPBIN environment variable and if present, uses the assigned value as the program to run if and when the -s option has been specified. I'm not aware of other BSDs having this though, and supporting a collection of command options and environment settings on various platforms seems like it would be rather awkward. However, FreeBSD will likely soon migrate to strip, nm, size and such from the elftoolchain project, and those tools are natively cross-arch so strip should just work for this case.