Where can I get a Recent-Git-Build of FreeBASIC?

General discussion for topics related to the FreeBASIC project or its community.
Post Reply
fxm
Moderator
Posts: 12081
Joined: Apr 22, 2009 12:46
Location: Paris suburbs, FRANCE

Re: Where can I get a Recent-Git-Build of FreeBASIC?

Post by fxm »

Personally, I daily monitor all the code changes, the bugs and feature requests, but via sourceforge which groups the all.
St_W
Posts: 1619
Joined: Feb 11, 2009 14:24
Location: Austria
Contact:

Re: Where can I get a Recent-Git-Build of FreeBASIC?

Post by St_W »

speedfixer wrote:And hope they can be restored soon?
Unfortunately I cannot make any promises yet when the system will be available again. I still have to buy replacement hardware, transfer or reinstall the software on the new system and get everything running again. I have not started yet. It is likely that it will take multiple weeks until I get everything running again. I'll announce when the system is ready again.

Luckily (considering the broken build system) there were nearly no commits (relevant to the compiler) since December last year and there has been published the release 1.05, which is almost up to date (as of now). Of course I wish FB more commits in the future and hopefully the system will be available again at that time.
caseih wrote:It's very clear what was changed. In fact you won't get this information from simply downloading a nightly build and trying it blindly.
That's why not only builds, but also a changelog file was uploaded, which lists the commits for each build (with a link to GitHub). Of course one can also look for changes on Github/Sourceforge directly.
fxm
Moderator
Posts: 12081
Joined: Apr 22, 2009 12:46
Location: Paris suburbs, FRANCE

Re: Where can I get a Recent-Git-Build of FreeBASIC?

Post by fxm »

St_W wrote:Unfortunately I cannot make any promises yet when the system will be available again. I still have to buy replacement hardware, transfer or reinstall the software on the new system and get everything running again. I have not started yet. It is likely that it will take multiple weeks until I get everything running again. I'll announce when the system is ready again.
http://users.freebasic-portal.de/stw/builds/ is coming back?
St_W
Posts: 1619
Joined: Feb 11, 2009 14:24
Location: Austria
Contact:

Re: Where can I get a Recent-Git-Build of FreeBASIC?

Post by St_W »

You're a quite attentive observer, I didn't expect anybody to notice ;-)
So: Yes, I'm working on it. It's still a bit too early to announce it being back, though.

Some information about the current status:
I replaced/upgraded the system hardware and spent it a SSD. Although I managed to get the old system (Win 7) on the HDD running again I decided to do a clean install of Windows 10 on the SSD instead of (upgrading +) transferring to the SSD.

For the build environment I first tried to use MSYS2, but unfortunately I could not get FreeBasic to compile - probably due to command length restrictions, but I didn't investigate in greater detail.
So I installed the MSYS version from MinGW.org instead (as I had on the old system) and am using the same compilers (MinGW-w64) as on the old system. Using that toolchain I could build FreeBasic again on Win 10.
For the CI tool I upgraded to the latest Jenkins version with upgraded Tomcat Server and latest Apache Server as basis. I'm using the Jenkins configuration from the old system, but I've to adapt it slightly according to the new system.

Currently Jenkins is running and can trigger host builds (MinGW) and publishing jobs (upload to freebasic-portal).

For Windows 10 I had to upgrade to VirtualBox 5.x for Linux/FreeBSD/DOS builds. Unfortunately the Jenkins plugin does not support VirtualBox 5.x yet. Thus these builds are not working as of now. I could find some forks of the "virtualbox" plugin on Github, but couldn't get any of them to work fully yet.

In case somebody has some experience with Jenkins plugin development I'd be happy about any help.

The new builds dated 2016-03-03 (and uploaded 2016-03-06) were built on the old system and uploaded on the new. I haven't checked them in detail, so there may be some issues (e.g. I saw that in the win64 changelog there are some commits missing for some reason; I've no idea why and whether it's only a faulty build information or some issue with the build itself).

For now everything is still work-in-progress, so there may be issues with the builds and no new non-host builds will be available.
In case you still decide to try one of the builds and find some issues I'd be happy if you could tell me.
St_W
Posts: 1619
Joined: Feb 11, 2009 14:24
Location: Austria
Contact:

Re: Where can I get a Recent-Git-Build of FreeBASIC?

Post by St_W »

Good news: I managed to resolve the remaining issues way faster than I estimated some hours ago.
*Theoretically* all builds should be working again. :-)
Now I'm waiting for some fbc commits to see how it works in practice.

Only a minor issue is still open: for some reason, I'm encountering I/O performance issues with Jenkins which may affect build times.

