Thread: [Hamlib-developer] Building hamlib
Library to control radio transceivers and receivers
Brought to you by:
n0nb
|
From: Wilbert K. <zl...@zl...> - 2003-01-29 10:25:49
|
Thanks for reading this. I am having trouble compiling hamlib-1.1.4-cvs-021226 It goes wrong in ./rpcrig at this statement: [root@zl2bsj rpcrig]# make rm -f rpcrig.h rpcgen -h `test -f rpcrig.x || echo './'`rpcrig.x -o rpcrig.h typedef unsigned hyper setting_x; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rpcrig.x, line 42: expected ';' make: *** [rpcrig.h] Error 1 [root@zl2bsj rpcrig]# It looks like rpcgen is complaining about the syntax in rpcrig.x: <snip> /* This gets stuffed into the source files. */ #if RPC_HDR %#ifdef HAVE_CONFIG_H %#include "config.h" %#endif %#include <rpc/xdr.h> %#include <hamlib/rig.h> #endif typedef unsigned int model_x; typedef int vfo_x; typedef hyper freq_x; typedef unsigned int rmode_x; typedef int pbwidth_x; typedef unsigned long split_x; typedef int ptt_x; typedef int dcd_x; typedef long vfo_op_x; typedef long shortfreq_x; typedef unsigned hyper setting_x; typedef long ant_x; <snip> Has anyone come across this before? I am installing on a Mandrake 7.2 system with 2.2.20 kernel, latest autoconf and automake. The rpcgen program came with: glibc-2.1.3-16mdk. Any pointers appreciated. Wilbert, ZL2BSJ |
|
From: Nate B. <n0...@ne...> - 2003-01-29 12:47:35
|
* Wilbert Knol <zl...@zl...> [2003 Jan 29 06:07 -0600]:
>
> Thanks for reading this. I am having trouble compiling
> hamlib-1.1.4-cvs-021226
>
> It goes wrong in ./rpcrig at this statement:
>
> [root@zl2bsj rpcrig]# make
> rm -f rpcrig.h
> rpcgen -h `test -f rpcrig.x || echo './'`rpcrig.x -o rpcrig.h
> typedef unsigned hyper setting_x;
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> rpcrig.x, line 42: expected ';'
> make: *** [rpcrig.h] Error 1
> [root@zl2bsj rpcrig]#
Hi Wilbert.
It appears the keyword hyper is foreign to C. Where that is coming from
I have no idea. Right now I don't have time to look for it, but I can
do so this evening if Stephane doesn't answer this.
BTW, Stephane, where are you? I know he went on a skiing tri[ a few
weeks back, but I expected to hear something from him by now. Hopefully
he is just busy.
Looking over the message again I see that you invoked make in the rpcrig
directory. I'm not sure that this is supported. I've always run make
from the root directory of the Hamlib source distribution. You may want
to try the later CVS code directly from Sourceforge. In the file
README.developer or README.betatester are the preliminary commands
needed to build the configuration code. Also included are the required
versions of the various packages that need to be installed before the
autgen.sh script is run. This may mean some updates to your system.
The CVS code of December 26, 2002 had the same requirements as the
current CVS.
I've had no problems building the CVS code for the past two months or
so on a Debian Testing system. Since this has been upgraded over time,
I too had some weird problems until installing the needed automake and
autoconf tools solved the problems.
73, de Nate >>
--
Wireless | Amateur Radio Station N0NB | "We have awakened a
Internet | n0...@ne... | sleeping giant and
Location | Bremen, Kansas USA EM19ov | have instilled in him
Amateur radio exams; ham radio; Linux info @ | a terrible resolve".
http://www.qsl.net/n0nb/ | - Admiral Yamamoto
|
|
From: Stephane F. <f8...@fr...> - 2003-01-29 23:06:56
|
On Wed, Jan 29, 2003, Nate Bargmann wrote: > * Wilbert Knol <zl...@zl...> [2003 Jan 29 06:07 -0600]: > > > > Thanks for reading this. I am having trouble compiling > > hamlib-1.1.4-cvs-021226 > > > > It goes wrong in ./rpcrig at this statement: > > > > [root@zl2bsj rpcrig]# make > > rm -f rpcrig.h > > rpcgen -h `test -f rpcrig.x || echo './'`rpcrig.x -o rpcrig.h > > typedef unsigned hyper setting_x; > > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > > rpcrig.x, line 42: expected ';' > > make: *** [rpcrig.h] Error 1 > > [root@zl2bsj rpcrig]# > > It appears the keyword hyper is foreign to C. Where that is coming from > I have no idea. Right now I don't have time to look for it, but I can > do so this evening if Stephane doesn't answer this. hyper is an extension to RPC language, which refers to 64 bit long type. > BTW, Stephane, where are you? I know he went on a skiing tri[ a few > weeks back, but I expected to hear something from him by now. Hopefully > he is just busy. I'm back home in Rennes (western France, in Brittany), and I managed to come back in one piece after my debut at snowboard.hi. Sorry for the silence, I was a bit busy. I can see the backlog. > Looking over the message again I see that you invoked make in the rpcrig > directory. I'm not sure that this is supported. I've always run make > from the root directory of the Hamlib source distribution. You may want > to try the later CVS code directly from Sourceforge. In the file > README.developer or README.betatester are the preliminary commands > needed to build the configuration code. Also included are the required > versions of the various packages that need to be installed before the > autgen.sh script is run. This may mean some updates to your system. > The CVS code of December 26, 2002 had the same requirements as the > current CVS. make in the rpcrig directory is supported, as long as all the targets from the top directory are already built. Anyway, if you don't see the difference it may make, it's better to always run make from the root directory. In the present case, the CVS version suffers the same as the cvs-021226. This is a known problem. It looks like some oldish libc-dev distributions (which rpcgen is part of) don't support hyper keyword. I've seen this under some version of solaris, linux-ppc and Mac OS X. The fix (I haven't took the time to implement yet) consists in checking from a M4 macro called from configure.ac whether rpcgen would accept the hyper keyword and gcc would compile the result. Failure of this test would simply remove rpcrig and rpcrot from the backend list. More to put on my todo list.. Anyway, in the mean time, you can try to pass --without-rpc-backends to disable the RPC build. This has just been commited to the CVS repository. Cheers, Stephane |
|
From: Nate B. <n0...@ne...> - 2003-01-30 02:29:01
|
Welcome back, Stephane!
* Stephane Fillod <f8...@fr...> [2003 Jan 29 17:10 -0600]:
> hyper is an extension to RPC language, which refers to 64 bit long type.
Gosh, I learned something new again today! By your explanation I assume
rpc is a special library extension above libc6 for rpc.
> I'm back home in Rennes (western France, in Brittany), and I managed to
> come back in one piece after my debut at snowboard.hi.
> Sorry for the silence, I was a bit busy. I can see the backlog.
Sure glad you're back in one piece. Sounds like you had fun. I guess I
ought to try skis sometime, but any ski slopes are a few hundred miles
away from the flatlands of Kansas. On the other hand, my brother's gone
skiing several times, so I guess it's a matter priorities.
> make in the rpcrig directory is supported, as long as all the targets
> from the top directory are already built. Anyway, if you don't see the
> difference it may make, it's better to always run make from the root
> directory.
Well, this is another area of Hamlib that I'm completely unfamiliar with
and I was just taking a stab at some kind of explanation.
> More to put on my todo list..
Do TODO lists ever get shorter? (not in my shack at least)
Let know when you get caught up again as I have a few questions for you.
73, de Nate >>
--
Wireless | Amateur Radio Station N0NB | "We have awakened a
Internet | n0...@ne... | sleeping giant and
Location | Bremen, Kansas USA EM19ov | have instilled in him
Amateur radio exams; ham radio; Linux info @ | a terrible resolve".
http://www.qsl.net/n0nb/ | - Admiral Yamamoto
|