View previous topic :: View next topic |
Author |
Message |
JJR
Joined: 22 Feb 2004 Posts: 1104
|
Posted: Thu Jul 22, 2004 2:09 pm Post subject: Linux Version |
|
|
We really need to a linux version of Derelict to make it the "one-and-only."
Looking it over, I see you've done a tremendous amount of work. It's hard for me to guess how much more work it would be to get a linux version up and running, but std.loader should work properly for the linux version too since it interfaces with the dl.so library.
The linux versions of the OpenGL library should reside in /usr/lib and are called libGL.so, libGL.so.1.3, libGLU.so, etc.
I'm not sure if the bindings as you've defined them for windows would work as is for linux with a only separate loader for the linux dynamic library startup.
The one current problem with std.loader on linux is that it isn't currently compiled into phobos on Linux! I don't have any idea why, since the loader is included with the distribution. Not that it's a big deal. One could easily just include the loader.d module in the project, or one could just recompile phobos with the module included.
Any thoughts on this?
Later,
John |
|
Back to top |
|
|
aldacron
Joined: 05 May 2004 Posts: 1322 Location: Seoul, South Korea
|
Posted: Fri Jul 23, 2004 5:21 am Post subject: |
|
|
I'll have to look more closely into the GL on Linux issue. I was under the impression that GLee was designed in such a way that it did the right thing even on Linux (with regards to GL 1.2+). If not and Linux needs to be special-cased, then some thought will need to be given into rewriting the entire package such that it is identical on both platforms.
re std.loader: This should have no effect on Derelict itself at all. Each package can still include std.loader as usual. Since the Derelict packages build to libs, phobos is not linked in anyway until an application using Derelict is built. It will be up to the client to deal with phobos issues when compiling the executable.
As to actually getting the Linux version done, I feel I'm really not the man for the job (or more accurately, I don't want to be). I can install an older version of RedHat (7.1 IIRC) and fool around with it if need be, but I'm really hoping someone else steps up and takes care of it. I have used Linux sparingly over the last several years and have never been comfortable with it. I truly despise having so many different directories where files are installed, so many different configuration files, and the fact that it takes ages to learn enough of the system to be competent at trouble shooting. I put together a Linux From Scratch system earlier this year in an attempt to learn more, but there was nothing enjoyable about it. I doubt I'd have much trouble getting Derelict ported and built, but I'm still reluctant to do so.
If no one takes care of it between now and the time I get everything other than DX on Windows, I'll bite the bullet and do it myself. |
|
Back to top |
|
|
Jaymz031602
Joined: 18 Aug 2004 Posts: 14
|
Posted: Thu Aug 19, 2004 8:33 am Post subject: |
|
|
This sounds like a Job for me. Once I get back to skool (Aug 22nd) with a decent internet connection , I can tackle this Linux version quite easily. I'll grab your latest SVN trunk and patch it up for Linux. Hey, it only took me an hour to come up with the SDL_mixer port. _________________ "Yeah, well you're hogging all the ... UGLY!" - Chris (Family Guy) |
|
Back to top |
|
|
clayasaurus
Joined: 21 May 2004 Posts: 857
|
Posted: Thu Aug 19, 2004 9:23 pm Post subject: It works on linux for me ;) |
|
|
The only things that are keeping linux from derelict are
#1) loader is not compiled into phobos on linux, which can be remedied by linking a loader.o file to your project after compiling loader.d. remember to change version(Linux) to version(linux) in loader.d
#2) need to add
version (linux)
{
hsdl = ExeModule_Load("libSDL.so");
}
and do the same for libGL.so, libGLU.so, libSDL_image.so, and all future libs.
#3) in gl.d, put
loadPlatformGL() into a version(Windows) block, since that loads all windows wgl functions which linux doesn't have/need
#4) get syswm.d working on linux. i just did some stupid aliases but there is probably a better solution.
Ah whatever. I got it to work in linux for me yippie!
So derelict is the "one and only" for me lol. |
|
Back to top |
|
|
clayasaurus
Joined: 21 May 2004 Posts: 857
|
Posted: Thu Sep 02, 2004 11:40 am Post subject: i just switch to mepis linux (debian based) |
|
|
I just switch to mepis linux, and to get the DL's to load I had to change the names.
I don't know if these are more correct (most likely are) so here you go if you ever want to add the
version(linux)
// load .so (shared object)
libGL.so.1
libGLU.so.1
libSDL-1.2.so.0
libSDL_image-1.2.so.0
libopenal.so.0 |
|
Back to top |
|
|
aldacron
Joined: 05 May 2004 Posts: 1322 Location: Seoul, South Korea
|
Posted: Thu Sep 02, 2004 1:58 pm Post subject: Re: i just switch to mepis linux (debian based) |
|
|
clayasaurus wrote: | I just switch to mepis linux, and to get the DL's to load I had to change the names.
I don't know if these are more correct (most likely are) so here you go if you ever want to add the
version(linux)
// load .so (shared object)
libGL.so.1
libGLU.so.1
libSDL-1.2.so.0
libSDL_image-1.2.so.0
libopenal.so.0 |
I'm far from being a Linux guru, but in this case I think you would be better off setting up symbollic links on your system rather than changing the dll names in the code. I'm getting a new system next week, and some time after that I will burn a current linux distro (finally leaving the Dark Ages and getting a CDRW) and get it installed (probably on both machines). Then I'll see what I can do with this stuff. But I think the first version you posted is the correct way to go. |
|
Back to top |
|
|
clayasaurus
Joined: 21 May 2004 Posts: 857
|
Posted: Thu Sep 02, 2004 9:02 pm Post subject: Re: i just switch to mepis linux (debian based) |
|
|
aldacron wrote: | clayasaurus wrote: | I just switch to mepis linux, and to get the DL's to load I had to change the names.
I don't know if these are more correct (most likely are) so here you go if you ever want to add the
version(linux)
// load .so (shared object)
libGL.so.1
libGLU.so.1
libSDL-1.2.so.0
libSDL_image-1.2.so.0
libopenal.so.0 |
I'm far from being a Linux guru, but in this case I think you would be better off setting up symbollic links on your system rather than changing the dll names in the code. I'm getting a new system next week, and some time after that I will burn a current linux distro (finally leaving the Dark Ages and getting a CDRW) and get it installed (probably on both machines). Then I'll see what I can do with this stuff. But I think the first version you posted is the correct way to go. |
oh cool so you're gonna get linux. yea mepis linux is cool (www.mepis.org) it's a debian based desktop distro live cd that automatically configures your system and gives you the choice to install to the hard drive . You have to install the devel libraries with apt-get so if you wanna do that pm me i can help. otherwise good luck : ) may the penguin be with you
ps. i'm no linux guru either but it sure looks better and is faster than windows IMO (no virus slowdowns on internet etc.) also i can use the live cd to make ANY machine with a cd drive to use linux and Open Office, which is good cause my schools libraries computers are windows without MS Word so i just boot live cd and use Open Office hehe
edit: ps. the libs i listed are symbolic links pointing to more complicated filenames |
|
Back to top |
|
|
aldacron
Joined: 05 May 2004 Posts: 1322 Location: Seoul, South Korea
|
Posted: Fri Sep 03, 2004 4:45 am Post subject: |
|
|
I've toyed with different distros off and on over the past 5 years or so. I'm no stranger to it. But a few months back I sat down and built a Linux From Scratch system. It worked wonderfully. But in the process of going beyond the minimal system they teach you to build, I managed to bork things pretty good. So no more LFS for me. I've been waiting to get a CDRW before I mess with anything again so I can get the very latest of one distro or another. |
|
Back to top |
|
|
clayasaurus
Joined: 21 May 2004 Posts: 857
|
Posted: Mon Sep 27, 2004 3:19 pm Post subject: |
|
|
aldacron wrote: | I'll have to look more closely into the GL on Linux issue. I was under the impression that GLee was designed in such a way that it did the right thing even on Linux (with regards to GL 1.2+). If not and Linux needs to be special-cased, then some thought will need to be given into rewriting the entire package such that it is identical on both platforms.
|
Yea, the D port seems to only target win32. I'm looking at the linux glee.h right now and might be able to get a glee.d that works on linux. Also, on linux GLee is a shared library. Surely someone could make a GLee.dll (if not already made) and just do the normal dynamic loading thing? |
|
Back to top |
|
|
aldacron
Joined: 05 May 2004 Posts: 1322 Location: Seoul, South Korea
|
Posted: Mon Oct 25, 2004 9:30 pm Post subject: |
|
|
For what it's worth, I'm downloading Mepis right now. I was going to go with Debian, and started pulling it down with that new jigdo thing (or whatever it's called), but decided to go with Mepis instead. I need to pull one of the HDDs out of my old system and put it in my current one, burn the CD, and install. So sometime in the next few days I'll be up and running. Then I can actually test stuff out myself.
EDIT: On second thought, I think I will go with Debian. Jigdo is much faster than downloading Mepis over ftp/http, and I'm getting impatient |
|
Back to top |
|
|
|