Re: [Plplot-devel] Qt5 support, strange driver output

2018-12-25 Thread Alan W. Irwin

On 2018-12-25 17:54- António Rodrigues Tomé wrote:


Hi alan
I do not pretend to understand everything you are asking for.
But i think the changes I purpose completely solve the alpha problem in qt
raster drivers.
1) I send you three files of the same plot with a yellow background with
alpha=1, alpha=0.5, Alpha=0 (full background transparency).
then I upload them to a template of the libreoffice impress just to
ilustrate the effect.


Hi António:

Merry Christmas!

Those illustrations do look like your changes have solved the
transparency issue for at least the qt raster devices.  For example,
that checkerboard pattern is a traditional indication for
non-compositing desktops that you have had semi-transparency success,
indicating in better compositing environments (like your pdf example)
you will actually show the appropriate amount of semi-transparency.

In my own case, the ImageMagick "display" application for
semi-transparent images displays those with a checkerboard background
pattern to indicate a semi-transparent background was detected.  I am
not seeing that pattern currently for qt devices, but it appears from
your own results there is a good chance your change will fix that.


2) I think to commit these changes by git someone must give me permition in
the plplot git repository.


For now, the "git commit" command should be used to commit your
changes to your own local topic branch.  Last I heard from you on that
issue it appeared all you needed to do was to execute "git add" first.
Was that a success?

If so, the current status should be you have two separate commits on
your local topic branch (one for your changes to allow use of qt
devices from a QT application, and the other the above transparency
changes), and the next question is how to communicate those git
commits to us for evaluation.

That is done with the git format-patch command as documented in 
README.developers.

Once we have your commits in that format, we will likely test them and
amend them (e.g., by adding additional "Tested by:" stanzas to the
your commit message).  And assuming those tests are a success we will
then push your amended commit to the master branch of our SF git
server with the normal git credit to you for your (amended) git
commits.

With regard to the question of pushing your commits directly yourself,
that privilege is reserved to core PLplot developers.  And you become
one of those by showing sustained interest using the above git
format-patch method of getting your development work (eventually)
pushed.

That said, we are always looking for future core PLplot developers and
especially someone with Qt expertise who has a sustained interest!  So
let's see how it goes with the above git format-patch approach.

Alan
__
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__


___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] Qt5 support, strange driver output

2018-12-23 Thread Alan W. Irwin

On 2018-12-23 10:14- António Rodrigues Tomé wrote:


Just an update.
qt drivers do not behave well with alfa values.

[...]

I'll try to upload this changes using git as I cannot find any other
problem with qt drivers at least for the use I make of them.
(well memqt does not work quite well but neither did memcairo)


Make sure you split your changes into separate commits with appropriate
commit message.

Will the transparency change you refer to above give us a nice semi-transparent 
background (e.g.,
with the -bg 000_0.1 command-line option to give a black background with 
alpha=0.1) with
all qt devices?

I see lots of cool semi-transparent desktop effects on my KDE desktop,
where you can view one desktop through another.  I would also like to
see similar effects possible with PLplot where you, for example, can
view the command-line that produced a plot through the plot, if you use
a semi-transparent background.


Have a nice Christmas


You too.

Alan

__
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__


___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] Qt5 support, strange driver output

2018-12-22 Thread Alan W. Irwin

On 2018-12-20 13:21-0800 Alan W. Irwin wrote:


On 2018-12-20 18:56- António Rodrigues Tomé wrote:


Hi Alan
I do not completely understand the need of using a mutex in the qt driver
however
without any change in the actual driver approach it is easy to allow the
driver to work well within a qt app and also in any other c or c++ program
if in the file qt.cpp function  bool initQtApp( bool isGUI )
we add after the ++appCounter; line (line 90)
the instruction
   if(appCounter == 1 && qApp != NULL) ++appCounter;
this will prevent the call
delete qApp;
when one closes the driver within a qt application, that would crash teh
application,  and it does  not conflict with the actual behavior of the qt
driver it onnly takes account for the fact that there is a qApp that was
not started by the driver.


Hi António:

[...]

So from the point of view of a non-expert for this code, I would
suggest if you think the mutex is no longer needed because of your
change, then go ahead an remove it to see whether that combined change
passes all tests you care to make including ideally running the
comprehensive test script as documented in
doc/wiki_source/Testing_PLplot.


With regard to the mutex, I have included what Alban initially said about
it way back when.

From his comment my guess is the mutex is a necessity to keep the Qt
components of PLplot thread-safe because the PLplot core is not thread
safe (although fixing that bad state of affairs is on our long-term agenda).
And subsequently there was a whole lot of plplot-devel traffic about
properly setting up that mutex with no question from anyone about its
necessity.

Anyhow, forget my naive idea above that you might want to drop the mutex.

Alan

-- Forwarded message --
Date: Fri, 20 Mar 2009 17:00:49 +
From: Alban Rochel 
To: Alan W. Irwin 
Subject: Qt driver update

Alan,

I've made a break from QSAS for an hour and I've made a couple of improvements 
to the Qt driver.


- I've introduced a mutex to make some parts thread-safe (I haven't checked if 
all the driver was).
- Someone noticed that when 2 qtwidgets were running on 2 streams, closing them 
didn't close the driver properly. This should be fixed by now. When qApp is 
run, all the qtwidgets created before are tagged as being run, and so the 
driver shouldn't try to run one qApp per widget.


Cheers,

Alban

__
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__


___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


[Plplot-devel] git blog

2018-12-22 Thread Alan W. Irwin

On 2018-12-22 17:46- António Rodrigues Tomé wrote:


Hi
I must confess that I'm completely unable to work with git.
As git is a widely used tool it is certainly my problem.
After many hours just to be able to perform first instructions in develop
file specially because I tried to read a git instruction to do a new branch
but always get the info not a git repository. Only after many hours I
conclude that was my local folder that was not a git and not the remote
plplot site.

so I made a clone
git clone  https://git.code.sf.net/p/plplot/plplot SourceforgePlplot

~/SourceforgePlplot> git checkout -b QtIssues
Switched to a new branch 'QtIssues'

changed the file qt.cpp

git commit
On branch QtIssues
Changes not staged for commit:
  modified:   drivers/qt.cpp

no changes added to commit


no clue what to do next.


Hi António:

I like to use the subject line "git blog" for git questions.  So I have changed 
to that.


The short answer to your question is use "git status" to find out what
is possible to do with your files under git.  In this case you want to
stage your changed files for commit so use "git add" to do that before
you execute "git commit".

To give someone who is just getting started with git some good
background, I recommend reading the the first chapter of
<https://git-scm.com/book/en/v2> in its entirety.  In particular,
<https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository>
answers your question above with more background than I have given.

Alan
__
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__


___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] Qt5 support, strange driver output

2018-12-22 Thread Alan W. Irwin

On 2018-12-22 17:46- António Rodrigues Tomé wrote:


Hi
I must confess that I'm completely unable to work with git.
As git is a widely used tool it is certainly my problem.
After many hours just to be able to perform first instructions in develop
file specially because I tried to read a git instruction to do a new branch
but always get the info not a git repository. Only after many hours I
conclude that was my local folder that was not a git and not the remote
plplot site.

so I made a clone
git clone  https://git.code.sf.net/p/plplot/plplot SourceforgePlplot

~/SourceforgePlplot> git checkout -b QtIssues
Switched to a new branch 'QtIssues'

changed the file qt.cpp

git commit
On branch QtIssues
Changes not staged for commit:
  modified:   drivers/qt.cpp

no changes added to commit


no clue what to do next.


Hi António:

I like to use the subject line "git blog" for git questions.  So I have changed 
to that.

The short answer to your question is use "git status" to find out what
is possible to do with your files under git.  In this case you want to
stage your changed files for commit so use "git add" to do that before
you execute "git commit".

To give someone who is just getting started with git some good
background, I recommend reading the the first chapter of
<https://git-scm.com/book/en/v2> in its entirety.  In particular,
<https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository>
answers your question above with more background than I have given.

Alan
__
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__


___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] Qt5 support, strange driver output

2018-12-20 Thread Alan W. Irwin

On 2018-12-20 22:30- António Rodrigues Tomé wrote:


Hi Alan
I've never used git (I'm still a svn user) but I can give it a try.


Hi António:

Thanks for your willingness to try git to make it easier to
communicate your suggested changes to us. Everything you should need
to know about git from the PLplot development perspective is
documented in README.developers, but if you don't understand something
there, don't hesitate to ask your further git questions here.

Alan
__________
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__


___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] Qt5 support, strange driver output

2018-12-20 Thread Alan W. Irwin

On 2018-12-20 18:56- António Rodrigues Tomé wrote:


Hi Alan
I do not completely understand the need of using a mutex in the qt driver
however
without any change in the actual driver approach it is easy to allow the
driver to work well within a qt app and also in any other c or c++ program
if in the file qt.cpp function  bool initQtApp( bool isGUI )
we add after the ++appCounter; line (line 90)
the instruction
   if(appCounter == 1 && qApp != NULL) ++appCounter;
this will prevent the call
delete qApp;
when one closes the driver within a qt application, that would crash teh
application,  and it does  not conflict with the actual behavior of the qt
driver it onnly takes account for the fact that there is a qApp that was
not started by the driver.


Hi António:

For your information all our Qt-related code got contributed by Alban
Rochel from the QSAS group back in 2009.  And Alban move on to other
work soon after so no current PLplot developer completely understands
that code.  This problem is made worse in my own case because my C++
and Qt skills are not that great.  Also note that my recent tests of
qt_example and pyqt5_example for the Qt5 case have not gone well with
qt_example segfaulting on exit on one occasion and pyqt5_example
hanging on exit on one occasion.

Despite these issues, the Qt-related components generally produce
extremely high-quality results so any help you can give us with this
code to make it more reliable would be much appreciated subject to the
constraint that comprehensive testing of your changes has to work as
well as my previous comprehensive tests.

So from the point of view of a non-expert for this code, I would
suggest if you think the mutex is no longer needed because of your
change, then go ahead an remove it to see whether that combined change
passes all tests you care to make including ideally running the
comprehensive test script as documented in
doc/wiki_source/Testing_PLplot.

Also, descriptions of code changes (as you attempted to do above) are
not really the best way to present your suggested changes to us.  So
instead, I suggest you follow the "git format-patch" cookbook in
README.developers in order to do that.  And don't hesitate to ask here
if you have any trouble following that specific procedure or any other
git advice we give there.

Alan
______
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__


___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] Help needed for plplot runtime tests

2018-12-18 Thread Alan W. Irwin

On 2018-11-15 01:10-0800 Alan W. Irwin wrote:
[...]

I need to implement the following two upstream
upgrades:

1. I need to factor the exported target files, e.g., the two
export_plplot* files mentioned above.  Such factoring had already been
highly recommended to me by CMake gurus, and I think it should be
entirely straightforward.

[...]

2. Currently the installed examples generally just check if a given
component has been configured in the core build, by, e.g., checking
ENABLE_cxx.  But with some of those configured components potentially
missing because a user did not install all plplot binary packages such
a check is not correct and needs to be replaced by a test for the
existence of the exported target, e.g., PLPLOT::plplotcxx.  These
sorts of changes should also be straightforward.


To Ole and Orion:

Here is the current status of these proposed upstream changes.

As of commit plplot-5.14.0-10-g66d68d93e I have implemented (and
thoroughly tested) the first upgrade above.  Because of this change, the
list of export-related files (for my normal case of a fully loaded
Debian Testing platform where I don't specify
a build configuration) has now expanded to the following:

export__Pltk_init-noconfig.cmake
export__Pltk_init.cmake
export__plplotc-noconfig.cmake
export__plplotc.cmake
export_cairo-noconfig.cmake
export_cairo.cmake
export_csirocsa-noconfig.cmake
export_csirocsa.cmake
export_csironn-noconfig.cmake
export_csironn.cmake
export_mem-noconfig.cmake
export_mem.cmake
export_ntk-noconfig.cmake
export_ntk.cmake
export_null-noconfig.cmake
export_null.cmake
export_pdf-noconfig.cmake
export_pdf.cmake
export_plfortrandemolib-noconfig.cmake
export_plfortrandemolib.cmake
export_plplot-noconfig.cmake
export_plplot.cmake
export_plplot_octave-noconfig.cmake
export_plplot_octave.cmake
export_plplot_pyqt5-noconfig.cmake
export_plplot_pyqt5.cmake
export_plplotada-noconfig.cmake
export_plplotada.cmake
export_plplotcxx-noconfig.cmake
export_plplotcxx.cmake
export_plplotdmd-noconfig.cmake
export_plplotdmd.cmake
export_plplotfortran-noconfig.cmake
export_plplotfortran.cmake
export_plplotluac-noconfig.cmake
export_plplotluac.cmake
export_plplotqt-noconfig.cmake
export_plplotqt.cmake
export_plplottcltk-noconfig.cmake
export_plplottcltk.cmake
export_plplottcltk_Main-noconfig.cmake
export_plplottcltk_Main.cmake
export_plplotwxwidgets-noconfig.cmake
export_plplotwxwidgets.cmake
export_plserver-noconfig.cmake
export_plserver.cmake
export_pltcl-noconfig.cmake
export_pltcl.cmake
export_pltek-noconfig.cmake
export_pltek.cmake
export_ps-noconfig.cmake
export_ps.cmake
export_psttf-noconfig.cmake
export_psttf.cmake
export_qsastime-noconfig.cmake
export_qsastime.cmake
export_qt-noconfig.cmake
export_qt.cmake
export_svg-noconfig.cmake
export_svg.cmake
export_tclmatrix-noconfig.cmake
export_tclmatrix.cmake
export_tk-noconfig.cmake
export_tk.cmake
export_tkwin-noconfig.cmake
export_tkwin.cmake
export_wxPLViewer-noconfig.cmake
export_wxPLViewer.cmake
export_wxwidgets-noconfig.cmake
export_wxwidgets.cmake
export_xfig-noconfig.cmake
export_xfig.cmake
export_xwin-noconfig.cmake
export_xwin.cmake
plplotConfig.cmake
plplot_exports.cmake

See the detailed commit message for plplot-5.14.0-10-g66d68d93e for the 
implications
of this change for packagers.

Once you have added the above export files to the correct binary packages 
following that advice, you
should be able to configure the installed examples project
with cmake (with no options) and run

make -j$JOBS test_noninteractive

without issues just like before (i.e., you will still be subject to the 
constraint
that all binary packages for PLplot have to be installed in order for this to 
work).

To finish off this topic, my next PLplot priority is to follow up with
the second upstream change mentioned above which should remove the
constraint that all binary packages for PLplot have to be installed in
order to test both your binary PLplot packages that are installed, and
your package containing the installed examples in the above way.

But meanwhile, I hope you are both able to test your binary packages
for PLplot and your package containing the installed examples for
plplot-5.14.0-10-g66d68d93e in the above way subject to the temporary
"all installed" constraint.

Alan
______
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__


___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] git workflow plans for the proposed bug-fix plplot-5.14.1 release

2018-12-17 Thread Alan W. Irwin

Hi Phil:

On 2018-12-18 00:33- Phil Rosenberg wrote:


Sounds like a generally good plan to me.


Good.


The only issues might be picking what is a bug fix commit vs a non

  bug fix commit - I'm sure we are all guilty of finding a bug while
  changing code and not submitting it as a separate commit. But
  providing we all try to be good in that sense, I think a bug fixes
  release is a good idea.

The other important issue is whether the bug is a regression or not.
Regressions mean by definition that users of prior versions of PLplot
are going to get a nasty surprise by the new version of PLplot.  So
avoidance of regressions is my motivation for asking for comprehensive
testing on all platforms prior to each release, and anytime such
a regression is turned up by such testing, I view it as release critical,
i.e., the release should be held until a proper fix for the regression
has been implemented.  However, if a regression actually gets into a
release despite our testing efforts, then that would be a large
motivation to immediately issue a bug-fix release containing the
fix for that regression.

But I would rather not learn about the git steps needed for a bug-fix
release under such time pressure, and the present bug fix has a wide
impact for all our present or future qt device users.  So I am going
to use the present impactful bug fix as a good excuse to get educated
on the git steps needed to create a bug-fix release.  However, I will
likely not be willing to do this again unless the bug fix is actually
a fix for a regression.  Instead, I would like to spend most of my
PLplot effort on development and making sure that our regular releases
(which normally include both bug fixes and new development) occur
every 6 months or less.  Due to a variety of excuses I haven't managed
to do that recently, but I am planning on having a much better
ordinary release outcome in the latter part of the first half of 2019.

Alan
______
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__


___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


[Plplot-devel] git workflow plans for the proposed bug-fix plplot-5.14.1 release

2018-12-16 Thread Alan W. Irwin

Can some git guru here review my proposed git workflow for the planned
5.14.1 release below?

The reason I ask for that review is because I currently have no
practical experience with some of the special git commands that will
be needed.  In fact, because of that lack of experience I previously
did not create a bug-fix release in an earlier release cycle for
PLplot (at least in its git era) when I likely should have!  So this
bug-fix release will be a long-overdue learning experience for me.

That said, I am pretty sure from reading on-line material and a hint
from one of our users what git steps I would have to take.  Also note
these proposed steps do not violate our (enforced) workflow rule that
no merge commits other than fast-forwarded ones are allowed.

Those git steps are as follows:

* Create a local branch called 5.14.0-bugfix from the existing plplot-5.14.0 
tag.

* Cherry pick bug-fix commits such as plplot-5.14.0-8-gdb9d90d0b onto that 
branch.

* Go through the usual release procedure while staying strictly on
  that branch which will add other commits to that branch such as the
  new (short) release notes and ChangeLog for that 5.14.1 release
  without ever merging those commits back to master.  Which means none
  of this bugfix release work impacts on the ordinary development of
  the master branch.  One of the last steps in that procedure would be
  to push the local tag that points to the tip of 5.14.0-bugfix
  (called plplot-5.14.1 in this case) to our SF git repository (again
  without changing the master branch).

* From remarks in
  
<https://stackoverflow.com/questions/9265278/what-happens-if-i-push-a-tag-for-a-commit-that-hasnt-been-pushed>
  it appears that pushing a tag pushes the associated commit and also
  pushes all ancestors of that commit that have not been pushed
  before.

  If that is correct, then all commits on my local branch called
  "5.14.0-bugfix" will end up accessible at SF but not organized as a
  formal branch there.  That result is fine with me since it doesn't
  clutter the SF version with extra branch names, and the result is
  enough to allow anybody (after they use the "git refresh" command)
  to access the commit corresponding to the plplot-5.14.1 tag or any
  of that commit's ancestors.  For example, if later on during the
  release cycle I decided to release another bug-fix release called
  5.14.2, I could start that process by branching from the
  plplot-5.14.1 tag.

  Furthmore after pushing the plplot-5.14.1 tag I would likely delete
  the 5.14.0-bugfix local branch to be consistent with the SF repository;
  I would have no further use for that branch; and
  that branch deletion does not get rid of the plplot-5.14.1 tag,
  the associated commit or any ancestors of that commit;

  Of course, with this model of workflow for bug-fix releases, no
  attempt would ever be made to merge bug-fix branches back to master
  since that makes no sense in any case and would violate our
  (enforced) rebase work flow rule that there can be no merge commits
  that cannot be fast-forwarded.

Again, comments on this plan from the git gurus here will be most welcome.

Alan
__
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__


___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] Qt5 support, strange driver output

2018-12-16 Thread Alan W. Irwin

On 2018-12-16 10:13- António Rodrigues Tomé wrote:


Hi all
I found no evidence of fontconfig not being working properly in my system.
so I've made a small test instead of setting font family to null string
I've set it to a bogus name.
f.setFamily( "BOUGUSTRASHFAMILY" ); // no family name, forcing Qt to find
an appropriate font by itself
and in x01c example as there are four plots i edited the source to add
theplfont(1); before plot 1, plfont(2); before plot 2,
plfont(3); before plot 3, plfont(4); before plot  4,  I also get erase the
esc text sequence that put title always in Roman.
The results are what one would expected.


Hi António:

I agree, that one-line change seems to have solved all qt device
driver issues on your platform.  So I tried the equivalent here, and
it solves some less obvious Qt issues here for examples 23 and 24 that
have been around for quite a while.  So congratulations on finding a
solution to a PLplot qt device driver bug that has apparently been around since 
the
very first development of that device!

I commited a small variation (I added commentary and I replaced your
bogus family name because it was [barely] conceivable a valid font
might adopt that family name) of your fix as of
plplot-5.14.0-8-gdb9d90d0b.  So please test that commit (by using git
checkout plplot-5.14.0-8-gdb9d90d0b before building PLplot from the
git version) to make sure it answers all your qt device needs (other
than character size).

@Everybody:

This fix is pretty crucial for our qt device driver because it appears
to fix all long-standing font problems (including character alignment
for António) for that device driver.  Therefore, I intend to release 5.14.1
with this fix and any other critical fixes that show up in the next few weeks.

More about the git process I should use to create a bug-fix release
(such as the proposed 5.14.1) in my next post.

Alan
__________
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__


___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] Qt5 support, strange driver output

2018-12-15 Thread Alan W. Irwin

On 2018-12-16 00:07- António Rodrigues Tomé wrote:


Hi all
after trying a long time playing with cmake options trying to see if I
could get my qt5 plplot loading suitable f fonts I came to conclude that my
distribution in a way acts differently from Alan's.
I get very nice results if in the file plqt.cpp line 182
where is
   f.setFamily(""); // no family name, forcing Qt to find an appropriate
font by itself

I replaced by
  f.setFamily("Helvetica"); // no family name, forcing Qt to find an
appropriate font by itself

it seems in my system qt does not find an appropriate font by itsel. I
attach the very nice results obtained only by performed this small change.


Hi António:

The problem with this workaround is Helevetica is a Sans-Serif font so this 
approach means you have
excluded serif and monospace possibilities for the PLplot qt device driver user.

Furthermore, how fonts are chosen by Qt is documented in 
<http://doc.qt.io/qt-5/qfont.html#details>.

There is a lot of information there, but the relevant points for this 
discussion are

---
enum QFont::StyleHint

Style hints are used by the font matching algorithm to find an appropriate 
default family if a selected font family is not available.
ConstantValue   Description
QFont::AnyStyle 5   leaves the font matching algorithm to choose the 
family. This is the default.
QFont::SansSerifHelvetica   the font matcher prefer sans serif 
fonts.
QFont::Helvetica0   is a synonym for SansSerif.
QFont::SerifTimes   the font matcher prefers serif fonts.
QFont::Times1   is a synonym for Serif.
QFont::TypeWriter   Courier the font matcher prefers fixed pitch fonts.
QFont::Courier  2   a synonym for TypeWriter.
QFont::OldEnglish   3   the font matcher prefers decorative fonts.
QFont::Decorative   OldEnglish  is a synonym for OldEnglish.
QFont::Monospace7   the font matcher prefers fonts that map to the 
CSS generic font-family 'monospace'.
QFont::Fantasy  8   the font matcher prefers fonts that map to the CSS 
generic font-family 'fantasy'.
QFont::Cursive  6   the font matcher prefers fonts that map to the CSS 
generic font-family 'cursive'.
QFont::System   4   the font matcher prefers system fonts.
---

---
The font matching algorithm works as follows:

1. The specified font family is searched for.
2. If not found, the styleHint() is used to select a replacement family.
3. Each replacement font family is searched for.
4. If none of these are found or there was no styleHint(), "helvetica" will be 
searched for.
5. If "helvetica" isn't found Qt will try the lastResortFamily().
6. If the lastResortFamily() isn't found Qt will try the lastResortFont() which 
will always return a name of some kind.
---

Here is more context for the code we are discussing from
bindings/qt-gui/plqt.cpp.

switch ( fontFamily )
{
case 1:
f.setStyleHint( QFont::Serif );
break;
case 2:
f.setStyleHint( QFont::TypeWriter );
break;
case 0: case 3: case 4: default:
f.setStyleHint( QFont::SansSerif );
break;
}
f.setFamily( "" ); // no family name, forcing Qt to find an appropriate 
font by itself

So by this code setting the Family to an empty string we force Step 1
above to fail and fall back to one of the QFont::Serif,
QFont::TypeWriter, or QFont::SansSerif depending on what the user has
requested for the (generic) font family.  And this font finding all
works fine (as you would expect from the above documentation) for
Debian Buster with Qt-5.11.2, for the much older Qt5 version I used
for Debian Oldstable last year, and for many different versions of Qt4
before that.

I strongly suspect what is going on is you don't have fontconfig installed, in 
which
case the search algorithm above would drop through to step 6 consistent with 
your
observation that the unmodified PLplot code has an extremely
limited font selection.

But if you confirm you do have fontconfig installed, then you have a
strong basis for a bug report to opensuse since setStyleHint appears
not to be working on that platform.

Alan
__
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__


___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] Qt5 support, strange driver output

