Re: Recompile for Linux.

Rob Giuliano

CrossOver is just an "add-on" to WINE, so it should be very similar.  I have not used it, but am quite familiar with WINE.  The concepts will be the same, but as Greg points out, CrossOver uses bottles for each app. From the information I found, you will have a specific bottle directory in place of ".wine" for each app.So if you created a bottle called aprsis32, it would be ~/aprsis32, where '~' is a shortcut to your "home user folder".
The gotchas are still true.In Linux, all devices attached to your computer are files in the folder /devFor COM ports that are physical hardware, Linux uses the standard or /dev/ttyS# (starting at zero)  So you motherboard COM port should be /dev/ttyS0 (case sensitive!!)  In your Crossover setup, you will need a symbolic link to /dev/ttyS0 to com1.     Since this is on the motherboard, it is VERY likely that Crossover will handle this for you.     To check, use the file manager to look in ~/.aprsis32/dosdevices or the equivalent in the Crossover bottle     if not, open that folder and create the shortcut       ln -s /dev/ttyS0 ~/.aprsis32/dosdevice/com1 
One additional GOTCHA>> Linux permissions requires that your user be added to the group that 'owns' these devices.  This group is 'dialout'.
For your USB GPS puck, that will depend on how the GPS reports itself to the Linux OS.  Greg's advice of using 'dmesg' will provide the information, or you can plug in the device and at the prompt type lsusb.
Robert Giuliano KB8RCO

From: "Greg D [aprsisce]" <>
Sent: Wednesday, December 12, 2018 11:54 PM
Subject: Re: [aprsisce] Recompile for Linux.

  Hi Larry,

I've used Crossover, but it was quite a while ago and I don't recall exactly how it handles the Registry.  Crossover has the concept of a "bottle", which is kind of a customized Wine environment that's set up on a per-application basis (or is it per application group?), so I suspect that they have a separate set of registry files for each.  The bottles are just subdirectories, if I recall, so a bit of looking around with the file management app of your choice should locate it.  It wouldn't surprise me if the Crossover management app has a way to edit them, too.

For locating the GPS puck, the easiest way is just to plug it in, then check where it landed with the 'dmesg' command.  Should be right at the end. 

Good luck!

Greg  KO6TH

Larry Ellsworth - K6KUS [aprsisce] wrote:

  I'm using Crossover. Is this info the same for it or just for wine? the port thing. My TNC will always be com1 as ihat is the port on the mudderboard. the question will be the usb gps puck. it should be com 2 or 3 but I have not plugged it in yet to check. How will I be able to figure out what port it's on?
Larry Ellsworth       K6KUS

On ‎Wednesday‎, ‎December‎ ‎12‎, ‎2018‎ ‎07‎:‎34‎:‎58‎ ‎PM‎ ‎MST, Rob Giuliano [aprsisce] <> wrote:

  FYI - as Windows gets more particular with where executable files go, WINE just might follow.   I still recommend creating a dedicated folder in what WINE calls the C:&#92; drive ('.wine/drive_c').   I like using 'c:&#92;WinApps' with subfolders for app categories like 'radio', 'communication','utils', etc. , or some other folder structure that avoids C:&#92;Program Files as the base.

A few other "gotchas" to keep in mind: 1. Windows is CaSe INsensitive, but linus is very CASE SENSITIVE! 2.  Spaces are not advised, but can be handled if the path is in quotes. 
          You could try escaping them with '%20' (no quotes) which is the space character in hex.
     Another reason to use the folder structure above.
3. Your WINE configuration and Windows applications are typically under a user's folder, so only that user will have access..     /home/{username}/.wine - registry files are here         key subfolders are drive_c (which becomes C:) and dosdevices - where the links to the TNC
    I can provide some work arounds for those who feel the need
4. USB devices can change on bootup or for other reasons.     ln -s /dev/ttyUSB0 ~/.wine/dodevices/com4 will create the desired link to your TNC if it is on ttyUSB0, but         although /dev/ttyUSB0 may be you TNC today, but an arduino or something else tomorrow
       (depending on what type of USB devices you have connected).
    I have also found that if the device hangs, the attempt to reconnect may cause it to jump to /dev/ttyUSB1

    You may consider udev rules to link your TNC to the proper device.    This can get a bit involved, but a web search will help, or again, I can provide additional infomration     I have not used Crossover, so that may be a bit different.
Robert Giuliano KB8RCO

From: "Larry Ellsworth - K6KUS [aprsisce]" <>
To: "" <>
Sent: Wednesday, December 12, 2018 6:37 PM
Subject: Re: [aprsisce] Recompile for Linux.

  well... I managed to get it to fire up in Crossover. Just have to get the ports up and running for the tnc and gps. aka the fun part.. but I'm alot farther then I thought i would be. Thank you all for the help and suggestions. I hope you all have a merry xmas and a happy new year.