In case anybody wanted to set up a similar build system I've published my patches for the Jenkins virtualbox plugin on github:
https://github.com/swurzinger/virtualbo ... -5-support
I do have some documentation, but unfortunately most parts are undocumented as of now. If anybody is interested in setting up such a small CI system feel free to contact me and I'll do my best to provide information.

___________________________________

Find the builds at the same location as previously:
http://users.freebasic-portal.de/stw/builds/

Happy developing/testing!
speedfixer
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?

Post by speedfixer »

Thank you.



david
St_W
Posts: 1619
Joined: Feb 11, 2009 14:24
Location: Austria
Contact:

Re: Where can I get a Recent-Git-Build of FreeBASIC?

Post by St_W »

There are some news for my FBC builds, on which I've worked in the past few days:

I've added testing jobs for Linux x86 and Linux x86_64 that do run FB's unit tests (cunit-tests) and blackbox tests (log-tests). The jobs first compile and run the tests, parse the result files and finally build a single (jUnit-) XML file with all the test results (structured in categories). I'm using the xUnit Jenkins plugin to display these results.

Such testing jobs already existed for Windows. I've modified/extended those to do the same result parsing than the Linux counterparts, so the results are now structured more clearly. Additionally I've fixed some issues with my testing environment that caused some tests to fail when they shouldn't. Updated test results will be visible on my Jenkins server shorty after a new commit has been pushed to the fbc master branch.

In case anybody is interested, I transferred some of the small tools I've developed or modified for using them somewhere in the build process to a public git repository, which is available here: https://bitbucket.org/st_w/fb-jenkins


Furthermore I had to update the Debian 7 VM (which is used for all the Linux builds) to Debian 8, because Debian 7 does not provide multiarch-support for "libxrandr-dev" and other packages needed for successfully compiling and running the unit tests.


As always, in case any of these changes cause problems, do not hesitate to contact me.
St_W
Posts: 1619
Joined: Feb 11, 2009 14:24
Location: Austria
Contact:

Re: Where can I get a Recent-Git-Build of FreeBASIC?

Post by St_W »

