Where can I get a Recent-Git-Build of FreeBASIC?
Re: Where can I get a Recent-Git-Build of FreeBASIC?
Ok, a short summary: you are using some build by MOD - maybe an older version. That build works.
A current build, #95 (26.05.2014 20:26:12) by myself, does not work. You've posted the verbose compiler output of that compiler.
Let us determine, whether the linker (ld.exe) is called using the same parameters when using the working compiler (MOD's build). That will help us isolating the problem. It is either related to the linker (ld.exe) or to the FB-Compiler (fbc.exe). Of course the latter is more likely, but let's eliminate one or the other as source of the problem.
Therefore, please post the verbose compiler output (parameter -v) of the working compiler when using the same build command as used before for the verbose output of the apparently bugged FreeBasic build. That will contain the build date of the compiler, which will allow us to infer an approximate date of the used source code. If possible, also mention the version number of the linker (ld.exe) (use parameter --version) from the working compiler. Additionally please post the used build command, if possible.
Sorry for the trial & error procedure, but if you can't provide an example that triggers the error everything I can do is educated guessing and drawing conclusions from the results. Therefore please provide as detailed and correct information as you can.
//edit:
I've built a slightly modified version of the compiler, that may fix the problem: Please download from http://users.freebasic-portal.de/stw/fi ... stom01.zip and try whether that build fixes the problem.
Please still provide the information requested above in addition.
A current build, #95 (26.05.2014 20:26:12) by myself, does not work. You've posted the verbose compiler output of that compiler.
Let us determine, whether the linker (ld.exe) is called using the same parameters when using the working compiler (MOD's build). That will help us isolating the problem. It is either related to the linker (ld.exe) or to the FB-Compiler (fbc.exe). Of course the latter is more likely, but let's eliminate one or the other as source of the problem.
Therefore, please post the verbose compiler output (parameter -v) of the working compiler when using the same build command as used before for the verbose output of the apparently bugged FreeBasic build. That will contain the build date of the compiler, which will allow us to infer an approximate date of the used source code. If possible, also mention the version number of the linker (ld.exe) (use parameter --version) from the working compiler. Additionally please post the used build command, if possible.
Sorry for the trial & error procedure, but if you can't provide an example that triggers the error everything I can do is educated guessing and drawing conclusions from the results. Therefore please provide as detailed and correct information as you can.
//edit:
I've built a slightly modified version of the compiler, that may fix the problem: Please download from http://users.freebasic-portal.de/stw/fi ... stom01.zip and try whether that build fixes the problem.
Please still provide the information requested above in addition.
-
- Posts: 507
- Joined: Jan 13, 2009 19:23
Re: Where can I get a Recent-Git-Build of FreeBASIC?
I notice that somebody else don't have this pb , firt can you compile this simple example please.
Code: Select all
#INCLUDE ONCE "windows.bi"
#INCLUDE ONCE "win\commctrl.bi"
#INCLUDE ONCE "win\commdlg.bi"
#Define Show(Win) RedrawWindow(Win,0,0,0):ShowWindow(Win,SW_SHOW)
#DEFINE SubclassWindow(h,f) (CAST(WNDPROC, SetWindowLong(h,GWL_WNDPROC,CAST(DWORD, @f))))
DIM SHARED g_hinstance as HINSTANCE
DIM SHARED ghFont as HFONT
#DEFINE ID_Scrollbar1 102
#DEFINE ID_Scrollbar2 103
'***************************************************************
' Reserve memory space for each control that we'll create
'***************************************************************
DIM SHARED Form1 AS HWND
DIM SHARED Scrollbar1 AS HWND
DIM SHARED Scrollbar2 AS HWND
'**************************************************************
' Other variables & constants used by the program go here
'**************************************************************
DECLARE FUNCTION Form1_Proc ( byval hWnd as HWND, byval Msg as UINT, byval wParam as WPARAM, byval lParam as LPARAM ) as LRESULT
DECLARE SUB FORMLOAD()
' ========================================================================================
' Main
' ========================================================================================
Declare FUNCTION WINMAIN (BYVAL hInstance AS HINSTANCE, BYVAL hPrevInstance AS HINSTANCE, BYVAL lpszCmdLine AS ZString PTR, BYVAL nCmdShow AS LONG) AS LONG
End WinMain(GetModuleHandle(NULL),NULL,Command,SW_SHOW)
FUNCTION WINMAIN (BYVAL hInstance AS HINSTANCE, BYVAL hPrevInstance AS HINSTANCE, BYVAL lpszCmdLine AS ZString PTR, BYVAL nCmdShow AS LONG) AS LONG
Dim hFont AS HFONT
Dim wcex AS WNDCLASSEX
Dim szClassName AS ZString * 80
hFont = GetStockObject(ANSI_VAR_FONT)
' Register the window class
szClassName ="Form1"
g_hinstance = hInstance
wcex.cbSize = SIZEOF(WNDCLASSEX)
wcex.style = CS_HREDRAW OR CS_VREDRAW
wcex.lpfnWndProc = @Form1_Proc
wcex.cbClsExtra = 0
wcex.cbWndExtra = 0
wcex.hInstance = hInstance
wcex.hCursor = LoadCursor (NULL, BYVAL IDC_ARROW)
wcex.hbrBackground = cast(HBRUSH,COLOR_3DFACE+1)
wcex.lpszMenuName = NULL
wcex.lpszClassName = STRPTR(szClassName)
wcex.hIcon = LoadIcon (NULL, BYVAL IDI_APPLICATION) ' Sample, if resource icon: LoadIcon(hInst, "APPICON")
wcex.hIconSm = LoadIcon (NULL, BYVAL IDI_APPLICATION) ' Remember to set small icon too..
RegisterClassEx @wcex
FORMLOAD()
' Message handler loop
Dim uMsg AS MSG
While GetMessage(@uMsg, NULL, 0, 0)
IF IsDialogMessage(Form1, @uMsg)=0 THEN
TranslateMessage @uMsg
DispatchMessage @uMsg
END IF
WEND
FUNCTION = uMsg.wParam
END FUNCTION
SUB FORMLOAD()
Form1 = CreateWindowEx(0,"Form1","Form1",WS_CAPTION Or WS_SYSMENU Or WS_BORDER Or WS_MAXIMIZEBOX Or WS_MINIMIZEBOX ,115,180,640,400,NULL,NULL,GetmoduleHandle(0),NULL)
Scrollbar1 = CreateWindowEx(32,"ScrollBar","Scrollbar1",WS_CHILD Or WS_TABSTOP Or SBS_HORZ Or WS_CLIPSIBLINGS or WS_CLIPCHILDREN Or WS_VISIBLE , _
24,336,600,24,Form1,Cast(HMENU,102),GetmoduleHandle(0),NULL)
'SendMessage(Scrollbar1, SBM_SETRANGE,0,120)
SendMessage(Scrollbar1, SBM_SETRANGE,0,120)
Dim SIF As SCROLLINFO
SIF.fMask = SIF_PAGE
SIF.nPage = 0
SendMessage(Scrollbar1,SBM_SETSCROLLINFO,True,CInt(@SIF))
SendMessage(Scrollbar1, SBM_SETPOS, Cast(WPARAM,100), 0)
Scrollbar2 = CreateWindowEx(0,"ScrollBar","Scrollbar2",WS_CHILD OR WS_VISIBLE OR WS_CLIPSIBLINGS OR SBS_VERT, _
592,8,32,320,Form1,Cast(HMENU,103),GetmoduleHandle(0),NULL)
SendMessage(Scrollbar2, SBM_SETRANGE,0,100)
SIF.fMask = SIF_PAGE
SIF.nPage = 1
SendMessage(Scrollbar2,SBM_SETSCROLLINFO,True,CInt(@SIF))
SendMessage(Scrollbar2, SBM_SETPOS, Cast(WPARAM,50), 0)
ShowWindow(Form1,SW_SHOW)
UpdateWindow(Form1)
END SUB
'***************************************************************
' Now that the form and its controls are loaded and on the
' screen, we go into the event loop and wait for the user
' to do something!
'***************************************************************
FUNCTION Form1_Proc ( byval hWnd as HWND, byval Msg as UINT, byval wParam as WPARAM, byval lParam as LPARAM ) as LRESULT
Dim RetC AS RECT
Dim pToolTip AS TOOLTIPTEXT PTR
Dim ptnmhdr AS NMHDR PTR 'information about a notification message
Dim pRebar AS NMREBAR PTR
Dim mminfo AS MINMAXINFO PTR
SELECT CASE Msg
CASE WM_CREATE
EXIT FUNCTION
CASE WM_CTLCOLORSTATIC, WM_CTLCOLORBTN, WM_CTLCOLOREDIT,WM_CTLCOLORLISTBOX, WM_CTLCOLORSCROLLBAR
If Cast(HWND,lparam)=Scrollbar1 Then
SetTextColor(Cast(HDC,wParam),BGR(0,0,0))
SetBkColor(Cast(HDC,wParam), BGR(255,255,255))
Return cast(LRESULT,createsolidbrush(BGR(255,255,255)))
End If
If Cast(HWND,lparam)=Scrollbar2 Then
SetTextColor(Cast(HDC,wParam),BGR(0,0,0))
SetBkColor(Cast(HDC,wParam), BGR(255,255,255))
Return cast(LRESULT,createsolidbrush(BGR(255,255,255)))
End If
CASE WM_SIZE
IF wparam <> SIZE_MINIMIZED THEN
END IF
return 0
CASE WM_COMMAND
SELECT CASE LOWORD(wParam)
Case else
END SELECT
Return 0
CASE WM_CLOSE
if IDYES = MessageBox(hWnd,"Quit?","Form1", MB_YESNO or MB_ICONQUESTION) Then
DestroyWindow(Form1)
end If
Return 0
CASE WM_DESTROY
PostQuitMessage(0)
Return 0
END SELECT
Return DefWindowProc( hWnd, Msg, wParam, lParam )
END FUNCTION
Last edited by counting_pine on Jun 16, 2014 0:13, edited 1 time in total.
Reason: Use [code]...[/code] block
Reason: Use [code]...[/code] block
-
- Posts: 507
- Joined: Jan 13, 2009 19:23
Re: Where can I get a Recent-Git-Build of FreeBASIC?
Code: Select all
//edit:
I've built a slightly modified version of the compiler, that may fix the problem: Please download from http://users.freebasic-portal.de/stw/files/tmp/fbc_mingw_custom01.zip and try whether that build fixes the problem.
Please still provide the information requested above in addition.
this build is correct once I can Compile my project now
can one have an idea on what would 't have gone early?.
Re: Where can I get a Recent-Git-Build of FreeBASIC?
That example compiles without any problems here. I just tested it with fbc 0.24 and fbc 0.91 git build #95. Note that the git build does not include win32-headers, i copied them from another compiler package.aloberoger wrote:I notice that somebody else don't have this pb , firt can you compile this simple example please.
I used the following command to compile: fbc -s gui a.bas
(I saved the code as "a.bas")
The only change included in this build is an additional lower-case conversion for the subsystem parameter ( -s ... ).aloberoger wrote:this build is correct once I can Compile my project now
can one have an idea on what would 't have gone early?.
Therefore, I'm pretty sure now, that you are actually passing "-s Gui" somewhere, using an upper-case "G".
This is a problem with your build configuration or project setup and not related to my fbc builds or fbc/ld in general.
Please double check your project setup for such a wrong subsystem specification (it has to be "-s gui" in lowercase letters) !
You could use a dummy executable "fbc.exe" that displays the parameters for debugging the cause:
Code: Select all
PRINT "fbc parameters:"
PRINT COMMAND
-
- Posts: 507
- Joined: Jan 13, 2009 19:23
Re: Where can I get a Recent-Git-Build of FreeBASIC?
older version work normally I speak about your last version fbc_win32_mingw
fbc_mingw_custom01 is not good at all
infortunetelly there are many insufficiencies in this grinding of fbc, here is one; there are still others notament untraceable point entrance in msvctr.dll
C:\fbc_win32_mingw\lib\win32/libGuitk2013.a(guitk2013.o):fake:(.text+0x67fe): undefined reference to `$fb_Object::$fb_Object()'
C:\fbc_win32_mingw\bin\win32\ld.exe: C:\fbc_win32_mingw\lib\win32/libGuitk2013.a(guitk2013.o): bad reloc address 0xb8 in section `.data'
C:\fbc_win32_mingw\bin\win32\ld.exe: final link failed: Invalid operation
fbc_mingw_custom01 is not good at all
infortunetelly there are many insufficiencies in this grinding of fbc, here is one; there are still others notament untraceable point entrance in msvctr.dll
C:\fbc_win32_mingw\lib\win32/libGuitk2013.a(guitk2013.o):fake:(.text+0x67fe): undefined reference to `$fb_Object::$fb_Object()'
C:\fbc_win32_mingw\bin\win32\ld.exe: C:\fbc_win32_mingw\lib\win32/libGuitk2013.a(guitk2013.o): bad reloc address 0xb8 in section `.data'
C:\fbc_win32_mingw\bin\win32\ld.exe: final link failed: Invalid operation
Last edited by aloberoger on Jul 01, 2014 13:01, edited 1 time in total.
Re: Where can I get a Recent-Git-Build of FreeBASIC?
OK, but this is not related to your original error message at all!
I am very sorry to tell you, but your error reports are not very useful if you don't provide enough information and don't use correct english to describe the problems. For example:
I am sorry for directly telling you my thoughts, that may sound a little bit harsh, but I am just disappointed as I'm trying to help and your replies give a very unspecific description of the problem and leave most of my questions unanswered.
__________________aloberoger wrote:strange error while compiling some projects:
C:\fbc_win32_mingw\bin\win32\ld.exe: invalid subsystem type Gui
I am very sorry to tell you, but your error reports are not very useful if you don't provide enough information and don't use correct english to describe the problems. For example:
- Provide context information, not just the error messages. What were you trying to do? What is the program supposed to do?
- It is fine that you give information about the exact error messages, but you didn't include any information about the source code and the build command. There are huge differences e.g. when you use "-gen gcc" instead of "-gen gas", etc.
- Provide everything that is needed to make your errors reproducible.
- Give additional information about the intent of the code, expected behaviour, expected results.
- "fbc_win32_mingw" does not identify a compiler version. It just tells us the system architecture and toolsuite. Include more specific information like version number, build date and build number.
- Try to avoid spelling mistakes and other errors to increase readability of your answers
I am sorry for directly telling you my thoughts, that may sound a little bit harsh, but I am just disappointed as I'm trying to help and your replies give a very unspecific description of the problem and leave most of my questions unanswered.
-
- Posts: 606
- Joined: Nov 28, 2012 1:27
- Location: CA, USA moving to WA, USA
- Contact:
Re: Where can I get a Recent-Git-Build of FreeBASIC?
Lubuntu 64bit 13.10
My environment and all is good.
I was using the current 32 bit FB - 0.90.1 - no troubles. I don't have any problems hunting down missing correct libraries, etc.
I would like to begin using the current build-before-release that stw is offering.
All that is present in his file is the fbc executable, change log, readme, and install.sh.
I move fbc to replace the fbc in /usr/local/bin.
While fbc will execute and give me the version:
any compile attempt says the balance of the fbc system can't be found:
Nothing in my system is changed but replacing new fbc with the old fbc.
Should there be more files to go with the new executable?
Where is this executable looking for the extra files - not /usr/local/lib/freebasic/ where they have always been located?
What am I missing?
With the number of changes since the last version, I would expect only a full install would have all the changes.
The .zip for the win32 version is 16m
The .zip for Linux 32 is 420k
I think Linux is the best ... but it isn't that good.
help?
david
My environment and all is good.
I was using the current 32 bit FB - 0.90.1 - no troubles. I don't have any problems hunting down missing correct libraries, etc.
I would like to begin using the current build-before-release that stw is offering.
All that is present in his file is the fbc executable, change log, readme, and install.sh.
I move fbc to replace the fbc in /usr/local/bin.
While fbc will execute and give me the version:
Code: Select all
david@3800LU64:/rdkl/build/testlib$ fbc -version
FreeBASIC Compiler - Version 0.91.0 (06-13-2014), built for linux (32bit)
Copyright (C) 2004-2014 The FreeBASIC development team.
Code: Select all
david@3800LU64:/rdkl/build/testlib$ fbc pp.bas
ld: cannot find /usr/local/bin/../lib/freebasic/linux/fbextra.x: No such file or directory
ld: cannot find /usr/local/bin/../lib/freebasic/linux/fbrt0.o: No such file or directory
ld: cannot find -lfbgfx
Nothing in my system is changed but replacing new fbc with the old fbc.
Should there be more files to go with the new executable?
Where is this executable looking for the extra files - not /usr/local/lib/freebasic/ where they have always been located?
What am I missing?
With the number of changes since the last version, I would expect only a full install would have all the changes.
The .zip for the win32 version is 16m
The .zip for Linux 32 is 420k
I think Linux is the best ... but it isn't that good.
help?
david
Re: Where can I get a Recent-Git-Build of FreeBASIC?
Usually there's no linux folder in /usr/local/lib/freebasic
You may create the folder and copy the context?
should containspeedfixer wrote:Code: Select all
david@3800LU64:/rdkl/build/testlib$ fbc pp.bas ld: cannot find /usr/local/bin/../lib/freebasic/linux/fbextra.x: No such file or directory ld: cannot find /usr/local/bin/../lib/freebasic/linux/fbrt0.o: No such file or directory ld: cannot find -lfbgfx
Code: Select all
/usr/local/bin/../lib/freebasic/fbextra.x
/usr/local/bin/../lib/freebasic/fbrt0.o
Re: Where can I get a Recent-Git-Build of FreeBASIC?
@david: I am sorry, the files are obviously missing. I wonder how how I could miss that (and I got no complaints until now).
The problem is that the library files are built in /lib/freebasic/linux, but only the /lib/freebasic folder is included in the package, which has no files in it (excluding subfolders). I will look into it.
//update 1:
@TJF: the path is correct. There has been a change in the FBC makefile.
The old version (0.90.1) defined libpath as follows:
While the git version (0.91) defines libpath as follows:
(both are only true for non-Standalone builds)
The problem is that the library files are built in /lib/freebasic/linux, but only the /lib/freebasic folder is included in the package, which has no files in it (excluding subfolders). I will look into it.
//update 1:
@TJF: the path is correct. There has been a change in the FBC makefile.
The old version (0.90.1) defined libpath as follows:
Code: Select all
libdir := lib/$(TARGET_PREFIX)$(FB_NAME)$(ENABLE_SUFFIX)
Code: Select all
libdir := lib/$(FBNAME)/$(libsubdir)
Re: Where can I get a Recent-Git-Build of FreeBASIC?
I have fixed the issue to include the lib/freebasic/linux directory and triggered build and publishing jobs. Please find the builds in:
x86: http://users.freebasic-portal.de/stw/bu ... -06-16.zip
x86_64: http://users.freebasic-portal.de/stw/bu ... -06-16.zip
Unfortunately I currently do not have set up any test jobs for Linux and DOS builds. Thus the build is untested. [but of course it should work ;-) ]
The build does not include the Headers that are normally provided in the "inc" directory to keep the package size small. Please tell me if this directory (and subdirectories?) should be included in the package too.
regarding the size difference to the win32 package: the win32 package and also the win64 package do contain tools from the mingw toolsuite (e.g. linker, assembler, resource compiler, C compiler) , their libraries (e.g. libgcc) some headers (e.g. gfx, file, ...) and some win32 import libs (e.g. libkernel32). The linux builds do not contain all this stuff; furthermore the compiled executable is just smaller.
x86: http://users.freebasic-portal.de/stw/bu ... -06-16.zip
x86_64: http://users.freebasic-portal.de/stw/bu ... -06-16.zip
Unfortunately I currently do not have set up any test jobs for Linux and DOS builds. Thus the build is untested. [but of course it should work ;-) ]
The build does not include the Headers that are normally provided in the "inc" directory to keep the package size small. Please tell me if this directory (and subdirectories?) should be included in the package too.
regarding the size difference to the win32 package: the win32 package and also the win64 package do contain tools from the mingw toolsuite (e.g. linker, assembler, resource compiler, C compiler) , their libraries (e.g. libgcc) some headers (e.g. gfx, file, ...) and some win32 import libs (e.g. libkernel32). The linux builds do not contain all this stuff; furthermore the compiled executable is just smaller.
-
- Posts: 606
- Joined: Nov 28, 2012 1:27
- Location: CA, USA moving to WA, USA
- Contact:
Re: Where can I get a Recent-Git-Build of FreeBASIC?
Thank you so much.
David
David
Re: Where can I get a Recent-Git-Build of FreeBASIC?
What exactly is the difference between version 0.91 and version 0.91_x86?
Who should use what?
This code snippet is certainly different for each of the two versions, result-wise.
Who should use what?
This code snippet is certainly different for each of the two versions, result-wise.
Code: Select all
dim as integer mx,my
dim as uinteger colour
screenres 640,480,32
do
getmouse(mx,my)
screenlock
cls
colour=.999999*Point(mx,my)
line(5,5)-(400,400),colour,bf
draw string(30,30),"Color = " &colour,rgb(0,0,200)
screenunlock
sleep 1,1
loop until len(inkey)
sleep
Re: Where can I get a Recent-Git-Build of FreeBASIC?
Is this question related to my builds? If yes or in general:
The old "0.91" builds are x86 builds. These builds contain a 32bit fbc. So "0.91" and "0.91_x86" are the same in this part. However, "0.91_x86" is the new naming schema as we have a "0.91_x86_64" (also called "0.91_x64") build now, which contains a 64bit fbc.
The differences between "0.91" and "0.91_x86" comes from the different date. These are builds from the git repository to a certain date. Use "fbc -version" to see the difference in date (and so in the code version).
Also, don't use my builds, I'm not updating anymore! St_Ws builds are generated after each commit, use these...
The old "0.91" builds are x86 builds. These builds contain a 32bit fbc. So "0.91" and "0.91_x86" are the same in this part. However, "0.91_x86" is the new naming schema as we have a "0.91_x86_64" (also called "0.91_x64") build now, which contains a 64bit fbc.
The differences between "0.91" and "0.91_x86" comes from the different date. These are builds from the git repository to a certain date. Use "fbc -version" to see the difference in date (and so in the code version).
Also, don't use my builds, I'm not updating anymore! St_Ws builds are generated after each commit, use these...
Re: Where can I get a Recent-Git-Build of FreeBASIC?
Thanks MOD.
I am using your builds.
St_w's ~~ I thought was Linux.
quote:
Where can I get a Recent-GitBuild of FreeBASIC?
Sorry to hear that you are not updating.
Your 0.91_x86 can handle byval as string (parameter)
Your 0.91 cannot.
But your 0.91_x86 gets the colours wrong (in my previous post).
Maybe I should update my box, still using XP 32 bit.
I am using your builds.
St_w's ~~ I thought was Linux.
quote:
Where can I get a Recent-GitBuild of FreeBASIC?
Sorry to hear that you are not updating.
Your 0.91_x86 can handle byval as string (parameter)
Your 0.91 cannot.
But your 0.91_x86 gets the colours wrong (in my previous post).
Maybe I should update my box, still using XP 32 bit.
Re: Where can I get a Recent-Git-Build of FreeBASIC?
As I said, "0.91" is build with an older version of te fbc code, so differences are possible, this is not related to your PC. I'm not updating it anymore because St_Ws builds are better (no manual work for as it's all automatically done :D).