Score:1

UADE complilin. Make produces fatal error: glib.h no such file or directory

us flag
OSH

Well. I'm trying to compile UADE. I downloaded sources, go int directory and then ./configure. After this I see this:

Data directory                          : /usr/local/share/uade2
Uadecore directory                      : /usr/local/lib/uade2
Man (documentation) directory           : /usr/local/share/man/man1
Installer                               : /usr/bin/install
Make                                    : /usr/bin/make
Target CC                               : gcc
uadecore                                : yes
uade123                                 : yes
uade123 sound output                    : AO
XMMS plugin                             : no
Audacious plugin                        : yes
Audacious plugin directory              : 
uadefs                                  : yes
Text scope support                      : no 

Then "make". And the result is:

make[1]: Verzeichnis „/home/nemezis/Dokumente/uade-2.13/src“ wird betreten
gcc -I. -I./include -c  -fomit-frame-pointer -Wall -Wno-unused -Wno-format -Wmissing-prototypes -Wstrict-prototypes -fno-exceptions -O2 -g   audio.c -o audio.o
gcc -I. -I./include -c  -fomit-frame-pointer -Wall -Wno-unused -Wno-format -Wmissing-prototypes -Wstrict-prototypes -fno-exceptions -O2 -g   sd-sound.c -o sd-sound.o
gcc -I. -I./include -c  -fomit-frame-pointer -Wall -Wno-unused -Wno-format -Wmissing-prototypes -Wstrict-prototypes -fno-exceptions -O2 -g   uade.c -o uade.o
gcc -I. -I./include -c  -fomit-frame-pointer -Wall -Wno-unused -Wno-format -Wmissing-prototypes -Wstrict-prototypes -fno-exceptions -O2 -g   uadeipc.c -o uadeipc.o
gcc -I. -I./include -c  -fomit-frame-pointer -Wall -Wno-unused -Wno-format -Wmissing-prototypes -Wstrict-prototypes -fno-exceptions -O2 -g   unixatomic.c -o unixatomic.o
gcc -I. -I./include -c  -fomit-frame-pointer -Wall -Wno-unused -Wno-format -Wmissing-prototypes -Wstrict-prototypes -fno-exceptions -O2 -g   ossupport.c -o ossupport.o
gcc -I. -I./include -c  -fomit-frame-pointer -Wall -Wno-unused -Wno-format -Wmissing-prototypes -Wstrict-prototypes -fno-exceptions -O2 -g   uademain.c -o uademain.o
gcc  -o uadecore main.o newcpu.o memory.o custom.o cia.o audio.o compiler.o cpustbl.o missing.o sd-sound.o md-support.o cfgfile.o fpp.o debug.o readcpu.o cpudefs.o cpuemu1.o cpuemu2.o cpuemu3.o cpuemu4.o cpuemu5.o cpuemu6.o cpuemu7.o cpuemu8.o uade.o uadeipc.o unixatomic.o ossupport.o uademain.o sinctable.o text_scope.o -lm  
make[1]: Verzeichnis „/home/nemezis/Dokumente/uade-2.13/src“ wird verlassen
/usr/bin/make -C src/frontends/uade123
make[1]: Verzeichnis „/home/nemezis/Dokumente/uade-2.13/src/frontends/uade123“ wird betreten
gcc -Wall -O2 -I../../include -I../common  -g  -c uade123.c
uade123.c: In function ‘main’:
uade123.c:105:34: warning: ‘/contentdb’ directive output may be truncated writing 10 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
  105 |   snprintf(name, sizeof name, "%s/contentdb", uc->basedir.name);
      |                                  ^~~~~~~~~~
In file included from /usr/include/stdio.h:867,
                 from uade123.c:18:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:67:10: note: ‘__builtin___snprintf_chk’ output between 11 and 4106 bytes into a destination of size 4096
   67 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   68 |        __bos (__s), __fmt, __va_arg_pack ());
      |        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
uade123.c:531:48: warning: ‘/uaerc’ directive output may be truncated writing 6 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
  531 |     snprintf(configname, sizeof configname, "%s/uaerc", uc_eff.basedir.name);
      |                                                ^~~~~~
In file included from /usr/include/stdio.h:867,
                 from uade123.c:18:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:67:10: note: ‘__builtin___snprintf_chk’ output between 7 and 4102 bytes into a destination of size 4096
   67 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   68 |        __bos (__s), __fmt, __va_arg_pack ());
      |        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
uade123.c:534:48: warning: ‘/score’ directive output may be truncated writing 6 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
  534 |       snprintf(scorename, sizeof scorename, "%s/score", uc_eff.basedir.name);
      |                                                ^~~~~~
In file included from /usr/include/stdio.h:867,
                 from uade123.c:18:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:67:10: note: ‘__builtin___snprintf_chk’ output between 7 and 4102 bytes into a destination of size 4096
   67 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   68 |        __bos (__s), __fmt, __va_arg_pack ());
      |        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
uade123.c:599:45: warning: ‘/players/’ directive output may be truncated writing 9 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
  599 |  snprintf(playername, sizeof playername, "%s/players/%s", uc_cmdline.basedir.name, state.ep->playername);
      |                                             ^~~~~~~~~
In file included from /usr/include/stdio.h:867,
                 from uade123.c:18:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:67:10: note: ‘__builtin___snprintf_chk’ output 10 or more bytes (assuming 4105) into a destination of size 4096
   67 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   68 |        __bos (__s), __fmt, __va_arg_pack ());
      |        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc -Wall -O2 -I../../include -I../common  -g  -c playloop.c
gcc -Wall -O2 -I../../include -I../common  -g  -c ../common/amifilemagic.c
gcc -Wall -O2 -I../../include -I../common  -g  -c ../common/eagleplayer.c
../common/eagleplayer.c: In function ‘analyze_file_format’:
../common/eagleplayer.c:101:8: warning: ‘/eagleplayer.conf’ directive output may be truncated writing 17 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
  101 |     "%s/eagleplayer.conf", state->config.basedir.name);
      |        ^~~~~~~~~~~~~~~~~
In file included from /usr/include/stdio.h:867,
                 from ../common/eagleplayer.c:13:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:67:10: note: ‘__builtin___snprintf_chk’ output between 18 and 4113 bytes into a destination of size 4096
   67 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   68 |        __bos (__s), __fmt, __va_arg_pack ());
      |        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc -Wall -O2 -I../../include -I../common  -g  -c ../common/uadecontrol.c
gcc -Wall -O2 -I../../include -I../common  -g  -c ../common/uadeconf.c
../common/uadeconf.c: In function ‘handle_attributes’:
../common/uadeconf.c:191:3: warning: case value ‘32’ not in enumerated type ‘enum uade_attribute_type’ [-Wswitch]
  191 |   case ES_EP_OPTION:
      |   ^~~~
../common/uadeconf.c:197:3: warning: case value ‘64’ not in enumerated type ‘enum uade_attribute_type’ [-Wswitch]
  197 |   case ES_GAIN:
      |   ^~~~
../common/uadeconf.c:205:3: warning: case value ‘524288’ not in enumerated type ‘enum uade_attribute_type’ [-Wswitch]
  205 |   case ES_PANNING:
      |   ^~~~
../common/uadeconf.c:209:3: warning: case value ‘1048576’ not in enumerated type ‘enum uade_attribute_type’ [-Wswitch]
  209 |   case ES_PLAYER:
      |   ^~~~
../common/uadeconf.c:201:3: warning: case value ‘4194304’ not in enumerated type ‘enum uade_attribute_type’ [-Wswitch]
  201 |   case ES_RESAMPLER:
      |   ^~~~
../common/uadeconf.c:217:3: warning: case value ‘8388608’ not in enumerated type ‘enum uade_attribute_type’ [-Wswitch]
  217 |   case ES_SILENCE_TIMEOUT:
      |   ^~~~
../common/uadeconf.c:221:3: warning: case value ‘33554432’ not in enumerated type ‘enum uade_attribute_type’ [-Wswitch]
  221 |   case ES_SUBSONGS:
      |   ^~~~
../common/uadeconf.c:225:3: warning: case value ‘67108864’ not in enumerated type ‘enum uade_attribute_type’ [-Wswitch]
  225 |   case ES_SUBSONG_TIMEOUT:
      |   ^~~~
../common/uadeconf.c:229:3: warning: case value ‘134217728’ not in enumerated type ‘enum uade_attribute_type’ [-Wswitch]
  229 |   case ES_TIMEOUT:
      |   ^~~~
gcc -Wall -O2 -I../../include -I../common  -g  -c ../../ossupport.c
gcc -Wall -O2 -I../../include -I../common  -g  -c ../common/songdb.c
gcc -Wall -O2 -I../../include -I../common  -g  -c ../common/songinfo.c
../common/songinfo.c: In function ‘process_ptk_mod’:
../common/songinfo.c:272:31: warning: ‘__builtin___snprintf_chk’ output truncated before the last format character [-Wformat-truncation=]
  272 |    snprintf(tmpstr, 23, "%-23s", buf + 0x14 + (i * 0x1e));
      |                               ^
In file included from /usr/include/stdio.h:867,
                 from ../common/songinfo.c:4:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:67:10: note: ‘__builtin___snprintf_chk’ output 24 or more bytes into a destination of size 23
   67 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   68 |        __bos (__s), __fmt, __va_arg_pack ());
      |        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../common/songinfo.c: In function ‘process_module’:
../common/songinfo.c:312:31: warning: ‘__builtin___snprintf_chk’ output truncated before the last format character [-Wformat-truncation=]
  312 |    snprintf(tmpstr, 30, "%-30s", buf + 642 + (i * 0x1e));
      |                               ^