Larry Ellsworth       K6KUS

On Wednesday, December 12, 2018, 4:32:07 PM MST, Stiv Ostenberg [aprsisce] <> wrote:

  Hi all; The recompile for Linux thing started me thinking (not entirely about the port).  The first question that arose was “What development environment is being used?”.  I personally use Visual Studio primarily, though I have used NetBeans and Eclipse.  I sent to the APRSISCE site to see if I could find out and saw the title of the page “The future of Amateur Radio APRS”.  I was not able to find the information on the code. I am in Korea, and am just a rookie ham who got a license and is starting to get involved in ARES.  A lot to learn, and APRS is high on my list when I get back to the US.  My question is this:
APRSISCE looks great.  It Is a cool tool that is evolving. I have no problem with not having access to the source code, except that I have seen many cool programs that went stagnant when key people went through life changes and lost interest. To really be “The Future” some mechanism would have to exist to make the software open source (which risks the project fragmenting and forking until it died from confusion) or the project had a mechanism to ensure its continuity.  I don’t consider myself a great developer, but I like to mess with source code and have done some pretty cool things (IMHO).  I need to learn how to use the software, then I may want to try helping out if anything pops out I think needs improvement.    What is the plan for the future of APRSISCE along those lines?   P.S> To the person who was so down on Windows I say this:  I came from a Mac background and moved to Unix.  I learned Windows supporting virtualization and eventually ended up at Microsoft for a decade, then back to Linux and the cloud.  I understand the joys of bashing one environment over another, but in the end an environment exists for a reason.  You choose the environment that facilitates accomplishing what you need to do....  For all it’s flaws, Windows is at the core a set of API’s and an environment that is popular for a reason. Visual Studio is my favorite IDE  which lends itself better to writing code for Windows, though I used it for working across platforms as well.  Microsoft is working towards making .NET cross platform though it will never be as robust as the native Windows code.  People that bash Windoze (or Eunuchs or Hacintosh) seem like shortsighted troglodytes who do not realize that the Internet connects all those platforms, and the diversity simply gives us more options and a more vibrant Internet.  I guess that makes my an Internet Polytheist making fun of the Monotheists.  Sigh. And that makes me no better than you…..

