Unable to buid

I am unable to build the lib on a mac OS X for cpu
I am getting the following linker error when i run ./buildnativeoperations.sh blas cpu
Error Gist
I have already installed the required clang and have also added the following environment variables
Env Variables
and now I am completely lost! Any help is much appreciated
Thanks

I cannot build it on my ubuntu 15.10 .
It's very hard to build.

@linkerlin building on ubuntu works fine. If you have problems, come to the gitter, and we can help you there.

I got error msg:
./buildnativeoperations.sh blas cpu
eval cmake
Running blas
RUNNING COMMAND cmake
-- The C compiler identification is GNU 4.9.3
-- The CXX compiler identification is GNU 4.9.3
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/g++
-- Check for working CXX compiler: /usr/bin/g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
ADDING BLAS
-- Try OpenMP C flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Success
-- Try OpenMP CXX flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Success
-- Found OpenMP: -fopenmp
CPU BLAS
-- Looking for sgemm_
-- Looking for sgemm_ - found
-- A library with BLAS API found.
-- Looking for cheev_
-- Looking for cheev_ - found
-- A library with LAPACK API found.
-- Configuring done
-- Generating done
-- Build files have been written to: /home/linker/gits/libnd4j/blasbuild/cpu
/home/linker/Downloads/cmake-3.5.1-Linux-x86_64/bin/cmake -H/home/linker/gits/libnd4j -B/home/linker/gits/libnd4j/blasbuild/cpu --check-build-system CMakeFiles/Makefile.cmake 0
/home/linker/Downloads/cmake-3.5.1-Linux-x86_64/bin/cmake -E cmake_progress_start /home/linker/gits/libnd4j/blasbuild/cpu/CMakeFiles /home/linker/gits/libnd4j/blasbuild/cpu/CMakeFiles/progress.marks
make -f CMakeFiles/Makefile2 all
make[1]: Entering directory '/home/linker/gits/libnd4j/blasbuild/cpu'
make -f blas/CMakeFiles/nd4j.dir/build.make blas/CMakeFiles/nd4j.dir/depend
make[2]: Entering directory '/home/linker/gits/libnd4j/blasbuild/cpu'
cd /home/linker/gits/libnd4j/blasbuild/cpu && /home/linker/Downloads/cmake-3.5.1-Linux-x86_64/bin/cmake -E cmake_depends "Unix Makefiles" /home/linker/gits/libnd4j /home/linker/gits/libnd4j/blas /home/linker/gits/libnd4j/blasbuild/cpu /home/linker/gits/libnd4j/blasbuild/cpu/blas /home/linker/gits/libnd4j/blasbuild/cpu/blas/CMakeFiles/nd4j.dir/DependInfo.cmake --color=
Scanning dependencies of target nd4j
make[2]: Leaving directory '/home/linker/gits/libnd4j/blasbuild/cpu'
make -f blas/CMakeFiles/nd4j.dir/build.make blas/CMakeFiles/nd4j.dir/build
make[2]: Entering directory '/home/linker/gits/libnd4j/blasbuild/cpu'
[ 33%] Building CXX object blas/CMakeFiles/nd4j.dir/cpu/NativeBlas.cpp.o
cd /home/linker/gits/libnd4j/blasbuild/cpu/blas && /usr/bin/g++   -D__CPUBLAS__=true -Dnd4j_EXPORTS -I/home/linker/gits/libnd4j/include -I/home/linker/gits/libnd4j/blas/../include -I/usr/local/include  -Wall -g  -fopenmp -std=c++11  -fassociative-math -funsafe-math-optimizations -march=native -fopenmp -O3 -ffast-math -ftree-vectorize -msse2 -ftree-vectorizer-verbose=2 -fopt-info-vec -fopt-info-vec-missed -fPIC   -o CMakeFiles/nd4j.dir/cpu/NativeBlas.cpp.o -c /home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:19:5: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:18:14: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:18:14: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:41:5: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:40:18: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:40:18: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:40:18: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:40:18: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:65:5: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:64:13: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:64:13: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:88:5: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:87:12: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:87:12: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:109:5: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:108:12: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:108:12: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:139:50: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:148:50: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:156:52: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:164:50: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:176:50: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:182:52: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:193:50: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:199:52: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:211:50: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:217:52: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:238:50: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:248:52: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:260:57: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:265:59: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:278:57: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:286:59: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:302:50: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:313:52: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:329:50: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:337:52: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:350:50: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:357:52: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:371:50: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:379:52: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:393:50: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:401:52: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:426:50: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:440:52: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:460:50: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:475:52: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:494:50: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:507:52: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:526:50: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:539:52: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:558:52: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:571:54: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:588:50: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:597:52: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:613:50: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:623:52: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:639:52: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:649:54: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:666:50: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:676:52: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:693:50: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:704:52: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:721:52: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:731:54: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:749:50: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:761:52: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:778:50: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:788:52: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:808:50: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:818:52: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:836:50: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:848:52: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:866:52: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:878:54: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:904:50: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:917:52: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:936:50: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:949:52: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:967:50: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:978:52: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:996:50: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:1009:52: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:1027:50: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:1038:52: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:1055:50: note: not vectorized: not enough data-refs in basic block.
/home/linker/gits/libnd4j/blas/cpu/NativeBlas.cpp:1066:52: note: not vectorized: not enough data-refs in basic block.
[ 66%] Building CXX object blas/CMakeFiles/nd4j.dir/cpu/NativeOps.cpp.o
cd /home/linker/gits/libnd4j/blasbuild/cpu/blas && /usr/bin/g++   -D__CPUBLAS__=true -Dnd4j_EXPORTS -I/home/linker/gits/libnd4j/include -I/home/linker/gits/libnd4j/blas/../include -I/usr/local/include  -Wall -g  -fopenmp -std=c++11  -fassociative-math -funsafe-math-optimizations -march=native -fopenmp -O3 -ffast-math -ftree-vectorize -msse2 -ftree-vectorizer-verbose=2 -fopt-info-vec -fopt-info-vec-missed -fPIC   -o CMakeFiles/nd4j.dir/cpu/NativeOps.cpp.o -c /home/linker/gits/libnd4j/blas/cpu/NativeOps.cpp
In file included from /home/linker/gits/libnd4j/include/broadcasting.h:12:0,
from /home/linker/gits/libnd4j/blas/cpu/../NativeOpExcutioner.h:8,
from /home/linker/gits/libnd4j/blas/cpu/NativeOps.cpp:6:
/home/linker/gits/libnd4j/include/shape.h:3085:0: warning: ignoring #pragma simd  [-Wunknown-pragmas]
#pragma simd
^
/home/linker/gits/libnd4j/include/shape.h:3807:0: warning: ignoring #pragma simd  [-Wunknown-pragmas]
#pragma simd
^
/home/linker/gits/libnd4j/include/shape.h:3811:0: warning: ignoring #pragma simd  [-Wunknown-pragmas]
#pragma simd
^
In file included from /home/linker/gits/libnd4j/blas/cpu/../NativeOpExcutioner.h:9:0,
from /home/linker/gits/libnd4j/blas/cpu/NativeOps.cpp:6:
/home/linker/gits/libnd4j/include/indexreduce.h:673:0: warning: ignoring #pragma simd  [-Wunknown-pragmas]
#pragma  simd
^
In file included from /home/linker/gits/libnd4j/blas/cpu/../NativeOpExcutioner.h:11:0,
from /home/linker/gits/libnd4j/blas/cpu/NativeOps.cpp:6:
/home/linker/gits/libnd4j/include/reduce.h:603:0: warning: ignoring #pragma simd  [-Wunknown-pragmas]
#pragma simd
^
/home/linker/gits/libnd4j/include/reduce.h:659:0: warning: ignoring #pragma simd  [-Wunknown-pragmas]
#pragma simd
^
In file included from /home/linker/gits/libnd4j/blas/cpu/../NativeOpExcutioner.h:12:0,
from /home/linker/gits/libnd4j/blas/cpu/NativeOps.cpp:6:
/home/linker/gits/libnd4j/include/reduce3.h:666:0: warning: ignoring #pragma simd  [-Wunknown-pragmas]
#pragma simd
^
In file included from /home/linker/gits/libnd4j/blas/cpu/../NativeOpExcutioner.h:14:0,
from /home/linker/gits/libnd4j/blas/cpu/NativeOps.cpp:6:
/home/linker/gits/libnd4j/include/transform.h:232:0: warning: ignoring #pragma simd  [-Wunknown-pragmas]
#pragma simd
^
/home/linker/gits/libnd4j/include/transform.h:355:0: warning: ignoring #pragma simd  [-Wunknown-pragmas]
#pragma simd
^
/home/linker/gits/libnd4j/include/transform.h: In member function ‘void functions::transform::ops::IsMax::doAllCuda(T*, int*, T*, int*, T*)’:
/home/linker/gits/libnd4j/include/transform.h:4371:3: error: ‘shared’ was not declared in this scope
shared functions::indexreduce::ops::IMax max;
^
/home/linker/gits/libnd4j/include/transform.h:4372:14: error: expected ‘;’ before ‘int’
shared int maxIdx;
^
/home/linker/gits/libnd4j/include/transform.h:4373:6: error: ‘threadIdx’ was not declared in this scope
if(threadIdx.x == 0) {
^
/home/linker/gits/libnd4j/include/transform.h:4374:4: error: ‘max’ was not declared in this scope
max = new functions::indexreduce::ops::IMax();
^
/home/linker/gits/libnd4j/include/transform.h:4374:4: note: suggested alternative:
In file included from /usr/include/c++/4.9/vector:60:0,
from /home/linker/gits/libnd4j/include/transform.h:10,
from /home/linker/gits/libnd4j/blas/cpu/../NativeOpExcutioner.h:14,
from /home/linker/gits/libnd4j/blas/cpu/NativeOps.cpp:6:
/usr/include/c++/4.9/bits/stl_algobase.h:261:5: note:   ‘std::max’
max(const _Tp& __a, const _Tp& __b, _Compare __comp)
^
In file included from /home/linker/gits/libnd4j/blas/cpu/../NativeOpExcutioner.h:14:0,
from /home/linker/gits/libnd4j/blas/cpu/NativeOps.cpp:6:
/home/linker/gits/libnd4j/include/transform.h:4377:17: error: there are no arguments to ‘__syncthreads’ that depend on a template parameter, so a declaration of ‘__syncthreads’ must be available [-fpermissive]
__syncthreads();
^
/home/linker/gits/libnd4j/include/transform.h:4377:17: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
/home/linker/gits/libnd4j/include/transform.h:4379:3: error: ‘max’ was not declared in this scope
max->transform(
^
/home/linker/gits/libnd4j/include/transform.h:4379:3: note: suggested alternative:
In file included from /usr/include/c++/4.9/vector:60:0,
from /home/linker/gits/libnd4j/include/transform.h:10,
from /home/linker/gits/libnd4j/blas/cpu/../NativeOpExcutioner.h:14,
from /home/linker/gits/libnd4j/blas/cpu/NativeOps.cpp:6:
/usr/include/c++/4.9/bits/stl_algobase.h:261:5: note:   ‘std::max’
max(const _Tp& __a, const _Tp& __b, _Compare __comp)
^
In file included from /home/linker/gits/libnd4j/blas/cpu/../NativeOpExcutioner.h:14:0,
from /home/linker/gits/libnd4j/blas/cpu/NativeOps.cpp:6:
/home/linker/gits/libnd4j/include/transform.h:4389:17: error: there are no arguments to ‘__syncthreads’ that depend on a template parameter, so a declaration of ‘__syncthreads’ must be available [-fpermissive]
__syncthreads();
^
/home/linker/gits/libnd4j/include/transform.h:4390:6: error: ‘threadIdx’ was not declared in this scope
if(threadIdx.x == 0)
^
/home/linker/gits/libnd4j/include/transform.h:4391:4: error: ‘maxIdx’ was not declared in this scope
maxIdx = (int) result[0];
^
/home/linker/gits/libnd4j/include/transform.h:4392:17: error: there are no arguments to ‘__syncthreads’ that depend on a template parameter, so a declaration of ‘__syncthreads’ must be available [-fpermissive]
__syncthreads();
^
/home/linker/gits/libnd4j/include/transform.h:4394:7: error: ‘threadIdx’ was not declared in this scope
if (threadIdx.x < shape::length(resultShapeBuffer))
^
/home/linker/gits/libnd4j/include/transform.h:4396:17: error: there are no arguments to ‘__syncthreads’ that depend on a template parameter, so a declaration of ‘__syncthreads’ must be available [-fpermissive]
__syncthreads();
^
/home/linker/gits/libnd4j/include/transform.h:4398:7: error: ‘threadIdx’ was not declared in this scope
if (threadIdx.x == 0) {
^
/home/linker/gits/libnd4j/include/transform.h:4399:11: error: ‘maxIdx’ was not declared in this scope
result[maxIdx] = 1.0;
^
/home/linker/gits/libnd4j/blas/cpu/NativeOps.cpp: In member function ‘long long int NativeOps::mallocHost(long int, int)’:
/home/linker/gits/libnd4j/blas/cpu/NativeOps.cpp:1550:20: warning: NULL used in arithmetic [-Wpointer-arith]
if (pointer == NULL)
^
/home/linker/gits/libnd4j/blas/cpu/NativeOps.cpp: In instantiation of ‘void flattenGeneric(int, char, long long int, long long int, long long int, long long int) [with T = float]’:
/home/linker/gits/libnd4j/blas/cpu/NativeOps.cpp:1508:84:   required from here
/home/linker/gits/libnd4j/blas/cpu/NativeOps.cpp:1432:18: warning: unused variable ‘inputOrder’ [-Wunused-variable]
char inputOrder = shape::order(inputShapeInfoPointer);
^
/home/linker/gits/libnd4j/blas/cpu/NativeOps.cpp:1459:14: warning: unused variable ‘inputOrder’ [-Wunused-variable]
char inputOrder = shape::order(inputShapeInfoPointer);
^
/home/linker/gits/libnd4j/blas/cpu/NativeOps.cpp:1393:10: warning: unused variable ‘stride’ [-Wunused-variable]
int stride = shape::stride(inputShapeInfoPointer);
^
/home/linker/gits/libnd4j/blas/cpu/NativeOps.cpp:1395:10: warning: unused variable ‘squeezed’ [-Wunused-variable]
bool squeezed = false;
^
/home/linker/gits/libnd4j/blas/cpu/NativeOps.cpp:1407:10: warning: unused variable ‘coord’ [-Wunused-variable]
int coord = (int ) malloc(sizeof(int) * rank);
^
/home/linker/gits/libnd4j/blas/cpu/NativeOps.cpp:1408:10: warning: unused variable ‘xShape’ [-Wunused-variable]
int xShape = shape::shapeOf(inputShapeInfoPointer);
^
/home/linker/gits/libnd4j/blas/cpu/NativeOps.cpp:1409:10: warning: unused variable ‘xStride’ [-Wunused-variable]
int xStride = shape::stride(inputShapeInfoPointer);
^
/home/linker/gits/libnd4j/blas/cpu/NativeOps.cpp:1410:10: warning: unused variable ‘resultOrder’ [-Wunused-variable]
char resultOrder = shape::order(inputShapeInfoPointer);
^
/home/linker/gits/libnd4j/blas/cpu/NativeOps.cpp: In instantiation of ‘void flattenGeneric(int, char, long long int, long long int, long long int, long long int) [with T = double]’:
/home/linker/gits/libnd4j/blas/cpu/NativeOps.cpp:1530:85:   required from here
/home/linker/gits/libnd4j/blas/cpu/NativeOps.cpp:1432:18: warning: unused variable ‘inputOrder’ [-Wunused-variable]
char inputOrder = shape::order(inputShapeInfoPointer);
^
/home/linker/gits/libnd4j/blas/cpu/NativeOps.cpp:1459:14: warning: unused variable ‘inputOrder’ [-Wunused-variable]
char inputOrder = shape::order(inputShapeInfoPointer);
^
/home/linker/gits/libnd4j/blas/cpu/NativeOps.cpp:1393:10: warning: unused variable ‘stride’ [-Wunused-variable]
int stride = shape::stride(inputShapeInfoPointer);
^
/home/linker/gits/libnd4j/blas/cpu/NativeOps.cpp:1395:10: warning: unused variable ‘squeezed’ [-Wunused-variable]
bool squeezed = false;
^
/home/linker/gits/libnd4j/blas/cpu/NativeOps.cpp:1407:10: warning: unused variable ‘coord’ [-Wunused-variable]
int coord = (int ) malloc(sizeof(int) * rank);
^
/home/linker/gits/libnd4j/blas/cpu/NativeOps.cpp:1408:10: warning: unused variable ‘xShape’ [-Wunused-variable]
int xShape = shape::shapeOf(inputShapeInfoPointer);
^
/home/linker/gits/libnd4j/blas/cpu/NativeOps.cpp:1409:10: warning: unused variable ‘xStride’ [-Wunused-variable]
int xStride = shape::stride(inputShapeInfoPointer);
^
/home/linker/gits/libnd4j/blas/cpu/NativeOps.cpp:1410:10: warning: unused variable ‘resultOrder’ [-Wunused-variable]
char resultOrder = shape::order(inputShapeInfoPointer);
^
In file included from /home/linker/gits/libnd4j/blas/cpu/../NativeOpExcutioner.h:8:0,
from /home/linker/gits/libnd4j/blas/cpu/NativeOps.cpp:6:
/home/linker/gits/libnd4j/include/broadcasting.h: In instantiation of ‘void functions::broadcast::Broadcast::exec(T, int, T, int, T, int, int, int) [with T = double]’:
/home/linker/gits/libnd4j/blas/cpu/../NativeOpExcutioner.h:110:9:   required from ‘void NativeOpExcutioner::execBroadcast(int, T, int, T, int, T*, int*, int*, int) [with T = double]’
/home/linker/gits/libnd4j/blas/cpu/NativeOps.cpp:124:28:   required from here
/home/linker/gits/libnd4j/include/broadcasting.h:290:9: warning: unused variable ‘stride’ [-Wunused-variable]
int stride = shape::stride(xShapeInfo);
^
/home/linker/gits/libnd4j/include/broadcasting.h:278:8: warning: unused variable ‘stride’ [-Wunused-variable]
int stride = shape::stride(xShapeInfo);
^
/home/linker/gits/libnd4j/include/broadcasting.h:321:7: warning: unused variable ‘tadLength’ [-Wunused-variable]
int tadLength = shape::length(tadShapeShapeInfo);
^
/home/linker/gits/libnd4j/include/broadcasting.h:322:7: warning: unused variable ‘rank’ [-Wunused-variable]
int rank = shape::rank(tadShapeShapeInfo);
^
In file included from /home/linker/gits/libnd4j/blas/cpu/../NativeOpExcutioner.h:10:0,
from /home/linker/gits/libnd4j/blas/cpu/NativeOps.cpp:6:
/home/linker/gits/libnd4j/include/pairwise_transform.h: In instantiation of ‘void functions::pairwise_transforms::PairWiseTransform::exec(T, int, T*, int*, T*, int*, T*) [with T = double]’:
/home/linker/gits/libnd4j/blas/cpu/../NativeOpExcutioner.h:169:9:   required from ‘void NativeOpExcutioner::execPairwiseTransform(int, T*, int*, T*, int*, T*, int*, T*) [with T = double]’
/home/linker/gits/libnd4j/blas/cpu/NativeOps.cpp:246:31:   required from here
/home/linker/gits/libnd4j/include/pairwise_transform.h:470:9: warning: unused variable ‘yShape’ [-Wunused-variable]
int yShape = shape::shapeOf(yShapeBuffer);
^
/home/linker/gits/libnd4j/include/pairwise_transform.h:471:9: warning: unused variable ‘resultShape’ [-Wunused-variable]
int resultShape = shape::shapeOf(resultShapeBuffer);
^
/home/linker/gits/libnd4j/include/pairwise_transform.h:477:8: warning: unused variable ‘xRank’ [-Wunused-variable]
int xRank = shape::rank(xShapeBuffer);
^
/home/linker/gits/libnd4j/include/pairwise_transform.h:478:8: warning: unused variable ‘yRank’ [-Wunused-variable]
int yRank = shape::rank(yShapeBuffer);
^
/home/linker/gits/libnd4j/include/pairwise_transform.h:479:8: warning: unused variable ‘resultRank’ [-Wunused-variable]
int resultRank = shape::rank(resultShapeBuffer);
^
/home/linker/gits/libnd4j/include/pairwise_transform.h:482:9: warning: unused variable ‘xOrder’ [-Wunused-variable]
char xOrder = shape::order(xShapeBuffer);
^
/home/linker/gits/libnd4j/include/pairwise_transform.h:483:9: warning: unused variable ‘yOrder’ [-Wunused-variable]
char yOrder = shape::order(yShapeBuffer);
^
/home/linker/gits/libnd4j/include/pairwise_transform.h:484:9: warning: unused variable ‘resultOrder’ [-Wunused-variable]
char resultOrder = shape::order(resultShapeBuffer);
^
/home/linker/gits/libnd4j/include/pairwise_transform.h:534:9: warning: unused variable ‘xOrder’ [-Wunused-variable]
char xOrder = shape::order(xShapeBuffer);
^
/home/linker/gits/libnd4j/include/pairwise_transform.h:535:9: warning: unused variable ‘yOrder’ [-Wunused-variable]
char yOrder = shape::order(yShapeBuffer);
^
/home/linker/gits/libnd4j/include/pairwise_transform.h:536:9: warning: unused variable ‘resultOrder’ [-Wunused-variable]
char resultOrder = shape::order(resultShapeBuffer);
^
/home/linker/gits/libnd4j/include/pairwise_transform.h:552:9: warning: unused variable ‘resultStride’ [-Wunused-variable]
int resultStride = shape::stride(resultShapeBuffer);
^
In file included from /home/linker/gits/libnd4j/blas/cpu/../NativeOpExcutioner.h:11:0,
from /home/linker/gits/libnd4j/blas/cpu/NativeOps.cpp:6:
/home/linker/gits/libnd4j/include/reduce.h: In instantiation of ‘void functions::reduce::ReduceFunction::exec(T, int, T, T*, int*, int*, int) [with T = double]’:
/home/linker/gits/libnd4j/blas/cpu/../NativeOpExcutioner.h:236:9:   required from ‘void NativeOpExcutioner::execReduce(int, T*, int*, T*, T*, int*, int*, int) [with T = double]’
/home/linker/gits/libnd4j/blas/cpu/NativeOps.cpp:300:179:   required from here
/home/linker/gits/libnd4j/include/reduce.h:799:9: warning: unused variable ‘stride’ [-Wunused-variable]
int stride = shape::stride(xShapeInfo);
^
In file included from /home/linker/gits/libnd4j/blas/cpu/../NativeOpExcutioner.h:13:0,
from /home/linker/gits/libnd4j/blas/cpu/NativeOps.cpp:6:
/home/linker/gits/libnd4j/include/summarystatsreduce.h: In instantiation of ‘void functions::summarystats::SummaryStatsReduce::exec(T, int*, T*, T*, int*, int*, int) [with T = double]’:
/home/linker/gits/libnd4j/blas/cpu/../NativeOpExcutioner.h:485:9:   required from ‘void NativeOpExcutioner::execSummaryStats(int, T*, int*, T*, T*, int*, int*, int, bool) [with T = double]’
/home/linker/gits/libnd4j/blas/cpu/NativeOps.cpp:610:42:   required from here
/home/linker/gits/libnd4j/include/summarystatsreduce.h:1010:26: warning: unused variable ‘stride’ [-Wunused-variable]
int stride = shape::stride(xShapeInfo);
^
/home/linker/gits/libnd4j/include/summarystatsreduce.h:1046:25: warning: unused variable ‘tadLength’ [-Wunused-variable]
int tadLength = shape::length(tadShapeShapeInfo);
^
In file included from /home/linker/gits/libnd4j/blas/cpu/../NativeOpExcutioner.h:8:0,
from /home/linker/gits/libnd4j/blas/cpu/NativeOps.cpp:6:
/home/linker/gits/libnd4j/include/broadcasting.h: In instantiation of ‘void functions::broadcast::Broadcast::exec(T, int*, T*, int*, T*, int*, int*, int) [with T = float]’:
/home/linker/gits/libnd4j/blas/cpu/../NativeOpExcutioner.h:110:9:   required from ‘void NativeOpExcutioner::execBroadcast(int, T*, int*, T*, int*, T*, int*, int*, int) [with T = float]’
/home/linker/gits/libnd4j/blas/cpu/NativeOps.cpp:778:189:   required from here
/home/linker/gits/libnd4j/include/broadcasting.h:290:9: warning: unused variable ‘stride’ [-Wunused-variable]
int stride = shape::stride(xShapeInfo);
^
/home/linker/gits/libnd4j/include/broadcasting.h:278:8: warning: unused variable ‘stride’ [-Wunused-variable]
int stride = shape::stride(xShapeInfo);
^
/home/linker/gits/libnd4j/include/broadcasting.h:321:7: warning: unused variable ‘tadLength’ [-Wunused-variable]
int tadLength = shape::length(tadShapeShapeInfo);
^
/home/linker/gits/libnd4j/include/broadcasting.h:322:7: warning: unused variable ‘rank’ [-Wunused-variable]
int rank = shape::rank(tadShapeShapeInfo);
^
In file included from /home/linker/gits/libnd4j/blas/cpu/../NativeOpExcutioner.h:10:0,
from /home/linker/gits/libnd4j/blas/cpu/NativeOps.cpp:6:
/home/linker/gits/libnd4j/include/pairwise_transform.h: In instantiation of ‘void functions::pairwise_transforms::PairWiseTransform::exec(T, int, T*, int*, T*, int*, T*) [with T = float]’:
/home/linker/gits/libnd4j/blas/cpu/../NativeOpExcutioner.h:169:9:   required from ‘void NativeOpExcutioner::execPairwiseTransform(int, T*, int*, T*, int*, T*, int*, T*) [with T = float]’
/home/linker/gits/libnd4j/blas/cpu/NativeOps.cpp:904:183:   required from here
/home/linker/gits/libnd4j/include/pairwise_transform.h:470:9: warning: unused variable ‘yShape’ [-Wunused-variable]
int yShape = shape::shapeOf(yShapeBuffer);
^
/home/linker/gits/libnd4j/include/pairwise_transform.h:471:9: warning: unused variable ‘resultShape’ [-Wunused-variable]
int resultShape = shape::shapeOf(resultShapeBuffer);
^
/home/linker/gits/libnd4j/include/pairwise_transform.h:477:8: warning: unused variable ‘xRank’ [-Wunused-variable]
int xRank = shape::rank(xShapeBuffer);
^
/home/linker/gits/libnd4j/include/pairwise_transform.h:478:8: warning: unused variable ‘yRank’ [-Wunused-variable]
int yRank = shape::rank(yShapeBuffer);
^
/home/linker/gits/libnd4j/include/pairwise_transform.h:479:8: warning: unused variable ‘resultRank’ [-Wunused-variable]
int resultRank = shape::rank(resultShapeBuffer);
^
/home/linker/gits/libnd4j/include/pairwise_transform.h:482:9: warning: unused variable ‘xOrder’ [-Wunused-variable]
char xOrder = shape::order(xShapeBuffer);
^
/home/linker/gits/libnd4j/include/pairwise_transform.h:483:9: warning: unused variable ‘yOrder’ [-Wunused-variable]
char yOrder = shape::order(yShapeBuffer);
^
/home/linker/gits/libnd4j/include/pairwise_transform.h:484:9: warning: unused variable ‘resultOrder’ [-Wunused-variable]
char resultOrder = shape::order(resultShapeBuffer);
^
/home/linker/gits/libnd4j/include/pairwise_transform.h:534:9: warning: unused variable ‘xOrder’ [-Wunused-variable]
char xOrder = shape::order(xShapeBuffer);
^
/home/linker/gits/libnd4j/include/pairwise_transform.h:535:9: warning: unused variable ‘yOrder’ [-Wunused-variable]
char yOrder = shape::order(yShapeBuffer);
^
/home/linker/gits/libnd4j/include/pairwise_transform.h:536:9: warning: unused variable ‘resultOrder’ [-Wunused-variable]
char resultOrder = shape::order(resultShapeBuffer);
^
/home/linker/gits/libnd4j/include/pairwise_transform.h:552:9: warning: unused variable ‘resultStride’ [-Wunused-variable]
int resultStride = shape::stride(resultShapeBuffer);
^
In file included from /home/linker/gits/libnd4j/blas/cpu/../NativeOpExcutioner.h:11:0,
from /home/linker/gits/libnd4j/blas/cpu/NativeOps.cpp:6:
/home/linker/gits/libnd4j/include/reduce.h: In instantiation of ‘void functions::reduce::ReduceFunction::exec(T, int, T, T*, int*, int*, int) [with T = float]’:
/home/linker/gits/libnd4j/blas/cpu/../NativeOpExcutioner.h:236:9:   required from ‘void NativeOpExcutioner::execReduce(int, T*, int*, T*, T*, int*, int*, int) [with T = float]’
/home/linker/gits/libnd4j/blas/cpu/NativeOps.cpp:930:157:   required from here
/home/linker/gits/libnd4j/include/reduce.h:799:9: warning: unused variable ‘stride’ [-Wunused-variable]
int stride = shape::stride(xShapeInfo);
^
In file included from /home/linker/gits/libnd4j/blas/cpu/../NativeOpExcutioner.h:13:0,
from /home/linker/gits/libnd4j/blas/cpu/NativeOps.cpp:6:
/home/linker/gits/libnd4j/include/summarystatsreduce.h: In instantiation of ‘void functions::summarystats::SummaryStatsReduce::exec(T, int*, T*, T*, int*, int*, int) [with T = float]’:
/home/linker/gits/libnd4j/blas/cpu/../NativeOpExcutioner.h:485:9:   required from ‘void NativeOpExcutioner::execSummaryStats(int, T*, int*, T*, T*, int*, int*, int, bool) [with T = float]’
/home/linker/gits/libnd4j/blas/cpu/NativeOps.cpp:1280:26:   required from here
/home/linker/gits/libnd4j/include/summarystatsreduce.h:1010:26: warning: unused variable ‘stride’ [-Wunused-variable]
int stride = shape::stride(xShapeInfo);
^
/home/linker/gits/libnd4j/include/summarystatsreduce.h:1046:25: warning: unused variable ‘tadLength’ [-Wunused-variable]
int tadLength = shape::length(tadShapeShapeInfo);
^
In file included from /home/linker/gits/libnd4j/blas/cpu/../NativeOpExcutioner.h:14:0,
from /home/linker/gits/libnd4j/blas/cpu/NativeOps.cpp:6:
/home/linker/gits/libnd4j/include/transform.h: In instantiation of ‘void functions::transform::ops::IsMax::execSpecial(T, int*, T*, int*, T*) [with T = float]’:
/home/linker/gits/libnd4j/blas/cpu/NativeOps.cpp:1591:1:   required from here
/home/linker/gits/libnd4j/include/transform.h:4690:49: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses]
if(extraParams == NULL || extraParams[0] == 0 || extraParams[0] == 1 && extraParams[1] == shape::MAX_DIMENSION) {
^
/home/linker/gits/libnd4j/include/transform.h: In instantiation of ‘void functions::transform::ops::SoftMaxDerivative::execSpecial(T*, int*, T*, int*, T*) [with T = float]’:
/home/linker/gits/libnd4j/blas/cpu/NativeOps.cpp:1591:1:   required from here
/home/linker/gits/libnd4j/include/transform.h:4170:9: warning: unused variable ‘stride’ [-Wunused-variable]
int stride = shape::stride(xShapeBuffer);
^
/home/linker/gits/libnd4j/include/transform.h: In instantiation of ‘void functions::transform::ops::SoftMax::execSpecial(T, int*, T*, int*, T*) [with T = float]’:
/home/linker/gits/libnd4j/blas/cpu/NativeOps.cpp:1591:1:   required from here
/home/linker/gits/libnd4j/include/transform.h:3693:9: warning: unused variable ‘stride’ [-Wunused-variable]
int stride = shape::stride(xShapeBuffer);
^
/home/linker/gits/libnd4j/include/transform.h: In instantiation of ‘void functions::transform::ops::Col2Im::execSpecial(T, int*, T*, int*, T*) [with T = float]’:
/home/linker/gits/libnd4j/blas/cpu/NativeOps.cpp:1591:1:   required from here
/home/linker/gits/libnd4j/include/transform.h:3367:7: warning: unused variable ‘imgHeight’ [-Wunused-variable]
int imgHeight = (int) extraParams[4];
^
/home/linker/gits/libnd4j/include/transform.h:3368:7: warning: unused variable ‘imgWidth’ [-Wunused-variable]
int imgWidth = (int) extraParams[5];
^
/home/linker/gits/libnd4j/include/transform.h: In instantiation of ‘void functions::transform::ops::IsMax::execSpecial(T*, int*, T*, int*, T*) [with T = double]’:
/home/linker/gits/libnd4j/blas/cpu/NativeOps.cpp:1591:1:   required from here
/home/linker/gits/libnd4j/include/transform.h:4690:49: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses]
if(extraParams == NULL || extraParams[0] == 0 || extraParams[0] == 1 && extraParams[1] == shape::MAX_DIMENSION) {
^
/home/linker/gits/libnd4j/include/transform.h: In instantiation of ‘void functions::transform::ops::SoftMaxDerivative::execSpecial(T*, int*, T*, int*, T*) [with T = double]’:
/home/linker/gits/libnd4j/blas/cpu/NativeOps.cpp:1591:1:   required from here
/home/linker/gits/libnd4j/include/transform.h:4170:9: warning: unused variable ‘stride’ [-Wunused-variable]
int stride = shape::stride(xShapeBuffer);
^
/home/linker/gits/libnd4j/include/transform.h: In instantiation of ‘void functions::transform::ops::SoftMax::execSpecial(T, int*, T*, int*, T*) [with T = double]’:
/home/linker/gits/libnd4j/blas/cpu/NativeOps.cpp:1591:1:   required from here
/home/linker/gits/libnd4j/include/transform.h:3693:9: warning: unused variable ‘stride’ [-Wunused-variable]
int stride = shape::stride(xShapeBuffer);
^
/home/linker/gits/libnd4j/include/transform.h: In instantiation of ‘void functions::transform::ops::Col2Im::execSpecial(T, int*, T*, int*, T*) [with T = double]’:
/home/linker/gits/libnd4j/blas/cpu/NativeOps.cpp:1591:1:   required from here
/home/linker/gits/libnd4j/include/transform.h:3367:7: warning: unused variable ‘imgHeight’ [-Wunused-variable]
int imgHeight = (int) extraParams[4];
^
/home/linker/gits/libnd4j/include/transform.h:3368:7: warning: unused variable ‘imgWidth’ [-Wunused-variable]
int imgWidth = (int) extraParams[5];
^
In file included from /home/linker/gits/libnd4j/blas/cpu/../NativeOpExcutioner.h:12:0,
from /home/linker/gits/libnd4j/blas/cpu/NativeOps.cpp:6:
/home/linker/gits/libnd4j/include/reduce3.h: At global scope:
/home/linker/gits/libnd4j/include/reduce3.h:95:11: warning: inline function ‘T functions::reduce3::Reduce3::update(T, T, T**) [with T = double]’ used but never defined
inline T update(T old, T opOutput, T extraParamsRef) = 0;
^
/home/linker/gits/libnd4j/include/reduce3.h:80:11: warning: inline function ‘T functions::reduce3::Reduce3::op(T, T, T) [with T = double]’ used but never defined
inline T op(T d1, T d2, T extraParamsRef) = 0;
^
/home/linker/gits/libnd4j/include/reduce3.h:48:11: warning: inline function ‘T functions::reduce3::Reduce3::postProcess(T, int, T) [with T = double]’ used but never defined
inline T postProcess(T reduction, int n,T extraParamsRef) = 0;
^
In file included from /home/linker/gits/libnd4j/include/transform.h:17:0,
from /home/linker/gits/libnd4j/blas/cpu/../NativeOpExcutioner.h:14,
from /home/linker/gits/libnd4j/blas/cpu/NativeOps.cpp:6:
/home/linker/gits/libnd4j/include/scalar.h:43:22: warning: inline function ‘T functions::scalar::ScalarTransform::op(T, T, T) [with T = double]’ used but never defined
inline T op(T d1, T d2, T params) = 0;
^
In file included from /home/linker/gits/libnd4j/blas/cpu/../NativeOpExcutioner.h:12:0,
from /home/linker/gits/libnd4j/blas/cpu/NativeOps.cpp:6:
/home/linker/gits/libnd4j/include/reduce3.h:95:11: warning: inline function ‘T functions::reduce3::Reduce3::update(T, T, T) [with T = float]’ used but never defined
inline T update(T old, T opOutput, T extraParamsRef) = 0;
^
/home/linker/gits/libnd4j/include/reduce3.h:80:11: warning: inline function ‘T functions::reduce3::Reduce3::op(T, T, T) [with T = float]’ used but never defined
inline T op(T d1, T d2, T extraParamsRef) = 0;
^
/home/linker/gits/libnd4j/include/reduce3.h:48:11: warning: inline function ‘T functions::reduce3::Reduce3::postProcess(T, int, T) [with T = float]’ used but never defined
inline T postProcess(T reduction, int n,T *extraParamsRef) = 0;
^
In file included from /home/linker/gits/libnd4j/include/transform.h:17:0,
from /home/linker/gits/libnd4j/blas/cpu/../NativeOpExcutioner.h:14,
from /home/linker/gits/libnd4j/blas/cpu/NativeOps.cpp:6:
/home/linker/gits/libnd4j/include/scalar.h:43:22: warning: inline function ‘T functions::scalar::ScalarTransform::op(T, T, T) [with T = float]’ used but never defined
inline T op(T d1, T d2, T *params) = 0;
^
blas/CMakeFiles/nd4j.dir/build.make:89: recipe for target 'blas/CMakeFiles/nd4j.dir/cpu/NativeOps.cpp.o' failed
make[2]: *** [blas/CMakeFiles/nd4j.dir/cpu/NativeOps.cpp.o] Error 1
make[2]: Leaving directory '/home/linker/gits/libnd4j/blasbuild/cpu'
CMakeFiles/Makefile2:106: recipe for target 'blas/CMakeFiles/nd4j.dir/all' failed
make[1]: *** [blas/CMakeFiles/nd4j.dir/all] Error 2
make[1]: Leaving directory '/home/linker/gits/libnd4j/blasbuild/cpu'
Makefile:130: recipe for target 'all' failed
make: *** [all] Error 2
FINISHING BUILD

Are you on the current master with this? Because it builds fine for me.

On my mac book pro and my ubuntu box, I just pull the current master repo, and I got it ok both with AppleClang(AppleClang++) and with clang-omp(clang-omp++).
Thank you for your hint, @treo !
**I found out Apple Clang 7.3.0 can be used as a replacement for clang-imp.
** @sadatanwer

@treo I think I found out the reason of "Killed" .
The ptxas running out of memory, because I set a 1.5GB swap and the ubuntu box only have a 4G memory.
Added a new 12GB swapfile solved the problem.
Thank you for your help.
P.S.
The clang-omp is not a necessary compiler if mac has the newest Xcode/AppleClang.

@linkerlin thanks! Could you send us a pull request for updating some of the things you've found for different versions of clang on mac?

I will have a try and a test.

FWIW everything is still building for me.

Update on this?

No! :( I still get the same issue, I have no clue what its trying to link with. :(

@linkerlin
Can you help me a little here, this is what I get when I start the build process
/buildnativeoperations.sh blas cpu
eval cmake
RUNNING OSX CLANG
Running blas
RUNNING COMMAND cmake
-- The C compiler identification is AppleClang <IP_ADDRESS>30029
-- The CXX compiler identification is Clang 3.5.0
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/local/Cellar/clang-omp/2015-04-01/bin/clang-omp++
-- Check for working CXX compiler: /usr/local/Cellar/clang-omp/2015-04-01/bin/clang-omp++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
ADDING BLAS
Using apple
-- Try OpenMP C flag = [ ]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP C flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP C flag = [/openmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP C flag = [-Qopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP C flag = [-openmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP C flag = [-xopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP C flag = [+Oopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP C flag = [-qsmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP C flag = [-mp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP CXX flag = [ ]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP CXX flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP CXX flag = [/openmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP CXX flag = [-Qopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP CXX flag = [-openmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP CXX flag = [-xopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP CXX flag = [+Oopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP CXX flag = [-qsmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP CXX flag = [-mp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Could NOT find OpenMP (missing:  OpenMP_C_FLAGS OpenMP_CXX_FLAGS)
CPU BLAS
-- Looking for sgemm_
-- Looking for sgemm_ - found
-- A library with BLAS API found.
-- Looking for cheev_
-- Looking for cheev_ - found
-- A library with LAPACK API found.
-- Configuring done
-- Generating done
Something there doesnot look right, its taking the AppleClang and also clang 3.5 and is completely confused in the ADDING BLAS using Apple part, do you have any idea what I am missing? any help would be really appreciated!

Okay, so I got the OpenMP issue to work, so now  now more failed status there, but that still did not fix my linking issue, I tried running the link command with the -v command and here is what it looks like
clang-omp++  -Wall -fopenmp -std=c++11 -L/usr/local/Cellar/libiomp/20150701/lib -fassociative-math -funsafe-math-optimizations -march=native   -O3 -ffast-math -ftree-vectorize -msse2 -dynamiclib -Wl,-headerpad_max_install_names  -o libnd4j.dylib -install_name @rpath/libnd4j.dylib CMakeFiles/nd4j.dir/cpu/NativeBlas.cpp.o CMakeFiles/nd4j.dir/cpu/NativeOps.cpp.o -framework Accelerate -framework Accelerate -v
clang version 3.5.0
Target: x86_64-apple-darwin15.4.0
Thread model: posix
 "/usr/bin/ld" -dynamic -dylib -arch x86_64 -dylib_install_name @rpath/libnd4j.dylib -macosx_version_min 10.11.0 -o libnd4j.dylib -L/usr/local/Cellar/libiomp/20150701/lib -liomp5 -headerpad_max_install_names CMakeFiles/nd4j.dir/cpu/NativeBlas.cpp.o CMakeFiles/nd4j.dir/cpu/NativeOps.cpp.o -framework Accelerate -framework Accelerate -L/usr/local/Cellar/clang-omp/2015-04-01/libexec/lib -L/usr/local/Cellar/libiomp/20150701/lib -L/usr/local/Cellar/clang-omp/2015-04-01/libexec/lib -L/usr/local/Cellar/libiomp/20150701/include/libiomp -L/usr/local/Cellar/clang-omp/2015-04-01/libexec/lib -L/usr/local/Cellar/libiomp/20150701/include/libiomp -L. -lc++ -lSystem
Undefined symbols for architecture x86_64:
  "__ZNSt12length_errorD1Ev", referenced from:
      __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv in NativeOps.cpp.o
  "__ZSt9terminatev", referenced from:
      ___clang_call_terminate in NativeOps.cpp.o
  "__ZTISt12length_error", referenced from:
      __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv in NativeOps.cpp.o
  "__ZTVSt12length_error", referenced from:
      __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv in NativeOps.cpp.o
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
ld: symbol(s) not found for architecture x86_64
clang-3.5: error: linker command failed with exit code 1 (use -v to see invocation)

maybe some one can see what is going wrong here? Is it trying to link with the wrong lib folders?
 :(

Same issue.
After fixing paths I still have:
$ ./buildnativeoperations.sh blas cpu
LIBND4J_HOME IS /Users/sitin/Documents/Workspace/dlf4/libnd4j
eval cmake
RUNNING OSX CLANG
Running blas
RUNNING COMMAND cmake
dyld: Symbol not found: ___cxa_bad_typeid
  Referenced from: /usr/lib/libicucore.A.dylib
  Expected in: /usr/local/Cellar/clang-omp/2015-04-01/libexec/lib/libc++.1.dylib
 in /usr/lib/libicucore.A.dylib
./buildnativeoperations.sh: line 144:  7095 Trace/BPT trap: 5       cmake -DCPU_BLAS=true -DBLAS=TRUE ../..
make: *** No targets specified and no makefile found.  Stop.
FINISHING BUILD

I also tried building the CUDA backend on my work windows PC just now, (I have the CPU working fine) and I get the following errors.
https://gist.github.com/sadatanwer/773a2b39aebd19fa480c802e1ec22d5e
Its some compile errors, and I think its because of the constexpr because the compiler cant recognize it? I am not sure, but at least that is where one of the errors is (otype.h:10). I did follow the instructions maybe some how the build script is using some old cl that I have installed? can some one confirm, or tell me where (how) to look for that.
Thanks

@sadatanwer Windows build is fixed: #107

@saudet thank, Ill look at that in a few hours when I wake up and head back to work, but it looks like it should work now.
in the mean time I am still not giving up on my trusty mac so I looked around on the internet, and based on this answer http://stackoverflow.com/questions/25020140/undefined-symbols-for-architecture-x86-64-mavericks-yosemite-el-capitan I did try changing the  -stdlib=libstdc++ flag and that sort-of reduced the error, but did not completely fix it :( , now I am not sure if its a good change or a bad one, but for me, less error definitely looks better.. Still looking for a solution
clang-omp++  -Wall -fopenmp -L/usr/local/Cellar/libiomp/20150701/lib -fassociative-math -funsafe-math-optimizations -march=native   -O3 -ffast-math -ftree-vectorize -msse2 -dynamiclib -Wl,-headerpad_max_install_names  -o libnd4j.dylib -install_name @rpath/libnd4j.dylib CMakeFiles/nd4j.dir/cpu/NativeBlas.cpp.o CMakeFiles/nd4j.dir/cpu/NativeOps.cpp.o -framework Accelerate -framework Accelerate -stdlib=libstdc++
Undefined symbols for architecture x86_64:
  "__ZNSt11logic_errorC2EPKc", referenced from:
      __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv in NativeOps.cpp.o
ld: symbol(s) not found for architecture x86_64
clang-3.5: error: linker command failed with exit code 1 (use -v to see invocation)

@sadatanwer No, don't do libstdc++, it doesn't support C++11 well on OS X. Stick to libc++...

Okay,
thanks a lot you guys! I finally got this to work, and I am now sure what was causing the problem. The new exports that I had made based on some previous exports specially the LIBRARY_PATH and all other LIB...._PATH were some how messing up the linking. clearing those exports and then re-running the compile stage made it fly like a bird!! I am now running it on Mac OSX! Today is my lucky day!
Thanks

@SadatAnwar haha, the world is small


Minor release testing workflow

Background
We should make a workflow for testing minor releases against mainnet for state compatibility. The goal would be that on a branch thats in a PR to v10.x, there is some manual thing I could easily run to check a node against it. In case of app hash failure, being given the last {say} thousand lines of logs would be helpful
Suggested Design

We sync a new node against mainnet, using the relevant branch / commit

Where do we start the sync from?

[ ] Snapshot?
[ ] State sync?

Sync {X} blocks

Ideal if it syncs through a full day /  an epoch, this also informs where the start of our sync is from

Acceptance Criteria

Theres a github workflow or simple command we can execute to test minor releases, with the guarantee that that code syncs & correctly executes the last {day} of mainnet

Per discussion: We have a snapshot service, maybe we set it to some time before epoch each day, and then sync some number of blocks from there.
We have to figure out how to trigger it exactly, and report on results (is it a slackbot? Comment on a PR? )

Implemented in https://github.com/osmosis-labs/osmosis/pull/2083 and https://github.com/osmosis-labs/osmosis/pull/2178


The plugin does not work on VSCode Linux

From the description of plugin I liked it very much especially the ElasticSearch explorer window. Alas on installing it just doesn't work without any trace of error that I could find. Then I cloned and tried to find the problem. Turns out simple case sensitivity related problems causing the problem.
I am soon raising a pull request hoping to be get merged and soon a new version should work when installed from vscode marketplace!
I will start using the plugin with my local copy meanwhile

Hi @chanaksha
Thanks for the help! I will merge and will send out a release a little later today.
Best regards
Crasnam

Happy to help :) This plugin should become much more popular. I will try to see if there are further issues...

There is probably more issues in this extension 😊. I have also sent out a new release to the marketplace where your fix is included, if you have time verify that it works for you now.

Unfortunately no. The build from marketplace doesn't work for me on Linux. I tried to analyze the problem (and my own build still works) --
$ diff -r out.release out.local | grep "Only in" | grep -v ".map" Only in out.release/controllers: queryCompletionItemController.js Only in out.release/controllers: queryDocumentSymbolController.js Only in out.release/feature/intelliSense/controllers: indexTemplateCompletionItemController.js Only in out.release/feature/intelliSense/controllers: indexTemplateDocumentCompletionItemController.js Only in out.release/feature/intelliSense/controllers: queryDocumentLinkController.js Only in out.local/feature/intelliSense/models: iqueryBodyContext.js Only in out.release/feature/intelliSense/models: IQueryBodyContext.js Only in out.release/feature: outline Only in out.local/models: elasticsearchQuery.js Only in out.release/models: elasticSearchQuery.js Only in out.local/models: elasticsearchResponse.js Only in out.release/models: elasticSearchResponse.js Only in out.release/models: treeData Only in out.local/parsers: elasticsearchQueryDocument.js Only in out.release/parsers: elasticSearchQueryDocument.js Only in out.local: test
That means the release still has files with wrong case (out.local is my build and out.release is release directory). I found this https://github.com/Microsoft/TypeScript/issues/15129 which explains the problem if builds are made on Windows. I believe removing the out directory before build should fix the release. I apparently cannot reopen the issue. I hope you can help out here.

I realize this is Linux specific problem, and I have a work-around so no hurry until I find new issues maybe :)

Hi
Just wanted to give the extension a try and it looks like I also have the explorer issue on my VS code on Mac. Is there any timeline for a resolution?
BR,
Frank

It really depends on underlying filesystem than OS (Linux almost always has case-sensitive filesystems)
@Crasnam I am not advanced user of elasticsearch however I can confirm that basic features of the plugin are working fine for me with my local build (queries, intellisense and explorer)


Step by pipeline execute

use skip-magic-trailing-comma=true, less code
release pipeline execute
once cdef for some field was deprecated in Cython, rewrited
resolve bug when cas is zero, checking on not None

Thank you @dormando for this clarification because at the beginning I didn’t understand how to get a complete response from the server. This helped me a lot.
https://github.com/emcache/emcache/issues/130#issuecomment-2142817220
related issues

#130

In the future, you can add a pipeline for a set of clusters without commands related to a specific cluster. For example get, gets but there should not be stats and so on

Hi, @pfreixes , could you please review my PR? Since making these changes facilitates my subsequent PR. For example, automatic cythonize and others, of course

Ideally, you need to add several tests for each pipeline command separately for all cases. This way we achieve maximum coverage


cargo build fails on windows

Can't find the symbol _fltused. Ugh.
Fix this in CI to have the cargo build line not have -p example-runner once this is fixed.

Is it accidentally trying to compile the shader for the host too?

That is intentional. It is part of the project roadmap, a goal of the project is to e.g. be able to debug shaders on the CPU.

Maybe use #![cfg_attr(target_arch = "spirv"), no_std] at https://github.com/EmbarkStudios/rust-gpu/blob/8681464af7e2500f371e5df6a95691cf29ecd16a/spirv-std/src/lib.rs#L1
That will ensure that any linked dylib will have all dependencies required for the target triple.


Add basic block import to beacon node

The beacon node now handles basic block import with a variety of validation outcomes.
TODO

[x] test that injects some blocks and yields the (expected) canonical head

Cute Animal Picture

merging to keep the dev flow simpler on top of this PR -- happy to address post-merge feedback!


uninstall

Hi there,
Installed the app (Win11) using the installer and now want to remove it but it does not seem to appear in Apps or in appwiz.cpl

I think you can just delete the directory C:\Users\{USERNAME}\AppData\Roaming\Kebler. (Replace {USERNAME} with your Windows username)


Use ES Modules

[x] Set type: module in package.json
[x] Replace .eslintrc.js with eslint.config.js (ESLint docs)
[x] Ensure ESLint works
[x] Ensure Mocha works
[ ] Ensure Gulp works

Get the following error with Gulp:
ReferenceError: require is not defined in ES module scope, you can use import instead
This file is being treated as an ES module because it has a '.js' file extension and 'package.json' contains "type": "module". To treat it as a CommonJS script, rename it to use the '.cjs' file extension.

But Gulp does not support the .cjs file extension


support returning multiple signals

Blocked by Q desktop app not actually respecting links on signals. Instead, it binds by extensionID, so even with multiple signals, you can only have one clickable link. BOO to that.


Optimize domoticz build process, reduce container size

-- Fix libusb support
-- Remove non required Domoticz and OpenZWave sources from container after the build
-- Replace static compilation for MQTT, SQLite, OpenZWave, Lua 5.2, Minizip with dynamic libraries
-- Use alpine packages for Mosquitto, SQLite, Lua, Minizip as Domoticz dependencies
-- Move domoticz binaries from /src/domoticz to /opt/domoticz

This is a huge PR :) Thank you.


in cleanUpNextTick, there might be chances where currentQueue is null then it throws exception on accessing currentQueue.length

out of curiosity what exactly are you doing that leads to this happening, last time something like this came up it turned out to be a subtle bug in firefox that led to it. So I'd really love to be able to reproduce this.

Agreed with @calvinmetcalf, we need this reproduced with and tests added

#56 corroborates this and adds some more details, opened #57 which is similar to this but just early returns if it looks like we shouldn't get here


[8.x] Deprecate Session::remove($key) in favor of Session::pull($key, $default = null)

Just a suggestion that Session::remove($key) (which is undocumented) could be deprecated in favor of Session::pull($key, $default = null) (which is documented) and therefore removed in Laravel 9.x.
https://github.com/laravel/framework/blob/19f338e841983939fc41ad847c7188af59e5e268/src/Illuminate/Session/Store.php#L228-L231
https://github.com/laravel/framework/blob/19f338e841983939fc41ad847c7188af59e5e268/src/Illuminate/Session/Store.php#L443-L446
Unless you want to keep things as is and document Session::remove? Just thought it was worth bringing to your attention.

Note: Session::remove also appears in the contract, the facade and the SessionGuard.

I don't see the point here? Just breaking someone's code for no reason?

I don't see the point here? Just breaking someone's code for no reason?

The only reason would be to remove the duplication. If that's not a valid reason to remove it then should the method be documented? I'm simply asking the question. Another alternative would be to do nothing.

The only reason would be to remove the duplication. If that's not a valid reason to remove it then should the method be documented? I'm simply asking the question. Another alternative would be to do nothing.

In general we don't really remove duplicate method that fast just to not break people's code for no real reason.

In general we don't really remove duplicate method that fast just to not break people's code for no real reason.

I think we should just leave the method in.

I think we should just leave the method in.

Appreciate the clarification ✌🏻

Appreciate the clarification ✌🏻


improve pydantic import time

Change Summary
Roughly halve the time to import pydantic, see #1127 for discussion.
Changes:

dataclasses is only imported when used
three regexes url_regex, ascii_domain_regex and int_domain_regex in network.py now only compiled when used. Thus url_regex etc. are now accessible as a function url_regex()
email_validator is only imported when it's used.
pydantic.VERSION is no longer a StrictVersion, just a standard str
version_info will only import platform and sys when it's called

Related issue number
fix #1127 and also fix #1039
Checklist

[x] Unit tests for the changes exist
[x] Tests pass on CI and coverage remains at 100%
[ ] Documentation reflects the changes where applicable
[x] changes/<pull request or issue id>-<github username>.md file added

For me on my laptop the import time has dropped from ~143md to ~53ms

okay I've just tried this again on my desktop in the office (after rebasing):
I get the following difference:
master           89-94ms
import-speedup   28-49ms

I tried with both simple python and pydantic compiled and get similar results. I don't know what @layday's numbers here are different.
I think that's pretty good considering there's no functionality changes.

It might just be you've got better specs, I don't really know.  As for suggestions for improvement, I was able to shave off about 10 milliseconds by nesting inspect.  The call to inspect.isgenerator in utils can be inlined:
from types import GeneratorType

def sequence_like(v: AnyType) -> bool:
    return isinstance(v, (list, tuple, set, frozenset, types.GeneratorType))

Altering inspect imports isn't making any difference for me.
For some reason the log for pydantic.main seems to always include importing inspect, even though there's no visible "import inspect..":
Logs:
...
import time:       297 |        297 |     pydantic.fields
import time:       134 |        134 |           _weakrefset
import time:       249 |        383 |         weakref
import time:        60 |         60 |             org
import time:        11 |         70 |           org.python
import time:        12 |         82 |         org.python.core
import time:       138 |        602 |       copy
import time:        60 |         60 |             _struct
import time:       103 |        162 |           struct
import time:       162 |        162 |           _compat_pickle
import time:        53 |         53 |               org
import time:        88 |        140 |             org.python
import time:        11 |        150 |           org.python.core
import time:        73 |         73 |           _pickle
import time:       548 |       1094 |         pickle
import time:       200 |       1294 |       pydantic.parse
import time:       551 |        551 |         pydantic.networks
import time:       421 |        971 |       pydantic.schema
import time:        58 |         58 |       cython
import time:        85 |         85 |             _opcode
import time:       172 |        256 |           opcode
import time:       258 |        514 |         dis
import time:       112 |        112 |           importlib
import time:       111 |        222 |         importlib.machinery
import time:       158 |        158 |             token
import time:       641 |        798 |           tokenize
import time:        88 |        885 |         linecache
import time:      1379 |       2999 |       inspect   <--- why is this happening!?
import time:       923 |       6844 |     pydantic.main
import time:       291 |      27556 |   pydantic.dataclasses
import time:       194 |        194 |   pydantic.env_settings
import time:       603 |        603 |   pydantic.tools
import time:        71 |         71 |   pydantic.version
import time:       196 |      28618 | pydantic

see the import-speedup-inspect branch for what I changed.

I should've probably been clearer, inspect is also used in class_validators and schema.
diff --git a/pydantic/class_validators.py b/pydantic/class_validators.py
index 8ac62f0..12f9e36 100644
--- a/pydantic/class_validators.py
+++ b/pydantic/class_validators.py
@@ -1,7 +1,6 @@
 import warnings
 from collections import ChainMap
 from functools import wraps
-from inspect import Signature, signature
 from itertools import chain
 from types import FunctionType
 from typing import TYPE_CHECKING, Any, Callable, Dict, Iterable, List, Optional, Set, Tuple, Type, Union, overload
@@ -10,6 +9,9 @@ from .errors import ConfigError
 from .typing import AnyCallable
 from .utils import in_ipython

+if TYPE_CHECKING:
+    from inspect import Signature
+

 class Validator:
     __slots__ = 'func', 'pre', 'each_item', 'always', 'check_fields', 'skip_on_failure'
@@ -196,6 +198,8 @@ def extract_root_validators(namespace: Dict[str, Any]) -> Tuple[List[AnyCallable
     for name, value in namespace.items():
         validator_config: Optional[Validator] = getattr(value, ROOT_VALIDATOR_CONFIG_KEY, None)
         if validator_config:
+            from inspect import signature
+
             sig = signature(validator_config.func)
             args = list(sig.parameters.keys())
             if args[0] == 'self':
@@ -231,6 +235,8 @@ def make_generic_validator(validator: AnyCallable) -> 'ValidatorCallable':
     It's done like this so validators don't all need **kwargs in their signature, eg. any combination of
     the arguments "values", "fields" and/or "config" are permitted.
     """
+    from inspect import signature
+
     sig = signature(validator)
     args = list(sig.parameters.keys())
     first_arg = args.pop(0)
@@ -254,7 +260,7 @@ def prep_validators(v_funcs: Iterable[AnyCallable]) -> 'ValidatorsList':
 all_kwargs = {'values', 'field', 'config'}

-def _generic_validator_cls(validator: AnyCallable, sig: Signature, args: Set[str]) -> 'ValidatorCallable':
+def _generic_validator_cls(validator: AnyCallable, sig: 'Signature', args: Set[str]) -> 'ValidatorCallable':
     # assume the first argument is value
     has_kwargs = False
     if 'kwargs' in args:
@@ -288,7 +294,7 @@ def _generic_validator_cls(validator: AnyCallable, sig: Signature, args: Set[str
         return lambda cls, v, values, field, config: validator(cls, v, values=values, field=field, config=config)

-def _generic_validator_basic(validator: AnyCallable, sig: Signature, args: Set[str]) -> 'ValidatorCallable':
+def _generic_validator_basic(validator: AnyCallable, sig: 'Signature', args: Set[str]) -> 'ValidatorCallable':
     has_kwargs = False
     if 'kwargs' in args:
         has_kwargs = True
diff --git a/pydantic/schema.py b/pydantic/schema.py
index 528525a..9f9da83 100644
--- a/pydantic/schema.py
+++ b/pydantic/schema.py
@@ -1,4 +1,3 @@
-import inspect
 import re
 import warnings
 from datetime import date, datetime, time, timedelta
@@ -451,6 +450,8 @@ def model_process_schema(
     sub-models of the returned schema will be referenced, but their definitions will not be included in the schema. All
     the definitions are returned as the second value.
     """
+    import inspect
+
     ref_prefix = ref_prefix or default_prefix
     known_models = known_models or set()
     s = {'title': model.__config__.title or model.__name__}

of course, that's what I did, see the branch I linked to, I've now added that commit here.

I still don't understand the inspect thing, but I think this is a good start.

Great, thanks for working on this.


Make it possible to develop without removing the install directory

add a check for $ignore_install_dir so we can develop without removing the install directory.
Also adds a global variable, $settings_loc which is the full file path to the Settings.php file.

See: http://www.elkarte.net/community/index.php?topic=2885

Hmm... I should have branched. Woops.

hmm...
conflicts...
Are all the commits relevant?

No, only the first. I didn't branch so they got added. The rest are undefined indices I found

hmm... I'll have a look this evening.
On 9/1/15, Joshua Dickerson<EMAIL_ADDRESS>wrote:

No, only the first. I didn't branch so they got added. The rest are
undefined indices I found

Reply to this email directly or view it on GitHub:
https://github.com/elkarte/Elkarte/pull/2198#issuecomment-136582095

I replaced this with #2224, so I'm closing this one.


Remove self-referential link in astro-pages.mdx

Removed a section linking to itself.
Took the opportunity to provide better, and future-proof, content collections nudging.

Lunaria Status Overview
🌕 This pull request will trigger status changes.

Learn more
By default, every PR changing files present in the Lunaria configuration's files property will be considered and trigger status changes accordingly.
You can change this by adding one of the keywords present in the ignoreKeywords property in your Lunaria configuration file in the PR's title (ignoring all files) or by including a tracker directive in the merged commit's description.

Tracked Files

Locale
File
Note

en
basics/astro-pages.mdx
Source changed, localizations will be marked as outdated.

Warnings reference

Icon
Description

🔄
The source for this localization has been updated since the creation of this pull request, make sure all changes in the source have been applied.

!coauthor


Change images in dark mode

Is your feature request related to a problem? Please describe.
I'd like to switch some pictures to their inverted form for better readability in dark mode.
Describe the solution you'd like
I tried this solution found here but I cant get it to work with this theme. Can you help me implementing it?
Pictures I'd like to invert are .png files.
Many thanks for this awesome theme!

@Hermit12 Thanks for your feature request.
I did a little bit of digging and looked at the source you had linked.
A sensible approach would be to extend the current figure shortcode with a parameter for the mode.
One thing I have noticed though is that you would need to upload two versions of the same image (a dark one and a light one). Are you aware of that?

Sorry for my late reply and thanks for your answer. I am aware of the fact that I need two kinds of images, the original and the invers one. An automatic conversion wouldn't always bring the right results and also not every image should be converted.
A workaround with shortcode would be nice. The approach in the source I linked should also work, but I couldn't find the name of the "dark" class.  If you change the .dark to the specific class in this theme it should work, if you copy
body:not(.dark) .mongo_dark {
  display: none;
}
.dark .mongo_light {
  display: none;
}

into the CSS file, or am I wrong?

After careful consideration I have decided to mark this request as "wont fix" as the overhead caused does not allign with the initial idea of a small and minmalistic theme.


UI throws fetch entity count error when there is no data in ElasticSearch

Affected module
UI
Describe the bug
When user installs OpenMetadata and no data is ingested , navigating to Explore page throws the fetch entity count error

Expected behavior
It is clear from the UI steps there is no data in ElasticSearch so do not throw a error
Version:

OS: [e.g. iOS]
Python version:
OpenMetadata version: [e.g. 0.8]
OpenMetadata Ingestion package version: [e.g. openmetadata-ingestion[docker]==XYZ]

Additional context
Add any other context about the problem here.

This is still happening, double check and close it if it fixed.

@harshach Yes it's happing we have this issue on the sandbox should be fixed in 0.12.1


Use TestContainerForAll for testing JDBC engine with testcontainers

:mag: Description
Issue References 🔗

This pull request fixes #
Describe Your Solution 🔧
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Types of changes :bookmark:

[ ] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Test Plan 🧪
Behavior Without This Pull Request :coffin:
Behavior With This Pull Request :tada:
Related Unit Tests

Checklists
📝 Author Self Checklist

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] This patch was not authored or co-authored using Generative Tooling

📝 Committer Pre-Merge Checklist

[ ] Pull request title is okay.
[ ] No license issues.
[ ] Milestone correctly set?
[ ] Test coverage is ok
[ ] Assignees are selected.
[ ] Minimum number of approvals
[ ] No changes are requested

Be nice. Be informative.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (9047151) 61.32% compared to head (aa63e26) 61.34%.
Report is 1 commits behind head on master.

Additional details and impacted files
@@             Coverage Diff              @@
##             master    #5862      +/-   ##
============================================
+ Coverage     61.32%   61.34%   +0.02%
  Complexity       23       23
============================================
  Files           612      612
  Lines         36238    36238
  Branches       4967     4967
============================================
+ Hits          22223    22232       +9
+ Misses        11612    11609       -3
+ Partials       2403     2397       -6

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

Thanks, merged to master (1.9.0).


[PG 15.8] fix: wrappers upgrades

Does not apply to existing 15.6 images
https://supabase.slack.com/archives/C01D6TWFFFW/p1727782368407699

Not a good fix - PG might become confused
Context - https://supabase.slack.com/archives/C01D6TWFFFW/p1727789824572759?thread_ts=1727782368.407699&cid=C01D6TWFFFW


Missing Preserve Attribute for AppleOSLogTarget

Xamarin.iOS will not load the MauiLog Target unless the following is added somewhere in the iOS portion of the solution.
[assembly: Preserve(typeof(NLog.Targets.AppleOSLogTarget), AllMembers = true)]
This should either be put in AppleOSLogTarget directly or should be noted in the readme.

Thought that ILLink.Descriptors.xml would do the trick:
https://github.com/NLog/NLog.Targets.MauiLog/blob/d21d68da21919d735ab408bfb48a2c71219b6e7c/src/NLog.Targets.MauiLog/NLog.Targets.MauiLog.csproj#L36
But maybe one need to apply:
<TrimmerRootDescriptor Include="ILLink.Descriptors.xml" />
Pull-requests are most wellcome.

This appears to only be an issue on Xamarin, Maui works fine.

Thought that Xamarin would listen to the PreserveAttribute.cs
https://github.com/NLog/NLog.Targets.MauiLog/blob/d21d68da21919d735ab408bfb48a2c71219b6e7c/src/NLog.Targets.MauiLog/Properties/AssemblyInfo.cs#L4

But maybe missing the , AllMembers = true)]

I use that attribute in my Xamarin Solution, but include the type in the constructor:

Thought one could specify it should be for all types in the assembly


Deprecate invalid timing inputs instead of throwing TypeErrors immediately

Deprecation is a temporary communication signal to users of the polyfill rather than a hard exception that halts JS execution.

lgtm


Spawn the reduce function in map_reduce() after a X% of done maps

Spawn the reduce function in map_reduce() after a configurable X% of done maps
Developer's Certificate of Origin 1.1
   By making a contribution to this project, I certify that:

   (a) The contribution was created in whole or in part by me and I
       have the right to submit it under the Apache License 2.0; or

   (b) The contribution is based upon previous work that, to the best
       of my knowledge, is covered under an appropriate open source
       license and I have the right under that license to submit that
       work with modifications, whether created in whole or in part
       by me, under the same open source license (unless I am
       permitted to submit under a different license), as indicated
       in the file; or

   (c) The contribution was provided directly to me by some other
       person who certified (a), (b) or (c) and I have not modified
       it.

   (d) I understand and agree that this project and the contribution
       are public and that a record of the contribution (including all
       personal information I submit with it, including my sign-off) is
       maintained indefinitely and may be redistributed consistent with
       this project or the open source license(s) involved.

@JosepSampe what is this PR about?

@gilv When using map_reduce(), this allows more fine-grain control to decide when to spawn the reduce function. Previously, by default the reduce function was immediately spawned. Now you can spawn the reduce function after a certain percentage of completed map activations. For example, you can decide to spawn the reducer when 80% of the map activations are completed.

@JosepSampe wow...sounds very good :)


Parameters Configure

Hi, Developers,
I recently reviewed the program and encountered an issue regarding the segmentation parameters. While I couldn't find where the segmenting parameters are explicitly set in the code, I did come across the file cfg/GroundGrid.cfg. However, the default values in this file seem to be quite different from those mentioned in your published paper.
I tried adjusting the parameters based on the paper, but there are still some parameters for which I couldn't find references. When I ran the program with my changes, points on the curb were not classified correctly but other points were perfectly classified. When I ran the program without changing any parameters (using the original settings), the curb points were classified correctly. I suspect this might be because I didn't configure all the parameters correctly.
Could you please clarify where the segmentation parameters are set? Alternatively, if the default settings (e.g., where max_ring=0 and points with label > 0 are ignored) are the intended configuration, could you confirm that as well?
Thank you for your help!

Hi @April-den,
Thank you for sharing your observations.
The parameter handling is done using dynamic reconfigure (https://wiki.ros.org/dynamic_reconfigure). You can view and change the parameters during run-time using rqt. The default values set in cfg/GroundGrid.cfg are the correct values to reproduce the results of the paper.
The max_ring parameter is not described in the paper because it is not necessary for the sensor of the KITTI data. It is needed for sensors that have lasers pointing upwards and thus never hitting the ground, for example, the Velodyne VLS128. These lasers need to be excluded from the ground detection, otherwise ceilings might be detected as ground.
The default value for the max_ring field is 256 and not 0.


bump: golang version for automation

What type of PR is this?

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #
Requirements:

[ ] uses conventional commit messages

[ ] includes documentation
[ ] adds unit tests
[ ] tested upgrade from previous version

Special notes for your reviewer:
Release note:
none

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall First build on amaheshwari/bumpgo at 61.476%

Totals

Change from base Build<PHONE_NUMBER>:
61.5%

Covered Lines:
2558

Relevant Lines:
4161

💛  - Coveralls


PSOParamGeneratorTest test failure

Seeing the following test failure when running play_command $OPTS clean test compile dist:
[info] Total for test com.linkedin.drelephant.mapreduce.fetchers.MapReduceFSFetcherHadoop2Test
[info] Finished in 0.0 seconds
[info] 5 tests, 0 failures, 0 errors
[error] Test com.linkedin.drelephant.tuning.PSOParamGeneratorTest.getParamsTest failed: Swarm size did not match expected:<3> but was:<0>
[error] Test com.linkedin.drelephant.tuning.PSOParamGeneratorTest.generateParamSetTest failed: java.lang.RuntimeException: java.lang.NullPointerException
[error]     at play.libs.Json.parse(Json.java:71)
[error]     at com.linkedin.drelephant.tuning.PSOParamGeneratorTest$2.run(PSOParamGeneratorTest.java:111)
[error]     at play.test.Helpers.running(Helpers.java:417)
[error]     at com.linkedin.drelephant.tuning.PSOParamGeneratorTest.generateParamSetTest(PSOParamGeneratorTest.java:79)
[error]     ...
[error] Caused by: java.lang.NullPointerException
[error]     at com.fasterxml.jackson.core.JsonFactory.createParser(JsonFactory.java:822)
[error]     at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2580)
[error]     at play.libs.Json.parse(Json.java:69)
[error]     ... 40 more

I met the same problem,did you fix that?

This seems related to the latest Auto-tuning changes.
@arpang / @mkumar1984 , can you take a look and provide some thoughts on this?

I have created a pull request addressing this issue: https://github.com/linkedin/dr-elephant/pull/343

@skakker, please close this issue, it is resolved.


All API documentation links are incorrect

Confirmation

[X] My issue isn't already found on the issue tracker.
[X] I have replicated my issue using the latest version of the library and it is still present.

cloudflare-go version
0.80.0
Go environment
GO111MODULE=''
GOARCH='arm64'
GOBIN=''
GOCACHE='/Users/dave/Library/Caches/go-build'
GOENV='/Users/dave/Library/Application Support/go/env'
GOEXE=''
GOEXPERIMENT=''
GOFLAGS=''
GOHOSTARCH='arm64'
GOHOSTOS='darwin'
GOINSECURE=''
GOMODCACHE='/Users/xxxxx/go/pkg/mod'
GONOPROXY=''
GONOSUMDB=''
GOOS='darwin'
GOPATH='/Users/dave/go'
GOPRIVATE=''
GOPROXY='https://proxy.golang.org,direct'
GOROOT='/opt/homebrew/Cellar/go/1.21.0/libexec'
GOSUMDB='sum.golang.org'
GOTMPDIR=''
GOTOOLCHAIN='auto'
GOTOOLDIR='/opt/homebrew/Cellar/go/1.21.0/libexec/pkg/tool/darwin_arm64'
GOVCS=''
GOVERSION='go1.21.0'
GCCGO='gccgo'
AR='ar'
CC='cc'
CXX='c++'
CGO_ENABLED='1'
GOMOD='/Users/xxxxxx/go/src/github.com/xxxxx/go.mod'
GOWORK=''
CGO_CFLAGS='-O2 -g'
CGO_CPPFLAGS=''
CGO_CXXFLAGS='-O2 -g'
CGO_FFLAGS='-O2 -g'
CGO_LDFLAGS='-O2 -g'
PKG_CONFIG='pkg-config'
GOGCCFLAGS='-fPIC -arch arm64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -ffile-prefix-map=/var/folders/lm/gzk1q0b95491ctlw16p4_4_m0000gn/T/go-build2255234786=/tmp/go-build -gno-record-gcc-switches -fno-common'

Expected output
Be able to understand easily which API call is called by each go function.
For example:
https://pkg.go.dev/github.com/cloudflare/cloudflare-go#API.CreateList
This should have a link which takes me to APIv4 docs for a specific api call
Actual output
https://pkg.go.dev/github.com/cloudflare/cloudflare-go#API.CreateList links to https://api.cloudflare.com/#rules-lists-create-list which redirects to https://developers.cloudflare.com/api/#rules-lists-create-list. This link takes you to the api docs landing page rather than a specific api call's documentation
Code demonstrating the issue
package main
import "log"
func main() {
log.Fatalf("API docs not found")
}
Steps to reproduce
go to https://pkg.go.dev/github.com/cloudflare/cloudflare-go#API.CreateList or any function that calls APIv4 and find the link spits you out on the documentation landing page.
I recommend fixing your old links at developers.cloudflare.com rather than changing the links in the code / docs here as that will fix for all references to your old api.cloudflare.com docs. Surprised to see that all the old links were broken.
References
no

thanks for the issue here. we're aware many of the links are no longer working as the API documentation now resides elsewhere. we have a ticket internally tracking this however, there is not currently an ETA or if we will remove them entirely given some of the endpoints have multiple sources of documentation.
for now, I recommend using developers.cloudflare.com/api directly for your documentation searching.


only concatenate relative paths while processing individual specs from the composite spec

Hi @amarzavery, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

It looks like you're a Microsoft contributor (Amar Zavery). If you're full-time, we DON'T require a Contribution License Agreement. If you are a vendor, please DO sign the electronic Contribution License Agreement. It will take 2 minutes and there's no faxing! https://cla.microsoft.com.

TTYL, MSBOT;


Understanding travis-worker and installing it locally.

I am interested to know about travis-worker and other components connected to it.
Is there any specific document which can help me to setup and configure travis-worker and rest
of the components (travis-build, travis-log, travis-hub) locally on a VM.
Also, I would appreciate if you can provide any documents or links which can help me understand the below better
a) There are installation steps available for travis-worker in README.md, but how do we configure travis-build, travis-log and travis-hub with it ?
b) How could we run a sample job with travis-worker and docker as a backend ?
c) As per my understanding travis-worker is responsible for creating VM/container with configured backend (docker, gce,  etc. ) then in such a scenario what is the role of travis-cookbooks ?

+1 would appreciate some more detailed documentation


[IOTDB-109]Fix native restore tsfile writer if file is complete and append=true

https://issues.apache.org/jira/projects/IOTDB/issues/IOTDB-109
when using nativeRestoreIOWriter to open a sealed TsFile with append=true mode, the parameter does not work now..
The correct behavior is:
if append == true, then the sealed TsFile's file metadata should be truncated and the existing metadata should be loaded into the memory.

Hm... @jt2594838  test failed..

The behavior of the class is:

if append == false, the writer will be closed after it is created.
a. if the tsfile is broken, the behavior of the class is fixing the broken tsfile and make it sealed.
b. if the tsfile is completed, the class does nothing.
if append == true, the writer will truncate some data:
a. if the tsfile is broken, then the broken data will be truncated; (And, this PR changes the strategy: the class will try its best to save correct data)
b. if the tsfile is completed, then the tail of the file (FileMetadata) will be truncated.

Therefore, if append == true, you must call close() in the end of your program; If append == false, you can call close() or not.

Well, as the class is renamed as RestorableTsFileIOWriter and does not support append at the end of a complete TsFile anymore, I think we can provide a new function to support appending data at the end of a tsfile:
  RestorableTsFileIOWriter createRestorableTsFileIOWriter(File file) throws IOException {
    long position = file.length();

    try (TsFileSequenceReader reader = new TsFileSequenceReader(file.getAbsolutePath(), false)) {
      // this tsfile is complete
      if (reader.isComplete()) {
        TsFileMetaData metaData = reader.readFileMetadata();
        for (TsDeviceMetadataIndex deviceMetadata : metaData.getDeviceMap().values()) {
          if (position > deviceMetadata.getOffset()){
            position = deviceMetadata.getOffset();
          }
        }
      }
    }

    if (position != file.length()) {
      // if the file is complete, we will remove all file metadatas
      try (FileChannel channel = FileChannel.open(Paths.get(file.getAbsolutePath()), StandardOpenOption.WRITE)){
        channel.truncate(position - 1);//remove the last marker.
      }
    }
    return new RestorableTsFileIOWriter(file);
  }


Bootable cart support

Cart image is generated with .ss extension. By default the file is zero-sized, because the IP_1ST_READ_SIZE is not provided in makefile, it defaults to 0, and the cart is not bootable with zero size. To make it work, IP_1ST_READ_SIZE in makefile needs to be set to either -1 (auto size) or a non-zero size. Sizes less than 0x20000 (both auto and manual) are extended to 0x20000, because the cart is unbootable with less sizes.
Cart can be launched in mednafen by providing a *.ss file name as a command line argument. For yabause forks, one need to set the cart type in settings to 16Mbit ROM, provide the *.ss file, and reboot the emulator.

Thank you for the changes. I'll be taking a look...

Merged manually without making changes directly to the PR branch.
Thanks.


Any idea why it happens and how we can fix it?

Hi! I have met the same issue. I didn't solve it yet but have changed the trigger from "click" to "hover" to avoid appearing such a huge amount of events (I had more than 600 popup elements and 600+ events accordingly). Such a temporary solution. Maybe it will be suitable for you too.


Data grouping

Is your feature request related to a problem? Please describe.
I am testing TableView but having hard times figuring out how to implement data grouping. Is there some example or solution hot to group data in TableView? Like in https://learn.microsoft.com/en-us/windows/communitytoolkit/controls/datagrid_guidance/group_sort_filter
Would be good to have such a functionality with possibility to collapse expand data, in line edit, remove and etc.
As in the screenshot below to have head item with sub items that are summed up in the head item.

TableView is inherited from ListView and I don't think ListView offers item groups that can expand or collapse. However, I can try to implement item groups like ListView provides.


[1246] allow banned checkin

Resolves #1246

everything works for me!

Can we write an integration spec to double check that it's still impossible to check out equipment from that view? I'm pretty sure I added authorization to both the manage view and the checkout action, but I'd feel better if we had a spec for it. Once that's done we can squash / merge!

Can I get a quick check over the integration spec before we merge this?

Nice work on those tests, just a few minor comments. I verified that this works manually as well; you can squash / merge / update the CHANGELOG whenever you're ready. :shipit:!

Oh no you broke it :stuck_out_tongue:

@squidgetx: any update?

should be good to go now

I'll re-review this when I'm back on a computer with internet and hopefully merge it in. Thanks!

Whoops, that was my bad (I left the quotes out of my suggested code). Looks good to me, merging!

@squidgetx: can you update the CHANGELOG in the #1230 branch? Thanks!


alpha.cuelang.org: integrations need a refresh

What page were you looking at?
https://alpha.cuelang.org/docs/integration/
What version of the site were you looking at?
https://github.com/cue-lang/cuelang.org/commit/eb2ecd699e4451e0284f62764d145abdd14040e2
What did you do?
Looked at the various integrations.
What did you expect?
Clear docs, working examples.
What did you see instead?
Legacy code being used.

I believe this should be moved to https://github.com/cue-lang/docs-and-content.


Edabit Solution Using Cpp

Want to Use C++ for Edabit Code
Please Consider This Repo :- https://github.com/Py-Droid/Edabit-Solutions

what help needed?


Feature request: Mark API operation as deprecated for OpenAPI documentation

Use case
When customizing API operations, I'd like to be able to mark an operation as deprecated (see Operation Object, OAS v3.0.3).
This helps to tell the users that an operation will be, well, deprecated. Here's what it looks like with Petstore example in Swagger Editor:

Solution/User Experience
An extra deprecated boolean parameter with a False default:
from aws_lambda_powertools.event_handler import APIGatewayRestResolver
from aws_lambda_powertools.event_handler.api_gateway import Router

app = APIGatewayRestResolver()

@app.get("/spam", deprecated=True)
def spam(name):
    return {"message": "mmm... tasty"}

@app.get("/eggs")  # deprecated=False by default
def eggs(name):
    return {"message": "cheese"}

router = Router()

@router.get("/ham", deprecated=True)
def ham():
    return {"message": "ham!"}

Acknowledgment

[x] This feature request meets Powertools for AWS Lambda (Python) Tenets
[ ] Should this be considered in other Powertools for AWS Lambda languages? i.e. Java, TypeScript, and .NET

Thanks for your hard work!

Hi @tcysin ! Thanks for opening this feature request, and sorry for the delay, we were at re:invent last week.
Would you like to open a PR with your solution or do you prefer us to work on it and come back to you?

It's all good 👍
Yeah, I'm giving it a try.


Update docs to fix typo

Fixes little whitespace typo in docs.

Codecov Report

Merging #452 into master will not change coverage.
The diff coverage is 100%.

@@           Coverage Diff           @@
##           master     #452   +/-   ##
=======================================
  Coverage   97.34%   97.34%
=======================================
  Files          15       15
  Lines         679      679
  Branches       93       93
=======================================
  Hits          661      661
  Misses          9        9
  Partials        9        9

Impacted Files
Coverage Δ

simple_history/__init__.py
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 585d540...efd5d64. Read the comment docs.


Pre-allocate capacity for maps in json! macro.

Attempt to resolve #810.
This implementation works by expanding the contents of the map twice, first producing a capacity value, then actually inserting the elements.
Because it expands the contents of the map twice, when encountering invalid syntax, it prints some error messages twice, which may be unwanted.

Actually, I think I could get rid of the duplicated error messages by just returning 0 in the capacity counting part of the macro when a syntax error has occurred, and just letting the actual parsing part of the macro print the actual error message.

The latest commit makes it so error messages are printed only once (like before) by just returning 0 if an error occurs in the capacity-counting part of the macro.
Considering that large enough invocations of this macro are more likely to hit the recursion limit than to cause compilation performance issues, I'm guessing performance is not a big issue here.
But anyway, i also did a small performance test.
My results were:
With features=["preserve_order"], debug compilation time went up from ~5 seconds to ~9 seconds, and release compilation time went up from ~20 seconds to ~25 seconds. Runtime did not appear to change significantly, and memory usage was decreased by more than half, from 736801 (bytes allocated as reported by valgrind) for the master branch, to 348933 for this pull request.
Without features=["preserve_order"], debug compilation time went up from ~5 seconds to ~8.5 seconds, and release compilation time went up from ~15 seconds to ~18 seconds. Runtime did not appear to change significantly, and memory usage was 909965 (bytes allocated as reported by valgrind) for all versions (debug/release, master/pull).
I used the following program with only serde_json as a direct dependency, and did cargo build; touch src/main.rs; time cargo build to get closer to accurate timings for just compiling the performance test code.
#![recursion_limit = "16384"]
use serde_json::json;
fn main() {
    let _m = include!("../test.json");
}

Where ../test.json is a file containing json!{ /* ~27 KiB of json */ }, as generated by this Python script with parameters size=1024 and max_depth=16:
import json
import random

ALPHABET: str = "abcdefghijklmnopqrstuvwxyz"

def make_random_key(size: int) -> str:
    return ''.join(random.choices(ALPHABET, k=size))

def make_random_map(size: int, max_depth: int) -> dict:
    if size <= 1 or max_depth <= 1:
        return {make_random_key(4): None for _ in range(size)}
    else:
        map = {}
        count: int = random.randint(1, size)
        each: int = size // count
        leftover: int = size % count
        for i in range(count):
            map[make_random_key(4)] = make_random_map(each + (1 if i < leftover else 0), max_depth-1)
        return map

def make_random_json(size: int, max_depth: int) -> str:
    return json.dumps(make_random_map(size, max_depth))

if __name__ == "__main__":
    import sys
    size = int(sys.argv[1])
    max_depth = int(sys.argv[2])
    print("json!{", make_random_json(size, max_depth), "}")

I've rebased onto current master. When I get a chance I'll re-do the performance test. Also, looking back, it'd probably be a good idea to only do this with features=["preserve_order"], since otherwise it doesn't actually improve memory usage at runtime. I'll also do that later.


Windows ZIP Version Does Not Support Update Notifications

Unlike the Linux *.tar.gz version, which at least checks for updates (even if it only redirects you to the website to download the latest version), the Windows *.zip version just doesn't check, forcing the user to manually check the website regularly just to keep up to date. It would be nice if this feature was implemented for the Windows *.zip version.

VSCode Version: N/A
OS Version: N/A

Steps to Reproduce:

Download and Unzip the VSCode ZIP Package for Windows
Run VSCode
"Check for Updates" is missing from the Help menu
Clicking the gear in the lower left hand corner shows "Updates Not Available"

Reproduces without extensions: Yes

Unfortunately that's gonna stay that way for now. Sorry about that. Updates are only supported via the Setup.


Problems with Activator 3.3

I downloaded the latest version of activator and had some problems.  I examined the source code of the .bat file and saw that I could fix many of them.
I haven't finished yet, but I would like to send it to you when I'm done.

That would be awesome, thanks! You can send it to<EMAIL_ADDRESS>so I can update it accordingly, will also be adding windows 11 support in the near future.


  I don't see any reference to it in the docs or the code.

It is comes with ember cli and it used to work fine on previous version.

We're going to remove ng destroy as there's a lot of logic in the generation and it's getting harder to support. We'll reinclude it when we have a proper story for generation.