2018-12-15 Thread Alan W. Irwin
ype fonts based on URW Fonts
ii  freetype2-doc 2.9.1-3  
all  FreeType 2 font engine, development documentation
ii  gsfonts   1:8.11+urwcyr1.0.7~pre44-4.4 
all  Fonts for the Ghostscript interpreter(s)
ii  gucharmap 1:11.0.3-1   
amd64Unicode character picker and font browser
ii  kbd   2.0.4-4  
amd64Linux console font and keytable utilities
ii  libfont-afm-perl  1.20-2   
all  Font::AFM - Interface to Adobe Font Metrics files
ii  libfontconfig1:amd64  2.13.1-2 
amd64generic font configuration library - runtime
ii  libfontconfig1-dev:amd64  2.13.1-2 
amd64generic font configuration library - development
ii  libfontenc1:amd64 1:1.1.3-1+b2 
amd64X11 font encoding library
ii  libfreetype6:amd642.9.1-3  
amd64FreeType 2 font engine, shared library files
ii  libfreetype6-dev:amd642.9.1-3  
amd64FreeType 2 font engine, development files
ii  libgraphite2-3:amd64  1.3.12-1 
amd64Font rendering engine for Complex Scripts -- library
ii  libkfontinst5 4:5.14.3-1   
amd64Tools and widgets for the desktop library
ii  libkfontinstui5   4:5.14.3-1   
amd64Tools and widgets for the desktop library
ii  libotf0:amd64 0.9.13-4 
amd64Library for handling OpenType Font - runtime
ii  libsdl-ttf2.0-0:amd64 2.0.11-5 
amd64TrueType Font library for Simple DirectMedia Layer 1.2, libraries
ii  libsdl2-ttf-2.0-0:amd64   2.0.14+dfsg1-3   
amd64TrueType Font library for Simple DirectMedia Layer 2, libraries
ii  libwoff1:amd641.0.2-1  
amd64library for converting fonts to WOFF 2.0
ii  libxfont2:amd64   1:2.0.3-1
amd64X11 font rasterisation library
ii  libxft-dev:amd64  2.3.2-2  
amd64FreeType-based font drawing library for X (development files)
ii  libxft2:amd64 2.3.2-2  
amd64FreeType-based font drawing library for X
ii  lmodern   2.004.5-5
all  scalable PostScript and OpenType fonts based on Computer Modern
ii  t1utils   1.41-2   
amd64Collection of simple Type 1 font manipulation programs
ii  tex-gyre  20180621-2   
all  scalable PostScript and OpenType fonts based on URW Fonts
ii  texlive-fonts-recommended 2018.20181116-1  
all  TeX Live: Recommended fonts
ii  timgm6mb-soundfont1.3-2
all  TimGM6mb SoundFont from MuseScore 1.3
ii  xfonts-100dpi 1:1.0.4+nmu1 
all  100 dpi fonts for X
ii  xfonts-75dpi  1:1.0.4+nmu1 
all  75 dpi fonts for X
ii  xfonts-base   1:1.0.4+nmu1 
all  standard fonts for X
ii  xfonts-encodings  1:1.0.4-2
all  Encodings for X.Org fonts
ii  xfonts-scalable   1:1.0.3-1.1  
all  scalable fonts for X
ii  xfonts-utils  1:7.7+6  
amd64X Window System font utility programs

---8<-

I find gucharmap (a GTK+ application) extraordinarily helpful in
figuring out which of the system fonts that fontconfig will select for
*any* unicode glyph.  I highly recommend that you install that package
and use it since it should be able to quickly find out independent of
PLplot if fontconfig is working properly on your system.

Alan
__
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Lin

Re: [Plplot-devel] Qt5 support, strange driver output

2018-12-14 Thread Alan W. Irwin

On 2018-12-12 15:24- António Rodrigues Tomé wrote:


Hi Alan,
now that 5.14 is out I would like to be more useful in solving the qt5
driver problem. However I do not complete understand the driver system to
be of big help.However for me I found a work arround that seems to work
quite well. I send you 4 files, output of x01 example using qt driver, png
and pdf)  the ones with Realease in name were created by the actual qt
driver version 5.14 that I constructed with the command
cmake -DCMAKE_INSTALL_PREFIX=/home/artome/plplot/PLPLOTNEW/
-DDEFAULT_NO_CAIRO_DEVICES=ON  -DDEFAULT_NO_QT_DEVICES=OFF DENABLE_cxx=ON
-DPL_DOUBLE=ON -DPLPLOT_USE_QT5=ON DEFAULT_NO_BINDINGS=ON../ >&
cmake.out


Hi António:

Please keep this discussion thread on list.

I think it would be better style (and also I think -DBUILD_TEST=ON is essential)
to use instead
cmake -DCMAKE_INSTALL_PREFIX=/home/artome/plplot/PLPLOTNEW/ -DBUILD_TEST=ON 
-DDEFAULT_NO_BINDINGS=ON -DENABLE_cxx=ON -DENABLE_qt=ON -DPLPLOT_USE_QT5=ON 
-DDEFAULT_NO_CAIRO_DEVICES:BOOL=ON ../ >& cmake.out

I just tried all those options here (except for your -DCMAKE_INSTALL_PREFIX), 
and they worked fine,
i.e., eliminated all bindings other than cxx and qt, dropped the cairo devices, 
and included
all qt devices (which happens by default if -DENABLE_qt=ON).

What is your exact platform (I think it might still be opensuse, but what version?) and 
what are the results of the "uname -a" command on that platform?  Also, what is 
the version of Qt5 that you are using?

The reason these details are important is I cannot replicate the text
alignment issues you demonstrated with pdfqt and pngqt results for
example one on your platform.  My platform is Debian Buster (with the
Qt5 5.11.2 suite of libraries) installed on AMD64 hardware (Ryzen 7
1700).  I demonstrated that I cannot replicate your badly aligned
results by configuring cmake in the way I described above and then
executing the following commands:

# Build the prerequisites for the specific examples below
make -j16 test_c_pngqt
make -j16 test_c_pdfqt

# Build two specific examples
examples/c/x01c -dev pngqt -o test.pngqt
examples/c/x01c -dev pdfqt -o test.pdfqt

I have attached those two result files so you can see for yourself that there 
are no text
alignment issues.

Also your suggested changes to plqt.cpp likely conflate two issues.  (i) 
alignment issues caused
by your platform and not PLplot, and (ii) the size of the resulting characters 
(which I
would prefer to put off discussing until later).  So to check those are two 
separate issues,
what happens if you restore plqt.cpp to its original form except for this one 
line change:

PLDLLIMPEXP_QT_DATA( int ) vectorize = 0;
==>
PLDLLIMPEXP_QT_DATA( int ) vectorize = 1;

?  I am pretty sure that is the equivalent of the first part of your change 
where you
are forcing the vectorize part of the code to be executed.

If that one-line change is all you need to bypass your Qt5 platform
issues, then I would be willing to test that simple change here to see
if it also works on my platform.  But the vectorize = 1 code path has
not been tested by anybody but you over the years and is just likely a
workaround for your Qt5 platform issue so I likely won't push that
one-line change in general.

Also you do appear to be having text alignment troubles consistently
over the years with your (opensuse?) Qt5 platforms so perhaps it is
time to try other Qt5 platforms?  For example, you could build the
upstream version of Qt5 yourself.  The very early versions of Qt5 did
have character alignment difficulties in that upstream version, but my
experiments showed they solved the alignment issues important to
PLplot by 5.3.x so you will likely find the latest upstream Qt5 also
does not have text alignment issues.  And if that is the case, then
that experiment should be the basis of a bug report to your
distribution.  Of course, if that bug report gets no response another
possibility is to try Debian (which I know works well now with Qt5)
some Debian derivative such as Ubuntu or Mint or some other rpm-based
distribution such as Fedora.

Good luck, and let me know how it goes.

Alan
______
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__

test.pdfqt
Description: pdfqt properly aligned result


test.pngqt
Description: pngqt properly aligned result
___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] plplot-5.14.0 has been released

2018-12-12 Thread Alan W. Irwin

On 2018-12-12 16:33+0100 Ole Streicher wrote:


Hi Alan,

"Alan W. Irwin"  writes:

A comprehensive test and some additional specific tests of my fix for the
release critical bug went well, and as a result I have now released
5.14.0.  See my forthcoming post to plplot-general for the details
concerning that release.


thank you very much for preparing the new release! And congratulations
for the success!


You are welcome.



I am now preparing the Debian package, and for there, I have a few
questions:

* the soname (ABI version) of libplplot changed to 16, right? Any other
 soname changes?


Yes.  Here is the transformed git diff results on soname changes:

software@merlin> git diff 5cac57603d^ 5cac57603d cmake |grep '^[+-]set' |grep 
'SOVERSION ' |sort --key=1.2
-set(plplot_SOVERSION 15)
+set(plplot_SOVERSION 16)
-set(plplotada_SOVERSION 2)
+set(plplotada_SOVERSION 4)
-set(plplotcxx_SOVERSION 13)
+set(plplotcxx_SOVERSION 14)
-set(plplotdmd_SOVERSION 3)
+set(plplotdmd_SOVERSION 4)
-set(plplottcltk_SOVERSION 13)
+set(plplottcltk_SOVERSION 14)

I plan to put some variant of this command in README.Release_Manager_Cookbook 
for
next time since it makes obvious any typograpical errors in the library version 
updates
such as incrementing plplotada_SOVERSION by 2 rather than 1, above.  Sigh...



* Is it now possible to build for more than one Python version? In
 Debian, we would need to build it for all available Python 3 versions
 (Python 3.6 and 3.7 in the moment), it would be nice if that would be
 supported directly. Same is for the pyqt5 driver.


Sorry, we don't have direct support for building against multiple soft 
dependencies.
So to provide this capability I assume you have some combination of multiple 
builds for multiple
Python 3 versions.  But for the second and subsequent builds you can eliminate 
most
of the repeated stuff that you don't need to make the multiple builds quite 
efficient.

For example, if you use the CMake options

-DDEFAULT_NO_BINDINGS=ON -DENABLE_python -DENABLE_pyqt5 -DDEFAULT_NO_DEVICES=ON

you will end up not building any devices and no bindings other than python and 
pyqt5.  So
the only redundant builds left should be the small libraries in the lib 
directory
and the core C library itself that depends on those.


* Given that Python 2 will die in 16 months, do you object when removing
 the Python 2 (python-plplot and python-plplot-qt) packages?


A year or more ago I had direct advice from a Python developer that
bugs in Python 2 (i.e., a corruption I discovered back then in one of
my Python2-generated *.pyc files that was due to a Python2 race
condition) are rarely fixed any more.  So I haven't deprecated our
Python 2 capabilities yet, but it is "on my radar", and if you choose
to remove those capabilities for your Debian packages that is fine
with me.

[...]

When I try to run the build time test, I get an error:

8<-
ctest  --extra-verbose
UpdateCTestConfiguration  from :/build/plplot-5.14.0+dfsg/DartConfiguration.tcl
UpdateCTestConfiguration  from :/build/plplot-5.14.0+dfsg/DartConfiguration.tcl
Test project /build/plplot-5.14.0+dfsg
Constructing a list of tests
Updating test list for fixtures
Added 0 tests to meet fixture requirements
Checking test dependency graph...
Checking test dependency graph end
No tests were found!!!
/usr/bin/make -C obj-* VERBOSE=1 test_diff_psc
make[2]: Entering directory '/build/plplot-5.14.0+dfsg/obj-x86_64-linux-gnu'
make[2]: *** No rule to make target 'test_diff_psc'.  Stop.
8<-

Should I do now something different than

$ ctest  --extra-verbose
$ make -C obj-* VERBOSE=1 test_diff_psc


You have to build the "all" target before you run ctest.  Otherwise, you will 
get
no tests as above.

I have never tried the -C option to make, but apparently it is a way to
short-circuit recursive invocations of make.  But I doubt that idea is robust
for all versions of cmake, and therefore I suggest you just drop
that option.  After all, running

make VERBOSE=1 test_diff_psc

is already quite fast and the time difference between using the -C option (when 
it works)
versus not has got to be negligible since that time is dominated by running all 
the C examples
for the psc device.

By the way, why are you building individual low-level test targets such as 
test_diff_psc?  Wouldn't it
be much more efficient to, say, build all low-level noninteractive tests in 
parallel, with, say
(assuming you have access to a computer with 16 threads)

make -j16 VERBOSE=1 test_noninteractive

?

Right now, when I do that here, I am getting time results equivalent to 4.5 
threads, but
other compilation-only tests I have done show that efficiency statistic can 
rise to the equivalent
of about 15 threads (on my Ryzen 7 1700 system with 8 cpus and 16 hardware 
threads).  So
I

[Plplot-devel] plplot-5.14.0 has been released

2018-12-11 Thread Alan W. Irwin

Dear PLplot developers:

A comprehensive test and some additional specific tests of my fix for the
release critical bug went well, and as a result I have now released
5.14.0.  See my forthcoming post to plplot-general for the details
concerning that release.

Here, I wish to thank Arjen Markus and Phil Rosenberg for their
direct contributions to this release, and many others here for their
indirect contributions via bug reports, using the git master tip
version to make sure it is always working for your particular needs,
participating in development discussions, etc.

Please take a critical look at plplot.org.  That site has been newly
reviewed, regenerated and uploaded as part of the recent release
process by me but other eyes on it will likely find more that needs
changing.

Of course, the soft freeze for pushing commits to SF is now over so
I encourage you to mature your git topic branches and push those
as well as push bug fixes as soon as possible in this new release cycle
to maximize the time we can test such changes during this current
release cycle which I currently plan will be something like 6 months
long.

My first priority for this release cycle is to make my Linux computer
stable so that lockups (and attempts to find the cause of those) that
occur on time scales of 1 day to 5 days are not distracting me near
the end of this release cycle.  But I also have a whole host of
quick bug fixes and small development topics on my ToDo list that I put
off near the end of the last release cycle, that I want to finish up
early in this release cycle.  Thus, if all goes well, you will see lots of
git activity from me in the coming weeks as I clear out that ToDo list.

Good luck with your own PLplot development and testing during this
release cycle!

Alan
__
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__


___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] 5.14.0 release status

2018-12-10 Thread Alan W. Irwin

On 2018-12-10 19:04-0800 Alan W. Irwin wrote:


Hi Phil:

This is mostly addressed to you because it turns out one of your
commits is causing release-critical trouble with the plsori
call in example 3 as well as any attempt to use a non-zero -ori
option.

[...]

I used the commands

make -j16 x01c ; make -j16 cairo
examples/c/x01c -dev xcairo -ori 0.001

to help git bisect the issue.

[...]

@Phil:
This commit (or its reverse) is not intrusive at all so it should not
be that difficult to figure out why this change had such a
catastrophic effect on plsdiori.


Hi Phil (again):

After some investigation I decided to make the
following *local* change to the master tip version.

diff --git a/src/plcore.c b/src/plcore.c
index 8d82b5b0f..33c84eeb7 100644
--- a/src/plcore.c
+++ b/src/plcore.c
@@ -1965,10 +1965,10 @@ calc_didev( void )

 // Set clip limits to conform to new page size

-plP_sclp( (PLINT) ( plsc->didxax * plsc->phyxmi + plsc->didxb ),
-(PLINT) ( plsc->didxax * plsc->phyxma + plsc->didxb ),
-(PLINT) ( plsc->didyay * plsc->phyymi + plsc->didyb ),
-(PLINT) ( plsc->didyay * plsc->phyyma + plsc->didyb ) );
+plsc->diclpxmi = (PLINT) ( plsc->didxax * plsc->phyxmi + plsc->didxb );
+plsc->diclpxma = (PLINT) ( plsc->didxax * plsc->phyxma + plsc->didxb );
+plsc->diclpymi = (PLINT) ( plsc->didyay * plsc->phyymi + plsc->didyb );
+plsc->diclpyma = (PLINT) ( plsc->didyay * plsc->phyyma + plsc->didyb );
 }

This change reverses one part of your commit that is obviously incorrect (since
plP_sclp does not set plsc->diclpxmi et al and instead sets struct
elements with almost the same name (clpxmi rather than diclpxmi, etc.))

My quick tests of this change shows it restores proper functioning
of -ori and example 3 while also having good rendering results for

examples/c/x33c -dev wxwidgets

as well as -dev xwin, -dev xcairo, and -dev qtwidget.

So I am hugely relieved to have found this solution for this
regression so quickly. However, I haven't pushed this change yet
because I haven't comprehensively tested it yet.

Alan
__
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__


___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] 5.14.0 release status

2018-12-10 Thread Alan W. Irwin

Hi Phil:

This is mostly addressed to you because it turns out one of your
commits is causing release-critical trouble with the plsori
call in example 3 as well as any attempt to use a non-zero -ori
option.

The current status of the PLplot-5.14.0 release process is as follows:

The PLplot development freeze that started on October 27th contines,
i.e., do not push any topics other than documentation updates or
well-tested bug fixes.

I had gotten to the stage in README.Release_Manager_Cookbook where I
was checking a locally generated version of our website when I
discovered all lines were missing from example 3 for pngcairo.
Further checking revealed that if plsori is called with a non-zero
value (example 3) or the -ori option is used with a non-zero value
(all other examples), then all graphical elements in the plot
disappear for all device drivers!

The plsori routine is simply a wrapper for plsdiori, and the -ori
command-line option calls plsdiori directly.  So this changed behaviour
for plsdiori since 5.13.0 is a substantial regression which
is therefore release critical.

I used the commands

make -j16 x01c ; make -j16 cairo
examples/c/x01c -dev xcairo -ori 0.001

to help git bisect the issue, and from that bisection the first commit
to cause missing graphics (i.e., missing lines) for that last command
(or the same command for any other device) was your commit
plplot-5.13.0-47-g124a0c3a2, with the subject line: "Set all clip
limit changes I could find to use plP_sclp and hence get recorded in
the buffer"

Furthermore, for a local topic branch based on master tip, if I
locally reverse that commit, the problem with missing graphics for the
above example is solved and similarly (note that example 3 contains
a call to plsori)

examples/c/x03c -dev xcairo

(or any other device) works fine (without missing graphics) as well.

With the reversed commit, one thing that does not work well is (as expected)

examples/c/x33c -dev wxwidgets

which has rendering issues (missing lines and other graphical items).
However, my test of that example with -dev xcairo, -dev qtwidget, and
-dev xwin do render well with this reversed commit.

@Phil:
This commit (or its reverse) is not intrusive at all so it should not
be that difficult to figure out why this change had such a
catastrophic effect on plsdiori.

N.B. Once I have that figured out, I will likely just go ahead and
reverse your commit so that -ori and calls to plsori continue to work
properly for our users just like they did for release 5.13.0.  Of
course, reversing your commit means that your attempt to record clip
limits in the buffer this way in order to fix "examples/c/x33c -dev wxwidgets"
will have to be addressed post-release
in a way that preserves the functionality of -ori and plsori, but
likely that will be far more intrusive than your commit
plplot-5.13.0-47-g124a0c3a2 so it very likely should be a post-release
change in any case.

In sum, if I don't hear back from you quickly, I will likely just go
ahead and reverse your commit tomorrow (Tuesday) and comprehensively
test that change in anticipation of making the release later
tomorrow.

More later.

Alan
__________
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__


___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] Help needed for plplot runtime tests

2018-12-06 Thread Alan W. Irwin

On 2018-12-06 14:41+0100 Ole Streicher wrote:


Hi Alan,

sorry for the delay; I now managed to adjust and run the test suite on
the installed package. I'll attach the full log; commands were

$ cmake /usr/share/doc/plplot-doc/examples/
$ make VERBOSE=1 test_noninteractive

I needed to downgrade to cmake 3.12; see bug #191.


Hi Ole:

I am glad to hear you are so close to complete success.

My recent comprehensive test with 3.13.1 works perfectly here for
Debian Buster and the git master tip version of PLplot.  That master
tip version includes a fix for bug 191 so could you confirm that by
trying the master tip version (and then closing that bug if that
indeed fixes it)?


The only remaining
errors are now ADA errors:

Building Ada object ada/CMakeFiles/xstandard16a.dir/xstandard16a.o
make[3]: *** No rule to make target 'plplotada-NOTFOUND', needed by
'ada/xstandard16a'.


My recent comprehensive test using cmake-3.13.1 had no such Ada issue.
So very likely this issue is because your installation is missing the
plplotada *.so file or *.so.*.* file it links to, or this issue is an
artifact of the way Debian packaging software changes locations or
*.so names to some special Debian package naming scheme.

So to debug this final issue do the following:

* Make sure you are using the PLplot master tip version so we are on
  the same page with regard to bug fixes.  This is really important
  since many 5.13.0 bugs are fixed in master tip which is now very
  close to 5.14.0.  (I am now in the process of updating the release notes
  for that forthcoming release.)

* Make sure your Ada binary package or packages are installed, and in those you 
should find
  the full pathname of the plplotada *.so file that should be installed
  by that package.

* Check the Ada information in your installed and sed-transformed
  export files for consistency with that full pathname.

If there is an Ada install directory inconsistency, then adjustment of
the Ada install location you use for your core build should fix that.
If there is a name inconsistency, then you need to make that
consistent with some special Debian naming scheme for Ada *.so files by 
transforming
our export files with a sed script.  You told me of one such naming 
inconsistency
you discovered before for a python related *.so file, and this may be just one 
other instance
of the problem or all *.so files may have names that are inconsistent with the 
actual
install name.  In all cases if the *.so file name (without the path) does not 
match what is actually
installed, a sed script should correct that inconsistency.  Otherwise, it is 
"an accident
waiting to happen" as appears to be the case both for that *.so Python module 
and now
the Ada *.so file.

If those steps don't help you to completely resolve this matter,
please collect the following information and send it to me.  (i) The
complete list of files in your Ada binary packages (presumably some
rpm command will generate that), (ii) the output from the cmake
command you used *for the core build*, and (iii) the actual original
and sed-modified export files.  I am virtually positive that
information will be sufficient for me to figure out what is wrong.

Alan
__
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__


___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] 5.14.0 release status

2018-12-06 Thread Alan W. Irwin

@All:

The current status of the PLplot-5.14.0 release process is as follows:

The PLplot development freeze that started on October 27th contines,
i.e., do not push any topics other than documentation updates or
well-tested bug fixes.

@Phil:
As part of the release process I added (commit
plplot-5.13.0-157-g6e7b51cae) a number of sections to README.release
discussing important improvements that were committed during this
release cycle.  There are more such sections to add, but I believe I
am finished with the sections that are already there.  However, I am
certainly capable of mistakes and/or bad writing so I would appreciate
you critically reading section 2.9 which summarizes your work on plmap
during this release cycle, and especially section 2.10 which
summarizes what I think are the current important wxwidgets issues.

While writing up the -DPL_WXWIDGETS_IPC3=OFF or ON discussion that is
part of section 2.10, I was reminded from my preliminary ChangeLog for
this release how hard you had worked during this release cycle on
fixing wxwidgets bugs.  So in light of all those changes I repeated
tests I had done earlier in the release cycle before your changes for
-DPL_WXWIDGETS_IPC3=OFF and ON for -locate mode for example 1.
Previously that interactive example had failed in two different ways
on Linux for those two cases as I reported to you back then.  With your fixes
(none of which directly affected our IPC code for either
-DPL_WXWIDGETS_IPC3=OFF or ON as far as I know) I continued to get the
same bad results as before (the display of the plot would not appear
until several mouse clicks had occurred on the blank plotting area of
the GUI) for the -DPL_WXWIDGETS_IPC3=OFF case.

However, the -DPL_WXWIDGETS_IPC3=ON test case result was a really good
surprise; it worked for the first time ever for that interactive
example!  So I am very happy about whatever non-IPC fix you did that
made that happen.  And I am left wondering if whether that example
will also work (e.g., without the deadlocks you noticed before) on
Windows now (i.e., after your seemingly unrelated fixes) for the
-DPL_WXWIDGETS_IPC3=ON case.  So I would appreciate you letting me
know about that so I can update section 2.10 accordingly.

@All:

The 5.14.0 release process will continue next with adding
several additional topics to README.release to finish preparation
of those release notes for 5.14.0.

More later.

Alan
__
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__


___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] 5.14.0 release status

2018-12-03 Thread Alan W. Irwin

On 2018-12-01 18:35-0800 Alan W. Irwin wrote:

The current status of the PLplot-5.14.0 release process is as follows:

The PLplot development freeze that started on October 27th contines,
i.e., do not push any topics other than documentation updates or
well-tested bug fixes.

As part of the release process I have summarized (commit
plplot-5.13.0-156-g39a15ae66) my recent comprehensive test reports for
Debian Buster as the first two entries in the table at
<https://sourceforge.net/p/plplot/wiki/Testing_Reports/>.

The late October test was with cmake-3.7.2 (our minimum allowed
version of CMake).  Those results were perfect except that I forgot to
install the haru software package so -dev pdf did not get tested.  I
corrected that oversight for my latest comprehensive test which I
performed using cmake-3.13.1 (the latest release of CMake).  Those
results were perfect except for a run-time regression against the
October results where the installed versions of qt_example and
pyqt5_example.py both segfaulted.

So for the final run of the comprehensive test script (which was
perfect) I had to drop those tests using -DPLD_extqt=OFF.  I don't
think this issue is release critical so I am going to continue with
the rest of the release process in README.Release_Manager_Cookbook
with no code changes or further comprehensive tests.

However, I have since discovered that for one combination (cmake 3.7.2
+ shared libraries/dynamic devices + build tree), valgrind shows no
memory management errors (i.e, segfaults were impossible for that
combination) so a detailed valgrind comparison of all combinations
possible (for all combinations tested by the comprehensive test script
where only qt_example is tested for both cmake-3.7.2 and cmake-3.13.1)
should easily find the specific PLplot or external cause of these
segfaults, and if it is a PLplot issue I hope to make the fix soon
after 5.14.0 is released.

The 5.14.0 release process continues

Alan
______
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__


___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] 5.14.0 release status

2018-12-01 Thread Alan W. Irwin

The current status of the PLplot-5.14.0 release process is as follows:

The PLplot development freeze that started on October 27th contines,
i.e., do not push any topics other than documentation updates or
well-tested bug fixes.

As part of the release process I have summarized (commit
plplot-5.13.0-153-g0d50e2a2a) Arjen's recent Cygwin and
MinGW-w64/MSYS2 comprehensive test reports as the first two entries in
the table at <https://sourceforge.net/p/plplot/wiki/Testing_Reports/>.

@Arjen:

Could you please review those table entries to make sure my summaries
of your comprehensive tests are correct?

My next planned step is to update that table again with my own recent
comprehensive test reports, and then continue with the remaining parts
of README.Release_Manager_Cookbook to finish the 5.14.0 release.

Alan
______
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__


___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] Rewrite of our Testing_PLplot wiki entry and new method of updating our wiki pages

2018-11-30 Thread Alan W. Irwin

On 2018-11-29 07:45- Arjen Markus wrote:


Hi Alan,

I will read this page on my way home, but for now my main critique is that it 
does not show up on the front page of the Wiki, whereas the first sentence is:
"We encourage those who build PLplot to test both their build-tree and 
installed-examples-tree versions on any Linux, Windows, or Mac OS X platform."

Currently, you have to know the page exists to find it 😉.


