Page 1 of 1

QT-opensource-4.7.3

Posted: Sat 04 Jun 2011, 21:16
by morgonzola
ok so here is the full Qt library. its huge. unfortunately i included too many symlinks in the / directory so just go in there and delete those that are not useful. i figure this is easier then re-uploading the whole thing (huge ugh)
i can make a script which will do it, but i'm afraid of deleting things that people already had there, so if the script is desired i will try and make it.
this is if you got the old one!!!!!!!!!!!

for the new one, its all good i cleaned it up

everything is compiled in /opt/qt-opensource-4.73

qt-opensource-4.7.3
size=161.11 MB
file host=2shared[/b]

Posted: Sun 05 Jun 2011, 07:25
by muggins
Hello Morgonzola,

I'm a bit daunted by the size of your QT4 sfs! Compared with Pemasu's 4.8:

qt4-4.8.0.sfs (18M)
http://www.smokey01.com/pemasu/Sfs/qt4_DEV-4.8.0.sfs (14M)

I wonder whether, before creating the sfs, you stripped all the libraries?

Posted: Sun 05 Jun 2011, 13:16
by playdayz
I wonder whether, before creating the sfs, you stripped all the libraries?
Good guess muggins. There was also considerable documentation included. Musescore 1.0 is available in a 68MB pet complete.
http://www.murga-linux.com/puppy/viewto ... 042#531042

Posted: Sun 05 Jun 2011, 15:04
by Dingo
I usually:

perform strip

Code: Select all

strip --strip-unneeded
perform sstrip (from elfkickers)
to eliminate little garbage that strip leaves
if I'm not satisfied, I try to re-build against dietlibc

for binaries, I often compress with upx

Posted: Mon 06 Jun 2011, 05:10
by morgonzola

PostPosted: Yesterday, at 11:04 Post subject:
I usually:

perform strip
Code:
strip --strip-unneeded

perform sstrip (from elfkickers)
to eliminate little garbage that strip leaves
if I'm not satisfied, I try to re-build against dietlibc

for binaries, I often compress with upx
oh ok. to be honest i don't know what any of that is :oops: tee hee but! i will try it out on the qt thing sometime this week and make a re post

but thanks for all the advice :D much appreciated

Posted: Mon 06 Jun 2011, 08:56
by muggins
Hello Morgonzola,

yes, strip can reduce the size of binaries, and library files, by removing symbols that aren't required for the compiled propgram/library to work.

Also, it's been awhile since I last compiled QT4 but, (from what I can recall), if you include the configure option -fast, it really does speed up compilation.

cheers

Posted: Tue 07 Jun 2011, 00:10
by morgonzola
actually can i ask a clarifying question about stripping libraries?

do i have to tell strip what i specifically want to strip? and if that is so what do i tell it to strip?

also does this take place in the original directory i made it in or is it in the one i plan on turning into a pet/sfs

also does compressing binaries have a lot of impact? or is it just another thing to do

Posted: Tue 07 Jun 2011, 12:43
by muggins
Binaries & library .so files should always be stripped, to reduce their size by removing unnecessary debugging symbols. With bin directories you can just run, in the relevant directory:

Code: Select all

strip *
whereas for library files, as mentioned by Dingo, you could use:

Code: Select all

strip --strip-unneeded *.so
(Although, ftom memory, I think Mu usedto use strip * on libs as well?)

Note that strip isn't recursive, so if there are other library files, in subdirectories, you will either need to run the same command in them, or write a script to recursively call strip.

With regard to also compressing binaries, by upx'ing them, well it depends on how the files will be packaged. There's no need to upx binaries in your QT4 sfs, as they'll already be compressed by squashfs.

Edit:
also does this take place in the original directory i made it in or is it in the one i plan on turning into a pet/sfs
Usually you'll find, after doing a make install, that often the Makefile has already called strip. But, it's something to get into the habit of checking, in your final pet directory, especially in the case of big packages like QT4.
also does compressing binaries have a lot of impact?
Stripping doesn't change the operation of the binary, only removing unrequired symbols. (With the caution that --strip-uneeded has to be used for libs, as they might not work with more aggressive stripping.)

Upx'ing binaries also doesn't negatively alter their operation...just makes them load slightly slower. But, as mentioned above, you wouldn't upx binaries intended for inclusion in an sfs file.

One last thing about upx'ed bimaries is that running ldd on them doesn;t show which library files they're linked to. The solution is to run upx -d binary_name
first, then use ldd binary_name.