Puppy Linux Discussion Forum Forum Index Puppy Linux Discussion Forum
Puppy HOME page : puppylinux.com
"THE" alternative forum : puppylinux.info
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

The time now is Mon 10 Dec 2018, 19:01
All times are UTC - 4
 Forum index » Advanced Topics » Cutting edge
What does the humongous /usr/lib/libLLVM.so.3 do?
Moderators: Flash, Ian, JohnMurga
Post new topic   Reply to topic View previous topic :: View next topic
Page 3 of 3 [38 Posts]   Goto page: Previous 1, 2, 3
Author Message
technosaurus


Joined: 18 May 2008
Posts: 4844
Location: Blue Springs, MO

PostPosted: Sat 28 Jul 2018, 19:49    Post subject:  

Uggg. Llvm is so frustrating. It has no simple way of removing support for architectures that it supports, but are completely useless for 99% of people. For example most x86_64 linux users don't need to build Qualcomm's hexagon or Microsoft windows binaries much less jit build them. On top of that it is written in c++ vs c, so compilers have a more difficult time eliminating unused cruft - thus the gratuitous amount of relatively large binaries. They tried to mitigate this to some extent by optionally combining most of the little static libraries into a single shared library, but not all binaries or dependent projects can take advantage of the shared library version of llvm either due to lack of maintenance (internal binaries) or for performance reasons (Mesa) It _could_ be made smaller and still function by modifying the build process to exclude unnecessary *.a libs from the *.so and even further by excluding some *.o files from the *.o files. IIRC ttuuxxx did something similar for an older version of Firefox, but most people won't have the skill set to do it and of those that do, most won't have the patience. I lack the patience to do anything other than a 1 time hack job like my mostly static build of midori, but the sources are poorly organized/named (not as bad as Mozilla, but bad) so it's difficult to pinpoint which objects and libraries can be omitted and, since it is c++, more difficult to find unnecessary references to them in the sources.

TLDR it's possible to make it smaller but not easy... a good GSOC project.

As for Mesa, the primary user, it can be built without llvm and then the drivers that absolutely need llvm can be built against a static PIC build of llvm (so only those drivers absorb the cost, but only the minimum cost); however this is a complicated arrangement that most automated build systems can't support.

_________________
Check out my github repositories. I may eventually get around to updating my blogspot.
Back to top
View user's profile Send private message Visit poster's website 
musher0

Joined: 04 Jan 2009
Posts: 13151
Location: Gatineau (Qc), Canada

PostPosted: Sat 28 Jul 2018, 21:13    Post subject:  

Ok... Laughing

technosaurus wrote:
> "TLDR it's possible to make it smaller but not easy... a good GSOC project."
Translation: Smile
"Too long didn't read, it's possible... Google Summer of Code project."
I was lucky to have the search gods smile on me tonight! Smile

~~~~~~~

FYI and everyone's, figosdev, on
http://softwarefreedom.jcink.net/index.php?showtopic=40&st=0&#entry116
8th post down, wrote:
> "the latest version of mkfigos deletes llvm.
> the one effect ive noticed is that webkit doesnt work without it.
> thats a pretty big thing,"

BFN.

_________________
musher0
~~~~~~~~~~
Je suis né pour aimer et non pas pour haïr. (Sophocle) /
I was born to love and not to hate. (Sophocles)

Last edited by musher0 on Sun 29 Jul 2018, 04:17; edited 2 times in total
Back to top
View user's profile Send private message 
BarryK
Puppy Master


Joined: 09 May 2005
Posts: 8739
Location: Perth, Western Australia

PostPosted: Sun 29 Jul 2018, 01:49    Post subject:  

The latest EasyOS, 0.9.5, doesn't have llvm.

This distro is built with packages compiled from source in 'oe-qky-src', my fork of OpenEmbedded.

The only thing that I am missing out on is support for some video hardware, affecting a very small minority of users I think.

For the record:

https://github.com/bkauler/oe-qky-src

_________________
http://bkhome.org/news/
Back to top
View user's profile Send private message Visit poster's website 
musher0

Joined: 04 Jan 2009
Posts: 13151
Location: Gatineau (Qc), Canada

PostPosted: Sun 29 Jul 2018, 04:16    Post subject:  

Ah, Barry, you were always the visionary! Wink

Thanks for this info!

BFN.

_________________
musher0
~~~~~~~~~~
Je suis né pour aimer et non pas pour haïr. (Sophocle) /
I was born to love and not to hate. (Sophocles)
Back to top
View user's profile Send private message 
Marv


Joined: 04 May 2005
Posts: 1099
Location: SW Wisconsin

PostPosted: Sun 29 Jul 2018, 11:45    Post subject:  

