error on cross compile gdbserver - linux

I want to use gdb to debug on arm-Linux development board. I get error when compiling gdbserver.
Host: Ubuntu 11 32bit
Target: arm-linux-gcc (gcc version 4.4.3)
root#mickeyvm:/home/mickey/gdb-7.4# ./configure --target=arm-linux --host=arm-linux
make
I get this error message:
configure: error: no termcap library found
From what I have searched in Google. The compiler cannot get ncurses library.
checking for tgetent in -ltermcap... no
checking for tgetent in -ltinfo... no
checking for tgetent in -lcurses... no
checking for tgetent in -lncurses... no
I follow suggested solution to install libncurses5-dev, but the problem still exist.
The libncurses5 really exists in my Linux.
root#mickeyvm:/home/mickey# dpkg -l | grep curse
ii libcurses-perl 1.28-1 Curses interface for Perl
ii libghc6-hscurses-dev 1.3.0.2-3build3 ncurses bindings for Haskell - development files for GHC6
ii libncurses5 5.7+20101128-1 shared libraries for terminal handling
ii libncurses5-dev 5.7+20101128-1 developer's libraries for ncurses
ii libncursesw5 5.7+20101128-1 shared libraries for terminal handling (wide character support)
ii libncursesw5-dev 5.7+20101128-1 developer's libraries for ncursesw
ii mtr-tiny 0.80-1 Full screen ncurses traceroute tool
ii ncurses-base 5.7+20101128-1 basic terminal type definitions
ii ncurses-bin 5.7+20101128-1 terminal-related programs and man pages
ii ncurses-term 5.7+20101128-1 additional terminal type definitions
Please help and point out what I missed. Thank you very much

Host: Ubuntu 11 32bit
32-bit what? Presumably your host is i686-linux-gnu, and not sparc-linux-gnu.
./configure --target=arm-linux --host=arm-linux
With above command you are attempting to build GDB that will run on arm-linux and debug arm-linux binaries, i.e. you are configuring a native GDB for arm-linux (but building it on i686-linux). Such native GDB can't use host libraries (for obvious reasons).
But it looks like you want a cross-gdb, not a native one. In that case, try
./configure --build=i686-linux --host=i686-linux --target=arm-linux
Reading this might help.

Related

How to build MinGW linux compiler from sources?

I want to install wine using a remote terminal. My main limitation is that I can't use sudo, or apt-get. To install wine, I am following the steps described here. When I run the command /configure --enable-win64, I get:
(...)
configure: MinGW compiler not found, cross-compiling PE files won't be supported.
configure: libXxf86vm 64-bit development files not found, XFree86 Vidmode won't be supported.
configure: libOSMesa 64-bit development files not found (or too old), OpenGL rendering in bitmaps won't be supported.
configure: OpenCL 64-bit development files not found, OpenCL won't be supported.
configure: pcap 64-bit development files not found, wpcap won't be supported.
configure: libdbus 64-bit development files not found, no dynamic device support.
configure: libsane 64-bit development files not found, scanners won't be supported.
configure: libusb-1.0 64-bit development files not found (or too old), USB devices won't be supported.
configure: libgphoto2 64-bit development files not found, digital cameras won't be supported.
configure: libgphoto2_port 64-bit development files not found, digital cameras won't be auto-detected.
configure: gstreamer-1.0 base plugins 64-bit development files not found, GStreamer won't be supported.
configure: OSS sound system found but too old (OSSv4 needed), OSS won't be supported.
configure: libudev 64-bit development files not found, plug and play won't be supported.
configure: libSDL2 64-bit development files not found, SDL2 won't be supported.
configure: libcapi20 64-bit development files not found, ISDN won't be supported.
configure: libcups 64-bit development files not found, CUPS won't be supported.
configure: libopenal 64-bit development files not found (or too old), OpenAL won't be supported.
configure: libnetapi not found, Samba NetAPI won't be supported.
configure: Finished. Do 'make' to compile Wine.
I understand that I need a MinGW compiler first. Every search I do on how to install it leads to using sudo or apt-get, which I can't do.
So my question is, how to install gcc-mingw from sources or without using sudo, apt-get??
Thank you.

How do i get the path of ncurses library on CentOS 8?

I'm trying to compile vim8.2 on CentOS 8.4.
When executing ./configure --with-features=huge --enable-multibyte --enable-python3interp --enable-perlinterp --enable-luainterp --enable-cscope --enable-fail-if-missing --with-python3-command=/usr/bin/python3.8 --with-tlib=ncurses, it renders the error:
checking for linking with ncurses library... OK
checking for tgetent()... configure: error: NOT FOUND!
You need to install a terminal library; for example ncurses.
Or specify the name of the library with --with-tlib.
I've installed ncurses with its respective libraries, ncurses ncurses-devel ncurses-libs ncurses-compat-libs ncurses-c++-libs.
The question lies where to find the ncurses libraries, so that it can be pointed to
--with-tlib. Thanks in advance.
Vim's a termcap application, and uses only the low-level termcap functions from the ncurses libraries. CentOS packages that as two libraries (ncurses or ncursesw, and tinfo). That's been a configure-option of ncurses since 1998, and is used by packagers who want to minimize the size of installers, etc.
If it used pkg-config, vim's configure script would do the right thing with this output:
% pkg-config --libs ncurses
-lncurses -ltinfo
For "tlib", you'll need the "tinfo" library, e.g.,
--with-tlib=tinfo
However, on some systems, there can be additional problems. In any case, the actual problem is reported in the config.log file. On inspecting that, most developers find the solution obvious.
(This was asked previously without the answer providing insight).

