[AD] Some Debian compatibility issues

[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]


Hello.

I have tested 3.9.30 and have found such oddities. Once the system is
configured, I type make 2> warns and this is what I get:

configure.in:127: warning: AC_TRY_RUN called without default to allow cross compiling

Don't understand what this means, so I will leave it to the superior
skilled forces :-)

Then, the un/install targets aren't compatible with debian's install-info.
I have tried to figure out from where does the makefile build itself, but
I am lost... George, what files should I change so that the changes take
effect even when doing make veryclean;./configure ? Also, is there's some
way configure could check if the install-info program is from Debian, I
can provide you with a working setup of the needed switches if the Debian
install-info is detected.

Ok, so at least here you can see the final changes which should be done.
These are the targets in makefile as created by configure:

install-info:
	@echo Installing Allegro info documentation...
	@$(INSTALL_DATA) docs/allegro.info $(infodir)
	@if $(SHELL) -c "$(INSTALL_INFO) --version" >/dev/null 2>&1; then \
	  $(INSTALL_INFO) $(infodir)/allegro.info $(INFO_DIR); \
	else \
	  true; \
	fi
	
uninstall-info:
	@if $(SHELL) -c "$(INSTALL_INFO) --version" >/dev/null 2>&1; then \
	  $(INSTALL_INFO) --remove $(infodir)/allegro.info $(INFO_DIR); \
	else \
	  true; \
	fi
	rm -f $(infodir)/allegro.info
	rm -f $(infodir)/allegro.info.gz

As they are, both report "too many parameters" or something like that. The
problem is that Debian's install-info likes the info-file to be passed as
the last argument. Also, the $(INFO_DIR) is unneeded, plus it doesn't work
if put before the allegro.info switch, since info-file is very strict and
only allows it as --infodir=$(INFO_DIR). I can get both targets to work if
I repectively change:

for install-info:
   $(INSTALL_INFO) $(infodir)/allegro.info; \

for uninstall-info:
   $(INSTALL_INFO) --remove $(infodir)/allegro.info; \

Putting $(INFO_DIR) even as a correct switch with --infodir= doesn't work
either. However correct, install-info says something about not being able
to lock the dirfile, and fails. 

Now, things go about OSS. I enter the setup program. If wavs are being
played I can't get digital sound autodetected (usual). Now, if I manually
select OSS digital driver and try to test it, setup dumps a core:

setup: if I try to select Digital Driver Open Sound, but wav's are playing...
Core was generated by `./setup'.
Program terminated with signal 11, Violación de segmento.
find_solib: Can't read pathname for load map: Error de entrada/salida

#0  0x4005abf0 in ?? () from /usr/local/lib//liballd-3.9.30.so
(gdb) bt
#0  0x4005abf0 in ?? () from /usr/local/lib//liballd-3.9.30.so
#1  0x4005be7e in ?? () from /usr/local/lib//liballd-3.9.30.so
#2  0x4005bf99 in ?? () from /usr/local/lib//liballd-3.9.30.so
#3  0x4005ba85 in ?? () from /usr/local/lib//liballd-3.9.30.so
#4  0x40068797 in ?? () from /usr/local/lib//liballd-3.9.30.so
#5  0x804ea76 in init_sound (msg=0x8062b57 "Sound initialization failed!") at ./setup/setup.c:903
#6  0x8051945 in main_handler (c=1) at ./setup/setup.c:2320
#7  0x804e2c9 in update () at ./setup/setup.c:734
#8  0x8052621 in _mangled_main () at ./setup/setup.c:2626
#9  0x40074703 in ?? () from /usr/local/lib//liballd-3.9.30.so
(gdb)

Now, as you see gdb isn't able to get the path to liballd. How can I solve
this? Is it a problem when creating the shared libraries?

If I try to manually select the drivers (even when no wavs are being
played in the background), when I enter the midi driver selection after
selecting autodect for digital driver, I get another core dump.

If I select OSS digital driver, I can select midi driver. Selecting OSS
too makes another core dump for test button (hehe, looks like my computer
likes core dumps ;-)

Finally, the only way to avoid getting core dumps is select OSS digital
driver and no sound for midi. However, if after the test I press again
digital driver selection I get _another_ core dump! Hehe, and I can even
reproduce them when I like!

Ok, I will try in the next days with the static debug library and see
where Allegro crashes.

Maybe for the Allegro linux distribution file, it would be cool to
have in allegro/setup symbolic links to allegro.cfg, language.dat and
keyboard.dat from the previous directory level, so running setup or
keyboard wouldn't ask for files, which don't need to be duplicated thanks
to the symbolic links.

A funny issue with the mouse detection thing: when I enter setup the first
time, the mouse doesn't even show. I go to the mouse menu and try to
autodetect it. It says "didn't autodetect, you should be using gpm
repeater", and then it wakes up and I have a mouse arrow! :-) Ok, I try
the detection again, and it again fails. If I manually select gpm repeater
everything is ok. However, even when I save the config file and put it in
/etc/allegro.cfg, none of the mouse programs manage to get a mouse. All
fail, even the setup program (until it tries to autodetect the mouse, of
course, then it pops alive, as stated before).

Now I tried a compile with --enable-strict-warnings, and I got:

cc1: warnings being treated as errors
./src/gui.c: In function `move_focus':
./src/gui.c:550: warning: passing arg 4 of `qsort' from incompatible pointer type
make: *** [obj/unix/shared/alleg/gui.o] Error 1

So I went there and tried to see what's wrong but... there's nothing
wrong! Or at least I can't see it. Checked the mans and the qsort
parameters are just an exact copy of the fourth parameter... Tried
deleting the static, but also got the same message.

Ooops... now it's late, I better stop writting :)

Grzegorz Adam Hankiewicz - gradha@xxxxxxxxxx
Gogosoftware - http://welcome.to/gogosoftware/

 Favourite song of Windows98?: "I'm blue dabadeedaudaeeee..."



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/