Allegro.cc - Online Community

Allegro.cc Forums » Allegro Development » Allegro 4.2.0 has been released!

This thread is locked; no one can reply to it. rss feed Print
 1   2   3   4 
Allegro 4.2.0 has been released!
Evert
Member #794
November 2000
avatar

Quote:

D:\allegro4_20>make install
misc\mdhelper.bat C:\PROGRA~1\MICROS~2\VC98\lib
process_begin: CreateProcess((null), miscmdhelper.bat C:PROGRA~1MICROS~2VC98lib,
...) failed.
make (e=2): The system cannot find the file specified.
make: *** [create-install-dirs] Error 2

That happens if there's a mis-match in DJGPP and MinGW programmes. You wouldn't be using DJGPP's make, or MinGW's make with a DJGPP-based bash, would you? ;)

Tobias Dammers
Member #2,604
August 2002
avatar

Hehehe.... crappy LFN support I guess... /me remembers the ugly workarounds djgpp uses...

---
Me make music: Triofobie
---
"We need Tobias and his awesome trombone, too." - Johan Halmén

Ronald Blankendaal
Member #6,561
November 2005

Hi everybody,

Congratulations to all the people that made 4.2.0 a reality! Amazing job, guys!

Allegro builds fine on MingW32 for me, but unfortunately it doesn't on DJGPP (gcc.exe (GCC) 4.0.1), this is the message I get:

Compiling Allegro for djgpp, optimised. Please wait...
gcc -DALLEGRO_SRC -DALLEGRO_LIB_BUILD -Wall -Wno-unused -mtune=i586 -O2 -funroll-loops -ffast-math -fomit-frame-pointer -I. -
I./include -o obj/djgpp/alleg/graphics.o -c src/graphics.c
src/graphics.c: In function '_set_gfx_mode':
src/graphics.c:635: error: 'blit_end' undeclared (first use in this function)
src/graphics.c:635: error: (Each undeclared identifier is reported only once
src/graphics.c:635: error: for each function it appears in.)
make.exe: *** [obj/djgpp/alleg/graphics.o] Error 1

Am I doing something wrong ('fix djgpp', 'make')? Are the devs aware of this issue?

Kindest regards,

Ronald

Peter Wang
Member #23
April 2000

Oops. Please add this line somewhere near the top of src/graphics.c. Thanks for pointing it out.

extern void blit_end(void);

gnolam
Member #2,030
March 2002
avatar

Nice! Now we just need a new version of AllegroGL.

--
Move to the Democratic People's Republic of Vivendi Universal (formerly known as Sweden) - officially democracy- and privacy-free since 2008-06-18!

Fladimir da Gorf
Member #1,565
October 2001
avatar

A small request, people: I only have Windows and GCC, so could you OS X, Linux and MSVC users attach your compiled library files?

OpenLayer has reached a random SVN version number ;) | Online manual | Installation video!| MSVC projects now possible with cmake | Now alvailable as a Dev-C++ Devpack! (Thanks to Kotori)

Ronald Blankendaal
Member #6,561
November 2005

Thanks for the help Peter,

Allegro compiles ok now, and the examples seem to work just fine.
Some final notes though.. I got a couple of warnings during the compilation:

src/dos/vesa.c: In function 'get_vesa_info':
src/dos/vesa.c:328: warning: pointer targets in passing argument 1 of 'strncmp' differ in signedness
src/dos/vesa.c: In function 'setup_vesa_desc':
src/dos/vesa.c:579: warning: pointer targets in passing argument 1 of 'uconvert' differ in signedness
tests/vesainfo.c: In function 'get_vesa_info':
tests/vesainfo.c:176: warning: pointer targets in passing argument 1 of 'strncmp' differ in signedness

and this is the output of 'make install':

C:\DJGPP\allegro>make install
misc\mdhelper.bat c:\djgpp\lib

C:\DJGPP\ALLEGRO>
Extended Error 183

misc\mdhelper.bat c:\djgpp\include

C:\DJGPP\ALLEGRO>
Extended Error 183

misc\mdhelper.bat c:\djgpp\include\allegro

C:\DJGPP\ALLEGRO>
Extended Error 183

misc\mdhelper.bat c:\djgpp\include\allegro\platform

C:\DJGPP\ALLEGRO>
Extended Error 183

