betostafe / castlesand

Automatically exported from code.google.com/p/castlesand
0 stars 0 forks source link

Compile on Lazarus fails (Linux) #40

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Compile on Lazarus

What is the expected output? What do you see instead?
KM_Unit1.pas(11,10) Fatal: Can't find unit Windows used by KM_Unit1

What version of the product are you using? On what operating system?
Source. Linux 64bit

Original issue reported on code.google.com by vytautas...@gmail.com on 1 Apr 2011 at 7:10

GoogleCodeExporter commented 9 years ago
Please specify your Lazarus version and revision number you tried to build.

I've tested r1519 in Lazarus 0.9.31 32bit and it compiled without problems.
Besides unit "Windows" is in 5:10 of KM_Unit1.

Original comment by kromster80@gmail.com on 1 Apr 2011 at 7:27

GoogleCodeExporter commented 9 years ago
r1519 0.9.28.2

Original comment by vytautas...@gmail.com on 1 Apr 2011 at 8:11

GoogleCodeExporter commented 9 years ago
Try using nightly build (0.9.31 or newer)

Also please verify "Windows" string location, is it (11,10) or (5,10)

Original comment by kromster80@gmail.com on 1 Apr 2011 at 8:37

GoogleCodeExporter commented 9 years ago
Another option would be to Google for that error text. Certainly there are 
others who got problems with Windows.pas in 64bit Linux Lazarus ;)

Original comment by kromster80@gmail.com on 1 Apr 2011 at 8:38

GoogleCodeExporter commented 9 years ago
Unfortunately the KaM Remake cannot be compiled on Linux at this stage. We 
currently rely on MS Windows specific things that make it impossible to run it 
on Linux. However, the Windows EXE might run okay with a 32bit version of Wine.

I do aim to make it Linux (and probably Mac) compatible at some point, but at 
the moment the code is changing so frequently and so are our dependencies on 
Windows libraries that it doesn't seem worth it until a later stage in 
development.
I will need to go through the code and find solutions for all of our Windows 
dependencies. I will also need to change the file system differences like '\' 
vs '/' and case being significant in Linux file names. (on Windows 'foobar' is 
the same file/folder as 'FoObAR', on Linux they are different) I have a fair 
bit of experience with Linux so hopefully this process won't be too difficult.

Just because it compiles in the Windows version of Lazarus does not mean it 
will work on the Linux version.

Using the nightly build of Lazarus or Googling the error won't fix it, we rely 
on Windows at the moment and it will require major changes to the code to make 
it compile on Linux.

Sorry about this, one day it will almost certainly be possible. Thanks for your 
interest in compiling it :)

Original comment by lewinjh@gmail.com on 9 Apr 2011 at 7:37

GoogleCodeExporter commented 9 years ago
I am learning Obj Pascal in my free time now.
So I am interested to help on this, but not big skill. :)
Just have nice Delphi 6 book in my fist language and desire now mainly. :D
Can I help?
If yes it would be nice to get simple tasks first.

Original comment by vytautas...@gmail.com on 9 Apr 2011 at 8:00

GoogleCodeExporter commented 9 years ago
Thank you for your interest :) If I can talk to you on ICQ, Google Talk, MSN, 
Skype, Yahoo, or something then we can discuss it further. Krom and I are 
trying to find tasks for you.
Please give me a way to chat with you (send me an email with your contact info) 
and we can go from there. ICQ is preferable but it doesn't really matter at the 
moment, I have all of the ones I listed above.

Original comment by lewinjh@gmail.com on 9 Apr 2011 at 1:27

GoogleCodeExporter commented 9 years ago
vytautasrask eta gmail

Original comment by vytautas...@gmail.com on 9 Apr 2011 at 2:01

GoogleCodeExporter commented 9 years ago
Linux do not like: windows, ShellApi;

Original comment by vytautas...@gmail.com on 14 Apr 2011 at 8:16

GoogleCodeExporter commented 9 years ago
Looks like they replace GetKeyState with lcltype, lclintf;
Here:
http://www.freepascal.ru/forum/viewtopic.php?f=5&t=5992&p=44010

Original comment by vytautas...@gmail.com on 14 Apr 2011 at 7:11

GoogleCodeExporter commented 9 years ago
Here more and in english:
http://stackoverflow.com/questions/3649874/how-to-get-keyboard-state-in-linux :)
Basically just open file. I will try later.

Original comment by vytautas...@gmail.com on 14 Apr 2011 at 7:45

GoogleCodeExporter commented 9 years ago
Here even more: 
http://stackoverflow.com/questions/3308811/keyboard-input-in-games-for-glut

