Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tentatively solve #1474 #1502

Merged

Conversation

GillesDuvert
Copy link
Contributor

No description provided.

@slayoo
Copy link
Member

slayoo commented Feb 7, 2023

@GillesDuvert @acoulais @brandy125 it would be great to include a test with this PR (one that fails without this change, and passes with the change applied) Thanks!

@alaingdl
Copy link
Contributor

alaingdl commented Feb 9, 2023

The good news : successfully tested (with my script) on Debian 10 & U22.04

The bad news : unable to compile GDL with current Brew with the build script or with CMake. I do have a plplot dylib but not OK :(

@GillesDuvert
Copy link
Contributor Author

This patch does not totally solve #1474.
There are still a number of differences between IDL and GDL when it comes to read/write files that can be modified externally (NB: externally is the point. GDL behaves OK when it modifies a file internally.)
As always, it is best (but time-consuming 😄 ) to start from the example reported by the user, but explore in a test file all the possible outcomes. Here, the example lacks the fact that writing to an externally modified file does not produce identical results on IDL and GDL.

…s' for normal streams.

use 'is' instead of 'os' for Input Streams in all code.
Speedup by a very large factor the READF function when STRINGS are read. Now on par with IDL
@slayoo
Copy link
Member

slayoo commented Feb 9, 2023

Merci, @GillesDuvert!

@GillesDuvert
Copy link
Contributor Author

The good news : successfully tested (with my script) on Debian 10 & U22.04

The bad news : unable to compile GDL with current Brew with the build script or with CMake. I do have a plplot dylib but not OK :(

Homebrew's last version seems buggy: cannot permit to use a modified formula to rebuild plplot. So: build_gdl.sh uses scriptlet "brew_enable_wxwidgets" for nothing (formula used is not the modified one but a cached one), and thus no dynamic drivers, and thus no GDL.
On MacPort side, idem, and would need yet another trick to recompile plplot with the correct options within MacPorts.
Wonder why they do not provide these options from the start.
We should have asked homebrew and MacPorts for a version of plplot with dynamic drivers and wxwidgets a long time ago.

Besides, on arm64, MacPorts or Homebrew gcc is not working, and we must use clang. But clang somehow makes the creation/destruction of GDL objects very slow (probably an error in the legacy GDL code, who knows?) so GDL is not satisfactorily fast.

This is IMHO a serious concern as GDL contributors, whatever their skills and implication, are not supposed to fight Homebrew, MacPorts and clang, but to add new useful commands to GDL.

@GillesDuvert
Copy link
Contributor Author

On Windows I see that we have found an INTERNAL BUG of MINGW that must be reported!

[100%] Linking CXX executable gdl.exe
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: internal error: aborting at ../../binutils-2.40/ld/ldlang.c:527 in compare_section
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: please report this bug

@GillesDuvert GillesDuvert merged commit edeb99e into gnudatalanguage:master Feb 10, 2023
@GillesDuvert
Copy link
Contributor Author

  1. bug above reported
  2. macOS build solved by aimed at allowing gdl build on OSX even on arm64 and OSX 13.2 #1510

@GillesDuvert GillesDuvert deleted the solve_1474_tentative branch September 8, 2023 17:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants