wvstreams for FreeBSD

153 views
Skip to first unread message

LM

unread,
Aug 6, 2010, 10:35:16 AM8/6/10
to wvstreams-devel
I downloaded latest versions of wvdial and wvstreams and attempted to
get them to build on my old laptop running FreeBSD 7.2. Was able to
get wvstreams to compile and build successfully although I haven't
tested if results are useable. Most of the changes I had to make were
to use the OS_MAC ifdefs although there were a few others. Was
wondering if I posted the patches someplace if there was any way they
could be added back into the original source, so others wouldn't need
to patch just to build the library on FreeBSD.

I tried building wvdial once wvstreams was installed which is what I
wanted to build on FreeBSD in the first place. Didn't get very far.
The rc_entry struct was looking for a data item that didn't exist in
the FreeBSD compiler includes. Didn't get a chance to debug any
further since it looked like it wasn't going to be a quick fix.
However, noticed some posts about building for FreeBSD on this mailing
list. Maybe once wvstreams is working for FreeBSD users, if there's
enough interest, the rest of it will get ported.

Sincerely,
Laura
http://www.distasis.com/cpp

Avery Pennarun

unread,
Aug 6, 2010, 11:17:58 AM8/6/10
to LM, wvstreams-devel
Hi,

On Fri, Aug 6, 2010 at 10:35 AM, LM <m...@distasis.com> wrote:
> I downloaded latest versions of wvdial and wvstreams and attempted to
> get them to build on my old laptop running FreeBSD 7.2.  Was able to
> get wvstreams to compile and build successfully although I haven't
> tested if results are useable.  Most of the changes I had to make were
> to use the OS_MAC ifdefs although there were a few others.  Was
> wondering if I posted the patches someplace if there was any way they
> could be added back into the original source, so others wouldn't need
> to patch just to build the library on FreeBSD.

Yeah, I was suspicious of all the OS_MAC related ifdefs when they
first went in, and doubted they were actually mac-specific, but I had
no way (or time) to check whether that was true, so I figured they
were better than nothing.

The *proper* fix for such things is to add appropriate autoconf tests
for each missing feature. But considering there aren't very many of
these ifdefs, OS_MAC || OS_FREEBSD (or whatever) would be also okay, I
guess.

If you want to send in the changes, please either email them to the
list or push them to a fork of the wvstreams project on github.

Please make sure you have the latest git version of wvstreams before
sending - the build scripts have changed a bit since the last official
release.

(Yes, I should get around to releasing this new one since I'm
apparently the new maintainer and stuff, but there's been precisely
zero demand so far, so I've been procrastinating.)

> I tried building wvdial once wvstreams was installed which is what I
> wanted to build on FreeBSD in the first place.  Didn't get very far.
> The rc_entry struct was looking for a data item that didn't exist in
> the FreeBSD compiler includes.  Didn't get a chance to debug any
> further since it looked like it wasn't going to be a quick fix.
> However, noticed some posts about building for FreeBSD on this mailing
> list.  Maybe once wvstreams is working for FreeBSD users, if there's
> enough interest, the rest of it will get ported.

wvdial is probably not going to be super hard to port. I don't
actually remember what rc_entry is, but as far as I know, most of the
weird stuff in wvdial relates to ptys, and ptys are *mostly* the same
between Linux and other unixes. So if you can get it working at all,
please feel free to send patches or additional questions (including
the failed compiler logs).

Thanks for helping to get wvstreams running on more platforms.

Have fun,

Avery

Antonio Olivares

unread,
Aug 6, 2010, 11:49:33 AM8/6/10
to Avery Pennarun, LM, wvstreams-devel
Laura,

You are an angel sent from heaven :)

Why?

I am *STUCK* trying to get wvstreams working on FreeBSD 8.1 AMD64:

http://groups.google.com/group/wvstreams-devel/t/2e70344a504b6a58?hl=en

If I can get that working + wvdial, I would be in business :)

The device nodes would be different I see Linux uses /dev/ttyS0, but
FreeBSD uses /dev/cuuaa1 or similar?

Avery,
I am surprised you forgot about my situation, since I have not
bothered to ask, I don't want to be a "CRY BABY" asking and asking and
asking :(

Thanks for any help/advice suggestions provided to get
wvstreams+wvdial going on FreeBSD :)