Thanks for this good suggestion which I have just implemented (commit 
plplot-5.13.0-151-g38f41b6bf
and <https://sourceforge.net/p/plplot/wiki/Home/>.


I am trying to develop the habit of using "git describe" to describe
all commits as above.  For those who don't know about "describe"
results yet, "plplot-5.13.0-151" says the commit is the 151st since
plplot-5.13.0, and "g38f41b6bf" says the git commit id is 38f41b6bf
(i.e. drop the "g" which I assume stands for git, but it is easy to
remember to drop it in any case since "g" is not hexadecimal).


By the way, this change fitted in well with the current organization
of that Home page which I like.  So I believe the only real issue with
our wiki at that stage is too many of the pages are severely outdated.
To illustrate this point, here are the current results adapted from
<https://sourceforge.net/p/plplot/wiki/browse_tags/>

2006Configure_PLplot_for_Borland_CXX_5.5_(free_command_line_tools)
2007
Configure_PLplot_for_Borland_Turbo_C++_Explorer_Edition_(free_IDE_and_compiler)
2008Additional_notes_for_ifort_users; Aquaterm; Debugging_code; 
Documenting_the_undocumented; List_of_Debian_Ubuntu_packages; Mac_OSX; Qhull; 
Setup_watcom
2009Apply_a_patch; Configuration_of_wxWidgets_driver; Freetype; 
Frequently_Asked_Questions; Lua; OCaml_tutorial; Qt; Setup_mingw; 
Submit_a_patch; Swig; Using_PLplot; WxWidgets
2010Cairo_pango; Configure_PLplot_for_MinGW_CLI; Git_miscellanea; 
Install_3rd_party_libraries; Install_Lua; Install_MinGW_MSYS; Install_Octave; 
Install_SWIG; Install_Tcl; Libgd; Third-party_libraries
2011Building_PLplot_with_a_cross-compiler; Mac_OSX_Status; Todo_List
2012Configure_PLplot_for_Visual_CXX_CLI
2013Install_Python; Setup_Visual_Studio_Express; Setup_visualc; 
Specifics_for_various_platforms
2014Building_PLplot; Configure_PLplot_for_the_Visual_Studio_IDE; 
General_CMake_documentation_links
2015CMake_options_for_PLplot; Configure_PLplot_for_cygwin; Linux; 
Setup_cygwin
2017Overview_of_the_status_on_Windows
2018Home; MinGW-w64-MSYS2; Testing_PLplot; Testing_Reports

From this list only 9 of our 54 pages have been updated since 2014!

To all those here who would like to help out with our wiki.  Please
pick one of the topics above and update the corresponding markdown
format file in doc/wiki_source, and commit that change to a local
topic branch of your git repository.

Those here who are not core developers should send us your suggested
change in "git format-patch" form.  After applying your commit on our
own local topic branch, we will review your suggested change, cut and
paste it to the SF GUI editor for the wiki page in question, test the
resulting changed wiki page (e.g., check the history GUI to make sure
there were no cut and paste failures, check the new links, check the
rendering of the markdown format looks good), amend your commit if
necessary, and push your (amended) commit following the directions in
README.developers.

Core developers here can skip the "git format-patch" command, but
otherwise do everything else in the paragraph above (just like I did
for Home) to update wiki pages that are important to you.

Alan
__
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__


___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] Help needed for plplot runtime tests

2018-11-29 Thread Alan W. Irwin

On 2018-11-29 13:33+0100 Ole Streicher wrote:

[...]

Now, all C examples pass.


Excellent!


For ADA, I now however get

[ 11%] Built target test_c_psc
Scanning dependencies of target xstandard16a
[ 11%] Building Ada object ada/CMakeFiles/xstandard16a.dir/xstandard16a.o
make[3]: *** Keine Regel vorhanden, um das Ziel „plplotada-NOTFOUND“,
 benötigt von „ada/xstandard16a“, zu erstellen.  Schluss.
make[2]: *** [CMakeFiles/Makefile2:5655:
ada/CMakeFiles/xstandard16a.dir/all] Fehler 2
make[1]: *** [CMakeFiles/Makefile2:387:
CMakeFiles/test_noninteractive.dir/rule] Fehler 2



The build of xstandard* examples is configured by the CMake logic in
examples/ada/CMakeLists.txt.

I am pretty sure the relevant CMake logic lines to build the Ada examples in 
that file for this case where it is not the CORE_BUILD are

set(adalinkflags "\"-aI${CMAKE_CURRENT_SOURCE_DIR}\" \"-aI${ADA_INCLUDE_DIR}\" 
\"-aL${ADA_LIB_DIR}\"")
[...]
 set_target_properties(${TARGET_NAME} PROPERTIES LINK_FLAGS ${adalinkflags})
 target_link_libraries(${TARGET_NAME} PLPLOT::plplotada PLPLOT::plplot)

So are the install locations ${ADA_INCLUDE_DIR} and ${ADA_LIB_DIR} set
where your Debian package actually installs Ada files?  And if you
look in the PLplot export file, is the PLPLOT::plplotada location
property set there consistent with the full pathname of the plplotada
library that is installed by your debian package?

If those hints don't solve it or if they do solve it but another error
is encountered, please use a clean start (i.e., an initially empty
build tree), and send me the the complete cmake output and also the
complete results of

make VERBOSE=1 test_noninteractive >& test_noninteractive.out

(i.e., without any parallel build options).

Alan
__
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__


___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


[Plplot-devel] git blog

2018-11-27 Thread Alan W. Irwin

I just discovered the --word-diff option to "git diff" command.  That
option has proven to be essential for evaluation of my recent commits
concerning markdown format files (which all have extraordinarily long
lines which makes "git diff" output without the --word-diff option
essentially impossible to interpret).

To show how useful this option is, compare results from

git diff 7bedc70ad0^ 7bedc70ad0

and

git diff --word-diff 7bedc70ad0^ 7bedc70ad0

The former result is essentially impossible to interpret because of
the very long lines while the latter clearly shows the small tweaks I
performed on those long lines for commit 7bedc70ad0.

I am happy we are using git because I keep finding such cool
functionality (as above).  :-)

Alan
__________
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__


___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] Help needed for plplot runtime tests

2018-11-27 Thread Alan W. Irwin

On 2018-11-27 13:44+0100 Ole Streicher wrote:


Hi Alan,

thanks for the help so far!


Hi Ole:
You are welcome.



On 26.11.18 19:52, Alan W. Irwin wrote:

On 2018-11-26 16:46+0100 Ole Streicher wrote:
It appears that CMake hard codes the filename on export.  For example,

software@merlin> grep _Pltk_init.so export_plplot-noconfig.cmake
  IMPORTED_LOCATION_NOCONFIG
"/home/software/plplot/HEAD/comprehensive_test_disposeable
blank/shared/noninteractive/install_tree/lib/python3.6/site-packages/_Pltk_init.so"

list(APPEND _IMPORT_CHECK_FILES_FOR_PLPLOT::_Pltk_init
"/home/software/plplot/HEAD/comprehensive_test_disposeable
blank/shared/noninteractive/install_tree/lib/python3.6/site-packages/_Pltk_init.so"
)

where export_plplot-noconfig.cmake is (on my system) installed in the
$prefix/lib/cmake/plplot directory.  And you will find similar
hard-coded filenames for all other libraries and shared objects
(dll's) in that file.


I now just remove the checks via sed:

sed
'/\/_Pltk_init.so/d;/\/_plplotc.so/d;/\/plplot_pyqt5_/d;/\/libplplotada.so/d'
\
-i /usr/lib/*/cmake/plplot/export_plplot-none.cmake

And I also removed them from the dependencies in CMakeList.txt of the
examples subdir.


This is not a good idea.  I haven't checked deeply, but our build and
test system for the installed examples may use the location property
of the imported PLPLOT::_Pltk_init target which you have removed with
the above step.  Or we may make such a change later. So if this is not
an issue now, it is "an accident waiting to happen".  So I strongly
suggest instead you fix this properly by using your sed command to
replace (not remove) _Pltk_init.so with the correct Debianized name
for that installed file.


Then, cmake runs fine But the "make" command gives errors after 8%
completion:

--8<-
x19c

*** PLPLOT ERROR, ABORTING OPERATION ***
Could not find ss/ss64ne_Landform_Area file., aborting operation
[... repeating the same warning for different files]

*** PLPLOT ERROR, ABORTING OPERATION ***
Could not find ss/ss64ne_General_Text file., aborting operation
make[3]: *** [CMakeFiles/test_c_svgqt.dir/build.make:294:
test_examples_output_dir/x00c01.svgqt] Fehler 1
--8<-


A recent install of mine has the following shapelib data files installed in
$prefix/share/plplot$version/ss
os_open_conditions.txtss64ne_Height_Contours.dbf  ss64ne_Landform_Line.prj  
  ss64ne_Water_Area.shp
ss64ne_Building_Area.dbf  ss64ne_Height_Contours.prj  ss64ne_Landform_Line.shp  
  ss64ne_Water_Area.shx
ss64ne_Building_Area.prj  ss64ne_Height_Contours.shp  ss64ne_Landform_Line.shx  
  ss64ne_Water_Line.dbf
ss64ne_Building_Area.shp  ss64ne_Height_Contours.shx  
ss64ne_Road_Centreline.dbf  ss64ne_Water_Line.prj
ss64ne_Building_Area.shx  ss64ne_Landform_Area.dbf
ss64ne_Road_Centreline.prj  ss64ne_Water_Line.shp
ss64ne_General_Text.dbf   ss64ne_Landform_Area.prj
ss64ne_Road_Centreline.shp  ss64ne_Water_Line.shx
ss64ne_General_Text.prj   ss64ne_Landform_Area.shpss64ne_Road_Centreline.shx
ss64ne_General_Text.shp   ss64ne_Landform_Area.shxss64ne_Water_Area.dbf
ss64ne_General_Text.shx   ss64ne_Landform_Line.dbfss64ne_Water_Area.prj

Example 19 depends on these map data so these files are absolutely
necessary for example 19 to work.  Also, I believe we have had some
discussion in the past on the licensing of these files, and I am
positive you were satisfied on that issue.  An apt-file search for
these files here tells me they have not been included in the past in
Debian PLplot packages (likely because of unclear licensing concerns
which we have addressed), but once you address that issue, the above
errors should go away.  And that change (and the sed command change I
recommended above) might be all you need to do to have a complete test
success since the above error occurring for example 19 means almost
half the standard examples work fine for you now.  And, yes, I am a
"glass half full" rather than "glass half empty" kind of guy.  :-)

Alan
__
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__


___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] 5.14.0 release status

2018-11-27 Thread Alan W. Irwin

The current status of the PLplot-5.14.0 release process is as follows:

The PLplot development freeze that started on October 27th contines,
i.e., do not push any topics other than documentation updates or
well-tested bug fixes.

I have just finished pushing a rewrite of the Testing_PLplot wiki page, and I
plan to follow up with

1. Updating the new wiki page, Testing_Reports, with recent comprehensive test 
results.

2. Doing all the usual steps documented in README.Release_Manager_Cookbook to 
finish
   up this release.

So even though the computer instability I mentioned before is still
something of a distraction, I have developed some temporary
workarounds for the issue that should allow me to get through the
above steps without too many more delays.

Alan
__
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__


___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


[Plplot-devel] Rewrite of our Testing_PLplot wiki entry and new method of updating our wiki pages

2018-11-26 Thread Alan W. Irwin

Hi Arjen:

I have just (the series of commits leading up to f7bedc70a) pushed a
much-needed documentation update for
<https://sourceforge.net/p/plplot/wiki/Testing_PLplot> where the test
reports (so far not updated) have been separated out into their own
wiki area <https://sourceforge.net/p/plplot/wiki/Testing_Reports>.

Since you also use our test system a lot, I would appreciate your
critical review of this updated documentation.  As my next step, I
intend to update the Testing_Reports page with results from your
recent good comprehensive tests on your Cygwin and MinGW-w64/MSYS2
platforms and my own recent good comprehensive tests on my Linux
(Debian Buster) platform.

N.B. I seriously do not like the really weird markdown editor that is
available at SourceForge for our wiki pages.  As far as I am concerned
that GUI editor is mostly good for the extremely old-fashioned version
(with ctrl-c, ctrl-v, and delete) of cut and paste and that is about
it.  And I am also not happy with the SF methods to allow us to only
backup those markdown files in non-standard JSON format that no JSON
converter can convert back to markdown!  Therefore, as part of the
preliminaries to updating Testing_PLplot, I have put all the markdown
source for our SF wiki pages under git control in the PLplot source
tree.  So from now on, updating a wiki page such as Testing_PLplot
means you should edit the definitive markdown source for that wiki
page in our source tree (at doc/wiki_source/Testing_PLplot for this
particular example) using your favorite editor, check the results by
cutting and pasting those changes to the wiki edit GUI (available at
<https://sourceforge.net/p/plplot/wiki/Testing_PLplot/> for this
particular example), exit that SF GUI editor (which allows you to view
the revised SF wiki entry generated by that GUI edit session), and if
happy with that result, git commit the updated markdown file in our
source tree.  Or if you really like that GUI editor you can use it
to edit our wiki at SF so long as you remember to cut and paste
(that revised result directly from that GUI editor (not the SF page that
links to that editor!) to the appropriate file in doc/wiki_source in
our source tree and git commit that revised result.

Alan
______
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__


___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] Help needed for plplot runtime tests

2018-11-26 Thread Alan W. Irwin

On 2018-11-26 16:46+0100 Ole Streicher wrote:


Hmm, no. It installs the file on the expected place, but *after* this
(just before the files are put into the package), its name is changed
to_Pltk_init.x86_64-linux-gnu.so (so, the architecture triple is added).
Similarly for _plplotc.so (to _plplotc.x86_64-linux-gnu.so) and for the
Python 3 shared libs (there, the name contains the Python version as well).

So, it is not an inconsistent location, but a different file name.


It appears that CMake hard codes the filename on export.  For example,

software@merlin> grep _Pltk_init.so export_plplot-noconfig.cmake
  IMPORTED_LOCATION_NOCONFIG 
"/home/software/plplot/HEAD/comprehensive_test_disposeable 
blank/shared/noninteractive/install_tree/lib/python3.6/site-packages/_Pltk_init.so"
list(APPEND _IMPORT_CHECK_FILES_FOR_PLPLOT::_Pltk_init 
"/home/software/plplot/HEAD/comprehensive_test_disposeable 
blank/shared/noninteractive/install_tree/lib/python3.6/site-packages/_Pltk_init.so" )

where export_plplot-noconfig.cmake is (on my system) installed in the
$prefix/lib/cmake/plplot directory.  And you will find similar
hard-coded filenames for all other libraries and shared objects
(dll's) in that file.

To solve this I suggest you simply use a sed script to add the
architecture triple expected by Debian for the relevant filenames in
the above file.

Good luck with that suggested change and let me know how it goes.

Alan
__________
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__


___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] Help needed for plplot runtime tests

2018-11-24 Thread Alan W. Irwin

On 2018-11-24 19:06-0700 Orion Poplawski wrote:


On 11/24/18 11:55 AM, Alan W. Irwin wrote:

Hi Orion:

This thread has previously been directed mostly at Ole, but
I am including you now because I think it will interest you.  It concerns 
the

problems (one of them upstream which I plan to fix soon by factoring
the export files [as I promised you long ago, but it got lost on the
stack until Ole ran into this problem again!]) that Ole has been having
with Debian to get testing working properly for the installed
examples.

I would appreciate you contributing to this thread.  For example, if
all Fedora binary packages are installed (which works around the above
factoring problem until I can get it fixed) do the following tests of the
CMake-based and legacy-based installed examples work?

# CMake-based build system for the installed examples
# Move to initially empty build tree first.
rm -rf /tmp/plplot_cmake_test
mkdir /tmp/plplot_cmake_test
cd /tmp/plplot_cmake_test
cmake $prefix/share/plplot$plplot_version/examples
make -j test_noninteractive >& 
test_noninteractive.out


# Legacy-based build system for the installed examples
# Keep the install-tree clean by copying the installed examples elsewhere
cp -a $prefix/share/plplot$plplot_version/examples /tmp
cd /tmp/examples
make -j test_noninteractive >& 
test_noninteractive.out


If the above tests work on Fedora that proves that the Fedora
PLplot installation has correctly configured CMake export
and pkg-config *.pc files for the final Fedora installation locations.

Currently such tests fail for Ole's Debian packages, but I think some
attention to the details of PLplot installation locations will solve this
issue.  And similarly in your case if those tests fail for Fedora.

Alan


It mostly seems to work fine.  The one strange error for cmake is:

Generate C results for bmpqt file device
/usr/share/plplot5.13.0/examples/test_lua.sh: line 50: lua_svg_test.error: 
Permission denied

[ 92%] Built target xtraditional16a
cat: lua_svg_test.error: No such file or directory
make[3]: *** [CMakeFiles/test_lua_svg.dir/build.make:374: 
test_examples_output_dir/x00lua01.svg] Error 1


and for make/pkgconfig:

Generate Octave results for svg device
./plplot-test.sh --verbose --front-end=octave --device=svg
/usr/bin/bash: ./plplot-test.sh: Permission denied
make: *** [Makefile:126: x01o01.svg] Error 126

which is due to my removing the executable bit for the example script to 
avoid issues with automatic dependencies.


Hi Orion:

I am glad to hear you appear to have what appear to be only two minor
issues flawing complete success with the above tests.

N.B. I regret now specifying the /tmp directory for both tests since that might 
get overflowed
by the ~3GB of files that are produced by each of these tests when they are 
successful.
So modify my instructions above to create an initially empty build directory 
under your home
directory for the CMake-based case, and cp the installed example tree to an 
initially empty
examples directory under your home directory.

Here are my comments on those two issues.

I.  For CMake-based build system for the installed examples, issue with 
lua_svg_test.error: Permission denied.

Just to remind you, official Debian lua version 5.3.3 (but not Fedora Lua 
5.3.5) has a really bad bug
that can only be avoided by using a home-built 5.3.5 (which I use for my 
testing).
So in my results the lua location will look quite different than yours.

Line 50 of the configured  test.lua.sh file in my case is

/home/software/lua/install-5.3.5/bin/lua x${index}.${lang} -dev $device -o 
"${results}"/x${index}${lang}%n.$dsuffix \
$options 2> lua_${device}_test.error >| 
"${results}"/x${index}${lang}_${dsuffix}.txt

So my guess is in your case the equivalent lua command is having trouble 
gaining permissions to write
to /tmp. To check that try running

lua test.lua 2> test.stderr >| test.stdout

in /tmp and also your home directory where
test.lua simply writes separate test strings to stderr and stdout.

Of course, if /tmp was overflowing doing the same test under your home 
directory might cure the
issue.

II. For legacy build system for the installed examples, issue with 
./plplot-test.sh: Permission denied

The configured and installed (in /share/plplot5.13.0/examples)
test scripts in my case have the following permissions

software@merlin> ls -lt *.sh
-rwxr-xr-x 1 software software 14080 Oct 27 12:16 plplot-test-interactive.sh*
-rwxr-xr-x 1 software software 13782 Oct 27 12:16 plplot-test.sh*
-rwxr-xr-x 1 software software  2211 Oct 27 12:16 test_ada.sh*
-rwxr-xr-x 1 software software  2326 Oct 27 12:16 test_c.sh*
-rwxr-xr-x 1 software software  2981 Oct 27 12:16 test_c_interactive.sh*
-rwxr-xr-x 1 software software  2802 Oct 27 12:16 test_cxx.sh*
-rwxr-xr-x 1 software software  2427 Oct 27 12:16 test_d.sh*
-rwxr-xr-x 1 software software  7150 Oct 27 12:16 test_diff.sh*
-rwxr-xr-x 

[Plplot-devel] Help needed for plplot runtime tests

2018-11-24 Thread Alan W. Irwin

Hi Orion:

This thread has previously been directed mostly at Ole, but
I am including you now because I think it will interest you.  It concerns the
problems (one of them upstream which I plan to fix soon by factoring
the export files [as I promised you long ago, but it got lost on the
stack until Ole ran into this problem again!]) that Ole has been having
with Debian to get testing working properly for the installed
examples.

I would appreciate you contributing to this thread.  For example, if
all Fedora binary packages are installed (which works around the above
factoring problem until I can get it fixed) do the following tests of the
CMake-based and legacy-based installed examples work?

# CMake-based build system for the installed examples
# Move to initially empty build tree first.
rm -rf /tmp/plplot_cmake_test
mkdir /tmp/plplot_cmake_test
cd /tmp/plplot_cmake_test
cmake $prefix/share/plplot$plplot_version/examples
make -j test_noninteractive >& test_noninteractive.out

# Legacy-based build system for the installed examples
# Keep the install-tree clean by copying the installed examples elsewhere
cp -a $prefix/share/plplot$plplot_version/examples /tmp
cd /tmp/examples
make -j test_noninteractive >& test_noninteractive.out

If the above tests work on Fedora that proves that the Fedora
PLplot installation has correctly configured CMake export
and pkg-config *.pc files for the final Fedora installation locations.

Currently such tests fail for Ole's Debian packages, but I think some
attention to the details of PLplot installation locations will solve this
issue.  And similarly in your case if those tests fail for Fedora.

Alan
______
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__


___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] FW: Exponential labels - custom position

2018-11-23 Thread Alan W. Irwin

On 2018-11-23 12:11- Allen, Anthony J wrote:


Alan,

just to confirm, QSAS does not use your colour bar code, nor does it
use label_box_custom(). Alban wrote his own colour bar using plbox().

This means any change we made to label_box_custom is historical and nugatory, 
and only the
changes to plbox() are relevant ( the else{  } ).

In fact we do not include pllegend.c in our version of plplot at all, which is 
why I did
not see label_box_custom() being called.


Hi Tony:

Of course, upstream does use both label_box and label_box_custom.  So
from that upstream perspective, I believe the plan should be to (1)
implement the test case I suggested (a simple example that plots both
a box and a color bar where both require exponential labels with
different custom locations for each); and (2) assuming that simple
example demonstrates the bug you discovered, then fix the bug in a
consistent way for both label_box and label_box_custom.

I have put this plan on my ToDo list and will keep you informed of my
progress once I start working on this topic (likely early in 2019).
However, if you decide to work along the lines of that upstream
plan yourself before I can get to it, please keep me informed of your
progress as well.

Alan
__
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__


___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] Help needed for plplot runtime tests

2018-11-23 Thread Alan W. Irwin

On 2018-11-23 08:28+0100 Ole Streicher wrote:

[...]

It is the cmake command. When I start with an empty dir, and then do

$ cmake /usr/share/doc/plplot-doc/examples/

I get the following output:

8<
-- The C compiler identification is GNU 8.2.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- CMake version = 3.12.3
-- CMAKE_SYSTEM_NAME = Linux
-- CMAKE_PLATFORM_INFO_DIR = 
/home/ole/Projects/2011/debian/plplot/x/CMakeFiles/3.12.3
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29")
-- Looking for pkg-config - found
-- cxx_compiler_library_pathname_list =
-- A test cmake run with language = Ada enabled failed.
-- Specify -DENABLE_compiler_diagnostics=ON to see full CMake diagnostics 
concerning this failure.
-- WARNING: no working Ada compiler so disabling ada examples.
-- The CXX compiler identification is GNU 8.2.0
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- The Fortran compiler identification is GNU 8.2.0
-- Check for working Fortran compiler: /usr/bin/gfortran
-- Check for working Fortran compiler: /usr/bin/gfortran  -- works
-- Detecting Fortran compiler ABI info
-- Detecting Fortran compiler ABI info - done
-- Checking whether /usr/bin/gfortran supports Fortran 90
-- Checking whether /usr/bin/gfortran supports Fortran 90 -- yes
-- Found JNI: /usr/lib/jvm/default-java/lib/libjawt.so
-- Could NOT find Qt5Svg (missing: Qt5Svg_DIR)
CMake Warning at /usr/lib/x86_64-linux-gnu/cmake/plplot/plplotConfig.cmake:5 
(find_package):
 Found package configuration file:

   /usr/lib/x86_64-linux-gnu/cmake/Qt5/Qt5Config.cmake

 but it set Qt5_FOUND to FALSE so package "Qt5" is considered to be NOT
 FOUND.  Reason given by package:

 Failed to find Qt5 component "Svg" config file at
 "/usr/lib/x86_64-linux-gnu/cmake/Qt5Svg/Qt5SvgConfig.cmake"



Call Stack (most recent call first):
 CMakeLists.txt:471 (find_package)


-- CORE_Qt5_FOUND = ON
-- CORE_Qt5_VERSION_MAJOR = 5
-- CORE_Qt5_VERSION_MINOR = 11
-- CORE_Qt5_VERSION_PATCH = 2
-- Qt5_FOUND = 0
-- Qt5_VERSION_MAJOR = 5
-- Qt5_VERSION_MINOR = 11
-- Qt5_VERSION_PATCH = 2
-- WARNING: Qt5 core build-tree and install-tree inconsistency
CMake Error at /usr/lib/x86_64-linux-gnu/cmake/plplot/export_plplot.cmake:279 
(message):
 The imported target "_Pltk_init2.7" references the file

"/usr/lib/python2.7/dist-packages/_Pltk_init.so"

 but this file does not exist.  Possible reasons include:

 * The file was deleted, renamed, or moved to another location.

 * An install or uninstall procedure did not complete successfully.

 * The installation package was faulty and contained

"/usr/lib/x86_64-linux-gnu/cmake/plplot/export_plplot.cmake"

 but not all the files it references.

Call Stack (most recent call first):
 /usr/lib/x86_64-linux-gnu/cmake/plplot/plplotConfig.cmake:20 (include)
 CMakeLists.txt:471 (find_package)


-- Configuring incomplete, errors occurred!

8<

A Makefile is not produced then. The produced logfile is attached.

Any idea?


Hi Ole:

I think there are at least two issues above.

I.  Missing package

Everything above leading up to

-- WARNING: Qt5 core build-tree and install-tree inconsistency

indicates there is an inconsistency between the environment you used to build
and install PLplot and the environment you are using to test the installed 
examples
tree.  From the first set of messages, especially,

Failed to find Qt5 component "Svg" config file at
"/usr/lib/x86_64-linux-gnu/cmake/Qt5Svg/Qt5SvgConfig.cmake"

I think the solution is you must install
libqt5svg5-dev which apt-file tells me contains
/usr/lib/x86_64-linux-gnu/cmake/Qt5Svg/Qt5SvgConfig.cmake.

II. The second problem above starts with the message

CMake Error at /usr/lib/x86_64-linux-gnu/cmake/plplot/export_plplot.cmake:279 
(message)

I am virtually positive what is going on is that PLplot installs the
files corresponding to the exported target PLPLOT::_Pltk_init.so in
one location, e.g., "/usr/lib/python2.7/dist-packages/_Pltk_init.so"
and your Debian packaging automatically changes that location to
something else creating an inconsistency between the location expected
by the exported target, and the location where the file was installed.
To avoid such exported target inconsistent location issues, it is
imperative that you change the *PLplot* installation locations to the
locations expected by Debian.

Please look at your core build (not the build of the installed
examples you were testing above) cmake output for instructi

Re: [Plplot-devel] Help needed for plplot runtime tests

2018-11-22 Thread Alan W. Irwin

On 2018-11-22 20:54+0100 Ole Streicher wrote:


Hi Alan,

back from the US (ADASS), I found an hour to look further into the CI
tests problem:

"Alan W. Irwin"  writes:

On 2018-11-13 18:23+0100 Ole Streicher wrote:
Upstream PLplot installs all examples configured in the core build in
one place which contains a self-contained CMake-based build and test
system for those examples.  Therefore, I have to agree splitting up
those installed examples in various locations is not a good idea
since that means you have to implement a build system for each
component of the examples!

Therefore, I suggest instead you create a plplot-examples
package that contains only text files, which are *all* the example files
that upstream currently installs in
$PREFIX/share/plplot$VERSION/examples, but it sounds like instead
for debian if you do this suggested reorganization
you should install them in /usr/share/doc/plplot-examples/examples.


OK, so I now moved all examples to the "examples" subdir of the
plplot-doc package, and now I am closer to a working test ;-)

Next problem is that the Debian installation script renames the shared
libraries that are installed for the Python package:
On Python 2.7,
- _Pltk_init.so becomes _Pltk_init.x86_64-linux-gnu.so resp.
- _plplotc.so becomes _plplotc.x86_64-linux-gnu.so
On Python 3.6
- /usr/lib/python3.6/dist-packages/_Pltk_init.so becomes
  /usr/lib/python3/dist-packages/_Pltk_init.cpython-36m-x86_64-linux-gnu.so
- _plplotc.so similar
And Python 3.7 similar.


Hi Ole:

I am glad to hear you are making significant progress.

I looked deeper at the names of the python *.so files for Debian Buster for one 
arbitrary python package (curses).

irwin@merlin> find /usr/lib/python3.7/ -type f |grep 'curses' |grep -E 
'(.py|.so)$'
/usr/lib/python3.7/curses/panel.py
/usr/lib/python3.7/curses/__init__.py
/usr/lib/python3.7/curses/has_key.py
/usr/lib/python3.7/curses/textpad.py
/usr/lib/python3.7/curses/ascii.py
/usr/lib/python3.7/lib-dynload/_curses.cpython-37m-x86_64-linux-gnu.so
/usr/lib/python3.7/lib-dynload/_curses_panel.cpython-37m-x86_64-linux-gnu.so

And that relocation (to lib-dynload) and extra
".cpython-37m-x86_64-linux-gnu" description in the *.so file names
made no difference to the *.py files.  For example, panel.py had the
following import statement

from _curses_panel import *

with no mention of the location or extra name decoration of the corresponding 
*.so file.

So from the results of that quick check, I don't understand why the installed 
PLplot example
tests are complaining
about the renaming (and even relocating to a different directory) of PLplot's 
installed
python *.so files).  Which leads to the following response to your question


Is there a way to switch off the consistency check for Python?


Please clear up exactly what you mean here by giving me the
VERBOSE=1 output of the test target that is failing.  For example,
if you are building the test_noninteractive target, you could
extract that necessary output this way.

make VERBOSE=1 test_noninteractive >& test_noninteractive.out

Given that output file, I could probably figure out a quick patch for you to
get by whatever the error is because (as I found out above for curses)
renaming and relocating *.so should not matter.

My guess is that likely the PLplot build system is being much too
specific about a name and/or location in the installed python files
for PLplot.  But assuming that is the case, I can find out where that
is done a lot easier once I have your VERBOSE=1 test target build
output in hand.


BTW, I would still keep the dependencies of the -doc package as they
are, and only for the tests install everything.


Well, if you haven't done this already, I would suggest putting all
the names of the relevant binary packages into the Suggests: list for
the -doc package.  (I assume that will be the final form you want once
I get the upstream code properly factored since once that is done
those binary packages will add substantially to the functionality of
the -doc package which I believe is what Suggests: is for.)

Alan
__
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__


___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] FW: Exponential labels - custom position

2018-11-22 Thread Alan W. Irwin
sed code.

N.B. I am happy to take a quick break (as now) from getting out the
5.14.0 release to discuss these changes with you, but we are in deep
freeze now (i.e., it is obviously much too late in the present release
cycle to get these or virtually any other code change into that
release).  But once you provide a good simple test example to make
sure all is well with these changes, it would be ideal to get these
changes accepted for PLplot early in the release cycle for 5.15.0.

Best wishes,

Alan
__
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__


___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] 5.14.0 release status

2018-11-15 Thread Alan W. Irwin

The PLplot development freeze that started on October 27th contines, i.e.,
do not push any topics other than documentation updates or well-tested bug
fixes.

I am sorry to report that my pace for getting this release out has
frankly slowed to a crawl, but there is some hope I will be able
to restore a normal pace soon.

The reason for this delay is I have been distracted in the last week
by researching a chance to finally work around random lockups I have
been encountering for my new Ryzen 7 1700 Linux box since I bought it
in May.  (For background information about Ryzen instability problems
caused by a fundamentel AMD Ryzen hardware design flaw see
<https://community.amd.com/thread/225795> and
<https://bugzilla.kernel.org/show_bug.cgi?id=196683>.)  Those links
state one possible workaround requires building a specially configured
custom Linux kernel.  I finally managed to do that today after many
false starts, and I am running that custom kernel now.  And with luck
perhaps this lockup distraction will be considerably reduced or even
eliminated by this custom kernel.

In sum, time will tell, and in any case I will continue to keep you
informed about how the plplot-5.14.0 release process is going with status 
reports
like this one every week or so.

Alan
__________
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__


___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] Help needed for plplot runtime tests

2018-11-15 Thread Alan W. Irwin

On 2018-11-13 18:23+0100 Ole Streicher wrote:


Hi Alan,

On 11.11.18 03:17, Alan W. Irwin wrote:

Everything you have done above should work fine for building and
testing the installed examples using the CMake-based build system for
those examples.


My problem is that I have actually split the examples by the language
binding: C and C++ go to libplplot-dev, tcl goes to plplot-tcl-dev etc.
It looks that this is not a really smart idea, right?

It also implies that they are not all at the same place: Debian
filesystem rules require that the examples are installed under
/usr/share/doc//examples (and they are partially zipped in the
moment).

Can I re-create the cmake files required for the tests somehow from the
source? Then I could avoid a bigger restructuration of the packages.


Hi Ole:

Upstream PLplot installs all examples configured in the core build in
one place which contains a self-contained CMake-based build and test
system for those examples.  Therefore, I have to agree splitting up
those installed examples in various locations is not a good idea
since that means you have to implement a build system for each
component of the examples!

Therefore, I suggest instead you create a plplot-examples
package that contains only text files, which are *all* the example files
that upstream currently installs in
$PREFIX/share/plplot$VERSION/examples, but it sounds like instead
for debian if you do this suggested reorganization
you should install them in /usr/share/doc/plplot-examples/examples.

Then *if* you install all binary PLplot packages (with those examples
removed from then) and that plplot_examples package, then the
test procedure I suggested before for those installed examples should
"just work".  So would you be willing to reorganize your packages that way and
verify the tests are working for that case?

That is a good "proof-of-concept first step to make sure we are at the same
starting point, but the obvious issue with that step is plplot-examples depends 
on all
plplot binary packages, i.e., it won't work unless all are installed.

The rest of this e-mail concerns two up-stream fixes which I plan to
work on after the 5.14.0 release to relax that constraint.

As I have said before, the key command in the top-level CMakeList.txt
file for the installed examples is

find_package(plplot)

That command uses the exported files (located for
the Debian Buster libplplot-dev package at

libplplot-dev: /usr/lib/x86_64-linux-gnu/cmake/plplot/plplotConfig.cmake
libplplot-dev: /usr/lib/x86_64-linux-gnu/cmake/plplot/export_plplot.cmake
libplplot-dev: /usr/lib/x86_64-linux-gnu/cmake/plplot/export_plplot-none.cmake

) to implement imported targets such as PLPLOT:plplot,
PLPLOT:plplotcxx, etc., and our build system for the installed
examples then goes on to use those imported targets to build and test
the examples.

However, suppose a user only installs a subset of the configured
components of PLplot.  To get the installed examples build system to
work for that case I need to implement the following two upstream
upgrades:

1. I need to factor the exported target files, e.g., the two
export_plplot* files mentioned above.  Such factoring had already been
highly recommended to me by CMake gurus, and I think it should be
entirely straightforward.

Instead of using the "EXPORT export_plplot" signature for all library
and shared object installs and exporting all of that information to
just the two files export_plplot.cmake and export_plplot-none.cmake
using

install(EXPORT export_plplot DESTINATION ${LIB_DIR}/cmake/plplot NAMESPACE 
${PROJECT_NAMESPACE})

I simply use the "EXPORT export_" signature for all
library and shared object installs, and for each of those I add a

install(EXPORT export_ DESTINATION ${LIB_DIR}/cmake/plplot 
NAMESPACE ${PROJECT_NAMESPACE})

The net result will be two files per target installed with names

export_.cmake and export_-none.cmake

where the first one automatically includes the second.

Also, I will need to change the plplotConfig.cmake file to use the
OPTIONAL signature of the cmake command "include" for a list of every
possible export_.cmake file to include just those that
are currently installed.  But that change is completely
straightforward.

To take advantage of this factoring, you would also have to reorganize
what is in your binary packages a small amount.  For example,
libplplot15 which currently includes

libplplot15: /usr/lib/x86_64-linux-gnu/plplot5.13.0/drivers/svg.so

should also need to contain the export files export_svg.cmake and
export_svg-none.cmake that are now would be associated with that
shared object.  And similarly for all packages that contain installed
libraries and shared objects.

As a result of this factoring and your package reorganization to
include the many export_.cmake and
export_-none.cmake files generated by that factoring in
the correct binary packages, the "find_package(plplot)" command
m

Re: [Plplot-devel] Help needed for plplot runtime tests

2018-11-10 Thread Alan W. Irwin

On 2018-11-09 23:16+0100 Ole Streicher wrote:


Hi,

in the Debian package, we usually try to run CI tests regularly on each
dependency change. This gives us the opportunity to early find problems
with the package or one of its dependencies.

However, I have some difficulties to do that; this may be connected with
my limited knowledge of cmake.

The test is started with the binaries installed in the system and the
sources unpacked.  The working dir is the root of the sources.

What I basically do now is to run the following script:

8<-
#!/bin/sh

set -e

SRC=$(pwd)

test_dir=$(mktemp -d)

cd $test_dir
cmake $SRC/examples

make test_diff_psc
make test_noninteractive
8<-

However, the "cmake" step fails with

8<-
[...]
-- CMAKE_SYSTEM_NAME = Linux
-- CMAKE_PLATFORM_INFO_DIR = /tmp/tmp.TwEFoteIXX/CMakeFiles/3.12.3
CMake Error at CMakeLists.txt:469 (include):
 include could not find load file:

   plplot_configure
8<-

How could I fix this?



Hi Ole:

Everything you have done above should work fine for building and
testing the installed examples using the CMake-based build system for
those examples.  For example, similar tests here are normally
successful, and that error message has never occurred here.  So
looking deeper, it turns out that

include(plplot_configure)

is a command that occurs in the installed CMakeLists.txt file in the
top-level source directory for the installed examples,
SRC=/usr/share/plplot5.13.0/examples (although that 13 will change
to 14 when 5.14.0 is released).  That command is looking for
$SRC/cmake/modules/plplot_configure.cmake which normally is installed
by PLplot.  So since the error message says that installed file cannot
be found, I strongly suspect the problem is simply that your RPM needs
updating to include that installed file in the manifest.

So please let me know if (a) $SRC/cmake/modules/plplot_configure.cmake is
actually installed and if not (b) whether my guess is correct that the
incompleteness of the rpm manifest is the issue.

Best wishes,

Alan
______
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__


___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


[Plplot-devel] 5.14.0 release status

2018-11-01 Thread Alan W. Irwin

The ETA for the release of PLplot-5.14.0 is likely sometime next week.

The PLplot development freeze that started on October 27th contines, i.e.,
do not push any topics other than documentation updates or well-tested bug
fixes.

We have good comprehensive testing results for Arjen's Cygwin and
MinGW-w64/MSYS2 platforms and my Debian Buster platform so I doubt
there will be any further bug fixes before the release.  However, the
actual release has been somewhat delayed because I have added the task
of making a much-needed update to the wiki documentation of our test
procedure to the other release-related tasks (documented in
README.Release_Manager_Cookbook) that I still need to do to complete
this release.

Alan
__
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__


___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] Finalized plans for 5.14.0 freeze date, testing period, and release

2018-10-26 Thread Alan W. Irwin

The current status is Arjen has come through with good comprehensive
testing results on Cygwin and (except for one issue that is likely not
release critical) also good comprehensive testing results on
MinGW-w64/MSYS2.  So we appear to be in good shape on both these
platforms as well as on my Linux platform (Debian Buster).  If
somebody volunteers by tomorrow (the freeze date) to do some much
needed comprehensive testing on the Mac OS X platform, I will delay
starting the release process to give them a chance to complete their
tests (and me a chance to make any required adjustments to our build
system for the Mac OS X case).  But if nobody cares enough about that
platform to volunteer to do such testing, then I plan to go ahead and
start the release process tomorrow without Mac OS X testing results.

N.B. Because of my new Debian Buster platform I cannot predict very
accurately how long the release process is going to take me, but
conceivably we might have a release of PLplot-5.14.0 as early as
tomorrow night.  However, more realistically it is likely going to be
several days later than that.

Alan
__
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__


___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] Finalized plans for 5.14.0 freeze date, testing period, and release

2018-10-22 Thread Alan W. Irwin

On 2018-10-03 10:18-0700 Alan W. Irwin wrote:


On 2018-09-23 18:56-0700 Alan W. Irwin wrote:


I continue have a large list of different topics I would like to work
on for PLplot, but, on the other hand, comprehensive tests are looking
good (at least on Debian Buster) right now, and it has been much too
long since our last release (mostly because of the "new computer" and
"new distro version" issues I have been encountering).  So I plan to
spend the next several weeks working on the most urgent development
topics I have a good chance of finishing before the soft freeze, with
a proposed date of the freeze near the end of October followed by a
testing and debugging period with the actual release of 5.14.0
occurring roughly in mid November.  Please let me know if the general
timing of that soft freeze, testing period, and subsequent release
will cause you any issues with development topics you would like to
push before the release of 5.14.0.  But if I don't hear any strong
objections along those lines, then later this week I plan to finalize
that soft freeze date as October 27th (to be definite and to place it
on the last Saturday in October).


This is official notice that I will be going ahead with this plan.  In
particular, the soft freeze date has now been finalized as of October
27th.


Current status:

This is a reminder that the soft freeze deadline is only 5 days away.
But I am going to stick to it (e.g., some of the small topics I am
currently working on may have to be put off until post release, but
such postponent is convenient to do with git since I am working on
these topics using topic branches.)

Comprehensive testing is going well.  With the current master tip
version I am getting essentially perfect results on Linux (Debian
Buster).  That is there are no obvious configure, build, or run-time
issues and there is a perfect test_diff_device report for the
(default) svg testing device.  Also Arjen is getting promising-looking
results for Cygwin.  There is one regression there (the octave binding
does not build) but a follow-up comprehensive test with octave
disabled worked without issues, and the solution for the octave build
difficulty may simply be a Cygwin system upgrade for one of the
octave-related components.  In any case, I am very happy with this
preliminary result since a lot of build-system development has
occurred since the last time that Cygwin was comprehensively tested.

Despite this complete comprehensive testing success on Linux and
almost-complete preliminary comprehensive testing success on Windows
some additional volunteers to help out with comprehensive testing
would add a lot to the value of this release. For example, we need
someone to comprehensively test the MinGW-w64/MSYS2 Windows platform
if Arjen does not have time to get to it, and we need someone to test
any or all of Mac OS X + fink, MacPorts, and/or HomeBrew.  In addition
"redundant" comprehensive testing on the already tested Cygwin and
Linux platforms would be useful since there are so many different
Windows platforms that underlie Cygwin, and so many different Linux
distributions that do things differently than my Debian Buster
platform.

N.B. the advantages of comprehensively testing this release on as many
different platform variants as possible are obvious from the PLplot
release integrity perspective, but I would also like to emphasize an
additional individual advantage for testers which is testing helps you
learn how to get the most out of PLplot (e.g., which packages to
install to enhance the power of PLplot) for your platform of choice.

Also once your particular system is set up properly for PLplot,
running the comprehensive testing script is pretty trivial if you
specify the "--do_test_interactive no" option so you don't have to
baby-sit the tests generated by the script.  But in any case, please
run "scripts/comprehensive_test.sh --help" to get an idea of what is
possible.

Just to give you an idea of what is involved with the
"--do_test_interactive no" case you do need access to 6 GB of spare
disk space to store the many plot files that are generated by these
tests, and my ~11-year old Intel box took something like ~5 hours to
complete this set of tests while my modern Ryzen 7 1700 box with
faster memory and CPUs and 4 times as many CPUs takes roughly ~one
hour to complete the noninteractive tests.  In my case for
"--do_test_interactive no", I simply use the bash source command to
set relevant environment variables, start the script, and then I do
something else until the tests complete. And it should be just that
simple for you as well once you have installed all relevant platform
packages and decided which components of PLplot have to be disabled if
they are not working on your particular platform.

In sum, comprehensive testing should be straightforward so I hope to
hear from *all* of you lurking on this list who h

[Plplot-devel] Finalized plans for 5.14.0 freeze date, testing period, and release

2018-10-03 Thread Alan W. Irwin

On 2018-09-23 18:56-0700 Alan W. Irwin wrote:


I continue have a large list of different topics I would like to work
on for PLplot, but, on the other hand, comprehensive tests are looking
good (at least on Debian Buster) right now, and it has been much too
long since our last release (mostly because of the "new computer" and
"new distro version" issues I have been encountering).  So I plan to
spend the next several weeks working on the most urgent development
topics I have a good chance of finishing before the soft freeze, with
a proposed date of the freeze near the end of October followed by a
testing and debugging period with the actual release of 5.14.0
occurring roughly in mid November.  Please let me know if the general
timing of that soft freeze, testing period, and subsequent release
will cause you any issues with development topics you would like to
push before the release of 5.14.0.  But if I don't hear any strong
objections along those lines, then later this week I plan to finalize
that soft freeze date as October 27th (to be definite and to place it
on the last Saturday in October).


This is official notice that I will be going ahead with this plan.  In
particular, the soft freeze date has now been finalized as of October
27th.

Alan
__________
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__


___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] How to use plplot in my own project?

2018-09-30 Thread Alan W. Irwin

On 2018-09-29 09:53+0100 Phil Rosenberg wrote:

[...]

- Alan do you know if it [library suffix] is still implemented and if so what 
it is?
There used to be a d suffix added to represent the fact that the
library was built with double precision floating point variables, but
I don't think this is the case any more.


We dropped library suffixes some time ago because of the much cleaner
solution you state below.

[...]

Anyway, my solution was to install my debug libraries in a folder
specific to debug libraries. Almost every library has a way to specify
the install prefix. With plplot you can do this with the
-DCMAKE_LIBRARY_PATH or -DCMAKE_INSTALL_PREFIX


Exactly.

Alan
__
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__


___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] How to use plplot in my own project?

2018-09-25 Thread Alan W. Irwin

On 2018-09-25 22:05+0200 Laurent Berger wrote:


Hi,

I want to use plplot in my own project using cmake and I miss something. my 
cmakelists.txt is see below and it works. But in include_directories cmake 
command I must write :


include_directories(${plplot_DIR}/../../../include) and it is really weird. 
what's variable name for include ?


[...]


CMakeLists.txt


[...]

find_package(plplot)

[...]

ADD_EXECUTABLE (${NomProjet} ${Projet_SRCS} )

[...]

if (plplot_FOUND)

    include_directories(${plplot_DIR}/../../../include)
    target_link_libraries( ${NomProjet} PUBLIC PLPLOT::plplotwxwidgets)
else (plplot_FOUND)
message( " PROBLEME" )
endif(plplot_FOUND)


Hi Laurent:

I have reviewed the redacted version above, and all seems well.  For
example, our installed examples are similarly built against the
installed version of PLplot, and what you have implemented above
follows that same method.  For example, you can see
"find_package(plplot)" (in the non-CORE_BUILD part of
examples/CMakeLists.txt), and a combination of add_executable,
include_directories (which refers to the installed location of PLplot
for the non-CORE_BUILD case just like you apparently have
implemented), and target_link_libraries in examples/c/CMakeLists.txt.

However, you were right to question that include_directories command
which is necessary now, but should not be necessary in future once I
set up the export of PLplot to handle compile options properly.  But
that implementation is a little tricky so although it is on my ToDo
list now, I am going to put it off until after the 5.14.0 release that
is coming soon.

Alan
__________
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__


___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] Is there some important reason for using the -single-module linker option on modern Mac OS X?

2018-09-23 Thread Alan W. Irwin

On 2018-03-22 19:12-0700 Alan W. Irwin wrote:


To those here with knowledge of Mac OS X linking:

According to <http://www.manpages.info/macosx/ld.1.html> there exists
the following ld options:

"
-single_module When building a dynamic library build the library so that it 
contains only one module.


-multi_module
When building a dynamic library build the library so that it contains
one module for each object file linked in. This is the default.
"

We currently use -single_module for linking on this platform
(see CMAKE_USER_MAKE_RULES_OVERRIDE in the top-level CMakeLists.txt
file).

However that override was imposed 12 (!) years ago to address a
linking issue that I suspect no longer exists.  For example, a google
search for the terms  found nothing relevant
beyond the CMake mailing-list discussion I generated about this issue
back then.

So unless I hear from Mac OS X experts here that there is some
important reason for using the -single_module option for linking
dynamic libraries on modern Mac OS X, I plan (on Sunday to give you a
couple of days to respond) to drop this override completely to conform
to how other CMake-based build systems configure linking of dynamic
libraries on Mac OS X.



From the "better late than never" department, I have indeed now

(commit d6a762704) removed this override that is specific to Mac OS X
"on Sunday", but frankly I forgot all about this until reminded of it
today by my ToDo list so it is a large number of Sundays later than I
anticipated in the above post!

N.B. This fundamental linking change for Mac OS X platforms needs to
be comprehensively tested on Mac OS X.  So I need a volunteer (with
lots of free disk space that is temporarily consumed by the test until
deletion of many plot files at the end of the test) to do that.  Just
run

scripts/comprhensive_test.sh --help

to see what is possible with that script.  However, be warned that if
you specify no options the default is *all* components of the
comprehensive test are run.  This means, for example, that you will be
doing a lot of babysitting as you work through the interactive
components of the test so at minimum for a first try you will likely
want to constrain the test with the

--do_test_interactive no

script option to make the test into something that can quietly be run
in the background with little interaction needed from you.

Also, note the test generates a report tarball with all the details of
the test whether it succeeds or not.  So please send me that report
tarball regardless of results since in case of failures that tarball
helps me to analyze the reason for the failures, and in case of
success that tarball helps me to assemble a report of your
comprehensive test success for our wiki.

Alan
__
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__


___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


[Plplot-devel] Tentative plans for 5.14.0 freeze date, testing period, and release

2018-09-23 Thread Alan W. Irwin

I continue have a large list of different topics I would like to work
on for PLplot, but, on the other hand, comprehensive tests are looking
good (at least on Debian Buster) right now, and it has been much too
long since our last release (mostly because of the "new computer" and
"new distro version" issues I have been encountering).  So I plan to
spend the next several weeks working on the most urgent development
topics I have a good chance of finishing before the soft freeze, with
a proposed date of the freeze near the end of October followed by a
testing and debugging period with the actual release of 5.14.0
occurring roughly in mid November.  Please let me know if the general
timing of that soft freeze, testing period, and subsequent release
will cause you any issues with development topics you would like to
push before the release of 5.14.0.  But if I don't hear any strong
objections along those lines, then later this week I plan to finalize
that soft freeze date as October 27th (to be definite and to place it
on the last Saturday in October).

To give you more details about the actual events leading up to the
release, the overall timing of the release depends critically on the
soft freeze date, i.e., the date where we ask our developers to quit
pushing new development topics and instead concentrate on fixing bugs
and updating the documentation until the release is completed.  What
that means practically is just after the freeze date I will call for intensive
testing and use those results to solve as many bugs as possible
without introducing any new development topics.  That process will
likely take one or two weeks after the freeze date before I can start
the official release process currently described for Debian Oldstable
= Jessie in README.Release_Manager_Cookbook.  But that release process
(which normally just takes a day or two) will likely get stretched out
a bit because that cookbook likely needs quite a bit of updating as I
encounter issues that are caused by my current platform of Debian
Buster.  In sum, the official release should occur something like two
to three weeks after the soft freeze date depending on the
participation from you guys in the testing, how difficult it is to
sort out the bugs found by that testing, and how much I have to
upgrade the release process for Debian Buster.  So that's how the
currently proposed freeze date of October 27th gets transformed into a
release date that is roughly in mid November.

Alan
______
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__


___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] Cannot compile plplot using VS 2017

2018-09-22 Thread Alan W. Irwin

On 2018-09-22 23:16+0100 Phil Rosenberg wrote:


Hi Laurent

I have implemented your first solution. If you could let me know that
things now work for you that would be great.


Hi Phil:

Although your question was addressed to Laurent, it should interest
you to know your fix causes no issues for Linux (i.e., building the
test_c_wxwidgets and test_wxPLplotDemo targets caused no obvious build
or run-time issues).

Alan
__
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__


___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] Plplot now working well with Debian Buster + release timing

2018-09-22 Thread Alan W. Irwin

Hi Ole:

I have just now updated PLplot (commit d2d9461a3) to allow our build
system to use local builds of Lua in a consistent fashion, and using
that capability I have proved the Debian Lua-5.3.3 issue is in
upstream 5.3.3 which is fixed in upstream 5.3.5 (see the latest
discussion at
<https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=902238> for more
details).

Furthermore, if you look at <https://tracker.debian.org/pkg/lua5.3>
the official maintainer has been inactive for the last three years so
others have been occasionally contributing with the last such activity
a year ago.  Therefore, would you be willing to do a NMU of lua-5.3.5
to allow the upstream fix for the lua issue I have been discussing to
propagate to Debian?  Such propagation should simplify your life
as the Debian maintainer for PLplot as well as being a big help
to each Debian user who is encountering this severe issue with Lua-5.3.3.

Alan
__________
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__


___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] Cannot compile plplot using VS 2017

2018-09-21 Thread Alan W. Irwin

On 2018-09-21 18:38+0200 Laurent Berger wrote:


Hi,

I have just done a git clone : (Date:   Thu Sep 20 22:36:48 2018 -0700
) commit caf4801dfef32207b74f5374eff52bf2a4c24e3d

and delete cmakecache.txt and I I'm trying to build plplot in static

BUILD_SHARED_LIBS:BOOL=OFF

and ENABLE_DYNDRIVERS:BOOL=OFF

and I have got 59 errors compiling wxwidgets_dev.cpp.

In git repo I can find this file 
https://github.com/PLplot/PLplot/blob/14ecc4bd943caa40a830e0da066ff7a220b9d5e8/drivers/wxwidgets.cpp


I copy 
https://github.com/PLplot/PLplot/blob/14ecc4bd943caa40a830e0da066ff7a220b9d5e8/drivers/wxwidgets.cpp#L28-L36 
and insert those lines here 
https://github.com/PLplot/PLplot/blob/master/drivers/wxwidgets_dev.cpp#L41


I can compile and link plplot.


Hi Laurent:

Thanks for your test of my recent PLplot development activity.

I have looked at commits 14ecc4bd94 (= plplot-5.13.0-59-g14ecc4bd9)
and caf4801dfe (current master tip), and your description of the
required change appears to correspond to copying some wxwidgets includes from
one part of the old commit (or alternatively the latest commit since
those lines haven't changed) to just after

#include "wxwidgets.h"

As far as I can tell such a copy of includes should have zero effect
so it appears either I misunderstood the change you described above or
else the github repo for PLplot is not properly up to date with the
definitive SourceForge repo.  So to remove this uncertainty please
give us the results of

git diff

to describe the definitive version of the change to the master tip of
PLplot that works for you (i.e., allows a static build of PLplot to
compile and link for your VS2017 platform).

By the way, a comprehensive test of PLplot has recently (one commit
behind master tip) worked perfectly here on Linux (Debian Buster).
Such comprehensive tests include not only building a static wxwidgets
device but run-time testing it as well.  Also that last commit on the
master branch is a minor one involving how to control the Lua version
that is searched for and is therefore extremely unlikely to introduce
wxwidgets issues.  Therefore, I cannot replicate your issue on Linux
so someone with access to recent Windows platforms will have to
attempt that instead.

Alan
__________
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__


___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] Plplot now working well with Debian Buster + release timing

2018-09-20 Thread Alan W. Irwin

On 2018-09-20 21:09-0600 Orion Poplawski wrote:


On 09/20/2018 12:22 AM, Alan W. Irwin wrote:

On 2018-09-19 22:06-0600 Orion Poplawski wrote:


On 09/15/2018 01:49 PM, Alan W. Irwin wrote:

To Orion and Ole:

Commit a730ebe34 has removed the last of the "new software" issues I
have identified with Debian Testing = Buster.

@Orion: I encourage you to try that commit on Fedora to see if you get
similarly good results for all Linux-available components of
PLplot for that other cutting-edge Linux platform.

@Both: You both also might want to experiment with this commit as the
basis for much-improved PLplot packages for Fedora and Debian.
However such packages can only be considered preliminary until PLplot
makes an official release.  What I can say on that topic is commit
a730ebe34 is an important milestone on the trail to the next release,
but we are not there yet.

For example, the CMake test that is automatically produced every night
by my computer for the CMake developers builds and tests the latest
CMake.  One of those tests is the PLplot contract test which tests
whether a build (but not test) of PLplot is successful.  That test is
formally succeeding, but those PLplot builds are incomplete (with the
cairo device driver dropped) because of incompatibilities with the way
we configure our cairo device driver using internal details of the
CMake pkg-config capability.  Although the use of such internal
details has worked well over many years with few adjustments needed
for changes to those internal details with CMake version, it is again
no longer working with the very latest CMake.  This reflects the
fundamental fragility of any method that uses internal details.
Therefore, to deal with this issue my plan is to completely rewrite
our support for the cairo device using the official CMake pkg-config
support rather than internal details of that support.  And there are
also a few other topics I would like to squeeze into the next release.
So this makes the ETA of our next PLplot release still somewhat
uncertain, but I am still hoping to get it done this year (before
Christmas season) rather than early next year.


Latest git (a9d9500c) built on Fedora Rawhide:

https://koji.fedoraproject.org/koji/taskinfo?taskID=29771905

Despite the overall failure to build, looks mostly okay, but it appears 
that you don't support lua 5.3:


-- Could NOT find Lua (missing: LUA_INCLUDE_DIR) (Required is exact 
version "5.2")
-- Could NOT find Lua (missing: LUA_INCLUDE_DIR) (Required is exact 
version "5.1")

-- LUA_INCLUDE_DIR =
-- LUA_LIBRARIES = /usr/lib64/liblua.so;/usr/lib64/libm.so
-- WARNING: Lua header and/or library not found. Disabling Lua binding


Hi Orion:

Thanks for that feedback.  Lua5.3 worked here (Debian Testing = Buster)
for all but one example, but that one example exposed a Lua-5.3 bug
(at least for the Debian version of Lua5.3) that was severe
(arithmetic quit working if more than 8 (!) arrays were initialized).
See <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=902238> for a
simple Lua script that triggers this Lua-5.3 bug and other details
about this bug.  I temporarily worked around the problem by using our
build system to blacklist Lua-5.3 until this bug is fixed (i.e.,
in the absence of Lua5.1 or 5.2 our build system should just
cleanly drop the Lua PLplot component and continue).

Please try that simple Lua script to see whether the Fedora version of
Lua-5.3 also has this severe bug.  If you do confirm, then that is
pretty good evidence it is a general Lua-5.3 bug (rather than just
Debian related), and in this case I would be willing to take this
issue to the Lua developers rather than waiting for some response to
my bug report from the Debian packagers.

It appears from
<https://kojipkgs.fedoraproject.org//work/tasks/1906/29771906/build.log>
the blacklisting worked without actual build issues (as expected), but
the actual error you get is because your rpm logic is expecting Lua
files from PLplot that are not there because of the blacklisting.  So
your response to this issue likely depends on whether you can get the
above simple test script to work for Fedora's version of Lua5.3.  If
that test actually works for Fedora, then it appears the Lua5.3 issue
is simply a Debian packaging issue that has nothing to do with Fedora,
and you should edit cmake/modules/lua.cmake to make the slight change
to look first for 5.3, then 5.2, then 5.1.  However, if that test also
fails for you, and you think the upstream Lua5.3 fix is going to take
a while to get fixed, then you should change your rpm logic to drop
all the expected Lua results.

Alan


I replied to the debian bug.  It appears that lua 5.3.5 on Fedora rawhide is 
fine.


See my further traffic there.

In any case I was coming around to the view that our build system
should not blacklist Lua5.3 since the issue I observe is a run-time
issue, i.e., it does not affect builds or generation of a

Re: [Plplot-devel] Plplot now working well with Debian Buster + release timing

2018-09-19 Thread Alan W. Irwin

On 2018-09-19 22:06-0600 Orion Poplawski wrote:


On 09/15/2018 01:49 PM, Alan W. Irwin wrote:

To Orion and Ole:

Commit a730ebe34 has removed the last of the "new software" issues I
have identified with Debian Testing = Buster.

@Orion: I encourage you to try that commit on Fedora to see if you get
similarly good results for all Linux-available components of
PLplot for that other cutting-edge Linux platform.

@Both: You both also might want to experiment with this commit as the
basis for much-improved PLplot packages for Fedora and Debian.
However such packages can only be considered preliminary until PLplot
makes an official release.  What I can say on that topic is commit
a730ebe34 is an important milestone on the trail to the next release,
but we are not there yet.

For example, the CMake test that is automatically produced every night
by my computer for the CMake developers builds and tests the latest
CMake.  One of those tests is the PLplot contract test which tests
whether a build (but not test) of PLplot is successful.  That test is
formally succeeding, but those PLplot builds are incomplete (with the
cairo device driver dropped) because of incompatibilities with the way
we configure our cairo device driver using internal details of the
CMake pkg-config capability.  Although the use of such internal
details has worked well over many years with few adjustments needed
for changes to those internal details with CMake version, it is again
no longer working with the very latest CMake.  This reflects the
fundamental fragility of any method that uses internal details.
Therefore, to deal with this issue my plan is to completely rewrite
our support for the cairo device using the official CMake pkg-config
support rather than internal details of that support.  And there are
also a few other topics I would like to squeeze into the next release.
So this makes the ETA of our next PLplot release still somewhat
uncertain, but I am still hoping to get it done this year (before
Christmas season) rather than early next year.


Latest git (a9d9500c) built on Fedora Rawhide:

https://koji.fedoraproject.org/koji/taskinfo?taskID=29771905

Despite the overall failure to build, looks mostly okay, but it appears that 
you don't support lua 5.3:


-- Could NOT find Lua (missing: LUA_INCLUDE_DIR) (Required is exact version 
"5.2")
-- Could NOT find Lua (missing: LUA_INCLUDE_DIR) (Required is exact version 
"5.1")

-- LUA_INCLUDE_DIR =
-- LUA_LIBRARIES = /usr/lib64/liblua.so;/usr/lib64/libm.so
-- WARNING: Lua header and/or library not found. Disabling Lua binding


Hi Orion:

Thanks for that feedback.  Lua5.3 worked here (Debian Testing = Buster)
for all but one example, but that one example exposed a Lua-5.3 bug
(at least for the Debian version of Lua5.3) that was severe
(arithmetic quit working if more than 8 (!) arrays were initialized).
See <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=902238> for a
simple Lua script that triggers this Lua-5.3 bug and other details
about this bug.  I temporarily worked around the problem by using our
build system to blacklist Lua-5.3 until this bug is fixed (i.e.,
in the absence of Lua5.1 or 5.2 our build system should just
cleanly drop the Lua PLplot component and continue).

Please try that simple Lua script to see whether the Fedora version of
Lua-5.3 also has this severe bug.  If you do confirm, then that is
pretty good evidence it is a general Lua-5.3 bug (rather than just
Debian related), and in this case I would be willing to take this
issue to the Lua developers rather than waiting for some response to
my bug report from the Debian packagers.

It appears from
<https://kojipkgs.fedoraproject.org//work/tasks/1906/29771906/build.log>
the blacklisting worked without actual build issues (as expected), but
the actual error you get is because your rpm logic is expecting Lua
files from PLplot that are not there because of the blacklisting.  So
your response to this issue likely depends on whether you can get the
above simple test script to work for Fedora's version of Lua5.3.  If
that test actually works for Fedora, then it appears the Lua5.3 issue
is simply a Debian packaging issue that has nothing to do with Fedora,
and you should edit cmake/modules/lua.cmake to make the slight change
to look first for 5.3, then 5.2, then 5.1.  However, if that test also
fails for you, and you think the upstream Lua5.3 fix is going to take
a while to get fixed, then you should change your rpm logic to drop
all the expected Lua results.

Alan
__
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net

[Plplot-devel] Plplot now working well with Debian Buster + release timing

2018-09-15 Thread Alan W. Irwin

To Orion and Ole:

Commit a730ebe34 has removed the last of the "new software" issues I
have identified with Debian Testing = Buster.

@Orion: I encourage you to try that commit on Fedora to see if you get
similarly good results for all Linux-available components of
PLplot for that other cutting-edge Linux platform.

@Both: You both also might want to experiment with this commit as the
basis for much-improved PLplot packages for Fedora and Debian.
However such packages can only be considered preliminary until PLplot
makes an official release.  What I can say on that topic is commit
a730ebe34 is an important milestone on the trail to the next release,
but we are not there yet.

For example, the CMake test that is automatically produced every night
by my computer for the CMake developers builds and tests the latest
CMake.  One of those tests is the PLplot contract test which tests
whether a build (but not test) of PLplot is successful.  That test is
formally succeeding, but those PLplot builds are incomplete (with the
cairo device driver dropped) because of incompatibilities with the way
we configure our cairo device driver using internal details of the
CMake pkg-config capability.  Although the use of such internal
details has worked well over many years with few adjustments needed
for changes to those internal details with CMake version, it is again
no longer working with the very latest CMake.  This reflects the
fundamental fragility of any method that uses internal details.
Therefore, to deal with this issue my plan is to completely rewrite
our support for the cairo device using the official CMake pkg-config
support rather than internal details of that support.  And there are
also a few other topics I would like to squeeze into the next release.
So this makes the ETA of our next PLplot release still somewhat
uncertain, but I am still hoping to get it done this year (before
Christmas season) rather than early next year.

Alan
______
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__


___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] Intermittent Ada example build failures are now back again (SOLVED by gnat-8)

2018-09-14 Thread Alan W. Irwin

On 2018-09-14 12:19- Arjen Markus wrote:


Hi Alan,


-Original Message-
From: Alan W. Irwin [mailto:alan.w.irwin1...@gmail.com]
To Jerry and Arjen:

On Sunday (just before commit 7ec926fae) I discovered that my installs of gdc-7
and gnat-7 were probably not good choices because although I had both gcc-7 and
gcc-8 installed, PLplot was being built with gcc-8 rather than gcc-7 on my 
Debian
Buster system.  So in this case at least Debian does not have tight version
consistency requirements between either gdc or gnat and gcc.  And perhaps that 
is
justified since previously I was getting perfect results with the combination 
of gdc-7
and gcc-8.
However, the above parallel build issue with gnat-7 encouraged me to try gnat-8,
and I decided to install gdc-8 as well just to be consistent with gcc-8.
It turns out (see the above commit message for the details) the combination of 
gdc-
8, gnatmake-8, and gcc-8 produces perfect massively
(-j10) parallel build and test results
for a comprehensive set of of configurations and build trees, and for three 
different
CMake versions.

So it seems once again that on Linux at least, parallel builds of our Ada 
bindings
and examples work well, and I advise on other platforms to avoid gnat-7 in all 
cases,
to use parallel builds with caution, and at least for the sake of consistency 
use the
same version of gdc, gnat, and gcc (e.g., gdc-8, gnat-8, and gcc-8).



I just checked the Cygwin set-up: there is at this moment at least no version 8 
available within that environment. I do not know if there are any plans to 
incorporate it, but I will keep an eye out.


Indeed, from <https://cygwin.com/cgi-bin2/package-grep.cgi> a search
for gcc shows that currently the maximum gcc version available is
gcc-7 and similarly gnat-7 is the maximum version of gnat that is
available.  So you might want to try those two (in fact your previous
tests might have already been done with those two), but from my Linux
experience I would not bother with parallel builds with gnat-7.  But
as I recall, Cygwin has other troubles with parallel builds so that might
be a moot constraint.

In contrast to the Cygwin case, <http://repo.msys2.org/mingw/x86_64/>
shows for the MinGW-w64/MSYS2 case that the maximum gcc and gnat
versions are 8.2.0 which is also the versions of those two software
packages I used recently for my successful Debian Buster tests.  So
the next time you test this platform I suggest you try version 8 of
gcc and gnat if you are not doing that already.  And since parallel
builds and tests worked so well for the Linux case you might want to
try those on this platform especially if those have been successful
before.

By the way, it is a bit of a concern for the Cygwin rolling release
that the CMake, gcc, and gnat versions are getting pretty far behind
what is available with MinGW-w64/MSYS2, but, of course, those
packaging delays could all be special cases.  Does the overall health
of the Cygwin project seem fine (e.g., all legitimate questions
answered in a timely way by Cygwin developers, and packaging progress
continuing to be made for a large number of packages) from what you
have been reading on the Cygwin mailing list?

Alan
__________
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__


___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] Intermittent Ada example build failures are now back again (SOLVED by gnat-8)

2018-09-13 Thread Alan W. Irwin

On 2018-07-16 10:10-0700 Alan W. Irwin wrote:


On 2018-06-09 13:30-0700 Alan W. Irwin wrote:


On 2018-04-15 11:15-0700 Alan W. Irwin wrote:


Hi Jerry:

[...]

So once this Ada build issue appeared again for me yesterday after all
those previous successful hardware checks, I did a google search for
the terms (without the quotes) "gnatmake intermittent build error" and
found
<https://gcc.gnu.org/bugzilla/show_bug.cgi?format=multiple&id=65451>
which was a bug report in 2015 about intermittent Ada build issues
which was immediately fixed back then.  However, my gnat version (=
4.9.2) is from 2014 so I don't have that bugfix and I am pretty sure
at this stage that bug 65451 is the issue that is causing the
intermittent Ada build issues for me. Therefore, I plan to use the
-DENABLE_ada=OFF option for my further testing until I can get access
to a later version of the Ada build tools myself, and I suggest others
who currently don't have access to Ada build tools with bug 65451
fixed should do the same.


Just to follow up for Debian Buster with gnat-7 (as opposed to gnat-4 that 
I
was using for Debian Jessie) the first test of Ada has been a complete 
success.

See commit 994723471 for the details of the tests I ran.


Hi Jerry:

I just ran into this issue for the first time for my new hardware and
latest Ada/gnat (version 7.3.0) from Debian Buster (sigh).  I was
doing a parallel build (with -j10 for my new system with 8 real
cores), when the following error was encountered:

./plplot_standard.o: file not recognized: File truncated
collect2: error: ld returned 1 exit status
gnatlink-7: error when calling /usr/bin/gcc-7
gnatmake: *** link failed.
examples/ada/CMakeFiles/xstandard30a.dir/build.make:77: recipe for target 
'examples/ada/xstandard30a' failed

make[3]: *** [examples/ada/xstandard30a] Error 4

A google search found
<https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=857831> which
appears to be a similar (or the same bug) for 7.1.  At the time, the
Debian packagers thought they had a fix, but it seems from my
experience either that was not true or else the fix has not been
propagated to 7.3. I have just now privately reported the situation to
Matthias Klose (the author of the bug 857831 report, and they guy who
decided that bug was fixed), and we will see what he says.  But to
work around this problem until it is fixed for Debian Buster, I plan
to use -DENABLE_ada=OFF for my testing.



To Jerry and Arjen:

On Sunday (just before commit 7ec926fae) I discovered that my installs
of gdc-7 and gnat-7 were probably not good choices because although I
had both gcc-7 and gcc-8 installed, PLplot was being built with gcc-8
rather than gcc-7 on my Debian Buster system.  So in this case at
least Debian does not have tight version consistency requirements
between either gdc or gnat and gcc.  And perhaps that is justified
since previously I was
getting perfect results with the combination of gdc-7 and gcc-8.
However, the above parallel build issue with gnat-7 encouraged me to try 
gnat-8, and
I decided to install gdc-8 as well just to be consistent with gcc-8.
It turns out (see the above commit message for the details) the
combination of gdc-8, gnatmake-8, and gcc-8 produces perfect massively
(-j10) parallel build and test results
for a comprehensive set of of configurations and build trees, and for
three different CMake versions.

So it seems once again that on Linux at least, parallel builds of our
Ada bindings and examples work well, and I advise on other platforms
to avoid gnat-7 in all cases, to use parallel builds with caution, and
at least for the sake of consistency use the same version of gdc,
gnat, and gcc (e.g., gdc-8, gnat-8, and gcc-8).

Alan
__
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__


___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


[Plplot-devel] Recent bump of CMake minimum version

2018-09-09 Thread Alan W. Irwin

Hi Arjen:

For your information I have recently obtained perfect (no configure,
build, or install issues, and perfect PostScript difference reports)
comprehensive test results for the noninteractive case for CMake
versions 3.7.2, 3.11.0, and 3.12.2.  I have also bumped the CMake
minimum version from 3.6.2 for all platforms to 3.7.2 for the Linux
platform and 3.11.0 for all other platforms.  The principal positive
impact of this change is to reduce our exposure to bugs which occur in
older CMake versions (especially for non-Linux platforms).  But for
Cygwin users like you, the negative impact of this change is that you
will have to build your own CMake with version >= 3.11.0 before you
can build PLplot.  I am sorry about that inconvenience for you and
other Cygwin users, but this situation is due to the CMake package on
Cygwin being unmaintained since the date some time ago when CMake
version 3.6.2 was released.  So perhaps the way to resolve this issue
is to volunteer on the Cygwin list to maintain that Cygwin CMake
package yourself?

Alan
__
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__


___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


[Plplot-devel] Installed version of PLplot working again!

2018-08-26 Thread Alan W. Irwin
least December or possibly into
early 2019.  However, if someone here has a strong preference for an
earlier release than that sort of time scale, I would certainly be
willing to consider that possibility by dropping some of the topics
I want to work on before the release.

Alan
__
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] Status of our octave binding and examples for version 4.4.0 of octave

2018-08-13 Thread Alan W. Irwin

On 2018-08-13 08:41- Arjen Markus wrote:


Hi Alan,


However, I hope those comments (such as the possibility mentioned above of
building an octave MinGW-w64/MSYS2 package for yourself using the pacman
packaging information at
<https://github.com/Alexpux/MINGW-packages/tree/master/mingw-w64-octave-hg>)
are still of some use to you.


I have tried to build Octave under MinGW-w64/MSYS2 using that webpage. However:
- I had to remove the references to the patches, as these do not seem to be 
available. No idea what the effect is
- The build failed on a mismatch in the checksums:

$ makepkg -sCLf
==> Making package: mingw-w64-octave-hg r19590.6d75f1683ce8-1 (Sun, Aug 12, 
2018 15:56:07)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
 -> Updating gnulib git repo...
Fetching origin
 -> Found tip.tar.bz2
==> ERROR: Integrity checks (sha256) differ in size from the source array.

This is the point where I stopped. I have no clue as to whether this is a 
serious issue or not.


Let's ignore octave for a bit and look at the more general picture.
If you like the goal (in its own right) of learning to build packages
for the MinGW-w64/MSYS2 platform, then I suggest you follow the
package build documentation examples under the heading "Re-building a
package" at <https://github.com/msys2/msys2/wiki/Creating-packages>.
Can you use those steps to build both their examples (flex and
python3)?  If not, then you should take the problem to the MSYS2
mailing list to get help with that documentation.  But if that general
procedure works for you, then the next obvious step is to help out
with the PLplot packaging at
<https://github.com/Alexpux/MINGW-packages/tree/master/mingw-w64-plplot>
by first building that package as is, fixing it according to your own
experience (e.g., by moving to Python 3, and by enabling qt), and
drawing Alex's attention to your improvements (likely via a pull
request) so they will be made part of the official Plplot package for
this platform.

Moving back to the octave case, I am pretty sure unless that
semi-official package is completely broken, that the same procedures
used to build flex, python3, and PLplot should also work fine for
octave without all the issues you encountered above.  Assuming you can
build that octave package, then the next steps would be to evaluate
the result for our needs, and assuming it does work for those needs
(or can easily be fixed), advocate making it an official package
that the PLplot package depends on.


I guess an alternative could be to simply build Octave and install it without 
pacman, but I have not tried that yet.


I would advise against that since unofficial octave builds are not
going to help our octave users that much on this particular platform
and may turn out to be a black hole sucking up a lot of your time.
Instead, I think it would be better in the long-run to help get an
official octave package running for this platform as I have outlined
above.

Alan
__
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] Status of our octave binding and examples for version 4.4.0 of octave

2018-08-08 Thread Alan W. Irwin

On 2018-08-07 06:37- Arjen Markus wrote:


Hi Alan,

I can confirm clean test results for Octave 4.2.2 on Cygwin - I cannot do the 
same for MinGW-w64/MSYS2 as that does not provide an octave package as far as I 
can tell. There is an Octave pacakge on github 
(https://github.com/Alexpux/MINGW-packages/tree/master/mingw-w64-octave-hg) but 
its status is completely unclear to me. As is how it should be installed 
(pacman does not recognise it)


Hi Arjen:

Thanks for that confirmation on Cygwin.  That is the first time in a
long time (if ever?) that octave has worked on that platform for us
which I regard as a big step forward.

And as far as MinGW-w64/MSYS2 is concerned, my guess is the
information at
<https://github.com/Alexpux/MINGW-packages/tree/master/mingw-w64-octave-hg>
is for a pacman package for octave that has not matured yet so the
package build results are not included in the official pacman packages
for MinGW-w64/MSYS2.  But the small part of that package that we use
for our octave binding build and tests might work well.  So if you
want to follow up further, I suggest you build the pacman package for
octave following the cookbook located at
<https://github.com/msys2/msys2/wiki/Creating-packages>.

As you know, my long-term dream has been to use Wine to help you out
more with both Cygwin and MinGW-w64/MSYS2 testing so recently I looked
into that again.  But currently it does not look good.  For example,
both Cygwin and MinGW-w64/MSYS2 upgraded from Windows XP to Windows
Vista functionality a couple of years back, but according to
discussion at <https://github.com/Alexpux/MSYS2-packages/issues/682>
Wine has a lot of missing Vista functionality that has to be
implemented before either of those two distributions will work on Wine
again.  So until that happens, I am limited to just commenting from
the sidelines concerning those distributions.  However, I hope those
comments (such as the possibility mentioned above of building an
octave MinGW-w64/MSYS2 package for yourself using the pacman packaging
information at
<https://github.com/Alexpux/MINGW-packages/tree/master/mingw-w64-octave-hg>)
are still of some use to you.

Alan
__________
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] Status of our octave binding and examples for version 4.4.0 of octave

2018-08-01 Thread Alan W. Irwin

On 2018-07-31 21:10-0700 Alan W. Irwin wrote:


To Orion and Arjen:

As of
<https://sourceforge.net/p/plplot/plplot/ci/d7310aa9864ce1676177f39323c9daf593ae0765/>
our octave binding and all examples/octave/x??c.m examples give a
perfect PostScript difference report for Octave 4.4.0 for Debian
Buster == Debian Testing.  Please do equivalent checks (i.e., by
simply building the test_noninteractive target in the build tree) for
Cygwin, MinGW-w64/MSYS2, and Fedora to check all is well on platforms
other than Debian Buster.  I emphasize build-tree checks because
install-tree checks currently won't work []


That request for testing help still applies, but I can now report (see
the log for commit 391ec0ad0 for the details) that I have been able to
replace the cellstr-based workaround with an actual fix for the issue
which should work for late octave-3 as well as all versions of
octave-4.

Alan
______
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


[Plplot-devel] Status of our octave binding and examples for version 4.4.0 of octave

2018-07-31 Thread Alan W. Irwin

To Orion and Arjen:

As of
<https://sourceforge.net/p/plplot/plplot/ci/d7310aa9864ce1676177f39323c9daf593ae0765/>
our octave binding and all examples/octave/x??c.m examples give a
perfect PostScript difference report for Octave 4.4.0 for Debian
Buster == Debian Testing.  Please do equivalent checks (i.e., by
simply building the test_noninteractive target in the build tree) for
Cygwin, MinGW-w64/MSYS2, and Fedora to check all is well on platforms
other than Debian Buster.  I emphasize build-tree checks because
install-tree checks currently won't work until I finish another
project that was half-completed when I discovered the octave-4 cell array
workaround described below.

The way I got the previously dropped octave examples 26 and 33 to work
was to use cell arrays at those points in the examples where Octave
non-cell arrays were not working due to an upstream bug in Octave 4.4
for the transformation method used to determine C strings from an
Octave non-cell array of strings.  For a long time I thought the issue
was UTF-8, but I discovered when testing the recent commit that pure
ascii strings could also cause issues.

Since that commit I have discovered (with my hex_print private test
project) the issue is a simple one which is the transformation method
that used to work fine for octave 3.8 no longer works for octave-4.4
*if* there are more than 15 bytes in the character strings in the
non-cell arrays.  (Of course, UTF-8 strings tend to have more bytes
which is why they tend to expose this upstream bug more than ascii
strings, but with hex_print I found in every case whether using the
ascii subset of UTF-8 or more general UTF-8 strings that short strings
worked, but when the number of bytes in the Octave string (excluding the NULL
byte) exceeded 15, the result was an invalid UTF-8 C string.

I have just submitted this issue to the upstream octave developers
(see <https://savannah.gnu.org/bugs/index.php?54415>).  That bug
report is based on the hex_print experience summarized above, and
since that experience proves there is now an explicit length limit of
15 imposed by the octave code, the issue should be easy to find and
fix (I hope).

But meanwhile, the cellstr workaround in the above commit for long
strings avoids this issue so with luck the PLplot testers lurking here
will now get perfect octave-4 results when building the
test_noninteractive target on all platforms of interest to them.

Also note in the subsequent commit 95f823ec0, I have changed our
octave detection method so that octave-4 is no longer a special case
with warnings attached.  Which finally (from the better late than
never department) answers Orion's question about those warnings from
long ago.  :-)

Alan
______
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


[Plplot-devel] rgb colourscale interpolation

2018-07-31 Thread Alan W. Irwin

Hi Phil:

I am moving this discussion to plplot-devel where it belongs.

I think your backwards-incompatible changes [h,l,s ==> c1,c2,c3
changed member names] in the PLControlPt struct are likely a good idea
since h,l,s was a misnomer.  Nevertheless, those changes did cause
important build problems in the Tk-related part of the build which I
have now fixed (commit 94e2e5b01).

Example 12 (which uses RGB interpolation) shows the effect of your
change.  The old code produced
<http://plplot.org/examples-data/demo12/x12.01.png> which shows fairly
discontinous colour results from 1982 to 1986, while the new code
produces much smoother colour changes in that date range.  So from
this evidence I feel your change is a nice win.

I previously said (in response to your question about how you
should edit README.release):


I assume you will want to insert a paragraph concerning

your change in a new section 2.8 of "Improvements relative to the
previous release".  Also, since you changed the semantics of the two
functions (although not their API) for the RGB case you should
probably specifically warn the users of this forthcoming release about
that semantics change by adding a one-sentence new section 1.10 in
"OFFICIAL NOTICES FOR USERS" that refers to your new section 2.8 for
the details.

Since your backwards-incompatible API change to the PLControlPt struct is going
to cause build problems (just like it did in our Tk-related code)
for the minority of our users who actually use that struct
in their code, you should expand that suggested single sentence in 1.10 to
warn users of this specific change to PLControlPt.

I look forward to your commit with the suggested changes in README.release.

Alan
__________
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] Intermittent Ada example build failures are now back again

2018-07-16 Thread Alan W. Irwin

On 2018-06-09 13:30-0700 Alan W. Irwin wrote:


On 2018-04-15 11:15-0700 Alan W. Irwin wrote:


Hi Jerry:

[...]

So once this Ada build issue appeared again for me yesterday after all
those previous successful hardware checks, I did a google search for
the terms (without the quotes) "gnatmake intermittent build error" and
found
<https://gcc.gnu.org/bugzilla/show_bug.cgi?format=multiple&id=65451>
which was a bug report in 2015 about intermittent Ada build issues
which was immediately fixed back then.  However, my gnat version (=
4.9.2) is from 2014 so I don't have that bugfix and I am pretty sure
at this stage that bug 65451 is the issue that is causing the
intermittent Ada build issues for me. Therefore, I plan to use the
-DENABLE_ada=OFF option for my further testing until I can get access
to a later version of the Ada build tools myself, and I suggest others
who currently don't have access to Ada build tools with bug 65451
fixed should do the same.


Just to follow up for Debian Buster with gnat-7 (as opposed to gnat-4 that I
was using for Debian Jessie) the first test of Ada has been a complete 
success.

See commit 994723471 for the details of the tests I ran.


Hi Jerry:

I just ran into this issue for the first time for my new hardware and
latest Ada/gnat (version 7.3.0) from Debian Buster (sigh).  I was
doing a parallel build (with -j10 for my new system with 8 real
cores), when the following error was encountered:

./plplot_standard.o: file not recognized: File truncated
collect2: error: ld returned 1 exit status
gnatlink-7: error when calling /usr/bin/gcc-7
gnatmake: *** link failed.
examples/ada/CMakeFiles/xstandard30a.dir/build.make:77: recipe for target 
'examples/ada/xstandard30a' failed
make[3]: *** [examples/ada/xstandard30a] Error 4

A google search found
<https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=857831> which
appears to be a similar (or the same bug) for 7.1.  At the time, the
Debian packagers thought they had a fix, but it seems from my
experience either that was not true or else the fix has not been
propagated to 7.3. I have just now privately reported the situation to
Matthias Klose (the author of the bug 857831 report, and they guy who
decided that bug was fixed), and we will see what he says.  But to
work around this problem until it is fixed for Debian Buster, I plan
to use -DENABLE_ada=OFF for my testing.

Alan
__
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


[Plplot-devel] Long-standing '\0' issue fixed + development news

2018-07-09 Thread Alan W. Irwin

I am happy to report that with some help from Nils Gladitz on the
CMake list a long-standing PLplot issue where parallel builds of test
targets (e.g., test_noninteractive) had groups of ascii nul ('\0')
characters inserted into the output has now been fixed.  The fix (see
the log message for commit a4bada0048 for more details) was to address
name clashes in the plplot_test test scripts that I had introduced
more than a decade (!) ago in commit 7e39e59f2b.

Other PLplot development news is I have been using my new computer
with Debian Buster installed to solve a number of issues like this
current one that I have been reminded of by my recent
test_noninteractive results in the build tree for the shared libraries
case.  For example, later today I plan to make the final commit in
this series that will solve all valid warning messages that have shown
up with the latest versions (from Debian Buster) of software libraries
that PLplot depends on.  I then plan to follow up by doing the same
thing for ctest, the test_interactive target, and all major
configurations and build trees covered by the comprehensive_test.sh
script.  Then push upstream octave and lua to fix some obvious
upstream regressions I have discovered during these tests to achieve
on the new computer the perfect PostScript difference reports that I
was achieving on my old computer that had (very) old versions of
software libraries installed from Debian Jessie.  And finally, I plan
to go back to the PLplot ToDo list I was pursuing before the advent of
this new computer interrupted everything in a good way.

Alan
______
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] Status of examples/c/extXdrawable_demo.c

2018-06-21 Thread Alan W. Irwin

On 2018-06-22 08:56+0930 Jonathan Woithe wrote:


Hi Alan

On Wed, Jun 20, 2018 at 04:51:04PM -0700, Alan W. Irwin wrote:

As far as I can tell from

git log --follow examples/c/extXdrawable_demo.c

Jonathan Woithe implemented that example a decade ago ...


I did.  The purpose of the example was to show how the external X drawable
device could be used to integrate into toolkits for which there was no
native PLplot device.


This example is really dated because it contains calls to the GTK+ API
that were already deprecated for GTK+ version 2 and non-existent for
GTK+ version 3.  And it is not a good idea to mix this GTK+ version 2
example with a PLplot core library that can depend directly (in the
non-dynamic drivers case) on GTK+ version 3 which has long been the
standard version of GTK+.  So I have effectively disabled the build of
examples/c/extXdrawable_demo.c in my recent commit 9893349d1.


These are all valid points, and disabling the build of the code seems like a
sensible step at this point.  Although it hasn't been mentioned, I would be
reluctant to see the example removed completely though, since it still
serves to show one possible way that the External X Drawable device can be
used.

With that said, it would be good to update it for gtk3.

I would be willing to take a look at this myself, but it might be a few
months before I have the time to do so due to an elevated workload.  I am by
no means an expert on gtk but I might be able to get something functional
happening.

It's also worth noting that there was nothing special about choosing gtk for
this demo.  At the time I was working on an internal company tool which
needed to plot data in a GUI context.  It was a simple program and it ended
up using gtk (Qt wasn't an option at that point for various unrelated
reasons).  Since the demo came out of that work, the demo ended up using
gtk.

Feel free to ping me in about 3 months if you haven't heard from me by then.


Hi Jonathan:

I was glad to see that you are still lurking on the PLplot devel list and also
willing to take a look at updating/replacing this example later on
when you anticipate more free time to work on this topic.


From what you have said, it appears this "external X" method should

transcend individual toolkits.  So any toolkit (e.g., Qt5 or GTK+
version 3) you decide to use in an implementation of a modern
"external X" example would be fine and also feel free to implement
this example in whichever of the C or C++ languages you prefer for the
task.  When the time comes I encourage you to call on me for any
PLplot build/test system help that you might need to integrate your
work into PLplot.

Alan
__
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


[Plplot-devel] Status of examples/c/extXdrawable_demo.c

2018-06-20 Thread Alan W. Irwin

Hi Hazen:

As far as I can tell from

git log --follow examples/c/extXdrawable_demo.c

Jonathan Woithe implemented that example a decade ago, you did
the actual commit, and we have been (minimally) maintaining it
ever since.

This example is really dated because it contains calls to the GTK+ API
that were already deprecated for GTK+ version 2 and non-existent for
GTK+ version 3.  And it is not a good idea to mix this GTK+ version 2
example with a PLplot core library that can depend directly (in the
non-dynamic drivers case) on GTK+ version 3 which has long been the
standard version of GTK+.  So I have effectively disabled the build of
examples/c/extXdrawable_demo.c in my recent commit 9893349d1.

I did take a look at porting this example to GTK+ version 3 following
the precepts in
<https://developer.gnome.org/gtk3/stable/gtk-migrating-2-to-3.html>.
For example, after PLplot was built, I built the example directly
using

cd examples/c
gcc ../../../plplot.git/examples/c/extXdrawable_demo.c -DUSINGDLL 
-I/home/software/plplot/HEAD/plplot.git/include 
-I/home/software/plplot/HEAD/build_dir/include 
-I/home/software/plplot/HEAD/plplot.git/lib/qsastime 
-I/home/software/plplot/HEAD/build_dir/lib/qsastime  -O3 -fvisibility=hidden 
-Wuninitialized $(pkg-config  --cflags --libs gtk+-x11-2.0) ../../src/libplplot.so 
|& less

If you try the -DGTK_DISABLE_SINGLE_INCLUDES flag that is recommended
in the above URL that works, but as soon as you try the additional
recommended -DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED flags a
whole host of issues show up, i.e., porting this example is not going
to be trivial.  Therefore I abandoned that idea for myself, but I
encourage you to take a look at porting this example because I believe
your GTK+ skills/experience are a lot more extensive than mine.

Alan
______
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


[Plplot-devel] PLplot on Debian Buster looking fairly good so far

2018-06-09 Thread Alan W. Irwin

It's a long story involving a new graphics card that I by mistake
bought for my new computer.  That card is only (partially) supported
by the cutting-edge Linux graphics stack so the upshot is I have
decided to run Debian Buster on my (new) principal computer that I use
for PLplot testing.  Buster is a constantly changing rolling release
that stays fairly close (but likely not quite as close as Fedora and
MinGW-w64/MSYS2) to the cutting edge of free software packages.  So
this is a huge change compared to my previous testing environment
(Debian Jessie) which was at least 3 years away from the cutting edge.
So by using this Debian Buster test environment I should be some help
to Orion (Fedora) and Arjen (MinGW-w64/MSYS2) in changing PLplot so it
will work properly with cutting-edge free software.

Commit 994723471 contains the first tranche of fixes that get PLplot
more-or-less working on Debian Buster (including perfect results for
Ada, see my previous post to this list).  See the associated commit
message for all the details of what was changed, what was tested, and
any remaining regressions in the configuration and test results.

I want to get all these regressions fixed before the next PLplot
release so that means it will likely be several more months before I
can even start to plan that release.  So this period continues to be
an excellent opportunity for the rest of the PLplot developers to
pursue the development topics that interest them.

Alan
__
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] Intermittent Ada example build failures are now gone again!

2018-06-09 Thread Alan W. Irwin

On 2018-04-15 11:15-0700 Alan W. Irwin wrote:


Hi Jerry:

[...]

So once this Ada build issue appeared again for me yesterday after all
those previous successful hardware checks, I did a google search for
the terms (without the quotes) "gnatmake intermittent build error" and
found
<https://gcc.gnu.org/bugzilla/show_bug.cgi?format=multiple&id=65451>
which was a bug report in 2015 about intermittent Ada build issues
which was immediately fixed back then.  However, my gnat version (=
4.9.2) is from 2014 so I don't have that bugfix and I am pretty sure
at this stage that bug 65451 is the issue that is causing the
intermittent Ada build issues for me. Therefore, I plan to use the
-DENABLE_ada=OFF option for my further testing until I can get access
to a later version of the Ada build tools myself, and I suggest others
who currently don't have access to Ada build tools with bug 65451
fixed should do the same.


Just to follow up for Debian Buster with gnat-7 (as opposed to gnat-4 that I
was using for Debian Jessie) the first test of Ada has been a complete success.
See commit 994723471 for the details of the tests I ran.

Alan
______
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] Intermittent Ada example build failures are now gone again!

2018-04-15 Thread Alan W. Irwin

Hi Jerry:

On 2018-04-10 14:15-0700 list_em...@icloud.com wrote:


Thanks for your work on trying to figure this out. I really have no

idea what the problem could be. I’ve never had a problem with gnatmake
but you recall a problem from the past that pretty much escapes me by
now.

I was referring to your attempts to get the test_ada project to work
on Mac OS X.  I have forgotten the details, but as I recall you never
had complete success with that test.  But on the other hand, the issue
you discovered was consistent and that was also true for the issue
that Arjen discovered for Cygwin.  Therefore, it is likely the issues
you guys discovered on two different platforms don't have anything in
common with the issue I am dealing with.

[...]

I don’t know if you will find this useful, but on

https://docs.adacore.com/gnat_ugn-docs/html/gnat_ugn/gnat_ugn/building_executable_programs_with_gnat.html

at the end of "4.1. Building with gnatmake" appears this:

"Note that for advanced forms of project structure, we recommend

creating a project file as explained in the GNAT_Project_Manager
chapter in the GPRbuild User’s Guide, and using the gprbuild tool
which supports building with project files and works similarly to
gnatmake.”

[...]
Thanks for pointing out the gprbuild possibility.  From my further
reading in
<https://docs.adacore.com/gprbuild-docs/html/gprbuild_ug/building_with_gprbuild.html>
it appears gprbuild is designed to handle more project complexity than
gnatmake, but it is not of sufficient generality to implement complete
build systems like is possible with CMake.  Furthermore, it appears
that gprbuild does not use gnatmake but provides the same
functionality at the build level, i.e., it uses the same building
blocks (gcc to compile, gnatbind to bind, and gnatlink to link) that
gnatmake does.  Note it is the gnatlink step where the intermittent
errors occur for me.  So it is useful to know about the gprbuild
possibility, but since CMake has everything covered at the build
system level (i.e., does not need to use gprbuild) and gnatmake has
everything covered at the detailed (gcc, gnatbind, and gnatlink)
building block level I plan to stick with that combination.

Here is some recent news about these intermittent Ada build errors.

They disappeared for me for several comprehensive tests after a reboot
3 days ago, but yesterday they came back again!  That is, I built the
test_diff_psc target by hand from scratch and it failed due to Ada.
Then I repeated the exact test again, and it succeeded with perfect
(PostScript) results and no Ada build issues at all! So rebooting the
system may have nothing to do with these errors.

Of course, the possibility always exists that intermittent results are
due to hardware issues, and the gnat building process may be
particularly sensitive to such hardware issues.  So after the first
encounter with these intermittent Ada build failures, I did some
detailed comparisions of rsync results using the --checksum option
(which checked that 4 trillion bits on two rsynced disks were the
same), RAM tests, disk filesystem checks, and git filesystem checks to
see if any hardware issue shows up via such detailed checks, but none
did.  So those results pretty much restored my confidence that my
hardware was fine.

So once this Ada build issue appeared again for me yesterday after all
those previous successful hardware checks, I did a google search for
the terms (without the quotes) "gnatmake intermittent build error" and
found
<https://gcc.gnu.org/bugzilla/show_bug.cgi?format=multiple&id=65451>
which was a bug report in 2015 about intermittent Ada build issues
which was immediately fixed back then.  However, my gnat version (=
4.9.2) is from 2014 so I don't have that bugfix and I am pretty sure
at this stage that bug 65451 is the issue that is causing the
intermittent Ada build issues for me. Therefore, I plan to use the
-DENABLE_ada=OFF option for my further testing until I can get access
to a later version of the Ada build tools myself, and I suggest others
who currently don't have access to Ada build tools with bug 65451
fixed should do the same.

Alan
__
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__

--
Check out the vibrant tech community on one of the world's mos

[Plplot-devel] Intermittent Ada example build failures are now gone again!

2018-04-08 Thread Alan W. Irwin

My last commit message (for commit 0df4e30) contained the following
paragraph concerning intermittent Ada example build failures during
various comprehensive tests that I encountered:

"These checks showed intermittent failures for certain parts
(xtraditional28a, xtraditional33a) of the Ada part of the build with
two separate complaints about various files written by the gnat
compiler.  At this stage I cannot figure out the source of this issue
since it comes and goes and is hard to reproduce.  But at one point I
got through the entire test above without Ada failures, and found an
obvious issue with the static OCaml binding library which I fixed and
which has absolutely nothing to do with Ada.  I then tried the test
above again, which failed for the nondynamic case for the build of one
of the Ada examples.  I then followed up by a specific static build of
the ocaml binding library that exercised the fixed build-system CMake
code for that case, and all was well.  Therefore, I think from these
piecemeal results that all is well with the current commit, but
further testing needs to be done as above once I figure out the source
of the intermittent Ada build errors."

One possibility to explain intermittent failures like this is some
hardware issue.  But after the above result I hammered my box with all
sorts of hardware tests which it passed with flying colours.  Part of
those tests involved a system reboot, and after that the comprehensive
test that previously was failing in different places due to different
Ada example build issues on successive runs completed with perfect
results!  Which is a nice result since it confirms the intrusive
changes I made for commit 0df4e30 are valid.  Furthermore, because the
Ada results were perfect for this comprehensive test after a reboot,
and many prior tests except for the ones used for this particular
commit for a Linux operating system that had been up for a long time,
there is a possibility that the gnatmake issue on Linux is it becomes
unreliable if the Linux platform is up too long.

So those good hardware tests, the good Ada example builds (and all
other builds and tests) that occurred in the comprehensive test
*after* a reboot, and the intermittent failures before the reboot just
for this commit occurring just for Ada example builds argues strongly
these intermittent failures are not due to hardware issues.  So that
leaves some issue with one or all of the components (gnatlink, etc.)
of my system gnatmake Ada build tool or the software stack those
components depend on as the likely culprit for the intermittent Ada
example build failures in this case.  And one possibility is the Linux
kernel itself was beginning to get wonky after many days up, and
gnatmake is peculiarly sensitive to such issues.

Anyhow, if you combine that bad gnatmake experience on Linux with
Arjen's known difficulties with gnatmake on Cygwin and Jerry's known
difficulties with gnatmake on Mac OS X, I get the impression that
gnatmake is pretty unreliable regardless of platform (perhaps through
no fault of its own other than possibly a design that depends on the
underlying operating system working perfectly). Anyhow, the observed
gnatmake unreliability is something to keep in mind going forward for
those of you who run into issues with gnatmake.

Alan
__________
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


[Plplot-devel] Is there some important reason for using the -single-module linker option on modern Mac OS X?

2018-03-22 Thread Alan W. Irwin

To those here with knowledge of Mac OS X linking:

According to <http://www.manpages.info/macosx/ld.1.html> there exists
the following ld options:

"
-single_module 
When building a dynamic library build the library so that it contains 
only one module.


-multi_module
When building a dynamic library build the library so that it contains
one module for each object file linked in. This is the default.
"

We currently use -single_module for linking on this platform
(see CMAKE_USER_MAKE_RULES_OVERRIDE in the top-level CMakeLists.txt
file).

However that override was imposed 12 (!) years ago to address a
linking issue that I suspect no longer exists.  For example, a google
search for the terms  found nothing relevant
beyond the CMake mailing-list discussion I generated about this issue
back then.

So unless I hear from Mac OS X experts here that there is some
important reason for using the -single_module option for linking
dynamic libraries on modern Mac OS X, I plan (on Sunday to give you a
couple of days to respond) to drop this override completely to conform
to how other CMake-based build systems configure linking of dynamic
libraries on Mac OS X.

Alan
__________
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


[Plplot-devel] Namespaced ALIAS library targets which are the first step in planned CMake best-practice upgrades

2018-03-14 Thread Alan W. Irwin

Recently (commit 593c07f) I have introduced namespaced ALIAS library
targets (e.g., the target PLPLOT::plplot created by the

add_library(PLPLOT::plplot ALIAS plplot)

command where plplot is an ordinary library target created previously)
into our build system, and I plan to extend their use to modules
(CMake speak for dll's) as well.  I am also planning to use namespaced
library and module targets for our install-tree build system (by using
the NAMESPACE PLPLOT:: argument of the install(EXPORT ...) command).

N.B. these namespaced versions of the targets associated with our
libraries and dll's are read only (i.e., you cannot change their
properties).  And they do not change the actual names of the
associated library and dll files.  But according to recent help I have
gotten on the CMake mailing list, use of namespaced versions of
targets for libraries and modules are considered to be CMake best
practice because they make it possible to be safer when using the
target_link_libraries command.  For example, consider

target_link_libraries(mycode.c plplot)

versus

target_link_libraries(mycode.c PLPLOT::plplot)

The "plplot" in the former potentially could refer to the plplot
target (if that exists).  But if that target does not exist (because
the user forgot to find the PLplot package which creates that imported
target), then CMake will happily find the plplot system library (if
that exists) and use that instead. Such subtle errors are not possible
for the latter form since CMake recognizes that any item in
target_link_libraries that has a "::" in the name must be a read-only
IMPORT or ALIAS target so if that target does not exist an immediately
obvious CMake error occurs which should be easy to diagnose and fix.

In sum, I consider this commit to be the first in a long series trying
to upgrade our build system (whose implementation style is roughly
consistent with the CMake bad practices that existed a decade ago) to
modern CMake best practices.  For an extremely useful introduction to
those good practices see the simple build-system example and
associated description of it at
<https://pabloariasal.github.io/2018/02/19/its-time-to-do-cmake-right/>.
That article had several examples of bad practice and the
corresponding good practice. So because those bad practices occur
extensively in our build system it appears that article is is going to
be my build-system bible for quite some time to come!

Alan
__
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


[Plplot-devel] -h command-line issue on Cygwin

2018-01-07 Thread Alan W. Irwin

On 2018-01-07 11:03- Arjen Markus wrote:


There is a small issue though with the gfortran compiler under

Cygwin. I do not understand it (*) but here is the output to screen if
I use the -h option:


$ ./x01f -h
pl_parse_dynamic =  T
argv before call to plparseopts(..., PL_PARSE_SKIP)
i =   0, argument = ./x01f
i =   1, argument = -h
/bin/sh: C:\Program: command not found


This does not happen for Intel Fortran - then I get an overview of all the 
options that are available.

(*) From a closer look at the code I think this is due to the fragment:

#ifdef HAVE_POPEN

   FILE *pager = NULL;

   if ( getenv( "PAGER" ) != NULL )

   pager = (FILE *) popen( "$PAGER", "w" );

   if ( pager == NULL )

   pager = (FILE *) popen( "more", "w" );

   if ( pager != NULL )

   outfile = pager;

#endif

It is probably trying to run a pager program like "more" but that does not 
quite work on Cygwin.


Hi Arjen:

Since both x01c and x01f have special command-line parsing, I suggest
the first thing you should do is try other C and Fortran examples
(e.g., x00c or x00f) to see if the -h option works in those less
special cases. My guess is it won't work, i.e., the problem you
discovered with the -h option on Cygwin is a general one for our
standard C and Fortran examples rather than specific to just x01f.

I looked up the popen man page on Linux which states it "opens a
process by creating a pipe, forking, and invoking the shell". So I
assume what the above code fragment does is redirect the normal output
of the -h option from stdout to whatever you have specified as the
PAGER environment variable or the "more" pager as a fallback if you
have not specified PAGER.

So I suspect what has happened on your Cygwin platform is you don't
have any pager installed.  You should be able to fix that by
installing "more" via the "util-linux" package and/or "less" via the
"less" package (while setting your PAGER environment variable to
"less").

Let me know whether one or the other of those two measures fixes the
above -h issue.

By the way, I highly recommend "less" as a much better pager than
"more".  So the developers of "less" used some self-deprecating humor
when they picked the name of their pager.  :-)

Alan
__
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] Command-line parsing improvements for both C and Fortran

2018-01-07 Thread Alan W. Irwin

On 2018-01-07 11:03- Arjen Markus wrote:


I can now confirm that it [running examples/fortran/x01f built with

local change pl_parse_dynamic = .true.] works for both compilers.

Excellent.  Now that you have confirmed the "_dynamic" versions of
plget_arguments and plparseopts work with modern versions of gfortran
and ifort, I will encourage others with access to other Fortran
compilers to try this test as well.

Alan
______
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] Command-line parsing improvements for both C and Fortran

2018-01-05 Thread Alan W. Irwin

On 2018-01-05 08:09- Arjen Markus wrote:


First the C example:

"x01c -dev wingcc" complains that I did not give the value for the -dev option. If I give other 
options like "a b c", I get complaints that these are unknown. If I run "x02c -dev 
wingcc", all works as usual.
$ ./x01c -dev wingcc
Argument missing for -dev option.


Hi Arjen:

I have responded already to your fortran report with a bug fix, but I
respond here also to the above C issue you discovered.

I get a similar error for

examples/c/x01c -dev xwin

but not for the valgrind-clean variant I checked before

examples/c/x01c -dev psc -o test.psc

I have no idea why the former form does not work while the latter form
works perfectly in all regards, but I will definitely look into this
weird difference between these two different parsing results.

Alan
______
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] Command-line parsing improvements for both C and Fortran

2018-01-05 Thread Alan W. Irwin

On 2018-01-05 13:38- Arjen Markus wrote:

[...]


That [extra printouts of locations reached] limits the possibilities

considerably ;). I have narrowed it further to the call of
max_cstring_length, but of course this is merely the location where it
is noted something is wrong, not necessarily the cause.

Hi Arjen:

Your experiments appear to have nailed exactly where the issue was. So
much thanks for that work!  As a direct result of that work I
discovered I had forgotten an essential slice specification in the
call to max_cstring_length which I have now fixed (commit 70ec495).
As a result my strong expectation is your next test of Fortran example
1 for the allocated length and size case will give perfect results for
both modern gfortran and ifort.

By the way, this fix has nothing to do with the gfortran-4.9.2 issue
where the allocate length and size command in plget_arguments_dynamic
(that already works for your modern gfortran and ifort cases)
overflows when doing a simple internal calculation of the amount of
memory needed.  I double-checked with gdb that the length and size are
properly defined for that allocate command.  Therefore my conclusion
must be that gfortran-4.9.2 is just plain broken for such allocate
commands (while your ifort and more modern gfortran are obviously not
broken in this regard).

Alan
__
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] Command-line parsing improvements for both C and Fortran

2018-01-03 Thread Alan W. Irwin

On 2018-01-03 13:28- Arjen Markus wrote:


-Original Message-
From: Alan W. Irwin [mailto:ir...@beluga.phys.uvic.ca]

This commit completes my parsing API changes in bindings/fortran/*.f90 and my
changes to examples/fortran/x01f.f90 to test all of these parsing API's.  I 
would
appreciate your review of my implementation.
Furthermore, I would appreciate you following the parsing testing advice in
README.release section 2.7.2 to discover which parts of this API work for 
gfortran
with version > 4.9.2 (e.g., for your Cygwin and MinGW-w64/MSYS2 platforms) as
well as the ifort compiler you have access to (and possibly the nagfor compiler 
you
have arranged access to in the past).

By the way, I am not sure of the correct terminology for character arrays that 
have
both length and size allocated.  I refer to them above as "dynamic length and 
size",
but I have also seen the term "deferred-length" used for character strings with
allocated length.


Unless I am mistaken the official term is deferred-length.

I have not yet tested this with my compilers, but I have reviewed the 
implementation. I have very few comments about it:

-It is a pity that we cannot disambiguate on the deferred/assumed length alone, but that is 
an issue of the language rules (the type of "assumed-length character string" simply 
encompasses the type of "deferred-length character string". Elaborate workaround might be 
possible, using classes/derived types, but that is not worth the trouble I think).

-If we decide at some point that we need to keep the various implementations, 
then perhaps we could "layer" the versions:

o   The deferred-length variant can call the assumed-length + allocated size 
variant

o   This can in turn call the fixed size variant

It would reduce the amount of code, by a small amount of source lines. But 
again, that may not be worth our while.

I should have time to test the implementation tomorrow. Maybe that will bring 
out more comments ;).


Thanks for your review of the code and your comments above based on
that review.  With regard to the "layering" idea, I would like to keep
the 3 variants completely independent of each other because the
deferred-length + allocated size variant is preferred and the
assumed-length + allocated size and the assumed-length + assumed size
variants are deprecated. Furthermore, I agree the required
disambiguate parameter on the assumed-length + allocated size variant
is a "wart" for that variant, but I don't think we need to be too
concerned about that wart since it is a deprecated variant.

I did look at
<https://www.fortranplus.co.uk/app/download/23704631/fortran_2003_2008_compiler_support.pdf>
and support for "allocatable character length" (what we now
call deferred-length character) is pretty widespread (e.g.,
gfortran-5.2, ifort 17.0, and nagfor 6.1 and above) so I am pretty
sure your tests tomorrow of the modern gfortran and ifort cases
(and presumably your eventual test of nagfor) as well as
my eventual (once I install Debian Stretch with gfortran-6.3.0) 
test of modern gfortran will all go well.


That said, one notable (because they feature PLplot capability)
holdout is Absoft where the box in the above PDF is blank indicating
support for this important Fortran 2003 feature is unknown.  Absoft do
claim they support "essentially all" of Fortran 2003 so that is a good
sign, but a site:www.absoft.com google search showed no mention of
"character(len=:)" or "deferred length" or "allocatable length" so
that is a bad sign.  Anyhow, I plan to reestablish contact with Absoft
(assuming you can demonstrate good test results of the deferred-length
+ allocated size variant for modern gfortran and ifort) and ask them
to do the same test you are doing and temporarily keep or throw away
the deprecated versions of the above API before the release depending
on those results.

Alan
__
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] Command-line parsing improvements for both C and Fortran

2018-01-01 Thread Alan W. Irwin

On 2017-12-27 14:26-0800 Alan W. Irwin wrote:


Hi Arjen:

I have done some further investigation and it appears that even today
allocatable character arrays are problematic to a certain extent for
Fortran compilers. For example, see
<https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80945>. I have no clue
whether that particular modern gfortran bug would affect us.  However,
the existence of such bug reports for a modern version of a Fortran
compiler indicates we should proceed with caution with allocatable
character arrays.

Therefore, once we implement allocatable character array variants of
plget_arguments and plparseopts we should survey the modern versions
of gfortran, ifort, and nagfor to see which of those work well with
that API.  Also we will likely want to retain the the current static
assumed shape character arrays API's for those functions for a while
so that users with access only to older Fortran compilers (e.g.,
gfortran-4.9.2) that are unreliable with the allocatable character
array approach have a plget_arguments and plparseopts API that
they can use.


Hi Arjen:

I have just pushed commit 6f2f4e4 to master which implements dynamic
length and size as well as static length and dynamic size variants of
plget_arguments and plparseopts.  The former does not work with
gfortran-4.9.2, but the latter (as well as the static length and size
variants implemented before) works well.  For more details about how
these tests should be done and results for gfortran-4.9.2, please see
the revised version of README.release section 2.7.2.

This commit completes my parsing API changes in bindings/fortran/*.f90
and my changes to examples/fortran/x01f.f90 to test all of these
parsing API's.  I would appreciate your review of my implementation.
Furthermore, I would appreciate you following the parsing testing
advice in README.release section 2.7.2 to discover which parts of this
API work for gfortran with version > 4.9.2 (e.g., for your Cygwin
and MinGW-w64/MSYS2 platforms) as well as the ifort
compiler you have access to (and possibly the nagfor compiler you have
arranged access to in the past).

By the way, I am not sure of the correct terminology for character
arrays that have both length and size allocated.  I refer to them
above as "dynamic length and size", but I have also seen the
term "deferred-length" used for character strings with allocated
length.

Alan
__
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


[Plplot-devel] qhull import library and corresponding dll missing for MinGW-w64/MSYS2

2017-12-31 Thread Alan W. Irwin

On 2017-12-30 22:10-0800 Greg Jung wrote:


I also found, although it isn't important for me downstream, that my QHULL
installation was not found correctly. I checked where they were to be
found, here is a partial listing of that:


$ cat local/mingw-w64-i686-qhull-git-r157.f0bd8ce-1/files



[...]

Hi Greg:

Thanks for that report of your qhull find troubles on the
MinGW-w64/MSYS platform.  The rest of this is addressed to Arjen (or
anyone else here with interest in the important qhull component of our
plgriddata API on that platform) because I think he is going to
encounter those same troubles soon.

@Arjen:

Your latest latest (2017-08-17) successful test of the mingw64 version
of MinGW-w64/MSYS2 shows the following qhull-related find results:

-- Found QHULL: D:/mingw64-2/mingw64/include 
-- QHULL_INCLUDE_DIRS = D:/mingw64-2/mingw64/include

-- HAS_LIBQHULL_INCLUDE = OFF
-- QHULL_LIBRARIES = D:/mingw64-2/mingw64/lib/libqhull.dll.a
-- QHULL_RPATH =

So all *was* well in that case.

However, it appears there is qhull trouble ahead for you just like
Greg has encountered.  Note that the above import library and
corresponding dll is available for both
<http://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-qhull-git-r113.60d5581-3-any.pkg.tar.xz>
and
<http://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-qhull-git-r151.5bbc756-1-any.pkg.tar.xz>,
but they are not available for the latest version,
<http://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-qhull-git-r157.f0bd8ce-1-any.pkg.tar.xz>.
and the corresponding latest 32-bit version, 
<http://repo.msys2.org/mingw/i686/mingw-w64-i686-qhull-git-r157.f0bd8ce-1-any.pkg.tar.xz>

that Greg used.  So when you update to that latest 64-bit version of
the qhull library for MinGW-w64/MSYS2 I assume you will run into the
same issue that Greg has encountered, and when that occurs you should
follow up with an error report to the MSYS2 list concerning that
missing import library and dll situation for their latest qhull
package.

Alan
__________
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] Command-line parsing improvements for both C and Fortran

2017-12-27 Thread Alan W. Irwin

On 2017-12-27 09:02- Arjen Markus wrote:


I am currently catching up with my e-mail (Christmas is a busy time

...), so this is the first opportunity I have found to respond to your
mails. Sure, I will have a look at this. (I even have a generic
solution for this type of programming problem, but it may not be
better than yours ;) - I respond before having seen it.)

Hi Arjen:

I have done some further investigation and it appears that even today
allocatable character arrays are problematic to a certain extent for
Fortran compilers. For example, see
<https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80945>. I have no clue
whether that particular modern gfortran bug would affect us.  However,
the existence of such bug reports for a modern version of a Fortran
compiler indicates we should proceed with caution with allocatable
character arrays.

Therefore, once we implement allocatable character array variants of
plget_arguments and plparseopts we should survey the modern versions
of gfortran, ifort, and nagfor to see which of those work well with
that API.  Also we will likely want to retain the the current static
assumed shape character arrays API's for those functions for a while
so that users with access only to older Fortran compilers (e.g.,
gfortran-4.9.2) that are unreliable with the allocatable character
array approach have a plget_arguments and plparseopts API that
they can use.

By the way, I am already using this new Fortran parsing feature in one of my
te_gen examples where the command-line has a mixture of PLplot options
and a file name, e.g.,

software@raven> examples/f95/test_asteroids \
-dev psc -o test.psc \
/home/software/time_ephemeris/HEAD/asteroid_ephemerides/ephcom_binary_ast343de430

where that last command-line option (although it could have been
anywhere on the command line) is obviously not relevant to PLplot.
After calling plget_arguments(nargv, argv) to get the nargv and argv
corresponding to that command-line, that example then calls 
plparseopts(nargv, argv, PL_PARSE_SKIP) which parses all the

command-line options that are relevant to PLplot and removes them from
argv.  The result is plparseopts returns nargv = 1 and argv(1) equal
to the asteroid ephemeris filename specified on the command line.  The
example then opens that ephemeris file and uses it to help calculate
the many asteroid results that are plotted by that example.

Alan
______
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


[Plplot-devel] Command-line parsing improvements for both C and Fortran

2017-12-26 Thread Alan W. Irwin

Hi Arjen:

I have just finished (commit 71944db) implementing the C and Fortran
command-line parsing improvements that I first brought up with you
(off-list) just a few days ago. Please see the revised version of
README.release for the details concerning these changes. Since your
modern Fortran experience is more extensive than mine, and I felt
right on the edge of the limit of my own modern Fortran expertise when
implementing this, I would appreciate you reviewing the Fortran part
of this topic, for substance (should it work perfectly in all cases),
standards-compliance (i.e., should it work for nagfor), and overall
style.

On that style point, in the new function c_to_character_array
that appears in bindings/fortran/plplot_small_modules.f90 I implemented

do i_local = 1, length_column_local
character_array(j_local)(i_local:i_local) = string_ptr(i_local)
enddo

to copy from a pointer vector of size length_column_local one-byte
characters to character_array(j_local), an element of a character
array whose length is the same as the string_ptr size. Is there a more
modern Fortran method of implementing the equivalent of this loop with
just one assignment statement or are we stuck with this do-loop style?

One caveat I discussed in README.release with the present
parsing-related additions to the Fortran
API is that API needs to be converted from the present assumed shape
character arrays to allocatable character arrays to simplify the
arguments and reduce the necessary size checking required with the
present static array approach.  But I am holding off from doing that change
because allocatable character arrays are not reliable on my present
Debian Jessie (gfortran-4.9.2) platform.  For example, this simple
test code,

irwin@raven> cat test_allocatable_character_arrays.f
c test of allocatable character arrays
  character(len=100), dimension(10)  :: argv_array 
!  character(len=:), dimension(:), allocatable  :: argv_array 
!  allocate(character(len=100) :: argv_array(10))


  argv_array(5)(1:10) = "hello, world"
  write(*,'(a)') argv_array(5)(1:10)
  end

works fine as is on my platform, i.e. has perfect Valgrind results (0
errors, no leaks are possible). However, if you comment the second
line and uncomment the 3rd and 4th lines to change this from a static
character array test to an allocatable character array test, it
spectacularly fails (outputs gibberish) and valgrind also shows all
sorts of memory management issues.

Would you be willing to build and run both versions of the above test
code on Cygwin (with gfortran-6.4.0) to make sure no obvious problems
occur with that gfortran version? If your tests indicate no such
problems then I would encourage you to try updating the API to the
allocatable version as indicated in README.release, and test that
change as indicated there as well.  But if you don't have time for
that just now, I plan to make the change myself just as soon as I
upgrade to Debian Stretch.  I am assuming here (especially if you get
good results for the above test) that gfortran-6.3.0 that comes with
that platform will have no trouble with the above simple example and
also the allocatable version of the new code.

Merry Christmas to you, your family, and all others interested in
PLplot that are lurking here on this list!

Alan
__________
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] libieee.a is no more

2017-12-13 Thread Alan W. Irwin

On 2017-12-12 17:36-0700 Orion Poplawski wrote:

Sorry I wasn't clear.  The test was failing because of the compile error. 
With the patch the test returns "found" and the build is normal/successful.


Hi Orion:

Thanks for that key clarification.  Based on that good news for gcc
NaN awareness with no special options on i686 hardware, I have made a
slightly more conservative upstream change then your patch (just in
case there is any non-gcc i*86 cases where the -mieee-fp compiler
option builds and is still required for the NaN awareness test to
still work). See
<https://sourceforge.net/p/plplot/plplot/ci/5c628406e9a1c941dbe34d3db056f985e1ec8b08>
for details.  For your pure gcc case, your patch and the git master upstream
version, i.e.,

[...]
  if(CMAKE_SYSTEM_PROCESSOR MATCHES "i[0-9]86" AND NOT CMAKE_C_COMPILER MATCHES 
"gcc")
set(NAN_CFLAGS "${NAN_CFLAGS} -mieee-fp")
  elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "alpha.*")
if(CMAKE_C_COMPILER MATCHES "gcc")
  set(NAN_CFLAGS "${NAN_CFLAGS} -mieee")
else(CMAKE_C_COMPILER MATCHES "gcc")
  set(NAN_CFLAGS "${NAN_CFLAGS} -ieee")
endif(CMAKE_C_COMPILER MATCHES "gcc")
  endif(CMAKE_SYSTEM_PROCESSOR MATCHES "i[0-9]86" AND NOT CMAKE_C_COMPILER MATCHES 
"gcc")
[...]

should give the same result (no -mieee-fp option used for gcc
on i*86).  The git master version should become the basis of a PLplot release
in early 2018.

Thanks once again for your key help with PLplot for the cutting-edge versions of
Linux system software that you get with Fedora.

Alan
__
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] libieee.a is no more

2017-12-12 Thread Alan W. Irwin

On 2017-12-12 15:36-0700 Orion Poplawski wrote:


Apparently glibc is dropping libieee.a in the next release.  In Fedora
Rawhide, -mieee-fp on i686 results in:

/usr/bin/ld: Cannot find -lieee

Dropping -mieee-fp from csiro.cmake fixes it for me.


Hi Orion:

For i686 hardware and your patched case, what is the result of the test?

In other words, does the CMake output say

"Check for NaN awareness in C compiler - found"

or

"Check for NaN awareness in C compiler - not found"

followed by

WARNING: Setting PL_HAVE_QHULL and WITH_CSA to OFF.

?

The latter result is a fairly serious constraint on our plgrid
function for i686 hardware.  So I am hoping for the former result
since that simply means the gcc option -mieee-fp is no longer required
to get this NaN test to work correctly on i686 hardware.

Alan
__________
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


[Plplot-devel] We now have a clean PostScript difference report!

2017-12-11 Thread Alan W. Irwin

On 2017-12-09 11:18-0800 Alan W. Irwin wrote:


I am happy to report I have just solved the long-standing
inconsistency between OCaml example 16 results and the
results from other languages.  See commit 35eafc1 for details.

This breakthrough means that an absolutely perfect PostScript
difference report is finally within our grasp again after ~6 years
without that.  "All" that needs to be done is to implement the color
bar parts of example 33 in OCaml. I will take responsibility for that
implementation.


DONE.  See
<https://sourceforge.net/p/plplot/plplot/ci/a7be76715300e829523be309c64d99b1b28c1bcc/>
and the updated version of README.release for the details.

In sum, we now have a clean PostScript difference report for the first
time in many years (i.e., the standard examples written in all our
supported languages give the same PostScript results for all those
languages), and I am happy I was able to learn enough about our OCaml
binding implementation and the language itself to fix this
long-standing issue.

Alan
__________
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


[Plplot-devel] Long-standing OCaml example 16 inconsistency solved

2017-12-09 Thread Alan W. Irwin

I am happy to report I have just solved the long-standing
inconsistency between OCaml example 16 results and the
results from other languages.  See commit 35eafc1 for details.

This breakthrough means that an absolutely perfect PostScript
difference report is finally within our grasp again after ~6 years
without that.  "All" that needs to be done is to implement the color
bar parts of example 33 in OCaml. I will take responsibility for that
implementation.

Alan
______
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] Patch for OCaml 4.06

2017-11-21 Thread Alan W. Irwin

On 2017-11-20 09:02-0700 Orion Poplawski wrote:


Fedora patch to fix build with OCaml 4.0.6.


Hi Orion:

I assume you meant 4.06.0 (see the list of releases at
<https://ocaml.org/releases/>).

Thanks (!) for your fix for this backwards-incompatible change to
OCaml.  However, I am going to delay applying your fix because it
breaks my build of examples/ocaml/x20.ml for my (Debian Jessie)
ocaml-4.01.0.

The problem (according to
<https://stackoverflow.com/questions/30887196/install-ocaml-bytes-module-on-debian>)
is the Bytes module (used by your patch) was first introduced in OCaml 4.02.0
so it is not avaliable for Debian Jessie.

I have put on my PLplot ToDo list (which I review for each PLplot
release) to upgrade from my current Debian Jessie to Debian Stretch =
Stable, apply your patch, and put in the release notes that we only
support OCaml 4.02.3 (the version available for Debian Stretch) or
higher.  I plan to do that Debian update soon, and if all goes well
with that update your fix should be part of the next release of PLplot
(tentatively scheduled for early 2018).

Best wishes,

Alan
__________
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


[Plplot-devel] The Contracts.PLplot test of CMake has now been implemented and works well for me

2017-11-10 Thread Alan W. Irwin
 CMake, don't hesitate to get in touch with me.

Alan
__
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__

-- Forwarded message --
Date: Thu, 9 Nov 2017 21:40:36 -0800 (PST)
From: Alan W. Irwin 
To: Brad King , Ben Boeckel ,
cmake-develop...@cmake.org
Subject: Re: [cmake-developers] PLplot contract test

On 2017-11-08 18:00-0800 Alan W. Irwin wrote:

[...]

Changing topics back to the Nightly case where the job is started in a
crontab environment rather than on the normal desktop command line as
above, further research indicates it is possible to set DISPLAY for
such environments (assuming that DISPLAY exists at the time the
crontab job fires as is typical for my case).  So I am going to try
that to see if that change plus the above setting of XAUTHORITY solves
the Nightly issue as well.


Thanks to that crontab change to define the DISPLAY environment
variable, all is now well with the Nightly case, see
<https://open.cdash.org/testDetails.php?test=598968882&build=5135648>.

So that appears to be the end of the configuration issues with the
Contracts.PLplot test, and my thanks to Brad for implementing this
test in the first place, and both Brad and Ben for some key help with
my configuration of this test.

So for others here that might be interested, Contracts.PLplot tests a
build of the stage/master/nightly/latest branch of CMake by using
ExternalProject_Add to git checkout a specified version of PLplot and to 
configure, build, and install that version with user control of the

PLplot version selected for the test and the CMake options used to
build PLplot.  So this test is good from the PLplot perspective
because it makes it more difficult for some new CMake development to
cause PLplot developers problems without us knowing it long in advance
of CMake releases.  And it is also good from the CMake testing
perspective since it is a test that exercises a lot of different CMake
functionality in a realistic way (i.e., as used in a rather complex
build system, warts and all).  Additional notes are (1) because of the
relatively small size of the PLplot project (despite its build-system
complexity) this test adds less than ~30 per cent to the overall cost
of building and testing CMake, and (2) this test should work on
essentially all platforms (the build of PLplot is known to work on at
least Linux, Mac OS X, Cygwin, MinGW-w64/MSYS2, and MSVC). So if
anyone else is interested in trying this test on their favorite
platform(s), feel free to contact me for help with configuring it and
overcoming any PLplot build failures in the unlikely event of you
encountering those.

Alan
__
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__
--

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ


Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:


CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html


Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake-developers

my_dashboard.cmake.gz
Description: compressed dashboard script which configures the Contracts.PLplot test of CMake
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] Possible fix for the test_ada project on Cygwin (NO LONGER RELEVANT)

2017-11-08 Thread Alan W. Irwin

On 2017-11-08 07:49- Arjen Markus wrote:


Hi Alan,




-Original Message-
From: Alan W. Irwin [mailto:ir...@beluga.phys.uvic.ca]
Sent: Tuesday, November 07, 2017 11:20 PM

Hi Arjen:

To clean up some preliminary stuff, please don't set GNAT_LIB unless absolutely
necessary.  Specifying that variable is a workaround that bypasses all testing 
of the
find_library command (see
<https://cmake.org/cmake/help/v3.10/command/find_library.html> for why that is 
so.


Oh, that was a stupid mistake - too many little tasks clogging my head and thus I simply 
followed the advice from the error message: an unaided 
"comprehensive_test_ada.sh" does not find the Gnat library.




With CMAKE_LIBRARY_PATH set to the right directory the test does

succeed but fails in the same way as before. So the CMake build script
finds the proper library, but there is something going on with the
library itself.

I agree with that general conclusion based on what I see in your report
tarball for this shared case.  But I would add that the fundamental
run time error you are seeing is

raised PROGRAM_ERROR : EXCEPTION_ACCESS_VIOLATION

for the hello.exe that is built from the installed example source
code.  And for me any error message that mentions "access violation"
in any way likely means there is a memory management issue.  So I
think the most obvious next step is to run a memory management
analysis tool like valgrind (although not that exact tool since it
apparently does not work on Windows platforms) on the hello.exe
executables that are built in the build tree and the install tree.


I have attached two tarballs: one with only the CMAKE_LIBRARY_PATH

set and one excluding the shared build, leaving the static case. This
fails on account of duplicate symbols again.

I also looked at that additional report tarball, and the build system has done
everything in the static case that I thought it should do, i.e.,
always link with import form of the gnat library regardless of whether
the test_ada Ada library is built as a shared library (which builds
without issues from your other report tarball) or as a static library
(this case which you have just showed obviously does not build correctly).  So
please follow up by using GNAT_LIB in this emergency situation for the
static case to specify libgnat.a, and let me know those results
to help guide me toward the correct find_library configuration
for the normal case where CMAKE_LIBRARY_PATH is specified on Cygwin.


No time right now to look into your other suggestions.


I promise to be patient.  And in any case I think we are headed toward
preparing a bug report for the Ada components of the gcc toolchain on
Cygwin.  So patience is needed in any case because that bug (once we
isolate it for the simplest case possible and prepare the bug report)
is likely going to take some time for the Cygwin gcc package
maintainers or possibly even the upstream Ada compiler developers to
fix.

Nevertheless, even though I think we are likely stuck in a long
process, I would like to continue moving forward with that process
without too many inefficient long gaps.  So the next chance you have
to work on PLplot I would appreciate it if you followed up with this
issue in the two ways I have suggested above.

Alan
______
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] Possible fix for the test_ada project on Cygwin (NO LONGER RELEVANT)

2017-11-07 Thread Alan W. Irwin
 valgrind shared/noninteractive/install_build_tree/ada/hello
==26390== Memcheck, a memory error detector
==26390== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==26390== Using Valgrind-3.10.0 and LibVEX; rerun with -h for copyright info
==26390== Command: shared/noninteractive/install_build_tree/ada/hello
==26390== 
==26390== 
==26390== HEAP SUMMARY:

==26390== in use at exit: 0 bytes in 0 blocks
==26390==   total heap usage: 4 allocs, 4 frees, 740 bytes allocated
==26390== 
==26390== All heap blocks were freed -- no leaks are possible
==26390== 
==26390== For counts of detected and suppressed errors, rerun with: -v

==26390== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)

As you can see, there are perfect memory management results on Linux
for both these cases.

Therefore, since test_ada is so simple, I am beginning to lean toward
an explanation that there is something fundamentally wrong with the
Ada component of the gcc tool chain on Cygwin.  To test that
hypothesis further is there an equivalent to valgrind (see
<https://stackoverflow.com/questions/413477/is-there-a-good-valgrind-substitute-for-windows>
for some ideas) that you could run?  And if you do find a memory
management issue on Cygwin that way, could you also try the same tool
on the simplest shared gnatmake example I asked you to build the other
day?  That would be the first step in preparing a bug report to the
Cygwin mailing list concerning the Ada component of the gcc tool chain
based not on test_ada but on that even simpler shared gnatmake
example.

Alan

__
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] Possible fix for the test_ada project on Cygwin (NO LONGER RELEVANT)

2017-11-07 Thread Alan W. Irwin

On 2017-11-07 08:34- Arjen Markus wrote:


Hi Alan,




-Original Message-
From: Alan W. Irwin [mailto:ir...@beluga.phys.uvic.ca]
Sent: Friday, November 03, 2017 8:37 PM
When you get a chance please commit this change on a local topic branch using
"git am" and try it out on Cygwin using

cmake/test_ada/scripts/comprehensive_test.sh


I applied the patch and got some encouraging results:

- With -DCMAKE_LIBRARY_PATH=/path/to/ada-libraries I go the same errors as 
before




- With -DGNAT_LIB=/path/and/name/of/import-library I got - finally -

working Ada examples. Both the standard and traditional versions work
fine.

It appears from your last comment that you have been testing the plplot
project.  Those do sound like promising results, but they are premature.

The present patch was limited to just the test_ada project. So to test
that patch you need to follow my test instructions above. Likely you
will have to set CMAKE_LIBRARY_PATH to the location of the import
library to get that comprehensive test (of test_ada) to work.

Once you have complete success with the test_ada project, than
I will want to make a similar change to the PLplot project, but
I haven't done that yet.

Alan
______
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] Possible fix for the test_ada project on Cygwin (NO LONGER RELEVANT)

2017-11-03 Thread Alan W. Irwin

On 2017-11-03 11:52- Arjen Markus wrote:


Yes, I saw it [new Ada packaging for Cygwin] and I have updated my

installation.

Good.


I see the import library now, but my very preliminary

tests (test_ada and a simple build) have failed so far:


- test_ada does not produce an executable - see the tarball (sorry,

output to the screen is missing, but there was nothing much to see
anyway).


- a simple build finds the static library and then the duplicate

symbols problem is back.


I guess PLplot needs to be told to use the import library before

trying the static one. I have not had time yet to do the manual steps
that you suggest.

On Linux I have tried the experiment of forcing the shared
or static versions of gnat lib as follows:

-DGNAT_LIB=/usr/lib/gcc/x86_64-linux-gnu/4.9/adalib/libgnat.so

or

-DGNAT_LIB=/usr/lib/gcc/x86_64-linux-gnu/4.9/adalib/libgnat.a

The shared version (equivalent to the import library version for
you) works both with -DBUILD_SHARED_LIBS=ON or OFF.  (N.B.
-DBUILD_SHARED_LIBS affects only how our Ada library is built
and does not affect how that library and our 
Ada executables are linked to external libraries such as gnat.)


The static version of the gnat library only works for the
-DBUILD_SHARED_LIB=OFF case. (The Linux issue for the
-DBUILD_SHARED_LIB=ON case is libgnat.a was built without the -fPIC
flag, but I presume there are similar compilation flag issues when
attempting to use libgnat.a for -DBUILD_SHARED_LIB=ON on Cygwin that
cause the duplicate symbols issue you see there.)

So I agree with you we should likely be fine if we always find the shared 
version of the gnat
library on Linux and the import version of the gnat library on Cygwin (and
other Windows platforms).

That happens automatically (if not forcing like above) in the Linux
case since CMake always prefers to find the shared version of
libraries if given a choice with the same basename ("gnat" above with
no version number).  So that is why comprehensive testing of test_ada
has "just worked" on that platform.

But Windows has no standard naming conventions
for libraries so you have to identify independently what filename
corresponds to the import library (in the Cygwin case that filename is
libgnat-6.dll.a, but who knows, for example, what it might be for
MinGW-w64/MSYS2 or some arbitrary build of the gnu tool chain on
Windows) so we have to be quite specific for what library name we want
to find in the Windows case in order to guarantee we have the import
form of the gnat library.

The attached commit makes this change for the Cygwin case (and fills
in something generic for the non-Cygwin Windows case which will likely
need to be corrected in the future for the MinGW-w64/MSYS2 case).

When you get a chance please commit this change on a local topic branch using "git 
am" and
try it out on Cygwin using

cmake/test_ada/scripts/comprehensive_test.sh

Alan
______
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__

0001-test_ada-build-system-Find-the-non-static-version-of.patch.gz
Description: test_ada build system: Find the non-static version of the gnat library on Cygwin
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] Possible fix for the test_ada project on Cygwin (NO LONGER RELEVANT)

2017-11-02 Thread Alan W. Irwin

On 2017-10-30 11:33-0700 Alan W. Irwin wrote:


Hi Arjen (returning this discussion to the plplot-devel list):

Thanks for sending me (off list) the output from the

gnatmake -v hello.adb -cargs -fPIC -bargs -shared -largs -v -shared

gnatmake -v hello.adb -bargs -static -largs -v -static

commands on Cygwin.  Based on that information I have come up with the
attached local commit (prepared with "git format-patch") to workaround
(just for the test_ada project for now) the Cygwin Ada packaging issue
revealed by the first of the above commands.

Could you let me know if that commit works for you,
i.e., once it is locally applied with "git am" does

cmake/test_ada/scripts/comprehensive_test.sh

finally work for you on Cygwin?  Also, win or lose, I would like to
see the report tarball from this test.


Hi Arjen:

As you are probably aware, thanks to the efforts of Marco to bring
this Ada packaging issue to the Cygwin mailing list and Jon
to implement the packaging fix, my workaround patch
is no longer relevant.  See
<https://cygwin.com/ml/cygwin-announce/2017-11/msg7.html> where
the latest version of the gcc collection of compilers now properly
includes the gnat import library.  I followed up with a gnat-6.dll
search on <http://cygwin.com/cgi-bin2/package-grep.cgi> and the
gcc-ada-6.4.0-2 package includes

2017-10-31 04:09 9473456 
/usr/lib/gcc/x86_64-pc-cygwin/6.4.0/adalib/libgnat-6.dll.a
2017-10-31 04:0916423982 
/usr/lib/gcc/x86_64-pc-cygwin/6.4.0/adalib/libgnat.a

and the libgnat6-6.4.0-2 package includes

2017-10-31 04:11 2984467 /usr/bin/cyggnat-6.dll

Note how the import library form is much larger than the dll form and
therefore completely distinct from it (as expected).

So the next chance you have to work on PLplot, please upgrade your
Cygwin installation to this latest (6.4.0-2) gcc collection of
compilers, and confirm the following tests now work (note the change
from the above for the shared one which is a simpler and better form
of the test):

# Create the simple Ada test code (if you have not done so before)
cat > hello.adb
with Ada.Text_IO; use Ada.Text_IO;
procedure Hello is
begin
   Put_Line ("Hello WORLD!");
end Hello;

# shared case
# remove results of all previous build attempts (if any)
rm -f hello hello.ali hello.o
gnatmake -v hello.adb -bargs -shared -largs -v
# test shared case
./hello

# static case
# remove results of all previous build attempts (if any)
rm -f hello hello.ali hello.o
gnatmake -v hello.adb -bargs -static -largs -v
# test static case
./hello

I find these tests work here (Debian Jessie with gcc 4.9.2) without
issues, and I urge anyone here who wants to test their Ada and gnat
installation to try these simple tests first.

Assuming the above simple gnatmake tests work on Cygwin for the
6.4.0-2 case, please follow up by running
cmake/test_ada/scripts/comprehensive_test.sh for our current master
branch without my patch (i.e., nothing locally changed in
cmake/test_ada).

I am pretty sure the net result when linking the test_ada library will
be the import form of the gnat library will be found and linked in the
shared case and the static form of the gnat library will be found and
linked in the static case, and the test will "just work".  However, if
your report tarball shows any remaining issues for the test_ada
comprehensive test, I will fix them.

Alan
__
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


[Plplot-devel] Possible fix for the test_ada project on Cygwin

2017-10-30 Thread Alan W. Irwin

Hi Arjen (returning this discussion to the plplot-devel list):

Thanks for sending me (off list) the output from the

gnatmake -v hello.adb -cargs -fPIC -bargs -shared -largs -v -shared

gnatmake -v hello.adb -bargs -static -largs -v -static

commands on Cygwin.  Based on that information I have come up with the
attached local commit (prepared with "git format-patch") to workaround
(just for the test_ada project for now) the Cygwin Ada packaging issue
revealed by the first of the above commands.

Could you let me know if that commit works for you,
i.e., once it is locally applied with "git am" does

cmake/test_ada/scripts/comprehensive_test.sh

finally work for you on Cygwin?  Also, win or lose, I would like to
see the report tarball from this test.

Alan
__________
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__

0001-test_ada-build-system-Work-around-Cygwin-packaging-i.patch.gz
Description: Possible fix for test_ada on Cygwin
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


[Plplot-devel] CMake-3.10.0-rc2 yields good comprehensive test results for PLplot

2017-10-12 Thread Alan W. Irwin

I just completed a comprehensive test of PLplot on Linux (Debian
Jessie) using a cmake version that I built myself from the
CMake-3.10.0-rc2 source code using the bootstrap method.  The result
was a complete success for the three different PLplot build systems
(CMake-based build systems for the core build and installed examples,
and a CMake-configured traditional [Makefile + pkg-config] build
system for the installed examples) and the 3 major PLplot build
configurations (shared libraries/dynamic devices, shared
libaries/nondynamic devices, and static libraries/nondynamic devices).
So from the PLplot perspective, CMake-3.10.x is looking quite
promising. For further details of this comprehensive test, see the
"Tested by" stanza of the git log for PLplot commit 6906798
<https://sourceforge.net/p/plplot/plplot/ci/69067983c65013058cfbe4cf047f0817f1933d37/>).

Alan
__________
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] [plplot:bugs] #189 Using WIN32 Macro instead of _WIN32 (NOW FIXED)

2017-10-10 Thread Alan W. Irwin

On 2017-10-10 06:52-0400 Jim Dishaw wrote:

[]

I read the MSDN Documentation as well as the Intel, MinGW, and GNU compiler 
documentation.

The WIN32 should not be used and appears to be an older convention   The MSDN 
and Intel documentation define _WIN32 and _WIN64. MinGW appears to be following 
MSDN, which makes sense.

Moving away from WIN32 will break builds on older platforms that we no longer 
support, but I don’t think that is a problem.

I would stay away from __WIN32__ as that is not in the MSDN documentation.


To Arjen and Jim:

@Arjen:

Thanks for running that quick check (in a different post than the
above) on Cygwin which gave the expected result, but it is always good
to be sure.

@Jim:

Thanks very much for that clear advice above. I agree with you the
proposed change (to move strictly to _WIN32) will break builds for
older versions of compilers that we don't support in any case.  But
with modern versions of Intel, MSVC, gcc, and clang compilers all
providing the _WIN32 macro for their pure native Windows builds, I
would frankly be amazed if modern versions of much less popular
compilers (e.g., Borland and Watcom) did not provide that macro as
well.  So I have decided to go ahead with this proposed change.

@Those here with access to Windows:

Accordingly I have now replaced use of the WIN32 and __WIN32__ macros
with the _WIN32 macro throughout our C and C++ source code (commit
14ecc4b).  This is an intrusive change so I would appreciate tests of
it on all Windows compilers and Windows platforms (e.g., MSVC, Cygwin,
and MinGW-w64/MSYS2) accessible to you.

Alan
__
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] [plplot:bugs] #189 Using WIN32 Macro instead of _WIN32

2017-10-10 Thread Alan W. Irwin

Hi Arjen:

I agree its a dated table.  So, for example, it is possible
MinGW-w64 later severely changed course from the documentation
of the classical MinGW in this table.  However, if we changed
to _WIN32, and MinGW-w64 did not #define that
then your comprehensive test of MinGW-w64/MSYS2
would show problems immediately.  But I don't think
that is going to happen (i.e., I don't believe MinGW-w64
took a different course than MinGW in what WIN32-related
macros they #define).

More below.
On 2017-10-10 07:20- Arjen Markus wrote:


Hi Alan,



I have had a look at the two discussions Alaric and you mention, and

I agree that the best choice seems to be _WIN32 to indicate the
Windows platform. I hesitate, however, to be absolutely sure, on the
following grounds:


- The tip on detecting the operating systems mentions that there is

no 64-bits Cygwin system, but that was the case back in 2012. I have
been using Cygwin 64-bits for a couple of years now.


- There is also mention of Cygwin in a POSIX and in a non-POSIX

variant. I have no clue as to how to determine which one I am working
with or how to specify that at install time.

My understanding is non-POSIX Cygwin is a thing of the past, i.e., you have the 
POSIX
version where no variant of WIN32 is #defined.  But to be absolutely
sure on this point, write a simple programme which includes the
following:

#if defined(WIN32) || defined(_WIN32) || defined (__WIN32__)
#error Cygwin defines at least one of the variants of the WIN32 macro
#endif


- Also the table "Windows, Cygwin (non-POSIX), and MinGW" has

columns for the "Windows target" and the "MinGW target". It is unclear
to me what they mean by that.

I think the following note for the table explains it:

"Based on command-line options, the Clang/LLVM and GCC compilers can
build Windows applications or POSIX applications that run under
Windows using POSIX compatibility libraries."

I am virtually positive they are referring to the same distinction
used on MinGW-w64/MSYS2 between 
the "mingw" and "msys" repositories where the

first is native Windows while the second requires POSIX
compatibility libraries (the MSYS2 dll) in order to run under Windows.

In contrast, for modern Cygwin you build applications and libraries
that require the cygwin.dll compatibility library in order to run on
Windows.


- Furthermore: is "MinGW" the old-style MinGW or the new one,

MinGW-w64/MSYS2? From the date of the post, I would say the former.

I agree.  But see my initial note above.


All that does not mean that we should not consistently use _WIN32,

but perhaps some care is to be taken. The page
https://msdn.microsoft.com/en-us/library/b0084kay.aspx indicates that
Visual C++ does define _WIN32 for both the 32-bits and 64-bits
platforms. On the other hand, this page from the GNU C compiler
documentation says that macros whose name starts with two (!)
underscores are to be considered reserved and does not mention the
one-underscore macros as being special (only historical):
https://gcc.gnu.org/onlinedocs/gcc-3.2/cpp/System-specific-Predefined-Macros.html#System-specific%20Predefined%20Macros.

Nevertheless, everything I have read indicates non-Cygwin gcc on Windows does
#define _WIN32.


I guess that only adds to the confusion :(.


Well, if we make a mistake here, it is easily rectified (assuming
testing on all 3 of your platforms).

As you can likely tell, I feel we should probably just go ahead
with this change, and just make sure it is well tested.  But before
doing that I will wait to see your response to my comments
above (as well as your results from the simple Cygwin test
I proposed above).

Alan

__
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


[Plplot-devel] [plplot:bugs] #189 Using WIN32 Macro instead of _WIN32

2017-10-09 Thread Alan W. Irwin

Hi Arjen:

I am addressing you because you are our primary Windows platform
expert, but I would be happy to hear from others here as well
(including Alaric) with some knowledge of that platform.

What would be your advice concerning replacing our use of the WIN32
and __WIN32__ macros in our source code?

Basically, Alaric (see his bug report below) has found a platform where the 
_WIN32 macro is #defined
but not WIN32, and the stackoverflow discussion he referenced appears to
say the two macros ordinarily have the same meaning but the underscored
one is a bit safer to use because there is a convention it should not be
changed by anyone other than the compiler vendor.

Note, however, that Alaric's bug report does not cover the entire
problem in our code because we also make use of the __WIN32__ macro.
Another stackoverflow discussion concerning that macro referenced
<https://web.archive.org/web/20140625123925/http://nadeausoftware.com/articles/2012/01/c_c_tip_how_use_compiler_predefined_macros_detect_operating_system>.

My conclusion from reading the "Windows, Cygwin (non-POSIX), and
MinGW" section of that article is the safest course for supporting all
Windows compilers is for us to replace all use of the WIN32 and
__WIN32__ macros in our C and C++ code with use of the _WIN32 macro
instead.  Do you agree?

If so, I would be willing to take responsibility for
the actual code change since Linux has excellent facilities (find and
sed) for automatic mass-editing of code.

Alan
__________
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__

-- Forwarded message --
Date: Mon, 09 Oct 2017 15:52:10 +
From: Alaric Senat 
Reply-To: Ticket 189 <1...@bugs.plplot.p.re.sf.net>
To: Ticket 189 <1...@bugs.plplot.p.re.sf.net>
Subject: [plplot:bugs] #189 Using WIN32 Macro instead of _WIN32




---

** [bugs:#189] Using WIN32 Macro instead of _WIN32**

**Status:** open
**Group:**
**Created:** Mon Oct 09, 2017 03:52 PM UTC by Alaric Senat
**Last Updated:** Mon Oct 09, 2017 03:52 PM UTC
**Owner:** nobody


Hello,

This ticket is just about a little detail and its not exactly a bug.
Me and my team are cross-compiling for windows, and we noticed that you are 
often using the WIN32 macro in your source files to check the current 
compilator platform.
We needed to switch these macros to \_WIN32 because in our case, we are 
compiling with the *-std=c++14* flag and is disable WIN32 cause it's not in the 
standard.
To my mind, It would be a bit safer if those WIN32 were switched to \_WIN32 in 
a further version of PlPlot!

Here is a nice topic on that point : 
https://stackoverflow.com/questions/662084/whats-the-difference-between-the-win32-and-win32-defines-in-c/662543#662543

Regards,
Alaric Senat


---

Sent from sourceforge.net because you indicated interest in 
<https://sourceforge.net/p/plplot/bugs/189/>



To unsubscribe from further messages, please visit 
<https://sourceforge.net/auth/subscriptions/>

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] Issues with locate mode for the non-IPC3 case

2017-10-08 Thread Alan W. Irwin

On 2017-10-08 12:54+0100 Phil Rosenberg wrote:


On 7 October 2017 at 02:14, Alan W. Irwin  wrote:

Hi Phil:

I just discovered on Linux that your IPC3 workaround does allow
-locate mode for example 1 to work perfectly for mouse clicks.  (IPC3
locate mode key hits are not implemented yet.) But I also think that
workaround should not be necessary, and the fundamental problem is
when I originally implemented IPC3 locate mode I used the non-IPC3
version of wxPlFrame::ReadTransmission to model what the IPC3 version
of that routine should do in locate mode, but it turns out that is a
flawed model!  So it is no wonder that you had to implement a
workaround to get locate mode to work at all for the IPC3 case.

Here are the current (master HEAD) problems with locate mode for the
non-IPC3 case as demonstrated when I run

examples/c/x01c -dev wxwidgets -locate

on Linux.

1. The initial wxPLViewer response is always a blank screen.

2. Furthermore, initial blind mouse clicking on the position of
viewports 2, 3, and 4 gets no response at all.  Blind clicking on the
(upper-left) position of viewport 1 does typically get a response (but
sometimes only after several clicks), and if I keep clicking
eventually the actual plot appears, and then after that clicking on
viewports 2, 3, and 4 finally begins to work.


Just tested the latest master head on Windows and it works perfectly.
Not sure why it would be different on Linux.


My own gut feeling is there is some general issue with the way events
are set up that is cause of these issues, but the bug is only exposed
on some platforms (similar to the Linux OnCreate delay bug that you
fixed in January this year just before the release of 5.12.0.)



3. In no case have I gotten key hits to work (even though there is
code to handle that case for the non-IPC3 version of
wxPlFrame::ReadTransmission).



You are correct, key presses don't work on Linux, that is due to a
difference between Linux and windows in ter,s of event capture that I
wasn't aware of when I wrote the viewer. It is on my fix list, but
feel free to add it to the bug tracker so I don't forget.


I was unaware until reading your above remark there was a difference
between Linux and Windows event capture.  However, given that is the
case is it possible you still need to make an adjustment for that
difference in order to solve Linux issues 1 and 2 as well?

Alan

______
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


[Plplot-devel] non-IPC3 interactive issues with example 20

2017-10-07 Thread Alan W. Irwin

Hi Phil:

In the same spirit of getting interactive non-IPC3 to work properly as
a model of what should be done for the IPC3 case, please fix the
following non-IPC3 issue that shows up for example 20 for the
current master HEAD:

The plot page display is out of sync (due to screwed up
processing of events?).  Page 1 is displayed no matter
how much I hit the enter key to move on to the next
page, but if I select a region (something that should
happen after the second page is displayed), the second
page is displayed rather than the third, and so forth.

Until this situation is resolved, I cannot tell if this
is the only interactive issue for this example or whether
there are more.  For the record, the
way this example is supposed to work is as follows:

# Move to examples subdirectory where image of Chloe resides.
cd examples

# Run example 20
c/x20c -dev wxwidgets

1. First "sombrero" page displayed.

2. After user hits enter key, the entirety of the "Chloe" page
should be displayed with instructions to select a region using
the mouse.

3. After the user selects a region (by drag and drop with mouse 1
and clicking with mouse 2 to terminate that selection), that selected
region is displayed at the original (small) scale.

4. After the user hits the enter key, the next page is displayed
which should contain the selected region of the Chloe image at
large scale.

5. After the user hits the enter key, the next page is displayed
of the full Chloe image at reduced dynamic range.

6. After the user hits the enter key, the next page is displayed
of the full Chloe image with distorted geometry.

7. After the user hits the enter key, wxPLViewer quits.

I hope this description of the way the interactive steps of this
example should work will help you to sort out all non-IPC3 problems
for this example so I can use that corrected non-IPC3 model to figure
out what to do in the IPC3 case.

Alan
__________
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


[Plplot-devel] non-IPC3 interactive issues with example 14

2017-10-07 Thread Alan W. Irwin

Hi Phil:

In the same spirit of getting interactive non-IPC3 to work properly as
a model of what should be done for the IPC3 case, please fix the
following non-IPC3 issues that show up for example 14 for the
current master HEAD:

1. Slave GUI is blank (i.e., does not show any plot).

I am pretty sure this issue is likely caused by the same issue
(screwed up processing of events?) that is causing non-IPC3 display
issues for example 1 in locate mode.

2. Slave GUI finishes and disappears even with no action taken
by the user.

I recently analyzed the cause of this situation in detail.  For all
other interactive devices core coincides with viewer so when the
viewer pauses at page end waiting for the user to hit the enter key
the core automatically pauses as well.  And that assumption is
fundamental to the way that example 14 works.  So to cure this issue
you have to implement the same scenario for the wxwidgets device so
that when the (separate) master viewer pauses at page end, the master
core must be forced to pause as well.

Alan
__
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] ocaml and antialiased gtk embedding (cairo)

2017-10-07 Thread Alan W. Irwin

On 2017-10-07 13:57- Philippe STRAUSS wrote:


finally there! I've reversed the two commits of hez and the cairo2

based plplot runs fine.

Hi Phillipe:

You dropped the plplot-devel mailing list address from your post
(likely because you just used reply rather than reply-all), but I
added it back because I want this discussion to be available there.

I am glad you got something to work, but please clarify your
description above of exactly what it was you got to work.  For
example, reversing the two last commits from Hez and also my two small
commits that disabled plcairo should allow plcairo to support "cairo"
rather than "cairo2".  Leaving Hez's commits as is, but just reversing
my two commits should allow plcairo to support "cairo2" rather than
"cairo".

Whichever of "cairo" or "cairo2" you got to work, could you also try
the alternative to see if that works as well?


to be honest, i could not reply myself to the

cairo vs cairo2 ocaml bindings debate, so I've asked on the ocaml
mailing list.

Could you give me a URL of the mailing-list archive that contains the
full thread of this discussion?  I would like to see the original
question you asked, and any additional responses (possibly in the
future) beyond the one you quoted.

Alan
__
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


<    1   2   3   4   5   6   7   8   9   10   >