#1110: parrot fails to build with g++ 4.4.1 on Ubuntu 9.10 beta amd64
--------------------+-------------------------------------------------------
Reporter: mikehh | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: build | Version: trunk
Severity: medium | Keywords:
Lang: | Patch:
Platform: |
--------------------+-------------------------------------------------------
Comment(by mikehh):
at parrot r42035 I built with g++ (Ubuntu 4.3.3-5ubuntu4) 4.3.3 on Ubuntu
9.04 amd64 and got the following results:
{{{
trunk - pre/post-config, smoke (#29338) PASS, fulltest FAIL at r42035 -
Ubuntu 9.04 amd64 (g++)
t/op/annotate-old.t - Failed test: 1 - in testf and testg (TT #1135)
t/pmc/threads.t - Failed tests: 9, 14 - in testr
the remainder of fulltest passes
}}}
at the same revision I attempted to build with g++ (Ubuntu 4.4.1-4ubuntu8)
4.4.1 on Ubuntu 9.10 beta (updated) amd64 - the build failed in
src/string/api.c as follows:
{{{
...
/usr/local/bin/perl tools/build/c2str.pl --all
src/string/api.c
In file included from src/string/api.c:29:
src/string/private_cstring.h:20: warning: size of ‘parrot_cstrings’ is
19904 bytes
src/string/api.c: In function ‘STRING*
Parrot_str_unescape(parrot_interp_t*, const char*, char, const char*)’:
src/string/api.c:2790: error: invalid conversion from ‘const char*’ to
‘char*’
make: *** [src/string/api.o] Error 1
}}}
The size warning is because I configured with --maintainer (which reports
strings greater than 4096 chars), the relevant line in src/string.api.c is
the last line in the following section of the code:
{{{
PARROT_EXPORT
PARROT_CANNOT_RETURN_NULL
STRING *
Parrot_str_unescape(PARROT_INTERP,
ARGIN(const char *cstring), char delimiter, ARGIN_NULLOK(const char
*enc_char))
{
ASSERT_ARGS(Parrot_str_unescape)
STRING *result;
const ENCODING *encoding;
const CHARSET *charset;
/* the default encoding is ascii */
const char *enc_name = enc_char ? enc_char : "ascii";
/* does the encoding have a character set? */
char *p = enc_char ? strchr(enc_char, ':') : NULL;
}}}
Note that this builds with no problems with g++ 4.3.3 but fails with g++
4.4.1 - this might be due to the later library used. (see the previous
comment)
--
Ticket URL: <https://trac.parrot.org/parrot/ticket/1110#comment:4>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
_______________________________________________
parrot-tickets mailing list
[email protected]
http://lists.parrot.org/mailman/listinfo/parrot-tickets