Revision [21511]

Last edited on 2012-05-13 09:57:10 by darkcity
Additions:
[[HomePage]] > [[ComponentHowTo Components and HowTos]] > [[CompilingIndex Compiling]]
CategoryCompiling
Deletions:
[[HomePage]] > [[ComponentHowTo Components and HowTos]] > [[HowToProgramming Programming]]


Revision [19551]

Edited on 2011-11-16 09:59:23 by darkcity [bread]
Additions:
[[HomePage]] > [[ComponentHowTo Components and HowTos]] > [[HowToProgramming Programming]]
====How to Compile Within Puppy Linux====
Deletions:
===How to Compile Within Puppy Linux===


Revision [18962]

Edited on 2011-10-18 08:50:31 by coolpup
Additions:
Acquire the source code of the desired program either as //tar.gz// (//.tgz//), //tar.bz2// or //tar.xz// (//.txz//) file formats (such a file being known as a tarball). To acquire the source code one needs to download it from the program developer's website. The different file formats simply denote the different types of compression used in creating that file. Sometimes software developers only supply binary code packages and no source code, e.g. JavaRuntimeEnvironment, [[libflashplayer]]; sometimes they provide both, e.g. [[libreoffice]], [[qt]], [[syslinux]].
Deletions:
Acquire the source code of the desired program either as //tar.gz// (//.tgz//), //tar.bz2// or //tar.xz// (//.txz//) file formats (such a file being known as a tarball). To acquire the source code one needs to download it from the program developer's website. The different file formats simply denote the different types of compression used in creating that file. Sometimes software developers only supply binary code packages and no source code, e.g. JavaRuntimeEnvironment, [[libflashplayer]]; sometimes they supply both, e.g. [[libreoffice]], [[qt]], [[syslinux]].


Revision [18961]

Edited on 2011-10-18 08:47:35 by coolpup
Additions:
%%(language-ref)make install%% (This is optional because one may first proceed to make a PET or SFS package before using it itself to install the software which is usually a more flexible way)
Deletions:
%%(language-ref)make install%% (This is optional because one may first proceed to make a PET or SFS package before using it itself to install the software)


Revision [18960]

Edited on 2011-10-18 08:45:12 by coolpup
Additions:
and optionally install the program:
%%(language-ref)make install%% (This is optional because one may first proceed to make a PET or SFS package before using it itself to install the software)
Deletions:
and install your program:
%%(language-ref)make install%%


Revision [18959]

Edited on 2011-10-18 08:38:51 by coolpup
Additions:
Acquire the source code of the desired program either as //tar.gz// (//.tgz//), //tar.bz2// or //tar.xz// (//.txz//) file formats (such a file being known as a tarball). To acquire the source code one needs to download it from the program developer's website. The different file formats simply denote the different types of compression used in creating that file. Sometimes software developers only supply binary code packages and no source code, e.g. JavaRuntimeEnvironment, [[libflashplayer]]; sometimes they supply both, e.g. [[libreoffice]], [[qt]], [[syslinux]].
Now try compiling these simple cases: [[x264]], [[libvpx]]; [[xvid]] (more demanding; must read INSTALL file)
Ideally one should proceed to create a PET software package from the compilation process. The PET is a special package that is manually created so that it can be subsequently used by any user to automatically install the pre-compiled software //and// any additional supporting files such as menu entries and optionally other customizations. Most users rely on these PET packages for acquiring additional software to their repository. After compiling, some manual tweaking is often required so as to have successfully running software, and that is one reason why PET packages are created since they will contain those modifications. To become self-proficient at software package creation it could take at least a year of practice.
Deletions:
Acquire the source code of the desired program either as //tar.gz// (//.tgz//), //tar.bz2// or //tar.xz// (//.txz//) file formats (such a file being known as a tarball). To acquire the source code one needs to download it from the program developer's website. The different file formats simply denote the different types of compression used in creating that file. Sometimes software developers only supply binary code packages and no source code, e.g. JavaRuntimeEnvironment, [[libreoffice]], [[syslinux]].
Ideally one should proceed to create a PET software package from the compilation process. The PET is a special package that is manually created so that it can be subsequently used by any user to automatically install the pre-compiled software //and// any additional supporting files such as menu entries and optionally other customizations. Most users rely on these PET packages for acquiring additional software to their repository. After compiling, some manual tweaking is often required so as to have successfully running software, and that is one reason why PET packages are created since they will contain those modifications. To become self-proficient at software package creation it would take at least a year without this article.
Now try compiling these simple cases: [[libvpx]]; [[xvid]] (more demanding; must read INSTALL file)


