octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Building PyTave on windows - cygwin


From: Mike Miller
Subject: Re: Building PyTave on windows - cygwin
Date: Thu, 16 Jun 2016 12:20:09 -0700
User-agent: Mutt/1.6.0 (2016-04-01)

On Thu, Jun 16, 2016 at 23:06:30 +0530, Abhinav Tripathi wrote:
> Sorry, I don't know why I wrote include files. I actually saw the lib
> directory. It is empty. lib/GraphicsMagick-1.3.23 only has a config folder
> and no libraries.

That is true on my Debian system as well.

> Well, I am using 'make' and I get the following messages (its about missing
> -l* libraries): (I am assuming it is linker stage as '*--mode=link*' is
> passed at this stage to libtool. Before this there was --mode=compile.

Well mkoctfile does both compiling and linking at the same time (it
doesn't have to, but it does the way I am calling it).

To head off confusion, yes I intentionally wrapped mkoctfile in libtool,
no this is not normal. The only reason I did this here is so the
libpytave.la file can be expanded and passed to mkoctfile. The important
part is the actual command line that libtool displays:

> libtool: link: /e/octave_dev/bin/mkoctfile -DHAVE_CONFIG_H -I.
> -IE:\\octave_dev\\include\\octave-4.1.0+
> -IE:\\octave_dev\\include\\octave-4.1.0+/octave
> -IC:/msys64/mingw64/include/python2.7
> -IC:/msys64/mingw64/lib/python2.7/site-packages/numpy/core/include
> -IE:/octave_dev/include/octave-4.1.0+
> -IE:/octave_dev/include/octave-4.1.0+/octave -g -O2 -o .libs/pycall.oct
> pycall.cc  -L/e/octave_dev/lib/octave/4.1.0+ ./.libs/libpytave.a
> -lboost_python -LC:/msys64/mingw64/lib -lpython2.7
> --------------------------------------------------------------------
> 
> After this there are a bunch of warnings about deprecated headers in boost.
> Then at the end I get this:
> --------------------------------------------------------------------
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/5.4.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
>  cannot find -lfreetype
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/5.4.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
>  cannot find -lhdf5
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/5.4.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
>  cannot find -lGraphicsMagick++
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/5.4.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
>  cannot find -lGraphicsMagick
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/5.4.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
>  cannot find -lfftw3
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/5.4.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
>  cannot find -lfftw3f
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/5.4.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
>  cannot find -lfontconfig
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/5.4.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
>  cannot find -lfreetype
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/5.4.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
>  cannot find -lgl2ps
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/5.4.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
>  cannot find -llapack
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/5.4.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
>  cannot find -lcurl
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/5.4.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
>  cannot find -lcholmod
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/5.4.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
>  cannot find -lumfpack
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/5.4.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
>  cannot find -lamd
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/5.4.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
>  cannot find -lcamd
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/5.4.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
>  cannot find -lcolamd
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/5.4.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
>  cannot find -lccolamd
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/5.4.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
>  cannot find -lcxsparse
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/5.4.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
>  cannot find -larpack
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/5.4.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
>  cannot find -lqrupdate
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/5.4.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
>  cannot find -lfftw3
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/5.4.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
>  cannot find -lfftw3f
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/5.4.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
>  cannot find -llapack
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/5.4.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
>  cannot find -lpcre

So my understanding is mkoctfile is supposed to add the necessary
options to build an oct-file against Octave. These should all be
handled. You can try calling mkoctfile with the -v option to see one
layer deeper, the actual gcc commands that are run with more flags
added.

There should be nothing different about how pycall.oct is built than any
other oct-file in any of the other Forge packages, other than it is
linking in libboost_python and libpython2.7.

Can you try to mkoctfile on a simple hello world oct-file example in
this same shell environment that you are trying to build pytave from?

On any GNU/Linux distribution I would say you are missing the foo-dev
packages that are needed to link with shared libraries, but I think the
Octave Windows distribution comes with everything you need to build
oct-files.

-- 
mike



reply via email to

[Prev in Thread] Current Thread [Next in Thread]