View previous topic :: View next topic |
Author |
Message |
zane.sims
Joined: 07 Aug 2007 Posts: 40
|
Posted: Sat Nov 29, 2008 10:34 am Post subject: DerelictAL - DSSS problem? |
|
|
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 |
|
|
aldacron
Joined: 05 May 2004 Posts: 1322 Location: Seoul, South Korea
|
Posted: Sat Nov 29, 2008 9:59 pm Post subject: |
|
|
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 |
|
|
aldacron
Joined: 05 May 2004 Posts: 1322 Location: Seoul, South Korea
|
Posted: Sat Nov 29, 2008 10:22 pm Post subject: |
|
|
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 |
|
|
zane.sims
Joined: 07 Aug 2007 Posts: 40
|
Posted: Sun Nov 30, 2008 6:00 am Post subject: |
|
|
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 |
|
|
|
|
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
|