Lazarus and Gentoo lazarus / 1-Linux ---------------------------------------------------------------------- perico · 2003-09-22 23:24 Hello. Do you know if exist a package for Lazarus in Gentoo Linux? Are the developer thinking to create it? Thanks ---------------------------------------------------------------------- Martin · 2003-09-24 11:06 Same here : is an "ebuild" on the road map :?: ---------------------------------------------------------------------- Anonymous · 2003-09-26 15:40 Is there someone alive behind the forums ? ---------------------------------------------------------------------- AJGenius · 2003-09-27 15:43 Heh. kinda hard to answer a question like this. But here is my take. As gentoo is a from source distro an e-build should normaly download a source tar and compile and install, given the nature of the freepascal requirements you would have to bootstrap with a prebuilt fpc binary first and then let it self-compile etc, under gentoo this isn't too tricky, but I certainly wouldn't want to have to maintain such an e-build, and given the overall lack/need of dependencies in lazarus itself besides that its almost pointless to bother making one. I.E. Freepascal will work on virtually any base system, should require nothing itself, but what about all the packages? to fit properly in the gentoo scheme of dependencies you would have to have either a different ebuild per fpc package each "depending" on those libs it is the headers for, or one huge one requiring massive amounts of ridiculous depends. I can see here the sanest gentoo way of doing this is to do seperate packages for each, meaning seperate e-builds for fpc + rtl, fcl, x, gtk, gnome, xforms, zlib, .... and about 20 other packages just for fpc to maintain. Lazarus itself would then be similar intricacies, because it can be built different for different depends, for instance base lcl  would by this scheme have to require gtk and gtk2 and gnome1.4 and win32 headers, or would have to package each interfaces sepearately, moreover the gtk interface doesn't have to have gdkpixbuf(though its strongly recomended), so that would have to be a properly balanced USE flag, gnome doesn't have to imlib, so thats another one for that.... do you see where I am going? As long as gentoo is built around the C way of handling things then any package we build will not follow gentoos way or will require ridiculous(and in the fpc method utterly pointless) amounts of work and effort to maintain(not to mention use). Since not following gentoo's design makes an e-build essentialy pointless, I think it makes most sense to simply use the normal installer for fpc, and simply grab and compile lazarus from tar or cvs manually yourself for now. Maybe I am overcomplicating matters, but if you all want such e-builds I would recommend looking into the issue youself, as I don't use or work with gentoo a lot. ---------------------------------------------------------------------- Anonymous · 2003-10-11 18:13 This is not quite true. FPC already exists as an ebuild. So a Lazarus ebuild should be easy to maintain, if you specify FPC as a dependency. ---------------------------------------------------------------------- Anonymous · 2003-12-29 20:43 It is easy to have lazarus on Gentoo. 1. Just emerge fpc 2. Download the lazarus sources and put them in a directory. 3. Run "make" in lazarus directory 4. Run ./lazarus ---------------------------------------------------------------------- Anonymous · 2004-05-23 15:19 Quote from: "Anonymous"It is easy to have lazarus on Gentoo. 1. Just emerge fpc 2. Download the lazarus sources and put them in a directory. 3. Run "make" in lazarus directory 4. Run ./lazarusEasy huh?  I followed your instrictions but running 'make' returns errors: make make -C lcl all make[1]: Entering directory `/home/james/Desktop/lazarus/lcl' /bin/rm -f units/i386/linux/alllclunits.ppu /usr/bin/ppc386 -gl -Fu. -Funonwin32 -Fuwidgetset -Fu/usr/lib/fpc/1.0.10/units/linux/rtl -Fu/usr/lib/fpc/1.0.10/units/linux/paszlib -Fu/usr/lib/fpc/1.0.10/units/linux/netdb -Fu/usr/lib/fpc/1.0.10/units/linux/libasync -Fu/usr/lib/fpc/1.0.10/units/linux/pthreads -Fu/usr/lib/fpc/1.0.10/units/linux/fcl -Fu/usr/lib/fpc/1.0.10/units/linux/mysql -Fu/usr/lib/fpc/1.0.10/units/linux/ibase -Fu/usr/lib/fpc/1.0.10/units/linux/sqlite -Fu/usr/lib/fpc/1.0.10/units/linux/x11 -Fu/usr/lib/fpc/1.0.10/units/linux/opengl -Fu/usr/lib/fpc/1.0.10/units/linux/gtk -Fiinclude -FUunits/i386/linux -Fl/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.2 -Fl/opt/blackdown- jdk-1.4.1/jre/lib/i386/ -Fl/opt/blackdown- jdk-1.4.1/jre/lib/i386/classic/ -Fl/opt/blackdown- jdk-1.4.1/jre/lib/i386/native_threads/ -Fl/usr/X11R6/lib -Fl/usr/games/lib -Fl/usr/kde/3.2/lib -Fl/usr/lib/gcc-lib/i686-pc- linux-gnu/3.3.2 -Fl/usr/lib/opengl/nvidia/lib -Fl/usr/local/lib -Fl/usr/qt/3/lib -di386 alllclunits.pp make -C interfaces all make[2]: Entering directory `/home/james/Desktop/lazarus/lcl/interfaces' make -C gtk all make[3]: Entering directory `/home/james/Desktop/lazarus/lcl/interfaces/gtk' /bin/rm -f ../../units/i386/linux/gtk/interfaces.ppu \         ../../units/i386/linux/gtk/interfaces.o /usr/bin/ppc386 -gl -dgtk1 -Fu../../units/i386/linux -Fu. -Fu/usr/lib/fpc/1.0.10/units/linux/rtl -Fu/usr/lib/fpc/1.0.10/units/linux/paszlib -Fu/usr/lib/fpc/1.0.10/units/linux/netdb -Fu/usr/lib/fpc/1.0.10/units/linux/libasync -Fu/usr/lib/fpc/1.0.10/units/linux/pthreads -Fu/usr/lib/fpc/1.0.10/units/linux/fcl -Fu/usr/lib/fpc/1.0.10/units/linux/gtk -Fu/usr/lib/fpc/1.0.10/units/linux/mysql -Fu/usr/lib/fpc/1.0.10/units/linux/ibase -Fu/usr/lib/fpc/1.0.10/units/linux/sqlite -Fu/usr/lib/fpc/1.0.10/units/linux/x11 -Fu/usr/lib/fpc/1.0.10/units/linux/opengl -FU../../units/i386/linux/gtk -Fl/usr/lib/gcc-lib/i686-pc-linux- gnu/3.3.2 -Fl/opt/blackdown-jdk-1.4.1/jre/lib/i386/ -Fl/opt/blackdown- jdk-1.4.1/jre/lib/i386/classic/ -Fl/opt/blackdown- jdk-1.4.1/jre/lib/i386/native_threads/ -Fl/usr/X11R6/lib -Fl/usr/games/lib -Fl/usr/kde/3.2/lib -Fl/usr/lib/gcc-lib/i686-pc- linux-gnu/3.3.2 -Fl/usr/lib/opengl/nvidia/lib -Fl/usr/local/lib -Fl/usr/qt/3/lib -di386 interfaces.pp gtkwscomctrls.pp(211,33) Error: Cannot access a protected field of an object here gtkwscomctrls.pp(213,51) Error: Cannot access a protected field of an object here gtkwscomctrls.pp(216,29) Error: Cannot access a protected field of an object here gtkwscomctrls.pp(338) Fatal: There were 3 errors compiling module, stopping make[3]: *** [interfaces.ppu] Error 1 make[3]: Leaving directory `/home/james/Desktop/lazarus/lcl/interfaces/gtk' make[2]: *** [gtk_all] Error 2 make[2]: Leaving directory `/home/james/Desktop/lazarus/lcl/interfaces' make[1]: *** [interfaces] Error 2 make[1]: Leaving directory `/home/james/Desktop/lazarus/lcl' make: *** [lcl] Error 2 ---------------------------------------------------------------------- Anonymous · 2004-06-18 13:01 Some months ago (12/2003) fpc 1.0.10 was able to compile Lazarus. Now lazarus requires newer fpc from CVS. You have to build manually the updated version of fpc and then Lazarus... ---------------------------------------------------------------------- Vincent Snijders · 2004-06-18 13:32 Quote from: "Anonymous"Some months ago (12/2003) fpc 1.0.10 was able to compile Lazarus. Now lazarus requires newer fpc from CVS. You have to build manually the updated version of fpc and then Lazarus... This is not true, you can use fpc 1.0.10 to compile lazarus. The developers are thinking about moving to 1.9.4 or later, because it offers interfaces, which  makes implementing the LCL easier. If you find any problem compiling lazarus with fpc 1.0.10, mail it to the mailing list, because fpc 1.0.10 is still supported, although most developers use a 1.9.x compiler on a daily basis. ---------------------------------------------------------------------- Anonymous · 2004-11-06 09:18 hi I'm trying to compile lazarus on gentoo with FPC-1.9.5 and this is the error that i get main.pp(775,3) Note: Local variable "StartedByStartLazarus" is assigned but never used Linking ./lazarus /usr/lib/fpc/1.9.5/units/linux/rtl/cprt0.o(.text+0x24): In function `_start': : undefined reference to `__libc_init' /usr/lib/fpc/1.9.5/units/linux/rtl/cprt0.o(.text+0x31): In function `_start': : undefined reference to `__setfpucw' lazarus.pp(97,1) Error: Error while linking Closing script ./ppas.sh make[1]: *** [lazarus] Error 1 make[1]: Leaving directory `/usr/src/lazarus' make: *** [ide] Error 2 Can anyone help with this as I'm not a pascel programmer (yet). thanks inadvance Peter Tiggerdine (ptiggerdine@no-spam.fastmail.com.au ---------------------------------------------------------------------- Anonymous · 2004-11-07 22:14 hi, just more debugging for the developers Linking ./lazarus /usr/lib/fpc/1.9.4/units/linux/rtl/cprt0.o(.text+0x28): In function `_start': : undefined reference to `__libc_init' /usr/lib/fpc/1.9.4/units/linux/rtl/cprt0.o(.text+0x35): In function `_start': : undefined reference to `__setfpucw' lazarus.pp(97,1) Error: Error while linking Closing script ./ppas.sh make[1]: *** [lazarus] Error 1 make[1]: Leaving directory `/usr/src/lazarus' make: *** [ide] Error 2 now this was from emerge fpc ( which is version 1.9.4) and cvsing the lazarus source, so something to definately broken.  If someone could give me an eta on this it would be great as I'm trying to push this application and the free pascal compiler to a HUGE corperate big wig who are sick of the lack of interest that borland is showing in kylix thanks indavance Peter Tiggerdine (ptiggerdine@no-spam.fastmail.com.au) ---------------------------------------------------------------------- Vincent Snijders · 2004-11-08 11:42 I doubt this is a lazarus problem, more likely it is caused by an error in the fpc installation. Try creating a small fpc program in a text editor: Code: [Select]program hello; uses cmem; //to force using libc begin   writeln('Hello world'); end. Can you compile and run this? It seems libc is non standard and that is a gentoo problem, so the gentoo maintainer for fpc should look into this. ---------------------------------------------------------------------- pinguin · 2005-08-23 09:59 Hello. I use Gentoo too. an emerge fpc worked fine. Your program "Hello World" compiled and runs perfectly. (hello has a size of 92k!) But the make for Lazarus (lazarus.0.9. stopps linking with: .. .. .. Compiling cleandirdlg.pas Linking ./lazarus /usr/bin/ld: cannot find -lgdk_pixbuf lazarus.pp(98,1) Error: Error while linking make[1]: *** [lazarus] Fehler 1 make[1]: Leaving directory `/home/paul/Downloads/Lazarus/lazarus' make: *** [ide] Fehler 2 Anybody, having the same Problem ? Meanwhile i'll try the new lazarus 0.9.9, maybe better thanks in advance. Paul ---------------------------------------------------------------------- Vincent Snijders · 2005-08-23 13:03 No, your having another problem. You need to install the gdk-pixbuf developement libraries. It usually contains a file libgdk_pixbuf.so which is a symlink to the prefered version of the gdj_pixbuf lib. ---------------------------------------------------------------------- glober · 2005-08-24 00:35 Just an observation , but more than three months after the official release of FPC ver. 2.0 and the portage version is still sittting at 2.0.0-rc1 and Lazarus at 0.9.6. Quite saddly out of date.  I guess the maintainers have disappeared. SVN is the way to go. ---------------------------------------------------------------------- glober · 2005-08-26 00:24 Quote from: "glober"Just an observation , but more than three months after the official release of FPC ver. 2.0 and the portage version is still sittting at 2.0.0-rc1 and Lazarus at 0.9.6. Quite saddly out of date.  I guess the maintainers have disappeared. SVN is the way to go. Correction to my message; portage has FPC ver. 2.0.0,  Lazarus sits at 0.9.6, so actually having ver. 2.0.0 is probably useless for lazarus install because 0.9.6 won't work with 2.0.0 as far as I know. ---------------------------------------------------------------------- glober · 2005-08-27 05:08 Quote from: "glober"Correction to my message; portage has FPC ver. 2.0.0,  Lazarus sits at 0.9.6, so actually having ver. 2.0.0 is probably useless for lazarus install because 0.9.6 won't work with 2.0.0 as far as I know. Correction again, looks like 0.9.6 will probably work with 2.0.0 and 2.0.0-r1. Haven't actualy tried it though. ---------------------------------------------------------------------- Anonymous · 2006-05-21 14:00 USE="source" emerge lazarus WORKing ! ---------------------------------------------------------------------- Hippy · 2006-05-24 17:08 Blimey, this looks like hard work. I was thinking of moving to Gentoo, but I think I'll stick with Fedora Core 5 - don't have any issues at all with installation. ---------------------------------------------------------------------- glober · 2006-05-25 02:15 Quote from: "Hippy"Blimey, this looks like hard work. Not at all. This is an old thread. Installing Lazarus on Gentoo is a breeze. All you do is unmask Lazarus and FPC if you run Gentoo stable and do "emerge lazarus", and all dependencies including fpc are automatically installed and taken care of. Couldn't be easier. No pixbuf this or gdk that stuff, like with other distributions. At present the Gentoo versions sit at FPC-2.0.2 and Lazarus 0.9.12 , so if you want something more recent, then install Lazarus and FPC Gentoo versions to set up the sytem with the dependent libraries, and then "unmerge" them and install other versions of FPC and Lazarus as desired. The dependent library versions don't change for more recent versions of FPC and Lazarus as far as I know. I certainly never had to concern myself with dependencies, running the latest SVN version of Lazarus. If your are not a beginner with Linux, Gentoo can be considered a lazy man's distro   .