Discussion:
[9fans] libbsd: incompatible type signatures
(too old to reply)
l***@proxima.alt.za
2013-08-19 15:30:52 UTC
Permalink
I just hit the following compilation error and I wonder if this is some
sort of bug in the APE libraries and how to trace down what is really
I had a similar situation when compiling the entire userland. I
hacked each as seemed appropriate, but somebody ought to go in there
with a shovel... Thing is, BSD isn't very consistent either and
sometimes socket_t * is preferable to uint *, whereas sometimes void *
is better than char *. A shovel, indeed.

From memory, don't call me a liar :-)

++L
Jens Staal
2013-08-19 16:28:51 UTC
Permalink
On Mon, 19 Aug 2013 17:30:52 +0200
Post by l***@proxima.alt.za
I just hit the following compilation error and I wonder if this is
some sort of bug in the APE libraries and how to trace down what is
I had a similar situation when compiling the entire userland. I
hacked each as seemed appropriate, but somebody ought to go in there
with a shovel... Thing is, BSD isn't very consistent either and
sometimes socket_t * is preferable to uint *, whereas sometimes void *
is better than char *. A shovel, indeed.
From memory, don't call me a liar :-)
++L
Heh.. that does not sound too encouraging...

For both errors, they seem to be blaming bind in libbsd.a so I guess
that is where one would have to look first. I have no idea at all how
to do anything about it though. "normal" compilation issues where the
corresponding code can be traced down are definitely easier ;)
erik quanstrom
2013-08-19 17:04:26 UTC
Permalink
Dear all,
I just hit the following compilation error and I wonder if this is some
sort of bug in the APE libraries and how to trace down what is really
??none??: incompatible type signatures
50220469(/386/lib/ape/libdraw.a(screen)) and
9bbe58(/386/lib/ape/libbsd(bind)) for bind
htonl: incompatible type signatures
617952a3(/386/lib/ape/libbsd.a(bind)) and ac7c45d0
(/386/lib/ape/libbsd.a(ntohs)) for ntohs
this is a bug in the ape libraries. the ape version of
devdraw should be including /sys/src/ape/lib/9/libc.h
which should

#define bind _BIND

it looks like 9atom doesn't do this properly. i'll submit
a 9atom patch, but simply adding it to /sys/src/ape/lib/9/libc.h
doesn't work, so give me a bit. it's a rats' nest of defines...

the sloppy way to get this done would be to add
-Dbind=_BIND to draw's mkfile.

- erik
Jens Staal
2013-08-20 07:17:57 UTC
Permalink
On Mon, 19 Aug 2013 13:04:26 -0400
Post by erik quanstrom
it looks like 9atom doesn't do this properly. i'll submit
a 9atom patch, but simply adding it to /sys/src/ape/lib/9/libc.h
doesn't work, so give me a bit. it's a rats' nest of defines...
the sloppy way to get this done would be to add
-Dbind=_BIND to draw's mkfile.
- erik
Will the 9atom patch normally apply cleanly to vanilla Plan9? (I run
vanilla Plan9 under kvm/qemu) - alternatively, is there a way to
"switch repositories" and "update" to 9atom to get the improvements
from within an existing install?
erik quanstrom
2013-08-27 03:32:00 UTC
Permalink
Post by Jens Staal
On Mon, 19 Aug 2013 13:04:26 -0400
Post by erik quanstrom
it looks like 9atom doesn't do this properly. i'll submit
a 9atom patch, but simply adding it to /sys/src/ape/lib/9/libc.h
doesn't work, so give me a bit. it's a rats' nest of defines...
the sloppy way to get this done would be to add
-Dbind=_BIND to draw's mkfile.
- erik
Will the 9atom patch normally apply cleanly to vanilla Plan9? (I run
vanilla Plan9 under kvm/qemu) - alternatively, is there a way to
"switch repositories" and "update" to 9atom to get the improvements
from within an existing install?
in this case /n/atom/patch/applied/lib9bindconst will apply cleanly to
either. this should be the normal case.

- erik
Jens Staal
2013-08-27 06:21:18 UTC
Permalink
On Mon, 26 Aug 2013 23:32:00 -0400
Post by erik quanstrom
Post by Jens Staal
On Mon, 19 Aug 2013 13:04:26 -0400
Post by erik quanstrom
it looks like 9atom doesn't do this properly. i'll submit
a 9atom patch, but simply adding it to /sys/src/ape/lib/9/libc.h
doesn't work, so give me a bit. it's a rats' nest of defines...
the sloppy way to get this done would be to add
-Dbind=_BIND to draw's mkfile.
- erik
Will the 9atom patch normally apply cleanly to vanilla Plan9? (I run
vanilla Plan9 under kvm/qemu) - alternatively, is there a way to
"switch repositories" and "update" to 9atom to get the improvements
from within an existing install?
in this case /n/atom/patch/applied/lib9bindconst will apply cleanly to
either. this should be the normal case.
- erik
sorry if I have missed the obvious: how/where do I mount /n/atom ?

(btw: tried to install 9atom under qemu and failed (the plan9 bootloader
would not give the CD as boot option) - is this a known problem? )
erik quanstrom
2013-08-27 12:29:54 UTC
Permalink
Post by Jens Staal
(btw: tried to install 9atom under qemu and failed (the plan9 bootloader
would not give the CD as boot option) - is this a known problem? )
iirc, install from cd is the only option now. just ignore the install
window and open a new one.

it's also a known problem that i have not spent enough time with
various virtualization technologies.

- erik

Loading...