This is the mail archive of the mailing list for the SID project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

sid build issues

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

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 -rpath /usr/local/lib/sidcomp -module -no-undefined compCGEN.lo cgen-fpu.lo fp.lo tracedis.lo arm7t/ m32r/ mep/ mt/ sh/ xstormy16/  -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]: *** [] 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/ 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, 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,
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/

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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]