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

[bug] Incorrect result when using fuzz #19

Open
ayuckhulk opened this issue Sep 2, 2020 · 0 comments
Open

[bug] Incorrect result when using fuzz #19

ayuckhulk opened this issue Sep 2, 2020 · 0 comments
Labels
bug Something isn't working

Comments

@ayuckhulk
Copy link

Given

Original file example.txt

A
B
C
Y
D
E
F
X

Patch example.patch

diff --git a/example.txt b/example.txt
index 4426901..7b77a8b 100644
--- a/example.txt
+++ b/example.txt
@@ -2,7 +2,7 @@
 A
 B
 C
-Y
+Z
 D
 E
 F

Execute command (1.17.4, hash 2354804):

patch_ng.py -f example.patch

Result (misplaced Z):

A
B
C
Y
Z
E
F
X

Expected result (with unix patch command):

A
B
C
Z
D
E
F
X
@ayuckhulk ayuckhulk changed the title [bug] Incorrect patch when using fuzz [bug] Incorrect result when using fuzz Sep 2, 2020
samuel-emrys added a commit to samuel-emrys/conan-center-index that referenced this issue Oct 1, 2021
* Add download links and hashes for versions 10.6.2 and 10.7.0.
* Add patch modification for CMakeLists.txt for version 10.7.0. This
  patch is essentially the same as what's provided for 10.6.x, however
  v10.7.0 introduced a number of additional lines at the beginning of
  this file which cannot be parsed by the patching library used,
  patch_ng.py. This is documented in
  conan-io/python-patch-ng#19.
conan-center-bot pushed a commit to conan-io/conan-center-index that referenced this issue Oct 25, 2021
* Add recipe for armadillo 10.6.1

* Add recipe for armadillo to reflect as closely as possible the
  intended usage of the library. This includes the ability to use system
  libraries as backends if manually configured. Default behaviour will
  be to use OpenBLAS as a backend with the wrapper disabled, though this
  can be manually modified.
* Add test program using example code provided by the armadillo project
* Patch armadillo CMakeLists.txt to enable switching between system
  libraries and conan dependencies.

Closes #6754.

* [armadillo] Improve comments wrt fortran requirements

* [armadillo] Add Macos compatability

* Add ARMA_USE_ACCELERATE option, which is set as the default option on
  Macos systems. This removes the dependency on a fortran compiler as this
  provides a BLAS and LAPACK implementation.
* Move opt_dependencies to use a dictionary ordered by the operating
  system. This allows optional dependencies unique to each operating
  system to be managed.
* Ensure that OpenBLAS can only be used when ALLOW_OPENBLAS_MACOS is set
  on Macos
* Ensure that system LAPACK and BLAS libraries can only be used when
  ALLOW_BLAS_LAPACK_MACOS is set on Macos.

* [armadillo] Set ARMA_USE_ACCELERATE to false instead of deleting

* Set ARMA_USE_ACCELERATE to False instead of deleting it when the
  operating system is not Macos. This facilitates proper option
  dependency testing.

* [armadillo] Build without lapack support by default

* Remove default LAPACK support. This will allow armadillo to be made
  available on CCI without waiting for gfortran to be made available as
  a compiler on CI runners.
* Remove version ranges from openblas and hdf5 dependencies.
* Add define guards around logic in example.cpp that requires lapack, so
  those tests aren't run when ARMA_USE_LAPACK isn't defined.

* [armadillo] Build with lapack by default on macos

* Build with lapack by default on macos. Macos ships with the accelerate
  framework which has an implementation of LAPACK, and thus doesn't
  require a fortran compiler to build. This should be used by default
  where available.

* [armadillo] Add MSVC shared library compatability

* Add MSVC shared library compatability by exporting all symbols. This
  enables the creation of a static import library that can be used with
  the resulting .dll.

* Apply suggestions from code review

* Configure test_package to use targets

Co-authored-by: Javier G. Sogo <[email protected]>

* [armadillo] Simplify validation logic

* Condense multiple mutually exclusive options with complex validation
  logic to multiple values for a single option where appropriate. This
  enforces mutual exclusivity by virtue of the fact that an option can
  only have a single value. This will make interpreting valid option
  combinations easier to understand.
