C/C++ Development in Puppy Linux

For discussions about programming, programming questions/advice, and projects that don't really have anything to do with Puppy.
Message
Author
User avatar
MU
Posts: 13649
Joined: Wed 24 Aug 2005, 16:52
Location: Karlsruhe, Germany
Contact:

#16 Post by MU »

thanks, mirrored here:
http://dotpups.de/puppy3/dotpups/Progra ... uta-2.3.1/
http://puppyfiles.ca/dotpupsde/puppy3/d ... uta-2.3.1/
I did not check, if they uploaded correctly, as I'm very tired and must sleep soon.
Mark
[url=http://murga-linux.com/puppy/viewtopic.php?p=173456#173456]my recommended links[/url]

User avatar
Wosh
Posts: 60
Joined: Mon 09 Jul 2007, 19:20
Location: Nuremberg Germany

Anjuta running with Puppy 4.00

#17 Post by Wosh »

Hi Sir Duncan
Thanks for putting together all these pets necessary to run Anjuta.

Hi Mark
Thanks for mirroring Anjuta. I have installed all pets without problem from http://dotpups.de/puppy3/dotpups/Progra ... juta-2.3.1

Hi all
I have succeeded to install Anjuta in Puppy Linux 4.00 and it even starts with localized version by default. There was some fine tuning necessary, but at the first glance everything looks ok. That's how I proceeded:

Installation of Anjuta in Puppy Linux 4.00
1. Install all pets from http://dotpups.de/puppy3/dotpups/Progra ... uta-2.3.1/
2. Install libattr from ftp://ibiblio.org/pub/linux/distributio ... 2.4.32.pet
3. Install libacl from ftp://ibiblio.org/pub/linux/distributio ... 2.39_1.pet
4. Install dotpuphandler-0.0.4-2 with the Petget-package-manager from Official-Puppy4
5. Install libfam from http://dotpups.de/dotpups/Libraries/Libfam0.0.0.pup

Reedited Start
Warning!!!
Anjuta is not stable yet.
The second glance was rather bad:
1. It starts with an error message: "Can not open "-0,214900".
2. It can not find scintilla for editing (I thought geany is build with scintilla, so it should be installed in Puppy Linux).
3. It crashes if you try to load a C-file and requires bug-buddy for bug reporting.
4. The same crash happens if you enter Edit/Preferences
Result: You can not work with Anjuta yet!

I have tried to install bug-buddy from a debian-package, but I have failed. Anjuta still complains about bug-buddy.
I will need help of a more sophisticated Linux user!
Reedited end

Even everything seems to look good right now, I am thinking about making the Anjuta installation more easy for people interested in C/C++ programming. I am not a PUP/PET expert at all so maybe Mark or someone else can help me:

Simplification of Anjuta Installation
1. All files necessary should be loaded in one installation step, so as long as Barry can not be convinced to mirror Anjuta maybe Mark could move the additional packages to his mirror.
2. Libfam0.0.0.pup should be converted to a PET that the installation of the dotpuphandler isn't necessary any more.
3. The installation process should find the dependent packages automatically like the paket-manager does with the default packages.
4. It could a useful option to move the IDE to an sfs-file, but I am not shure whether the libraries there would clash with libraries installed otherwise.

So far

Happy coding
Wosh

ARAN
Posts: 113
Joined: Fri 21 Oct 2005, 12:47

#18 Post by ARAN »

Anjuta should work bugfree !
For me the bugs look like they were the result of missing dependency.

I suggest you to go to the anjuta irc channel and to talk to trentg or naba kumar the maintainer.

They can give you a lot of helpfull and usefull Tips how to compile anjuta bugfree from scratch in puppy linux 4.0

I itslef needed only 45 minutes with the help of the irc chat to compile anjuta from scratch the first time.

It would be not bad if you could provide a simple step by step howto for compiling anjuta from scratch in puppy linux so other people have the chance the next time to do it the same way.

irc://irc.gnome.org/anjuta

User avatar
Wosh
Posts: 60
Joined: Mon 09 Jul 2007, 19:20
Location: Nuremberg Germany

Compilation of Anjuta 2.4.0

#19 Post by Wosh »

@ ARAN
It's quite clear that dependencies are missing but the question is which ones. I haven't succeeded to install bug-buddy, maybe strace or ltrace could help. Because SirDuncan's Anjuta version is a bit outdated I will not pursue this way further.
I want to try to recompile Anjuta but the compilation won't be done within your suggested 45 minutes because Puppy is lacking a lot of gnome packages compared to fully-grown distributions.

@ All
Compilation of Anjuta 2.4.0
I want to try to do a new compilation of Anjuta using the newest stable version 2.4.0.
The first problem I have encountered compiling from the scratch is the installation target.
A lot of packages tend to install their libraries to /usr/local/lib.
In Puppy most of the libraries rest in /usr/lib.

If you install to /usr/local/lib configure of some packages will complain because pkg-config can not find the library-version.
The reason is: In Puppy PKG_CONFIG_PATH is set to /usr/lib/pkgconfig and not to /usr/local/lib/pkgconfig.

Would it be better to adjust PKG_CONFIG_PATH and install to /usr/local/lib or to install all packages to /usr/lib?
Is there a installation guideline in Puppy Linux?
Wosh

User avatar
MU
Posts: 13649
Joined: Wed 24 Aug 2005, 16:52
Location: Karlsruhe, Germany
Contact:

#20 Post by MU »

./configure --prefix=/usr

I compile everything like this, except teststuff, that goes to testfolders. But in that case, I also must write startscripts, that set PATH and LD_LIBRARY_PATH. So the latter is usually not recommended.
Mark
[url=http://murga-linux.com/puppy/viewtopic.php?p=173456#173456]my recommended links[/url]

User avatar
MU
Posts: 13649
Joined: Wed 24 Aug 2005, 16:52
Location: Karlsruhe, Germany
Contact:

#21 Post by MU »

I now compiled Anjuta, but it is very buggy on my system.

I use Muppy 0083, that already included some libs from Gnome 2.19.2.
It also might work using the Gnome 2.20 SFS.

If you have no gnome, try this:
best will be, to use a new save-file for testing.

Install Python:
http://dotpups.de/puppy3/dotpups/Progra ... r_CCSM.pet

Then go here:
http://dotpups.de/puppy3/dotpups/Librar ... 19.2-libs/

Install all from:
Libs-1-and-Panel
Libs-2-and-Anjuta-need-Libs-1

Then run
anjuta
from a consolewindow.

If you get an error about missing libs, let me know.
Muppy has more libs than Puppy, so I could upload those.
Maybe I also just oversaw one, these were many...

I just quickly tested 2 things, that did not work:
Create a new Project - Gtk/C.
It then processes, and finally spits an error about autogen/makefiles.
If I look at the generated Makefile.am , I see::
AutoGen aborting on signal 6 (Aborted) in state LOAD_TPL
processing template /usr/share/anjuta/project/terminal/Makefile.am.tpl
on line 16
for function Unknown (19)
I had to disable the generation of translated documentation for anjuta, as Python has no module libxml2.
Maybe this is somehow related.

I also tried to create a Glade-project.
In the console I see many widget-errors.
When I create a new window, and add a vbox, I can add nothing more than :x

glade-3 itself seems to work as standalone-program.
I compiled a version newer than in Puppy, because 3.0.3 is not supported by Anjuta.
I could not compile the newest though, because that requires Gtk 2.12.
Puppy 3 has Gtk 2.10.

-------------------
I cannot even create a plain C-file.
It has no inbuilt editor?
# anjuta
I/O warning : failed to load external entity "/root/.anjuta/macros.xml"

(anjuta:21324): libanjuta-WARNING **: No plugin found implementing IAnjutaEditorFactory Interface.

(anjuta:21324): libanjuta-interfaces-CRITICAL **: ianjuta_editor_factory_new_editor: assertion `IANJUTA_IS_EDITOR_FACTORY(obj)' failed
I first wanted to compile with gtksourceview-2.0.2.
http://dotpups.de/puppy3/dotpups/Librar ... ther-Libs/

But that one was ignored when I ran ./configure for Anjuta.
I thought, an inbuilt widget is used then, but obviously not?

So this version is unusable
I had to recompile it with scintilla, but hesitate because of the other bugs.


Conclusion:
It took 2 days, to get this working.
So you might take it as a base, and try to find out, what goes wrong.
Or you use Puppy 4, that has Gtk 2.12, and compile newer Glade from scratch, and maybe also Gnome 2.22.

Very timeconsuming, however.

Mark
[url=http://murga-linux.com/puppy/viewtopic.php?p=173456#173456]my recommended links[/url]

muggins
Posts: 6724
Joined: Fri 20 Jan 2006, 10:44
Location: hobart

#22 Post by muggins »

Hey Mark,

it's sort of ironic how difficult it is to get a development environment to work on puppy...to help develop other apps to work on puppy! I tried compiling the latest version of crow ide on pup4, but it was complaining that the glib library was too old!

User avatar
MU
Posts: 13649
Joined: Wed 24 Aug 2005, 16:52
Location: Karlsruhe, Germany
Contact:

#23 Post by MU »

I had success now.
Upgraded Gtk to 2.12:

http://www.murga-linux.com/puppy/viewto ... 741#196741

Also libxml2.

Now I could compile the latest versions of Glade and Gtksourceview.
And Anjuta.
And it starts.
And you can create projects.
And modify the empty glade-file in Glade.
And build and compile and run.

So far quite good.

2 things:
1.) for a newbee, it might be a bit irritating, what option belongs to what.
I'd recomment to use Glade as standalone-application for tests, before you use Anjuta.
This might help you to get an overview, what belongs to Glade.

2.) The generated code does not have callbacks for Glade.
See the warning in the attached screenshot.
You just have the generic function, that listens to the events from libglade, as I had described earlier in this thread.
So you must add your own code here.
Or you also could write own callback-functions.
Glade allows to bind events to own callbacks, their code is just not created automatically.
But that would not be difficult, once you wrote one callback (like on_button1_clicked() ), you could copy&paste it, then rename the functionname.

Overall, the integration of all the single programs in Anjuta is very nice.
...autogen, glade...
Could be tempting to write more programs in C :)

I added a new folder to the download with the new files:
http://dotpups.de/puppy3/dotpups/Librar ... 2.12-only/

Mark
Attachments
anjuta.jpg
(46.67 KiB) Downloaded 2931 times
[url=http://murga-linux.com/puppy/viewtopic.php?p=173456#173456]my recommended links[/url]

User avatar
prit1
Posts: 542
Joined: Fri 04 Jan 2008, 00:10
Location: Los Angeles

#24 Post by prit1 »

@MU: Is it possible to make a post on this thread with just the required (final) set of steps needed to have Anjuta working?

Thanks in advance.

User avatar
MU
Posts: 13649
Joined: Wed 24 Aug 2005, 16:52
Location: Karlsruhe, Germany
Contact:

#25 Post by MU »

backup your savefile (!!!!!!!!!!!!!!!!!)

Install python:
http://dotpups.de/puppy3/dotpups/Progra ... r_CCSM.pet

Install Gtk 2.12 and libxml2 if you use Puppy 3, explained here:

http://www.murga-linux.com/puppy/viewto ... 741#196741


Install all pets from:
http://dotpups.de/puppy3/dotpups/Librar ... and-Panel/

Install all pets from:
http://dotpups.de/puppy3/dotpups/Librar ... ed-Libs-1/

Install all pets from:
http://dotpups.de/puppy3/dotpups/Librar ... 2.12-only/

You don't need the NLS pets, if you just want english.


Then type "anjuta" in a console.
If it does not work, post the error-messages you get.
Sorry that I cannot test it on my own in a bare Puppy 3 at moment, but we want to upgrade Muppy as quick as possible with Gtk 2.12 and other libs from Slackware 12.1, that keeps me busy.
You then will have anjuta included in an addon.

Mark
Last edited by MU on Mon 12 May 2008, 20:00, edited 1 time in total.
[url=http://murga-linux.com/puppy/viewtopic.php?p=173456#173456]my recommended links[/url]

User avatar
prit1
Posts: 542
Joined: Fri 04 Jan 2008, 00:10
Location: Los Angeles

#26 Post by prit1 »

@MU: Thanks a lot for the quick response.

I will try this out soon and post back.

User avatar
BarryK
Puppy Master
Posts: 9392
Joined: Mon 09 May 2005, 09:23
Location: Perth, Western Australia
Contact:

#27 Post by BarryK »

Enveria has one major advantage -- very light weight.

It only needs GTK and Sqlite3 and compiles very quickly.

The problem is that it is a dead project. The people who created it -- students I think -- released a few versions over about a month, early in 2007, and that was it. Nothing more.

The thing is, it looks very promising. However it hangs as soon as I select a File open dialog window, either to save the project or to export.

Maybe we should take it over. If that's all that's wrong with it, why don't we? ...well, there may be more gotchas of course.

The Enveria home page:
http://enveria.sourceforge.net/
describes it as an IDE, but it looks more like just a GUI designer.
[url]https://bkhome.org/news/[/url]

muggins
Posts: 6724
Joined: Fri 20 Jan 2006, 10:44
Location: hobart

#28 Post by muggins »

Barry,

did you see how, in this thread Joshas ferreted out why searchmonkey was segfaulting on pup4 using gdb? Maybe we can have a closer look at the enveria code.

User avatar
Wosh
Posts: 60
Joined: Mon 09 Jul 2007, 19:20
Location: Nuremberg Germany

Anjuta 2.4.1 created!

#29 Post by Wosh »

It is done!

Anjuta 2.4.1 created! :D

I have succeeded to compile Anjuta 2.4.1 from the scratch in Puppy Linux 4.00. It seems to be a real great IDE with a lot of plugins for tools like Valgrind CVS, SVS and many more. It took me about two days to get everything together.

Compared with the size demands in Puppy it is a monster that consists of more than 40 packages. I have used the newest version of every needed package and also included every possible plugin except of the new symbolic debugger which still is in test stadium. I have also made the pet-creation as extensive as possible including doc-, dev-, nls-pets. So there will be more than 100 pets necessary to use everything.

@ MU and others
Even the first impression is overwhelming there are still some bugs to fix and I will need time to test the whole suite. So I give you this provisional result first to avoid double efforts. The complete result will arrive later.

To avoid that quite the same is done separately I want to share my experiences for those interested and upload whatever you want, like:
1. Build-Instructions (packages needed, installation order, hurdles).
2. The complete build environment (about 2 GByte!).
3. The pet packages (about 100!).

Tell me what you like and were to upload.

Because of it's extent, the pet-installation seems not to be the best solution for a fast and problem-free use of Anjuta. But there should be a choice for those that wish a professional development environment. Therefor I want to:
Melt the C-development-file devx_400.sfs with Anjuta to devx_anjuta_400.sfs.
On my part: Not much experience how proceed. Help very welcome!

@ BarryK
Enveria seems to be continued on a commercial base:
http://www.kaizendenki.com/
So it's maybe not the best choice for Puppy. But I am also still searching a light weight IDE useful to develop small applications fast that can make it into Puppy or devx_xxx.sfs directly. Was someone successful in this direction?
Attachments
anjuta.png
Anjuta 2.4.1 German Locale, lots of pugins like CVS, Subversion, ...
(140.13 KiB) Downloaded 1170 times
Wosh

ARAN
Posts: 113
Joined: Fri 21 Oct 2005, 12:47

Re: Anjuta 2.4.1 created!

#30 Post by ARAN »

Wosh wrote: Tell me what you like and were to upload.

Because of it's extent, the pet-installation seems not to be the best solution for a fast and problem-free use of Anjuta. But there should be a choice for those that wish a professional development environment. Therefor I want to:
Melt the C-development-file devx_400.sfs with Anjuta to devx_anjuta_400.sfs.
On my part: Not much experience how proceed. Help very welcome!
A very good written Howto by the User "bombayrockers" for creating sfs files can you find here !

http://www.murga-linux.com/puppy/viewto ... 648&t=5291

I itself prefer the sfs file solution rather than the pet install !

User avatar
SirDuncan
Posts: 829
Joined: Sat 09 Dec 2006, 20:35
Location: Ohio, USA
Contact:

Re: Anjuta 2.4.1 created!

#31 Post by SirDuncan »

Wosh wrote:Because of it's extent, the pet-installation seems not to be the best solution for a fast and problem-free use of Anjuta. But there should be a choice for those that wish a professional development environment. Therefor I want to:
Melt the C-development-file devx_400.sfs with Anjuta to devx_anjuta_400.sfs.
On my part: Not much experience how proceed. Help very welcome!
Yes, I think a development sqashfile with devx and Anjuta would be the way to go. The only problem is that it would require a different squashfile for every version of Puppy you want to support.
Wosh wrote:@ BarryK
Enveria seems to be continued on a commercial base:
http://www.kaizendenki.com/
So it's maybe not the best choice for Puppy. But I am also still searching a light weight IDE useful to develop small applications fast that can make it into Puppy or devx_xxx.sfs directly. Was someone successful in this direction?
According to the Enveria documentation (I've been looking into it since I read Bary's post), that was the company that the program's creator was interning with when he made it. It appears that they have taken up development and are planning to market it. If they have rights to it, they can make it closed source now, but the old code is still GPL and can be expanded upon if the community wishes to do so. If the creator maintained rights to the program, then all development done by the company will have to be released under the GPL regardless of what support packages they are selling. Either way, I see no reason for us not to use it if it works well.

EDIT: After reading a little bit further into the creator's project report, I'm pretty sure that the company owns the rights to the program. Still, the GPL code is available for us to use if we want to.

It also seems that the company started the program before this student went to work there, and that they made the decision to open source it. This means that there is a good chance that it will remain open source. I will be trying to get it working once I finish this week's class programming project.
Be brave that God may help thee, speak the truth even if it leads to death, and safeguard the helpless. - A knight's oath

muggins
Posts: 6724
Joined: Fri 20 Jan 2006, 10:44
Location: hobart

#32 Post by muggins »

With the need to upgrade the gtk version, to get anjuta working, how compatible will any binaries produced be with pupversions that don't have that gtk verion?

Is little puppy destined to turn into a St. Bernard?

prach
Posts: 8
Joined: Fri 12 Jan 2007, 03:14
Location: Thailand
Contact:

How to compile

#33 Post by prach »

Hi Wosh, Can you write how to compile Anjuta 2.4.1 on Puppy 4.00 ?
i want to use its create my customize puppy include anjuta.

User avatar
Lobster
Official Crustacean
Posts: 15522
Joined: Wed 04 May 2005, 06:06
Location: Paradox Realm
Contact:

#34 Post by Lobster »

I created a Linux Tmxxine for programmers but think I was overly ambitious and not happy with the results
http://tmxxine.com/wik/wikka.php?wakka= ... xinePhoton

. . . however there is considerable mileage in a .pet, sfs
for Puppy for c/c++ that includes an IDE
thus bringing it a step up from Geany which supports colour coding

be aware of this thread too - the developer is very friendly
http://www.murga-linux.com/puppy/viewto ... 280#186280
Puppy Raspup 8.2Final 8)
Puppy Links Page http://www.smokey01.com/bruceb/puppy.html :D

User avatar
BarryK
Puppy Master
Posts: 9392
Joined: Mon 09 May 2005, 09:23
Location: Perth, Western Australia
Contact:

#35 Post by BarryK »

Yes, they are asking US 99.95 for Enveria:
http://www.kaizendenki.com/kd/enveria_rad_ide.php

No reason why we can't work on the GPL version though. It probably just has trivial bugs, but they aren't interested in fixing it, for obvious reasons.

Wosh, yes, an SFS file is best. But name it as something like 'anjuta-puppy-4.x.sfs' to show that it will work in all the Puppy4 series.
If you only have '_400' then the boot scripts will only allow it to be loadedfor that version of Puppy. Any SFS file with that specific string in it, exactly like '_400' or '_301' will only be usable with that version of Puppy.
But, you use anything else, like with a dot in it, or without the underscore: '-4.0' then any Puppy can use it. But I suggest put something like 'puppy-4.x' in the name as that helps people to identify that the sfs is designed for Puppy4.

If you can get everything into a single directory, named say 'anjuta-puppy-4.x' then MU has created a nice script 'dir2sfs' to make it easy to create a sfs file, although it's pretty easy to use mksquashfs directly.

I suppose you don't really need the string 'puppy' in the sfs name. That was just an example.
[url]https://bkhome.org/news/[/url]

Post Reply