lazarus won't start lazarus / 1-Linux ---------------------------------------------------------------------- Triple · 2009-02-04 10:36 I have tried to install lazarus on my macminic powerpc. I tried it with installing with synaptics and also building the app with the sources but it alway stuck while starting. I tried it with debian linux 4.0r6 etch and also with debian lenny rc2 This is the error what I got starting lazarus in the konsole *********************************** martin@Mac-Mini:/usr/lib/lazarus$ ./lazarus TRasterImage.BitmapHandleNeeded: Unable to create handles, using default TMainIDE.ParseCmdLineOptions:   PrimaryConfigPath="/home/martin/.lazarus"   SecondaryConfigPath="/etc/lazarus" [FORMS.PP] ExceptionOccurred   Sender=EAccessViolation   Exception=Access violation   Stack trace:   $BFD17698   $0FD590EC   $0FD5C36C   $0FD5C674   $0FD49364   $0FD1AB9C   $0FD590EC   $0FD5C36C   $0FD5C674   $0FD0CD6C   $0FD1A9A4   $0FD5C1D8   $0FD5CA5C   $0FDA9C20   $0FD546CC   $0FD1A9A4   $0FD5C1D8 TApplication.HandleException Access violation   Stack trace:   $BFD17698   $0FD590EC   $0FD5C36C   $0FD5C674   $0FD49364   $0FD1AB9C   $0FD590EC   $0FD5C36C   $0FD5C674   $0FD0CD6C   $0FD1A9A4   $0FD5C1D8   $0FD5CA5C   $0FDA9C20   $0FD546CC   $0FD1A9A4   $0FD5C1D8 [FORMS.PP] ExceptionOccurred ******************************************************** I have looked throug google but I could not find anny solution on it maybe it has to to a little bit because I don't now really whats going wrong I tought maybe the dependencies from the libs where wrong and so I tried to build it by my own inside the working envirement but this fails also , but the building process looks like okay . This is the log while starting lazarus from own build ********************************************************** TRasterImage.BitmapHandleNeeded: Unable to create handles, using default TMainIDE.ParseCmdLineOptions:   PrimaryConfigPath="/home/martin/.lazarus"   SecondaryConfigPath="/etc/lazarus" [FORMS.PP] ExceptionOccurred   Sender=EAccessViolation   Exception=Access violation   Stack trace:   $7FBC38B8   $0FD7B8F0   $0FD7D16C   $0FD7D418   $0FD68BA4   $0FD3B55C   $0FD7B8F0   $0FD7D16C   $0FD7D418   $0FD2D8B0   $0FD3B364   $0FD7CE08   $0FD7D910   $0FDC0F20   $0FD7560C   $0FD3B364   $0FD7CE08 TApplication.HandleException Access violation   Stack trace:   $7FBC38B8   $0FD7B8F0   $0FD7D16C   $0FD7D418   $0FD68BA4   $0FD3B55C   $0FD7B8F0   $0FD7D16C   $0FD7D418   $0FD2D8B0   $0FD3B364   $0FD7CE08   $0FD7D910   $0FDC0F20   $0FD7560C   $0FD3B364   $0FD7CE08 [FORMS.PP] ExceptionOccurred ******************************* so this looks like a common problem for powerpc machines using debian hope sombody could help me to find a solution regards Martin ---------------------------------------------------------------------- Triple · 2009-02-05 07:33 Here is some output from gdb hopefully it helps to find the bug. It looks like that lazarus could't be compiled okay on PowerPC platform ****************************************************************** (gdb) run Starting program: /home/martin/builddir/lazarus/lazarus [Thread debugging using libthread_db enabled] [New Thread 805500736 (LWP 6014)] Program received signal SIGILL, Illegal instruction. [Switching to Thread 805500736 (LWP 6014)] 0x7f8d59cc in ?? () (gdb) bt #0  0x7f8d59cc in ?? () #1  0x0fe98c78 in ?? () from /usr/lib/libgdk_pixbuf-2.0.so.0 #2  0x0f9d952c in g_object_unref () from /usr/lib/libgobject-2.0.so.0 #3  0x0fe99220 in gdk_pixbuf_unref () from /usr/lib/libgdk_pixbuf-2.0.so.0 #4  0x1029f3a4 in TGTKWIDGETSET__RAWIMAGE_CREATEBITMAPS (ARAWIMAGE=       {DESCRIPTION = {FORMAT = RICFRGBA, WIDTH = 32, HEIGHT = 32, DEPTH = 32, BI TORDER = RIBOBITSINORDER, BYTEORDER = RIBOLSBFIRST, LINEORDER = RILOTOPTOBOTTOM,  LINEEND = RILEDWORDBOUNDARY, BITSPERPIXEL = 32, REDPREC = 8, REDSHIFT = 0, GREE NPREC = 8, GREENSHIFT = 8, BLUEPREC = 8, BLUESHIFT = 16, ALPHAPREC = 8, ALPHASHI FT = 24, MASKBITSPERPIXEL = 1, MASKSHIFT = 0, MASKLINEEND = RILEBYTEBOUNDARY, MA SKBITORDER = RIBOBITSINORDER, PALETTECOLORCOUNT = 0, PALETTEBITSPERINDEX = 0, PA LETTESHIFT = 0, PALETTELINEEND = RILETIGHT, PALETTEBITORDER = RIBOBITSINORDER, P ALETTEBYTEORDER = RIBOLSBFIRST}, DATA = 0x30331170 '', DATASIZE = 4096, MASK = 0 x304ae0a0 '�?���'#31'���'#31'���'#31'���'#15'��'#7, MASKSIZE = 128, PALETTE = 0x 0, PALETTESIZE = 0}, ABITMAP=806941648, AMASK=0, ASKIPMASK=false,     this=0x301970b0) at gtklclintf.inc:337 #5  0x10142840 in RAWIMAGE_CREATEBITMAPS (ARAWIMAGE=       {DESCRIPTION = {FORMAT = RICFRGBA, WIDTH = 32, HEIGHT = 32, DEPTH = 32, BI TORDER = RIBOBITSINORDER, BYTEORDER = RIBOLSBFIRST, LINEORDER = RILOTOPTOBOTTOM,  LINEEND = RILEDWORDBOUNDARY, BITSPERPIXEL = 32, REDPREC = 8, REDSHIFT = 0, GREE NPREC = 8, GREENSHIFT = 8, BLUEPREC = 8, BLUESHIFT = 16, ALPHAPREC = 8, ALPHASHI FT = 24, MASKBITSPERPIXEL = 1, MASKSHIFT = 0, MASKLINEEND = RILEBYTEBOUNDARY, MA SKBITORDER = RIBOBITSINORDER, PALETTECOLORCOUNT = 0, PALETTEBITSPERINDEX = 0, PA LETTESHIFT = 0, PALETTELINEEND = RILETIGHT, PALETTEBITORDER = RIBOBITSINORDER, P ALETTEBYTEORDER = RIBOLSBFIRST}, DATA = 0x30331170 '', DATASIZE = 4096, MASK = 0 x304ae0a0 '�?���'#31'���'#31'���'#31'���'#15'��'#7, MASKSIZE = 128, PALETTE = 0x 0, PALETTESIZE = 0}, ABITMAP=806941648, AMASK=0, ASKIPMASK=false)     at lclintf.inc:170 #6  0x10144a54 in CREATECOMPATIBLEBITMAPS (ARAWIMAGE=       {DESCRIPTION = {FORMAT = RICFRGBA, WIDTH = 32, HEIGHT = 32, DEPTH = 32, BI TORDER = RIBOBITSINORDER, BYTEORDER = RIBOLSBFIRST, LINEORDER = RILOTOPTOBOTTOM,  LINEEND = RILEDWORDBOUNDARY, BITSPERPIXEL = 32, REDPREC = 8, REDSHIFT = 16, GRE ENPREC = 8, GREENSHIFT = 8, BLUEPREC = 8, BLUESHIFT = 0, ALPHAPREC = 8, ALPHASHI FT = 24, MASKBITSPERPIXEL = 1, MASKSHIFT = 0, MASKLINEEND = RILEWORDBOUNDARY, MA SKBITORDER = RIBOBITSINORDER, PALETTECOLORCOUNT = 0, PALETTEBITSPERINDEX = 0, PA LETTESHIFT = 0, PALETTELINEEND = RILETIGHT, PALETTEBITORDER = RIBOBITSINORDER, P ALETTEBYTEORDER = RIBOLSBFIRST}, DATA = 0x3034cce0 '', DATASIZE = 4096, MASK = 0 x304ae010 '�?���'#31'���'#31'���'#31'���'#15'��'#7, MASKSIZE = 128, PALETTE = 0x 0, PALETTESIZE = 0}, ABITMAP=806941648, AMASK=0, ASKIPMASK=false)     at graphics.pp:2052 #7  0x1014b378 in TRASTERIMAGE__BITMAPHANDLENEEDED (this=0x30177100)     at rasterimage.inc:192 #8  0x1015e81c in TCUSTOMICON__GETBITMAPHANDLE (this=0x30177100)     at icon.inc:490 ---Type to continue, or q to quit--- #9  0x101613ec in TICON__HANDLENEEDED (this=0x30177100) at icon.inc:1234 #10 0x10161324 in TICON__RELEASEHANDLE (this=0x30177100) at icon.inc:1218 #11 0x100424d8 in TAPPLICATION__BIGICONHANDLE (this=0x3019f010)     at application.inc:975 #12 0x100421e4 in TAPPLICATION__ICONCHANGED (SENDER=0x30177100,     this=0x3019f010) at application.inc:936 #13 0x10145c84 in TGRAPHIC__CHANGED (SENDER=0x30177100, this=0x30177100)     at graphic.inc:67 #14 0x1014c0cc in TRASTERIMAGE__CHANGED (SENDER=0x30177100, this=0x30177100)     at rasterimage.inc:391 #15 0x1014b90c in TRASTERIMAGE__ENDUPDATE (ASTREAMISVALID=true,     this=0x30177100) at rasterimage.inc:267 #16 0x1014c424 in TRASTERIMAGE__LOADFROMSTREAM (ASTREAM=0x3034e230,     ASIZE=136415, this=0x30177100) at rasterimage.inc:450 #17 0x1014c1d4 in TRASTERIMAGE__LOADFROMSTREAM (ASTREAM=0x3034e230,     this=0x30177100) at rasterimage.inc:413 #18 0x10146a88 in TGRAPHIC__LOADFROMLAZARUSRESOURCE (RESNAME=0x10852b84,     this=0x30177100) at graphic.inc:252 #19 0x10040910 in TAPPLICATION__INITIALIZE (this=0x3019f010)     at application.inc:374 #20 0x100111a8 in main () at lazarus.pp:92 ********************************************************** Martin ---------------------------------------------------------------------- Marc · 2009-02-06 09:40 is this on the macmini ? You're using the gtk widgetset (and X). It is less tested nowadays since there is a native carbon interface for mac. Or in case you are displaying using remote X, there are some troubles with (i guess) endianess when using remote ---------------------------------------------------------------------- Triple · 2009-02-06 11:02 Sorry but I am not to familiar with the hole stuff. I tried out different way's to install Lazarus. with rpm packages with dpkg . I build Lazarus from source . Tried source from svn or also the downloaded tar stuff . With the fixes included and not . On Debian 4 RC6 stable and Lenny and alway the same Problem. This problem looks like to fix it , is more proffesional knowlage essential needed then I realy have. Three year's ago I also build the old lazarus version from source and with less knowlage I had those day's it was really easy to go and working . But now I don't know what I can do anymore. I don't use remote and with the gtk widgetset and X I don't really understand what it could have to be or making problems. I just do everything like it is described installing the stuff from wiki. Martin ---------------------------------------------------------------------- Triple · 2009-02-12 09:34 I do not see exactly if the following case is based on the same Problem, but maybe it shows a little bit where the problem have to be looked for. http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=511505 Does anybody understand more or see a connection beetween these two problems ? Martin ---------------------------------------------------------------------- Vincent Snijders · 2009-02-12 12:38 Both Lazarus and WinFF use the LCL. To me it is clear that there is a bug in the LCL for powerpc-linux- gtk. If you do make in the examples dir, do any of the examples run? ---------------------------------------------------------------------- Triple · 2009-02-12 19:00 So if there is a bug in the LCL normally every application which uses the LCL  by crosscompiling from x86 to PowerPC should also fail . Is that right ? If not I was thinking about making the same binary with the fpc from x86 cross and powerpc nativ should have the same output. If not so would make things more clear where the bug hide itself. Very intresting bug, but a little overloaded for me. Martin ---------------------------------------------------------------------- Marc · 2009-02-15 16:05 I don't think this will help. It is probably not the code generation, but a lcl-gtk-widgetset issue for big endian linux. This is a bit hard to test, so probably not yet detected. From your callstack it looks like #4  0x1029f3a4 in TGTKWIDGETSET__RAWIMAGE_CREATEBITMAPS fails and then the cleanup in #3 causes the crash. Can you put this in a bugreport ? whoops, already reported: http://bugs.freepascal.org/view.php?id=13123 ---------------------------------------------------------------------- Triple · 2009-02-16 08:39 So because I build lazarus without debugsymbols I alreadybuild it again the same way on x86 and on powerpc . Both with the same binary version of the fpc and both the same version from the svn. As everybody know the x86 version works and the powerpc version crash. This time I build lazarus with "make OPT=DDebug" as writen inside the wiki to include the debugsymbols. So learing by doing it looks for me that the crash comes up while calling a lib but I don't understand how to find out which lib exacly is the problem and also what the problem is being couse by. What I want to say is Is the problem coused by calling the lib with wrong data or gives the lib something wrong back. So a made a second debug message with gdb Code: [Select](gdb) run Starting program: /home/martin/lazarus/lazarus [Thread debugging using libthread_db enabled] [New Thread 805439232 (LWP 4325)] Program received signal SIGILL, Illegal instruction. [Switching to Thread 805439232 (LWP 4325)] 0x7fd85a0c in ?? () (gdb) bt #0  0x7fd85a0c in ?? () #1  0x0fe98c78 in ?? () from /usr/lib/libgdk_pixbuf-2.0.so.0 #2  0x0f9d952c in g_object_unref () from /usr/lib/libgobject-2.0.so.0 #3  0x0fe99220 in gdk_pixbuf_unref () from /usr/lib/libgdk_pixbuf-2.0.so.0 #4  0x102a02ec in TGTKWIDGETSET__RAWIMAGE_CREATEBITMAPS (ARAWIMAGE=       {DESCRIPTION = {FORMAT = RICFRGBA, WIDTH = 32, HEIGHT = 32, DEPTH = 32, BITORDER = RIBOBITSINORDER, BYTEORDER = RIBOLSBFIRST, LINEORDER = RILOTOPTOBOTTOM, LINEEND = RILEDWORDBOUNDARY, BITSPERPIXEL = 32, REDPREC = 8, REDSHIFT = 0, GREENPREC = 8, GREENSHIFT = 8, BLUEPREC = 8, BLUESHIFT = 16, ALPHAPREC = 8, ALPHASHIFT = 24, MASKBITSPERPIXEL = 1, MASKSHIFT = 0, MASKLINEEND = RILEBYTEBOUNDARY, MASKBITORDER = RIBOBITSINORDER, PALETTECOLORCOUNT = 0, PALETTEBITSPERINDEX = 0, PALETTESHIFT = 0, PALETTELINEEND = RILETIGHT, PALETTEBITORDER = RIBOBITSINORDER, PALETTEBYTEORDER = RIBOLSBFIRST}, DATA = 0x30363850 '', DATASIZE = 4096, MASK = 0x304e10a0 'ÿ?ðÿÿ'#31'àÿÿ'#31'àÿÿ'#31'àÿÏ'#15'àÿ'#7, MASKSIZE = 128, PALETTE = 0x0, PALETTESIZE = 0}, ABITMAP=807150544, AMASK=0, ASKIPMASK=false,     this=0x301ca0b0) at gtklclintf.inc:337 #5  0x10142f78 in RAWIMAGE_CREATEBITMAPS (ARAWIMAGE=       {DESCRIPTION = {FORMAT = RICFRGBA, WIDTH = 32, HEIGHT = 32, DEPTH = 32, BITORDER = RIBOBITSINORDER, BYTEORDER = RIBOLSBFIRST, LINEORDER = RILOTOPTOBOTTOM, LINEEND = RILEDWORDBOUNDARY, BITSPERPIXEL = 32, REDPREC = 8, REDSHIFT = 0, GREENPREC = 8, GREENSHIFT = 8, BLUEPREC = 8, BLUESHIFT = 16, ALPHAPREC = 8, ALPHASHIFT = 24, MASKBITSPERPIXEL = 1, MASKSHIFT = 0, MASKLINEEND = RILEBYTEBOUNDARY, MASKBITORDER = RIBOBITSINORDER, PALETTECOLORCOUNT = 0, PALETTEBITSPERINDEX = 0, PALETTESHIFT = 0, PALETTELINEEND = RILETIGHT, PALETTEBITORDER = RIBOBITSINORDER, PALETTEBYTEORDER = RIBOLSBFIRST}, DATA = 0x30363850 '', DATASIZE = 4096, MASK = 0x304e10a0 'ÿ?ðÿÿ'#31'àÿÿ'#31'àÿÿ'#31'àÿÏ'#15'àÿ'#7, MASKSIZE = 128, PALETTE = 0x ---Type to continue, or q to quit--- 0, PALETTESIZE = 0}, ABITMAP=807150544, AMASK=0, ASKIPMASK=false)     at lclintf.inc:170 #6  0x1014518c in CREATECOMPATIBLEBITMAPS (ARAWIMAGE=       {DESCRIPTION = {FORMAT = RICFRGBA, WIDTH = 32, HEIGHT = 32, DEPTH = 32, BITORDER = RIBOBITSINORDER, BYTEORDER = RIBOLSBFIRST, LINEORDER = RILOTOPTOBOTTOM, LINEEND = RILEDWORDBOUNDARY, BITSPERPIXEL = 32, REDPREC = 8, REDSHIFT = 16, GREENPREC = 8, GREENSHIFT = 8, BLUEPREC = 8, BLUESHIFT = 0, ALPHAPREC = 8, ALPHASHIFT = 24, MASKBITSPERPIXEL = 1, MASKSHIFT = 0, MASKLINEEND = RILEWORDBOUNDARY, MASKBITORDER = RIBOBITSINORDER, PALETTECOLORCOUNT = 0, PALETTEBITSPERINDEX = 0, PALETTESHIFT = 0, PALETTELINEEND = RILETIGHT, PALETTEBITORDER = RIBOBITSINORDER, PALETTEBYTEORDER = RIBOLSBFIRST}, DATA = 0x303b5440 '', DATASIZE = 4096, MASK = 0x304e1010 'ÿ?ðÿÿ'#31'àÿÿ'#31'àÿÿ'#31'àÿÏ'#15'àÿ'#7, MASKSIZE = 128, PALETTE = 0x0, PALETTESIZE = 0}, ABITMAP=807150544, AMASK=0, ASKIPMASK=false)     at graphics.pp:2052 #7  0x1014bab0 in TRASTERIMAGE__BITMAPHANDLENEEDED (this=0x301aa100)     at rasterimage.inc:192 #8  0x1015ef54 in TCUSTOMICON__GETBITMAPHANDLE (this=0x301aa100)     at icon.inc:490 #9  0x10161b24 in TICON__HANDLENEEDED (this=0x301aa100) at icon.inc:1234 #10 0x10161a5c in TICON__RELEASEHANDLE (this=0x301aa100) at icon.inc:1218 #11 0x100428bc in TAPPLICATION__BIGICONHANDLE (this=0x301d2010)     at application.inc:976 #12 0x100425c8 in TAPPLICATION__ICONCHANGED (SENDER=0x301aa100,     this=0x301d2010) at application.inc:937 #13 0x101463bc in TGRAPHIC__CHANGED (SENDER=0x301aa100, this=0x301aa100)     at graphic.inc:67 ---Type to continue, or q to quit--- #14 0x1014c804 in TRASTERIMAGE__CHANGED (SENDER=0x301aa100, this=0x301aa100)     at rasterimage.inc:391 #15 0x1014c044 in TRASTERIMAGE__ENDUPDATE (ASTREAMISVALID=true,     this=0x301aa100) at rasterimage.inc:267 #16 0x1014cb5c in TRASTERIMAGE__LOADFROMSTREAM (ASTREAM=0x30381230,     ASIZE=136415, this=0x301aa100) at rasterimage.inc:450 #17 0x1014c90c in TRASTERIMAGE__LOADFROMSTREAM (ASTREAM=0x30381230,     this=0x301aa100) at rasterimage.inc:413 #18 0x101471c0 in TGRAPHIC__LOADFROMLAZARUSRESOURCE (RESNAME=0x108558f8,     this=0x301aa100) at graphic.inc:252 #19 0x10040cf4 in TAPPLICATION__INITIALIZE (this=0x301d2010)     at application.inc:375 #20 0x100112ec in main () at lazarus.pp:92 (gdb) these are the libs which where needed by the lazarus application Code: [Select]/lazarus$ ldd ./lazarus         libX11.so.6 => /usr/lib/libX11.so.6 (0x0fecd000)         libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0x0fe93000)         libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0x0faea000)         libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0x0fa2f000)         libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0x0f9c8000)         libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x0f8fc000)         libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0x0f8d7000)         libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0x0f8b3000)         libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0x0f860000)         libpthread.so.0 => /lib/tls/libpthread.so.0 (0x0f82c000)         libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0x0f7f9000)         libdl.so.2 => /lib/tls/libdl.so.2 (0x0f7d5000)         libc.so.6 => /lib/tls/libc.so.6 (0x0f661000)         libXau.so.6 => /usr/lib/libXau.so.6 (0x0f63e000)         libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x0f618000)         libm.so.6 => /lib/tls/libm.so.6 (0x0f57f000)         libpangocairo-1.0.so.0 => /usr/lib/libpangocairo-1.0.so.0 (0x0f556000)         libcairo.so.2 => /usr/lib/libcairo.so.2 (0x0f4ce000)         libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x0f479000)         libXext.so.6 => /usr/lib/libXext.so.6 (0x0f445000)         libXrender.so.1 => /usr/lib/libXrender.so.1 (0x0f41a000)         libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0x0f3f7000)         libXi.so.6 => /usr/lib/libXi.so.6 (0x0f3cd000)         libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0x0f3a9000)         libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0x0f37e000)         libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x0f358000)         librt.so.1 => /lib/tls/librt.so.1 (0x0f330000)         /lib/ld.so.1 (0x30000000)         libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0x0f2e2000)         libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x0f24a000)         libz.so.1 => /usr/lib/libz.so.1 (0x0f214000)         libpng12.so.0 => /usr/lib/libpng12.so.0 (0x0f1ce000)         libexpat.so.1 => /usr/lib/libexpat.so.1 (0x0f186000) So what could I do next the help finding or locating the bug ? regards Martin ---------------------------------------------------------------------- Vincent Snijders · 2009-02-27 19:46 We found the solution: use fpc 2.3.1 ---------------------------------------------------------------------- Marc · 2009-02-28 13:39 there was a problem with code generation on powerpc-linux for procedures with "a lot" of agruments, therefore a call to gdk_pixbuf_new_from_data() returned rubbish and when freeing it, gdk_pixbuf_unref() crashed on it. edit:typo arm -> powerpc ---------------------------------------------------------------------- Vincent Snijders · 2009-02-28 14:32 arm-linux must be powerpc-linux? ---------------------------------------------------------------------- Triple · 2009-02-28 19:14 Thanks very much  Great It works. I will make a howto with a little script. regards Martin ---------------------------------------------------------------------- Marc · 2009-03-01 13:13 Quote from: Vincent Snijders on February 28, 2009, 03:32:16 pmarm- linux must be powerpc-linux? Yes, typo ---------------------------------------------------------------------- Triple · 2009-03-03 09:45 Compiling Lazarus für PowerPC Architekture works good. So now I have made a little script for checkout and buildung fpc on fresh new machine without having a running fpc at startup. I think the script could also expanded to other platform. I try to make also a little description about it. Hope this will help somebody and make things more clear. Martin Code: [Select]#! /bin/bash #name this file e.g get_fpc.sh and save it in your homeDIR #don't forget to make it executable # #set -x # #Thanks to Tuxbox #Parts from this script are borrowed from TUXBOX #So feel free to optimize it but don't forget to give the "good" modifications back # http://forum.lazarus.freepascal.org/index.php?action=forum # #Have fun and , :-) Martin Haag # # 02 March 2009 #********************************************************************* ************* #Now checking if the necessary tools are installed CUT=`which cut` GREP=`which grep` let A=0 echo "....... testing if the needed software is installed" echo "" ### svn ### SVN=`which svn` EXITCODE=$? #echo $EXITCODE let A=$EXITCODE+$A if [ "$EXITCODE" = "0" ]; then echo "svn:                      "`$SVN --version | $GREP svn, | $CUT -f3 -d " "` else echo -e "\033[37;41msvn nicht installiert\033[37;40m" fi; ### make >= 3.79 ### MAKE=`which make` EXITCODE=$? let A=$EXITCODE+$A if [ "$EXITCODE" = "0" ]; then echo "make >= 3.79:             "`$MAKE --version | $GREP Make | $CUT -f3 -d " "` else echo -e "\033[37;41mmake nicht installiert\033[37;40m" fi; ### makeinfo (texinfo) ### MAKEINFO=`which makeinfo` EXITCODE=$? let A=$EXITCODE+$A if [ "$EXITCODE" = "0" ]; then echo "makeinfo:                 "`$MAKEINFO --version | $GREP makeinfo | $CUT -f4 -d " "` else echo -e "\033[37;41mmakeinfo nicht installiert\033[37;40m" fi; ### tar ### TAR=`which tar` EXITCODE=$? let A=$EXITCODE+$A if [ "$EXITCODE" = "0" ]; then echo "tar:                      "`$TAR --version | $GREP tar | $CUT -f4 -d " "` else echo -e "\033[37;41mtar nicht installiert\033[37;40m" fi; ### bunzip2 (bzip2) ### BUNZIP2=`which bunzip2` EXITCODE=$? let A=$EXITCODE+$A if [ "$EXITCODE" = "0" ]; then echo "bunzip2:                  "`bunzip2 --help 2> btmp; $GREP Version < btmp | $CUT -c 50-54; rm btmp` else echo -e "\033[37;41mbunzip2 nicht installiert\033[37;40m" fi; ### gunzip (gzip) ### GUNZIP=`which gunzip` EXITCODE=$? let A=$EXITCODE+$A if [ "$EXITCODE" = "0" ]; then echo "gunzip:                   "`$GUNZIP --version | $GREP gzip | $CUT -f2 -d " "` else echo -e "\033[37;41mgunzip nicht installiert\033[37;40m" fi; ### gcc 2.95 or >= 3.0 ### GCC=`which gcc` EXITCODE=$? let A=$EXITCODE+$A if [ "$EXITCODE" = "0" ]; then echo "gcc 2.95 or >= 3.0:       "`$GCC --version | $GREP gcc | $CUT -f3 -d " "` else echo -e "\033[37;41mgcc nicht installiert\033[37;40m" fi; # ->   z1 -ne z2 [ $zahl -ne 7 ] Ist wahr, wenn beide Zahlen ungleich sind. if [ $A -ne 0 ]; then echo -e "\033[37;41mPlease install the missing packages\033[37;40m" else echo "No package missing , lets go" fi; #********************************************************************* *********** #downloading the binary 4 the platform 4 building fpc from source cd $HOME mkdir $HOME/fpc mkdir $HOME/fpc/download cd $HOME/fpc/download wget ftp://ftp.freepascal.org/pub/fpc/snapshot/v23/powerpc- linux/fpc-2.3.1.powerpc-linux.tar.gz mkdir $HOME/fpc/fpc_bin cd $HOME/fpc/fpc_bin tar -xzvf ~/fpc/download/fpc-2.3.1.powerpc-linux.tar.gz cd $HOME/fpc/fpc_bin/bin ln -s $HOME/fpc/fpc_bin/lib/fpc/2.3.1/ppcppc ppcppc cd $HOME/fpc/fpc_bin/lib/fpc/2.3.1 ./samplecfg $HOME/fpc/fpc_bin/bin $HOME export PATH=$HOME/fpc/fpc_bin/bin:$PATH #now the the downloaded fpc bin should be ready for use #******************************************************** # checkout fpc from svn #this should checkout fpc 2.3.x from svn #Download Daily Source Snapshot of Development Tree (trunk) #You can download todays development (trunk - currently v2.3.x) # http://www.freepascal.org/develop.html #******************************************************** cd ~/fpc svn checkout http://svn.freepascal.org/svn/fpc/trunk ~/fpc/svn cd $HOME/fpc/svn make clean all echo "" echo "To install fpc switch to root" echo "1) expand the path with " echo "2) " echo "3) " echo "4) " echo "5) " echo "6) " echo "7) <./samplecfg /usr/local/lib/fpc/2.3.1 /etc>" echo "8) Don't forget to delete fpg.cfg in your HOMEDIR -> $HOME because this is the temp one from the used binary" exit ---------------------------------------------------------------------- Vincent Snijders · 2009-03-03 09:51 Nice that you got things working. I thought that $HOME/fpc.cfg had to be moved to $HOME/.fpc.cfg to let the compiler find it, but maybe I am wrong. ---------------------------------------------------------------------- Triple · 2009-03-03 10:03 Hi, after downloading the binary package the script install a fpc.cfg inside the $HOME only for the temp use of the fpc inside $HOME/fpc/bin . But this configuration file could make problems after installing the new fpc . Maybe problems, becouse of old path things and so on. So therefore a new fpc.cfg will be generated from the new fpc build I used the $HOME for the first cfg because of the write permissons  but after installing the builded fpc its good to store the cfg inside /etc so every user have acess to regards Martin ---------------------------------------------------------------------- Triple · 2009-03-03 22:13 So now we are going to build Lazarus  first of all make shure that you have following packages proper installed Code: [Select]x11proto-kb-dev install libxdmcp-dev install xtrans-dev install x11proto-core-dev install x11proto-input-dev install libpthread-stubs0-dev install libxau-dev install libpthread-stubs0 install libx11-dev install libxcb-xlib0-dev install libxcb1-dev install libglib1.2ldbl install libgtk1.2 install libgdk-pixbuf2 install libgtk1.2-common install libstdc++6-4.3-dev install libsm-dev install libuser-identity-perl install libice-dev install x11proto-xext-dev install libatk1.0-dev install debhelper install intltool-debian install libglib2.0-dev install libmime-types-perl install x11proto-xinerama-dev install libpango1.0-dev install g++-4.3 install x11proto-render-dev install libglib1.2-dev install libxi-dev install libxrender-dev install po-debconf install libcairo2-dev install libfile-remove-perl install libsysfs-dev install g++ install libpng12-dev install libfontconfig1-dev install libmail-sendmail-perl install libdirectfb-dev install x11proto-composite-dev install libxcursor-dev install gettext install x11proto-randr-dev install x11proto-damage-dev install libio-stringy-perl install libxcb-render-util0-dev install libgtk2.0-dev install libxext-dev install libjpeg62-dev install libxdamage-dev install libobject-realize-later-perl install zlib1g-dev install libfreetype6-dev install x11proto-fixes-dev install dpkg-dev install libgtk1.2-dev install libxcomposite-dev install libmpeg3-dev install libxrandr-dev install libexpat1-dev install html2text install libpixman-1-dev install libxft-dev install libdigest-hmac-perl install libxcb-render0-dev install libxfixes-dev install libxinerama-dev install libmail-box-perl install libsys-hostname-long-perl install libmpeg3-1 install libdigest-sha1-perl install build-essential install libgdk-pixbuf-dev install glibc-source install These packages  looks like that they are needed from the build process. If you find out some were to much so please tell it here so we can update the list for wiki. To make it easy as much as possible you can safe this into a file name it install_all.txt open synaptics . There you can import the file. After this  you can start the following script Code: [Select]#! /bin/bash #save this file as get_lazarus_svn.sh & store it @$HOME #set -x # svn checkout http://svn.freepascal.org/svn/lazarus/trunk/ $HOME/lazarus/svn cd $HOME/lazarus/svn make # # http://wiki.lazarus.freepascal.org/Installing_Lazarus/de # echo "use inside $HOME/lazarus/svn 4 update Lazarus svn" exit -a Now the build process should run through This was now done by me on a new fresh debian5 system with Powerpc architekture. Maybe some packages where to much but this list was created by try and error to get the build process run through. Hope this will help some people to climb over the first hill building Lazarus and get it working. So have fun I tried this out . Yet you got Revision 18887. But building an error occur Compiling allsyneditunits.pp Compiling synpropertyeditobjectlist.pas Fatal: Can't find unit PropEdits used by SynPropertyEditObjectList Fatal: Compilation aborted make[2]: *** [allsyneditunits.ppu] Fehler 1 make[2]: Leaving directory `/home/martin/lazarus/svn/components/synedit' make[1]: *** [synedit_all] Fehler 2 make[1]: Leaving directory `/home/martin/lazarus/svn/components' make: *** [components] Fehler 2 This looks like a problem from the source today. Martin ---------------------------------------------------------------------- Leledumbo · 2009-03-04 04:37 I just got the same error with the latest daily snapshot. The build order seems wrong because SynEdit gets built before IDEIntf does. I solve this problem by doing 'make all' in ideintf folder first, then continue the broken 'make all' from the top directory. No bug report about this yet AFAIK, so please make it (I'm too lazy to do it ). Note that this bug doesn't occur if you build lazarus from the IDE (don't know why). ---------------------------------------------------------------------- Vincent Snijders · 2009-03-04 07:22 This error is suposedly fixed in r18888: http://svn.freepascal.org/cgi- bin/viewvc.cgi?view=rev&root=lazarus&revision=18888 Instead of make (or make all), I would advice make bigide, which adds some more components to the component palette. This make target is used in releases and snapshots too. I use make all for normal development of lazarus itself, it is faster and the binary is smaller. ---------------------------------------------------------------------- Triple · 2009-03-04 08:35 Yes now this bug is fixed and it compiles Lazarus completely. @Leledumbo   No Bug report is neeeded I am also partly lazy  @Vincent  So the things I have done (scripts) hopefully helps the beginners to startup the wole stuff. Do you think I should write a litte explanation file for it about whats going on ? So this could help a lot to understand whats going on. We could also modify the script about what's to checkout e.g brunch or trunk or last stable release or something like "get_lazarus stable" or so. Martin ---------------------------------------------------------------------- Vincent Snijders · 2009-03-04 09:09 Martin, I have no opinion about that, but more documentation never hurts, I guess. That being said, your scripts already have some documentation.