pUPnGO 2012

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

#226 Post by goingnuts »

http://stackoverflow.com/questions/9922 ... earch-path

Creating the searched directory structure (/lib/tls/i686/sse2) and symlinking /lib/libc.so.6 there stops the search.

Using less to view content of ld-2.6.1.so and text search for tls or sse2 does not show anything.

Using strace on dynamic linked uclibc binaries does not have these extra search path (goes for "/lib/libc.so" first).

amigo
Posts: 2629
Joined: Mon 02 Apr 2007, 06:52

#227 Post by amigo »

What is the output of:
ldconfig -v 2>/dev/null | grep -v ^$'\t'
on your machine. The command appears to only show locations which are in ld.so.conf, plus the standard locations.
Here, I get:
ldconfig -v 2>/dev/null | grep -v ^$'\t'
/usr/local/lib:
/usr/i586-kiss-linux/lib:
/usr/lib/seamonkey:
/lib:
/usr/lib:
And the content of /etc/ld.so.conf is:
/usr/local/lib
/usr/i586-kiss-linux/lib
/usr/lib/seamonkey

Whose glibc are you using anway?

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

#228 Post by goingnuts »

I am using libs provided with standard Puppy 412...output is:
/lib:
/usr/lib:
/usr/X11R7/lib:
/opt/qt4/lib:
/opt/mozilla.org/lib:
/root/my-applications/lib:
/usr/lib/tls: (hwcap: 0x8000000000000000)
and content of /etc/ld.so.conf is
/lib
/usr/lib
/usr/X11R7/lib
/opt/qt4/lib
/opt/mozilla.org/lib
/opt/samba/lib
/root/my-applications/lib

amigo
Posts: 2629
Joined: Mon 02 Apr 2007, 06:52

#229 Post by amigo »

/usr/lib/tls: (hwcap: 0x8000000000000000)
Okay! That's the one which is hidden and generated in some mysterious way. It either has to do with CPU specs and is generated at runtime or it has to do with configure options to glibc and is being determined at glibc compile-time. The key is the 'hwcap' part.

I have asked about this all over at linuxquestions.org -but no takers yet.

Aha! Just found an LKML thread where The Man(Roland McGrath) himself talks about this:
https://lkml.org/lkml/2007/4/24/3

He seems to be saying that these paths are generated at runtime -using entires in /etc/ld.so.conf.d, and/or they depend on options used at glibc compile-time.

On my self-built system here, I don't get any of those extra paths. Guess the upshot is that you need to be using Gilbert's super-duper KISS linux -where most of the nonsense is missing... Or maybe you'd like to roll your own glibc -even BK doesn't do that.

"libs provided with standard Puppy 412" The problem is that that still doesn't tell us where they came from or who built them! The output of `/lib/libc.so.6` will help a little bit -did you know that trick? Here's another 2 which will tell you some things -sometimes clearing up questions about compiling/linking problems:
gcc -dumpspecs
gcc -dumpmachine

Here's another link with tips to the location(s) in the sources.
http://www.unixresources.net/linux/clf/ ... 88306.html
If this stuff is causing you a problem, you can turn it off by patching dl-procinfo.h in glibc
In topdir of glibc sources:
find -name dl-procinfo.h
sysdeps/generic/dl-procinfo.h
sysdeps/i386/dl-procinfo.h
sysdeps/powerpc/dl-procinfo.h
sysdeps/s390/dl-procinfo.h
sysdeps/sparc/dl-procinfo.h
sysdeps/unix/sysv/linux/i386/dl-procinfo.h
sysdeps/unix/sysv/linux/s390/dl-procinfo.h
sysdeps/unix/sysv/linux/x86_64/dl-procinfo.h

And there's this:
http://blog.ijun.org/2012/01/debugging- ... ssues.html

Does your system have a non-empty /etc/ld.so.conf.d directory?

Okay, getting warmer...
Starting at line 52 of sysdeps/i386/dl-procinfo.c:

