Coder Social home page Coder Social logo

dpls-demos's People

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

dpls-demos's Issues

Invalid MEX File Error: libgfortran.so.3:cannot open shared object file

When running the example in /multiinclusion_Stokes/README.md

>>setup  % sets up MATLAB path
>>TestScript
% Suppose TestScript generates the .mat file Script.mat
>>StokesSolver('Script')

the following error is generated.

Invalid MEX-file '/MATLAB Drive/DPLS-demos/FMM/fmm2d_r2012a.mexa64': libgfortran.so.3: cannot open shared object file: No such file or directory

Error in [rfmm2dpart](matlab:matlab.internal.language.introspective.errorDocCallback('rfmm2dpart', '/MATLAB Drive/DPLS-demos/FMM/rfmm2dpart.m', 147)) ([line 147](matlab: opentoline('/MATLAB Drive/DPLS-demos/FMM/rfmm2dpart.m',147,0)))
[ier, pot, grad, hess, pottarg, gradtarg, hesstarg] = fmm2d_r2012a(mex_id_, ier, iprec, nsource, source, ifcharge, charge, ifdipole, dipstr, dipvec, ifpot, pot, ifgrad, grad, ifhess, hess, ntarget, target, ifpottarg, pottarg, ifgradtarg, gradtarg, ifhesstarg, hesstarg, 1, 1, 1, 2, nsource, 1, 1, 2, nsource, 1, 1, 1, 1, 1, 1, 1);

Error in [SLP_Lap_FMM](matlab:matlab.internal.language.introspective.errorDocCallback('SLP_Lap_FMM', '/MATLAB Drive/DPLS-demos/multiinclusion_Stokes/Stokes Interactions/SLP_Lap_FMM.m', 37)) ([line 37](matlab: opentoline('/MATLAB Drive/DPLS-demos/multiinclusion_Stokes/Stokes Interactions/SLP_Lap_FMM.m',37,0)))
U=rfmm2dpart(iprec,nsource,source,ifcharge,charge,ifdipole,dipstr,dipvec,ifpot,ifgrad,ifhess,ntarget,target,ifpottarg,ifgradtarg,ifhesstarg);

Error in [SLP_Far_Apply](matlab:matlab.internal.language.introspective.errorDocCallback('SLP_Far_Apply', '/MATLAB Drive/DPLS-demos/multiinclusion_Stokes/Stokes Interactions/SLP_Far_Apply.m', 9)) ([line 9](matlab: opentoline('/MATLAB Drive/DPLS-demos/multiinclusion_Stokes/Stokes Interactions/SLP_Far_Apply.m',9,0)))
    [I1x1, I3x1, I3x2] = SLP_Lap_FMM(s,if_s,t,if_t,tau,iprec_S);

Error in [A_SD_operator](matlab:matlab.internal.language.introspective.errorDocCallback('A_SD_operator', '/MATLAB Drive/DPLS-demos/multiinclusion_Stokes/A_SD_operator.m', 26)) ([line 26](matlab: opentoline('/MATLAB Drive/DPLS-demos/multiinclusion_Stokes/A_SD_operator.m',26,0)))
u_S_far=SLP_Far_Apply(s,1,t,1,X1);

Error in [StokesSolver>@(x)A_SD_operator(x,I,N,s,SM,t,h,mu,NPt)](matlab:matlab.internal.language.introspective.errorDocCallback('StokesSolver>@(x)A_SD_operator(x,I,N,s,SM,t,h,mu,NPt)', '/MATLAB Drive/DPLS-demos/multiinclusion_Stokes/StokesSolver.m', 95)) ([line 95](matlab: opentoline('/MATLAB Drive/DPLS-demos/multiinclusion_Stokes/StokesSolver.m',95,0)))
    Aop=@(x)A_SD_operator(x,I,N,s,SM,t,h,mu,NPt);

Error in [StokesSolver](matlab:matlab.internal.language.introspective.errorDocCallback('StokesSolver', '/MATLAB Drive/DPLS-demos/multiinclusion_Stokes/StokesSolver.m', 142)) ([line 142](matlab: opentoline('/MATLAB Drive/DPLS-demos/multiinclusion_Stokes/StokesSolver.m',142,0)))
Bw=B+([Aop(H(:,1)),Aop(H(:,2))])*R(:,1:2)';

I'm running this in a clean MATLAB 2023b Online environment

>> system("command uname -a")
Linux bonline23b-prod-j2521687b-matlab-pool-v2-f4c7fdb4d-4dcjs 5.15.0-1052-aws #57~20.04.1-Ubuntu SMP Mon Jan 15 17:04:56 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

I think the mex file is failing to find the correct version of fortran. I unsuccesfully tried recompiling the mex file using

