sid build issues
Ralf Wildenhues <[email protected]> Tue, 18 Aug 2009 07:40:19 +0200
| Newsgroups | gmane.comp.gnu.binutils,gmane.comp.emulators.sid.devel |
|---|---|
| Message-ID | <[email protected]> |
Hello sid maintainers, I'm trying to build the full src tree, ../src/configure && make on x86_64-unknown-linux-gnu, without and with --enable-maintainer-mode (before trying to update it to newer autotools). A few things show up: 1) I've see weird, not easily reproducible failures of make -jN at least with --enable-maintainer-mode. Does anybody use it, is it supposed to work? Are people aware of the issues, or should I report them? 2) Within sid, the link fails on x86_64 if I use neither --enable-shared nor --disable-shared: | make[7]: Entering directory `/tmp/build/sid/component/cgen-cpu' | /bin/sh ./libtool --tag=CXX --mode=link g++ -g -O2 -o libcgencpu.la -rpath /usr/local/lib/sidcomp -module -no-undefined compCGEN.lo cgen-fpu.lo fp.lo tracedis.lo arm7t/libarm7t.la m32r/libm32r.la mep/libmep.la mt/libmt.la sh/libsh.la xstormy16/libxstormy16.la -L../../../libiberty/pic -L../../../libiberty -liberty cgen-asm.lo cgen-dis.lo cgen-opc.lo dis-buf.lo dis-init.lo cgen-bitset.lo -lpthread -lm | ./libtool: line 1803: cd: ../../../libiberty/pic: No such file or directory | libtool: link: cannot determine absolute directory name of `../../../libiberty/pic' | make[7]: *** [libcgencpu.la] Error 1 | make[7]: Leaving directory `/tmp/build/sid/component/cgen-cpu' | make[6]: *** [all-recursive] Error 1 | make[6]: Leaving directory `/tmp/build/sid/component/cgen-cpu' | make[5]: *** [all] Error 2 Worse, however, the build continues after that instead of failing right away (making the error harder to find than necessary). With --enable-shared passed to toplevel configure, I get past this. I'm unsure as to the Right Way[tm] to fix this: sid/configure.in checks whether $enable_shared was set to no, or checks whether $ac_cv_libstdcxx_shared is != yes. However, testing $enable_shared for "no" is not sufficient to fix the case where the user didn't pass either of --enable-shared or --disable-shared. So what would be the right thing to happen in that case? 3) I see a few (thousand) warnings of the form: | ../../../../../src/sid/component/cgen-cpu/sh/sh5-compact-decode.cxx:221: warning: deprecated conversion from string constant to 'char*' in several sid source files. Is there interest in fixing them, or adding whatever command line argument make g++ permissive enough, to the compile command lines? 4) sid has its own config/ directory in which it stores versions of libtool.m4, ltmain.sh and other Autoconf macro files and helper scripts different from those used in the rest of src. Is that desirable? Does sid need to be buildable outside (independently) of the src tree? I don't mind keeping a sid/config for stuff you'd like to override, but it would be preferable if, for those files that are overridden in the toplevel src/ (libtool.m4 and other macro files from libtool, ltmain.sh) and from toplevel src/config, especially override.m4 which is needed for Autoconf bugfixes and smooth transitions. If you agree, then I'd work on a patch removing the duplicate files from sid/config, and adding the necessary includes for src/ and src/config/ directories. 5) When building with --enable-maintainer-mode, and xsltproc 1.1.24 installed, I get lots of ignored errors (one per xml file) of the form | xsltproc --output hw-visual-lcd.html ../../../../src/sid/component/lcd/../component_html.xsl ../../../../src/sid/component/lcd/hw-visual-lcd.xml | runtime error: file ../../../../src/sid/component/lcd/../component_html.xsl line 21 element param | Unexpected XSLT element 'param'. | runtime error: file ../../../../src/sid/component/lcd/../component_html.xsl line 22 element choose | Variable 'body' has not been declared. | xmlXPathCompOpEval: parameter error | make[6]: *** [hw-visual-lcd.html] Error 10 | rm hw-visual-lcd.html They somehow seem to be ignored by make however. Cheers, Ralf