Code: Select all

#ifndef PROCINFO_DECL
= {
    "fpu", "vme", "de", "pse", "tsc", "msr", "pae", "mce",
    "cx8", "apic", "10", "sep", "mtrr", "pge", "mca", "cmov",
    "pat", "pse36", "pn", "clflush", "20", "dts", "acpi", "mmx",
    "fxsr", "sse", "sse2", "ss", "ht", "tm", "ia64", "pbe"
  }
#endif
Those are the possible CPU features (hwcap) which constitute most of the list of possibly-weird locations. 'tls', and perhaps others, depends on the compile-time options for glibc.

Well, I'm just glad I have this clean, nearly vanilla system so that I don't have 14 open()'s being called before the right location is found!

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

#230 Post by goingnuts »

amigo: Thanks for all this info! A lot to test and think about. For now only the output of /lib/libc.so.6
GNU C Library stable release version 2.6.1, by Roland McGrath et al.
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Compiled by GNU CC version 4.2.2.
Compiled on a Linux >>2.6.21.7<< system on 2007-10-18.
Available extensions:
crypt add-on version 2.1 by Michael Glad and others
Native POSIX Threads Library by Ulrich Drepper et al
BIND-8.2.3-T5B
For bug reporting instructions, please see:
<http://www.gnu.org/software/libc/bugs.html>.
COOL! :)

amigo
Posts: 2629
Joined: Mon 02 Apr 2007, 06:52

#231 Post by amigo »

Now I've maybe found the shortcut here:
http://ubuntuforums.org/archive/index.php/t-222492.html
touch /etc/ld.so.nohwcap
This step is optional, but it reduced my startup time to half of what it used to be.
I remember reading about ld.so.nohwcap before...
But, it doesn't seem to be in later versions of glibc sources at all. Having an empty /etc/ld.so.conf.d may do the same thing.

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

#232 Post by goingnuts »

Created a static build of Xorg (X11R-6.7.0) - pet-package including xorgwizard, ddcprobe & dmidecode for easy configuration - can be downloaded here
Its quite big (7,7Mb uncompressed) but I can run it on machinery with 36Mb ram. It seems to display fonts OK. It holds a lot of display drivers so if you have problems getting pupngo2012 running on you hardware this might solve the problem.

User avatar
greengeek
Posts: 5789
Joined: Tue 20 Jul 2010, 09:34
Location: Republic of Novo Zelande

#233 Post by greengeek »

When I boot the standard pupngo2012 on a Toshiba TE2100 the display starts up in 800x600 and everything looks correct. (I can change the res if I need to, but Im just testing in 800x600 for the purposes of this problem..)

When I use the same CD to boot on an older Toshiba (2180CDT) which only has an 800x600 capable screen the display is clear, but all drive icons and program icons are missing unless I start xorg. Also, if I click "file manager" in the menus it does nothing, but if I locate the rox icon and click it, filemanager starts up ok.

Q1) Any ideas why the icons are not displaying under xvesa?
Q2) Is there a cli method of listing running processes?
Q3) Is rox different to rox-filer, and is there a rox-pinboard running on pupngo? Is thats whats not running on my older system?
Q4) Which file describes the position location for the drive icons on pupngo?

Thanks for any pointers.

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

#234 Post by goingnuts »

View running processes in CLI: ps (or top for the top ones)
Try look in /tmp/xerrors.log - should report problems - maybe ROX fails to start?
Pinboard should run in pupngo. The geometry is determined at startup and placement of icons set in root/Choices/ROX-Filer/puppupin
Best guess is that ROX are having problems at startup.

User avatar
greengeek
Posts: 5789
Joined: Tue 20 Jul 2010, 09:34
Location: Republic of Novo Zelande

#235 Post by greengeek »

goingnuts wrote:Pinboard should run in pupngo.
Thanks for the answers - that is very helpful. As part of this troubleshooting I am changing the desktop layout, and have put the jwm tray at the top (instead of the bottom) and I want to move the drive icons towards the top aswell. I can move these drive icons successfully by changing the puppypin file, but after I do that I notice that new usb drives I plug in still display at the bottom of the screen.

It appears as if maybe Rox has a predetermined positioning for anything that is not specifically mentioned yet in the puppypin file?

It seems to me that the tray which holds new drive icons is probably specified in the file .create_jwmrc_drives.sh by the line:

Code: Select all

<Tray layout="horizontal" x="-38" y="0" height="40" layer="0" border="1">" # > /root/.jwmrc-drives
but I have not succeeded in changing the behaviour/location of the drives tray (for example I tried changing "horizontal" to vertical, and also tried changing the x and y values but never saw any change)

Does every possible drive icon HAVE to be listed in puppypin?? What if I don't know how many drives the end user might have?

Is there some way to change the drive_icon_positioning_behaviour without specifying it in puppypin?
Attachments
TLpngo12.jpg
(26.36 KiB) Downloaded 454 times

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

#236 Post by goingnuts »

Is far as I remember the drive icons are generated in /sbin/pup_event_frontend_d. The .create_jwmrc_drives.sh is a left over from time when no ROX present and desktop icons were made via jwm alone. Try look into /sbin/pup_event_frontend_d - most things are explained there.

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

#237 Post by technosaurus »

The problem with rox is that it doesnt accept negative values for placement (distance from right or bottom) like jwm does, so it is a little harder to get exactly right. It probably wouldn't be a difficult thing to patch but then compatibility issues arise. it would look like:
if (x<0) x+=gdk_screen_get_widthgdk_screen_get_default());
//similar for y
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].

User avatar
greengeek
Posts: 5789
Joined: Tue 20 Jul 2010, 09:34
Location: Republic of Novo Zelande

#238 Post by greengeek »

Thanks for the clues. I have made some alterations to pupngo2012 so that the menu and drive icon display functions are referenced to the top left corner instead of the "calculated" bottom_of_screen and my 2180cdt is now booting correctly. I plan to try this approach on some of my other machines that struggle to boot/display puppy correctly, and have started a thread here:
http://www.murga-linux.com/puppy/viewto ... 684#683684

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

#239 Post by goingnuts »

I am working on getting icewm running in pupngo - and almost done with a draft. I am using xli as desktop background setter, have a pm-icewm-menu/winoptions done and modified smaller things in xinitrc and xwin. One problem remains though: How to swallow the freememapplet or other applets in icewm? Ohh - I think the solution is icewmtray!

KJ
Posts: 176
Joined: Thu 20 Jul 2006, 13:29
Location: Above sea level .. about 320m

#240 Post by KJ »

Icewmtray should address the "swallow" problem.

Happy to hear that IceWM might be in the works ... It's my favorite WM. Puppy Xtreme (420) is still one of my favorite Puppies ... no pinboard or wallpaper just a black screen with my most used apps on a double height taskbar (quick launch) plus battery, eth0 or wlan0, and CPU monitors (no tray). 13 basic running processes including eth0, 15 with wifi up. JWM work too but you do not have system monitors.

I've been playing around with PuPnGo2012, Plus and TLC for a few days now on my older acer lappy. All are running from a single USB flashdrive booting from Grub4DOS. PiPnGo2012 works well .... Only problem noted is that freememapplet doesn't report free RAM or savefile correctly.

Keep up the good work .... KJ

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

#241 Post by goingnuts »

KJ: Thanks. The wrong free space has been mentioned before but I haven't been able to track what is needed. The pmfree applet (modified freememapplet) is using the below scripting to calculate the free space:

Code: Select all

 
#default values
#LAYER=1; //read top unionfs layer.
#PUPMODE=2;

