Hard Light Productions Forums

Hosted Projects - Standalone => Diaspora => Diaspora Tech Help => Topic started by: georgeen on August 27, 2017, 01:24:49 am

Title: Ubuntu Installation
Post by: georgeen on August 27, 2017, 01:24:49 am
Hello folks,

I wanted to install diaspora armistice shattered in my Ubuntu 16.04 LTS in a Toshiba satellite A660.

I tried to follow the instructions given on https://linuxgamecast.com/2012/09/l-g-c-how-to-install-diaspora-shattered-armistice-on-ubuntu-12-04/ and applying them on my machine with ubuntu 16.04 LTS with the difference of installing libwxgtk version 3 (not 2.8 as in the article) and in the point 10 about 25% appears this error:

<Diaspora dir>/wxlauncher/code/controls/ModList.cpp:1168:69: error: operands to ?: have different types ‘wxCStrData’ and ‘const wxString’    wxString::Format(_T("<a href='%s'>%s[/url]"), (item->forum != NULL) ?

I'm using the Linux sources published in http://diaspora.hard-light.net/downloads.html applying the corresponding patches (1.1 and 1.1.1), seemed that those files haven't been updated for Linux.

After that I deleted all re-extracted the files (diaspora armistice shattered and patches) and then I uninstalled the libwxgtk3.0 and installed libwxgtk2.8 (dev and dbg). Now when doing the same in the same point many (really many) errors appears, among them these ones:

Scanning dependencies of target wxlauncher
[  3%] Building CXX object CMakeFiles/wxlauncher.dir/code/tabs/AdvSettingsPage.cpp.o
In file included from <Diaspora dir>/wxlauncher/code/tabs/AdvSettingsPage.h:23:0,
                 from <Diaspora dir>/wxlauncher/code/tabs/AdvSettingsPage.cpp:21:
<Diaspora dir>/wxlauncher/code/apis/SkinManager.h:31:2: error: ‘wxIcon’ does not name a type
  wxIcon* windowIcon;
  ^
<Diaspora dir>/wxlauncher/code/apis/SkinManager.h:32:2: error: ‘wxBitmap’ does not name a type
  wxBitmap* welcomeHeader;
  ^
<Diaspora dir>/wxlauncher/code/apis/SkinManager.h:33:2: error: ‘wxBitmap’ does not name a type
  wxBitmap* welcomeIcon;
  ^
<Diaspora dir>/wxlauncher/code/apis/SkinManager.h:34:2: error: ‘wxBitmap’ does not name a type
  wxBitmap* modsIcon;
  ^
<Diaspora dir>/wxlauncher/code/apis/SkinManager.h:35:2: error: ‘wxBitmap’ does not name a type
  wxBitmap* basicIcon;
  ^
<Diaspora dir>/wxlauncher/code/apis/SkinManager.h:36:2: error: ‘wxBitmap’ does not name a type
  wxBitmap* advancedIcon;
  ^
<Diaspora dir>/wxlauncher/code/apis/SkinManager.h:37:2: error: ‘wxBitmap’ does not name a type
  wxBitmap* installIcon;
  ^
<Diaspora dir>/wxlauncher/code/apis/SkinManager.h:38:2: error: ‘wxBitmap’ does not name a type
  wxBitmap* idealIcon;
  ^
<Diaspora dir>/wxlauncher/code/apis/SkinManager.h:39:2: error: ‘wxFont’ does not name a type
  wxFont* baseFont;
  ^
<Diaspora dir>/wxlauncher/code/apis/SkinManager.h:41:2: error: ‘wxBitmap’ does not name a type
  wxBitmap* warningIcon;
  ^
<Diaspora dir>/wxlauncher/code/apis/SkinManager.h:42:2: error: ‘wxBitmap’ does not name a type
  wxBitmap* bigWarningIcon;
  ^
<Diaspora dir>/wxlauncher/code/apis/SkinManager.h:55:2: error: ‘wxIcon’ does not name a type
  wxIcon GetIcon();
  ^
<Diaspora dir>/wxlauncher/code/apis/SkinManager.h:56:2: error: ‘wxBitmap’ does not name a type
  wxBitmap GetBanner();
  ^
<Diaspora dir>/wxlauncher/code/apis/SkinManager.h:57:2: error: ‘wxBitmap’ does not name a type
  wxBitmap GetWelcomeIcon();
  ^
<Diaspora dir>/wxlauncher/code/apis/SkinManager.h:58:2: error: ‘wxBitmap’ does not name a type
  wxBitmap GetModsIcon();
  ^
<Diaspora dir>/wxlauncher/code/apis/SkinManager.h:59:2: error: ‘wxBitmap’ does not name a type
  wxBitmap GetBasicIcon();
  ^
<Diaspora dir>/wxlauncher/code/apis/SkinManager.h:60:2: error: ‘wxBitmap’ does not name a type
  wxBitmap GetAdvancedIcon();
  ^
<Diaspora dir>/wxlauncher/code/apis/SkinManager.h:61:2: error: ‘wxBitmap’ does not name a type
  wxBitmap GetInstallIcon();
  ^
<Diaspora dir>/wxlauncher/code/apis/SkinManager.h:62:2: error: ‘wxBitmap’ does not name a type
  wxBitmap GetIdealIcon();
  ^
<Diaspora dir>/wxlauncher/code/apis/SkinManager.h:63:2: error: ‘wxBitmap’ does not name a type
  wxBitmap GetWarningIcon();
  ^
<Diaspora dir>/wxlauncher/code/apis/SkinManager.h:64:2: error: ‘wxBitmap’ does not name a type
  wxBitmap GetBigWarningIcon();
  ^
<Diaspora dir>/wxlauncher/code/apis/SkinManager.h:65:2: error: ‘wxFont’ does not name a type
  wxFont GetFont();
  ^
<Diaspora dir>/wxlauncher/code/apis/SkinManager.h:66:8: error: ‘wxFont’ does not name a type
  const wxFont* GetFontPointer();
        ^
<Diaspora dir>/wxlauncher/code/apis/SkinManager.h:72:9: error: ‘wxBitmap’ does not name a type
  static wxBitmap* VerifySmallImage(wxString currentTC, wxString shortmodname, w
         ^
<Diaspora dir>/wxlauncher/code/apis/SkinManager.h:73:9: error: ‘wxBitmap’ does not name a type
  static wxBitmap* VerifyWindowIcon(wxString currentTC, wxString shortmodname, w
         ^
<Diaspora dir>/wxlauncher/code/apis/SkinManager.h:74:9: error: ‘wxBitmap’ does not name a type
  static wxBitmap* VerifyTabIcon(wxString currentTC, wxString shortmodname, wxSt
         ^
<Diaspora dir>/wxlauncher/code/apis/SkinManager.h:75:9: error: ‘wxBitmap’ does not name a type
  static wxBitmap* VerifyIdealIcon(wxString currentTC, wxString shortmodname, wx
         ^
<Diaspora dir>/wxlauncher/code/apis/SkinManager.h:76:9: error: ‘wxFont’ does not name a type
  static wxFont* VerifyFontChoice(wxString currentTC, wxString shortmodname,
         ^
<Diaspora dir>/wxlauncher/code/apis/SkinManager.h:79:9: error: ‘wxBitmap’ does not name a type
  static wxBitmap MakeModsListImage(const wxBitmap &orig);
         ^
In file included from /usr/include/wx-2.8/wx/window.h:23:0,
                 from /usr/include/wx-2.8/wx/generic/panelg.h:19,
                 from /usr/include/wx-2.8/wx/panel.h:15,
                 from /usr/include/wx-2.8/wx/vscroll.h:15,
                 from /usr/include/wx-2.8/wx/vlbox.h:15,
                 from <Diaspora dir>/wxlauncher/code/controls/FlagListBox.h:23,
                 from <Diaspora dir>/wxlauncher/code/tabs/AdvSettingsPage.h:24,
                 from <Diaspora dir>/wxlauncher/code/tabs/AdvSettingsPage.cpp:21:
/usr/include/wx-2.8/wx/cursor.h: In constructor ‘wxBusyCursorSuspender::wxBusyCursorSuspender()’:

...  Many more

<Diaspora dir>/wxlauncher/code/tabs/AdvSettingsPage.cpp:66:1: error: ‘wxCommandEventHandler’ was not declared in this scope
 EVT_COMMAND(wxID_NONE, EVT_CMD_LINE_CHANGED, AdvSettingsPage::OnNeedUpdateComma
 ^
<Diaspora dir>/wxlauncher/code/tabs/AdvSettingsPage.cpp:67:67: error: invalid use of non-static member function ‘void AdvSettingsPage::OnNeedUpdateCustomFlags(int&)’
 EVT_COMMAND(wxID_NONE, EVT_CUSTOM_FLAGS_CHANGED, AdvSettingsPage::OnNeedUpdateC
                                                                   ^
<Diaspora dir>/wxlauncher/code/tabs/AdvSettingsPage.cpp:67:1: error: ‘wxCommandEventHandler’ was not declared in this scope
 EVT_COMMAND(wxID_NONE, EVT_CUSTOM_FLAGS_CHANGED, AdvSettingsPage::OnNeedUpdateC
 ^
<Diaspora dir>/wxlauncher/code/tabs/AdvSettingsPage.cpp:68:66: error: invalid use of non-static member function ‘void AdvSettingsPage::OnFlagListBoxReady(int&)’
 EVT_COMMAND(wxID_NONE, EVT_FLAG_LIST_BOX_READY, AdvSettingsPage::OnFlagListBoxR
                                                                  ^
<Diaspora dir>/wxlauncher/code/tabs/AdvSettingsPage.cpp:68:1: error: ‘wxCommandEventHandler’ was not declared in this scope
 EVT_COMMAND(wxID_NONE, EVT_FLAG_LIST_BOX_READY, AdvSettingsPage::OnFlagListBoxR
 ^
<Diaspora dir>/wxlauncher/code/tabs/AdvSettingsPage.cpp:69:49: error: invalid use of non-static member function ‘void AdvSettingsPage::OnCustomFlagsBoxChanged(int&)’
 EVT_TEXT(ID_CUSTOM_FLAGS_TEXT, AdvSettingsPage::OnCustomFlagsBoxChanged)
                                                 ^
<Diaspora dir>/wxlauncher/code/tabs/AdvSettingsPage.cpp:69:72: error: ‘EVT_TEXT’ was not declared in this scope
 EVT_TEXT(ID_CUSTOM_FLAGS_TEXT, AdvSettingsPage::OnCustomFlagsBoxChanged)
                                                                        ^
In file included from /usr/include/wx-2.8/wx/wx.h:25:0,
                 from <Diaspora dir>/wxlauncher/code/tabs/AdvSettingsPage.h:22,
                 from <Diaspora dir>/wxlauncher/code/tabs/AdvSettingsPage.cpp:21:
<Diaspora dir>/wxlauncher/code/tabs/AdvSettingsPage.cpp:70:1: error: expected ‘}’ before ‘wxEventTableEntry’
 EVT_CHOICE(ID_SELECT_FLAG_SET, AdvSettingsPage::OnSelectFlagSet)
 ^
<Diaspora dir>/wxlauncher/code/tabs/AdvSettingsPage.cpp:70:1: error: expected ‘,’ or ‘;’ before ‘wxEventTableEntry’
In file included from /usr/include/wx-2.8/wx/wx.h:25:0,
                 from <Diaspora dir>/wxlauncher/code/tabs/AdvSettingsPage.h:22,
                 from <Diaspora dir>/wxlauncher/code/tabs/AdvSettingsPage.cpp:21:
<Diaspora dir>/wxlauncher/code/tabs/AdvSettingsPage.cpp:71:1: error: expected declaration before ‘}’ token
 END_EVENT_TABLE()

So, what I'm doing wrong?. Any advice to achieve a successful compilation of the launcher?

PS: Sorry for the lengthly post.
Title: Re: Ubuntu Installation
Post by: niffiwan on August 27, 2017, 04:03:36 am
The version of wxLauncher shipped with Diaspora is quite old now. Try using this version instead, it should work with Ubuntu 16.04, I've just compiled it successfully using Mint 18.1

https://github.com/scp-fs2open/wxLauncher/releases/tag/0.12.0-rc.3
Title: Re: Ubuntu Installation
Post by: Pouloulou on March 06, 2018, 03:38:40 am
@ niffiwan

Can you explain more please ?

I don't understand why compiling this program is so complicated :(

I see windwos has got a version with binary and linux has not it yet, so i used de windows version with wine/playonlinux and it's ok (more than windows ...), but is't  pity :(

i hope there will have another way :)

(ps : your captcha is very difficult for most poeple...)

Title: Re: Ubuntu Installation
Post by: karajorma on March 06, 2018, 04:47:48 am
To be honest, if you can use it on your machine, the best way to get Diaspora these days is to use Knossos (https://fsnebula.org/knossos/). That way you avoid wxLauncher completely and get access to all the other FS2_Open engine games available.
Title: Re: Ubuntu Installation
Post by: niffiwan on March 07, 2018, 04:05:48 am
+1 to using Knossos! Only issue will be  it currently doesn't support ubuntu 16.04 very well because ubuntu ship some prehistoric version of QT framework it uses. This should be fixed when 18.04 is released... next month in theory?