Pages: [1]
  Print  
Author Topic: ioquake for OA compiled with SDL instead of openAL (solved)  (Read 10784 times)
kirk
Nub


Cakes 0
Posts: 11

Member


« on: June 12, 2007, 09:36:10 PM »

Anybody been able to compile OA's ioquake source with SDL instead of openal for sound? Openal never sounds right (echos, distorted) when I compile it on my system. I've been using a version of Ioquake I compiled a year or two ago, and it works, but it doesn't have the OA mods. Mainly the master sever list isn't set to OA's. I haven't been able to get ioquake to compile for about a year. If you've got a binary and could post it somewhere, that would be great.

« Last Edit: June 16, 2007, 07:36:48 AM by kirk » Logged
dmn_clown
Posts a lot
*

Cakes 1
Posts: 1324


« Reply #1 on: June 13, 2007, 09:04:15 AM »

change this:
Code:
ifndef USE_OPENAL
USE_OPENAL=1
endif

to this:

Code:
ifndef USE_OPENAL
USE_OPENAL=0
endif

in the makefile, save it as makefile.local to avoid it being over written. 

You also need the -dev packages of the libraries called by the engine to build anything.  Run an ldd on your binary and then look for the dev packages (they include the header files needed to compile anything against) of those libraries in your distribution's repositories. 

