Mamba icon indicating copy to clipboard operation
Mamba copied to clipboard

xwidgets.h header isn't found; minus_png, plus_png symbols aren't found

Open yurivict opened this issue 11 months ago • 1 comments

Using all fixes mentioned in this issue, the current master revision still fails:

===>  Building for mamba-2.6
for         FreeBSD
with        cc
using       gold
and         xxd -i
gmake[1]: warning: -j1 forced in submake: resetting jobserver mode.
 Building object file build/Mamba.o 
 Building object file build/XAlsa.o 
 Building object file build/XJack.o 
 Building object file build/NsmHandler.o 
 Building object file build/XSynth.o 
 Building object file build/MidiMapper.o 
 Building object file build/main.o 
In file included from main.cpp:21:
./MidiKeyBoard.h:57:10: fatal error: 'xwidgets.h' file not found
   57 | #include "xwidgets.h"
      |          ^~~~~~~~~~~~
1 error generated.

When the path issue is patched, the minus_png, plus_png symbols aren't found:

===>  Building for mamba-2.6
for         FreeBSD
with        cc
using       gold
and         xxd -i
gmake[1]: warning: -j1 forced in submake: resetting jobserver mode.
 Building object file build/Mamba.o 
 Building object file build/XAlsa.o 
 Building object file build/XJack.o 
 Building object file build/NsmHandler.o 
 Building object file build/XSynth.o 
 Building object file build/MidiMapper.o 
 Building object file build/main.o 
 Building object file build/PosixSignalHandler.o 
 Building object file build/AnimatedKeyBoard.o 
 Building object file build/MidiKeyBoard.o 
MidiKeyBoard.cpp:631:40: error: use of undeclared identifier 'midikeyboard_png'
  631 |     widget_set_icon_from_png(win,LDVAR(midikeyboard_png));
      |                                        ^
MidiKeyBoard.cpp:823:31: error: use of undeclared identifier 'minus_png'
  823 |     widget_get_png(tmp, LDVAR(minus_png));
      |                               ^
MidiKeyBoard.cpp:829:31: error: use of undeclared identifier 'plus_png'
  829 |     widget_get_png(tmp, LDVAR(plus_png));
      |                               ^
MidiKeyBoard.cpp:843:31: error: use of undeclared identifier 'minus_png'
  843 |     widget_get_png(tmp, LDVAR(minus_png));
      |                               ^
MidiKeyBoard.cpp:849:31: error: use of undeclared identifier 'plus_png'
  849 |     widget_get_png(tmp, LDVAR(plus_png));
      |                               ^
MidiKeyBoard.cpp:935:34: error: use of undeclared identifier 'record_png'
  935 |     widget_get_png(record, LDVAR(record_png));
      |                                  ^
MidiKeyBoard.cpp:939:32: error: use of undeclared identifier 'play_png'
  939 |     widget_get_png(play, LDVAR(play_png));
      |                                ^
MidiKeyBoard.cpp:944:33: error: use of undeclared identifier 'pause_png'
  944 |     widget_get_png(pause, LDVAR(pause_png));
      |                                 ^
MidiKeyBoard.cpp:948:33: error: use of undeclared identifier 'eject_png'
  948 |     widget_get_png(eject, LDVAR(eject_png));
      |                                 ^
9 errors generated.

rev. c31e2f1

yurivict avatar Jan 26 '25 19:01 yurivict

Hi @yurivict

That looks to me like a error with the job settings. I'm pretty sure that, when you run plain qmake on your local box from the top directory of mamba, it will build fine. I've setup a VirtualBox running FreeBSD to verify that it works. The point is that we must build libxputty static library first before we could going to build mamba. That's you're initial issue with the path. The path is correct, as it is the path to the build, not to the source. The missing identifier in you latter attempt been images which should been copied over into libxputty resources directory (by make target) and then been processed by xxd and backed into libxputty during the build process of libxputty.

So you must setup your build process so that it respect the -j1 flag from the top.

The very same is true for all my projects using libxputty.

brummer10 avatar Jan 27 '25 05:01 brummer10