Fun and games with Mageia 64bit

Archives Forums/Linux Discussion/Fun and games with Mageia 64bit

dawlane(Posted 2013) [#1]
OK decided today to have a look at the Mandrake->Mandriva clone..... Mageia release 3. Getting BlitzMax to work on the 32bit was a breeze, but the 64bit is going to be a trial as libpng.mod doesn't compile correctly ( think they had the same undefined reference errors when some tried it on ARCHLinux a couple of years ago. The correct solution really is to update libpng.mod, but there is a work around that involves modifying libpng.bmx by commenting out all the imported cpp files and adding Import "-lpng" so the compile will link to libpng.so.2.
The challenge was finding the package names and to get a few links setup.
If any one wants to have ago here's the packages.
urpmi libmesaglu1-devel libxpm-devel libfreetype6-devel libpulseaudio-devel libalsa2-devel

urpmi libopenal-devel libxft-devel libopenal-devel libxft2 libxpm4 libpng12_0 libpulseaudio0 libopenal

The links
ln -s /usr/lib/libpng12.so.0 /usr/lib/libpng.so
ln -s /usr/lib/libXpm.so.4 /usr/lib/libXpm.so
ln -s /usr/lib/libXft.so.2 /usr/lib/libXft.so
ln -s /usr/lib/libopenal.so.1 /usr/lib/libopenal.so



dawlane(Posted 2013) [#2]
OK after doing a bit of research I discovered that these errors.
/home/jason/Desktop/BlitzMax/mod/pub.mod/libpng.mod/libpng.debug.linux.x86.a(pngread.c.debug.linux.x86.o): In function `png_read_row':
pngread.c:(.text+0x1082): undefined reference to `png_combine_row'
pngread.c:(.text+0x10e4): undefined reference to `png_combine_row'
pngread.c:(.text+0x1149): undefined reference to `png_combine_row'
pngread.c:(.text+0x11ab): undefined reference to `png_combine_row'
pngread.c:(.text+0x1210): undefined reference to `png_combine_row'
/home/jason/Desktop/BlitzMax/mod/pub.mod/libpng.mod/libpng.debug.linux.x86.a(pngread.c.debug.linux.x86.o):pngread.c:(.text+0x126e): more undefined references to `png_combine_row' follow
/home/jason/Desktop/BlitzMax/mod/pub.mod/libpng.mod/libpng.debug.linux.x86.a(pngread.c.debug.linux.x86.o): In function `png_read_row':
pngread.c:(.text+0x1631): undefined reference to `png_read_filter_row'
pngread.c:(.text+0x1709): undefined reference to `png_do_read_interlace'
pngread.c:(.text+0x1739): undefined reference to `png_combine_row'
pngread.c:(.text+0x1769): undefined reference to `png_combine_row'
pngread.c:(.text+0x178b): undefined reference to `png_combine_row'
pngread.c:(.text+0x17ab): undefined reference to `png_combine_row'
/home/jason/Desktop/BlitzMax/mod/pub.mod/libpng.mod/libpng.debug.linux.x86.a(png.c.debug.linux.x86.o): In function `png_init_mmx_flags':
png.c:(.text+0xd67): undefined reference to `png_mmx_support'
collect2: error: ld returned 1 exit status
are caused by the compiler not handling MMX instructions correctly.
Adding #define PNG_NO_MMX_CODE to png.h will for the time being will fix it.