Original comment by vytautas...@gmail.com on 14 Apr 2011 at 7:59

GoogleCodeExporter commented 9 years ago
Just commented out that function. It works on windows without it too. And made 
some progress then.

Common/dglOpenGL.pas(13196,121) Error: Default parameter required for 
"FORCEDLSYM"
Is nouw main problem.

Original comment by vytautas...@gmail.com on 16 Apr 2011 at 10:41

GoogleCodeExporter commented 9 years ago
Fixed that too, now: Common/KromOGLUtils.pas(19,80) Error: Identifier not found 
"HGLRC"

Original comment by vytautas...@gmail.com on 16 Apr 2011 at 12:04

GoogleCodeExporter commented 9 years ago
Fixed. Now Common/openal.pas(1,1) Fatal: Can't find unit mmsystem used by openal
Oo: openall even do not use mmsystem!? Maybe try find sth. later.

Original comment by vytautas...@gmail.com on 16 Apr 2011 at 7:50

GoogleCodeExporter commented 9 years ago
Ty someone fixed that. Now stuck at Linux: Fatal: Internal error 200310121.
And KaM editor now compiles on Linux.

Original comment by vytautas...@gmail.com on 17 Apr 2011 at 10:15

GoogleCodeExporter commented 9 years ago
Compile fixed. :D
But still glx counterparts of existing wgl functions not finished, just errors 
there now.

Here may be some important help:
http://www.opengl.org/wiki/Platform_specifics:_Windows

Original comment by vytautas...@gmail.com on 17 Apr 2011 at 10:25

GoogleCodeExporter commented 9 years ago
Also range check error. Same on windows 64 bit.

Original comment by vytautas...@gmail.com on 24 Apr 2011 at 7:18

GoogleCodeExporter commented 9 years ago
~fixed one place now: http://pastebin.com/tNS1BFju

Original comment by vytautas...@gmail.com on 7 May 2011 at 4:51

GoogleCodeExporter commented 9 years ago
KM_Editor current issues:
$ ./KM_Editor 
TApplication.HandleException Access violation
  Stack trace:
  $0000000000529D28 line 95 of ../Common/KM_TGATexture.pas
  $000000000052A66C line 248 of ../Common/KM_TGATexture.pas
  $000000000050773A line 479 of KM_Unit1.pas
  $0000000000524C81 line 55 of KM_Form_Loading.pas
  $00000000004D595B line 877 of include/customform.inc
  $00000000004D3AB5 line 79 of include/customform.inc
  $00000000004DB2E6 line 2838 of include/customform.inc
  $00000000004E42C0 line 2087 of include/application.inc
  $00000000004AE17E line 28 of KM_Editor.lpr

(KM_Editor:6054): Gdk-CRITICAL **: IA__gdk_window_get_state: assertion 
`GDK_IS_WINDOW (window)' failed

(KM_Editor:6054): Gdk-CRITICAL **: IA__gdk_window_get_state: assertion 
`GDK_IS_WINDOW (window)' failed
TApplication.HandleException Range check error
  Stack trace:
  $000000000050AADC line 721 of KM_Unit1.pas
  $00000000005E8608 line 3635 of include/control.inc
  $00000000005E840B line 3593 of include/control.inc
  $00000000004BD9D5
  $00000000005D7B68 line 5241 of include/wincontrol.inc
  $000000000075FA3F line 110 of lclmessageglue.pas
  $000000000072B849 line 3528 of gtk2proc.inc
  $0000000000738A1F line 1262 of gtk2callback.inc
  $0000000000738CFC line 1363 of gtk2callback.inc
  $000000332734F113

Have no idea now.

Original comment by vytautas...@gmail.com on 29 Jul 2011 at 5:46

GoogleCodeExporter commented 9 years ago
Game still fails with:
[WARNING] CreateGtkBitmapMask: GDIBitmapType <> dbBitmap

(KaM_Remake:2137): Gdk-CRITICAL **: IA__gdk_cursor_new_from_pixbuf: assertion 
`0 <= y && y < gdk_pixbuf_get_height (pixbuf)' failed

Also thare are issues with letter cases in filenames,but possible to fix simply 
with renaming.

Original comment by vytautas...@gmail.com on 29 Jul 2011 at 7:20

GoogleCodeExporter commented 9 years ago
First thing is the Integer patch for compiling the dedicated server on x64.

Original comment by maarten....@gmail.com on 1 Apr 2014 at 8:07

Attachments:

GoogleCodeExporter commented 9 years ago
@Maarten: Patch included in r6176. Thanks! 

Original comment by kromster80@gmail.com on 5 Apr 2014 at 7:14