Having trobule when trying the build under Code blocks. Getting errors ' invalid conversion from ‘const char’ to ‘char’ [-fpermissive]|' and I can't figure out what is going on. I've attached a txt file showing the build log if that will help. Build is under Ubuntu 16.04. Any help appreciated.
Sorry to hear of your struggles. Keeping up with evolving c++ options and compilers across myriad versions of Linux is tough. Before we dig into Codeblocks options, will you please try using the "Makefile" build method as described in this text from our main web site:
New as of late April 2019: We now provide two distinct versions of a conventional "Makefile" for those that do not want to use "Codeblocks". If you are comfortable with "Makefile" conventions, you can use either of those two Makefile tools according to well-established Linux norms. They are:
1 of 2: Within our standard download archive, you will find a short, simple "Makefile". This is a minimalist version that is very easy to understand. We recommend you try that one first, if you don't want to use "Codeblocks". Use the well-known "make", "make clean", and "make install" commands according to established LINUX norms. For this version, none of the steps require "root" privileges. However, we have seen a few versions of LINUX on which this short, simple version of our Makefile cannot properly resolve some obscure references.
2 of 2: CLICK HERE for our more sophisticated, experimental, new "Makefile", bundled up in a downloadable archive containing all of the source code and required resources. This version includes a "./configure" script that tries to locate all of the prerequisite compilers, linkers, software libraries, and development header files that are needed to compile LAC. If any of those components is missing, it displays an appropriate message referencing it by name and urging you to install it. After that you can use "make", "make clean", and "make install" according to established norms. For this version, you will need "root" privileges when you run "make install". Use this version if the first version doesn't work for you. This version has generally worked well for us even on LINUX systems that couldn't properly resolve some obscure references with our short, simple Makefile described in "1 of 2" above.
Here is a YouTube PlayList with video clips showing how I did this recently on MX Linux:
The process on Ubuntu is pretty much the same as illustrated above. If this works as I expect, LAC will work on your system and you won't ever need Codeblocks.
I hope this helps.
; )
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Well, this didn't work but thanks anyway for the idea. Got the same
error messages with the make attempt as I got with Codeblocks. Guess
I'll try your next suggestion.
Within that "NetworkApi.h" file, for the lines that are flagged as "invalid conversion from ‘const char*’ to ‘char’ [-fpermissive]", try deleting the curly braces around the quoted strings.
I hope that works. Please let me know.
-Bob-
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thanks, Bob. That seemed to work - at least, I was able to use
Codeblock to build the file with no errors. A bunch of warnings but no
errors. I'll continue with the install and see how far I get.
Great news, Doug. I will make that source-code style change in subsequent versions, hoping to be compatible with even more c++ compilers. I'm glad you got it to compile.
The "install.sh" script should automate installation, and it will also create a new little script named "lac" in your home folder. After that, from your home folder, you should be able to launch it by just typing "./lac".
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Launched fine but consistently crashes about 5 seconds into the test
flight. Doesn't seem to recognize my joystick (Microsoft Sidewinder)
either nor any keyboard controls. Keyboard is recognized by Ubuntu so
it isn't an interface issue.
What mission is it that starts, runs for 5 seconds, and then "crashes"? If it's one of the three online, server-based, multiplayer missions, then there are various things that can cause that. Among them:
1- If your Internet connection cannot reach the LAC server at LinuxAirCombat.com, then LAC simply aborts within about 5 seconds.
2- Those missions attempt to launch "Mumble". If Mumble starts but cannot successfully connect with our Mumble server (also at LinuxAirCombat.com), then Mumble may "own" and retain control of your keyboard. (LAC is well-behaved if Mumble is not installed on your system; it just proceeds without it and without ill effect.)
3- If Mumble has not been configured yet, it will pop up some menus and demand that you configure some details. If those pop-ups are hidden beneath LAC or some other activity, you may not see them. During all of this time, Mumble will grab control of your keyboard and LAC may not respond to any keyboard activity.
4- In MissionNetworkBattle02 and MissionNetworkBattle03, the LAC Server constantly runs "Replay Missions", playing prerecorded activity of prior players. Live players can join in this action, so it is commonplace to have a mixture of "Replay bots" and live, sentient players. This is done in order to ensure there is something interesting going on all the time, even if you are the only live human player. Unfortunately, the Replay Player logic of my server seems to have a bug that can cause a player's LAC software to "crash" about 5 seconds into one of those two missions from time to time. I think it is related to conflicts over one of the ten available player "slots" within the mission. If you are having problems like this, please try MissionNetworkBattle01 instead, and let me know if it works better. (These little startup conflicts with Replay activity in MissionNetworkBattle02 and MissionNetworkBattle03 seem to last for only a minute or so between long periods of better behavior.... you could try those missions again later and expect better results.)
Please let me know what happens when you attempt to fly the "TUTORIAL 4: FREE FLIGHT" mission. That one does NOT demand an Internet connection and does NOT attempt to launch Mumble. Does it fail after about 5 seconds? Do you see the cockpit, sky, and terrain for 5 seconds? Or does the failure occur in the prior menu (before showing your cockpit and world)?
Thanks for helping me better understand your struggles.
-Bob-
Last edit: bbosen 2020-04-16
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I've been trying to run Tutorial #4 and I'm making a little progress,
but not great. What is happening is the plane is crashing. While my
Sidewinder controller will now do some things, it isn't mapped
correctly. For example, I try to pull up and the plane rolls hard
right. If I push forward, it rolls hard left. I can't figure out how
to make it climb since I can't stay out of the weeds long enough. Things
like that. I do see the cockpit, sky and terrain, though.
As far as my Sidewinder, I have that plugged into a USB 3.0 port and
have a package named joystick installed. jstest-gtk is the part that I
use to make sure Ubuntu (16.04) is properly responding to the controls.
It accurately shows climb, dive, rolling, etc. so that part seems to be
fine.
I have never been able to get LINUX to recognize my ancient, cherished, old Microsoft Sidewinder joysticks.They never had a USB connection. I've tried a lot of tricks and even purchased special-purpose adapters allegedly sold for the purpose, but never had success. How did you do it?
-Bob-
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Doug, the most powerful and flexible way to map your joystick controls involves editing the ~home/.LAC/LacControls.txt file. It has lots of internal comments. It sounds like your aileron axis may be double-mapped and overlapping your elevator axis or something. I think there is a "HowTo" video clip about mapping those axes.... Let me try to find it and publish a link in this thread.
-Bob-
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
No.... wait. The best way to map joystick axes is from LAC's "SETUP OPTIONS -> GAME" menu. Let me try to find the YouTube "HowTo" clip on that.... I'll publish THAT link here as soon as I can find it.
-Bob-
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I hope that helps. If your joystick has more than four axes, you may need to disable the "JOYSTICK VIEW X" and "JOYSTICK VIEW Y" mappings by clicking on them until LAC displays "N/A" in those spots.
-Bob-
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Great news Doug! It is now my pleasure to induct you into the fellowship of fully equipped, fully compatible LAC pilots! Don't forget to download "Mumble". It will be fun to chat with you as you shoot me down....
; )
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Having trobule when trying the build under Code blocks. Getting errors ' invalid conversion from ‘const char’ to ‘char’ [-fpermissive]|' and I can't figure out what is going on. I've attached a txt file showing the build log if that will help. Build is under Ubuntu 16.04. Any help appreciated.
Doug:
Sorry to hear of your struggles. Keeping up with evolving c++ options and compilers across myriad versions of Linux is tough. Before we dig into Codeblocks options, will you please try using the "Makefile" build method as described in this text from our main web site:
New as of late April 2019: We now provide two distinct versions of a conventional "Makefile" for those that do not want to use "Codeblocks". If you are comfortable with "Makefile" conventions, you can use either of those two Makefile tools according to well-established Linux norms. They are:
1 of 2: Within our standard download archive, you will find a short, simple "Makefile". This is a minimalist version that is very easy to understand. We recommend you try that one first, if you don't want to use "Codeblocks". Use the well-known "make", "make clean", and "make install" commands according to established LINUX norms. For this version, none of the steps require "root" privileges. However, we have seen a few versions of LINUX on which this short, simple version of our Makefile cannot properly resolve some obscure references.
2 of 2: CLICK HERE for our more sophisticated, experimental, new "Makefile", bundled up in a downloadable archive containing all of the source code and required resources. This version includes a "./configure" script that tries to locate all of the prerequisite compilers, linkers, software libraries, and development header files that are needed to compile LAC. If any of those components is missing, it displays an appropriate message referencing it by name and urging you to install it. After that you can use "make", "make clean", and "make install" according to established norms. For this version, you will need "root" privileges when you run "make install". Use this version if the first version doesn't work for you. This version has generally worked well for us even on LINUX systems that couldn't properly resolve some obscure references with our short, simple Makefile described in "1 of 2" above.
Here is a YouTube PlayList with video clips showing how I did this recently on MX Linux:
https://www.youtube.com/watch?v=nygTDncht3k&list=PL1IYes9MY6lLuaSdUW_BRSUob0bjD6c14
The process on Ubuntu is pretty much the same as illustrated above. If this works as I expect, LAC will work on your system and you won't ever need Codeblocks.
I hope this helps.
; )
Well, this didn't work but thanks anyway for the idea. Got the same
error messages with the make attempt as I got with Codeblocks. Guess
I'll try your next suggestion.
Doug
Last edit: bbosen 2020-04-16
Doug:
Within that "NetworkApi.h" file, for the lines that are flagged as "invalid conversion from ‘const char*’ to ‘char’ [-fpermissive]", try deleting the curly braces around the quoted strings.
I hope that works. Please let me know.
-Bob-
Thanks, Bob. That seemed to work - at least, I was able to use
Codeblock to build the file with no errors. A bunch of warnings but no
errors. I'll continue with the install and see how far I get.
Doug
Last edit: bbosen 2020-04-16
Great news, Doug. I will make that source-code style change in subsequent versions, hoping to be compatible with even more c++ compilers. I'm glad you got it to compile.
The "install.sh" script should automate installation, and it will also create a new little script named "lac" in your home folder. After that, from your home folder, you should be able to launch it by just typing "./lac".
Launched fine but consistently crashes about 5 seconds into the test
flight. Doesn't seem to recognize my joystick (Microsoft Sidewinder)
either nor any keyboard controls. Keyboard is recognized by Ubuntu so
it isn't an interface issue.
Last edit: bbosen 2020-04-16
Doug:
Let's not give up yet.
What mission is it that starts, runs for 5 seconds, and then "crashes"? If it's one of the three online, server-based, multiplayer missions, then there are various things that can cause that. Among them:
1- If your Internet connection cannot reach the LAC server at LinuxAirCombat.com, then LAC simply aborts within about 5 seconds.
2- Those missions attempt to launch "Mumble". If Mumble starts but cannot successfully connect with our Mumble server (also at LinuxAirCombat.com), then Mumble may "own" and retain control of your keyboard. (LAC is well-behaved if Mumble is not installed on your system; it just proceeds without it and without ill effect.)
3- If Mumble has not been configured yet, it will pop up some menus and demand that you configure some details. If those pop-ups are hidden beneath LAC or some other activity, you may not see them. During all of this time, Mumble will grab control of your keyboard and LAC may not respond to any keyboard activity.
4- In MissionNetworkBattle02 and MissionNetworkBattle03, the LAC Server constantly runs "Replay Missions", playing prerecorded activity of prior players. Live players can join in this action, so it is commonplace to have a mixture of "Replay bots" and live, sentient players. This is done in order to ensure there is something interesting going on all the time, even if you are the only live human player. Unfortunately, the Replay Player logic of my server seems to have a bug that can cause a player's LAC software to "crash" about 5 seconds into one of those two missions from time to time. I think it is related to conflicts over one of the ten available player "slots" within the mission. If you are having problems like this, please try MissionNetworkBattle01 instead, and let me know if it works better. (These little startup conflicts with Replay activity in MissionNetworkBattle02 and MissionNetworkBattle03 seem to last for only a minute or so between long periods of better behavior.... you could try those missions again later and expect better results.)
Please let me know what happens when you attempt to fly the "TUTORIAL 4: FREE FLIGHT" mission. That one does NOT demand an Internet connection and does NOT attempt to launch Mumble. Does it fail after about 5 seconds? Do you see the cockpit, sky, and terrain for 5 seconds? Or does the failure occur in the prior menu (before showing your cockpit and world)?
Thanks for helping me better understand your struggles.
-Bob-
Last edit: bbosen 2020-04-16
I've been trying to run Tutorial #4 and I'm making a little progress,
but not great. What is happening is the plane is crashing. While my
Sidewinder controller will now do some things, it isn't mapped
correctly. For example, I try to pull up and the plane rolls hard
right. If I push forward, it rolls hard left. I can't figure out how
to make it climb since I can't stay out of the weeds long enough. Things
like that. I do see the cockpit, sky and terrain, though.
As far as my Sidewinder, I have that plugged into a USB 3.0 port and
have a package named joystick installed. jstest-gtk is the part that I
use to make sure Ubuntu (16.04) is properly responding to the controls.
It accurately shows climb, dive, rolling, etc. so that part seems to be
fine.
Doug
Last edit: bbosen 2020-04-17
Doug,
I have never been able to get LINUX to recognize my ancient, cherished, old Microsoft Sidewinder joysticks.They never had a USB connection. I've tried a lot of tricks and even purchased special-purpose adapters allegedly sold for the purpose, but never had success. How did you do it?
-Bob-
Doug, the most powerful and flexible way to map your joystick controls involves editing the ~home/.LAC/LacControls.txt file. It has lots of internal comments. It sounds like your aileron axis may be double-mapped and overlapping your elevator axis or something. I think there is a "HowTo" video clip about mapping those axes.... Let me try to find it and publish a link in this thread.
-Bob-
No.... wait. The best way to map joystick axes is from LAC's "SETUP OPTIONS -> GAME" menu. Let me try to find the YouTube "HowTo" clip on that.... I'll publish THAT link here as soon as I can find it.
-Bob-
Here's the link to my YouTube "HowTo" clip about mapping joystick axes:
https://www.youtube.com/watch?v=yxGHbTBnowk&list=PL1IYes9MY6lL95GbWC60qKKEbhqB4oyKL&index=11&t=0s
I hope that helps. If your joystick has more than four axes, you may need to disable the "JOYSTICK VIEW X" and "JOYSTICK VIEW Y" mappings by clicking on them until LAC displays "N/A" in those spots.
-Bob-
Bob:
That worked fine. Now I'll just have to take a little time to finish
mapping the rest of the controls on my joystick and I'm good to go. Thanks.
Doug
Last edit: bbosen 2020-04-19
Great news Doug! It is now my pleasure to induct you into the fellowship of fully equipped, fully compatible LAC pilots! Don't forget to download "Mumble". It will be fun to chat with you as you shoot me down....
; )