PDA

Ver la Versión Completa : Screenshots Centos 5.0 Lazarus, Webmin, K3b, XMMS.


poliburro
14-04-2007, 20:23:31
Como les he comentado varias veces, mi predilección por las distribuciones
basadas en Redhat se debe en gran medida a su estabilidad, facilidad de uso, y completa integración con estándares definidos por los grandes del software.

He querido instalar un par de aplicaciones en Centos para mostrar su facilidad de uso:

* Xmms Reproductor de música con soporte streaming y mp3
* WebMin Administrador web de sistema
* K3b Software de grabación de discos
* LAzarus Compilador freepascal y Editor de aplicaciones tipo delphi


Para no aburrirme, me instalo XMMS, Un excelente reproductor de
música, pus sooprta Mp3, Streaming, ogss, etc.

http://img256.imageshack.us/img256/4949/unotc6.jpg


Una vez instalado XMMS y de configurar mi estación de jazz favorita
procedo a instalar el webmin

http://img256.imageshack.us/img256/4214/dosax0.jpg


Una vez terminada la instalación, verifico el correcto funcionamiento de webmin

http://img259.imageshack.us/img259/1872/tressz4.jpg


Ahora, comienzo a instalar el K3B para poder grabar mis DVDs

http://img398.imageshack.us/img398/4905/cuatronf7.jpg


una vez terminada la instalación de k3b, ejecuto el programa

http://img398.imageshack.us/img398/2562/cincowk1.jpg


Ahora, comienzo con lazarus, como para mi mala suerte no ha sido agregado aún a los repositorios de yum
tendré que bajarme los rpms.

http://img265.imageshack.us/img265/3954/seisrg3.jpg


Comienzo la instalación de Lazarus, afortunadamente rpm se encarga de todas las dependencias por mi

http://img265.imageshack.us/img265/4540/sietejq5.jpg


Terminada la instalación de lazarus, lo ejecuto y diseño una pantallita dedicada al club

http://img411.imageshack.us/img411/4474/ochozh8.jpg


Ah pero quiero compilar algo sencillo, algo como un mensaje

http://img411.imageshack.us/img411/2734/nuevevj6.jpg


Como pueden ver, el uso de centos y la instalación de aplicaciones es algo tremendamente sencillo.
Por eso me ermito siempre recomendar Centos por encima de Ubuntu, y lo recomienzo especialmente para
quienes como nosotros se dedican al desarrollo de aplicaciones.

Para los usuarios de escritorio, recomiendo Fedora. :D


Mi humilde opinión a final de cuentas.

:D

Casimiro Notevi
14-04-2007, 21:42:39
Muy instructivo :)
Centos está muy bien, también, es la 'versión libre' de Red Hat Enterprise Linux, y realmente me gustan todas las 'distros', cada una tiene algo que me llama la atención, alguna característica o peculiaridad que la hace interesante.

Como pueden ver, el uso de centos y la instalación de aplicaciones es algo tremendamente sencillo.
Por eso me ermito siempre recomendar Centos por encima de Ubuntu, y lo recomienzo especialmente para
quienes como nosotros se dedican al desarrollo de aplicaciones.

No creas que con Ubuntu es más difícil, en lugar de usar "yum" puedes usar "apt-get" o "aptitude":

maquina@centos> yum install k3b
maquina@ubuntu> apt-get install k3b
maquina@ubuntu> aptitude install k3b

Aunque con ubuntu, además tienes otra opción mucho más fácil todavía, se trata de "synaptic", es una interfaz gráfica donde eliges el programa a instalar, marcas una casilla y listo :) nada de consola de comandos, que asusta a los novatos, automáticamente te marca también todas las dependencias y no tienes nada más que hacer :)

Aquí va un pantallazo. (http://www.intitec.com/varios/pantallazo2.png)

poliburro
14-04-2007, 22:01:32
Aunque con ubuntu, además tienes otra opción mucho más fácil todavía, se trata de "synaptic", es una interfaz gráfica donde eliges el programa a instalar, marcas una casilla y listo :) nada de consola de comandos, que asusta a los novatos, automáticamente te marca también todas las dependencias y no tienes nada más que hacer :)

Aquí va un pantallazo. (http://www.intitec.com/varios/pantallazo2.png)

Bueno, ;P a mi me encanta hacerlo desde la temrinal, jejeje soy de la vieja escuela, pero como les he dicho con centos es muy facil y de igual manera cuenta con herramientas para la instalaciòn gràfica de aplicaciones, aca pantallazo de las dos que incluye:

Administrador de Paquetes

http://img452.imageshack.us/img452/541/gestorrpmsgraficoms6.png

Administrador de paquetes YUM

http://img352.imageshack.us/img352/6955/gestoryumgraficojq4.png
(http://img352.imageshack.us/img352/6955/gestoryumgraficojq4.png)
Estas dos herramientas gràficas son como lo mencionas, Seleccionas el paquete que quieres, le das instalar y listo, te olvidas de problemas :P.

Ahora, me encantaria saber que tal es Ububtu con paquetes no definidos por default en el gestor de paquetes, como Lazarus.

Instalar y hacer funcionar lazarus en ubuntu es tan facil de hacer como en centos?.

Casimiro Notevi
15-04-2007, 03:53:10
Bueno, ;P a mi me encanta hacerlo desde la temrinal, jejeje soy de la vieja escuela
jeje, yo también soy de la vieja escuela :)

Ahora, me encantaria saber que tal es Ububtu con paquetes no definidos por default en el gestor de paquetes, como Lazarus.
Instalar y hacer funcionar lazarus en ubuntu es tan facil de hacer como en centos?.
Pues como no conozco la respuesta, he hecho una prueba, ha sido con xubuntu, he descargado FPC y Lazarus y los he instalado desde una "Terminal".
Cuando estaba instalando Lazarus salió un mensaje indicando que necesitaba la dependencia 'libc6.dev' (o algo parecido), entonces la he instalado y después he vuelto a ejecutar la instalación de Lazarus.
Resumiendo:
maquinavirtual@xubuntu> dpkg -i lazarus
maquinavirtual@xubuntu> Se necesita llbc6.dev
maquinavirtual@xubuntu> aptitude install libc6.dev
maquinavirtual@xubuntu> dpkg -i lazarus

poliburro
15-04-2007, 05:24:18
jeje, yo también soy de la vieja escuela :)


Pues como no conozco la respuesta, he hecho una prueba, ha sido con xubuntu, he descargado FPC y Lazarus y los he instalado desde una "Terminal".
Cuando estaba instalando Lazarus salió un mensaje indicando que necesitaba la dependencia 'libc6.dev' (o algo parecido), entonces la he instalado y después he vuelto a ejecutar la instalación de Lazarus.
Resumiendo:


Pues me encantarìa ver un screenshot tuyo de lazarus en tiempo de diseño, y en tiempo de depuraciòn :P.
Digo, no lo he visto corriendo en ubuntu, y con tanta facilidad de instalaciòn como en CentOs

seoane
15-04-2007, 07:05:45
Pues me encantarìa ver un screenshot tuyo de lazarus en tiempo de diseño, y en tiempo de depuraciòn :P.
Digo, no lo he visto corriendo en ubuntu, y con tanta facilidad de instalaciòn como en CentOs

Pues ahí te dejo una screenshot de lazarus en tiempo de depuración. El ejemplo es lo primero que encontré que me compilo en linux.

Dibujando espirales con el ratón:
http://img252.imageshack.us/img252/1451/pantallazorr8.png

En cuanto a instalarlo, no se si fue mas sencillo o mas fácil, yo baje el freepascal y lazarus de la pagina de lazarus en paquetes .deb. Luego solo fui haciendo dobleclic en cada paquete (eran 17), las dependencias se bajaron e instalaron solas como se esperaba.