#yiv3196862422 #yiv3196862422 -- #yiv3196862422ygrp-mkp {border:1px solid #d8d8d8;font-family:Arial;margin:10px 0;padding:0 10px;}#yiv3196862422 #yiv3196862422ygrp-mkp hr {border:1px solid #d8d8d8;}#yiv3196862422 #yiv3196862422ygrp-mkp #yiv3196862422hd {color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px 0;}#yiv3196862422 #yiv3196862422ygrp-mkp #yiv3196862422ads {margin-bottom:10px;}#yiv3196862422 #yiv3196862422ygrp-mkp .yiv3196862422ad {padding:0 0;}#yiv3196862422 #yiv3196862422ygrp-mkp .yiv3196862422ad p {margin:0;}#yiv3196862422 #yiv3196862422ygrp-mkp .yiv3196862422ad a {color:#0000ff;text-decoration:none;}#yiv3196862422 #yiv3196862422ygrp-sponsor #yiv3196862422ygrp-lc {font-family:Arial;}#yiv3196862422 #yiv3196862422ygrp-sponsor #yiv3196862422ygrp-lc #yiv3196862422hd {margin:10px 0px;font-weight:700;font-size:78%;line-height:122%;}#yiv3196862422 #yiv3196862422ygrp-sponsor #yiv3196862422ygrp-lc .yiv3196862422ad {margin-bottom:10px;padding:0 0;}#yiv3196862422 #yiv3196862422actions {font-family:Verdana;font-size:11px;padding:10px 0;}#yiv3196862422 #yiv3196862422activity {background-color:#e0ecee;float:left;font-family:Verdana;font-size:10px;padding:10px;}#yiv3196862422 #yiv3196862422activity span {font-weight:700;}#yiv3196862422 #yiv3196862422activity span:first-child {text-transform:uppercase;}#yiv3196862422 #yiv3196862422activity span a {color:#5085b6;text-decoration:none;}#yiv3196862422 #yiv3196862422activity span span {color:#ff7900;}#yiv3196862422 #yiv3196862422activity span .yiv3196862422underline {text-decoration:underline;}#yiv3196862422 .yiv3196862422attach {clear:both;display:table;font-family:Arial;font-size:12px;padding:10px 0;width:400px;}#yiv3196862422 .yiv3196862422attach div a {text-decoration:none;}#yiv3196862422 .yiv3196862422attach img {border:none;padding-right:5px;}#yiv3196862422 .yiv3196862422attach label {display:block;margin-bottom:5px;}#yiv3196862422 .yiv3196862422attach label a {text-decoration:none;}#yiv3196862422 blockquote {margin:0 0 0 4px;}#yiv3196862422 .yiv3196862422bold {font-family:Arial;font-size:13px;font-weight:700;}#yiv3196862422 .yiv3196862422bold a {text-decoration:none;}#yiv3196862422 dd.yiv3196862422last p a {font-family:Verdana;font-weight:700;}#yiv3196862422 dd.yiv3196862422last p span {margin-right:10px;font-family:Verdana;font-weight:700;}#yiv3196862422 dd.yiv3196862422last p span.yiv3196862422yshortcuts {margin-right:0;}#yiv3196862422 div.yiv3196862422attach-table div div a {text-decoration:none;}#yiv3196862422 div.yiv3196862422attach-table {width:400px;}#yiv3196862422 div.yiv3196862422file-title a, #yiv3196862422 div.yiv3196862422file-title a:active, #yiv3196862422 div.yiv3196862422file-title a:hover, #yiv3196862422 div.yiv3196862422file-title a:visited {text-decoration:none;}#yiv3196862422 div.yiv3196862422photo-title a, #yiv3196862422 div.yiv3196862422photo-title a:active, #yiv3196862422 div.yiv3196862422photo-title a:hover, #yiv3196862422 div.yiv3196862422photo-title a:visited {text-decoration:none;}#yiv3196862422 div#yiv3196862422ygrp-mlmsg #yiv3196862422ygrp-msg p a span.yiv3196862422yshortcuts {font-family:Verdana;font-size:10px;font-weight:normal;}#yiv3196862422 .yiv3196862422green {color:#628c2a;}#yiv3196862422 .yiv3196862422MsoNormal {margin:0 0 0 0;}#yiv3196862422 o {font-size:0;}#yiv3196862422 #yiv3196862422photos div {float:left;width:72px;}#yiv3196862422 #yiv3196862422photos div div {border:1px solid #666666;min-height:62px;overflow:hidden;width:62px;}#yiv3196862422 #yiv3196862422photos div label {color:#666666;font-size:10px;overflow:hidden;text-align:center;white-space:nowrap;width:64px;}#yiv3196862422 #yiv3196862422reco-category {font-size:77%;}#yiv3196862422 #yiv3196862422reco-desc {font-size:77%;}#yiv3196862422 .yiv3196862422replbq {margin:4px;}#yiv3196862422 #yiv3196862422ygrp-actbar div a:first-child {margin-right:2px;padding-right:5px;}#yiv3196862422 #yiv3196862422ygrp-mlmsg {font-size:13px;font-family:Arial, helvetica, clean, sans-serif;}#yiv3196862422 #yiv3196862422ygrp-mlmsg table {font-size:inherit;font:100%;}#yiv3196862422 #yiv3196862422ygrp-mlmsg select, #yiv3196862422 input, #yiv3196862422 textarea {font:99% Arial, Helvetica, clean, sans-serif;}#yiv3196862422 #yiv3196862422ygrp-mlmsg pre, #yiv3196862422 code {font:115% monospace;}#yiv3196862422 #yiv3196862422ygrp-mlmsg * {line-height:1.22em;}#yiv3196862422 #yiv3196862422ygrp-mlmsg #yiv3196862422logo {padding-bottom:10px;}#yiv3196862422 #yiv3196862422ygrp-msg p a {font-family:Verdana;}#yiv3196862422 #yiv3196862422ygrp-msg p#yiv3196862422attach-count span {color:#1E66AE;font-weight:700;}#yiv3196862422 #yiv3196862422ygrp-reco #yiv3196862422reco-head {color:#ff7900;font-weight:700;}#yiv3196862422 #yiv3196862422ygrp-reco {margin-bottom:20px;padding:0px;}#yiv3196862422 #yiv3196862422ygrp-sponsor #yiv3196862422ov li a {font-size:130%;text-decoration:none;}#yiv3196862422 #yiv3196862422ygrp-sponsor #yiv3196862422ov li {font-size:77%;list-style-type:square;padding:6px 0;}#yiv3196862422 #yiv3196862422ygrp-sponsor #yiv3196862422ov ul {margin:0;padding:0 0 0 8px;}#yiv3196862422 #yiv3196862422ygrp-text {font-family:Georgia;}#yiv3196862422 #yiv3196862422ygrp-text p {margin:0 0 1em 0;}#yiv3196862422 #yiv3196862422ygrp-text tt {font-size:120%;}#yiv3196862422 #yiv3196862422ygrp-vital ul li:last-child {border-right:none !important;}#yiv3196862422

Join to automatically receive all group messages.