FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

DerelictAL - DSSS problem?

 
Post new topic   Reply to topic     Forum Index -> Derelict
View previous topic :: View next topic  
Author Message
zane.sims



Joined: 07 Aug 2007
Posts: 40

PostPosted: Sat Nov 29, 2008 10:34 am    Post subject: DerelictAL - DSSS problem? Reply with quote

So I was trying to install arclib-sprite with 'dsss net install arclib-sprite' and I get something like:

Code:
arc_openal => arc_openal
+ C:\d\dsss\bin\rebuild.exe -Idsss_imports\ -I. -S.\ -IC:\d\dsss\include\d -SC:\
d\dsss\lib\  -IC:\d\dsss\include\d -SC:\d\dsss\lib  -oqdsss_objs\D arcmacros.ddo
c -g  -clean -full  -explicit -lib arc_openal\sound.d -ofarc_openal.lib
arc_openal\sound.d(904): Error: undefined identifier DerelictALU
arc_openal\sound.d(904): Error: undefined identifier DerelictALU
arc_openal\sound.d(904): Error: no property 'load' for type 'int'
arc_openal\sound.d(904): Error: function expected before (), not 1 of type int
arc_openal\sound.d(914): Error: undefined identifier DerelictALU
arc_openal\sound.d(914): Error: undefined identifier DerelictALU
arc_openal\sound.d(914): Error: no property 'unload' for type 'int'
arc_openal\sound.d(914): Error: function expected before (), not 1 of type int
Command C:\d\dsss\bin\rebuild.exe returned with code 1, aborting.
Error: Command failed, aborting.


And so I thought to myself, "wait! I don't have derelictal installed." So I tried installing it with 'dsss net install derelictal', but got the following output:

Code:
Synchronizing...
+ curl -s -S -k http://svn.dsource.org/projects/dsss/sources/source.list -o C:\d
\dsss\share\dsss\sources\source.list -z C:\d\dsss\share\dsss\sources\source.list

+ curl -s -S -k http://svn.dsource.org/projects/dsss/sources/pkgs.list -o C:\d\d
sss\share\dsss\sources\pkgs.list -z C:\d\dsss\share\dsss\sources\pkgs.list
+ curl -s -S -k http://svn.dsource.org/projects/dsss/sources/mirrors.list -o C:\
d\dsss\share\dsss\sources\mirrors.list -z C:\d\dsss\share\dsss\sources\mirrors.l
ist

Working in C:\d\dsss\tmp\DSSS_derelictal
+ svn export http://svn.dsource.org/projects/derelict/trunk/DerelictAL
A    DerelictAL
A    DerelictAL\forbud.txt
A    DerelictAL\dsss.conf
A    DerelictAL\derelict
A    DerelictAL\derelict\openal
A    DerelictAL\derelict\openal\alext.d
A    DerelictAL\derelict\openal\alcfuncs.d
A    DerelictAL\derelict\openal\altypes.d
A    DerelictAL\derelict\openal\alctypes.d
A    DerelictAL\derelict\openal\alfuncs.d
A    DerelictAL\derelict\openal\al.d
Exported revision 319.
Creating imports for DerelictAL

derelict => DerelictAL
+ C:\d\dsss\bin\rebuild.exe -Idsss_imports\ -I. -S.\ -IC:\d\dsss\include\d -SC:\
d\dsss\lib\  -IC:\d\dsss\include\d -SC:\d\dsss\lib  -oqdsss_objs\D -I../Derelict
Util  -explicit -lib derelict\openal\al.d derelict\openal\alcfuncs.d derelict\op
enal\alctypes.d derelict\openal\alext.d derelict\openal\alfuncs.d derelict\opena
l\altypes.d -ofDerelictAL.lib
Digital Mars Librarian Version 8.02n
Copyright (C) Digital Mars 2000-2007 All Rights Reserved
http://www.digitalmars.com/ctg/lib.html
Digital Mars Librarian complete.
DerelictAL.lib
Command: copy *.lib ..\lib
+ copy *.lib ..\lib
DerelictAL.lib
        1 file(s) copied.
Command: dsss distclean
+ dsss distclean

Removing DerelictAL

Command:
+

Installing DerelictAL
+ copying DerelictAL.lib
Error: C:\d\dsss\lib\DerelictAL.lib: The system cannot find the file specified.


Am I doing something wrong? (I usually am...lol)

Thanks,
Zane
_________________
わたしがプログラマだよ!
Back to top
View user's profile Send private message
aldacron



Joined: 05 May 2004
Posts: 1322
Location: Seoul, South Korea

PostPosted: Sat Nov 29, 2008 9:59 pm    Post subject: Reply with quote

No, you're not. I recently updated OpenAL to the latest version. The errors regarding DerelictALU come from the fact that there is no more DerelictALU. The latest OpenAL headers have no interfaces for any alu* functions. They are all al* or alc*. Besides which, they were only available on Windows in the first place.

Looking at the source for arc_openal.sound, it seems no alu* functions are ever called. In fact, there's an missing function handler to ignore the alu* functions! So DerelictALU.load can be removed from sound.d, as it's redundant. I suggest you file a ticket for the arc project (or post in the forums, however they handle it) asking them to make the change.

As for the second set of errors, that's something I was afraid would happen. I recently adjusted the dsss.conf files for all of the Derelict packages to run 'dsss distclean' as a postbuild step in order to remove all of the object files and everything else DSSS leaves lying around. This works fine when using 'dsss build' (which is why I added DSSS support in the first place).

Unfortunately, I've been unable to test it with 'dsss net install' because I always get an error telling me the Derelict packages are not available to install! I can't even download Derelict with net install, let alone compile it. From the output you posted, the postbuild steps are running before DSSS copies the library. This means that the command to copy to ../lib in the dsss.conf file is executing and then distclean is run. But then DSSS tries to copy the library to the place it keeps them in, but the library has already been deleted by distclean.

Ultimately, it seems that a particular dsss.conf file can be used to build libraries externally or to manage them internally, but when supporting both there have to be compromises. Right now, I'm not particularly happy about this. Rather annoying actually. I suppose I have not choice but to revert the changes I made to all of the dsss.conf files so I can make them net install friendly (or just proclaim that Derelict no longer supports dsss net install -- which I would love to do, but obviously can't).

I'll get to it when I can. In the meantime, if you can find where DSSS has downloaded the Derelict modules, you should find a lib directory that contains the compiled libraries.
_________________
The One With D | The One With Aldacron | D Bits
Back to top
View user's profile Send private message Send e-mail
aldacron



Joined: 05 May 2004
Posts: 1322
Location: Seoul, South Korea

PostPosted: Sat Nov 29, 2008 10:22 pm    Post subject: Reply with quote

OK, DerelictAL (and all the other packages) should be buildable again via dsss net install. I've just updated the trunk. Also, dsss net install is working for me (turns out it's case-sensitive, so 'dsss net install Derelict' wasn't working for me before). I've tested and everything builds. However, you won't be able to compile arclib via net install until they remove that call to DerelictALU.load.
_________________
The One With D | The One With Aldacron | D Bits
Back to top
View user's profile Send private message Send e-mail
zane.sims



Joined: 07 Aug 2007
Posts: 40

PostPosted: Sun Nov 30, 2008 6:00 am    Post subject: Reply with quote

Wow, thank you very much for taking the time out to give such a detailed explaination. That was VERY helpful!

Thanks again,
Zane
_________________
わたしがプログラマだよ!
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic     Forum Index -> Derelict All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group