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:

#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]

tmpMichigan
Posts: 2
Joined: Thu 15 May 2008, 02:09

Code::Blocks

#36 Post by tmpMichigan »

I compiled Code::Blocks v.8.02 and wxGTK v.2.8.7 from source the day 4.00 was officially released and it has been working fine. I can try making a sfs file if there is interest - just let me know. I was just about to try setting up cross-compiling for win32...for those of us who dwell in both worlds, it's nice to have the same IDE in both.

I would have posted sooner, but I've never visited the forum - I stumbled upon a link to this discussion in Barry's blog.

- Thanks

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

Re: Code::Blocks

#37 Post by Lobster »

tmpMichigan wrote:I can try making a sfs file if there is interest - just let me know.
Please do. 8)
Puppy Raspup 8.2Final 8)
Puppy Links Page http://www.smokey01.com/bruceb/puppy.html :D

tmpMichigan
Posts: 2
Joined: Thu 15 May 2008, 02:09

C::B

#38 Post by tmpMichigan »

It took 3 hours, but everything was isolated on the first attempt. My hat is off to those who visioned and brought to the life this "file layering/trumping" method - very nice. I thought making a SFS might be challenging, but it's just an elegant and simple design with which to work.

To test, I booted Puppy with a new/clean 2fs, loaded the new cb_400.sfs and devx_400.sfs (named to ensure devx has priority...), created a template GTK project, and built/ran successfully without any other configuration. I don't believe there will be issues, but please let me know if anyone experiences any. Note: it may be a few days until I check this forum again.

I don't have a place to host it, so I uploaded to mediafire. The file is 26MB:
http://www.mediafire.com/?nvxrygy11oj

md5:
678e6c77cd4a398c8a45aef92bc46934 cb_400.sfs

- Thanks
Attachments
1.jpg
(64.59 KiB) Downloaded 1750 times

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

#39 Post by Lobster »

Excellent.
Works. :)

I am off to write a Puppy blog entry about it . . .
http://www.puppylinux.org/community/blo ... ic-penguin
Puppy Raspup 8.2Final 8)
Puppy Links Page http://www.smokey01.com/bruceb/puppy.html :D

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

Anjuta Build Instructions

#40 Post by Wosh »

@ muggins
Wosh wrote:
But there should be a choice for those that wish a professional development environment.
With the options of modularisation like the creation of sfs-files Puppy Linux will stay Chihuahua but it will have the strength of a St. Berhard.

@ tmpMichigan and others
Please go on building testing and providing a wide range of IDEs. Every IDE running in Puppy Linux will encourage more people to write good solutions for Puppy Linux.

@ all
I have spent some more time to test Anjuta and except of some bugs described below it seems to run rather smoothly. But due to it's pure size I haven't been able to test all functions.

I have time problems because I only can work for Puppy in my spare free time. So you have the options to wait until I can go on or to help me fixing the problems. For those who want to get on the project I have put together some files:
Anjuta Build History in PHISTORY
Anjuta Build Instructions in AnjutaBuildProcedure.html

The HTML-File is easy to use because all needed package-URLs are included. The packages can be downloaded directly with your browser. This together with my hints should enable you to build your own Anjuta within a few hours and maybe you will be able to help fixing the bugs.

You even should be able to build Anjuta for older Puppy-versions but then there will be even more dependencies and packages needed. The way to proceed should be similar to PHISTORY.

Bugs found:
I have fixed a bug that crashed Anjuta if the Valgrind plugin was active by updating from Gtk+2.10.0 in Puppy 4.00 to Gtk+2.12.9, but there are still some bugs to fix which still prevent me to create a sfs-file.

Bugs open:
1. The GtkSourceView-Plugin makes Anjuta crash if a file is loaded with GtkSourceView.
2. The help documentation is not found and a hint is displayed to download it from anjuta.org
3. The urls within the help open a warning-box instead of the corresponding web-site.

Reedited Start
June 5 2008
The old Anjuta 2.4.1 build procedure created a buggy Anjuta IDE. I have replaced it with the bug free Anjuta 2.4.2 build procedure. It will take you about 4 hours to build anjuta from the scratch.
Reedited End
Attachments
BuildAnjuta-2.4.2-P_400.zip
Anjuta 2.4.2 for Puppy Linux 4.00 Build-Procedure
(4.27 KiB) Downloaded 1249 times
Last edited by Wosh on Thu 05 Jun 2008, 21:40, edited 1 time in total.
Wosh

Post Reply