Greetings,
The error and repair attached below come from my attempts to build
gmidimonitor on Fedora 19. As you can see, gcc is not what's required to
complete the build, but waf's cprogram calls gcc, not g++. Alas, I can't
find much information about the cprogram directive, and I'm always out
of my depths when C++ is involved.
Before anyone decides it's an "old code" issue, be advised that I have
to perform the same operation on the latest git pulls of xjadeo.
I'd like to know if there's a global solution, or at least a
compile-time export I can use to resolve the problem.
Fedora 19 x86_64, GCC 4.8.3
TIA!
Best,
dp
[dlphilp@localhost gmidimonitor-3.6]$ ./waf
Waf: Entering directory `/home/dlphilp/src/gmidimonitor-3.6/build'
[10/10] cprogram: build/main.c.0.o build/about.c.0.o build/path.c.0.o
build/gm.c.0.o build/log.c.0.o build/memory_atomic.c.0.o
build/sysex.c.0.o build/jack.c.0.o build/alsa.c.0.o -> build/gmidimonitor
/usr/lib/gcc/x86_64-redhat-linux/4.8.3/../../../../lib64/libjack.so:
undefined reference to
`std::__detail::_List_node_base::_M_unhook()@GLIBCXX_3.4.15'
/usr/lib/gcc/x86_64-redhat-linux/4.8.3/../../../../lib64/libjack.so:
undefined reference to
`std::__detail::_List_node_base::_M_hook(std::__detail::_List_node_base*)@GLIBCXX_3.4.15'
collect2: error: ld returned 1 exit status
Waf: Leaving directory `/home/dlphilp/src/gmidimonitor-3.6/build'
Build failed
-> task failed (exit status 1):
{task 40700176: cprogram
main.c.0.o,about.c.0.o,path.c.0.o,gm.c.0.o,log.c.0.o,memory_atomic.c.0.o,sysex.c.0.o,jack.c.0.o,alsa.c.0.o
-> gmidimonitor}
['gcc', 'main.c.0.o', 'about.c.0.o', 'path.c.0.o',
'gm.c.0.o',
'log.c.0.o', 'memory_atomic.c.0.o', 'sysex.c.0.o',
'jack.c.0.o',
'alsa.c.0.o', '-o',
'/home/dlphilp/src/gmidimonitor-3.6/build/gmidimonitor', '-Wl,-Bstatic',
'-Wl,-Bdynamic', '-lgtk-x11-2.0', '-lgdk-x11-2.0',
'-latk-1.0',
'-lgio-2.0', '-lpangoft2-1.0', '-lpangocairo-1.0',
'-lgdk_pixbuf-2.0',
'-lcairo', '-lpango-1.0', '-lfreetype', '-lfontconfig',
'-lgobject-2.0',
'-lglib-2.0', '-lgthread-2.0', '-lglib-2.0',
'-lgmodule-2.0',
'-lglib-2.0', '-ljack', '-lasound', '-llash',
'-lpthread', '-luuid',
'-ljack', '-lasound', '-pthread', '-pthread',
'-pthread', '-pthread',
'-Wl,--export-dynamic', '-pthread']
[dlphilp@localhost gmidimonitor-3.6]$ cd build/
[dlphilp@localhost build]$ g++ main.c.0.o about.c.0.o path.c.0.o
gm.c.0.o log.c.0.o memory_atomic.c.0.o sysex.c.0.o jack.c.0.o alsa.c.0.o
-o /home/dlphilp/src/gmidimonitor-3.6/build/gmidimonitor -Wl,-Bstatic
-Wl,-Bdynamic -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0
-lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo -lpango-1.0
-lfreetype -lfontconfig -lgobject-2.0 -lglib-2.0 -lgthread-2.0
-lglib-2.0 -lgmodule-2.0 -lglib-2.0 -ljack -lasound -llash -lpthread
-luuid -ljack -lasound -pthread -pthread -pthread -pthread
-Wl,--export-dynamic -pthread
[dlphilp@localhost build]$ ls
about.c.0.o alsa.c.0.o c4che config.h config.log gm.c.0.o
gmidimonitor jack.c.0.o log.c.0.o main.c.0.o memory_atomic.c.0.o
path.c.0.o sysex.c.0.o