misc\mdhelper.bat c:\djgpp\include\allegro\internal

C:\DJGPP\ALLEGRO>
Extended Error 183

misc\mdhelper.bat c:\djgpp\include\allegro\inline

C:\DJGPP\ALLEGRO>
Extended Error 183

copy lib\djgpp\liballeg.a c:\djgpp\lib
1 file(s) copied
copy docs\info\allegro.info c:\djgpp\info
File not found - DOCS\INFO\ALLEGRO.INFO
0 file(s) copied
install-info c:/djgpp/info/allegro.info c:/djgpp/info/dir
install-info: No such file or directory (ENOENT) for c:/djgpp/info/allegro.info
make.exe: [c:/djgpp/info/allegro.info] Error 1 (ignored)
copy include\allegro\platform\alplatf.h c:\djgpp\include\allegro\platform\alplat
f.h
1 file(s) copied
The optimised djgpp library has been installed.

I don't think that went entirely correct.. any idea what's wrong?

Regards,

Ronald

Dennis
Member #1,090
July 2003
avatar

Compiled Allegro4.20 with MinGW3.1.0 and MSVC6.
Worked all flawlessly, no errors, no warnings with all of these possibilities: {STATICLINK=1,{}} x {PROFILEMODE=1,DEBUGMODE=1,{}}.
:):):)

For my project, i only use MSVC6 to compile.

Problem:
I get two 'unresolved symbol' linker errors, when i try to compile my project with the 'alld.lib'.
One is referring to '__imp__hline' and the other to '__imp__vline'.
(I do not use the 'curses' library, so conflicting hline,vline is not an issue.)

Oddity:
With the standard MSVC6 'Release' configuration and 'alleg.lib', i do not get these errors and everything works fine.
The only way i managed to jump around this, was to replace all 'hline','vline' calls with equivalent 'line' calls.
I searched for '__imp__hline' in all files of the whole allegro directory, but indeed could not find it(not even in the .map files), so i guess something went wrong with building 'alld.lib', but what could be causing this?
((probably br0ken?)msvc6 alld.lib and alld42.dll is attached)

Thomas Harte
Member #33
April 2000
avatar

Quote:

A small request, people: I only have Windows and GCC, so could you OS X, Linux and MSVC users attach your compiled library files?

I have to admit to not really understanding the way libraries work on OS X yet. I have attached a bundle of everything from lib/macosx, but whether that is enough to install the framework and template that most OS X users will consider essential rather than just the BSD subsystem style libs I have no idea.

I used GCC 4.0 and all the latest libraries, so these are probably for OS X v10.4 Tiger only.

Peter Wang
Member #23
April 2000

Ronald: did the header files get installed properly? Otherwise install-info failing is ignorable (though allegro.info should have been generated).

EDIT: attached a patch which should fix the warnings with src/dos/vesa.c

Dennis: the problem is that hline and vline are now inline functions which actually call _allegro_hline and _allegro_vline. The implementations are in include/allegro/inline/draw.inl. What happens if you use one of the older fixed-point functions in debug mode, say, fcos instead of fixcos? I'm not familiar with MSVC so I'm just hoping that the problem does not show up with fcos.

Paul Pridham
Member #250
April 2000
avatar

Quote:

That happens if there's a mis-match in DJGPP and MinGW programmes. You wouldn't be using DJGPP's make, or MinGW's make with a DJGPP-based bash, would you?

Evert, I have recently updated my mingw32 installation, and I don't have DJGPP set up on my machine currently. The "make.exe" in my mingw32/bin directory looks a little suspect though:

root 122880 Nov 7 1999 make.exe*
None 90624 Sep 21 2004 mingw32-c++.exe*
None 90624 Sep 21 2004 mingw32-g++.exe*
None 88064 Sep 21 2004 mingw32-gcc-3.4.2*
None 88064 Sep 21 2004 mingw32-gcc.exe*
None 1069568 Aug 11 18:52 mingw32-make.exe*

Shouldn't it be newer? Maybe I just didn't install mingw properly. Honestly, I don't remember, I did it one bored evening this past summer. ;)

Anyway, everything is built, including the CHM docs, and running smoothly. Thanks to the Allegro team, the Earth is safe once again!

Peter Wang
Member #23
April 2000

