This made a big difference.
By setting:
export LD_LIBRARY_PATH="/Applications/anaconda/lib:$LD_LIBRARY_PATH
in my terminal before configure, I could successfully build GRASS with all
dependencies in anaconda except FreeType and Cairo.
I tried linking in the --with-cairo-ldflags argument
--with-cairo-ldflags="-lcairo -L$/Applications/anaconda/lib -liconv"
This still gave an error on building, but a different from the clang one.
In file included from text.c:19:
/Applications/anaconda/include/cairo/cairo-ft.h:50:10: fatal error:
'fontconfig/fontconfig.h' file not found
#include <fontconfig/fontconfig.h>
It should be searching in /Applications/anaconda/include/fontconfig
This is definitely closer.
Michael
____________________
C. Michael Barton
Director, Center for Social Dynamics & Complexity
Professor of Anthropology, School of Human Evolution & Social Change
Head, Graduate Faculty in Complex Adaptive Systems Science
Arizona State University
voice: 480-965-6262 (SHESC), 480-965-8130/727-9746 (CSDC)
fax: 480-965-7671 (SHESC), 480-727-0709 (CSDC)
www: http://www.public.asu.edu/~cmbarton, http://csdc.asu.edu
On Aug 4, 2017, at 3:50 PM, Eric Hutton
<[email protected]<mailto:[email protected]>> wrote:
Hi Michael
I found that if I manually add linker flags (like "-L$PREFIX/lib -liconv") I
was able to get rid of these errors. I also notice that I had to append them to
the end of the compile command (or at least after things like
"-lgrass_gis.7.2.0" - I guess it has to do with the order that the compiler
looks at libraries to resolve sysbols). Then, at runtime $PREFIX/lib needed to
appear in the LD_LIBRARY_PATH_VAR when running the tests.
I'm not sure of the best way to fix this within the grass build system (simply
adding the link flags to LDFLAGS didn't do the trick). Perhaps tweaking
Rules.make and the like would do the trick? I think the basic problem is that
conda does the entire build within a temporary folder that contains
installations of all the dependencies and that this temporary folder is not
added to all the necessary places.
Eric
On Fri, Aug 4, 2017 at 3:05 PM Michael Barton
<[email protected]<mailto:[email protected]>> wrote:
After a tedious set of tests, I can say that GRASS will not build with ANY
dependency from Anaconda except SQLite. That is, I went through the
dependencies one-by-one and replaced the path to a Framework version with an
Anaconda version in my configure string. I did a make clean between each build
attempt.
All the versions are close (secondary or tertiary version number) or identical
between William's framework builds and those in Anaconda.
For FreeType and Cairo, the errors of the type I posted yesterday
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
For the other dependencies, the errors are that the appropriate library cannot
be found, like the following for fftw:
dyld: Library not loaded: @rpath/libfftw3.3.dylib
Referenced from:
/Users/cmbarton/grass_source/trunk/dist.x86_64-apple-darwin16.7.0/lib/libgrass_gmath.7.3.svn.dylib
Reason: image not found
It seems to me like there has to be some kind of systematic reason for this not
to work. Something hardwired in a key makefile or something. The Anaconda
packages are all current builds of normal dependencies.
I am even doing it in an environment in which /Applications/anaconda/bin is
first in my PATH (which works fine if the dependencies are Frameworks).
Any thoughts on this?
Michael
____________________
C. Michael Barton
Director, Center for Social Dynamics & Complexity
Professor of Anthropology, School of Human Evolution & Social Change
Head, Graduate Faculty in Complex Adaptive Systems Science
Arizona State University
voice: 480-965-6262<tel:(480)%20965-6262> (SHESC),
480-965-8130<tel:(480)%20965-8130>/727-9746 (CSDC)
fax: 480-965-7671<tel:(480)%20965-7671> (SHESC),
480-727-0709<tel:(480)%20727-0709> (CSDC)
www:
http://www.public.asu.edu/~cmbarton<https://urldefense.proofpoint.com/v2/url?u=http-3A__www.public.asu.edu_-7Ecmbarton&d=DwMFaQ&c=l45AxH-kUV29SRQusp9vYR0n1GycN4_2jInuKy6zbqQ&r=lk-7X7CEOMDN8GaGVhiDsuO6gEp1wbG6nfT1XEEEtR0&m=KtrgOgv-4RMiEJEdKKQg5Z_ZL4pv8gJw3U0lH7fV_jg&s=LIHaJSGN6aEh018lfLuD_oohvcwC4GRCW2pleRj90HE&e=>,
http://csdc.asu.edu<https://urldefense.proofpoint.com/v2/url?u=http-3A__csdc.asu.edu&d=DwMFaQ&c=l45AxH-kUV29SRQusp9vYR0n1GycN4_2jInuKy6zbqQ&r=lk-7X7CEOMDN8GaGVhiDsuO6gEp1wbG6nfT1XEEEtR0&m=KtrgOgv-4RMiEJEdKKQg5Z_ZL4pv8gJw3U0lH7fV_jg&s=ZZ_j-P8_GLz4WT29WIipvPXFuAZoZlYUntcjvNtYEOs&e=>
On Aug 4, 2017, at 12:56 AM, Moritz Lennert
<[email protected]<mailto:[email protected]>> wrote:
On 04/08/17 00:33, Vaclav Petras wrote:
Well, the error (below) suggests that wrong library is either linked or
included. You need to go through the -L and -I paths and see if you need to set
one of these differently or add additional one for iconv. I don't see how to
set this through ./configure (I don't see any --with-iconv-includes= or
--with-iconv-libs=), but you can start by editing the Makefiles or the command
itself and changing -L and -I directly.
Undefined symbols for architecture x86_64:
"_iconv", referenced from:
_draw_main in text3.o
"_iconv_close", referenced from:
_draw_main in text3.o
"_iconv_open", referenced from:
_draw_main in text3.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Just guessing: Could the error be linked to the use of clang ? Have you tried
with gcc ?
Moritz
_______________________________________________
grass-dev mailing list
[email protected]
https://lists.osgeo.org/mailman/listinfo/grass-dev