Compiling in portaudio and crypto++ under Linux

Trying to build your own version of Vega Strike and having problems? Unix users, paste your config.log here (stderr output alone is not helpful).
Post Reply
majestic
Just a tourist with a frag'd nav console
Just a tourist with a frag'd nav console
Posts: 3
Joined: Fri Feb 01, 2008 6:37 pm

Compiling in portaudio and crypto++ under Linux

Post by majestic »

First, hi, my name's Jakob and i'm new here.
But I already played Vegastrike a few years ago.

Now to the topic. Is it possible to compile with portaudio and crypto++ on recent Linux distributions? Would it have any pros/cons?

First to crypto++:
Version 5.5.2 is the latest. But it seems like it isn't supported.
Older versions than 5.4 don't compile with gcc >3.4 (out of the box). And Vegastrike doesn't compile with these. Is encryption actually used atm?
Found this in the config file:

Code: Select all

<var name="encryption_method" value="rsa"/>
<var name="encryption_keylength" value="128"/>
<var name="encryption_seed" value="Blah blah blah"/>
And the output when compiling:

Code: Select all

src/networking/netserver_login.cpp: In member function 'void NetServer::sendLoginAccept(ClientPtr, Cockpit*)':
src/networking/netserver_login.cpp:152: error: 'digest' was not declared in this scope
src/networking/netserver_login.cpp:154: error: 'digest' was not declared in this scope
src/networking/netserver_login.cpp:156: error: 'digest' was not declared in this scope
src/networking/netserver_login.cpp:157: error: type '<type error>' argument given to 'delete', expected pointer
make[1]: *** [src/networking/netserver_login.o] Error 1
Portaudio:
Does network communication (voip) work? That would be a hot feature. In the config file it is turned off.
But sadly I can't build with netcomm=portaudio enabled.
I tried differnt versions, but none worked.
Here is the output:

Code: Select all

./src/networking/networkcomm.h:70: error: 'PaDeviceID' does not name a type
./src/networking/networkcomm.h:71: error: 'PaDeviceID' does not name a type
./src/networking/networkcomm.h:73: error: ISO C++ forbids declaration of 'PortAudioStream' with no type
./src/networking/networkcomm.h:73: error: expected ';' before '*' token
./src/networking/networkcomm.h:74: error: ISO C++ forbids declaration of 'PortAudioStream' with no type
./src/networking/networkcomm.h:74: error: expected ';' before '*' token
./src/networking/networkcomm.h:81: error: 'PaTimestamp' has not been declared
./src/networking/networkcomm.h:82: error: 'PaTimestamp' has not been declared
make[1]: *** [src/networking/netclient_devices.o] Error 1
PS: I tried on 3 different distributions: Gentoo, Debian, Fedora. All updated - no sucess. All using gcc 4+[/code]

Thanks for your patience and for reading!
loki1950
The Shepherd
Posts: 5841
Joined: Fri May 13, 2005 8:37 pm
Location: Ottawa
Contact:

Post by loki1950 »

Welcome majestic they are used for the muti-player support specificity accountsever and vegssever how open do you want it :wink: i have had no problem building all the binaries on fedora 7 (gcc 4.1) i am not sure if portaudio is used ATM but one of the dev may enlighten us.

Enjoy the Choice :)
my box::HP Envy i5-6400 @2Q70GHzx4 8 Gb ram/1 Tb(Win10 64)/3 Tb Mint 19.2/GTX745 4Gb acer S243HL K222HQL
Q8200/Asus P5QDLX/8 Gb ram/WD 2Tb 2-500 G HD/GF GT640 2Gb Mint 17.3 64 bit Win 10 32 bit acer and Lenovo ideapad 320-15ARB Win 10/Mint 19.2
majestic
Just a tourist with a frag'd nav console
Just a tourist with a frag'd nav console
Posts: 3
Joined: Fri Feb 01, 2008 6:37 pm

Did you compile it in?

Post by majestic »

Hi Loki
Did you compile them in? You have to specify them at ./configure.
If you don't they are not.
loki1950
The Shepherd
Posts: 5841
Joined: Fri May 13, 2005 8:37 pm
Location: Ottawa
Contact:

Post by loki1950 »

In that case they are more than likely not used ATM but i am not that familiar with the whole source tree :? like i mentioned before ace123 the lead network dev should be by and provide a definitive answer.

Enjoy the Choice :)
my box::HP Envy i5-6400 @2Q70GHzx4 8 Gb ram/1 Tb(Win10 64)/3 Tb Mint 19.2/GTX745 4Gb acer S243HL K222HQL
Q8200/Asus P5QDLX/8 Gb ram/WD 2Tb 2-500 G HD/GF GT640 2Gb Mint 17.3 64 bit Win 10 32 bit acer and Lenovo ideapad 320-15ARB Win 10/Mint 19.2
ace123
Lead Network Developer
Lead Network Developer
Posts: 2560
Joined: Sun Jan 12, 2003 9:13 am
Location: Palo Alto CA
Contact:

Post by ace123 »

Neither crypto++ or portaudio are being used at the moment. Yes there are checks for them in the code, but you're expected not to use them.

I think crypto++ might be used both for packet encryption and also some sort of hash to save downloading a file again... however neither of these features are functional in the code and not really worthwhile at this point.

Anyway try updating to 11792 and see if it at least compiles. Though keep in mind that it may not function properly in multiplayer since the combination of clients with and without crypto++ hasn't been tested.

portaudio is part of the webcam system in multiplayer. The person who wrote the original networking code worked on adding webcams as a side project.
as far as I am concerned, this is much lower priority than getting multi player to work.
majestic
Just a tourist with a frag'd nav console
Just a tourist with a frag'd nav console
Posts: 3
Joined: Fri Feb 01, 2008 6:37 pm

Crypto++ works!

Post by majestic »

Hi ace!
I updated to current svn and it compiles fine with crypto++.
Thanks.

I can't really understand why portaudio/jvoip is used for webcam support. Maybe you know?
Could those be used for voicechat? Or do think there are better alternatives? (eg mumble, jingle...)
loki1950
The Shepherd
Posts: 5841
Joined: Fri May 13, 2005 8:37 pm
Location: Ottawa
Contact:

Post by loki1950 »

As ace said it appears that that function has been abandoned so if you have an interest please feel free to pick it up and clean as you see fit he may have picked that lib because it was maybe the only one ATM :?: the code is old.just my thoughts as i am way out of date with current practice.So i you do have an itch ace more than likely will have some thoughts happy hacking 8)

Enjoy the Choice :)
my box::HP Envy i5-6400 @2Q70GHzx4 8 Gb ram/1 Tb(Win10 64)/3 Tb Mint 19.2/GTX745 4Gb acer S243HL K222HQL
Q8200/Asus P5QDLX/8 Gb ram/WD 2Tb 2-500 G HD/GF GT640 2Gb Mint 17.3 64 bit Win 10 32 bit acer and Lenovo ideapad 320-15ARB Win 10/Mint 19.2
Post Reply