* Convert options to lowercase for consistency with other recipes in the
  conan center index.

* Update recipes/armadillo/all/test_package/CMakeLists.txt

* Force C++ language standard to be C++11 to address the insufficient default language standard present with apple-clang

Co-authored-by: Uilian Ries <[email protected]>

* Apply suggestions from code review

* Make co_dependencies protected to avoid name clashes with conan
* Add TODO statements to optional dependencies

Co-authored-by: Uilian Ries <[email protected]>

* [armadillo] Move source modifications to patch file

* Move source modifications from using replace_in_file to using a patch
  file. This will make the recipe more maintainable.
* Remove openblas and hdf5 variable assignment to use the string
  directly when requiring these libraries.
* Move patching process to build() function to preserve downloaded
  source code.

* [armadillo] Add support for versions 10.6.2 and 10.7.0

* Add download links and hashes for versions 10.6.2 and 10.7.0.
* Add patch modification for CMakeLists.txt for version 10.7.0. This
  patch is essentially the same as what's provided for 10.6.x, however
  v10.7.0 introduced a number of additional lines at the beginning of
  this file which cannot be parsed by the patching library used,
  patch_ng.py. This is documented in
  conan-io/python-patch-ng#19.

* [armadillo] Export all symbols on windows

* Export all symbols on shared windows builds so that a static library
  can be generated.
* Remove system_openblas and system_hdf as options to force the conan
  counterparts to be used.

* [armadillo] Remove references to system_openblas and system_hdf5

* Remove lingering references to system_openblas and system_hdf5 as they
  have been removed as options and break the build.

* [armadillo] Remove old versions and clean up

* Remove old versions of armadillo from the recipe
* Move CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS definition to the CMake wrapper
  to avoid polluting library sources
* Add deprecation notice for system library usage
* Remove statements that manually modify the shared option of upstream
  dependencies. This will mean upstream dependencies will always be
  static libraries unless manually specified as shared libraries.
* Clean up CMakeLists patch to remove references to system openblas and
  system hdf5 after removal of these options.

* [armadillo] Update required version for CMake in CMake wrapper

* Update required CMake version from 2.8.11 to 3.4 for CMakeLists
  wrapper. This is a requirement of CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS.

* [armadillo] Add dummy intel_mkl option to be overridden by consumer

* Add intel_mkl option to allow intel-mkl requirement to be overridden
  with a user specified recipe. This addresses the issue where CCI won't
  package closed source libraries.

* [armadillo] Remove system_mkl as an option

* Remove system_mkl as an option as intel_mkl has been added and users
  now have an ability to add their own recipes for closed source
  projects.

* Add validation logic for cppstd

* Only conduct cppstd validation logic if passed as a conan setting

Co-authored-by: Uilian Ries <[email protected]>

Co-authored-by: Javier G. Sogo <[email protected]>
Co-authored-by: Uilian Ries <[email protected]>
ivanvurbanov pushed a commit to ivanvurbanov/conan-center-index that referenced this issue Dec 2, 2021
* Add recipe for armadillo 10.6.1

* Add recipe for armadillo to reflect as closely as possible the
  intended usage of the library. This includes the ability to use system
  libraries as backends if manually configured. Default behaviour will
  be to use OpenBLAS as a backend with the wrapper disabled, though this
  can be manually modified.
* Add test program using example code provided by the armadillo project
* Patch armadillo CMakeLists.txt to enable switching between system
  libraries and conan dependencies.

Closes conan-io#6754.

* [armadillo] Improve comments wrt fortran requirements

* [armadillo] Add Macos compatability

* Add ARMA_USE_ACCELERATE option, which is set as the default option on
  Macos systems. This removes the dependency on a fortran compiler as this
  provides a BLAS and LAPACK implementation.
* Move opt_dependencies to use a dictionary ordered by the operating
  system. This allows optional dependencies unique to each operating
  system to be managed.
* Ensure that OpenBLAS can only be used when ALLOW_OPENBLAS_MACOS is set
  on Macos
* Ensure that system LAPACK and BLAS libraries can only be used when
  ALLOW_BLAS_LAPACK_MACOS is set on Macos.

* [armadillo] Set ARMA_USE_ACCELERATE to false instead of deleting

* Set ARMA_USE_ACCELERATE to False instead of deleting it when the
  operating system is not Macos. This facilitates proper option
  dependency testing.

* [armadillo] Build without lapack support by default

* Remove default LAPACK support. This will allow armadillo to be made
  available on CCI without waiting for gfortran to be made available as
  a compiler on CI runners.
* Remove version ranges from openblas and hdf5 dependencies.
* Add define guards around logic in example.cpp that requires lapack, so
  those tests aren't run when ARMA_USE_LAPACK isn't defined.

* [armadillo] Build with lapack by default on macos

* Build with lapack by default on macos. Macos ships with the accelerate
  framework which has an implementation of LAPACK, and thus doesn't
  require a fortran compiler to build. This should be used by default
  where available.

* [armadillo] Add MSVC shared library compatability

* Add MSVC shared library compatability by exporting all symbols. This
  enables the creation of a static import library that can be used with
  the resulting .dll.

* Apply suggestions from code review

* Configure test_package to use targets

Co-authored-by: Javier G. Sogo <[email protected]>

* [armadillo] Simplify validation logic

* Condense multiple mutually exclusive options with complex validation
  logic to multiple values for a single option where appropriate. This
  enforces mutual exclusivity by virtue of the fact that an option can
  only have a single value. This will make interpreting valid option
  combinations easier to understand.
* Convert options to lowercase for consistency with other recipes in the
  conan center index.

* Update recipes/armadillo/all/test_package/CMakeLists.txt

* Force C++ language standard to be C++11 to address the insufficient default language standard present with apple-clang

Co-authored-by: Uilian Ries <[email protected]>

* Apply suggestions from code review

* Make co_dependencies protected to avoid name clashes with conan
* Add TODO statements to optional dependencies

Co-authored-by: Uilian Ries <[email protected]>

* [armadillo] Move source modifications to patch file

* Move source modifications from using replace_in_file to using a patch
  file. This will make the recipe more maintainable.
* Remove openblas and hdf5 variable assignment to use the string
  directly when requiring these libraries.
* Move patching process to build() function to preserve downloaded
  source code.

* [armadillo] Add support for versions 10.6.2 and 10.7.0

* Add download links and hashes for versions 10.6.2 and 10.7.0.
* Add patch modification for CMakeLists.txt for version 10.7.0. This
  patch is essentially the same as what's provided for 10.6.x, however
  v10.7.0 introduced a number of additional lines at the beginning of
  this file which cannot be parsed by the patching library used,
  patch_ng.py. This is documented in
  conan-io/python-patch-ng#19.

* [armadillo] Export all symbols on windows

* Export all symbols on shared windows builds so that a static library
  can be generated.
* Remove system_openblas and system_hdf as options to force the conan
  counterparts to be used.

* [armadillo] Remove references to system_openblas and system_hdf5

* Remove lingering references to system_openblas and system_hdf5 as they
  have been removed as options and break the build.

* [armadillo] Remove old versions and clean up

* Remove old versions of armadillo from the recipe
* Move CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS definition to the CMake wrapper
  to avoid polluting library sources
* Add deprecation notice for system library usage
* Remove statements that manually modify the shared option of upstream
  dependencies. This will mean upstream dependencies will always be
  static libraries unless manually specified as shared libraries.
* Clean up CMakeLists patch to remove references to system openblas and
  system hdf5 after removal of these options.

* [armadillo] Update required version for CMake in CMake wrapper

* Update required CMake version from 2.8.11 to 3.4 for CMakeLists
  wrapper. This is a requirement of CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS.

* [armadillo] Add dummy intel_mkl option to be overridden by consumer

* Add intel_mkl option to allow intel-mkl requirement to be overridden
  with a user specified recipe. This addresses the issue where CCI won't
  package closed source libraries.

* [armadillo] Remove system_mkl as an option

* Remove system_mkl as an option as intel_mkl has been added and users
  now have an ability to add their own recipes for closed source
  projects.

* Add validation logic for cppstd

* Only conduct cppstd validation logic if passed as a conan setting

Co-authored-by: Uilian Ries <[email protected]>

Co-authored-by: Javier G. Sogo <[email protected]>
Co-authored-by: Uilian Ries <[email protected]>
@uilianries uilianries added the bug Something isn't working label Aug 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants