cdslaborg / paramonte

ParaMonte: Parallel Monte Carlo and Machine Learning Library for Python, MATLAB, Fortran, C++, C.
https://www.cdslab.org/paramonte
Other
270 stars 33 forks source link

[paramonteMatPar] Defect: Error: Derived type 'c_ptr' at (1) is being used before it is defined #22

Open barracuda156 opened 1 year ago

barracuda156 commented 1 year ago

This does not occur on paramonte from the main repo from commit 08b5ee74e1dc9045fca8fd7d94e3bbc979a3c425 Something got broken in recent commits to paramonteMatPar.

[  5%] Building Fortran object obj/CMakeFiles/paramonte.dir/ParaMonteLogFunc_mod.f90.o
cd /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_paramonte/paramonte-devel/work/build/obj && /opt/local/bin/mpif90-mpich-gcc12 -Dparamonte_EXPORTS  -pipe -Os -m32 -mmacosx-version-min=10.6 -J../mod -fPIC -cpp -DGNU_COMPILER_ENABLED -DCFI_ENABLED "-DPARAMONTE_VERSION=\"'1.5.1'\"" -DOS_IS_DARWIN -DC_ENABLED -DBASIC_TEST_ENABLED -DSAMPLER_TEST_ENABLED -DDLL_ENABLED -DMPI_ENABLED -DOMP_ENABLED -fstack-arrays -ffree-line-length-none -std=legacy -pthread -fopt-info-all=GFortranOptReport.txt -fauto-inc-dec -fbranch-count-reg -fcombine-stack-adjustments -fcompare-elim -fcprop-registers -fdce -fdefer-pop -fdse -fforward-propagate -fguess-branch-probability -fif-conversion -fif-conversion2 -finline-functions-called-once -fipa-profile -fipa-pure-const -fipa-reference -fipa-reference-addressable -fmerge-constants -fmove-loop-invariants -fomit-frame-pointer -freorder-blocks -fshrink-wrap -fshrink-wrap-separate -fsplit-wide-types -fssa-backprop -fssa-phiopt -ftree-bit-ccp -ftree-ccp -ftree-ch -ftree-coalesce-vars -ftree-copy-prop -ftree-dce -ftree-dominator-opts -ftree-dse -ftree-forwprop -ftree-fre -ftree-phiprop -ftree-pta -ftree-scev-cprop -ftree-sink -ftree-slsr -ftree-sra -ftree-ter -funit-at-a-time -falign-functions -falign-jumps -falign-labels -falign-loops -fcaller-saves -fcode-hoisting -fcrossjumping -fcse-follow-jumps -fcse-skip-blocks -fdelete-null-pointer-checks -fdevirtualize -fdevirtualize-speculatively -fexpensive-optimizations -fgcse -fgcse-lm -fhoist-adjacent-loads -finline-functions -finline-small-functions -findirect-inlining -fipa-bit-cp -fipa-cp -fipa-icf -fipa-ra -fipa-sra -fipa-vrp -fisolate-erroneous-paths-dereference -flra-remat -foptimize-sibling-calls -foptimize-strlen -fpartial-inlining -fpeephole2 -freorder-blocks-algorithm=stc -freorder-blocks-and-partition -freorder-functions -frerun-cse-after-loop -fschedule-insns -fschedule-insns2 -fsched-interblock -fsched-spec -fstore-merging -fstrict-aliasing -fthread-jumps -ftree-builtin-call-dce -ftree-pre -ftree-switch-conversion -ftree-tail-merge -ftree-vrp -fgcse-after-reload -fipa-cp-clone -floop-interchange -floop-unroll-and-jam -fpeel-loops -fpredictive-commoning -fsplit-paths -ftree-loop-distribute-patterns -ftree-loop-distribution -ftree-loop-vectorize -ftree-partial-pre -ftree-slp-vectorize -funswitch-loops -fvect-cost-model -fversion-loops-for-strides -fopenmp -shared -fPIC -c /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_paramonte/paramonte-devel/work/paramonteMatPar-9cf41519b0479f6cc2c1e09ad7f41d22f30483a3/src/kernel/ParaMonteLogFunc_mod.f90 -o CMakeFiles/paramonte.dir/ParaMonteLogFunc_mod.f90.o
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_paramonte/paramonte-devel/work/paramonteMatPar-9cf41519b0479f6cc2c1e09ad7f41d22f30483a3/src/kernel/ParaMonteLogFunc_mod.f90:60:24:

   60 |             type(c_ptr)                     :: logFunc
      |                        1
Error: Derived type 'c_ptr' at (1) is being used before it is defined
fagheri commented 1 year ago

Thanks for raising the issue, @barracuda156. I am surprised that the paramonteMatPar repo is even public because it merely contains some internal explorations of parallelization possibilities for the MATLAB interface to ParaMonte. Only the main branch of this repository contains the most up-to-date public version of the library. The main branch of paramonte should compile fine for Python and MATLAB, as documented here.

p. s. We are very close to releasing a new major version that brings many functionality and performance enhancements to the library. I am aware that several issues are still open in the current version. These issues will be resolved altogether in the impending release. Thanks again for reporting problems! We appreciate it. On a side note, do you compile the library on PowerPC?

barracuda156 commented 1 year ago

@fagheri Thank you for a clarification.

Yes, I build on PowerPC. Tests mostly pass, one test fails https://github.com/cdslaborg/paramonte/issues/21 (I have to dig out what is going wrong, will try that this week).

P. S. With Python, I will perhaps wait until the new release is out, and then add Python integration into Macports. For now, paramonte port just builds the lib and enables testing.