Newly compiled love.exe in VS2010 runs without DLLs

Questions about the LÖVE API, installing LÖVE and other support related questions go here.
Forum rules
Before you make a thread asking for help, read this.
Post Reply
luminosity
Prole
Posts: 34
Joined: Fri Sep 24, 2010 5:46 am

Newly compiled love.exe in VS2010 runs without DLLs

Post by luminosity »

Hi,

So there were a few little tweaks I wanted to make to Love that required building it myself (eg, make it look for a main.lua in the same directory if you double click to open love.exe), and wanted to give luaJIT a try. I've downloaded Visual c++ 2010 express, the love source, the sdk, got them all set up, and it compiles properly and runs properly with the changes I wanted -- but it doesn't seem to require the DLLs to run. When I move it into its own directory without the DLLs everything runs perfectly fine, which is not what I want.

This is the first project I've tried to compile myself, and I'm unsure if I've just set something wrong in VC++?

FYI I built my own Lua too, and copied it into the SDK dir, as detailed in this thread. I haven't changed any files in the love solution outside of the boot.lua.h.

Thanks.
User avatar
TechnoCat
Inner party member
Posts: 1611
Joined: Thu Jul 30, 2009 12:31 am
Location: Denver, CO
Contact:

Re: Newly compiled love.exe in VS2010 runs without DLLs

Post by TechnoCat »

luminosity wrote:Hi,

So there were a few little tweaks I wanted to make to Love that required building it myself (eg, make it look for a main.lua in the same directory if you double click to open love.exe), and wanted to give luaJIT a try. I've downloaded Visual c++ 2010 express, the love source, the sdk, got them all set up, and it compiles properly and runs properly with the changes I wanted -- but it doesn't seem to require the DLLs to run. When I move it into its own directory without the DLLs everything runs perfectly fine, which is not what I want.

This is the first project I've tried to compile myself, and I'm unsure if I've just set something wrong in VC++?

FYI I built my own Lua too, and copied it into the SDK dir, as detailed in this thread. I haven't changed any files in the love solution outside of the boot.lua.h.

Thanks.
This is illegal. Statically compiling the DLL's (specifically devil, openal, sdl) is illegal AFAIK.
If you have the required DLL's in some envvar like system32 then it will work without DLL's in the current dir.
User avatar
Boolsheet
Inner party member
Posts: 780
Joined: Wed Dec 29, 2010 4:57 am
Location: Switzerland

Re: Newly compiled love.exe in VS2010 runs without DLLs

Post by Boolsheet »

TechnoCat wrote:This is illegal.
Illegal is such a strong word. ;)

It is perfectly fine to link statically against LGPL libraries as long as you provide a way for users to recompile the LGPL part. That means you have to distribute the source of the LGPL part and at least the object code (.obj files) of your non-LGPL stuff.

The LÖVE SDK for msvc2010 includes only dynamically linked versions of SDL, OpenAL Soft and DevIL. (Like TechnoCat said) If you still can run it without any of the dlls in the same directory as the executable you probably have other versions in the dll search targets. A debugger should show you what exactly gets loaded (I know windbg does).
Shallow indentations.
User avatar
Robin
The Omniscient
Posts: 6506
Joined: Fri Feb 20, 2009 4:29 pm
Location: The Netherlands
Contact:

Re: Newly compiled love.exe in VS2010 runs without DLLs

Post by Robin »

Boolsheet wrote:It is perfectly fine to link statically against LGPL libraries as long as you provide a way for users to recompile the LGPL part. That means you have to distribute the source of the LGPL part and at least the object code (.obj files) of your non-LGPL stuff.
No. Statically linking is making a derivative in terms of LGPL, which means LÖVE would need to be LGPL or GPL as well.
Help us help you: attach a .love.
User avatar
pk
Citizen
Posts: 67
Joined: Wed Dec 14, 2011 2:13 am
Location: Texas, United States
Contact:

Re: Newly compiled love.exe in VS2010 runs without DLLs

Post by pk »

Wikipedia says it's not such a cut-and-dry issue.
ALL CREATURE WILL DIE AND ALL THE THINGS WILL BE BROKEN. THAT'S THE LAW OF SAMURAI.
User avatar
Boolsheet
Inner party member
Posts: 780
Joined: Wed Dec 29, 2010 4:57 am
Location: Switzerland

Re: Newly compiled love.exe in VS2010 runs without DLLs

Post by Boolsheet »

Yeah, depends on what is considered a modified version. Damn you, lawyer speak.

Section 4 of the LGPL states that you can release your work under your terms if you follow a few points. The issue of static or dynamic is never mentioned in the text, except where it is an option of two in section 4d1 where dynamic loading is described. I interpret the option 4d0 as the thing I said above.
Shallow indentations.
User avatar
MarekkPie
Inner party member
Posts: 587
Joined: Wed Dec 28, 2011 4:48 pm
Contact:

Re: Newly compiled love.exe in VS2010 runs without DLLs

Post by MarekkPie »

Boolsheet wrote:4d1 ... 4d0
Damn! I missed my saving throw. Anyone have a Cure Light Wounds?
User avatar
Robin
The Omniscient
Posts: 6506
Joined: Fri Feb 20, 2009 4:29 pm
Location: The Netherlands
Contact:

Re: Newly compiled love.exe in VS2010 runs without DLLs

Post by Robin »

pk wrote:Wikipedia says it's not such a cut-and-dry issue.
Fair enough. I would err on the safe side, though, with things like this.
Help us help you: attach a .love.
scirath
Citizen
Posts: 85
Joined: Mon Feb 23, 2009 4:44 am

Re: Newly compiled love.exe in VS2010 runs without DLLs

Post by scirath »

Something just dawned on me (sorry for yet another topic segue, luminosity). It's been awhile since I thought about GPL a whole lot, but when we distribute the DLLs with our projects (or with the LÖVE binary itself, for that matter), aren't we technically required to provide both a copy of the license and (at least) a link to the original source code for the DLLs?
(USER MIGHT BE BANNED FOR THIS POST.)
User avatar
pk
Citizen
Posts: 67
Joined: Wed Dec 14, 2011 2:13 am
Location: Texas, United States
Contact:

Re: Newly compiled love.exe in VS2010 runs without DLLs

Post by pk »

Not sure. The LOVE distribution does, but seeing as LOVE can't force end users to release their creations as free software/open source, I don't think anyone is required to use or alter the bundled license.txt.

The SDL 2.0 branch has switched to the zlib/libpng license, which is nice.
ALL CREATURE WILL DIE AND ALL THE THINGS WILL BE BROKEN. THAT'S THE LAW OF SAMURAI.
Post Reply

Who is online

Users browsing this forum: Google [Bot] and 45 guests