Though, it sounds more like you haven't configured OpenAL properly for your speaker setup, do you have either a /etc/openalrc or an .openalrc file on your system?  For example my /etc/openalrc :
Code:
(define speaker-num 5)
(define devices '(alsa))
(define alsa-out-device surround51)

Sounds great, but the default sound needs to be changed to something a little more silent and less annoying then the default sound that is called.
Logged

kirk
Nub


Cakes 0
Posts: 11

Member


« Reply #2 on: June 13, 2007, 08:52:25 PM »

When I try to compile, here's where it starts to go south:

build/release-Linlx-i386/ded/snapvectora.o build/release-Linlx-i386/ded/matha.o
build/release-Linlx-i386/ded/sv_game.o(.text+0x1b30): In function `SV_GameSystemCalls':
sv_game.c: undefined reference to `atan2'
build/release-Linlx-i386/ded/sv_game.o(.text+0x1b4a):sv_game.c: undefined reference to `sinf'
build/release-Linlx-i386/ded/sv_game.o(.text+0x1b97):sv_game.c: undefined reference to `cosf'
build/release-Linlx-i386/ded/sv_game.o(.text+0x2570):sv_game.c: undefined reference to `sqrtf'
build/release-Linlx-i386/ded/common.o(.text+0x4a2d): In function `Q_acos':
common.c: undefined reference to `acos'
build/release-Linlx-i386/ded/q_math.o(.text+0x419): In function `VectorNormalize':
q_math.c: undefined reference to `sqrtf'
build/release-Linlx-i386/ded/q_math.o(.text+0x549): In function `PlaneFromPoints':
q_math.c: undefined reference to `sqrtf'
build/release-Linlx-i386/ded/q_math.o(.text+0x6a6): In function `vectoangles':
q_math.c: undefined reference to `atan2'
build/release-Linlx-i386/ded/q_math.o(.text+0x6f8):q_math.c: undefined reference to `atan2'
build/release-Linlx-i386/ded/q_math.o(.text+0x7ed): In function `AngleVectors':
q_math.c: undefined reference to `sinf'
build/release-Linlx-i386/ded/q_math.o(.text+0x7fb):q_math.c: undefined reference to `cosf'
build/release-Linlx-i386/ded/q_math.o(.text+0x820):q_math.c: undefined reference to `sinf'
build/release-Linlx-i386/ded/q_math.o(.text+0x82e):q_math.c: undefined reference to `cosf'
build/release-Linlx-i386/ded/q_math.o(.text+0x861):q_math.c: undefined reference to `sinf'
build/release-Linlx-i386/ded/q_math.o(.text+0x86f):q_math.c: undefined reference to `cosf'
build/release-Linlx-i386/ded/q_math.o(.text+0xc22): In function `PerpendicularVector':
q_math.c: undefined reference to `sqrtf'
build/release-Linlx-i386/ded/q_math.o(.text+0xedf): In function `RotatePointAroundVector':
q_math.c: undefined reference to `cosf'
build/release-Linlx-i386/ded/q_math.o(.text+0xeed):q_math.c: undefined reference to `sinf'
build/release-Linlx-i386/ded/q_math.o(.text+0xefb):q_math.c: undefined reference to `sinf'
build/release-Linlx-i386/ded/q_math.o(.text+0xf0b):q_math.c: undefined reference to `cosf'
build/release-Linlx-i386/ded/q_math.o(.text+0xf95):q_math.c: undefined reference to `sqrtf'
build/release-Linlx-i386/ded/q_math.o(.text+0x118e): In function `RotateAroundDirection':
q_math.c: undefined reference to `sqrtf'
build/release-Linlx-i386/ded/q_math.o(.text+0x12dd): In function `MakeNormalVectors':
q_math.c: undefined reference to `sqrtf'
build/release-Linlx-i386/ded/q_math.o(.text+0x1989): In function `VectorNormalize2':
q_math.c: undefined reference to `sqrtf'
build/release-Linlx-i386/ded/be_aas_move.o(.text+0x2807): In function `AAS_HorizontalVelocityForJump':
be_aas_move.c: undefined reference to `sqrt'
build/release-Linlx-i386/ded/be_aas_reach.o(.text+0x5cc): In function `AAS_GetJumpPadInfo':
be_aas_reach.c: undefined reference to `sqrt'
build/release-Linlx-i386/ded/be_aas_reach.o(.text+0x11c9): In function `AAS_FallDelta':
be_aas_reach.c: undefined reference to `sqrt'
build/release-Linlx-i386/ded/be_aas_reach.o(.text+0x128e): In function `AAS_MaxJumpDistance':
be_aas_reach.c: undefined reference to `sqrt'
build/release-Linlx-i386/ded/be_aas_reach.o(.text+0x3f74): In function `AAS_Reachability_Step_Barrier_WaterJump_WalkOffLedge':
be_aas_reach.c: undefined reference to `sqrt'
build/release-Linlx-i386/ded/be_aas_reach.o(.text+0x3f99):be_aas_reach.c: more undefined references to `sqrt' follow
build/release-Linlx-i386/ded/be_aas_reach.o(.text+0xafc4): In function `AAS_Reachability_Grapple':
be_aas_reach.c: undefined reference to `tan'
build/release-Linlx-i386/ded/be_aas_reach.o(.text+0xc508): In function `AAS_Reachability_WalkOffLedge':
be_aas_reach.c: undefined reference to `sqrt'
build/release-Linlx-i386/ded/be_aas_reach.o(.text+0xc51f):be_aas_reach.c: undefined reference to `sqrt'
build/release-Linlx-i386/ded/unix_main.o(.text+0xec2): In function `Sys_UnloadDll':
unix_main.c: undefined reference to `dlclose'
build/release-Linlx-i386/ded/unix_main.o(.text+0xec7):unix_main.c: undefined reference to `dlerror'
build/release-Linlx-i386/ded/unix_main.o(.text+0xfb2): In function `Sys_LoadDll':
unix_main.c: undefined reference to `dlopen'
build/release-Linlx-i386/ded/unix_main.o(.text+0xff9):unix_main.c: undefined reference to `dlsym'
build/release-Linlx-i386/ded/unix_main.o(.text+0x1008):unix_main.c: undefined reference to `dlsym'
build/release-Linlx-i386/ded/unix_main.o(.text+0x1051):unix_main.c: undefined reference to `dlerror'
build/release-Linlx-i386/ded/unix_main.o(.text+0x1069):unix_main.c: undefined reference to `dlclose'
build/release-Linlx-i386/ded/unix_main.o(.text+0x1071):unix_main.c: undefined reference to `dlerror'
build/release-Linlx-i386/ded/unix_main.o(.text+0x10da):unix_main.c: undefined reference to `dlopen'
build/release-Linlx-i386/ded/unix_main.o(.text+0x115a):unix_main.c: undefined reference to `dlopen'
build/release-Linlx-i386/ded/unix_main.o(.text+0x11d1):unix_main.c: undefined reference to `dlopen'
build/release-Linlx-i386/ded/unix_main.o(.text+0x1231):unix_main.c: undefined reference to `dlerror'
build/release-Linlx-i386/ded/unix_main.o(.text+0x124d):unix_main.c: undefined reference to `dlerror'
build/release-Linlx-i386/ded/unix_main.o(.text+0x1269):unix_main.c: undefined reference to `dlerror'
build/release-Linlx-i386/ded/unix_main.o(.text+0x1285):unix_main.c: undefined reference to `dlerror'
build/release-Linlx-i386/ded/unix_main.o(.text+0xea5): In function `do_dlerror':
unix_main.c: undefined reference to `dlerror'
collect2: ld returned 1 exit status
make[1]: *** [build/release-Linlx-i386/ioq3ded.i386] Error 1
make[1]: Leaving directory `/initrd/mnt/dev_save/games/ioq3-svn982'
make: *** [build_release] Error 2

Looks like it's calling a bunch of math functions I don't have. But I know little about C. I did get it to compile a year or two ago. And I Compiled Mesa recently with out problems. Well, some problems (pain in the butt), but it did compile. And I've compiled drivers and other games. But, I'm using Puppy Linux, which I like for a host of reasons, but could well have some holes in it's dev package.

I'll try what you posted for openal. I just built the source and did a make install. Don't think it made a /etc/openalrc.

The biniary I'm using works well. Just looks at the wrong master server. Is there some command line switch to point the client to another master server?

Thanks
Logged
dmn_clown
Posts a lot
*

Cakes 1
Posts: 1324


« Reply #3 on: June 14, 2007, 06:59:27 AM »

You are missing at least one header file, so what dependency haven't you installed?
Logged

kirk
Nub


Cakes 0
Posts: 11

Member


« Reply #4 on: June 14, 2007, 09:02:34 AM »

That's the question. I do have math.h. Just installed Lua headers, no luck. I'll have to do more hunting.

Logged
dmn_clown
Posts a lot
*

Cakes 1
Posts: 1324


« Reply #5 on: June 14, 2007, 12:03:12 PM »

The file that is b0rking the compile is calling a lot of the C library headers which should have been installed along with gcc, it is also calling the SDL headers, which you'll need to compile anything using SDL. 

If those are installed check to be sure that they are where the file is expecting them to be in /usr/include/ and /usr/include/sys/ with the SDL headers in /usr/include/SDL/.

Logged

kirk
Nub


Cakes 0
Posts: 11

Member


« Reply #6 on: June 16, 2007, 07:35:01 AM »

Well, I looked up when I built ioquake3 last, it was 3/2006. So I downloaded revision 649 from Ioquake's SVN and applied the OA patch. That one builds for me! Don't know what has changed that's keeping me builing the newer ones. Maybe when the make file builds some of it's tools they are not getting installed  correctly. Couple of the files wouldn't patch, but just have to link baseoa to baseq3.

Thanks for the help Mr. Clown, and most of all for the Bots.

Logged
dmn_clown
Posts a lot
*

Cakes 1
Posts: 1324


« Reply #7 on: June 16, 2007, 12:55:35 PM »

Well, I looked up when I built ioquake3 last, it was 3/2006. So I downloaded revision 649 from Ioquake's SVN and applied the OA patch. That one builds for me! Don't know what has changed that's keeping me builing the newer ones. Maybe when the make file builds some of it's tools they are not getting installed  correctly. Couple of the files wouldn't patch, but just have to link baseoa to baseq3.

Lib version differences, maybe?  Some of the files will have to be patched manually, due to upstream changes.

Quote
Thanks for the help Mr. Clown, and most of all for the Bots.

Cool
« Last Edit: June 16, 2007, 02:55:42 PM by dmn_clown » Logged

kirk
Nub


Cakes 0
Posts: 11

Member


« Reply #8 on: June 19, 2007, 04:52:16 PM »

Quote
Lib version differences, maybe?

Maybe, Puppy's Gcc & glibc are gitting kind of old.

libc-2.3.5.so
gcc version 3.4.4

Should be upgraded in the next couple of versions.

I'm not sure why OA would be built for linux with openal enabled. You've got have SDL installed anyway. Just makes for one more dependency. Not a big deal though. 
 
Thanks again.
Logged
dmn_clown
Posts a lot
*

Cakes 1
Posts: 1324


« Reply #9 on: June 19, 2007, 05:21:27 PM »

Cool
Logged

Pages: [1]
  Print  
 
Jump to: