Issues compiling binkd-1.1 on OpenBSD 5.3 (testing on 5.4 in a bit, as well); ns_msg undeclared

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Issues compiling binkd-1.1 on OpenBSD 5.3 (testing on 5.4 in a bit, as well); ns_msg undeclared

Damon Getsman
I've got a system that I'm trying to get connected to another fidonet hub
[again], but I'm having issues now that I'm having to connect to a new
coordinator.  Previously I was able to connect via binkd-0.9.4, but I'm
having issues that I can't get resolved between several people very
experienced with binkd; it appears to be an incompatibility between more
recent versions and 0.9.4, not a configuration issue.

Unfortunately, when attempting to get binkd-1.1 to compile on my OpenBSD
5.3 system, there appears to be some issues either locating a library or
finding the correct library to install on my system.  There is a rather
large lack of information for my situation available; as far as anybody
experienced with fidonet or binkd (as far as I know) knows, I'm the only
person that has had binkd running on OpenBSD, let alone run into these
incompatibilities and tried to get binkd-1.1 to compile in this environment.

Here is the problem that I've been getting, starting with the 'configure'
shell script output that seems to be applicable:
-=-=-
checking for ns_initparse... no
checking for ns_msg._msg_ptr... no
checking for ns_msg._ptr... no
-=-=-

and then, compilation seems to go fine until I hit the last few files
before final linkage; 'make' errors follow:
-=-=-
Compiling srv_gai.c...
srv_gai.c: In function 'srv_getaddrinfo':
srv_gai.c:82: error: 'ns_msg' undeclared (first use in this function)
srv_gai.c:82: error: (Each undeclared identifier is reported only once
srv_gai.c:82: error: for each function it appears in.)
srv_gai.c:82: error: expected ';' before 'nsb'
srv_gai.c:83: error: 'ns_rr' undeclared (first use in this function)
srv_gai.c:83: error: expected ';' before 'rrb'
srv_gai.c:137: error: 'ns_c_in' undeclared (first use in this function)
srv_gai.c:137: error: 'ns_t_srv' undeclared (first use in this function)
srv_gai.c:151: warning: implicit declaration of function 'ns_initparse'
srv_gai.c:151: error: 'nsb' undeclared (first use in this function)
srv_gai.c:163: warning: implicit declaration of function 'ns_msg_count'
srv_gai.c:163: error: 'ns_s_an' undeclared (first use in this function)
srv_gai.c:164: warning: implicit declaration of function 'ns_parserr'
srv_gai.c:164: error: 'rrb' undeclared (first use in this function)
srv_gai.c:168: warning: implicit declaration of function 'ns_rr_class'
srv_gai.c:171: warning: implicit declaration of function 'ns_rr_type'
srv_gai.c:173: warning: implicit declaration of function 'ns_rr_rdlen'
srv_gai.c:178: warning: implicit declaration of function 'ns_rr_rdata'
srv_gai.c:178: warning: assignment makes pointer from integer without a cast
*** Error 1 in /usr/src/binkd-1.1 (Makefile:76 'srv_gai.o': @gcc -c
-DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACK...)
-=-=-

Now, I will be the first one to admit that my knowledge of Makefile syntax
and operations is pretty limited.  I can fumble my way through general
modifications, but I'm not sure I'm doing things correctly.  I've gotten
some difficult packages to compile that haven't wanted to on particular
systems, but I find these solutions pretty much by educated guess.  I know
C/C++, but I can't say that I've ever coded anything more than a few
hundred (<600) lines long in that language.  So as far as porting to a new
operating system, taking into account SYSV/BSD differences and anything
else, I'm pretty lost.

My web searching for the ns_msg and associated functions seemed to indicate
that this is a part of libspf2, which I then installed via pkg_add to my
system.  Right off the bat I attempted a freshly started 'configure' and
'make'.  The configuration still indicated success, but with the same 'not
found' messages that I indicated in my first cut 'n paste in this message.
 I then made several modifications to the Makefile and even attempted
manual compilation of srv_gai.c with different command lines, trying to
manually specify -lspf2.  No luck.  I even tried switching the order of the
compilation in order to compile unix/ns_parse.c prior to srv_gai.c,
thinking (strictly due to the superficial resemblance of the name of this
file and hints that I saw in the source code) that perhaps an ns_msg may
reside in there.  Yeah, it was desperation time by this point.  No go.

At this point I'm totally out of ideas.  I'd be grateful for anything that
anybody might be able to suggest.  Well, with possible exception of
switching operating systems.  My machine that has ports forwarded to it
from the internet will always be OpenBSD due to my affinity for privacy and
system integrity.

Am I trying to add the wrong library?  Is there any other place I could
somehow insert this ns_msg and other associated code?  Many thanks in
advance for anything you can offer.  I really need to get this system
working as a binkd server and client asap.

Also, if anybody is interested in the BBS scene, I'd be happy to drop the
address for my system just as soon as I've got the ports forwarded at my
new location again.  ;)

-Damon Getsman

Reply | Threaded
Open this post in threaded view
|

Re: Issues compiling binkd-1.1 on OpenBSD 5.3 (testing on 5.4 in a bit, as well); ns_msg undeclared

Jeremie Courreges-Anglas-2
Damon Getsman <[hidden email]> writes:

