You are not logged in.

#1 2015-10-25 22:37:09

boshane
Member
Registered: 2008-11-13
Posts: 9

Confused by 'make' errors trying to compile GDB for target platform

Hello there,

So just for fun I've been trying to get into embedded programming, so I bought an MSP430 launchpad and have been working to get a dev environment set up.

Texas Instruments provides a development environment that is based on Eclipse, but I'd prefer to try and get my usual Emacs+make working.

Unfortunately, gdb in the toolchain they offer uses ncurses 5, while Arch is using ncurses 6 (sub-question, would it be a huge hassle to revert to version 5?), so I'm trying to build gdb targeting the MSP430.

Make is failing with an error that I don't know how to diagnose. Steps so far:

./configure --target=msp430-elf
make

Here are the last few lines of the log:

gcc -DHAVE_CONFIG_H     -DPROFILE=1 -DWITH_PROFILE=-1   -DWITH_DEFAULT_ALIGNMENT=STRICT_ALIGNMENT  -DWITH_TARGET_BYTE_ORDER=LITTLE_ENDIAN     -DDEFAULT_INLINE=0              -I. -I. -I../common -I./../common -I../../include -I./../../include -I../../bfd -I./../../bfd -I../../opcodes -I./../../opcodes  -g -O2 -c -o nrun.o -MT nrun.o -MMD -MP -MF .deps/nrun.Tpo ./../common/nrun.c
gcc -DHAVE_CONFIG_H     -DPROFILE=1 -DWITH_PROFILE=-1   -DWITH_DEFAULT_ALIGNMENT=STRICT_ALIGNMENT  -DWITH_TARGET_BYTE_ORDER=LITTLE_ENDIAN     -DDEFAULT_INLINE=0              -I. -I. -I../common -I./../common -I../../include -I./../../include -I../../bfd -I./../../bfd -I../../opcodes -I./../../opcodes  -g -O2 -static-libstdc++ -static-libgcc  -o run \
  nrun.o libsim.a ../../bfd/libbfd.a ../../opcodes/libopcodes.a  ../../libiberty/libiberty.a -ldl -lz -lnsl   
Makefile:311: recipe for target 'run' failed
make[3]: Leaving directory '/home/dan/Downloads/gdb-7.9/sim/msp430'
Makefile:129: recipe for target 'all' failed
make[2]: Leaving directory '/home/dan/Downloads/gdb-7.9/sim'
Makefile:8086: recipe for target 'all-sim' failed
make[1]: Leaving directory '/home/dan/Downloads/gdb-7.9'
Makefile:836: recipe for target 'all' failed

Where do I go from here? I don't see how or why it is failing. I'm fairly new to linux development in general so I'm not sure if this is a stupid question that can be answered here or if I should go straight to the gdb mailing list. Any thoughts would be appreciated.

Offline

#2 2015-10-25 22:42:00

Scimmia
Fellow
Registered: 2012-09-01
Posts: 11,463

Re: Confused by 'make' errors trying to compile GDB for target platform

You didn't post enough of the log.

The ncurses ABI 5 libs are available in the AUR.

Offline

#3 2015-10-25 23:09:10

boshane
Member
Registered: 2008-11-13
Posts: 9

Re: Confused by 'make' errors trying to compile GDB for target platform

Sorry about that, here's the entire thing.

http://pastebin.ca/3218852

If I don't get any advice here I'll go back to ncurses 5.

Offline

#4 2015-11-22 20:43:14

axs
Member
Registered: 2009-01-23
Posts: 71
Website

Re: Confused by 'make' errors trying to compile GDB for target platform

boshane wrote:

(sub-question, would it be a huge hassle to revert to version 5?)

Find the latest ncurses 5 package, pull libncurses.so.5 into /usr/lib, chances are it will work.

Speaking of which, I happen to have a symlink, libncurses.so.5 -> libncurses.so.6.
Not recommended, but if I recall correctly it did work.

gcc -DHAVE_CONFIG_H     -DPROFILE=1 -DWITH_PROFILE=-1   -DWITH_DEFAULT_ALIGNMENT=STRICT_ALIGNMENT  -DWITH_TARGET_BYTE_ORDER=LITTLE_ENDIAN     -DDEFAULT_INLINE=0              -I. -I. -I../common -I./../common -I../../include -I./../../include -I../../bfd -I./../../bfd -I../../opcodes -I./../../opcodes  -g -O2 -static-libstdc++ -static-libgcc  -o run \
  nrun.o libsim.a ../../bfd/libbfd.a ../../opcodes/libopcodes.a  ../../libiberty/libiberty.a -ldl -lz -lnsl   
Makefile:311: recipe for target 'run' failed
make[3]: Leaving directory '/home/dan/Downloads/gdb-7.9/sim/msp430'
Makefile:129: recipe for target 'all' failed
make[2]: Leaving directory '/home/dan/Downloads/gdb-7.9/sim'
Makefile:8086: recipe for target 'all-sim' failed
make[1]: Leaving directory '/home/dan/Downloads/gdb-7.9'
Makefile:836: recipe for target 'all' failed

Where do I go from here? I don't see how or why it is failing.

That's kind of strange. Try cd /home/dan/Downloads/gdb-7.9/sim/msp430, run the full "gcc .... -lnsl" manually, and check $? afterwards.
If it's still non-zero, and gcc does not produce any usable error messages, maybe even try strace -FF gcc .... lnsl, you will at least see how it's exiting.

And btw, that's just the simulator. If you're not planning to use it, try skipping it.
"cd sim/msp430 && touch run" should keep make happy.

Last edited by axs (2015-11-22 20:44:10)

Offline

Board footer

Powered by FluxBB