How do I compile anything?

discuss compiling applications for Puppy
Message
Author
User avatar
michaellowe
Posts: 66
Joined: Sat 17 Dec 2011, 08:33
Location: The Garden

No package 'libffi' found

#16 Post by michaellowe »

8-bit wrote:In attempts to compile source code sometimes one runs into problems of required dependencies needed by the code not being present.

And some packagers of source code just assume that if their PC has that dependency file that others have it too.

Also, tracking down those missing dependency files can be a real pain.

And then some dependencies require other dependencies.

Sometimes I think it is a wonder that one can compile anything.

Also, who among us has the knowledge to write a "config" file for compiling?

Answer. Barry does. I do not.
ditto we are on the same page 8bit lol ;-)
Smash forehead on keyboard to continue.....
well thats at least how some of us deal with ba$h !

learnhow2code

#17 Post by learnhow2code »

it would be great to have a database of things that compile "out of the box" and in what puppy they compile in.

these would be pretty good for practice, perhaps an "easy, intermediate, difficult" list would be even better.

Sailor Enceladus
Posts: 1543
Joined: Mon 22 Feb 2016, 19:43

#18 Post by Sailor Enceladus »

learnhow2code wrote:it would be great to have a database of things that compile "out of the box" and in what puppy they compile in.

these would be pretty good for practice, perhaps an "easy, intermediate, difficult" list would be even better.
Slacko 6.3, from memory:

- dosbox (pretty easy)
- links browser (pretty easy)
- mplayer (pretty easy)
- timidity (pretty easy)
- tar, gzip, xz, p7zip (pretty easy)
- jwm (pretty easy)
- gnome-player (pretty easy)
- htop (pretty easy)
- wine (pretty easy but takes a long time)
- firefox (pretty easy but takes a longggggg time)
- ndiswrapper (intermediate)
- broadcom_wl (intermediate)
- pidgin (difficult)

I tried a ton more but usually just were a one time things sporadically then deleted.

User avatar
rockedge
Posts: 1864
Joined: Wed 11 Apr 2012, 13:32
Location: Connecticut, United States
Contact:

#19 Post by rockedge »

I regularly compile ZoneMinder. It was a steep learning curve but once I got the hang of it I can rip one out pretty easily.

I solve each error or missing dependency one by one and a lot of thinking out of the box and experimenting. I learned how to add PERL modules using CPAN and CPANM and how to find libs that must be present and are not. I search engine around the Ubuntu repos looking for the Debs that are called for.

I found that mixing some stuff from Debian and some from Ubuntu in Tahr 6.0,5 works and I just finished upgrading to ZoneMinder 1.30 by building it for source instead of using the PPM2 which with the new PPM mod 1.0.1 really makes it a snap to add repositories.

Any way good luck and keep at it until it works! I lucked out and somehow found away to build this ZM in Puppy Linux and it works very well.

User avatar
smokey01
Posts: 2813
Joined: Sat 30 Dec 2006, 23:15
Location: South Australia :-(
Contact:

#20 Post by smokey01 »

Compiling for many is a bit of a black art. In fact it can be quite easy all the way up to very difficult. Many of us like to compile our own software and sometimes even for the experienced user it can be difficult to achieve. From my experience there are a few major factors that need to be considered:
The environment (the distro you are using EG: Fatdog, tahrpup & slacko etc);
The version of the Environment. (Fatdog64-710, tahrpup-6.0.5, slacko-6.3.2);
The application to be compiled;
The required dependencies and the order they need to be built and installed, and The build recipe.

In all cases the Devx needs to be loaded as this contains the majority of compiling tools. Sometimes you also need the distro kernel headers. This is required especially when you want to build driver modules.

If you are a slacko or Fatdog user you have a great resource avaiable called slackbuilds. This site will link you to the source code and provide a build recipe. In most cases this system is successful but occasionally it fails due to missing dependencies. Often where dependencies are required, the recipe will provide a link to them. https://slackbuilds.org/


Most of us are repeatedly reinventing the wheel. What I propose is we share our build recipes here on the forum using notecase as the database. The reason I suggest notecase is three fold:
It's in most pups,
It's easy to use,
You can import and export nodes, and
It has a hierarchical structure.

This way anyone can upload a node with the build recipe, links etc and others can download it and import it into their notecase database.

As rockedge said, he can build zoneminder quite quickly and easliy as he's done it many time in the past. If you are starting from scratch, trust me when I say this, it's a pig the first time you try. I'll bet there are many who have tried and given up, me for one.

Shortly I will post a simple template/example and I encourage others to do the same. I personally would like to see rockedge zoneminder example.
Attachments
Notecase-compiling.png
A simple example
(37.67 KiB) Downloaded 594 times
compiling.ncd.gz
Fake .gz deleted it.
(1.09 KiB) Downloaded 547 times

User avatar
rockedge
Posts: 1864
Joined: Wed 11 Apr 2012, 13:32
Location: Connecticut, United States
Contact:

#21 Post by rockedge »

I hope these instructions are clear! Any tips for refinement on the presentation will be appreciated. I like the notecase idea so here it is:
Attachments
tahr605-zoneminder.ncd.gz
(4.74 KiB) Downloaded 576 times

User avatar
smokey01
Posts: 2813
Joined: Sat 30 Dec 2006, 23:15
Location: South Australia :-(
Contact:

#22 Post by smokey01 »

Thanks rockedge. I will have a closer look when I get a chance.

Post Reply