Linux 132 rc1 now up

BlitzMax Forums/BlitzMax Programming/Linux 132 rc1 now up

marksibly(Posted 2009) [#1]
Hi,

BlitzMax132 release candidate 1 for Linux is now available from the product updates page.

Note that BlitzMax depends on the following packages:

libx11-dev
libxft-dev
libxxf86vm-dev
libgl1-mesa-dev
libglu1-mesa-dev
libfreetype6-dev
libxpm-dev
libstdc++6-4.3-dev
g++

Quick question: Are there any Linux users out there who are unable to install debian packages?


Brucey(Posted 2009) [#2]
If you intend moving to a .deb-only distribution, could you also have available a source-only .tar.gz, for those that don't want it installing somewhere deep on their system ?


nawi(Posted 2009) [#3]
Good job, the "linux signal handler 11" bug seems to be fixed for me, and I can finally use BlitzMax again.


teraku(Posted 2009) [#4]
It segfaults when trying to run it. I'm double checking that dependencies list to see if I'm missing any. (I'm on Ubuntu 64, is this version supposed to work on 64 bit OSs??


slenkar(Posted 2009) [#5]
in Ubuntu it says 'libstdc++6-4.3-dev not found'
when I try to install it
but programs compile anyway
Also the signal handler issue is fixed with my PC too!

good update


plash(Posted 2009) [#6]
(I'm on Ubuntu 64, is this version supposed to work on 64 bit OSs??
No, BlitzMax currently has no support for 64-bit systems.

I'll have to reinstall Ubuntu :)


teraku(Posted 2009) [#7]
It's a shame :(
I hope they can get a 64 bit version working soon. I cannot go back to a 32 bit Ubuntu since 3d rendering is really twice as fast on 64 bit Linux/Machines. I would be sacrificing a lot of rendering power.
Mac OS X is 64 bit and blitzmax runs fine there, so I have some hope there may be a 64 bit Linux version soon.

thanks for replying. ;)


markcw(Posted 2009) [#8]
Great stuff, thanks marksibly.

- The bug I had since FLTK 1.3 (tho no-one else had it) where maxide's file menu didn't work (drop down) until a minimize/restore has gone. Very pleased to say.
- I notice a new exclamation-mark message box pops up before build modules. I assume this is an "are you sure?" confirm thing.
- Not sure why src/maxide/maxide.bmx is gone, but I guess few people will miss it.
- Edit: I've never see libxpm-dev (x11 pixmap) mentioned before, just installed it.


marksibly(Posted 2009) [#9]
Hi,

You can install 32 bit libs/apps on 64 Linux can't you? I thought the OS just needed to be setup correctly (see if there's a /usr/lib32 in there).

This is how 64 bit Windows/MacOS work - they effectively support both 64 and 32 bit apps. MacOS doesn't even have separate 32/64 bit versions - and apparently windows is going that way too after Windows 7.

Certainly, neither Windows/MacOS will be going 'pure' 64 bit for a long, long time - at least until there are 'pure' 64 bit CPUs, otherwise they'd just be needlessly throwing away support for a vast amount of existing software.

Linux is the only OS I know of (and I only know 3!) that you can setup to be 'pure' 64 bit - but this is only by choice.

Disclaimer: This is all 'as far as I know' - disinformation surrounding these issues abounds, so please let me know if I've got anything wrong!

> I cannot go back to a 32 bit Ubuntu since 3d rendering is really twice
> as fast on 64 bit Linux/Machine

Possibly if you're using a software renderer, but not if you've got HW acceleration as the GPU is then doing the bulk of the work - and those things have *massive* buses (ie: 'bits')!


skidracer(Posted 2009) [#10]
I have had no problems whatsoever with Ubuntu64 nvidia combo, I do run the following script in my Blitzmax/lib folder after installing ia32libs

sudo link /usr/lib32/libGL.so.1.2 libGL.so
sudo link /usr/lib32/libGLU.so.1.3.070200 libGLU.so
sudo link /usr/lib32/libX11.so.6.2.0 libX11.so
sudo link /usr/lib32/libXxf86vm.so.1.0.0 libXxf86vm.so
sudo link /usr/lib32/libXft.so.2.1.2 libXft.so



marksibly(Posted 2009) [#11]
Hi,

Is ia32libs a package? Can it be installed via apt-get etc?

Are you sure you needs those links? BMK's ld now includes /usr/lib32 as a lib path, so it should work without them.


GaryV(Posted 2009) [#12]
(I'm on Ubuntu 64, is this version supposed to work on 64 bit OSs??


BMax for Linux works fine on 64bit distros. You just need to make sure you have 32bit support installed.

Please do not let your lack of understanding of or your lack of knowledge about Linux and your distro of choice be blamed on Blitz Max. Blitz Max isn't the problem in this case.

Plash (Posted 8 hours ago) #6

No, BlitzMax currently has no support for 64-bit systems.


Please do not spread false info about BMax. It works on 64bit Linux distros, just as it works on 64bit Windows versions and 64bit OSX versions. The only difference is unlike Windows, you have to manually install 32bit emulation/support on 64bit distros of Linux.


teraku(Posted 2009) [#13]
@skidracer: could you also please tell me which libraries you installed via ia32libs?
I downloaded a utility called "getlibs" which takes care of downloading and installing 32bit libraries on your system. I used it to get Freebasic working on Ubuntu64 with great success (check the following post):
http://www.freebasic.net/forum/viewtopic.php?t=13487
ia32libs is a whole package or does it allow you to install specific individual 32bit libraries?

Thanks in advance.
Regards


dawlane(Posted 2009) [#14]
ia32libs is a complete deb package for ubuntu that can be installen by apt-get/package manager and contains this list of files (Ubuntu 8.10) http://packages.ubuntu.com/intrepid/amd64/ia32-libs/filelist other distro's will have there own equivalent.

EDIT
Are you sure you needs those links? BMK's ld now includes /usr/lib32 as a lib path, so it should work without them.


On a 64bit Ubuntu system the links are necessary /usr/lib32 has no libGL.so link etc, /usr/lib does have these links but links to the 64bit versions.

Note you will also need to link to libfreetype.so.6


coderunner(Posted 2009) [#15]
Seems to be working ok for me on my ubuntu machine, thanks for the release mark!


SLotman(Posted 2009) [#16]
Working here on Ubuntu 8.10 too... just the dialog that appears when compiling modules is a bit annoying (confirmation? it just display an "ok" button), but not a major problem.

Is there any hope that we can generate "static" binaries on Linux? To avoid libs problems when distributing files?


*(Posted 2009) [#17]
great stuff will download it when I fire the ol' Eee PC again :)


danvari(Posted 2009) [#18]
blitzmax does not work on ANY 64bit linux system as long the system does not support multilib. for example:
i had archlinux installed. blitzmax RUNS fine, but does not COMPILE any 32bit apps (gcc: -m32). you can install 32bit libs, but then it is only possible to run 32bit apps.

other example:
now i have got gentoo installed. gentoo is multilib, which means i have 32bit output (can compile 32bit stuff).

normally you have to install a 32bit chroot (which is a fully 32bit version of the distro) to compile 32bit stuff on a 64bit machine, but that depends on your distribution. as far as i know (correct me if i am wrong) gentoo is the only distribution that supports multilib. arch..debian, ubuntu...does not.
i do not understand why theres no 64bit version of bmax for linux. ok, it does not make sense for windows or macosx, but for linux....
i do not think it would be that difficult to "port" bmax to 64bit bmax..
so, do we get a working 64bit build of bmax?

to support only debian-like packages does not make sense in my eyes and no, i have problems installing debian packages ^^.


dawlane(Posted 2009) [#19]
@danvari
Ubuntu 8.10+(8.04? not used this for a while) does support multi-lib for gcc/g++ 4.x onwards if you install the multilib packages. Only certain builds will fail if there is no 32bit equivalent of a library that can easly be installed on a 64bit linux machine ( certain gtk libs spring to mind ).

A chroot environment on a 64 bit machine is quicker to build 32bit applications because if you didn't, it would mean may hours of compiling 32bit libs or hacking 32bit packages to install on a 64bit linux.

The down side to building any 32bit application (on a 32bit linux and a 64bit linux) that may run on a 64bit linux system, is if the 32bit applications library dependencies can be met, if not then the application will fail to start.

Blitzmax 1.30 was hard coded to use gcc/g++ 3.3 and a bug in brl.mod/blitz.mod/blitz_app.c prevented the use of gcc/g++ 4.x.
http://www.blitzbasic.com/Community/posts.php?topic=81261

It would be nice if there was a build of Blitzmax that produced navtive 64bit applications.


Brucey(Posted 2009) [#20]
It would be nice if there was a build of Blitzmax that produced navtive 64bit applications.

I expect the biggest hurdle with this would be BlitzMax's assumption of a 32-bit address space.


xlsior(Posted 2009) [#21]
...Which is too bad, since the move towards 64 bit is slow, but steady...


danvari(Posted 2009) [#22]
Ubuntu 8.10+(8.04? not used this for a while) does support multi-lib for gcc/g++ 4.x onwards if you install the multilib packages. Only certain builds will fail if there is no 32bit equivalent of a library that can easly be installed on a 64bit linux machine ( certain gtk libs spring to mind ).


ok, what am i doing wrong?: now i am running native 64bit archlinux. i installed all avaiable lib32 packages. now i get the following error, when i try to compile sth.:

Building untitled1
Compiling:untitled1.bmx
flat assembler  version 1.67.36  (32768 kilobytes memory)
3 passes, 2546 bytes.
Linking:untitled1.debug
/usr/bin/ld: skipping incompatible /usr/lib/libfreetype.so when searching for -lfreetype
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-unknown-linux-gnu/4.3.3/../../../libfreetype.so when searching for -lfreetype
/usr/bin/ld: skipping incompatible /usr/lib/libfreetype.so when searching for -lfreetype
/usr/bin/ld: cannot find -lfreetype
collect2: ld gab 1 als Ende-Status zurück
Build Error: Failed to link /home/stephan/BlitzMax/tmp/untitled1.debug
Process complete


and lib32-freetype2 is installed. any ideas?


dawlane(Posted 2009) [#23]
It's not a multi-lib problem but a link problem.
It's trying to link to the 64bit freetype lib (hence skipping incompatible) not the 32bit lib.
Easiest way to solve this is to create a link to the 32bit lib in Blitz Max's lib directory.

Open a command terminal and change Directory to BlitzMax's lib folder.
type:
sudo link /usr/lib32/libfreetype.so.6 libfreetype.so


danvari(Posted 2009) [#24]
hmm i cannot link the library:

link /opt/lib32/usr/lib/libfreetype.so libfreetype.so
link: Erzeugen von Verknüpfung „libfreetype.so“ zu „/opt/lib32/usr/lib/libfreetype.so“ nicht möglich: Ungültiger Link über Gerätegrenzen hinweg

in english: invalid cross-device link.

i can do a softlink, but then i get many other errors in bmax:

Building untitled1
Compiling:untitled1.bmx
flat assembler  version 1.67.36  (32768 kilobytes memory)
3 passes, 2546 bytes.
Linking:untitled1.debug
/usr/bin/ld: skipping incompatible /usr/lib/libfreetype.so when searching for -lfreetype
/usr/bin/ld: skipping incompatible /usr/lib/libX11.so when searching for -lX11
/usr/bin/ld: skipping incompatible /usr/lib/libX11.a when searching for -lX11
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-unknown-linux-gnu/4.3.3/../../../libX11.so when searching for -lX11
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-unknown-linux-gnu/4.3.3/../../../libX11.a when searching for -lX11
/usr/bin/ld: skipping incompatible /usr/lib/libX11.so when searching for -lX11
/usr/bin/ld: skipping incompatible /usr/lib/libX11.a when searching for -lX11
/usr/bin/ld: cannot find -lX11
collect2: ld gab 1 als Ende-Status zurück
Build Error: Failed to link /home/stephan/BlitzMax/tmp/untitled1.debug
Process complete



degac(Posted 2009) [#25]
Hi, just installed BlitzMax 1.32rc1 + MaxGUI 1.32 on an Acer AspireOne Ubuntu 9.04
After some experiments checking dependencies everything seems to work perfectly.
Just noticed some 'facts':
- the 'exclamation' notify and the return 'Compiler Error = 0' at the programs' termination
- after disabling 'ubuntu desktop graphics features' every single Bmax programs works fine when accessing/drawing graphics
- the example GuiLauncher has - sometimes - some problems: once time it shows only the distorted bmax logo; other times bmax logo and list of supported resolution; the selection of a resolution is difficult - the buttons dont' seem to work...

In general everything seems to be OK.


skidracer(Posted 2009) [#26]
danvari, I think you need to be more specific with your lib name, libs without version numbers are typically softlinks to latest full version names, see my last post for example.


dawlane(Posted 2009) [#27]
@degac
Just did the same for both 32bit and 64bit versions of Ubuntu 9.04. Found out that you have to disable Composite directly in the xorg.conf for every thing to work.
This may be different for other video cards

The 64bit version has some interesting packages that you can install for 32bit support.
Edit:
ia32-apt-get is one package. It's a wrapper for apt-get and allows you to install both the ia64 and ia32 libs at the same time. So no need for softlinks.


degac(Posted 2009) [#28]
Damn!!!

Today I started Ubuntu and when I start MaxIDE it doesn't start anymore! No notify, no message, nothing...

I dont' know what happened - the examples I compiled yesterday work perfectly. Only MaxIDE seems 'dead'.

Where can I find some 'error-log' (if any) about MaxIDE - or any faulty programs???

Any hints??

Sigh...


dawlane(Posted 2009) [#29]
@degac
Have you tried start MaxIDE form the command line?
cd /home/of/BlitzMax
./MaxIDE


degac(Posted 2009) [#30]
@dawlane

I tried your method,and this is what I get

degac@ubuntuone:~/Scrivania/BlitzMax2$ ls
bin  cfg  doc  docs  lib  MaxIDE  mod  samples  src  tmp  versions.txt
degac@ubuntuone:~/Scrivania/BlitzMax2$ ./MaxIDE
Segmentation fault




dawlane(Posted 2009) [#31]
@degac
Last time I saw a Segmentation fault was when using the old IDE.
You could try and rebuild the IDE from source using the command line.

Or it could be a problem with compiz (desktop effects) you may think that it's been turned off but it lies.
To make sure you will have to edit your xorg.conf file
sudo /etc/X11/xorg.conf

and add this to the bottom of the file
Section "Extensions"
    Option "Composite" "false"
EndSection

Then Reeboot
This will force the X-Server to disable compiz


degac(Posted 2009) [#32]
1. changed xorg config file: no changes --> segmentation fault
2. downloaded maxide source file, re-compiled (to be sure...) ALL the mods (bmk makemods -a -r), re-build maxide: no error during compiling. BUT I still have segmentation fault when I double click on the maxide icon.

Someone can rebuild/host a Maxide for linux so I can check if it works on my system?


ps: I just checked if the examples I compiled yesterday work or not.I discovered that ALL the examples based on MaxGUI -today - don't work. So the problem should be in some conflict in the lib I selected...now I will check this.


degac(Posted 2009) [#33]
New day, new experiment!
First I decided to re-install Ubuntu (via USB it takes less than 30 mins...)
Downloaded Bmax+MaxGUI and tried to compile it (maxIDE works...). Nothing good happened.
So I re-installed ALL the lib indicated by Marks' first post with

sudo apt-get install NAME_OF_THE_LIBRARY


Compile all the modules bring this


And MaxIDE highlights this line
include <X11/extensions/Xdbe.h>

in the file FL_DOUBLE_WINDOW.cxx

So I start to think there's something wrong in the latest linux-based MaxGUI module.
Next step is to try to update/install some FLTK lib...(it the same thing I have done saturday before MaxIDE stopped to work...)


dawlane(Posted 2009) [#34]
@degac
use this (or bits of it) you should find every thing will work.
sudo apt-get install gcc g++ libxxf86vm-dev libglu1-mesa-dev x11proto-core-dev x11proto-gl-dev x11proto-kb-dev libxxf86vm-dev libasound2-dev build-essential libidn11-dev libxft-dev x11proto-xext-dev


If your thinking of installing on a 64bit Ubuntu then follow what I did here


degac(Posted 2009) [#35]
@dawlane: perfect! it works!!! thank you!


BORNtobeNAMELESS(Posted 2009) [#36]
Quick question: Are there any Linux users out there who are unable to install debian packages?


Yes, i'm using Gentoo which is not able to install deb-packages as it uses its own Package-Management-System.


yzzm(Posted 2009) [#37]
i downloaded BlitzMax to my computer, but afterwards, the package doesn't appear as available in the "add/remove". Anyone know if I'm doing something wrong?


GfK(Posted 2009) [#38]
You need to install Blitzmax 1.30, then update to 1.33.


markcw(Posted 2009) [#39]
No that's not right, 1.33 is not an update to 1.30.

It doesn't appear in the 'add/remove programs' on Linux because it doesn't have an installer it's just a tarball. To remove BlitzMax you just delete the folder you extracted to.


yzzm(Posted 2009) [#40]
thx that solved my problem.