The last commit by dkl (https://github.com/freebasic/fbc/commit ... b70ad407a4) broke my DOS build. Looks like the build tools (in particular: make) have to be updated to a later version.
Btw the documentation of the DOS build in our wiki seems outdated, as files referred to in the text do not exist anymore (e.g. "djdev*") or links point to empty locations.
I'll look into it, but can't promise yet when. DOS build don't seem to be used by many people anyway (if any).

@dkl: some tests are failing for me. Is this a problem with my build/test environment or are they failing for you too?
log-tests:
functions/argv.bas : TEST_MODE=COMPILE_AND_RUN_OK [seems that it doesn't like spaces in the path]
namespace/cpp/cpp.bmk : TEST_MODE=MULTI_MODULE_OK [x64 versions only]
unit-tests:
fbc_tests.numbers.integer-overflow.unsigned [x64 versions only]
fbc_tests.string.format.number format test [win-x64 only]
St_W
Posts: 1619
Joined: Feb 11, 2009 14:24
Location: Austria
Contact:

Re: Where can I get a Recent-Git-Build of FreeBASIC?

Post by St_W »

I've tried to update to the latest DJGPP version (2.05), but I can't get FBC to build correctly. I've also upgraded from GCC 4.73 to GCC 6.10.

I get the following error:
LINK fbc.exe
C:\jenkins\workspace\FreeBasic Compiler DOS\lib\dos/libfb.a(math_fix.o):math_fix
.c:(.text+0x53): undefined reference to `floorl'
make.exe: *** [makefile:522: fbc.exe] Error 1
My compile procedure looks like this:
1. compile fbc using FBC 1.04 (this works)
2. compile rtlib & gfxlib2 (using gcc)
3. compile fbc using the compiler+libs built in step 1 & 2 (this fails with the error above)

Can anybody [dkl ;-)] help?
fxm
Moderator
Posts: 12081
Joined: Apr 22, 2009 12:46
Location: Paris suburbs, FRANCE

Re: Where can I get a Recent-Git-Build of FreeBASIC?

Post by fxm »

Weird behavior with the last build 'fbc_win32_mingw_0445_2016-07-03.zip'.

- Compilation and execution both seem to work, but a weird sentence from compiler:
Command executed:
"D:\Users\T0003830\Documents\Mes Outils Personnels\fbc1.06.0.St_W\fbc.exe" "D:\Users\T0003830\Documents\Mes Outils Personnels\FBIde0.4.6r4_fbc1.06.0\FBIDETEMP.bas" -gen gas -exx -arch 686 -w pedantic "d:\users\t0003830\documents\mes outils personnels\freebasic-1.05.0-win32+dos\bin\win32\res\fblogo.rc"

Compiler output:
'D:\Users\T0003830\Documents\Mes' n'est pas reconnu en tant que commande interne
ou externe, un programme ex‚cutable ou un fichier de commandes.


Results:
Compilation successful
Generated executable: D:\Users\T0003830\Documents\Mes Outils Personnels\FBIde0.4.6r4_fbc1.06.0\FBIDETEMP.exe

System:
FBIde: 0.4.6
fbc: FreeBASIC Compiler - Version 1.06.0 (07-03-2016), built for win32 (32bit)
OS: Windows NT 6.1 (build 7601, Service Pack 1)
- Same behavior when using directly a fbc command-line.
St_W
Posts: 1619
Joined: Feb 11, 2009 14:24
Location: Austria
Contact:

Re: Where can I get a Recent-Git-Build of FreeBASIC?

Post by St_W »

fxm wrote:Weird behavior with the last build 'fbc_win32_mingw_0445_2016-07-03.zip'.
- Compilation and execution both seem to work, but a weird sentence from compiler: [...]
I just tested and can confirm the issue. It does not appear in build #443, but is present in build #445 (win32_mingw).
The message occurs if the path contains a whitespace, because it is trimmed there, when it shouldn't.
D:\fbc\ci-test\fbc_win32_mingw 445>fbc test.bas
'D:\fbc\ci-test\fbc_win32_mingw' is not recognized as an internal or external command,
operable program or batch file.

D:\fbc\ci-test\fbc_win32_mingw 445>
//edit: the message doesn't appear when compiling only (argument: -c ).
fxm
Moderator
Posts: 12081
Joined: Apr 22, 2009 12:46
Location: Paris suburbs, FRANCE

Re: Where can I get a Recent-Git-Build of FreeBASIC?

Post by fxm »

Same problem with fbc_win64_mingw_0446_2016-07-03.zip.
St_W
Posts: 1619
Joined: Feb 11, 2009 14:24
Location: Austria
Contact:

Re: Where can I get a Recent-Git-Build of FreeBASIC?

Post by St_W »

I reverted DJGPP to the version I used previously (2.04 beta) including all its packages except "make". So I also reverted to gcc 4.73.

DOS builds do work again now.

I still don't know what was causing the problem. I tried compiling a simple C program using __builtin_floorl() and it failed on both DJGPP 2.04beta as well as DJGPP 2.05 with various gcc versions including 4.7, 4.9, 5.x and 6.x. Using the MinGW environment I could compile the C code without any errors. So I'm wondering why FB compiles at all using DJGPP :-)
dkl
Site Admin
Posts: 3235
Joined: Jul 28, 2005 14:45
Location: Germany

Re: Where can I get a Recent-Git-Build of FreeBASIC?

Post by dkl »

That issue with the Windows standalone build should be gone since today, thanks for testing. The problem is that fbc uses Open Pipe without quoting, so it will fail for paths containing spaces. Luckily the Open Pipe queries are only used in some cases (especially non-standalone builds).

It can be fixed, but while investigating it I found similar problems with exec() and shell(), that will be more work to fix. In particular the Linux implementation of exec(), it currently always fails for paths containing spaces, which also affects fbc of course.

New DJGPP runtime: I tried upgrading for the FB 1.05 release too, but hit the same problem, and didn't look into it further at that point. I might look into it when I get a DJGPP build setup again which I don't have at the moment.

Test suite:
- unsigned integer overflow: Looks like a bug in the test case, fixed in Git.
- namespace/cpp: This test case is wrong as-is (using int on C++-side, but Integer on FB-side), but there's also an fbc bug: the name mangling on 32bit is still reversed (Integer=>int, Long=>long), while on 64bit it's "correct" (Integer=>long|INTEGER, Long=>int). Fixing this requires a big backwards compatibility break, basically no existing 32bit FB libraries using overloaded functions with integer parameters will work anymore.
- functions/argv: I haven't seen it fail, needs to be investigated by someone.
- string/format: probably a failure due to different float precision, right? I don't see those here on Linux, not even with 64bit, but it could very well be a C backend problem. Needs to be investigated.
fxm
Moderator
Posts: 12081
Joined: Apr 22, 2009 12:46
Location: Paris suburbs, FRANCE

Re: Where can I get a Recent-Git-Build of FreeBASIC?

Post by fxm »

dkl wrote:I found similar problems with exec() and shell(), that will be more work to fix. In particular the Linux implementation of exec(), it currently always fails for paths containing spaces, which also affects fbc of course.
I know the problem with Shell() but at cons I thought that this works with Exec() in Windows (at least for the program-name).
Post Reply