In file included from /usr/include/stdio.h:867,
                 from ../common/songinfo.c:4:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:67:10: note: ‘__builtin___snprintf_chk’ output 31 or more bytes into a destination of size 30
   67 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   68 |        __bos (__s), __fmt, __va_arg_pack ());
      |        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc -Wall -O2 -I../../include -I../common  -g  -c ../common/support.c
gcc -Wall -O2 -I../../include -I../common  -g  -o uade123 uade123.o chrarray.o playlist.o playloop.o audio.o terminal.o unixatomic.o uadeipc.o amifilemagic.o eagleplayer.o unixwalkdir.o effects.o uadecontrol.o uadeconf.o md5.o ossupport.o songdb.o songinfo.o vplist.o support.o -lao  -lm
make[1]: Verzeichnis „/home/nemezis/Dokumente/uade-2.13/src/frontends/uade123“ wird verlassen
/usr/bin/make -C src/frontends/audacious
make[1]: Verzeichnis „/home/nemezis/Dokumente/uade-2.13/src/frontends/audacious“ wird betreten
gcc -Wall -O2 -fPIC -shared   -g -I../common -I../../include -c plugin.c
In file included from plugin.c:29:
plugin.h:9:10: fatal error: glib.h: Datei oder Verzeichnis nicht gefunden
    9 | #include <glib.h>
      |          ^~~~~~~~
compilation terminated.
make[1]: *** [Makefile:27: plugin.o] Fehler 1
make[1]: Verzeichnis „/home/nemezis/Dokumente/uade-2.13/src/frontends/audacious“ wird verlassen
make: *** [Makefile:38: audaciousplugin] Fehler 2

I installed libglib2.0-dev. And I have glib.h I tried to use pkg-config --cflags --libs glib-2.0 - doesn't help. I can't simply use gcc, because it's makefile. And I'm really noob in this world. I say, I'm A BIT annoyed, because I can't figure out, what's the problem. Important: this is Ubuntu 20.04. Any help appreciated…

waltinator avatar
it flag
Simply ask `dpkg` which package(s) provide `glib.h`. Because it's specified within `<>`, preface it with `/usr/include`, like this `dpkg -S /usr/include/glib.h`. Install one of the listed packages.
hr flag
iirc the libglib2.0-dev package installs the header at /usr/include/glib-2.0/glib.h, so your include path needs to include `/usr/include/glib-2.0`. I'm not familiar with the software you're trying to build, but often you can pass compiler directives on the `make` command line using something like `make CFLAGS='-I/usr/include/glib-2.0'`
Score:1
zw flag

To compile the UADE you have to use its Git version and commands below:

sudo apt-get install build-essential git python3-dev libao-dev pkg-config audacious-dev libfuse-dev

cd ~/Downloads
git clone https://gitlab.com/heikkiorsila/bencodetools.git
cd bencodetools
./configure
make
sudo make install

cd ~/Downloads
git clone https://gitlab.com/uade-music-player/uade.git
cd uade
./configure --with-text-scope
make
sudo make install

Official site shows 2009 as year of last version. So GUI front-ends like XMMS or Audacious seems to be unavailable because of serious changes in the APIs for 12 years.

So to play sounds you have to use CLI interface:

  • single file play uade123 filename ;
  • directory recursive play - uade123 -r directory/ .
ACTION KEYS FOR INTERACTIVE MODE:
[0-9]         Change subsong
CURSORS       Cursors left and right seek 10 seconds.
              Cursors down and up seek 1 minute.
'<'           Previous song
'.'           Seek 10 seconds forward (same as cursor right)
'b'           Next subsong
'c', SPACE    Pause
'f'           Toggle filter (takes filter control away from eagleplayer)
'g'           Toggle gain effect
'h'           Print this list
'H'           Toggle headphones effect
'i'           Print module info
'I'           Print hex dump of head of module
RETURN, '>'   Next song
'p'           Toggle postprocessing effects
'P'           Toggle panning effect. Default value is 0.7.
'q'           Quit
's'           Toggle between random and linear play
'v'           Toggle verbose mode
'x'           Restart current subsong
'z'           Previous subsong

Music files maybe found at exotica.org.uk or similar sites.

OSH avatar
us flag
OSH
Ok, N0rbert (PPA?) thanks, it works. But now I want to use a front-end, because command-line interface isn't the best option. But how and which?
N0rbert avatar
zw flag
I own many [PPAs](https://launchpad.net/~nrbrtx), right. Probably only uade123 (CLI) will work, because XMMS and Audacious APIs were changed. I see that official site [lists 2009 year as date of last version](https://zakalwe.fi/uade/). I tried to play random floyd2 music file from https://www.exotica.org.uk using `uade123` - it plays really well.
N0rbert avatar
zw flag
Also I need to note that for example *med* (OctaMED Pro music file) are playing well using VLC or Audacious without UADE installed. So you have to determine the list of needed file formats to play. Hope this helped. If so, then you can accept my answer by clicking gray checkmark at the left of answer.
OSH avatar
us flag
OSH
Ah, ok N0rbert. Finally I will use XMPlay under WINE. It's too complicated to use UADE …
mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.