Morning musher0,
A quiet Sunday morning so just for hoots over coffee, working on my fairly modified upupbb 18.05 +10, I removed the llvm libs and samba (a pretty thorough but probably not perfect manual scrub) and resquashed the main SFS. I am an all intel shop at this point, four i5s, two or three core 2 duos, and two Bay Trail desktops. Stopped using samba partly because of throughput and reliability issues with large files and partly just because it made me nervous. I just keep a USB3 HDD or two by my main computer and back up and transfer using them. It's fast and bulletproof and the extra walking doesn't hurt me. The space saved on the install doesn't matter to me at this time since my current hardware is all capable enough but I was just curious.

Things that I've tried and work here on this stripped version of upupbb:
My integrated pcmanfm and trashcan, glxgears, pmusic, gnome-mplayer, Slimjet 18.0.5.0 run-as-spot from SFS, Sylpheed, QtWebBrowser 3.8.5 portable install, gnumeric (simple financial spreadsheet), abiword (create, format, and print a testpage), networked printers (one HP4500 all-in-one and a Brother 2170 laserprinter) The Brother was already installed. I turned the firewall off and installed the usual HPlite. Both printers were autodetected by CUPS and the HP installed and printed a test page perfectly.

Things that fail: Haven't run into one yet. Certainly video driver dependent so I'm probably an outlier here with the all intel and pretty simple use but... I'll use this pup for a while and see what does break. I like it for it's non-gvfs nature.

Just fooling around Very Happy

Update: A few days of steady use, including a kernel swap and the usual system tests of that, and I haven't found anything that is broken on this platform and pup by this change. I found my stripper script so the samba removal is complete and checked per the .packages list.

_________________
Pups currently in kennel Very Happy LxPupSc and X-slacko-4.4 for my users; LxPupSc, LxPupSc64, LxPupBionic, upupbb and upupcc for me. All good pups indeed, and all running savefiles for look'n'feel only. Browsers, etc. solely from SFS.

Last edited by Marv on Tue 31 Jul 2018, 08:33; edited 1 time in total
Back to top
View user's profile Send private message 
musher0

Joined: 04 Jan 2009
Posts: 13151
Location: Gatineau (Qc), Canada

PostPosted: Sun 29 Jul 2018, 11:57    Post subject:  

HI Marv.

I'd say we need more fooling around like that !!!

Many thanks for the report!!

Have a great day!

_________________
musher0
~~~~~~~~~~
Je suis né pour aimer et non pas pour haïr. (Sophocle) /
I was born to love and not to hate. (Sophocles)
Back to top
View user's profile Send private message 
Duprate


Joined: 04 May 2016
Posts: 6
Location: Brazil

PostPosted: Wed 05 Sep 2018, 08:50    Post subject: Xenial Pup 64 small  

Hello! I am using Xenial Pup 7.5 with the following modifications:
Removed:
Palemoon;
Samba;
libLLVM-4.0.so.1 in usr / lib;
kms_swrast_dri.so,
nouveau_dri.so,
nouveau_vieux_dri.so,
r200_dri.so,
r300_dri.so,
r600_dri.so,
radeon_dri.so,
radeonsi_dri.so,
swrast_dri.so,
virtio_gpu_dri.so,
vmwgfx_dri.so, all in usr / lib / dri.

puppy_xenialpup64_7.5.sfs got 187 Mb. The kernel is 4.14.63, extracted from q.sfs of the latest version of Barry Kauler's Quirky Xerus 64 8.6, which was very well done with the following patches:
CPU vulnerabilites: Mitigation:
l1tf PTE inversion mitigation
meltdown PTI mitigation
spec_store_bipass * vulnerable
specter_v1 _user pointer sanitization
spectre_v2 full generic retpoline


On my PC (Intel (R) Pentium (R) CPU G3260 @ 3.30GHz), it is working very well. On an Ultra PC Ultra Liva X2 (Celeron Dual Core N3060) very well.

I do not recommend this for users with little knowledge of their PC and each computer has its specific configuration.
Very Happy
Back to top
View user's profile Send private message 
Duprate


Joined: 04 May 2016
Posts: 6
Location: Brazil

PostPosted: Wed 26 Sep 2018, 07:43    Post subject: Warning!  

Hello! Do not do the above procedure on Bionicpup 64 or the programs that require OpenGL will not work. This was just a temporary test done with Xenialpup 64!
Back to top
View user's profile Send private message 
Display posts from previous:   Sort by:   
Page 3 of 3 [38 Posts]   Goto page: Previous 1, 2, 3
Post new topic   Reply to topic View previous topic :: View next topic
 Forum index » Advanced Topics » Cutting edge
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group
[ Time: 0.0550s ][ Queries: 12 (0.0089s) ][ GZIP on ]