*I can connect with Linux, but would also like to connect with FreeBSD*,
the other dialer (kppp) is not in FreeBSD 8.1, so wvdial + wvstreams
would be very useful to have :)

Regards,

Antonio

> --
> You received this message because you are subscribed to the Google Groups
> "wvstreams-devel" group.
> To post to this group, send email to wvstrea...@googlegroups.com.
> To unsubscribe from this group, send email to
> wvstreams-dev...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/wvstreams-devel?hl=en.
>
>

Avery Pennarun

unread,
Aug 6, 2010, 2:06:33 PM8/6/10
to Antonio Olivares, LM, wvstreams-devel
On Fri, Aug 6, 2010 at 11:49 AM, Antonio Olivares
<olivar...@gmail.com> wrote:
> If I can get that working + wvdial, I would be in business :)
>
> The device nodes would be different I see Linux uses /dev/ttyS0, but
> FreeBSD uses /dev/cuuaa1 or similar?

Presumably there are little things like that. Note however that the
cua devices are different from the ttyS devices, at least on Linux.

> I am surprised you forgot about my situation, since I have not
> bothered to ask, I don't want to be a "CRY BABY" asking and asking and
> asking :(

Well, it's very hard to debug portability problems like this without
having a FreeBSD setup myself. It's much easier if you (or you and
another FreeBSD person) can debug it and just send us patches, which
we'll be happy to include in wvstreams/wvdial upstream.

It's not so much that I "forgot" as that there's not much more I can do.

Have fun,

Avery

LM

unread,
Aug 6, 2010, 11:58:58 AM8/6/10
to wvstreams-devel
On Aug 6, 11:17 am, Avery Pennarun <apenw...@gmail.com> wrote:
> The *proper* fix for such things is to add appropriate autoconf tests
> for each missing feature.  But considering there aren't very many of
> these ifdefs, OS_MAC || OS_FREEBSD (or whatever) would be also okay, I
> guess.

I was thinking about putting something like OS_FREEBSD around the
fixes, but am not very familiar with autoconf, so wasn't sure how to
get configure to know that when it's on a FREEBSD machine it needs to
add -DOS_FREEBSD to gmake.

> If you want to send in the changes, please either email them to the
> list or push them to a fork of the wvstreams project on github.

I have the patches I made here in the mean time:
http://www.distasis.com/cpp/patches.htm#wvdial

Wasn't sure about e-mailing to the list because of line end issues.
I'm doing all my Internet connection through dial-up on Windows at the
moment. Was hoping to try out wvdial on FreeBSD and possibly Linux so
I could start trying to use Open Source operating systems more often.
Internet access is one of the key things holding me back from
switching to an Open Source OS and wvdial looked like a good route to
attempt to get that working. Don't have msysgit working on Windows
yet either. It was one of the things on my to-do list that I really
haven't had time to delve into further.

Sincerely,
Laura

Antonio Olivares

unread,
Aug 6, 2010, 2:36:48 PM8/6/10
to LM, Avery Pennarun, wvstreams-devel
Laura,

