|
From: Tatsuro M. <tma...@ya...> - 2021-12-15 20:29:34
|
Ethan Thank you for your reply > It could be that the zairy function you compiled from source lacks the > trailing underscore because the gfortran compiler defaulted to the wrong > underscoring convention. For this problem I will struggle further. With help by Bastian, I could build gnuplot with expint on native windows. https://sourceforge.net/p/gnuplot/bugs/2475/ Comparing the results on cygwin and native windows , build gnuplot with exint on cygwin was successful. Wrong results in expint.dem come from my build ACM routine are not succcessful. > So do people think it would be good to add the Amos source > to the gnuplot repository and distribution package? I took a little long time to find imformation about amos and acm and information for *1mach. Therefore it will be grateful if you add Amos source in gnuplot repository. However, Bastian tell me that ACM is allowed use for non-commercial. > Separate from discussion of including the Amos source in the > gnuplot repository, I can send you Makefiles and C versions of > the *1mach files if you like. Just let me know. It would be grateful for me if send Makefiles and C version of *1mach files. Tatsuro > ----- Original Message ----- > On Wednesday, 15 December 2021 00:43:54 PST Tatsuro MATSUOKA wrote: > > /cygdrive/f/Work/Tatsuro/cygwinwork/gnuplot/gnuplot-main/gnuplot-main/conftest.c:56: undefined reference to `zairy_' > > collect2: error: ld returned 1 exit status > > configure:8799: $? = 1 > > > > def file of libamos has zairy_ symbol > > Some fortran compilers historically used a convention that subroutine > names always ended in an underscore. > > The gcc compiler package supports either the "always use underscore" > or "never use underscore" convention, but you have to use the same > convention when compiling all the source files that will be linked > together. That includes libraries. > > For gfortran the two options are > -funderscoring > -fno-underscoring > > This is noted in the gnuplot source for the c/fortran interface routines > in gnuplot's .../src/amos_airy.c > > * The zairy_() routine (note Fortran naming and parameter passing conventions) > * is found, for example, in libopenspecfun. We use it to calculate Ai(z). > * Similarly zbiry_() is used to calcualte Bi(z). > > It could be that the zairy function you compiled from source lacks the > trailing underscore because the gfortran compiler defaulted to the wrong > underscoring convention. > > I would worry a bit about this part also: > > I tried to use expint on the development brach on Cygwin. > > > > amos library, > > http://www.netlib.org/amos/ > > > > i1mach.f, r1mach.f, d1mach (replacement of the above) > > http://www.netlib.org/blas/i1mach.f > > http://www.netlib.org/blas/r1mach.f > > http://www.netlib.org/blas/d1mach.f > > These source files were incorrect for use on my linux machines. > I replaced them with local definitions in C in order to build a > working copy of libamos. I do not know whether that is or is > not a problem for your Cygwin environment. > > I had considered to add the relevant libamos source files > in a new subdirectory of the gnuplot source, along with a > autoconf/Makefile template so that the library can be built > automatically via ./configure; make gnuplot > > I decided not to add it when I found that at least some > linux distributions are already providing either a pre-built > version of libamos or a version of libopenspecfun, which > provides all of the needed functions except cexint. > However your story here shows that it remains a bit tricky > to find and build all the relevant source if you do not have > one of the pre-built libraries. > > So do people think it would be good to add the Amos source > to the gnuplot repository and distribution package? > > I have source files from the original Sandia Laboratories > work by Donald Amos. Some, but not all, of these were > later archived in netlib. Note that the version of cexint.f > that I have did _not_ come from the TOMS/ACM publication > collection. > > Separate from discussion of including the Amos source in the > gnuplot repository, I can send you Makefiles and C versions of > the *1mach files if you like. Just let me know. > > Ethan > > > > > ----- Original Message ----- > > > > > Hello > > > > > > I tried to use expint on the development brach on Cygwin. > > > > > > amos library, > > > http://www.netlib.org/amos/ > > > > > > i1mach.f, r1mach.f, d1mach (replacement of the above) > > > http://www.netlib.org/blas/i1mach.f > > > http://www.netlib.org/blas/r1mach.f > > > http://www.netlib.org/blas/d1mach.f > > > > > > cexint, zexint > > > http://www.netlib.org/toms-2014-06-10/683 > > > > > > I have checked cexint, zexint by cqccex.f and zqccex.f. > > > QUICK CHECKS FOR CEXINT ARE OK. > > > QUICK CHECKS FOR ZEXINT ARE OK. > > > > > > all.dem runs without problem > > > > > > However, load 'expint.dem' seems to be invaild. > > > See the below screenshot files > > > http://tmacchant33.starfree.jp/Files/expint1.png > > > http://tmacchant33.starfree.jp/Files/expint2.png > > > > > > Any suggestions? > > > > > > Refernce > > > confiure > > > LDFLAGS='-L/usr/local/lib -lamos' \ > > > ./configure --prefix=/cygdrive/f/Work/Tatsuro/cygwinwork/gnuplot/gnuplot-main/usr/local \ > > > --with-qt=no \ > > > --disable-dependency-tracking \ > > > --enable-plugins \ > > > --with-latex \ > > > --with-kpsexpand \ > > > --with-x \ > > > --with-readline=gnu \ > > > --with-gd \ > > > --with-lua \ > > > --with-bitmap-terminals \ > > > --enable-history-file \ > > > --enable-stats \ > > > --without-ggi \ > > > --without-gpic \ > > > --without-mif > > > > > > config.log > > > http://tmacchant33.starfree.jp/Files/config.log > > > > > > Tatsuro > > > > Sorry I did see config.log in details. > > > > gnuplot will be compiled with the following configurable features: > > > > Mouse support in interactive terminals: yes > > Typing <space> in plot window raises console: yes > > Readline library: GNU readline library with -lncurses > > Command-line history file: yes > > Check current directory for .gnuplot file: no (use --with-cwdrc to enable) > > Sort help/subtopic tables by column: no (use --without-row-help to enable) > > cerf() and other special functions from libcerf: yes > > Airy and Bessel functions from libopenspecfun or libamos: yes > > Complex exponential integral cexint from libamos: yes > > plugin support for loading external functions: yes > > Statistical summary of data ("stats" command): yes > > > > But config.log says > > > > configure:8714: gcc -o conftest.exe -g -O2 -I/include -L/usr/local/lib -lamos -L/lib -lcerf conftest.c -lcerf >&5 > > configure:8714: $? = 0 > > configure:8734: result: -lcerf > > configure:8766: checking for amos libraries using LDFLAGS: -L/usr/local/lib -lamos -L/lib -lcerf > > configure:8769: checking for library containing zairy_ > > configure:8799: gcc -o conftest.exe -g -O2 -I/include -L/usr/local/lib -lamos -L/lib -lcerf conftest.c -lcerf >&5 > > /usr/lib/gcc/x86_64-pc-cygwin/11/../../../../x86_64-pc-cygwin/bin/ld: /tmp/ccYZXooH.o: in function `main': > > /cygdrive/f/Work/Tatsuro/cygwinwork/gnuplot/gnuplot-main/gnuplot-main/conftest.c:56: undefined reference to `zairy_' > > collect2: error: ld returned 1 exit status > > configure:8799: $? = 1 > > > > def file of libamos has zairy_ symbol > > > > Hmmmm? > > > > Tatsuro > > > > > > > > _______________________________________________ > > gnuplot-beta mailing list > > gnu...@li... > > Membership management via: https://lists.sourceforge.net/lists/listinfo/gnuplot-beta > > > > > -- > Ethan A Merritt > Biomolecular Structure Center, K-428 Health Sciences Bldg > MS 357742, University of Washington, Seattle 98195-7742 > > > |