Substitutions of method in graalvm - graalvm

I am trying to substitute a method inside a library while building native image however I can't get it to work. I have made a sample project on github . When I try to run native-image -jar target/graal-substitutions-full.jar -H:+ReportPerformedSubstitutions. The method I am trying to substitute is missing from the report can someone tell me what is it I am missing.

Related

How does AOSP build system produce .rsp files and how to get them?

According to How does AOSP 9.0 build system link the executable? and What does # mean in this clang command in AOSP build log? , when linking a module, AOSP seems to produce a .rsp file that contains all the obj files that the module need,and pass the file name as a parameter to the link command, for example:
prebuilts/clang/host/linux-x86/clang-4691093/bin/clang++ /OpenSource/Build/Android/9.0.0_r30/soong/.intermediates/bionic/libc/crtbegin_so/android_x86_64_core/crtbegin_so.o #/OpenSource/Build/Android/9.0.0_r30/soong/.intermediates/frameworks/base/libs/hwui/libhwui/android_x86_64_core_shared/libhwui.so.rsp ......
But the .rsp files seems to be removed after build.
The question is, how are these file generated and how to get these files? This may require to learn and modify the build scripts which is out of reach for me.
There maybe the answer for you, read the ninja build manual , in that manual .rsp file mentioned.
https://ninja-build.org/manual.html
the following is info that I copy out.
rspfile, rspfile_content
if present (both), Ninja will use a response file for the given command, i.e. write the selected string (rspfile_content) to the given file (rspfile) before calling the command and delete the file after successful execution of the command.
This is particularly useful on Windows OS, where the maximal length of a command line is limited and response files must be used instead.

Using TDBLoader in JENA

I'm trying to learn how to use TDBLoader using this example I found:
https://github.com/ijdickinson/jena-tdb-ont-example
However, when trying to run the init-demo script, I keep running into issues
https://github.com/ijdickinson/jena-tdb-ont-example/blob/master/src/main/script/init-demo
I'm using cygwin to attempt to run the script, but I keep getting please ensure $Path contains $TDBROOT/bin
I set TDBROOT= C:\Development\apache-jena-2.12.1
And my Path has "%TDBROOT\bin"
I'm really new to using command line and shell scripts, so I'm not at all familiar with how to go about debugging this.
I have my tdbloader in apache-jena-2.12.1\bin , is there a way I can check if this is even working? Or if my path is properly set?
I tried "tdbloader" and "-v tdbloader" in command line and I get "tdbloader" is not recognized...
That's not supposed to happen if my path is set correctly, right?

Compiling C extension with anaconda on Travis-CI missing __log_finite symbol

A C extension module that compiles fine on Travis-CI without anaconda fails when installed with anaconda. It appears to install just fine, but when I try to import it, I get the following error:
ImportError: /home/travis/anaconda/lib/python2.7/site-packages/quaternion/numpy_quaternion.so: undefined symbol: __log_finite
The full error can be seen here. Obviously, this looks like a linker error, where it can't find glibc (which I believe is where __log_finite is found). But why should it fail to find glibc?
When I run nm on that .so file (through Travis), it shows that __log_finite is indeed undefined, but shouldn't it find it through the usual process?
I've tried installing quaternion through pip and I've tried installing it by directly downloading it and running python setup.py install. Both seem to work, in the sense that it looks like all the files are where they should be. But both fail on import because they can't find that symbol.
I've even tried installing the full version of anaconda (rather than just miniconda, which is recommended). Nothing seems to work. How can I make Travis find that symbol, and is this something I'll have to worry about ordinarily with my distribution?
It appears to be a problem with a -ffast-math flag in my quaternion package. One thing that flag does is make the code assume that the numbers are finite, so that instead of using the log function, it uses some log_finite function, which for some reason Travis doesn't have --- or something. Anyway, I have my numba package set an environment variable in Travis builds, which the quaternion package then looks for on installation, and turns off fast-math. This is unfortunate, because it means I'm not actually testing the code as it's actually used. But it means my code builds and tests pass.
There seems to be about one mention of this on the internet. Or not; I can't tell.

Can I build Xamarin iOS from the csproj only an not use the solution command line

I have a few apps i want to build inside my solution and I want to build them separately
running :
/Applications/Xamarin\ Studio.app/Contents/MacOS/mdtool -v build "--configuration:Release|iPhone" ./42.csproj
fails.
I do see that all of Xamarin examples use a solution file (.sln) with the mdtool, but I am still wondering of there is a way to reference just on project inside my solution.
You can run it like this:
/Applications/Xamarin\ Studio.app/Contents/MacOS/mdtool -v build -c:"Release|iPhone" -p:"42"
You need to make sure you are in your solution folder when you run this. The 42 in the above command should reference the sub folder that your iOS project file is in, not the project file itself.
Well After talking with xamarin they claim that using mdtool is not recommended. I was told to use xbuild and the way to do it is:
xbuild Project.sln /p:Configuration=AppStore /p:Platform=iPhone /p:BuildIpa=true /t:42
This will set the BuildIpa flag to true.

Dart and package root

Im running some code using the dart VM from the command line.
the command is:
dart --checked -package-root=/dart/packages test_service.dart
however Im getting an error:
gf_service.dart': error: line 7 pos 1: library handler failed
import 'package:start/start.dart' as start;
Im confused since in the dir referenced by "-package-root" argument Im definitely seeing the "start/start.dart" file, so it exists. the -package-root folder is also correct.
is there something Im missing?
thank you
Normally you don't need the -package-root argument but the directory that contains the script file should have a symbolic link to the packages directory of your package. pub get should create these symlinks.
the solution to this issue is to use "--package-root" as the argument name, and not "-package-root" as googles own dart documentation says
https://www.dartlang.org/docs/dart-up-and-running/contents/ch04-tools-dart-vm.html
(this should be fixed)
Im using dart vm 1.3.0

Resources