Should *.la libraries be stripped?
Should *.la libraries be stripped?
Hello all.
After I've compiled an application, I routinely do a < strip --stip-unneeded > on the resulting
executable and *.so libraries.
Can we strip big *.la libraries as well? I read somewhere that we should leave those as
they are. Is that true? Why would that be?
Thanks in advance for any insight.
BFN.
After I've compiled an application, I routinely do a < strip --stip-unneeded > on the resulting
executable and *.so libraries.
Can we strip big *.la libraries as well? I read somewhere that we should leave those as
they are. Is that true? Why would that be?
Thanks in advance for any insight.
BFN.
musher0
~~~~~~~~~~
"You want it darker? We kill the flame." (L. Cohen)
~~~~~~~~~~
"You want it darker? We kill the flame." (L. Cohen)
I think the la files are used to statically link, you should be able to remove those and any other DEV files.
I usually split the packages once compiled to separate DEV, DOC, NLS, if you are using "new2dir make install" or "make DESTDIR=/PATH/TO/PACKAGE/FOLDER install"
then just drag the created package output folder to this script(splitpkg.sh)
Note: "new2dir make install" will strip unneeded, where "make DESTDIR=/PATH/TO/PACKAGE/FOLDER install" doesn't,
so "strip --strip-unneeded" will have to be performed on the resulting binaries and lib files.
I usually split the packages once compiled to separate DEV, DOC, NLS, if you are using "new2dir make install" or "make DESTDIR=/PATH/TO/PACKAGE/FOLDER install"
then just drag the created package output folder to this script(splitpkg.sh)
Note: "new2dir make install" will strip unneeded, where "make DESTDIR=/PATH/TO/PACKAGE/FOLDER install" doesn't,
so "strip --strip-unneeded" will have to be performed on the resulting binaries and lib files.
- Attachments
-
- splitpkg.tar.gz
- (942 Bytes) Downloaded 147 times
[b]Carolina:[/b] [url=http://smokey01.com/carolina/pages/recent-repo.html]Recent Repository Additions[/url]
[img]https://dl.dropboxusercontent.com/s/ahfade8q4def1lq/signbot.gif[/img]
[img]https://dl.dropboxusercontent.com/s/ahfade8q4def1lq/signbot.gif[/img]
Sorry @musher0 for my misleading tired post which caused the confusion. I'll edit it.
Puppy Linux Blog - contact me for access
Oh, hi, 01micko!01micko wrote:Sorry @musher0 for my misleading tired post which caused the confusion. I'll edit it.
No-no, it has nothing to do with the libabiword snafu in the last slacko devx. But thanks
for showing up!
The reason I initiated this thread is that I compiled the most recent "sox" (aka Sound
Exchange) utility, and there's are big a and la libraries in there after compilation. I was
wondering what to do with them -- if it would damage anything if I tried to strip them.
(BTW, sox works fine with those libs as they are.)
BFN.
musher0
~~~~~~~~~~
"You want it darker? We kill the flame." (L. Cohen)
~~~~~~~~~~
"You want it darker? We kill the flame." (L. Cohen)
Hi musher0
Before you run ./configure run ./configure --help and look at the options to see if something like '--disable-static' is available. You may have to type '--disable-static=yes' or '--enable-static=no'. If you are not going to make use of programs that link in the static library then there is no use having it.
Cheers!
Before you run ./configure run ./configure --help and look at the options to see if something like '--disable-static' is available. You may have to type '--disable-static=yes' or '--enable-static=no'. If you are not going to make use of programs that link in the static library then there is no use having it.
Cheers!
Puppy Linux Blog - contact me for access
Hi Geoffrey.Geoffrey wrote:I think the la files are used to statically link, you should be able to remove those and any other DEV files.
I usually split the packages once compiled to separate DEV, DOC, NLS, if you are using "new2dir make install" or "make DESTDIR=/PATH/TO/PACKAGE/FOLDER install"
then just drag the created package output folder to this script(splitpkg.sh)
Note: "new2dir make install" will strip unneeded, where "make DESTDIR=/PATH/TO/PACKAGE/FOLDER install" doesn't,
so "strip --strip-unneeded" will have to be performed on the resulting binaries and lib files.
I know that I can do a < strip --strip-unneeded > on ELF executables and *.so libs, but...
are you saying that I could also apply a < strip --strip-unneeded > to the a and la files?
Thanks in advance.
BFN.
~~~~~~~~~~~~~~~
PS.
I'm not absolutely clear about your "new2dir" procedure, but I'm keeping it out of the
current discussion to maintain focus.
I'm a bit suspicious about it, actually. I always do the < make install > with the 2nd
option that you mention: "make DESTDIR=/PATH/TO/PACKAGE/FOLDER install".
musher0
~~~~~~~~~~
"You want it darker? We kill the flame." (L. Cohen)
~~~~~~~~~~
"You want it darker? We kill the flame." (L. Cohen)
Ah. So all packages do NOT build dynamically by default. I didn't know that. Thanks.01micko wrote:Hi musher0
Before you run ./configure run ./configure --help and look at the options to see if something like '--disable-static' is available. You may have to type '--disable-static=yes' or '--enable-static=no'. If you are not going to make use of programs that link in the static library then there is no use having it.
Cheers!
musher0
~~~~~~~~~~
"You want it darker? We kill the flame." (L. Cohen)
~~~~~~~~~~
"You want it darker? We kill the flame." (L. Cohen)
Most do actually; a notable exception is wireless-tools. Some build both by default, some only shared, some (rare) only static.musher0 wrote:Ah. So all packages do NOT build dynamically by default. I didn't know that. Thanks.
Anyway, I found a slackbuild that strips ar archives with 'strip --strip-debug' here
I suppose it is probably safer.find . | xargs file | grep "current ar archive" | cut -f 1 -d : | \
xargs strip --strip-debug 2> /dev/null
HTH
Puppy Linux Blog - contact me for access
Na, I thought I'd mention that the .la .a are part of the DEV files and aren't needed if you only want the the application and the lib files it requires.musher0 wrote: I know that I can do a < strip --strip-unneeded > on ELF executables and *.so libs, but...
are you saying that I could also apply a < strip --strip-unneeded > to the a and la files?
"new2dir make install" will install to your system as well as make a directory that a package can be made from,I'm not absolutely clear about your "new2dir" procedure, but I'm keeping it out of the
current discussion to maintain focus.
"make DESTDIR=/Bla install", installs only to the DESTDIR, but I don't always have success with it, sometimes the directory is left empty
http://puppylinux.org/wikka/new2dir
[b]Carolina:[/b] [url=http://smokey01.com/carolina/pages/recent-repo.html]Recent Repository Additions[/url]
[img]https://dl.dropboxusercontent.com/s/ahfade8q4def1lq/signbot.gif[/img]
[img]https://dl.dropboxusercontent.com/s/ahfade8q4def1lq/signbot.gif[/img]
-
- Posts: 1543
- Joined: Mon 22 Feb 2016, 19:43
-
- Posts: 503
- Joined: Mon 09 Sep 2013, 00:00
- Location: Florida, USA
- Contact:
I am not sure where the 'splitpkg.sh' originated, but thank you for posting it on the forum.Geoffrey wrote:I think the la files are used to statically link, you should be able to remove those and any other DEV files.
I usually split the packages once compiled to separate DEV, DOC, NLS, if you are using "new2dir make install" or "make DESTDIR=/PATH/TO/PACKAGE/FOLDER install"
then just drag the created package output folder to this script(splitpkg.sh)
Note: "new2dir make install" will strip unneeded, where "make DESTDIR=/PATH/TO/PACKAGE/FOLDER install" doesn't,
so "strip --strip-unneeded" will have to be performed on the resulting binaries and lib files.
When I compile and create pet files, I previously used new2dir.
Using new2dir when compiling and packaging 'wine' worked fine.
For some pet files, I needed to manually comment-out the lines in that script for stripping.
At some point, I needed to compile and package some other application.
new2dir would not function correctly with this app.
I needed to find an alternative to new2dir because I still needed the splitting function it has.
I found this forum thread and splitpkg.
Thank you again.