[ $PUPMODE -eq 3 ] && LAYER=2; //read pup_ro1 layer
[ $PUPMODE -eq 7 ] && LAYER=2;
[ $PUPMODE -eq 13 ] && LAYER=2;

if [ $LAYER -eq 1 ]; then
  FREE=$(df -m | grep ' /$' | tr -s ' ' | cut -f 4 -d ' ')
else
  FREE=$(df -m | grep '/pup_ro1$' | tr -s ' ' | cut -f 4 -d ' ')
endif

echo $FREE
So above script code should yield same value as pmfree. Any suggestions to modifications are welcome - it always report the right thing in this end.

The icewm build is quite an exercise - not only seems every version to have its own pros and cons but one also have to learn the tremendous number of settings possible. I have not been able to get the icewmtray to do anything visible (yet) but I can build 1.2.0/1.2.14/1.2.37 static. I guess I will have to test some of the versions in between to find one that have most of the functionality with the fewest "problems" (like missing content in windows and strange colors or render defects).

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

#242 Post by technosaurus »

i recall needing icewm-session to get the tray etc...

also that could be reduced to:

Code: Select all

case $PUPMODE in
  3|7|13)df -m | grep '/pup_ro1$' | tr -s ' ' | cut -f 4 -d ' ';;
  *)df -m | grep ' /$' | tr -s ' ' | cut -f 4 -d ' ';;
esac
mine is pup_rw on wary5btw

... but I think it may need some other code if more than 1 sfs file is in use (zdrv, extra large apps/collections, etc...), possibly look in /proc/mounts for / and rw and use df on that device (which seems more portable anyhow and would work for full installs) let me know if this won't work I may be able to come up with something better once I get back home to my linux box.
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].

simargl

#243 Post by simargl »

.
Last edited by simargl on Sun 01 Sep 2013, 14:49, edited 1 time in total.

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

#244 Post by goingnuts »

technosaurus: Thanks!
simargl: The "theming" was prioritized but seems too hard hacking on the theme-machines to be done (if one must have static binaries).

In the end icewm-1.2.37 seems ok - at least with the vista theme.
Download here:icewm_1.2.37_vista_stat.pet
The package contains static linked icewm-1.2.37 configured with

Code: Select all

--disable-nls --disable-xfreetype --enable-corefonts --with-icesound=OSS --enable-guievents --disable-i18n --enable-gradients
a static linked xli (for background setting), dietsniff (netstat replacement) and the vista-blue-velvet theme...

DO NOT install the pet in other Puppy versions as your xwin will be overwritten.
Install in pupngo using command "pkginstall.sh icewm_1.2.37_vista_stat.pet".

For other puppy versions use the "pkg2tgz" command to convert the pet to tgz-archive, extraxt and delete the xwin script before install.

I never got the icewmtray, icewmbg or icesound to work - but propably havent tried hard enough...so package only holds the icewm-binary.
Attachments
snap0001.png
pupngo2012 running icewm-1.2.37 with vista-blue-velvet theme
(170.1 KiB) Downloaded 777 times

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

#245 Post by technosaurus »

goingnuts wrote:I never got the icewmtray, icewmbg or icesound to work - but propably havent tried hard enough...so package only holds the icewm-binary.
if they need imlib2 that may be why - it dynamically loads the appropriate module for each image type, and I doubt it gets tested as a static library often (imlib v1 does work as a static lib though IIRC) but even if the image libraries work, ice may use an external program like file to check the file type first to know what module to load (whether it be builtin or shared) ... as for icesound, I think the older versions used the enlightened sound daemon (esound) though they may have switched to something more mainstream (most of it could probably be hacked to just call minimp3 or similar) though it could just be due the the mcb parts messing with ice's own internal evaluation of argv[0] ... for example it may need to be called as icewm-session-experimental may be required to enable the sound ... it would probably be easier to wrap minimp3 or another player the way rodent file manager (xfce fork) does for a lot of its functions (and 99% of puppy's gtkdialog apps for that matter)
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].

Post Reply