seoane
15-04-2007, 07:13:07
Lo que me sigue pareciendo increíble es el tamaño de los ejecutables que crea lazarus. Por ejemplo, el programa anterior, que simplemente dibuja espirales sobre el formulario sin usar ningún componente, tiene un ejecutable de 6.8 Mb :eek: ¿Alguien sabe si esto se puede reducir de algún modo?

EDITO:
Si se utiliza la opción "Enlazar pequeña" lo deja en 2 Mb. Pero aun sigue siendo bastante grande, o eso creo yo ...

poliburro
15-04-2007, 07:48:40
En cuanto a instalarlo, no se si fue mas sencillo o mas fácil, yo baje el freepascal y lazarus de la pagina de lazarus en paquetes .deb. Luego solo fui haciendo dobleclic en cada paquete (eran 17), las dependencias se bajaron e instalaron solas como se esperaba.

:eek: 17 Paquetes, caramba son bastantes,

Para centos solo fueron tres paquetes, pero bueno por lo menos ya no le harè fuchi a ubuntu jajajaj, Aunque yo soy màs fan de las distros basadas en RH.

Pero bueno, por lo menos ha quedado claro que Centos no es tan dificil de usar, y que por supuesto la sencillez no es propiedad de ubuntu.

Un saludo càlido a todos los linuxeros :P.

dec
15-04-2007, 12:54:18
Hola,

Creo que Seoane se descargó FreePascal desde la página de descarga de Lázarus. Pues bien, desde ahí, efectivamente, pueden verse unos 16 paquetes (DEB) que instalan distintas partes de FreePascal, y luego otro paquete que instala Lazarus: nótese que es sólo un paquete el que instala Lazarus.

