The time now is Sat 14 Dec 2019, 14:37
All times are UTC - 4 |
Page 1 of 2 [29 Posts] |
Goto page: 1, 2 Next |
Author |
Message |
musher0
Joined: 04 Jan 2009 Posts: 14550 Location: Gatineau (Qc), Canada
|
Posted: Tue 26 Jun 2018, 00:16 Post subject:
What does the LLVM library do and how badly do we need it? Subject description: (SOLVED) |
|
Hello all.
As the title says.
We have this huge LLVM library in the pup*.sfs of all Puppies. I read in the
wikipedia article about it that it is mostly good to help execution of programs
written in the Haskell and Java languages.
Maybe I understood this wrong, which is why I'm asking.
It's pushing 50 Mg's, so if we only need on certain occasions, why not make a
separate sfs of it, that people could load as needed? It would be a nice way to
trim down our future Pups.
TIA for any insights. 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 Tue 26 Jun 2018, 14:47; edited 1 time in total
|
Back to top
|
|
 |
s243a
Joined: 02 Sep 2014 Posts: 2206
|
Posted: Tue 26 Jun 2018, 00:27 Post subject:
|
|
Here's some stuff from google:
Quote: |
LLVM is an abbreviation of "Low Level Virtual Machine"; LLVM is:
A compilation strategy
A virtual instruction set
A compiler infrastructure
|
https://wiki.haskell.org/LLVM
Quote: |
LLVM is written in C++ and is designed for compile-time, link-time, run-time, and "idle-time" optimization of programs written in arbitrary programming languages. Originally implemented for C and C++, the language-agnostic design of LLVM has since spawned a wide variety of front ends: languages with compilers that use LLVM include ActionScript, Ada, C#,[4][5][6] Common Lisp, Crystal, CUDA, D, Delphi, Fortran, Graphical G Programming Language,[7] Halide, Haskell, Java bytecode, Julia, Kotlin, Lua, Objective-C, OpenGL Shading Language, Pony,[8] Python, R, Ruby,[9] Rust, Scala,[10] Swift, and Xojo.
|
https://en.wikipedia.org/wiki/LLVM
|
Back to top
|
|
 |
peebee

Joined: 21 Sep 2008 Posts: 4098 Location: Worcestershire, UK
|
Posted: Tue 26 Jun 2018, 02:06 Post subject:
Re: What does the LLVM library do and how badly do we need it? |
|
musher0 wrote: | We have this huge LLVM library in the pup*.sfs of all Puppies. .....
It's pushing 50 Mg's, so if we only need on certain occasions, why not make a
separate sfs of it |
It's a dependency of many xorg/xserver drivers so these may not work if it is removed.
Those drivers could possibly be compiled specially for Puppy but that is a big job (out of interest does BarryK have LLVM in his Easy builds?? I think he may be on a much older version of xorg??)
Shipping a separate sfs in the iso would not reduce the iso size.....
So LLVM is a necessary evil from building Pups from components provided by other systems I'm afraid.
p.s. llvm-cut contributes c. 12.6MB to the iso size.....50MB is the amount of memory it occupies once loaded.
_________________
LxPup = Puppy + LXDE
Main version used daily: LxPupSc; Assembler of UPups, ScPup & ScPup64, LxPup, LxPupSc & LxPupSc64
|
Back to top
|
|
 |
musher0
Joined: 04 Jan 2009 Posts: 14550 Location: Gatineau (Qc), Canada
|
Posted: Tue 26 Jun 2018, 04:14 Post subject:
|
|
@s243a: thanks for the additional info.
@peebee: also thanks for your reply.
However, on this trimmed xenialPup-706, I've transplanted the LLVM lib to the devx. I've
been running this Pup for 4 hours in a row without LLVM without any problems. Are
you sure this LLVM thing is not some kind of folklore or overstatement? You're an
experienced dev, of course, and I want to believe you, but what you say and my hands-
on experience do not jive.
I remember having had a similar conversation with former member ASRI. (It's on this
forum somewhere.) He ran his educational Pup without LLVM for a while and had no
problems.
How do we test this LLVM lib, to be sure it is needed by us simple mortals? Does it
leave a trace when it kicks in or after it has done so?
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
|
|
 |
musher0
Joined: 04 Jan 2009 Posts: 14550 Location: Gatineau (Qc), Canada
|
Posted: Tue 26 Jun 2018, 04:22 Post subject:
|
|
Hello again, peebee.
This is the the size of the LLVM on my xenialPup-706:
Quote: | [/usr/lib]>lg -h *LL*
lrwxrwxrwx 1 16 jun 20 19:03 libLLVM-4.0.so -> libLLVM-4.0.so.1
-rw-r--r-- 1 51M oct 20 2017 libLLVM-4.0.so.1 |
If you know of a smaller implementation, and where to find it, please let us know?
TIA.
_________________ 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
|
|
 |
Sailor Enceladus
Joined: 22 Feb 2016 Posts: 1565
|
Posted: Tue 26 Jun 2018, 08:16 Post subject:
|
|
I think if you build Slacko 14.1 it doesn't need llvm, but 14.2 uses it for some drivers. Maybe it's the same for Tahr vs. Xenial.
One way to see what may use it is to remove llvm with "Remove Builtin Packages" then run checkdeps / from terminal:
http://www.murga-linux.com/puppy/viewtopic.php?p=958690#958690
|
Back to top
|
|
 |
musher0
Joined: 04 Jan 2009 Posts: 14550 Location: Gatineau (Qc), Canada
|
Posted: Tue 26 Jun 2018, 08:59 Post subject:
|
|
Many thanks, Sailor Enceladus.
@peebee: the github page for llvm-cut does not exist anymore.
Does anybody have a lead?
TIA
_________________ 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
|
|
 |
