pUPnGO - 6Mb ISO - Basic Building Block Puplet

A home for all kinds of Puppy related projects
Message
Author
goingnuts
Posts: 932
Joined: Sun 07 Dec 2008, 13:33
Contact:

#766 Post by goingnuts »

Ibidem wrote:...
Thanks. It's working nicely...urxvt is working, etc.
In fact, I'm typing this from links2 with the X driver, running under tinyxserver.
I'm using mwm for window manager at present.
...
Good! Any links for the sources of urxvt & mwm? I would like to test as well.

Found cflow-2.0 which will give:

Code: Select all

# ./cflow 9menu.c  
/root/bin/prcg: cannot redefine: 
/root/bin/prcg: cannot redefine: 
1       main {9menu.c 236}
2               strrchr {}
3               args {9menu.c 167}
4                       strcmp {}
5                       getenv {}
6                       getcwd {}
7                       strlen {}
8                       malloc {}
9                       sprintf {}
10                      putenv {}
11                      printf {}
12                      exit {}
13                      usage {9menu.c 476}
14                              fprintf {}
15                              exit {}
16              usage ... {13}
17              fopen {}
18              fprintf {}
19              exit {}
20              fgets {}
- there seems to be newer project with same name but lower version number - haven't tested though.

User avatar
technosaurus
Posts: 4853
Joined: Mon 19 May 2008, 01:24
Location: Blue Springs, MO
Contact:

#767 Post by technosaurus »

there is also cscope
http://cscope.sourceforge.net/
and its tk frontend cbrowser
http://sourceforge.net/projects/cbrowse ... owser/0.8/
(many versions of emacs support cscope too)
... and the defacto
http://www.graphviz.org/
or a qt3 alternative:
http://sourceforge.net/projects/bouml-n ... /0/4.22.2/
which is now ported to qt4 and renamed douml
and lxr (written in perl)
or opengrok (in java)