> I've got a system that I'm trying to get connected to another fidonet hub
> [again], but I'm having issues now that I'm having to connect to a new
> coordinator.  Previously I was able to connect via binkd-0.9.4, but I'm
> having issues that I can't get resolved between several people very
> experienced with binkd; it appears to be an incompatibility between more
> recent versions and 0.9.4, not a configuration issue.
>
> Unfortunately, when attempting to get binkd-1.1 to compile on my OpenBSD
> 5.3 system, there appears to be some issues either locating a library or
> finding the correct library to install on my system.  There is a rather
> large lack of information for my situation available; as far as anybody
> experienced with fidonet or binkd (as far as I know) knows, I'm the only
> person that has had binkd running on OpenBSD, let alone run into these
> incompatibilities and tried to get binkd-1.1 to compile in this environment.
>
> Here is the problem that I've been getting, starting with the 'configure'
> shell script output that seems to be applicable:
> -=-=-
> checking for ns_initparse... no
> checking for ns_msg._msg_ptr... no
> checking for ns_msg._ptr... no
> -=-=-
>
> and then, compilation seems to go fine until I hit the last few files
> before final linkage; 'make' errors follow:
> -=-=-
> Compiling srv_gai.c...
> srv_gai.c: In function 'srv_getaddrinfo':
> srv_gai.c:82: error: 'ns_msg' undeclared (first use in this function)
> srv_gai.c:82: error: (Each undeclared identifier is reported only once
> srv_gai.c:82: error: for each function it appears in.)
> srv_gai.c:82: error: expected ';' before 'nsb'
> srv_gai.c:83: error: 'ns_rr' undeclared (first use in this function)
> srv_gai.c:83: error: expected ';' before 'rrb'
> srv_gai.c:137: error: 'ns_c_in' undeclared (first use in this function)
> srv_gai.c:137: error: 'ns_t_srv' undeclared (first use in this function)
> srv_gai.c:151: warning: implicit declaration of function 'ns_initparse'
> srv_gai.c:151: error: 'nsb' undeclared (first use in this function)
> srv_gai.c:163: warning: implicit declaration of function 'ns_msg_count'
> srv_gai.c:163: error: 'ns_s_an' undeclared (first use in this function)
> srv_gai.c:164: warning: implicit declaration of function 'ns_parserr'
> srv_gai.c:164: error: 'rrb' undeclared (first use in this function)
> srv_gai.c:168: warning: implicit declaration of function 'ns_rr_class'
> srv_gai.c:171: warning: implicit declaration of function 'ns_rr_type'
> srv_gai.c:173: warning: implicit declaration of function 'ns_rr_rdlen'
> srv_gai.c:178: warning: implicit declaration of function 'ns_rr_rdata'
> srv_gai.c:178: warning: assignment makes pointer from integer without a cast
> *** Error 1 in /usr/src/binkd-1.1 (Makefile:76 'srv_gai.o': @gcc -c
> -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACK...)
> -=-=-

You need stuff that was moved from base to the net/libbind package.

> Now, I will be the first one to admit that my knowledge of Makefile syntax
> and operations is pretty limited.  I can fumble my way through general
> modifications, but I'm not sure I'm doing things correctly.  I've gotten
> some difficult packages to compile that haven't wanted to on particular
> systems, but I find these solutions pretty much by educated guess.  I know
> C/C++, but I can't say that I've ever coded anything more than a few
> hundred (<600) lines long in that language.  So as far as porting to a new
> operating system, taking into account SYSV/BSD differences and anything
> else, I'm pretty lost.
>
> My web searching for the ns_msg and associated functions seemed to indicate
> that this is a part of libspf2,

Well, libspf2 depends on libbind.

> which I then installed via pkg_add to my
> system.  Right off the bat I attempted a freshly started 'configure' and
> 'make'.  The configuration still indicated success, but with the same 'not
> found' messages that I indicated in my first cut 'n paste in this message.
>  I then made several modifications to the Makefile and even attempted
> manual compilation of srv_gai.c with different command lines, trying to
> manually specify -lspf2.  No luck.  I even tried switching the order of the
> compilation in order to compile unix/ns_parse.c prior to srv_gai.c,
> thinking (strictly due to the superficial resemblance of the name of this
> file and hints that I saw in the source code) that perhaps an ns_msg may
> reside in there.  Yeah, it was desperation time by this point.  No go.

So... you need to add /usr/local/include/bind/ to the include search
list, /usr/local/lib/libbind/ to the lib search list (with -L and -R),
you need to link against libbind (-lbind), and you need to patch
srv_gai.c so that it includes arpa/nameser.h.

The provided Makefile.in doesn't honor CPPFLAGS / LDFLAGS.

> At this point I'm totally out of ideas.  I'd be grateful for anything that
> anybody might be able to suggest.  Well, with possible exception of
> switching operating systems.  My machine that has ports forwarded to it
> from the internet will always be OpenBSD due to my affinity for privacy and
> system integrity.
>
> Am I trying to add the wrong library?  Is there any other place I could
> somehow insert this ns_msg and other associated code?  Many thanks in
> advance for anything you can offer.  I really need to get this system
> working as a binkd server and client asap.
>
> Also, if anybody is interested in the BBS scene, I'd be happy to drop the
> address for my system just as soon as I've got the ports forwarded at my
> new location again.  ;)

If building binkd on OpenBSD is so painful then a port could be useful.

> -Damon Getsman
>

--
jca | PGP: 0x06A11494 / 61DB D9A0 00A4 67CF 2A90  8961 6191 8FBF 06A1 1494

Reply | Threaded
Open this post in threaded view
|

Re: Issues compiling binkd-1.1 on OpenBSD 5.3 (testing on 5.4 in a bit, as well); ns_msg undeclared

Jeremie Courreges-Anglas-2
[hidden email] (Jérémie Courrèges-Anglas) writes:

[...]

> If building binkd on OpenBSD is so painful then a port could be useful.

Something like that...

[demime 1.01d removed an attachment of type application/octet-stream]
--
jca | PGP: 0x06A11494 / 61DB D9A0 00A4 67CF 2A90  8961 6191 8FBF 06A1 1494