Sin embargo se puede optar por descargar FreePascal desde su propio sitio Web (http://www.freepascal.org/down/i386/linux-ftp.freepascal.org.var), concretamente:


fpc-2.0.4.i386-linux.tar (24 MB) contains a standard tar archive, with an install script After untarring the archive into a temporary location, you can run the install script by issuing the command "sh install.sh".


Si instalas FreePascal con este paquete (que lo incluye todo) no quedará sino instalar Lazarus a continuación: o sea 2 paquetes y no 17.

Nah... no me den las gracias... mándenme un cheque o en su defecto un jamón. :D

Casimiro Notevi
15-04-2007, 18:59:47
Cierto, yo sólo instalé 2, el fpc y el lazarus.

dec
15-04-2007, 19:03:42
Hola,

Yo, en honor a la verdad, he de decir que alguna vez instalé FreePascal paquete por paquete (huy, esto parece el escribillo de una canción veraniega), pero ya no más Santo Tomás. :D :D

Casimiro Notevi
15-04-2007, 19:06:54
Hola,
Yo, en honor a la verdad, he de decir que alguna vez instalé FreePascal paquete por paquete (huy, esto parece el escribillo de una canción veraniega), pero ya no más Santo Tomás. :D :D

Creo que también se puede usar comodines, algo así como: dpkg -i *.deb

Casimiro Notevi
15-04-2007, 20:25:50
Pues me encantarìa ver un screenshot tuyo de lazarus en tiempo de diseño, y en tiempo de depuraciòn :P.
Digo, no lo he visto corriendo en ubuntu, y con tanta facilidad de instalaciòn como en CentOs
Bueno, aquí (http://img128.imageshack.us/my.php?image=pruebalazarusxd4.png) lo llevas ejecutando un programita de ejemplo que accede a una base de datos.

poliburro
16-04-2007, 01:18:55
Bueno, aquí (http://img128.imageshack.us/my.php?image=pruebalazarusxd4.png) lo llevas ejecutando un programita de ejemplo que accede a una base de datos.

ya seoane amablemente había posteado una desde ubuntu, oye me llamó la atención que estas virtualizando Xubuntu desde ubuntu, Cuál es la diferencia entre Ubuntu y Xubuntu?.

Casimiro Notevi
16-04-2007, 10:14:45
ya seoane amablemente había posteado una desde ubuntu, oye me llamó la atención que estas virtualizando Xubuntu desde ubuntu, Cuál es la diferencia entre Ubuntu y Xubuntu?.

ubuntu -> gnome
kubuntu -> kde
xubuntu -> xfce

xfce es más ligero que gnome y kde, perfecto para ordenadores no muy potentes o para 'virtualizarlo'.

poliburro
16-04-2007, 16:21:03
ubuntu -> gnome
kubuntu -> kde
xubuntu -> xfce

xfce es más ligero que gnome y kde, perfecto para ordenadores no muy potentes o para 'virtualizarlo'.

Oooorale, Sip conozco ese manejador de ventanas, :P, de hecho DSL lo tiene por default. Cada día se aprenden consas nuevas.

kovaski
17-04-2007, 14:09:36
jeje, aqui (http://img172.imageshack.us/img172/7249/ubulazarusjf3.png) os pongo mi querido lazarus compilado en gtk2 :D.

y aqui (http://img261.imageshack.us/img261/4840/berylazarusab9.png) en mi ubuntu con beryl :cool:.

Bonito he?

Saludos.

Casimiro Notevi
17-04-2007, 16:59:12
Pregunta de novato con Linux: ¿dónde se elije gtk2 para compilar Lazarus?

seoane
17-04-2007, 17:19:41
Ejecuta lazarus como root y en el menu "Herramientas / Configure build lazarus" escoge gtk2. Yo tuve algunos problemas porque me faltaban por instalar algunas librerías del gtk2, pero una vez instaladas con el synaptic lo conseguí.

Por ahí dicen que hay algunos problemas con el gtk2, parece que lazarus va mas lento, yo no lo he usado lo bastante para apreciarlo. Eso si, mas bonito si que es :p
http://img408.imageshack.us/img408/9100/pantallazojw5.png (http://imageshack.us)

poliburro
17-04-2007, 18:24:16
Vaya, que gusto, esto está poniendose cada vez más interesante :P.

Sería muy bueno participar en el desarrollo de lazarus no cren :P ?

roman
17-04-2007, 18:40:35
Yo tuve algunos problemas para compilarlo con el gtk2 por una librería libgdm, o algo así, luego reviso. El problema es que si estaba instalada pero tenía un nombre distinto o por la versión. El caso es que usé el truco del enlace simbólico y funcionó.

Ahora, en principio no tiene uno que ser root para compilar a menos que instales el lazarus como root en las carpetas /usr/... De hecho, nunca tuve que hacer un su para instalar lazarus.

Pero sí que es lento. Quizá porque a fin de cuentas no estoy enlazando con las bibliotecas correctas, pero tratar de acomodar un TNoteBook es cosa de jalarse los pelos. La verdad es que quiero probarlo tan sólo por no dejar pero no me convence nada.

No he tenido mucho tiempo de investigar, pero a mi me entusiasma la idea de python. Al menos los ejemplos de wxPython se ven sensacionales, con controles de todo tipo y muy vistosos y nada de lentos. Pero además con python pueden encontrarse múltiples frameworks tanto para escrtorio como para web y mucho código puedes reusarlo en uno y otro lado.

// Saludos

poliburro
17-04-2007, 19:07:58
Pero sí que es lento. Quizá porque a fin de cuentas no estoy enlazando con las bibliotecas correctas, pero tratar de acomodar un TNoteBook es cosa de jalarse los pelos. La verdad es que quiero probarlo tan sólo por no dejar pero no me convence nada.
// Saludos

Debe ser por las bibliotecas, por que en mi pc con centos corre como seda :P. y no tengo ningún problema para compilar :P.

kovaski
17-04-2007, 20:42:02
Vaya, que gusto, esto está poniendose cada vez más interesante :P.

Sería muy bueno participar en el desarrollo de lazarus no cren :P ?

Estoy contigo.

Aunque nunca he colaborado en ningun proyecto de esta indole. Sera cuestión de probar.

Saludos.

seoane
17-04-2007, 21:33:31
Sería muy bueno participar en el desarrollo de lazarus no cren :P

Hace tiempo que quiero participar en algún proyecto, pero la verdad no sabría por donde empezar ... :o

Ahora, en principio no tiene uno que ser root para compilar a menos que instales el lazarus como root en las carpetas /usr/... De hecho, nunca tuve que hacer un su para instalar lazarus.

:( Yo lo instale usando los paquetes .deb asi que no me quedo mas remedio que hacerlo como root.

... pero a mi me entusiasma la idea de python. Al menos los ejemplos de wxPython se ven sensacionales, con controles de todo tipo y muy vistosos y nada de lentos. Pero además con python pueden encontrarse múltiples frameworks tanto para escrtorio como para web y mucho código puedes reusarlo en uno y otro lado.

A mi también, ¿conoces algún IDE para python? ¿alguno que permita diseñar formularios? yo solo conozcoo Glade (http://glade.gnome.org/).

Casimiro Notevi
17-04-2007, 22:10:45
Estaría muy bien ayudar en Lazarus, aunque pasa como con todo: el maldito tiempo :(

seoane
18-04-2007, 00:30:21
Sigo opinando que todavía no se trabaja con la misma rapidez que en Delphi, pero no deja de ser interesante. Ahí va mi primera aplicación en lazarus para linux, para quien este aburrido ...

PD: Utilizar "Ejecutar -> Construir todo" antes de ejecutarlo, ya que tuve que borrar los archivos .o para que el zip midiera menos de 29kb

mightydragonlor
23-04-2007, 20:07:00
Los Programas en Lazarus quedan muy pesados, ¿como hago para que queden mas livianos?, ¿en linux con que extencion quedan?, ¿los programas en linux quedan independientes como en windows? y donde puedo descargar el Ubuntu?; gracias y espero que puedan responder mis dudas.

seoane
23-04-2007, 21:29:02
Los Programas en Lazarus quedan muy pesados, ¿como hago para que queden mas livianos?

Para que los programas queden mas livianos en el menú "Proyecto / Opciones del compilador / Enlazado" escoge la opción "Enlazar pequeña". El ejecutable sera mas pequeño, pero aun así, seguirá siendo bastante grande comparados con los que genera delphi.


¿en linux con que extencion quedan?

Si te refieres al tamaño, siguen siendo grandes :( Si te refieres a la extension del nombre del ejecutable (.exe en windows), en linux no tiene.


¿los programas en linux quedan independientes como en windows?

Hasta donde yo se si, puede que necesites instalar gtk ...


y donde puedo descargar el Ubuntu?

Lo puedes descargar de aquí http://www.ubuntu.com/ incluso hasta hace poco te enviaban un cd a casa por correo si no querías descargarlo, no se si lo siguen haciendo.

roman
23-04-2007, 21:41:45
Bueno, pero esto de enlazar pequeña (que en realidad es pasar de gigante a enorme :D) ha de tener alguna contra ¿no? Esto es, no sé si fuera similar al "Build with runtime packages" de Delphi. ¿Has probado, si el ejecutable corre bien en un linux sin lázarus instalado?

// Saludos

seoane
23-04-2007, 21:57:13
Bueno, pero esto de enlazar pequeña (que en realidad es pasar de gigante a enorme :D) ha de tener alguna contra ¿no? Esto es, no sé si fuera similar al "Build with runtime packages" de Delphi. ¿Has probado, si el ejecutable corre bien en un linux sin lázarus instalado?

A provechamos para responder 2 preguntas, ya que antes preguntaron por ahí las librerías que usaban las aplicaciones de lazarus.

Compilado con la opcion de "Enlazar pequeña" el programa del sudoku utiliza estas librerias.

linux-gate.so.1
libX11.so.6
libgdk_pixbuf-2.0.so.0
libgtk-x11-2.0.so.0
libgdk-x11-2.0.so.0
libgobject-2.0.so.0
libglib-2.0.so.0
libgthread-2.0.so.0
libgmodule-2.0.so.0
libpango-1.0.so.0
libpthread.so.0
libatk-1.0.so.0
libdl.so.2
libc.so.6
libXau.so.6
libXdmcp.so.6
libm.so.6
libpangocairo-1.0.so.0
libXfixes.so.3
libcairo.so.2
libfontconfig.so.1
libXext.so.6
libXrender.so.1
libXinerama.so.1
libXi.so.6
libXrandr.so.2
libXcursor.so.1
librt.so.1
/lib/ld-linux.so.2
libpangoft2-1.0.so.0
libfreetype.so.6
libz.so.1
libpng12.so.0
libexpat.so.1

Y compilado sin la opción "Enlazar pequeña" usa exactamente las mismas, eso si pasa de 7 Megas o 6 Megas ... tampoco es que quede muy "pequeña" :D :D :D

roman
23-04-2007, 22:00:33
No entendí. ¿Cuál fue la respuesta?

// Saludos

seoane
23-04-2007, 22:06:37
No entendí. ¿Cuál fue la respuesta?

Tu preguntaste:

¿Has probado, si el ejecutable corre bien en un linux sin lázarus instalado?

Si utilizan las mismas librerias, en principio, se podran ejecutar en los mismos sistemas. Asi que si una aplicacion compilada sin esa opcion puede ejecutarse sin estar lazarus instalado, supongo que una compilada con esa opcion tambien lo hara. No tengo ningun linux sin lazarus para probar, pero mi razonamiento me parece correcto, ¿o estoy equivocado?

roman
23-04-2007, 22:09:10
Supongo que sí. ¿Cómo haces para saber las librerías que usa?

// Saludos

seoane
23-04-2007, 22:15:28
¿Cómo haces para saber las librerías que usa?

Usando el comando ldd

NAME
ldd - print shared library dependencies

SYNOPSIS
ldd [OPTION]... FILE...

DESCRIPTION
ldd prints the shared libraries required by each program or shared
library specified on the command line.


Por otro lado, podemos probar, Aquí dejo el programa del sudoku compilado con la opción "Enlazar pequeña" y gtk2. Ahora alguien sin lazarus instalado puede hacer la prueba :)
http://rapidshare.com/files/27544176/sudoku.zip.html

roman
23-04-2007, 22:23:37
Estaba a punto de decirte que iba a hacer esa prueba, pero en cierta forma, no tiene mucho sentido. Es que estoy seguro que no va a correr, pero no porque esté o no lázarus instalado, sino que muchas de esas librerías son requeridas por el propio lazarus. En algunos sistemas ya estarán y en otros no, dependiendo de qué cosas tengamos ya instaladas.

Me confunde un poco este tema. Es que, de entrada, si hay una opción "haz el ejecutable más pequeño" es que debe haber alguna desventaja, o sino, ¿por qué no se usa como opción por defecto, o mejor dicho, por qué si quiera existe el enlazado grande? Por ello preguntaba lo de si sería similar al delphi.

// Saludos

seoane
23-04-2007, 23:15:47
Me confunde un poco este tema. Es que, de entrada, si hay una opción "haz el ejecutable más pequeño" es que debe haber alguna desventaja, o sino, ¿por qué no se usa como opción por defecto, o mejor dicho, por qué si quiera existe el enlazado grande? Por ello preguntaba lo de si sería similar al delphi.

Lo que hace es usar la opción -XX de freepascal, que al parecer activa la directiva FPC_LINK_SMART, que me supongo que, y ya estoy suponiendo mucho :p , que utiliza algún tipo de optimización a la hora de compilar.

Por cierto usando strip, si que podemos reducir el tamaño del ejecutable. El programa del sudoku baja de 6 a 2 Megas.

strip -s sudoku

seoane
23-04-2007, 23:21:07
En el wiki de lazarus aclaran lo del Smart link

Smartlinking

The base principle of smartlinking is simple and commonly known: don't link in what is not used. This of course has a good effect on binary size.

However the compiler is merely a program, and doesn't have a magic crystal ball to see what is used, so the base implementation is more like this
The compiler finely divides the code up in so called "sections".
Then basically the linker determines what sections are used using the rule "if no label in the section is referenced, it can be removed.

There are some problems with this simplistic view:
virtual methods may be implicitely called via their VMTs. The GNU linker can't trace call sequences through these VMTs, so they must all be linked in;
tables for resource strings reference every string constant, and thus all string constants are linked in (one reason for sysutils being big).
symbols that approachable from the outside of the binary (this is possible for non library ELF binaries too) must be kept. This last limitation is necessary to e.g. avoid stripping exported functions from shared libraries..
Another such pain point are published functions and properties. References to published functions/properties can be constructed on the fly using string operations, and the compiler can't trace them. This is one of the downsides of reflection.
Published properties and methods can be resolved by creating the symbolnames using stringmanipulation, and must therefore be linked in if the class is referenced anywhere. Published code might in turn call private/protected/public code and thus a fairly large inclusion.

Another important sideeffect that is logical, but often forgotten is that this algoritm will link in everything referenced in the initialization and finalization parts of units, even if no functionality from those units are used. So be careful what you USE.

Anyway, most problems using smartlinking stem from the fact that for the smallest result FPC generally requires "compile with smartlinking" to be on WHEN COMPILING EACH AND EVERY UNIT, EVEN THE RTL

The reason for this is simple. LD only could "smart" link units that were the size of an entire .o file until fairly recently. This means that for each symbol a separate .o file must be crafted. (and then these tens of thousands of .o files are archived in .a files). This is a time (and linker memory) consuming task, thus it is optional, and is only turned on for release versions, not for snapshots. Often people having problems with smartlinking use a snapshot that contains RTL/FCL etc that aren't compiled with smartlinking on. Only solution is to recompile the source with smartlinking (-CX) on. See buildfaq for more info.

In the future this will be improved when the compiler will emit smartlinking code by default, at least for the main targets. This is made possible by two distinct developments. First, the GNU linker LD now can smartlink more finely grained (at least on Unix) using --gc-sections, second the arrival of the FPC internal linker (in the 2.1.1 branch) for all working Windows platforms (wince/win32/win64). The smartlinking using LD --gc-sections still has a lot of problems because the exact assembler layout and numerous details with respect to tables must be researched, we often run into the typical problem with GNU development software here, the tools are barely tested (or sometimes not even implemented, see DWARF standard) outside what GCC uses/stresses.

The internal linker can now smartlink Lazarus (17 seconds for a full smartlink on my Athlon64 3700+ using about 250MB memory) which is quite well, but is windows only and 2.1.1 for now. The internal linker also opens the door to more advanced smartlinking that requires Pascal specific knowledge, like leaving out unused virtual methods (20% code size on Lazarus examples, 5% on the Lazarus IDE as a rough first estimate), and being smarter about unused resourcestrings. This is all still in alpha, and above numbers are probably too optimistic, since Lazarus is not working with these optimizations yet.


Enlace al wiki: http://wiki.lazarus.freepascal.org/Size_Matters

roman
23-04-2007, 23:55:57
Muy interesante lo que citas. No termina de convencerme del todo su "defensa" de ejecutables grandes :D pero ciertamente da puntos a pensar e ilustra lo que sucede.

Me encantó esta frase:


The whole UPX cult is a funny thing that originates in a mindless pursuit of minimal binary sizes


:D

// Saludos

davidvs
15-05-2007, 20:03:13
Usando el comando ldd


Por otro lado, podemos probar, Aquí dejo el programa del sudoku compilado con la opción "Enlazar pequeña" y gtk2. Ahora alguien sin lazarus instalado puede hacer la prueba :)
http://rapidshare.com/files/27544176/sudoku.zip.html

Hola a todos, aprovecho la ocasion para estrenarme en el foro!!

Para vuestra informacion, el programa funciona perfectamente en una Ubuntu 7.04 recien instalada! (eso si, el ejecutable es insultantemente enorme -¿podria ser ke llevara todas las librerias compiladas a dentro????)