You are not logged in.

#1 2018-07-21 20:06:51

zerophase
Member
Registered: 2015-09-03
Posts: 239

[SOLVED]Any means of having strip ignore a file in a PKGBUILD?

I'm working on updating Unreal to version 4.20.0 for the aur repo. Running strip on Unreal removes between 3 to 7 gigs for the end package size, but libfbxsdk.a gets deleted in the process. libfbxsdk.a is required when actually building a project. So, is there any means of still enabling strip, while ignoring libfbxsdk.a in the process?

Last edited by zerophase (2018-07-22 00:20:40)

Offline

#2 2018-07-21 21:38:09

Trilby
Inspector Parrot
Registered: 2011-11-29
Posts: 30,456
Website

Re: [SOLVED]Any means of having strip ignore a file in a PKGBUILD?

That's not about stripping, that's due to the removal of static libs.  And there is a makepkg option to avoid that.


"UNIX is simple and coherent" - Dennis Ritchie; "GNU's Not Unix" - Richard Stallman

Offline

#3 2018-07-22 00:20:03

zerophase
Member
Registered: 2015-09-03
Posts: 239

Re: [SOLVED]Any means of having strip ignore a file in a PKGBUILD?

Thanks, pretty sure that's the cause.

Offline

#4 2018-07-22 05:36:41

eschwartz
Fellow
Registered: 2014-08-08
Posts: 4,097

Re: [SOLVED]Any means of having strip ignore a file in a PKGBUILD?

If the static library is actually required for compiling projects I assume it is because there is no shared library for them to link to instead. In which case makepkg will not remove the static library without a viable replacement.

But it seems extremely odd to me that the strip command would remove the entire contents of a static library. I'm entirely unwilling to believe it actually deletes the file.


Managing AUR repos The Right Way -- aurpublish (now a standalone tool)

Offline

#5 2018-07-22 05:43:16

zerophase
Member
Registered: 2015-09-03
Posts: 239

Re: [SOLVED]Any means of having strip ignore a file in a PKGBUILD?

Yeah, it's staticlib defaulting to !staticlib now. Did staticlib used to default to on? Awhile back the PKGBUILD didn't remove static libs, if I recall correctly. 

Should probably update the Unreal code to support linking with shared libraries when relevant. (there is a shared library)

Offline

#6 2018-07-22 06:09:11

eschwartz
Fellow
Registered: 2014-08-08
Posts: 4,097

Re: [SOLVED]Any means of having strip ignore a file in a PKGBUILD?

zerophase wrote:

Yeah, it's staticlib defaulting to !staticlib now. Did staticlib used to default to on? Awhile back the PKGBUILD didn't remove static libs, if I recall correctly.

You're absolutely right, it used to default to on. However, that was changed in pacman 4.1.2-2 back in 2013 to start removing them, so I don't know how useful this reply will be. wink

It's entirely possible that your makepkg.conf was customized to go against the distro defaults and have them be kept again... this would have unexpected interactions with most users who do not have this default though.

Should probably update the Unreal code to support linking with shared libraries when relevant. (there is a shared library)

Yes, that would be a very good idea, shared libraries are great. wink


Managing AUR repos The Right Way -- aurpublish (now a standalone tool)

Offline

#7 2018-07-22 07:21:15

zerophase
Member
Registered: 2015-09-03
Posts: 239

Re: [SOLVED]Any means of having strip ignore a file in a PKGBUILD?

eschwartz wrote:

You're absolutely right, it used to default to on. However, that was changed in pacman 4.1.2-2 back in 2013 to start removing them, so I don't know how useful this reply will be. wink

It's entirely possible that your makepkg.conf was customized to go against the distro defaults and have them be kept again... this would have unexpected interactions with most users who do not have this default though.

I think what happens with Unreal is the build process breaks, and Unreal goes ahead and redownloads the third party libraries bundled with it. I'm sure most of those libraries aren't required for Arch, unless Unreal moves ahead of the open source library, or uses proprietary libraries under license. Unreal is really is a perversion of open source by remaining proprietary, while allowing free modifications and submitting code back.

On more recent versions this triggers bugs that leads to Unreal creating additional intermediate compilation steps ballooning the entire project up to over 40 gigs.

It would be preferable to make unreal successfully operate with the default arch behavior. Currently we have to compile with make j1 since unreal has its own build system . Should probably look into fixing that. Might be to speed up compilation.

Offline

Board footer

Powered by FluxBB