Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

trim dist #1744

Closed
4 tasks done
JeffBezanson opened this issue Dec 13, 2012 · 14 comments
Closed
4 tasks done

trim dist #1744

JeffBezanson opened this issue Dec 13, 2012 · 14 comments
Labels
domain:building Build system, or building Julia or its dependencies
Milestone

Comments

@JeffBezanson
Copy link
Sponsor Member

There is a lot of unnecessary stuff in make dist:

  • static libraries. I don't think they are needed.
  • readline libraries. I believe we statically link them so they shouldn't need to be distributed.
  • 3 copies of libarpack named .so, .so.2, and .so.2.0.0. Might be a problem in the arpack build, copying instead of making links perhaps.
  • 20MB of unicode test files. make install specifically runs make -C test/unicode. Why?

We could also remove the docs, since they are available online.

@tshort
Copy link
Contributor

tshort commented Dec 14, 2012

i prefer leaving the docs in, so they're usable locally (for searching for example).

@ViralBShah
Copy link
Member

Yes, we should include the docs in dist, but rest all should be fixed. For docs, we should also include a pdf of the docs in the distribution.

@ViralBShah
Copy link
Member

I think we can close this, since we got our major gains from generating the unicode files on the fly, rather than packaging them. @JeffBezanson Unless you strongly feel about all the other stuff you mention, could you close this?

@JeffBezanson
Copy link
Sponsor Member Author

No, we can't close this until we stop packaging multiple copies of libraries, or anything else that is not needed.

@ViralBShah
Copy link
Member

For the static libraries, the simplest thing to do is to rm *.a in the directory containing the tarball. readline could also be deleted at the same time.
The multiple copies are probably due to the use of cp -R in make install.

nolta added a commit that referenced this issue Feb 13, 2013
@nolta nolta closed this as completed in 7d040da Feb 14, 2013
@JeffBezanson JeffBezanson reopened this Aug 16, 2014
@JeffBezanson
Copy link
Sponsor Member Author

cc @staticfloat
This is still happening. make dist ships 2 copies of openblas, 3 copies of fftw, 4 copies of GMP, etc.
see also #6711

@IainNZ
Copy link
Member

IainNZ commented Aug 16, 2014

related perhaps: I just downloaded rc-4 today (on OSX) and it was ~50MB bigger than a 60 day old nightly I had been using

@Keno
Copy link
Member

Keno commented Aug 16, 2014

We also recently added debug symbols for release builds. I like this when building from source, but for distributions it might make sense to strip them.

@tkelman
Copy link
Contributor

tkelman commented Aug 16, 2014

Is there a point to having separate julia and julia-debug if both have debug symbols included? I think the osx nightly from 60 days ago also was using accelerate instead of openblas

@tknopp
Copy link
Contributor

tknopp commented Aug 16, 2014

@tkelman: Sorry if this is a dump question but are the debug symbols in a release build really valid? How can that be when the optimizer moves statements wildly around...

@staticfloat
Copy link
Sponsor Member

@JeffBezanson We get multiple copies because install doesn't know how to deal with symlinks. I'm working on it.

Debug symbols shouldn't be adding anything significant to the download size. We're duplicating every library that has a tiered versioned name. Copying these as symlinks instead of files should cut down our install size significantly.

OSX nightlies will necessarily be at least 30MB larger now that we're packing OpenBLAS alongside.

@tkelman
Copy link
Contributor

tkelman commented Aug 16, 2014

Before the debug symbols were added to it, libjulia.dll was 15 MB on Windows, now it's 50. There's actually no point in using julia-debug on Windows right now because of #7982

@tknopp I believe the optimizer flags are still different between libjulia and libjulia-debug, so hard to say.

@staticfloat
Copy link
Sponsor Member

@tkelman That's pretty different from other platforms. On Linux, for example, libjulia.so is currently 21MB. If I strip it, it drops down to 16MB. On OSX, the debugging information is stored externally, in a libjulia.dylib.dSYM directory, which totals 8.4MB.

@staticfloat
Copy link
Sponsor Member

PR for fixing some of these issues here: #8024

@JeffBezanson JeffBezanson added this to the 0.3.1 milestone Aug 20, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
domain:building Build system, or building Julia or its dependencies
Projects
None yet
Development

No branches or pull requests

9 participants