kcrisman wrote:
Bill has a few ideas on
https://github.com/wbhart/flint2/issues/55#issuecomment-38470028 and in
the thread I created - I would appreciate anyone who knows Make syntax
really well to check it out. What happens on older make if
-include
has no files after it?
FWIW,
$ (echo "-include"; echo "foo:") | make-3.81 -f -; echo $?make-3.81:
Nothing to be done for `foo'.
0
$ (echo "-include"; echo "foo:") | make-3.82 -f -; echo $?
make-3.82: Nothing to be done for `foo'.
0
$ (echo "include"; echo "foo:") | make-3.81 -f -; echo $?make-3.81:
Nothing to be done for `foo'.
0
$ (echo "include"; echo "foo:") | make-3.82 -f -; echo $?
make-3.82: Nothing to be done for `foo'.
0
$ make-3.81 --version
GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
This program built for x86_64-pc-linux-gnu
$ make-3.82 --version
GNU Make 3.82
Built for x86_64-unknown-linux-gnu
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
(Same for the recent GNU 'make' 4.0. I don't have older versions
installed -- notice how old even 3.81 is... ;-) )
Why would that cause symbols not to be defined?
But this must be it - the flint/src/fq_nmod_mat does indeed not have a
profile/ directory so that causes this to happen. Somehow this causes
problems in creating the dylib, but I don't understand all that.
"I'm not convinced."^TM
In your original post, the linker issued a "file not found" error (when
trying to link mwrank), and your 'nm' output showed that 1) the file was
"there" (but probably only at some later point), 2) the two "unresolved"
symbols (i.e., functions) were indeed defined ("T") in that dylib
(local/lib/libflint.dylib).
So this *might* be a Darwin linker issue (probably missing '-rpath' when
building the ec dylib? need to set DYLD_LIBRARY_PATH?), since mwrank
only *indirectly* depends on FLINT and hence libflint doesn't [have to]
appear on the linker command line. AFAIK the Darwin linker usually
records *absolute* paths of needed shared libraries, and if they're not
there (e.g. because they moved), it tries to find them in the default
(just system?) folders. Unfortunately your 'ld' didn't tell where it
was searching for the allegedly missing library.
One should perhaps also inspect the logs where libec.dylib got built.
-leif
--
() The ASCII Ribbon Campaign
/\ Help Cure HTML E-Mail
--
You received this message because you are subscribed to the Google Groups
"sage-release" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-release.
For more options, visit https://groups.google.com/d/optout.