peebee

Joined: 21 Sep 2008 Posts: 4098 Location: Worcestershire, UK
|
Posted: Tue 26 Jun 2018, 14:05 Post subject:
|
|
musher0 wrote: | Many thanks, Sailor Enceladus.
@peebee: the github page for llvm-cut does not exist anymore.
Does anybody have a lead?
TIA |
Testing branch is recently different to master:
https://github.com/puppylinux-woof-CE/woof-CE/tree/master/woof-code/packages-templates/llvm-cut
https://github.com/puppylinux-woof-CE/woof-CE/blob/testing/woof-code/packages-templates/llvm-cut_FIXUPHACK
_________________
LxPup = Puppy + LXDE
Main version used daily: LxPupSc; Assembler of UPups, ScPup & ScPup64, LxPup, LxPupSc & LxPupSc64
|
Back to top
|
|
 |
musher0
Joined: 04 Jan 2009 Posts: 14550 Location: Gatineau (Qc), Canada
|
Posted: Tue 26 Jun 2018, 14:46 Post subject:
|
|
Hi peebee and all.
In other words, nothing at the moment. Thanks for being so frank!
In any case, I wasn't asking about our Puppy situation, but generally, if there exists
a trimmed down LLVM library.
I ran the test suggested by Sailor E. and got pretty much the same results.So the
utility of this LLVM lib is pretty much limited to Puppyists with fancy video cards.
So from now on, LLVM will be a separate sfs in my Pups: those who need it,
download it. Same as we've been doing for ages, with the devx. In so doing, we'll
be shaving 51 Mb's unpacked (or 29 Mb's squashed) off the iso for the majority
who don't need it.
Why make the majority pay -- download wise -- for the needs of the few.
Finally, this thread WAS useful. Thanks to all who contributed.
_________________ 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
|
|
 |
rcrsn51

Joined: 05 Sep 2006 Posts: 12812 Location: Stratford, Ontario
|
Posted: Tue 26 Jun 2018, 16:15 Post subject:
|
|
At some point in the Puppy past, the decision was made to include accelerated video (mesa/dri). This would let users run things like Google Earth OOTB. This is how LLVM gets introduced.
So another approach is to remove all the mesa/dri stuff from the woof build.
Users can add it (and all the dependencies) as needed. This is how Stretch-Live handles it.
|
Back to top
|
|
 |
dancytron
Joined: 18 Jul 2012 Posts: 1415
|
Posted: Tue 26 Jun 2018, 16:19 Post subject:
|
|
rcrsn51 wrote: | At some point in the Puppy past, the decision was made to include accelerated video (mesa/dri). This would let users run things like Google Earth OOTB. This is how LLVM gets introduced.
So another approach is to remove all the mesa/dri stuff from the woof build.
Users can add it (and all the dependencies) as needed. This is how Stretch-Live handles it. |
Thinking out loud.
So, a compromise approach might be to use ydrv*.sfs or one of the other *drv*.sfs files to hold LLVM and all the mesa-dri stuff. Normal users that want Accelerated video out of the box could just leave it be and those who would rather save 50 Meg can delete it from their frugal install.
Last edited by dancytron on Tue 26 Jun 2018, 16:52; edited 1 time in total
|
Back to top
|
|
 |
rcrsn51

Joined: 05 Sep 2006 Posts: 12812 Location: Stratford, Ontario
|
Posted: Tue 26 Jun 2018, 16:28 Post subject:
|
|
You would need to determine something first. Do sfs modules get loaded BEFORE X starts?
I used a similar trick in Devuan live where I put the firmware required by the radeon video driver in a squashfs module. It DID get loaded first and X started.
|
Back to top
|
|
 |
dancytron
Joined: 18 Jul 2012 Posts: 1415
|
Posted: Tue 26 Jun 2018, 16:57 Post subject:
|
|
rcrsn51 wrote: | You would need to determine something first. Do sfs modules get loaded BEFORE X starts?
I used a similar trick in Devuan live where I put the firmware required by the radeon video driver in a squashfs module. It DID get loaded first and X started. |
I think the answer to that for *drv*.sfs files is "Yes" they are loaded before X gets started. Regular ones, I'm not so sure.
See http://www.murga-linux.com/puppy/viewtopic.php?p=906486#906486
|
Back to top
|
|
 |
rcrsn51

Joined: 05 Sep 2006 Posts: 12812 Location: Stratford, Ontario
|
Posted: Tue 26 Jun 2018, 17:18 Post subject:
|
|
If not, an X restart might be required.
As a proof-of-concept, I made a squashfs module of libgl1-mesa-dri + mesa-utils. I dropped it into a Debian-live frugal install and it appears to be working.
|
Back to top
|
|
 |
dancytron
Joined: 18 Jul 2012 Posts: 1415
|
Posted: Tue 26 Jun 2018, 17:47 Post subject:
|
|
rcrsn51 wrote: | If not, an X restart might be required.
As a proof-of-concept, I made a squashfs module of libgl1-mesa-dri + mesa-utils. I dropped it into a Debian-live frugal install and it appears to be working. |
I don't do it anymore, but I used to use apt2sfs to make an sfs with libgl1-mesa-dri, mesa-utils, the realtek drivers for my ethernet, and a few other things. It worked fine.
For Puppy, it seems like an *drv*.sfs with mesa, mesa-utils, llvm, and some of the less common video card drivers would be worth someone trying.
|
Back to top
|
|
 |
|
Page 1 of 2 [29 Posts] |
Goto page: 1, 2 Next |
|
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
|