#350 closed defect (fixed)
1.1.1dev and bzr head won't build on SunOS 5.10
Reported by: | Owned by: | ||
---|---|---|---|
Priority: | normal | Milestone: | 1.2 |
Component: | BitlBee | Version: | devel |
Keywords: | compile | Cc: | |
IRC client+version: | Client-independent | Operating System: | Other |
OS version/distro: | SunOS 5.10 |
Description
I can't get bitlbee to build on SunOS 5.10. Granted, I don't actually know if it should. This happens with both 1.1.1dev and bzr head:
$ sh configure && gmake BitlBee configure Using bzr revision #305 as version number Spoofing version number: "bzr-305" Architecture: SunOS Configuration done: Debugging disabled. Binary stripping enabled. Using event handler: glib Using SSL library: gnutls Building with these storage backends: text xml Building with these protocols: msn jabber oscar yahoo * Compiling account.c In file included from bitlbee.h:121, from account.c:27: storage.h:64: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'GList' In file included from /home/poutanei/src/bitlbee/protocols/nogaim.h:44, from bitlbee.h:123, from account.c:27: /home/poutanei/src/bitlbee/lib/md5.h:30: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'md5_byte_t' /home/poutanei/src/bitlbee/lib/md5.h:32: error: expected specifier-qualifier-list before 'u_int32_t' /home/poutanei/src/bitlbee/lib/md5.h:38: warning: type defaults to 'int' in declaration of 'md5_byte_t' /home/poutanei/src/bitlbee/lib/md5.h:38: error: expected ';', ',' or ')' before '*' token /home/poutanei/src/bitlbee/lib/md5.h:39: error: expected declaration specifiers or '...' before 'md5_byte_t' In file included from bitlbee.h:123, from account.c:27: /home/poutanei/src/bitlbee/protocols/nogaim.h:70: error: expected specifier-qualifier-list before 'u_int32_t' /home/poutanei/src/bitlbee/protocols/nogaim.h:284: error: expected declaration specifiers or '...' before 'u_int32_t' /home/poutanei/src/bitlbee/protocols/nogaim.h:285: error: expected declaration specifiers or '...' before 'u_int32_t' /home/poutanei/src/bitlbee/protocols/nogaim.h:301: error: expected declaration specifiers or '...' before 'u_int32_t' In file included from bitlbee.h:127, from account.c:27: conf.h:54: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'conf_t' In file included from bitlbee.h:130, from account.c:27: help.h:45: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'help_t' gmake: *** [account.o] Error 1
uname -a output:
SunOS hopeatilhi 5.10 Generic_127111-05 sun4u sparc SUNW,Sun-Fire-V240
gcc specs:
Reading specs from /share/local/lang/gcc421-sol10-f/bin/../lib/gcc/sparc-sun-solaris2.10/4.2.1/specs Target: sparc-sun-solaris2.10 Configured with: /usr/local/lang/src/gcc-4.2.1/configure --prefix=/usr/local/lang/gcc421-sol10-f --enable-shared --with-local-prefix=/opt/local --with-libiconv-prefix=/usr/local/lang/gcc421-sol10-f --enable-cpp --enable-threads=posix --with-gnu-ld --with-ld=/usr/local/lang/gcc421-sol10-f/bin/ld --with-gnu-as --with-as=/usr/local/lang/gcc421-sol10-f/bin/as --disable-nls --enable-languages=c,c++,ada --enable-c99 --with-cpu=v9 --with-gmp=/usr/local/lang/gcc421-sol10-f Thread model: posix gcc version 4.2.1
Attachments (0)
Change History (8)
comment:1 Changed at 2008-01-15T11:53:16Z by
Milestone: | → 1.2 |
---|
comment:2 Changed at 2008-01-15T22:24:26Z by
On a system running the latest Solaris Express Community Edition, I found two changes necessary to compile 1.1.1dev:
- In configure, the test for libresolv.a uses "-e," which is not supported in the old sh on Solaris. I fixed this by running configure under ksh, and clearly it already works under bash.
- In four files (protocols/nogaim.c, protocols/nogaim.h, lib/md5.c, lib/md5.h), unsigned integer types were referenced as u_intx_t (where "x" is the bit length), instead of uintx_t.
This left me with the following warnings:
bitlbee.c:281: warning: int format, pid_t arg (arg 3) ipc.c:54: warning: int format, long int arg (arg 2) ipc.c:449: warning: int format, pid_t arg (arg 3) ipc.c:553: warning: int format, pid_t arg (arg 3) unix.c:186: warning: int format, pid_t arg (arg 3) unix.c:188: warning: int format, pid_t arg (arg 3)
...but an otherwise clean compile.
I haven't (yet) pulled the bzr head, or tested the 1.1.1dev binary that I generated.
comment:3 Changed at 2008-01-17T22:51:50Z by
I just fixed the u_int problems (had to #include <stdint.h> somewhere to make it work), see changeset:devel,306. Also added some typecasts to silence the warnings that were left.
What'd be the best way to check for file existence if test -e doesn't work? test -f, maybe?
comment:4 Changed at 2008-01-19T18:26:19Z by
Resolution: | → fixed |
---|---|
Status: | new → closed |
Switched to test -f in changeset:devel,310. It looks like this should work on Solaris. I hope I won't get complaints from people who have a /usr/include full of symlinks...
comment:5 Changed at 2008-01-25T09:30:22Z by
With devel,315 it *almost* worked =) I only had to tweak a couple of things to make it build. It seems like G_GNUC_MALLOC doesn't get defined or gets defined incorrectly, which causes the errors from storage.h line 64 in my original bug report ("syntax error before GList"). I worked around by adding this to config.h post-configure:
#define G_GNUC_MALLOC __attribute__((__malloc__))
The same incorrect definition then causes similar errors when compiling crypting.c, so I added this to pick up the definition:
--- crypting.c 2007-11-23 22:25:04 +0000 +++ crypting.c 2008-01-25 09:18:16 +0000 @@ -28,6 +28,10 @@ included if CRYPTING_MAIN is defined. Or just do "make decode" and the programs will be built. */ +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + #include <string.h> #include <stdio.h> #include <stdlib.h>
And with these changes, it builds successfully.
comment:6 Changed at 2008-02-02T13:03:41Z by
Resolution: | fixed |
---|---|
Status: | closed → reopened |
Hmmm... That could be a GLib issue too. Which GLib version do you have? IF this is the only thing missing in it, then it's a pretty lame reason for BitlBee to not work with it. :-/
comment:7 Changed at 2008-02-04T23:55:53Z by
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
Okay, work-around added.
comment:8 Changed at 2008-02-05T07:14:28Z by
Yay, compiles successfully out of the box with default options. Thanks for a quick resolution, if only all projects were like yours =)
It'd definitely good to make that work, yes. :-)