Bug 122236 - Can't specify C++ build for dev-lisp/ecls and dev-lisp/ecls-cvs
|
Bug#:
122236
|
Product: Gentoo Linux
|
Version: 2005.1
|
Platform: All
|
|
OS/Version: Linux
|
Status: VERIFIED
|
Severity: enhancement
|
Priority: P2
|
|
Resolution: FIXED
|
Assigned To: common-lisp@gentoo.org
|
Reported By: ivan@toshkov.org
|
|
Component: Development
|
|
|
URL:
|
|
Summary: Can't specify C++ build for dev-lisp/ecls and dev-lisp/ecls-cvs
|
|
Keywords:
|
|
Status Whiteboard:
|
|
Opened: 2006-02-09 04:12 0000
|
Add support for the --with-cxx configure option. Probably the 'c++' USE can be
reused here, because it is obeyed in boehm-gc. (At least in versions 6.3 and
6.4. It seems to be dropped in the latter...)
ok. seems like a reasonable request.
Ran into some problems with the sockets support:
/var/tmp/portage/ecls-0.9h-r1/work/ecl-0.9h/build/ext/sockets.c: In function
`cl_lispunion* LC30socket_accept(cl_lispunion*)':
/var/tmp/portage/ecls-0.9h-r1/work/ecl-0.9h/build/ext/sockets.c:892: error:
invalid conversion from `int*' to `socklen_t*'
/var/tmp/portage/ecls-0.9h-r1/work/ecl-0.9h/build/ext/sockets.c:892: error:
initializing argument 3 of `int accept(int, sockaddr*, socklen_t*)'
...
(In reply to comment #2)
> Ran into some problems with the sockets support:
>
> /var/tmp/portage/ecls-0.9h-r1/work/ecl-0.9h/build/ext/sockets.c: In function
> `cl_lispunion* LC30socket_accept(cl_lispunion*)':
> /var/tmp/portage/ecls-0.9h-r1/work/ecl-0.9h/build/ext/sockets.c:892: error:
> invalid conversion from `int*' to `socklen_t*'
> /var/tmp/portage/ecls-0.9h-r1/work/ecl-0.9h/build/ext/sockets.c:892: error:
> initializing argument 3 of `int accept(int, sockaddr*, socklen_t*)'
> ...
>
Same here. I tried both with GCC 3.3.6 and GCC 3.4.4. The problem seems to be
in the socket code only, 'cause when I managed to compile it without
--with-tcp.
It looks like the local socket interface in ECL hasn't been tested with the
--with-cxx configuration. Attached is a patch which should fix the build
errors. I will try to send it up stream if it also works for you.
0.9h-r1 understands a c++ USE flag which will cause ECL to be built with the
c++ compiler.
Looks like it works. I don't have test code for sockets, though, so all I can
say is, that it compiles.
Thank you.
That is odd, but I can offer a theory --
15 Feb 2006; Matthew Kennedy <mkennedy@gentoo.org>
files/0.9h-sockets-c++-gentoo.patch:
Fixed a problem where CVS keywords in patch get changed by repoman commit
which caused the patch to fail to apply.
Although I didn't experience such an equery files result, perhaps you emerged
ecl while that problem existed in portage. Try emerge sync and then re-emerge
ecl. Does the equery files output persist?