Comments (14)
r2pm -Uci r2dec
-U updates the database
There’s also r2dec-duk which picks then last commit that used duktape. The default pkg uses master
from r2dec-js.
i added an rm -rf b
at the begining to force meson rebuild the directory. it should work well for you too. thanks for reporting
from r2dec-js.
commit 6ba7ae5 works:
❯ git checkout 6ba7ae5
Note: switching to '6ba7ae5'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:
git switch -c <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 6ba7ae5 Add missing "b.le" on arm
❯ make -C p USE_JSC=1 V=
make: Entering directory '/root/.local/share/radare2/r2pm/git/r2dec/p'
awk '{if(/@JSC_SOURCES@/)exit;print}' < r2dec_jsc.c.in > r2dec_jsc.c
python make_jsc.py .. >> r2dec_jsc.c
awk 'BEGIN{A=0}{if(A==1){print}if(/@JSC_SOURCES@/)A=1}' < r2dec_jsc.c.in >> r2dec_jsc.c
make build
make[1]: Entering directory '/root/.local/share/radare2/r2pm/git/r2dec/p'
echo "[CC] duktape/duktape.o"
[CC] duktape/duktape.o
cc -DR2DEC_HOME="/root/.local/share/radare2/r2pm/git/r2dec/" -g -O3 -std=c99 -Wall -fPIC -I./duktape -DUSE_JSC=1 -g -O3 -std=c99 -Wall -fPIC -I./duktape -DUSE_JSC=1 -I/usr/local/include/libr -c duktape/duktape.c -o duktape/duktape.o
echo "[CC] duktape/duk_console.o"
[CC] duktape/duk_console.o
cc -DR2DEC_HOME="/root/.local/share/radare2/r2pm/git/r2dec/" -g -O3 -std=c99 -Wall -fPIC -I./duktape -DUSE_JSC=1 -g -O3 -std=c99 -Wall -fPIC -I./duktape -DUSE_JSC=1 -I/usr/local/include/libr -c duktape/duk_console.c -o duktape/duk_console.o
echo "[CC] core_pdd.o"
[CC] core_pdd.o
cc -DR2DEC_HOME="/root/.local/share/radare2/r2pm/git/r2dec/" -g -O3 -std=c99 -Wall -fPIC -I./duktape -DUSE_JSC=1 -g -O3 -std=c99 -Wall -fPIC -I./duktape -DUSE_JSC=1 -I/usr/local/include/libr -c core_pdd.c -o core_pdd.o
echo "[CC] core_pdd.so"
[CC] core_pdd.so
cc -lm -L/usr/local/lib -lr_core -lr_config -ldl -lr_debug -ldl -lr_bin -ldl -lr_lang -ldl -lr_anal -ldl -lr_bp -ldl -lr_egg -ldl -lr_asm -ldl -lr_flag -ldl -lr_search -ldl -lr_syscall -ldl -lr_fs -ldl -lr_io -ldl -lr_socket -ldl -lr_cons -ldl -lr_magic -ldl -lr_crypto -ldl -lr_arch -ldl -lr_esil -ldl -lr_reg -ldl -lr_util -ldl -shared duktape/duktape.o duktape/duk_console.o core_pdd.o -o core_pdd.so
make[1]: Leaving directory '/root/.local/share/radare2/r2pm/git/r2dec/p'
make: Leaving directory '/root/.local/share/radare2/r2pm/git/r2dec/p'
Radare2 version 5.8.9 (although, looking at the latest r2dec commits, I don't think it matters)
❯ radare2 -v
radare2 5.8.9 31530 @ linux-x86-64
birth: git.5.8.8-888-g4ceb8ebba3 2023-11-23__19:36:13
commit: 4ceb8ebba36c9aefa6803f70e88248469b486f87
options: gpl -O? cs:5 cl:2 make
from r2dec-js.
yes ofc. @trufae you should use tags not master as is, unless you update it to use meson and the new folder structure.
from r2dec-js.
I updated the package and it should work. Did you updated the database?
from r2dec-js.
@dguerri please confirm this is fixed and close the issue :)
from r2dec-js.
It seems to be failing silently as b
doesn't contain a valid build tree:
❯ r2pm -Uci r2dec
INFO: Nothing to upgrade
INFO: Cleaning r2dec
INFO: Using r2-5.8.9 and r2pm-5.8.9
INFO: Cleaning r2dec
INFO: git clone --depth=10 --recursive https://github.com/wargio/r2dec-js /root/.local/share/radare2/r2pm/git//r2dec
Cloning into '/root/.local/share/radare2/r2pm/git//r2dec'...
remote: Enumerating objects: 258, done.
remote: Counting objects: 100% (258/258), done.
remote: Compressing objects: 100% (197/197), done.
remote: Total 258 (delta 87), reused 170 (delta 52), pack-reused 0
Receiving objects: 100% (258/258), 1.50 MiB | 7.04 MiB/s, done.
Resolving deltas: 100% (87/87), done.
INFO: Starting install for r2dec
INFO: R2PM_NEEDS: Found gcc in PATH
INFO: R2PM_NEEDS: Found make in PATH
INFO: R2PM_NEEDS: Found ninja in PATH
INFO: SCRIPT=<<EOF
INFO: meson b --reconfigure || exit 1
( cd b && ninja ) || exit 1
if [ "${GLOBAL}" = 1 ]; then
${R2PM_SUDO} ninja uninstall
${R2PM_SUDO} ninja install V= USE_JSC=1 || exit 1
else
mkdir -p ${R2PM_PLUGDIR}
cp -f b/libcore_pdd.${R2_LIBEXT} ${R2PM_PLUGDIR}
echo "${R2PM_PLUGDIR}/libcore_pdd.${R2_LIBEXT}"
fi
INFO: EOF
Directory does not contain a valid build tree:
/root/.local/share/radare2/r2pm/git/r2dec/b
❯ echo $?
0
from r2dec-js.
This worked:
cd /root/.local/share/radare2/r2pm/git/r2dec
meson . b
ninja install
from r2dec-js.
I think it's somehow trying to use the old build "system" with meson and ninja instead of make
from r2dec-js.
works fine here
0$ r2pm -ci r2dec
INFO: Cleaning r2dec
INFO: Using r2-5.8.9 and r2pm-5.8.9
INFO: Cleaning r2dec
INFO: git clone --depth=10 --recursive https://github.com/wargio/r2dec-js /Users/pancake/.local/share/radare2/r2pm/git//r2dec
Cloning into '/Users/pancake/.local/share/radare2/r2pm/git//r2dec'...
remote: Enumerating objects: 258, done.
remote: Counting objects: 100% (258/258), done.
remote: Compressing objects: 100% (197/197), done.
remote: Total 258 (delta 87), reused 170 (delta 52), pack-reused 0
Receiving objects: 100% (258/258), 1.50 MiB | 5.97 MiB/s, done.
Resolving deltas: 100% (87/87), done.
INFO: Starting install for r2dec
INFO: R2PM_NEEDS: Found gcc in PATH
INFO: R2PM_NEEDS: Found make in PATH
INFO: R2PM_NEEDS: Found ninja in PATH
INFO: SCRIPT=<<EOF
INFO: meson b --reconfigure || exit 1
( cd b && ninja ) || exit 1
if [ "${GLOBAL}" = 1 ]; then
${R2PM_SUDO} ninja uninstall
${R2PM_SUDO} ninja install V= USE_JSC=1 || exit 1
else
mkdir -p ${R2PM_PLUGDIR}
cp -f b/libcore_pdd.${R2_LIBEXT} ${R2PM_PLUGDIR}
echo "${R2PM_PLUGDIR}/libcore_pdd.${R2_LIBEXT}"
fi
INFO: EOF
The Meson build system
Version: 1.2.3
Source dir: /Users/pancake/.local/share/radare2/r2pm/git/r2dec
Build dir: /Users/pancake/.local/share/radare2/r2pm/git/r2dec/b
Build type: native build
Project name: r2dec
Project version: undefined
C compiler for the host machine: cc (clang 15.0.0 "Apple clang version 15.0.0 (clang-1500.0.40.1)")
C linker for the host machine: cc ld64 1015.7
Host machine cpu family: aarch64
Host machine cpu: aarch64
Cloning into 'libquickjs'...
remote: Enumerating objects: 544, done.
remote: Counting objects: 100% (349/349), done.
remote: Compressing objects: 100% (96/96), done.
remote: Total 544 (delta 289), reused 253 (delta 253), pack-reused 195
Receiving objects: 100% (544/544), 1.85 MiB | 3.75 MiB/s, done.
Resolving deltas: 100% (389/389), done.
HEAD is now at c81f05c Fix unclean double<>int64 comparisons (#6)
Executing subproject libquickjs
libquickjs| Project name: quickjs
libquickjs| Project version: 2021-03-27-frida
libquickjs| C compiler for the host machine: cc (clang 15.0.0 "Apple clang version 15.0.0 (clang-1500.0.40.1)")
libquickjs| C linker for the host machine: cc ld64 1015.7
libquickjs| Run-time dependency threads found: YES
libquickjs| Library dl found: YES
libquickjs| Library m found: YES
libquickjs| Has header "unistd.h" : YES
libquickjs| Checking for function "malloc_usable_size" : NO
libquickjs| Configuring config.h using configuration
libquickjs| Build targets in project: 2
libquickjs| Subproject libquickjs finished.
Program radare2 found: YES (/usr/local/bin/radare2)
Library r_core found: YES
Library r_util found: YES
Library r_cons found: YES
Library r_config found: YES
Library r_io found: YES
Message: radare2 include dir: /usr/local/include/libr
Message: radare2 library dir: /usr/local/lib
Message: radare2 plugin dir: /usr/local/lib/radare2/5.8.9
Build targets in project: 6
r2dec undefined
Subprojects
libquickjs: YES
Found ninja-1.11.1 at /opt/homebrew/bin/ninja
WARNING: Running the setup command as `meson [options]` instead of `meson setup [options]` is ambiguous and deprecated.
[6/18] Linking target modjs_gen
ld: warning: -undefined error is deprecated
[12/18] Linking target subprojects/libquickjs/qjsc
ld: warning: -undefined error is deprecated
[18/18] Linking target libcore_pdd.dylib
ld: warning: -undefined error is deprecated
/Users/pancake/.local/share/radare2/plugins/libcore_pdd.dylib
0$
from r2dec-js.
Weird! Could it be the meson version?
I will look into it as soon I am back home.
from r2dec-js.
I am still seeing the above issue on a vanilla Ubuntu 22.04.3. Meson version 0.61.2
❯ r2pm -Uic r2dec
INFO: Nothing to upgrade
INFO: Cleaning r2dec
INFO: Using r2-5.8.9 and r2pm-5.8.9
INFO: Cleaning r2dec
INFO: git clone --depth=10 --recursive https://github.com/wargio/r2dec-js /root/.local/share/radare2/r2pm/git//r2dec
Cloning into '/root/.local/share/radare2/r2pm/git//r2dec'...
remote: Enumerating objects: 258, done.
remote: Counting objects: 100% (258/258), done.
remote: Compressing objects: 100% (197/197), done.
remote: Total 258 (delta 87), reused 170 (delta 52), pack-reused 0
Receiving objects: 100% (258/258), 1.50 MiB | 6.85 MiB/s, done.
Resolving deltas: 100% (87/87), done.
INFO: Starting install for r2dec
INFO: R2PM_NEEDS: Found gcc in PATH
INFO: R2PM_NEEDS: Found make in PATH
INFO: R2PM_NEEDS: Found ninja in PATH
INFO: R2PM_NEEDS: Found meson in PATH
INFO: SCRIPT=<<EOF
INFO: rm -rf b
meson b --reconfigure || exit 1
ninja -C b || exit 1
if [ "${GLOBAL}" = 1 ]; then
${R2PM_SUDO} ninja uninstall
${R2PM_SUDO} ninja install || exit 1
else
mkdir -p ${R2PM_PLUGDIR}
cp -f b/libcore_pdd.${R2_LIBEXT} ${R2PM_PLUGDIR}
echo "${R2PM_PLUGDIR}/libcore_pdd.${R2_LIBEXT}"
fi
INFO: EOF
Directory does not contain a valid build tree:
/root/.local/share/radare2/r2pm/git/r2dec/b
❯ meson -v
0.61.2
❯ cat /etc/issue.net
Ubuntu 22.04.3 LTS
meson b --reconfigure
seems to work only on a previously "primed" b
directory.
What works for me is:
❯ pwd
/root/.local/share/radare2/r2pm/git/r2dec
❯ rm -rf b
❯ meson . b
The Meson build system
Version: 0.61.2
Source dir: /root/.local/share/radare2/r2pm/git/r2dec
Build dir: /root/.local/share/radare2/r2pm/git/r2dec/b
Build type: native build
Project name: r2dec
Project version: undefined
C compiler for the host machine: cc (gcc 11.4.0 "cc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0")
C linker for the host machine: cc ld.bfd 2.38
Host machine cpu family: x86_64
Host machine cpu: x86_64
Executing subproject libquickjs
libquickjs| Project name: quickjs
libquickjs| Project version: 2021-03-27-frida
libquickjs| C compiler for the host machine: cc (gcc 11.4.0 "cc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0")
libquickjs| C linker for the host machine: cc ld.bfd 2.38
libquickjs| Run-time dependency threads found: YES
libquickjs| Library dl found: YES
libquickjs| Library m found: YES
libquickjs| Has header "unistd.h" : YES
libquickjs| Checking for function "malloc_usable_size" : YES
libquickjs| Configuring config.h using configuration
libquickjs| Build targets in project: 2
libquickjs| Subproject libquickjs finished.
Program radare2 found: YES (/usr/local/bin/radare2)
Library r_core found: YES
Library r_util found: YES
Library r_cons found: YES
Library r_config found: YES
Library r_io found: YES
Message: radare2 include dir: /usr/local/include/libr
Message: radare2 library dir: /usr/local/lib
Message: radare2 plugin dir: /usr/local/lib/radare2/5.8.9
Build targets in project: 6
r2dec undefined
Subprojects
libquickjs: YES
Found ninja-1.10.1 at /usr/bin/ninja
❯ ninja -C b
ninja: Entering directory `b'
[18/18] Linking target libcore_pdd.so
from r2dec-js.
I see you are using MacOS, and the version of meson shipped with homebrew is 1.3.0
:
❯ brew info meson
==> meson: stable 1.3.0 (bottled), HEAD
Maybe a safe option could be to wipe b
and then use
meson . b
Instead of
meson b --reconfigure
from r2dec-js.
try again, i removed the --reconfigure flag
from r2dec-js.
Related Issues (20)
- w32 binaries HOT 1
- GetSystemTimePreciseAsFileTime undefined reference on Windows 7 HOT 6
- [arm64] HOT 6
- Stand-alone use? HOT 1
- Wrong order of arguments of C function HOT 5
- M1 Macbook(2020) r2pm install r2dec can't run HOT 3
- pdd crash on ARM HOT 1
- pddl do not analyse all func HOT 1
- Missing instructions on x64
- README.md RISC-V
- pdd command crashes (always)
- Cut a new release HOT 4
- radare2: symbol lookup error: /root/.local/share/radare2/plugins/core_pdd.so: undefined symbol: r_cons_strcat HOT 9
- esm and qjs rewrite HOT 6
- Missing instructions for ARM64 HOT 2
- CC warning in pddi
- Include r2 and r2dec version information inside the pddi output HOT 1
- Remove duktape references in the DEVELOPERS doc HOT 2
- Debian package HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from r2dec-js.