there is also silentbob which requires ruby to build ... wtf, screw that! Do this.
g++ -Os -fno-exceptions -fno-rtti -ffunction-sections -fdata-sections -I$PWD/gclib/include -I$PWD/include gclib/src/*.c* sblib/src/*.c* silentbob/src/*.c* -o sbob -Wl,-O4,--gc-sections,-s

This geany gdb wrapper plugin could be helpful too:
http://git.geany.org/geany-plugins/tree/scope
Last edited by technosaurus on Sat 02 Nov 2013, 15:18, edited 1 time in total.
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].

Ibidem
Posts: 549
Joined: Wed 26 May 2010, 03:31
Location: State of Jefferson

#768 Post by Ibidem »

goingnuts wrote:
Ibidem wrote:...
Thanks. It's working nicely...urxvt is working, etc.
In fact, I'm typing this from links2 with the X driver, running under tinyxserver.
I'm using mwm for window manager at present.
...
Good! Any links for the sources of urxvt & mwm? I would like to test as well.
Mwm is the "Motif Window Manager": it's part of the Motif source code that was recently relicensed as LGPL. I grabbed the source from git://git.code.sf.net/p/motif/code
I passed --disable-shared when building Motif; I had to run autogen.sh on a Debian box, since autoconf requires so much crap.
For urxvt see:http://dist.schmorp.de/rxvt-unicode/

goingnuts
Posts: 932
Joined: Sun 07 Dec 2008, 13:33
Contact:

#769 Post by goingnuts »

Thanks - the "all-pink" has gone. Do you have application and icon name set? urxvt is calling XmbTextListToTextProperty to set the name, XmbTextListToTextProperty is in tinyX11lib but name is not set. That means in older jwm if application is minimized, jwm crash if pointer is over taskbar/un-named...

Could you pass your config flags for urxvt? I would like to get the transparency to work but have to disable to get the thing compile...

Update: Below patch will set app&icon name if/when XmbTextListToTextProperty fails:

Code: Select all

--- ./src/main.C.01	2013-02-17 00:51:51.000000000 +0000
+++ ./src/main.C	2013-11-02 20:30:32.000000000 +0000
@@ -917,6 +917,8 @@
 void
 rxvt_term::set_title (const char *str)
 {
+	XStoreName(dpy, parent, str);	// Set windowname for tinyXlib
+	
   set_mbstring_property (XA_WM_NAME, str);
 #if ENABLE_EWMH
   set_utf8_property (xa[XA_NET_WM_NAME], str);
@@ -926,6 +928,7 @@
 void
 rxvt_term::set_icon_name (const char *str)
 {
+	XSetIconName(dpy, parent, str);	// Set windowname for tinyXlib
   set_mbstring_property (XA_WM_ICON_NAME, str);
 #if ENABLE_EWMH
   set_utf8_property (xa[XA_NET_WM_ICON_NAME], str);

Ibidem
Posts: 549
Joined: Wed 26 May 2010, 03:31
Location: State of Jefferson

#770 Post by Ibidem »

goingnuts wrote:Thanks - the "all-pink" has gone. Do you have application and icon name set? urxvt is calling XmbTextListToTextProperty to set the name, XmbTextListToTextProperty is in tinyX11lib but name is not set. That means in older jwm if application is minimized, jwm crash if pointer is over taskbar/un-named...

Could you pass your config flags for urxvt? I would like to get the transparency to work but have to disable to get the thing compile...

Update: Below patch will set app&icon name if/when XmbTextListToTextProperty fails:

Code: Select all

--- ./src/main.C.01	2013-02-17 00:51:51.000000000 +0000
+++ ./src/main.C	2013-11-02 20:30:32.000000000 +0000
@@ -917,6 +917,8 @@
 void
 rxvt_term::set_title (const char *str)
 {
+	XStoreName(dpy, parent, str);	// Set windowname for tinyXlib
+	
   set_mbstring_property (XA_WM_NAME, str);
 #if ENABLE_EWMH
   set_utf8_property (xa[XA_NET_WM_NAME], str);
@@ -926,6 +928,7 @@
 void
 rxvt_term::set_icon_name (const char *str)
 {
+	XSetIconName(dpy, parent, str);	// Set windowname for tinyXlib
   set_mbstring_property (XA_WM_ICON_NAME, str);
 #if ENABLE_EWMH
   set_utf8_property (xa[XA_NET_WM_ICON_NAME], str);
I had guessed that the all-pink was thanks to the color stuff, due to the errror messages I got.
Didn't check name/resources.

I disabled everything (--disable-everything or some similar option). So no transparency here.

PANZERKOPF
Posts: 282
Joined: Wed 16 Dec 2009, 21:38
Location: Earth

Hi All!

#771 Post by PANZERKOPF »

Anyone knows a difference between -fPIC and -fpic options of GCC for making
a position independent code?
I have already read documentation but unfortunately cannot get an answer
of one question:
Is it safe to use -fpic instead of -fPIC when build a shared library for x86_32 Linux based system?
Discovered that -fpic produces smaller binary and takes less memory than -fPIC.
Several libraries built with -fpic work on my custom system without problems, all needed
symbols are exported and all tested applications work with these libraries
but ... "It works" not means "It must work".

Thanks in advance !
SUUM CUIQUE.

User avatar
technosaurus
Posts: 4853
Joined: Mon 19 May 2008, 01:24
Location: Blue Springs, MO
Contact:

#772 Post by technosaurus »

IIRC pic has a limited number of symbols that almost never is reached in unbloated software. If you build seamonkey/firefox with a single libxul instead of many small libs, you will hit the limit. Combining the libraries _can_ reduce size and startup time, so it will depend on your project size which is the better option.
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].

PANZERKOPF
Posts: 282
Joined: Wed 16 Dec 2009, 21:38
Location: Earth

#773 Post by PANZERKOPF »

technosaurus wrote:IIRC pic has a limited number of symbols that almost never is reached in unbloated software. If you build seamonkey/firefox with a single libxul instead of many small libs, you will hit the limit. Combining the libraries _can_ reduce size and startup time, so it will depend on your project size which is the better option.
Thanks for answer !
I combined gtk1 with its dependencies to one library (glib+gmodule+gthread+gdk+gtk) then built some small apps based on it (Xdialog, gamix etc..). These apps work without problems either when library was built with -fpic or -fPIC.
About limitations:
GCC manual says that x86 based systems hasn't any size limitations of global offset
table.
SUUM CUIQUE.

goingnuts
Posts: 932
Joined: Sun 07 Dec 2008, 13:33
Contact:

#774 Post by goingnuts »

PANZERKOPF: Was it dynamic linked apps?

I started converting some static linked apps to dynamic linked to evaluate the reduction in total file size (tinyX11+uclibc). Seems to be a delicate balance depending on type and number of apps.

Experimented with Xvesa/Xfbdev from XFree86-4.8.0 compared to the tinyXservers. The first observation is that there are no reason to not link them static - the increase in size is minor. Second the stability and features of XFree86-4.8.0 versions are better than the tinyXserver versions (ex. Abiword works, keyboard in qemu/rxvt works). And size seems to be "ok".

Also working on a gxwin-based front end for pkginstall/pkgremove - sort of Synaptic wanna-be. Making package manager for static linked packages-only...really makes things so much easier...
Attachments
snap0001.png
(13.63 KiB) Downloaded 385 times

PANZERKOPF
Posts: 282
Joined: Wed 16 Dec 2009, 21:38
Location: Earth

#775 Post by PANZERKOPF »

goingnuts wrote:Was it dynamic linked apps?
Seems I was wrong there. No size differences between -fPIC and -fpic.
Maybe this affects to some particular code only?
SUUM CUIQUE.

User avatar
technosaurus
Posts: 4853
Joined: Mon 19 May 2008, 01:24
Location: Blue Springs, MO
Contact:

#776 Post by technosaurus »

PANZERKOPF wrote:
goingnuts wrote:Was it dynamic linked apps?
Seems I was wrong there. No size differences between -fPIC and -fpic.
Maybe this affects to some particular code only?
They are the same on x86, but not always. In fact on x86 (32bit), IIRC, it is not necessary to compile with -fpic or -fPIC at all for shared libs... correct me if I am wrong.
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].

PANZERKOPF
Posts: 282
Joined: Wed 16 Dec 2009, 21:38
Location: Earth

#777 Post by PANZERKOPF »

technosaurus wrote: In fact on x86 (32bit), IIRC, it is not necessary to compile with -fpic or -fPIC at all for shared libs... correct me if I am wrong.
IIRC, a non-PIC shared library can be used on 32-bit x86 systems but has more RES and less SHR memory usage.
SUUM CUIQUE.

goingnuts
Posts: 932
Joined: Sun 07 Dec 2008, 13:33
Contact:

#778 Post by goingnuts »

Anyone know of a torrent client - not gtk2, qt, perl, python - but with a GUI?
Found none...but transmission-1.50 comes with a web-interface and transmission seems to work out of the box (that is connects and downloads/seeds).
Start transmission with

Code: Select all

transmission-daemon 
and access the web interface at address:
http://localhost:9091
Unfortunately you need more than links-2.7 or dillo as support for javascript is a must :(
Attachments
snap0000.png
(62.99 KiB) Downloaded 299 times

User avatar
technosaurus
Posts: 4853
Joined: Mon 19 May 2008, 01:24
Location: Blue Springs, MO
Contact:

#779 Post by technosaurus »

http://suckless.org/rocks lists btpd, but there is also rtorrent (curses) and dtorrent (enhance ctorrent)

Though hopefully netsurf-fb with javascript support is useable now.

if you use curses/termcap, jupp is a nice little highlighting text editor from mirBSD based on JOE that can build against curses or termcap
btw you can use this commit of termbox for a light ncurses

Code: Select all

https://github.com/nsf/termbox/commit/a2e217f0fb97e6bbd589136ea3945f9d5a123d81
see also:
http://wiki.musl-libc.org/wiki/Alternative_libraries
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].

PANZERKOPF
Posts: 282
Joined: Wed 16 Dec 2009, 21:38
Location: Earth

#780 Post by PANZERKOPF »

goingnuts wrote:Anyone know of a torrent client - not gtk2, qt, perl, python - but with a GUI?
Found none...but transmission-1.50 comes with a web-interface and transmission seems
IIRC old versions of Transmission have Gtk1 based GUI.
SUUM CUIQUE.

goingnuts
Posts: 932
Joined: Sun 07 Dec 2008, 13:33
Contact:

#781 Post by goingnuts »

technosaurus: Thanks! The btpd is nice but I never managed to do a static uclibc build. Missing CLOCK_MONOTONIC...which I tried to define to 1so build could be done...but it does not work then.

I think I tried rtorrent/dtorrent but with connection problems - but will check again.

And yes - I will have to find your netsurf-fb thread and see if it can be used.

PANZERKOPF: Thanks. I looked for that but might not have looked close enough - different stuff - Transmission and transmission

PANZERKOPF
Posts: 282
Joined: Wed 16 Dec 2009, 21:38
Location: Earth

#782 Post by PANZERKOPF »

goingnuts wrote: I looked for that
I remember incorrectly. :(
Even oldest version taken from there (0.71) is Gtk2 only.
SUUM CUIQUE.

goingnuts
Posts: 932
Joined: Sun 07 Dec 2008, 13:33
Contact:

#783 Post by goingnuts »

PANZERKOPF: No problem :) ...found a 0.50 version...still gtk2...
technosaurus: Cant get rtorrent static building (libtorrent is the problem). Found the nsfb is in pUPnGO thread...!...but did not manage to get through to a working transmission "GUI" :cry:

Might be that torrent-tech is just past xlib/gtk1/motif/Xaw-time.

PANZERKOPF
Posts: 282
Joined: Wed 16 Dec 2009, 21:38
Location: Earth

#784 Post by PANZERKOPF »

goingnuts wrote:PANZERKOPF: No problem :) ...found a 0.50 version...still gtk2...
It seems Transmission never has Gtk1 based GUI.

Another stuff.......
I made script for building one whole library from glib1/gtk1 sources.
Tested with several Gtk1 based apps, no problems were found.
Attachments
build-combined.sh.gz
(958 Bytes) Downloaded 174 times
SUUM CUIQUE.

jamesbond
Posts: 3433
Joined: Mon 26 Feb 2007, 05:02
Location: The Blue Marble

#785 Post by jamesbond »

goingnuts wrote:Experimented with Xvesa/Xfbdev from XFree86-4.8.0 compared to the tinyXservers. The first observation is that there are no reason to not link them static - the increase in size is minor. Second the stability and features of XFree86-4.8.0 versions are better than the tinyXserver versions (ex. Abiword works, keyboard in qemu/rxvt works). And size seems to be "ok".
Out of curiosity, why do you choose to go with Xfree86-4.8.0? From what I know, development of XFree86 slowed down a lot after 4.4.0 release, so it would make more sense to switch to Xorg for any release after 4.4.0. Now, 4.8.0 was released in Dec 2008; according to http://www.x.org/wiki/Releases/, similar Xorg releases in the same time period was Xorg 7.4 (Sep 2008) and Xorg 7.5 (Oct 2009). So would it make sense to try to get Xorg 7.4 (or 7.5) Xvesa/Xfbdev running instead?
Fatdog64 forum links: [url=http://murga-linux.com/puppy/viewtopic.php?t=117546]Latest version[/url] | [url=https://cutt.ly/ke8sn5H]Contributed packages[/url] | [url=https://cutt.ly/se8scrb]ISO builder[/url]

Post Reply