How to install C compiler for GCC without Internet connection? (RHEL6)

I'm attempting to build GCC from source on a RHEL6 virtual machine, and have run into a Catch 22. That is, I need a C compiler for successful configuration. The solution seems simple enough - execute yum to solve dependencies. However, this virtual machine cannot have an Internet connection.
Does anybody have any sources for a binary or .rpm containing a pre-compiled compiler, simplifying installation? I've searched, but cannot find one. Alternatively, does a RHEL6 command exist to install a pre-compiled version of GCC? If neither are possible, what C compilers might I pursue to resolve this?
For context, here's the message I receive:
../gcc-4.7.2/configure
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether ln works... yes
checking whether ln -s works... yes
checking for a sed that does not truncate output... /bin/sed
checking for gawk... gawk
checking for libitm support... yes
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in `/gcc/gcc-build':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details.
It is not possible to compile gcc source code without any C compiler installed on your VM.
If you can transform files from your host to VM, then you have two ways:
Compile the source code on your host and copy them to your VM. Use ./configure --prefix=/<path>/<to>/<output> to specify the output directory. If your VM CPU arch is different from your host, you may want to look at cross compile.
Download gcc rpm package from a Redhat's rpm repository mirror. Search it in google and you will get an answer.
But it is always a good idea to use yum or rpm to install software in RHEL. I have some questions about your problem:
Why you don't have gcc installed on your RHEL6? It is installed by default.
What VM are you using? The best solution of your problem may be figuring out a way to get network available in your VM.
Since you don't have Internet access on your VM, you probably won't be able to use the dependency resolving yum or rpm. I'll assume you don't want to connect or can't connect the VM to the internet.
From an Internet connected system, you can download a self-contained pre-built version of GCC and the rest of the toolchain here:
http://www.mentor.com/embedded-software/sourcery-tools/sourcery-codebench/editions/lite-edition/
The IA32 GNU/Linux native compiler is here:
http://www.mentor.com/embedded-software/sourcery-tools/sourcery-codebench/editions/lite-edition/ia32-gnu-linux
https://sourcery.mentor.com/GNUToolchain/package10871/public/i686-pc-linux-gnu/ia32-2012.09-62-i686-pc-linux-gnu.bin
You will still need to find a way to get the installer onto your VM.

Debugging Helpers in Qtcreator don't work on Linux

and sorry for mess English.
In theory while debugging in qt-creator show fields of classes defined in Qt.
But it doesn't do it and display only or mem address.
I think that the problem in GDB or Python scripts.
GDB loaded from http://origin.releases.qt-project.org/gdb/ gives what is described above.
I tried to Build GDB myself with config flags
configure --prefix=<DIR> --target x86_64-linux-gnu --with-python
and
configure --target x86_64-linux-gnu --disable-nls --with-libiconv --with-expat --with-python
but they crash while starting from Qtcreator
i'm running on Ubuntu 12.10 x64
Qt version is 4.8.4 (from Git)
and creators are 2.5.2(from qt-project site) and 2.6.81 (git)
GDB versions:
build myself - 7.5
download from qt-project - 7.4.1
on Win8 subject works fine in combination QtCreator(2.6.81)-Qt-4.8.4-MinGW-GDB-7.5(build myself from source with Py. support)
UPD: Try to build with http://qt.gitorious.org/qt-creator/qt-creator/trees/master/dist/gdb
it didn’t help
SOLUTION: Qt libs didn't contain debug simbols. I was caught by flag -debug-and-release. It work in macOS and windows (MinGW) but not in Linux. Be careful!
Are you sure the version of Qt you use has been built with debug symbols? What does readelf -S /path/to/your/libQtCore.so say?

Compiling erlang with systemtap but require dtrace

I'm compiling erlang otp from source like following:
./configure --with-dynamic-trace=systemtap
But it reports error:
checking for dtrace... no
configure: error: No dtrace utility found.
I think systemtap is for linux usage and it is different from dtrace, am I right?
After installed dtrace Now the error is:
dtrace: failed to compile script emulator/beam/erlang_dtrace.d: Preprocessor not found
configure: error: Could not precompile erlang_dtrace.d: dtrace -h failed
configure: error: /root/otp/erts/configure failed for erts
Which distro are you using? I'd forget using DTRACE, it will be a bit harder to make it to work than Systemtap (at least it was for me). I'm using Systemtap and it works perfectly.
If you are not using Fedora/RH you should patch your kernel with UTRACE or use a kernel >= 3.5 with UPBOBES enabled.
To verify if your kernel has UTRACE/UPROBE enabled run this:
grep UTRACE /boot/config-$(uname -r)
or
grep PROBES /boot/config-$(uname -r)
For example, in my machine (Ubuntu 12.04 with Mainline kernel 3.5):
$ grep UTRACE /boot/config-$(uname -r)
$
$ grep UPROBES /boot/config-$(uname -r)
CONFIG_ARCH_SUPPORTS_UPROBES=y
CONFIG_UPROBES=y
You should also have systemtap installed. The version shipped with Ubuntu (my case) is quite old, so I compiled it from source (traditional configure/make/make install). You can get it here:
http://sourceware.org/systemtap/ftp/releases/
I'm using version 1.8.
Then try to recompile it again. It should work.
Regards
After installing systemtap(sudo apt-get install systemtap), exiting or logging out from the current shell session then logging in may help.
Also, you may try using kerl.

Resources