Closed vbraun closed 8 years ago
Branch: u/vbraun/remove_ld_library_path
With the attached branch I can build Sage and all tests pass except three using the quadratic sieve (build/pkgs/flintqs). Which is no surprise if you look at its build "system".
New commits:
b68082b | Do not drop LDFLAGS in fflas_ffpack |
27f1f4b | Do not drop LDFLAGS in freetype |
fb647de | Do not drop LDFLAGS in gfan |
49ae3fc | Do not drop LDFLAGS in m4rie |
93973ff | Do not drop LDFLAGS in matplotlib |
77032e7 | Do not drop LDFLAGS in ginac |
8e40ca6 | Do not drop LDFLAGS in ratpoints |
4c53d29 | Do not drop LDFLAGS in arb |
0214c00 | Do not drop LDFLAGS in Singular |
ba7c0a8 | Replace LD_LIBRARY_PATH with rpath |
Fixing flintqs
should be trivial, there is one makefile for SAGE64
and one used otherwise - and for the record that's the diff between the two
--- makefile.osx64 2009-01-21 03:11:18.000000000 +1300
+++ makefile.sage 2007-05-06 11:00:10.000000000 +1200
@@ -27,8 +27,8 @@
BIN = QuadraticSieve QuadraticSieve.exe
#CXXFLAGS = $(CXXINCS) -Wall -Wno-sign-compare -march=athlon-xp -fomit-frame-pointer -O2
#CXXFLAGS2 = $(CXXINCS) -Wall -Wno-sign-compare -march=athlon-xp -fomit-frame-pointer -O3
-CXXFLAGS = $(CXXINCS) -Wall -Wno-sign-compare -fomit-frame-pointer -O2 -m64
-CXXFLAGS2 = $(CXXINCS) -Wall -Wno-sign-compare -fomit-frame-pointer -O3 -m64
+CXXFLAGS = $(CXXINCS) -Wall -Wno-sign-compare -fomit-frame-pointer -O2
+CXXFLAGS2 = $(CXXINCS) -Wall -Wno-sign-compare -fomit-frame-pointer -O3
RM = rm -f
.PHONY: all clean clean-custom
@@ -39,7 +39,7 @@
${RM} $(OBJ) $(BIN)
$(BIN): $(OBJ)
- $(CPP) -ansi -m64 $(LINKOBJ) -o "QuadraticSieve" $(LIBS)
+ $(CPP) -ansi $(LINKOBJ) -o "QuadraticSieve" $(LIBS)
ModuloArith.o: ModuloArith.cpp
$(CPP) -ansi -c ModuloArith.cpp -o ModuloArith.o $(CXXFLAGS)
Anyway $(LDFLAGS)
can be easily added to the line building QuadraticSieve
in both (if really necessary).
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
422fee4 | Replace LD_LIBRARY_PATH with rpath |
Changed dependencies from #19640 to #19640, #19699
With #19699 Sage builds and all doctests pass
Reviewer: François Bissey
Fine with me.
Branch pushed to git repo; I updated commit sha1. New commits:
ab27029 | OSX ld only understands the older rpath syntax |
Replying to @sagetrac-git:
Branch pushed to git repo; I updated commit sha1. New commits:
ab27029
OSX ld only understands the older rpath syntax
Minor, but is there a reason not to use
LDFLAGS="-Wl,-rpath,$SAGE_LOCAL/lib $LDFLAGS"
?
(That's the only difference to -Xlinker
where every argument has to be passed separately.)
Branch pushed to git repo; I updated commit sha1. New commits:
fb6a4f0 | Use the single-argument version for rpath |
I noticed already that maxima can't handle the two-argument version of sending the linker args, so we'll have to use this syntax.
Replying to @vbraun:
I noticed already that maxima can't handle the two-argument version of sending the linker args, so we'll have to use this syntax.
Hmmm, a regression? (cf. #12759)
Looks more like it has always been that way. Unsetting LDFLAGS doesn't really fix the issue (cf. #12759)
Replying to @vbraun:
Looks more like it has always been that way. Unsetting LDFLAGS doesn't really fix the issue (cf. #12759)
? I don't recall myself, but two people claimed it got fixed upstream (in 5.29.1 and later).
(And unsetting LDFLAGS
in Maxima's spkg-install
used to work because ECL's were used by Maxima anyway, assuming the settings are the same of course.)
Works on OSX now
Author: Volker Braun
Branch pushed to git repo; I updated commit sha1. New commits:
51eb6f0 | Also use rpath in stage 1 of gcc bootstrap |
Bootstrapping gcc fails with
/home/buildbot/slave/sage_git/build/local/var/tmp/sage/build/gcc-4.9.2.p1/gcc-build/./gcc/cc1: error while loading shared libraries: libmpc.so.3: cannot open shared object file: No such file or directory
should be fixed now
Branch pushed to git repo; I updated commit sha1. New commits:
a0899bd | Use BOOT_LDFLAGS instead of --with-stage1-ldflags |
Of course using with-stage1-ldflags then fails in stage2; Correct solution from https://gcc.gnu.org/ml/gcc/2008-09/msg00214.html
Branch pushed to git repo; I updated commit sha1. New commits:
8cc102b | Tachyon also dropped LDFLAGS |
Branch pushed to git repo; I updated commit sha1. New commits:
bd1ae89 | Add rpath to lib64, too |
Now works on all buildbot machines
Changed branch from u/vbraun/remove_ld_library_path to 0a890f7
In principle, we just have to compile Sage with
to use rpath instead of LD_LIBRARY_PATH
Using #19467 this will work with binary distribution
Benefits to Sage:
Depends on #19640 Depends on #19699
CC: @jdemeyer @kiwifb @nbruin
Component: build
Author: Volker Braun
Branch/Commit:
0a890f7
Reviewer: François Bissey
Issue created by migration from https://trac.sagemath.org/ticket/19641