I am much closer than ever, but still I have a problem :(

I am very close, but a 32 bit to 64 bit error kills it :(

/usr/bin/ld: argp/libargp.a(argp-help.o): relocation R_X86_64_32 can
not be used when making a shared object; recompile with -fPIC
argp/libargp.a: could not read symbols: Bad value

I applied the fixes one by one, and everything was working beautifully
that I tasted victory, but the above error killed it :(

.... many removed to save space ........
gmake all-recursive
gmake[2]: Entering directory `/usr/home/olivares/Downloads/wvstreams-4.6.1/argp'
Making all in .
gmake[3]: Entering directory `/usr/home/olivares/Downloads/wvstreams-4.6.1/argp'
if gcc -DHAVE_CONFIG_H -I. -I. -I. -I. -g -O2 -ggdb3 -Wall -W
-Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes
-Waggregate-return -Wpointer-arith -Wbad-function-cast
-Wnested-externs -MT argp-test.o -MD -MP -MF ".deps/argp-test.Tpo" -c
-o argp-test.o argp-test.c; \
then mv -f ".deps/argp-test.Tpo" ".deps/argp-test.Po"; else rm -f
".deps/argp-test.Tpo"; exit 1; fi
argp-test.c: In function 'sub_parse_opt':
argp-test.c:97: warning: unused parameter 'state'
argp-test.c: In function 'sub_help_filter':
argp-test.c:119: warning: unused parameter 'input'
gcc -g -O2 -ggdb3 -Wall -W -Wmissing-prototypes
-Wmissing-declarations -Wstrict-prototypes -Waggregate-return
-Wpointer-arith -Wbad-function-cast -Wnested-externs -o argp-test
argp-test.o libargp.a
gmake[3]: Leaving directory `/usr/home/olivares/Downloads/wvstreams-4.6.1/argp'
Making all in testsuite
gmake[3]: Entering directory
`/usr/home/olivares/Downloads/wvstreams-4.6.1/argp/testsuite'
if gcc -DHAVE_CONFIG_H -I. -I. -I.. -I. -g -O2 -ggdb3 -Wall -W
-Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes
-Waggregate-return -Wpointer-arith -Wbad-function-cast
-Wnested-externs -MT ex1.o -MD -MP -MF ".deps/ex1.Tpo" -c -o ex1.o
ex1.c; \
then mv -f ".deps/ex1.Tpo" ".deps/ex1.Po"; else rm -f
".deps/ex1.Tpo"; exit 1; fi
gcc -g -O2 -ggdb3 -Wall -W -Wmissing-prototypes
-Wmissing-declarations -Wstrict-prototypes -Waggregate-return
-Wpointer-arith -Wbad-function-cast -Wnested-externs -o ex1 ex1.o
../libargp.a
if gcc -DHAVE_CONFIG_H -I. -I. -I.. -I. -g -O2 -ggdb3 -Wall -W
-Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes
-Waggregate-return -Wpointer-arith -Wbad-function-cast
-Wnested-externs -MT ex3.o -MD -MP -MF ".deps/ex3.Tpo" -c -o ex3.o
ex3.c; \
then mv -f ".deps/ex3.Tpo" ".deps/ex3.Po"; else rm -f
".deps/ex3.Tpo"; exit 1; fi
gcc -g -O2 -ggdb3 -Wall -W -Wmissing-prototypes
-Wmissing-declarations -Wstrict-prototypes -Waggregate-return
-Wpointer-arith -Wbad-function-cast -Wnested-externs -o ex3 ex3.o
../libargp.a
if gcc -DHAVE_CONFIG_H -I. -I. -I.. -I. -g -O2 -ggdb3 -Wall -W
-Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes
-Waggregate-return -Wpointer-arith -Wbad-function-cast
-Wnested-externs -MT ex4.o -MD -MP -MF ".deps/ex4.Tpo" -c -o ex4.o
ex4.c; \
then mv -f ".deps/ex4.Tpo" ".deps/ex4.Po"; else rm -f
".deps/ex4.Tpo"; exit 1; fi
gcc -g -O2 -ggdb3 -Wall -W -Wmissing-prototypes
-Wmissing-declarations -Wstrict-prototypes -Waggregate-return
-Wpointer-arith -Wbad-function-cast -Wnested-externs -o ex4 ex4.o
../libargp.a
gmake[3]: Leaving directory
`/usr/home/olivares/Downloads/wvstreams-4.6.1/argp/testsuite'
gmake[2]: Leaving directory `/usr/home/olivares/Downloads/wvstreams-4.6.1/argp'
gmake[1]: Leaving directory `/usr/home/olivares/Downloads/wvstreams-4.6.1/argp'
./CXX -c utils/wvbuffer
./CXX -c utils/wvbufferstore
./CXX -c utils/wvcont
./CXX -c utils/wverror
./CXX -c streams/wvfdstream
./CXX -c utils/wvfork
./CXX -c utils/wvhash
./CXX -c utils/wvhashtable
./CXX -c utils/wvlinklist
./CXX -c utils/wvmoniker
./CXX -c utils/wvregex
./CXX -c utils/wvscatterhash
./CXX -c utils/wvsorter
./CXX -c utils/wvattrs
./CXX -c utils/wvstring
./CXX -c utils/wvstringlist
./CXX -c utils/wvstringmask
./CXX -c utils/strutils
./CXX -c utils/wvtask
./CXX -c utils/wvtimeutils
./CXX -c streams/wvistreamlist
./CXX -c utils/wvstreamsdebugger
./CXX -c streams/wvlog
./CXX -c streams/wvstream
./CXX -c uniconf/uniconf
./CXX -c uniconf/uniconfgen
./CXX -c uniconf/uniconfkey
./CXX -c uniconf/uniconfroot
./CXX -c uniconf/unihashtree
./CXX -c uniconf/unimountgen
./CXX -c uniconf/unitempgen
./CXX -c utils/wvbackslash
./CXX -c utils/wvencoder
./CXX -c utils/wvtclstring
./CXX -c utils/wvstringcache
./CXX -c uniconf/uniinigen
./CXX -c uniconf/unilistiter
./CXX -c streams/wvfile
./CXX -c streams/wvstreamclone
./CXX -c streams/wvconstream
./CXX -c utils/wvcrashbase
./CXX -c xplc-cxx/factory
./CXX -c xplc-cxx/getiface
./CXX -c xplc-cxx/strtouuid
./CXX -c xplc-cxx/uuidtostr
./CXX -c xplc-cxx/xplc
./CXX -c xplc/category
./CXX -c xplc/catiter
./CXX -c xplc/catmgr
./CXX -c xplc/loader
./CXX -c xplc/moduleloader
./CXX -c xplc/modulemgr
In file included from xplc/modulemgr.cc:57:
/usr/include/sys/syslimits.h:41:2: warning: #warning "No
user-serviceable parts inside."
./CXX -c xplc/monikers
./CXX -c xplc/new
./CXX -c xplc/servmgr
./CXX -c xplc/statichandler
./CXX -c uniconf/unigenhack
linking libwvbase.so...
./CXX -c utils/strcrypt
utils/strcrypt.cc:3:21: warning: crypt.h: No such file or directory
./CXX -c utils/verstring
./CXX -c utils/wvargs -Iargp
./CXX -c utils/wvassert
./CXX -c utils/wvbase64
./CXX -c utils/wvcrash
./CXX -c utils/wvdiriter
./CXX -c utils/wvglob
./CXX -c utils/wvglobdiriter
./CXX -c utils/wvgzip
./CXX -c utils/wvhex
./CXX -c utils/wvmagiccircle
./CXX -c utils/wvmatrix
./CXX -c utils/wvpam
./CXX -c utils/wvrateadjust
./CXX -c utils/wvserialize
./CXX -c utils/wvshmzone
./CXX -c utils/wvstringtable
./CXX -c utils/wvsubproc
./CXX -c utils/wvsubprocqueue
./CXX -c utils/wvsystem
./CXX -c utils/wvtest
./CXX -c utils/wvtr1
./CXX -c utils/wvuid
./CXX -c utils/wvwordwrap
linking libwvutils.so...
/usr/bin/ld: argp/libargp.a(argp-help.o): relocation R_X86_64_32 can
not be used when making a shared object; recompile with -fPIC
argp/libargp.a: could not read symbols: Bad value
gmake: *** [libwvutils.so] Error 1
[olivares@ ~/Downloads/wvstreams-4.6.1]$

Now Avery, Laura any suggestions? I am successfull with Linux, but
want to add FreeBSD to the mix :),

If you are interested you can see wvdial/wvstreams modules/packages on
Slax Site:
I am self appointed wvstreams/wvdial maintainer there :)

wvstreams module for slax
http://www.slax.org/modules.php?action=detail&id=624

wvdial module for slax, depends on wvstreams module above
http://www.slax.org/modules.php?action=detail&id=368

More modules for modems & stuff for Slax Linux Live CD

http://www.slax.org/modules.php?author=151

Also,
I have a small page with slaxbuilds on how to generate slax modules
for some winmodems(except conexant, but I can try to make one and see
if I get anywhere if suggestions are there)

http://modemhelplinux.741.com/

At one point, I wanted to get some of the winmodems to work on
FreeBSD, but there are many things to overcome, kernel dependent
modules

I know there was an ltmodem port, but I could not get it to work.

Regards,

Antonio

Reply all
Reply to author
Forward
0 new messages