For all our sakes, please delete that thing or move it out of the way! Or just run "make -v" and see what it is.

Ronald Blankendaal
Member #6,561
November 2005

Peter,

Both liballeg.a and the header files got installed successfully. I guess that's fine then, thanks again for the patch and your help.

Regards,

Ronald

ReyBrujo
Moderator
January 2001
avatar

Ronald, were you compiling and installing under a pure DOS environment? Or using Windows XP? Check if you got an allegro.inf file created, maybe it did not support the four letter extension and created a three letter one instead.

--
RB
光子「あたしただ…奪う側に回ろうと思っただけよ」
Mitsuko's last words, Battle Royale

Ronald Blankendaal
Member #6,561
November 2005

Hello again,

I'm compiling on a dos command prompt inside WinXP. Inside C:\DJGPP\allegro\docs\info, the file allegro.info gets created, but during make install, the copy command fails:

copy docs\info\allegro.info c:\djgpp\info
File not found - DOCS\INFO\ALLEGRO.INFO

Maybe the path in which the copy command is executed is not C:\DJGPP\allegro, because a manual copy inside that directory DOES work?! Or there might be a problem with the uppercasing of the file?

Ronald

ReyBrujo
Moderator
January 2001
avatar

Quote:

misc\mdhelper.bat c:\djgpp\include\allegro\inline

C:\DJGPP\ALLEGRO>
Extended Error 183

Is it possible that you already had the directory created, which generated this error?

Quote:

copy lib\djgpp\liballeg.a c:\djgpp\lib
1 file(s) copied
copy docs\info\allegro.info c:\djgpp\info
File not found - DOCS\INFO\ALLEGRO.INFO
0 file(s) copied

It was in the allegro directory, as it could copy the library but not the info. I am a bit lightheaded right now, so I cannot guess what happened.

--
RB
光子「あたしただ…奪う側に回ろうと思っただけよ」
Mitsuko's last words, Battle Royale

Paul Pridham
Member #250
April 2000
avatar

Peter,

1$ ./make -v
2GNU Make version 3.77, by Richard Stallman and Roland McGrath.
3Copyright (C) 1988, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98
4 Free Software Foundation, Inc.
5This is free software; see the source for copying conditions.
6There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
7PARTICULAR PURPOSE.
8 
9Report bugs to <bug-make@gnu.org>.
10 
11ppridham@BLUE /cygdrive/d/mingw32/bin
12$ ./mingw32-make.exe -v
13GNU Make 3.80
14Copyright (C) 2002 Free Software Foundation, Inc.
15This is free software; see the source for copying conditions.
16There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
17PARTICULAR PURPOSE.

Huh, strange! Anyway yea, I'll get rid of it. ;)

Michael Faerber
Member #4,800
July 2004
avatar

I've quickly tried to make an ebuild for the new Allegro version, there I found something: In the Allegro 4.1.18 ebuild (the most recent official one) there is a patch for Allegro, looking like this:

