Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • D dynamorio
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 1,467
    • Issues 1,467
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 44
    • Merge requests 44
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • DynamoRIO
  • dynamorio
  • Issues
  • #2484
Closed
Open
Issue created Jun 26, 2017 by Administrator@rootContributor

Dynamorio installation on x86 emulator fails with undefined symbol errors

Created by: techvoltage

I tried to install Dynamorio for Genymotion emulator(x86). I used the following commands

~/android-sdk-linux/android-ndk-r12b/build/tools/make-standalone-toolchain.sh --arch=x86 --platform=android-21 --install-dir=/tmp/android-ndk-21
git clone https://github.com/DynamoRIO/dynamorio.git
mkdir build_android
cd build_android
ln -sf i686-linux-android-ld.bfd /tmp/android-ndk-21/bin/i686-linux-android-ld
ln -sf ld.bfd /tmp/android-ndk-21/i686-linux-android/bin/ld
cmake -DCMAKE_TOOLCHAIN_FILE=../dynamorio/make/toolchain-android.cmake -DANDROID_TOOLCHAIN=/tmp/android-ndk-21 -DDR_COPY_TO_DEVICE=ON -DCMAKE_C_COMPILER=/tmp/android-ndk-21/bin/i686-linux-android-gcc -DCMAKE_CXX_COMPILER=/tmp/android-ndk-21/bin/i686-linux-android-g++ -DBUILD_TOOLS=OFF -DBUILD_CLIENTS=OFF -DTARGET_ABI=i686-linux-android ../dynamorio 
make all

However the installation fails with undefined reference errors:

[ 73%] Built target drsyms
Scanning dependencies of target drsyms_bench
[ 74%] Building C object ext/drsyms/CMakeFiles/drsyms_bench.dir/drsyms_bench.c.o
[ 74%] Linking C executable ../drsyms_bench
/tmp/android-ndk-21/bin/../lib/gcc/i686-linux-android/4.9.x/../../../../i686-linux-android/bin/ld: warning: libm.so, needed by ../lib32/release/libdrsyms.so, not found (try using -rpath or -rpath-link)
../lib32/release/libdrsyms.so: undefined reference to `__ctype_b_loc'
../lib32/release/libdrsyms.so: undefined reference to `__assert_fail'
../lib32/release/libdrsyms.so: undefined reference to `__fxstat'
../lib32/release/libdrsyms.so: undefined reference to `__errno_location'
../lib32/release/libdrsyms.so: undefined reference to `__strdup'
collect2: error: ld returned 1 exit status
ext/drsyms/CMakeFiles/drsyms_bench.dir/build.make:96: recipe for target 'ext/drsyms_bench' failed
make[2]: *** [ext/drsyms_bench] Error 1
CMakeFiles/Makefile2:948: recipe for target 'ext/drsyms/CMakeFiles/drsyms_bench.dir/all' failed
make[1]: *** [ext/drsyms/CMakeFiles/drsyms_bench.dir/all] Error 2
Makefile:149: recipe for target 'all' failed
make: *** [all] Error 2
Assignee
Assign to
Time tracking