From: "Kalum Somaratna" To: "Randy" Date: Sun, 24 Oct 1999 11:14:29 +0600 MIME-Version: 1.0 Content-type: text/plain; charset=US-ASCII Content-transfer-encoding: 7BIT Subject: Re: libamp (for mp3's with Allegro) Cc: djgpp AT delorie DOT com In-reply-to: <000501bf1dc7$70925980$7399b382@oemcomputer> X-mailer: Pegasus Mail for Win32 (v3.12) Message-Id: <19991024051348.34D0F639DC@zagnut.hotpop.com> X-HotPOP: ----------------------------------------------- Sent By HotPOP.com FREE Email Get your FREE POP email at www.HotPOP.com ----------------------------------------------- Reply-To: djgpp AT delorie DOT com X-Mailing-List: djgpp AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk On 23 Oct 99, at 22:27, Randy wrote: > Hi, thanks for offering to help. > > Here is some information: > I'm running win98 (probably doesn't matter) > DJGPP 2.02 > binutl-2.81 > gcc-2.95 > libgxx-2.811 > make-3.77 > I've got djgpp installed in "c:\djgpp\" > > Some stuff from autoexec.bat that looks relevant (some not): > set DJGPP=C:\DJGPP\DJGPP.ENV > set PATH=C:\DJGPP\BIN; > SET RSXNTDJ=C:\RSXNTDJ > SET MSSDK=C:\MSSDK > SET PATH=%RSXNTDJ%\BIN;%PATH% > SET > C_INCLUDE_PATH=%RSXNTDJ%\INCLUDE\MSSDK;%MSSDK%\INCLUDE;%RSXNTDJ%\INCLUDE\WIN32; > %RSXNTDJ%\INCLUDE > SET > CPLUS_INCLUDE_PATH=%RSXNTDJ%\INCLUDE\MSSDK;%MSSDK%\INCLUDE;%RSXNTDJ%\INCLUDE\WI > N32;%RSXNTDJ%\INCLUDE > > -------end of imformation---------- > > I've done the following (just now again from scratch) > Created c:\libamp\ > Extracted the files there using winzip > Type "make install" at the prompt and I get this: > > gcc -c -O6 -ffast-math -fomit-frame-pointer -m486 -DNO_BYTE_SWAPPING -DOS_MSDOS > -DARCH_i586 dump.c > gcc -c -O6 -ffast-math -fomit-frame-pointer -m486 -DNO_BYTE_SWAPPING -DOS_MSDOS > -DARCH_i586 formats.c > gcc -c -O6 -ffast-math -fomit-frame-pointer -m486 -DNO_BYTE_SWAPPING -DOS_MSDOS > -DARCH_i586 getbits.c > gcc -c -O6 -ffast-math -fomit-frame-pointer -m486 -DNO_BYTE_SWAPPING -DOS_MSDOS > -DARCH_i586 huffman.c > gcc -c -O6 -ffast-math -fomit-frame-pointer -m486 -DNO_BYTE_SWAPPING -DOS_MSDOS > -DARCH_i586 layer3.c > layer3.c:17: transform.h: No such file or directory (ENOENT) > make.exe: *** [layer3.o] Error 1 > Dear Randy, I've found out that, 1. The libamp.zip wrongly contains the normal 8+3 DOS filenames. ie - the file which should really be TRANSFORM.H is stored as TRANSFOR.H in the zip archive. 2. Several files (layer3.c etc...) correctly requests "#include transform.h" and when the compiler asks the OS(Windows I am assuming you are running make from a Windows dos box) to open the long file name TRANSFORM.H windows correctly doesn't find it as the unzipped file is TRANSFOR.H. The only quick fix I could think of is by "restarting in ms-dos mode" and the running make. reason-: since DOS will truncate the request for transform.h to transfor.h it will compile OK. This problem occurs because there are so many references to Long File Names in the sources and the zip file contains only the truncated versions of them . So IMHO the fault is in the Zipfile. 2. The other problem is that since you are using GCC2.95 it has changed It's inline assembler support so that some programs wich use inline assembly (LIBAMP and others) won't compile.Ie-: The compiler will Howl, audioalg.c: In function `audioBufferWrite': audioalg.c:373: Invalid `asm' statement: audioalg.c:373: fixed or forbidden register 2 (cx) was spilled for class CREG. and abort. My solution was to use GCC 2.81(which doesn't have the above problem) to compile LIBAMP and get the libamp.a library. However if you are a good assembly programmer you can research the above error at the djgpp mailing list or at and maybe correct the error in the source code yourself . So my solution (which is a quick fix) is to 1. Get GCC2.81 and install it (after you compile the library you can install GCC2.95 and link with it). 2. from Windows select(Shutdown,restart the computer in ms-dos mode) and change to the libamp directory and run make. I hope this work's because I really couldn't think of a better quick solution. Maybe someone else might help . Bye! Kalum Somaratna.