--- misc/allegro.m4
+++ misc/allegro.m4
@@ -11,7 +11,7 @@
 dnl AM_PATH_allegro([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]$
 dnl Test for allegro, and define allegro_CFLAGS and allegro_LIBS
 dnl
-AC_DEFUN(AM_PATH_ALLEGRO,[
+AC_DEFUN([AM_PATH_ALLEGRO],[
 AC_ARG_WITH(allegro-prefix,
             [  --with-allegro-prefix=PFX   Prefix where liballegro is installe$
             ALLEGRO_CONFIG_prefix="$withval", ALLEGRO_CONFIG_prefix="")

I plan to submit a new ebuild to Gentoo Portage, but before I do this I want to know if this patch is still necessary?

Oh, and btw, Allegro compiled fine (also without the patch).

EDIT: I just noticed that the new demo game wasn't included >:( and the old demo game still showed the Allegro 4.0 movie ...

--
"The basic of informatics is Microsoft Office." - An informatics teacher in our school
"Do you know Linux?" "Linux? Isn't that something for visually impaired people?"

Evert
Member #794
November 2000
avatar

Quote:

but before I do this I want to know if this patch is still necessary?

No, that fix was made a while back.

Quote:

Allegro compiled fine (also without the patch).

It would - the patch doesn't affect the build process of Allegro, it affects the allegro.m4 file that other people can use to test if Allegro is installed.

By the way, if you're also in charge of specifying on what hardware Allegro has been tested and is known to work, Allegro is 64 bit safe.

Michael Faerber
Member #4,800
July 2004
avatar

Thanks for your answer! I've already written a bug report on Bugzilla so that the new Ebuild will be included in Portage!

--
"The basic of informatics is Microsoft Office." - An informatics teacher in our school
"Do you know Linux?" "Linux? Isn't that something for visually impaired people?"

Dennis
Member #1,090
July 2003
avatar

Peter Wang said:

the problem is that hline and vline are now inline functions which actually call _allegro_hline and _allegro_vline. The implementations are in include/allegro/inline/draw.inl.

recognition:
Aaaah, i see, so the problem is that inline functions are disabled per default in MSVC6's 'Debug' configuration.

solution:
So i enabled them for 'Debug'(preprocessor symbol used by MSVC6 is actually _DEBUG), which then showed the error that 'inline' functions are incompatible with the debug-info-creation of the type 'programme-database for edit and continue'.
So i disabled debug-info-creation for 'edit and continue' and now it compiles fine in debug mode with 'alld.lib'.

conclusion:
So 'alld.lib' was not br0ken, it was just a matter of wrong MSVC6 settings, completely disallowing inline functions.
The drawback is that of losing the 'edit and continue' debug feature.
Is there a possibility to make Allegro fall back to non-inline alternatives, if generation of inline functions is prohibited by the compiler settings?

(recognition,solution,conclusion...the AK-47 robot from KnightsOfTheOldRepublic reprogrammed me to this funny type of answer-structuring:))

Peter Wang said:

What happens if you use one of the older fixed-point functions in debug mode, say, fcos instead of fixcos? I'm not familiar with MSVC so I'm just hoping that the problem does not show up with fcos.

'fcos' works without any warnings or errors.

Ronald Blankendaal
Member #6,561
November 2005

Hi everybody,

I decided to remove my djgpp directory entirely and rebuild from scratch.
Used bnu2161b.zip, djdev203.zip, fil41b.zip, gcc401b.zip, gpp401b.zip, mak3791b.zip, pat253b.zip, txi48b.zip and Peter Wang's fix for graphics.c and his vesa_sign patch.

Still, a minor, related, warning pops up during compilation:

tests/vesainfo.c: In function 'get_vesa_info':
tests/vesainfo.c:176: warning: pointer targets in passing argument 1 of 'strncmp' differ in signedness

Everything else is smooth. Then, 'make install' does its magic, until

Extended Error 183
copy docs\info\allegro.info c:\djgpp\info
0 file(s) copied
File not found - DOCS\INFO\ALLEGRO.INFO

install-info c:/djgpp/info/allegro.info c:/djgpp/info/dir
install-info: No such file or directory (ENOENT) for c:/djgpp/info/allegro.info
make.exe: [c:/djgpp/info/allegro.info] Error 1 (ignored)

After make finishes, I can do the copy and install-info commands manually myself without problems. All the other files are installed as far as I can tell, and the examples work fine. I've no idea what's the problem here, can you guys tell me where to look further?

Regards,

Ronald

ReyBrujo
Moderator
January 2001
avatar

I would ask you to do a small test: search in makefile.dj and makefile.all for the allegro.info rule, and rename allegro.info to allegro.inf, and try again. My bet is that, for who knows why, the four letter extension is breaking this build (similar to an old Watcom problem where compilation failed because a file had nine characters as name: datafiles.c).

I am at work right now, but may be able to check and modify the makefiles if you cannot.

--
RB
光子「あたしただ…奪う側に回ろうと思っただけよ」
Mitsuko's last words, Battle Royale

Ronald Blankendaal
Member #6,561
November 2005

Thank you ReyBrujo, that was it! I changed makefile.dj, line 42 from

INFO = info
to
INFO = inf

and that did the trick, make install works fine now. Thanks again, fellows!

Regards,

Ronald

Peter Wang
Member #23
April 2000

Dennis: It's strange, because hline/vline are supposed to be using the same technique as fcos and friends. I can't see any difference between them. Please try to figure it out and let me know if you need some guidance around the Allegro source code.

 1   2   3   4 


Go to: