dbrgn / heroku-buildpack-python-sklearn

Python buildpack with Numpy 1.7.0, SciPy 0.11.0 and a current version of Scikit-learn.
MIT License
31 stars 28 forks source link

library dfftpack has Fortran sources but no Fortran compiler found #3

Closed tomdeschamps closed 11 years ago

tomdeschamps commented 11 years ago

Hi

I tried to use this buildpack today on heroku Cedar stack. After installing it for an existing app using

   heroku config:set BUILDPACK_URL=https://github.com/dbrgn/heroku-buildpack-python-sklearn/

I got the following error

       building 'dfftpack' library

       error: library dfftpack has Fortran sources but no Fortran compiler found

       ----------------------------------------
       Command /app/.heroku/python/bin/python -c "import setuptools;__file__='/tmp/pip-build-u39185/scipy/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-IeB5XN-record/install-record.txt --single-version-externally-managed failed with error code 1 in /tmp/pip-build-u39185/scipy
       Storing complete log in /app/.pip/pip.log

 !     Push rejected, failed to compile Python app

Any idea what might be going on there? Before that I had the error described in issue #2

dbrgn commented 11 years ago

Did you convert an existing app to this buildpack or are you trying to create a new app?

tomdeschamps commented 11 years ago

I converted an app with

heroku config:set BUILDPACK_URL=https://github.com/dbrgn/heroku-buildpack-python-sklearn/
dbrgn commented 11 years ago

See discussion in #2. You need to use one of the provided binary versions of Numpy and SciPy, otherwise it won't work because there are no precompiled versions around, but no Fortran compiler either.

tomdeschamps commented 11 years ago

Hi

I am not sure to understand how we can prevent the script from using the cached binaries instead of the precompiled ones available on https://github.com/wyn/npscipy-binaries/ The program which controls that (in bin/steps/numpy-scipy) seems to check to see if there are numpy or scipy already installed and in case they are, then uses them instead of replacing them. Could you let me know how to use properly the script to make that work? Thanks

dbrgn commented 11 years ago

Hm, do you want to upgrade Scipy? Or what exactly is the problem?

A workaround would be to re-create the Heroku app. Tests with a new Heroku App and this buildpack have always succeeded for me.

If you manage to fix the issue, feel free to post a pull request. I don't currently have a Heroku app where I could reproduce the issue.

RosyRomance commented 6 years ago

