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.

Reply via email to