>> mex -R2017b fmm2d_r2012a.c
Building with 'gcc'.
Error using [mex](matlab:matlab.internal.language.introspective.errorDocCallback('mex'))
/usr/bin/ld: /tmp/mex_1222581229252386_20/fmm2d_r2012a.o: in function `mexStub1':
fmm2d_r2012a.c:(.text+0x26fb): undefined reference to `hfmm2dpartself_'
/usr/bin/ld: /tmp/mex_1222581229252386_20/fmm2d_r2012a.o: in function `mexStub2':
fmm2d_r2012a.c:(.text+0x4039): undefined reference to `hfmm2dparttarg_'
/usr/bin/ld: /tmp/mex_1222581229252386_20/fmm2d_r2012a.o: in function `mexStub3':
fmm2d_r2012a.c:(.text+0x56a9): undefined reference to `h2dpartdirect_'
/usr/bin/ld: /tmp/mex_1222581229252386_20/fmm2d_r2012a.o: in function `mexStub4':
fmm2d_r2012a.c:(.text+0x668e): undefined reference to `lfmm2dpartself_'
/usr/bin/ld: /tmp/mex_1222581229252386_20/fmm2d_r2012a.o: in function `mexStub5':
fmm2d_r2012a.c:(.text+0x7e14): undefined reference to `lfmm2dparttarg_'
/usr/bin/ld: /tmp/mex_1222581229252386_20/fmm2d_r2012a.o: in function `mexStub6':
fmm2d_r2012a.c:(.text+0x930c): undefined reference to `l2dpartdirect_'
/usr/bin/ld: /tmp/mex_1222581229252386_20/fmm2d_r2012a.o: in function `mexStub7':
fmm2d_r2012a.c:(.text+0x9e82): undefined reference to `zfmm2dpartself_'
/usr/bin/ld: /tmp/mex_1222581229252386_20/fmm2d_r2012a.o: in function `mexStub8':
fmm2d_r2012a.c:(.text+0xb107): undefined reference to `zfmm2dparttarg_'
/usr/bin/ld: /tmp/mex_1222581229252386_20/fmm2d_r2012a.o: in function `mexStub9':
fmm2d_r2012a.c:(.text+0xc146): undefined reference to `z2dpartdirect_'
/usr/bin/ld: /tmp/mex_1222581229252386_20/fmm2d_r2012a.o: in function `mexStub10':
fmm2d_r2012a.c:(.text+0xd002): undefined reference to `cfmm2dpartself_'
/usr/bin/ld: /tmp/mex_1222581229252386_20/fmm2d_r2012a.o: in function `mexStub11':
fmm2d_r2012a.c:(.text+0xe6a9): undefined reference to `cfmm2dparttarg_'
/usr/bin/ld: /tmp/mex_1222581229252386_20/fmm2d_r2012a.o: in function `mexStub12':
fmm2d_r2012a.c:(.text+0xfab3): undefined reference to `c2dpartdirect_'
/usr/bin/ld: /tmp/mex_1222581229252386_20/fmm2d_r2012a.o: in function `mexStub13':
fmm2d_r2012a.c:(.text+0x10928): undefined reference to `rfmm2dpartself_'
/usr/bin/ld: /tmp/mex_1222581229252386_20/fmm2d_r2012a.o: in function `mexStub14':
fmm2d_r2012a.c:(.text+0x11f0d): undefined reference to `rfmm2dparttarg_'
/usr/bin/ld: /tmp/mex_1222581229252386_20/fmm2d_r2012a.o: in function `mexStub15':
fmm2d_r2012a.c:(.text+0x132b2): undefined reference to `r2dpartdirect_'
/usr/bin/ld: /tmp/mex_1222581229252386_20/fmm2d_r2012a.o: in function `mexStub16':
fmm2d_r2012a.c:(.text+0x1369e): undefined reference to `prini_'
/usr/bin/ld: /tmp/mex_1222581229252386_20/fmm2d_r2012a.o: in function `mexStub17':
fmm2d_r2012a.c:(.text+0x1440a): undefined reference to `d2tstrcr_'
/usr/bin/ld: /tmp/mex_1222581229252386_20/fmm2d_r2012a.o: in function `mexStub18':
fmm2d_r2012a.c:(.text+0x15853): undefined reference to `d2tstrcrem_'
/usr/bin/ld: /tmp/mex_1222581229252386_20/fmm2d_r2012a.o: in function `mexStub19':
fmm2d_r2012a.c:(.text+0x15f4a): undefined reference to `d2tgetb_'
/usr/bin/ld: /tmp/mex_1222581229252386_20/fmm2d_r2012a.o: in function `mexStub20':
fmm2d_r2012a.c:(.text+0x16474): undefined reference to `d2tgetl_'
collect2: error: ld returned 1 exit status

and

>> system("make -f makefile.mwrap -j4 TARGET=matlab-linux-a64-openmp clean")
rm -f hfmm2dpart.o hfmm2drouts.o d2tstrcr_omp.o d2mtreeplot.o h2dterms.o helmrouts2d.o cdjseval2d.o hank103.o prini.o cfmm2dpart.o zfmm2dpart.o lfmm2dpart.o rfmm2dpart.o lfmm2drouts.o l2dterms.o laprouts2d.o 

ans =

     0

>> system("make -f makefile.mwrap -j4 TARGET=matlab-linux-a64-openmp")
make: *** No rule to make target 'hfmm2dpart.f', needed by 'hfmm2dpart.o'.  Stop.

ans =

     2

Struggling to make progress from here. Does this have to be run with MATLAB2012a? Any help would be appreciated!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.