`Reading fortran codes... Reading file 'scipy\special\specfun.pyf' (format:free) Post-processing... Block: specfun Block: clqmn Block: lqmn Block: clpmn Block: jdzo Block: bernob Block: bernoa Block: lpmns Block: eulera Block: clqn Block: airyzo Block: eulerb Block: cva1 Block: lqnb Block: lamv Block: lagzo Block: legzo Block: pbdv Block: cerzo Block: lamn Block: clpn Block: lqmns Block: chgm Block: lpmn Block: fcszo Block: aswfb Block: lqna Block: cpbdn Block: lpn Block: fcoef Block: rcty Block: lpni Block: cyzo Block: othpl Block: klvnzo Block: jyzo Block: rctj Block: herzo Block: pbvv Block: segv Post-processing (stage 2)... Building modules... Building module "specfun"... Constructing wrapper function "clqmn"... cqm,cqd = clqmn(m,n,z) Constructing wrapper function "lqmn"... qm,qd = lqmn(m,n,x) Constructing wrapper function "clpmn"... cpm,cpd = clpmn(m,n,x,y,ntype) Constructing wrapper function "jdzo"... n,m,pcode,zo = jdzo(nt) Constructing wrapper function "bernob"... bn = bernob(n) Constructing wrapper function "bernoa"... bn = bernoa(n) Constructing wrapper function "lpmns"... pm,pd = lpmns(m,n,x) Constructing wrapper function "eulera"... en = eulera(n) Constructing wrapper function "clqn"... cqn,cqd = clqn(n,z) Constructing wrapper function "airyzo"... xa,xb,xc,xd = airyzo(nt,[kf]) Constructing wrapper function "eulerb"... en = eulerb(n) Constructing wrapper function "cva1"... cv = cva1(kd,m,q) Constructing wrapper function "lqnb"... qn,qd = lqnb(n,x) Constructing wrapper function "lamv"... vm,vl,dl = lamv(v,x) Constructing wrapper function "lagzo"... x,w = lagzo(n) Constructing wrapper function "legzo"... x,w = legzo(n) Constructing wrapper function "pbdv"... dv,dp,pdf,pdd = pbdv(v,x) Constructing wrapper function "cerzo"... zo = cerzo(nt) Constructing wrapper function "lamn"... nm,bl,dl = lamn(n,x) Constructing wrapper function "clpn"... cpn,cpd = clpn(n,z) Constructing wrapper function "lqmns"... qm,qd = lqmns(m,n,x) Constructing wrapper function "chgm"... hg = chgm(a,b,x) Constructing wrapper function "lpmn"... pm,pd = lpmn(m,n,x) Constructing wrapper function "fcszo"... zo = fcszo(kf,nt) Constructing wrapper function "aswfb"... s1f,s1d = aswfb(m,n,c,x,kd,cv) Constructing wrapper function "lqna"... qn,qd = lqna(n,x) Constructing wrapper function "cpbdn"... cpb,cpd = cpbdn(n,z) Constructing wrapper function "lpn"... pn,pd = lpn(n,x) Constructing wrapper function "fcoef"... fc = fcoef(kd,m,q,a) Constructing wrapper function "rcty"... nm,ry,dy = rcty(n,x) Constructing wrapper function "lpni"... pn,pd,pl = lpni(n,x) Constructing wrapper function "cyzo"... zo,zv = cyzo(nt,kf,kc) Constructing wrapper function "othpl"... pl,dpl = othpl(kf,n,x) Constructing wrapper function "klvnzo"... zo = klvnzo(nt,kd) Constructing wrapper function "jyzo"... rj0,rj1,ry0,ry1 = jyzo(n,nt) Constructing wrapper function "rctj"... nm,rj,dj = rctj(n,x) Constructing wrapper function "herzo"... x,w = herzo(n) Constructing wrapper function "pbvv"... vv,vp,pvf,pvd = pbvv(v,x) Constructing wrapper function "segv"... cv,eg = segv(m,n,c,kd) Wrote C/API module "specfun" to file "build\src.win-amd64-3.6\scipy\spec ial\specfunmodule.c" Reading fortran codes... Reading file 'scipy\stats\statlib.pyf' (format:free) Post-processing... Block: statlib Block: swilk Block: gscale Block: prho Post-processing (stage 2)... Building modules... Building module "statlib"... Constructing wrapper function "swilk"... a,w,pw,ifault = swilk(x,a,[init,n1]) Constructing wrapper function "gscale"... astart,a1,ifault = gscale(test,other) Constructing wrapper function "prho"... ifault = prho(n,is) Wrote C/API module "statlib" to file "build\src.win-amd64-3.6\scipy\stat s\statlibmodule.c" Reading fortran codes... Reading file 'scipy\stats\mvn.pyf' (format:free) Post-processing... Block: mvn Block: mvnun Block: mvndst Post-processing (stage 2)... Building modules... Building module "mvn"... Constructing wrapper function "mvnun"... value,inform = mvnun(lower,upper,means,covar,[maxpts,abseps,re leps]) Constructing wrapper function "mvndst"... error,value,inform = mvndst(lower,upper,infin,correl,[maxpts,a bseps,releps]) Constructing COMMON block support for "dkblck"... ivls Wrote C/API module "mvn" to file "build\src.win-amd64-3.6\scipy\stats\mv nmodule.c" Fortran 77 wrappers are saved to "build\src.win-amd64-3.6\scipy\stats\mv n-f2pywrappers.f" Could not locate executable g77 Could not locate executable f77 Could not locate executable ifort Could not locate executable ifl Could not locate executable f90 Could not locate executable DF Could not locate executable efl Could not locate executable gfortran Could not locate executable f95 Could not locate executable g95 Could not locate executable efort Could not locate executable efc don't know how to compile Fortran code on platform 'nt' _configtest.obj : error LNK2001: unresolved external symbol open_memstream _configtest.exe : fatal error LNK1120: 1 unresolved externals no previously-included directories found matching 'benchmarks\env' no previously-included directories found matching 'benchmarks\results' no previously-included directories found matching 'benchmarks\html' no previously-included directories found matching 'benchmarks\scipy' no previously-included directories found matching 'scipy\special\tests\data\boos t' no previously-included directories found matching 'scipy\special\tests\data\gsl'

no previously-included directories found matching 'doc\build' no previously-included directories found matching 'doc\source\generated' warning: no previously-included files matching '~' found anywhere in distributi on warning: no previously-included files matching '.bak' found anywhere in distrib ution warning: no previously-included files matching '.swp' found anywhere in distrib ution warning: no previously-included files matching '.pyo' found anywhere in distrib ution error: Setup script exited with error: library dfftpack has Fortran sources but no Fortran compiler found`

Hi, does anyone kown what's happing here? I'm installing surprise on a windows platform with python3.6

dbrgn commented 6 years ago

Hi @RosyRomance, this buildpack is not maintained anymore (as seen in the README).