Revision [18958]

Edited on 2011-10-18 08:32:13 by coolpup
Additions:
Using [[Tor]] as an example, acquire the source code by entering into the command-line interface:
Deletions:
Using [[Tor]] as an example enter into the command-line interface:


Revision [18957]

Edited on 2011-10-18 08:31:10 by coolpup
Additions:
Acquire the source code of the desired program either as //tar.gz// (//.tgz//), //tar.bz2// or //tar.xz// (//.txz//) file formats (such a file being known as a tarball). To acquire the source code one needs to download it from the program developer's website. The different file formats simply denote the different types of compression used in creating that file. Sometimes software developers only supply binary code packages and no source code, e.g. JavaRuntimeEnvironment, [[libreoffice]], [[syslinux]].
Using [[Tor]] as an example enter into the command-line interface:
Deletions:
Acquire the source code of the desired program either as //tar.gz// (//.tgz//), //tar.bz2// or //tar.xz// (//.txz//) file formats (such a file being known as a tarball). To acquire the source code one needs to download it from the program developer's website. The different file formats simply denote the different types of compression used in creating that file. Using [[Tor]] as an example enter into the command-line interface:


Revision [18956]

Edited on 2011-10-18 08:25:31 by coolpup
Additions:
It is not absolutely necessary for one to perform the compiling process since there exist repositories (e,g. http://www.debian.org/distrib/packages) of binary code packages of which individual packages may be modified for Puppy Linux usage. So why bother? Compiling the source code within Puppy Linux produces software that is //optimized// for Puppy. The resultant binary code of the compiling process then usually needs to be prepared for it to be usable by Puppy; this process being called packaging. Compiling and packaging are different processes and both may be considered an art form to perform. Proficiency and skill at performing both processes is only possible with much practice.
The above explanation is a general outline. Not all source code will make use of the same configure arguments (options) as given above; many specific cases are provided in this wiki within the software category, e.g. [[libav]], [[pidgin]], [[transmission]].
Deletions:
It is not absolutely necessary for one to perform the compiling process since there exist repositories (e,g. http://www.debian.org/distrib/packages) of binary code packages of which individual packages may be modified for Puppy Linux usage. So why bother? Compiling the source code within Puppy Linux produces software that is //optimized// for Puppy. The resultant binary code of the compiling process then usually needs to be prepared for it to be usable by Puppy; this process is called packaging. Compiling and packaging are different processes and both may be considered an art form to perform. Proficiency and skill at performing both processes is only possible with much practice.
The above explanation is a general outline. Not all source code will make use of the same configure arguments (options) as given above; many specific cases are provided in this wiki within the software category, e.g. [[ffmpeg]]).


Revision [18955]

Edited on 2011-10-18 07:22:42 by coolpup
Additions:
===How to Compile Within Puppy Linux===
Deletions:
===How to Compile Within Puppy===


Revision [18954]

Edited on 2011-10-18 07:22:25 by coolpup
Additions:
Compiling, in the context of computer programming, refers to when the programming code that constitutes a particular piece of software (source code), which is written by a human, is //converted// (using a software program generally known as a //compiler//) into a binary package (binary code) which a microprocessor can read or make use of. This conversion is achieved by using the //make// command. Prior to issuing this command some configure options (arguments) are passed to it by running the //configure// script (if it exists, which it normally does). If there is no //configure// script this usually means that there are no configure options available and one may proceed directly to issuing the //make// command. It may also mean that one may need to generate it oneself using //autogen.sh//.
It is not absolutely necessary for one to perform the compiling process since there exist repositories (e,g. http://www.debian.org/distrib/packages) of binary code packages of which individual packages may be modified for Puppy Linux usage. So why bother? Compiling the source code within Puppy Linux produces software that is //optimized// for Puppy. The resultant binary code of the compiling process then usually needs to be prepared for it to be usable by Puppy; this process is called packaging. Compiling and packaging are different processes and both may be considered an art form to perform. Proficiency and skill at performing both processes is only possible with much practice.
Acquire the source code of the desired program either as //tar.gz// (//.tgz//), //tar.bz2// or //tar.xz// (//.txz//) file formats (such a file being known as a tarball). To acquire the source code one needs to download it from the program developer's website. The different file formats simply denote the different types of compression used in creating that file. Using [[Tor]] as an example enter into the command-line interface:
Deletions:
Compiling, in the context of computer programming, refers to when the programming code that constitutes a particular piece of software (source code), which is written by a human, is //converted// (using a software program generally known as a //compiler//) into a binary package which a microprocessor can read or make use of. This conversion is achieved by using the //make// command. Prior to issuing this command some configure options (arguments) are passed to it by running the //configure// script (if it exists, which it normally does). If there is no //configure// script this usually means that there are no configure options available and one may proceed directly to issuing the //make// command. It may also mean that one may need to generate it oneself using //autogen.sh//.
Compiling the source code within Puppy Linux produces software that is //optimized// for Puppy. The resultant binary code then usually needs to be packaged for it to be usable by Puppy.
Acquire the source code of the desired program either as //tar.gz// (//.tgz//), //tar.bz2// or //tar.xz// (//.txz//) file formats (such a file being known as a tarball). The different file formats simply denote the different types of compression used in creating that file. Using [[Tor]] as an example enter into the command-line interface:


Revision [18938]

Edited on 2011-10-18 01:24:46 by coolpup
Additions:
- [[http://www.brainwavedesigncentral.net/micko01/stuff/puppy/spup/ Puppy 5.3]]
Deletions:
- [[http://www.murga-linux.com/puppy/viewtopic.php?p=422444#422444 Fluppy]]


Revision [18937]

Edited on 2011-10-18 01:16:14 by coolpup
Additions:
Compiling the source code within Puppy Linux produces software that is //optimized// for Puppy. The resultant binary code then usually needs to be packaged for it to be usable by Puppy.
Compiling the Linux kernel is dealt with [[CompilingKernel here]]. How to compile software applications now follows.
Acquire the source code of the desired program either as //tar.gz// (//.tgz//), //tar.bz2// or //tar.xz// (//.txz//) file formats (such a file being known as a tarball). The different file formats simply denote the different types of compression used in creating that file. Using [[Tor]] as an example enter into the command-line interface:
Deletions:
Compiling within Puppy produces software that is //optimized// for Puppy.
Compiling the kernel is dealt with [[CompilingKernel here]]. How to compile software applications now follows.
Acquire the source file of the desired program either as //tar.gz// (//.tgz//), //tar.bz2// or //tar.xz// (//.txz//) file formats (such a file being known as a tarball). The different file formats simply denote the different types of compression used in creating that file. Using [[Tor]] as an example enter into the command-line interface:


Revision [18254]

Edited on 2011-09-26 01:39:15 by coolpup
Additions:
- [[http://distro.ibiblio.org/puppylinux/puppy-5.2.8/ Puppy 5.2.8]]
Deletions:
- [[http://distro.ibiblio.org/puppylinux/puppy-5.2.5/ Puppy 5.2.5]]


Revision [16048]

Edited on 2011-06-27 10:56:26 by coolpup
Additions:
These scripts may be useful for assisting with compiling: [[src2pkg]] and Pcompile (references: [[http://www.murga-linux.com/puppy/viewtopic.php?p=320609 1]], [[http://www.murga-linux.com/puppy/viewtopic.php?p=525706#525706 2]]).
Deletions:
Now experiment with using [[src2pkg]] and [[http://www.murga-linux.com/puppy/viewtopic.php?p=320609 Pcompile]].
http://www.murga-linux.com/puppy/viewtopic.php?p=525706#525706


Revision [15620]

Edited on 2011-06-17 07:58:59 by coolpup
Additions:
- a personal save file has to exist first; at least 512MB in size and with sufficient free space
Deletions:
- a save file has to exist first


Revision [15604]

Edited on 2011-06-17 06:11:28 by coolpup
Additions:
%%cd /dev/shm/program_name && strip -p -d --strip-unneeded -R .comment -R .note -R .note.ABI-tag program_name/*%%
Then use the //[[dir2pet]]// script which converts a directory into a PET file, e.g. using tor-0.2.1.30 compiled within Wary:
Deletions:
%%cd /tmp/program_name && strip -p -d --strip-unneeded -R .comment -R .note -R .note.ABI-tag program_name/*%%
Then use the //[[http://murga-linux.com/puppy/viewtopic.php?t=52033 dir2pet]]// script which converts a directory into a PET file, e.g. using tor-0.2.1.30 compiled within Wary:


Revision [15602]

Edited on 2011-06-17 06:03:38 by coolpup
Additions:
Ideally one should proceed to create a PET software package from the compilation process. The PET is a special package that is manually created so that it can be subsequently used by any user to automatically install the pre-compiled software //and// any additional supporting files such as menu entries and optionally other customizations. Most users rely on these PET packages for acquiring additional software to their repository. After compiling, some manual tweaking is often required so as to have successfully running software, and that is one reason why PET packages are created since they will contain those modifications. To become self-proficient at software package creation it would take at least a year without this article.
N.B. If the package is intended for maximum wide distribution, then use //-mtune=generic// instead of //-mtune=native//.
The name given to the directory is arbitrary and user-defined, but should be appropriate and comprehensible since the resultant PET file will have the same name. For example, the above directory has been given a date suffix to denote the date of creation of the software package, and the suffix //w// to denote that it was compiled within Puppy Wary. Normally, for software applications one would create additional files to place inside the parent directory before executing //dir2pet// so that menu entries, and icons for the menu and desktop, are made available: see SoftwarePackageCreation
Deletions:
Ideally one should proceed to create a PET software package from the compilation process. The PET is a special package that is manually created so that it can be subsequently used by someone to automatically install the pre-compiled software //and// any additional supporting files such as menu entries and optionally other customizations. Most users rely on these PET packages for acquiring additional software to their repository. After compiling, some manual tweaking is often required so as to have successfully running software, and that is one reason why PET packages are created.
N.B. If the package is intended for sharing or wide distribution, then use //-mtune=generic// instead of //-mtune=native//.
The name given to the directory is arbitrary and user-defined, but should be appropriate and comprehensible since the resultant PET file will have the same name. For example, the above directory has been given a date suffix to denote the date of creation of the software package. Normally, for software applications one would create additional files to place inside the parent directory before executing //dir2pet// so that menu entries, and icons for the menu and desktop, are made available: see SoftwarePackageCreation


Revision [15601]

Edited on 2011-06-17 05:53:11 by coolpup
Additions:
- //-tune=generic// is used when the program is likely to be used with any microprocessor; that is why software package maintainers often make use of it since their packages are going to be shared with many users
Deletions:
- //-tune=generic// is used when the program is likely to be used with any microprocessor; that is why software packagers often make use of it


Revision [15600]

The oldest known version of this page was created on 2011-06-17 05:49:34 by coolpup
Valid XHTML 1.0 Transitional :: Valid CSS :: Powered by WikkaWiki , online since July 19, 2009.