[Blitz3D 1.108] exes fail with 'missing fmod.dll'

Community Forums/Bug Reports/[Blitz3D 1.108] exes fail with 'missing fmod.dll'

Zethrax(Posted 2015) [#1]
I'm getting an issue where Blitz3D Version 1.108b fails with an error message about not being able to find 'fmod.dll' when I try to run a compiled executable.

This problem occurs in both debug and release modes, but doesn't occur when I do a compile and run without creating an executable. My guess would be that the fmod.dll is being linked correctly when the program is compiled and run from the temporary folder, but not when it is compiled and run from the user's project folder.

This is for the version available from the product updates page in the account section of this website ( http://www.blitzbasic.com/file/get.php?file=/Products/updates/blitz3d/Blitz3DSetup1108b.exe ). This version is supposed to have FMOD baked in, with the open-source version using FMOD via a DLL.

If I put the fmod.dll file from the Blitz3D/bin folder into my project's folder then this problem doesn't occur. As far as I'm aware this shouldn't be necessary though (FMOD is supposed to be baked in).

I've tested this with a fresh install after uninstalling Blitz3D and then renaming the Blitz3D folder that was left over (and got the same result). I've tested with different code samples (and got the same result), but haven't tested it with a program that uses sound.

EDIT: Forgot to mention that I have Windows 7 64-bit. Also, you likely won't get the error message if you have fmod.dll in a system folder where the system will commonly look for a referenced dll (at least I assume that this is the case).

So the steps to reproduce this problem are:-

1. Back up your Blitz3D folder and do a fresh install of Blitz3D Version 1.108b ( http://www.blitzbasic.com/file/get.php?file=/Products/updates/blitz3d/Blitz3DSetup1108b.exe ).

2. EDIT: Make sure that you don't have fmod.dll in a system folder.

3. Enter some working code into the IDE.

4. Compile the code as an executable (the problem occurs for both debug and release compile modes). EDIT: You won't encounter this issue if you just do a quickie compile and run. You need to actually create a standalone executable.

5. Run the executable and see if you get an error message pop-up about it not being able to find fmod.dll.

----------------------

I've also started getting an 'Error writing file <temp file path>' message (that's not the exact message) when I try to run code pasted into the IDE without saving it first. I seem to recall being able to run code without saving it in the past. I think this problem has only shown up since I did the fresh install to double check the problem described above.
EDIT: I manually created a 'tmp' folder inside the 'Blitz3D' folder and this stopped being a problem. Possibly there was some sort of permission issue that prevented the 'tmp' folder being automatically created.


videz(Posted 2015) [#2]
Works fine here. Maybe you need to sort out your DLLs. Do you have opensourced and updated version 1.108 both installed?

I would still be curious how you would recreate the baked FMOD build similar to the commercial or update release.. FMOD is a great sound lib.


Zethrax(Posted 2015) [#3]
The only version I've got installed came from this link ( http://www.blitzbasic.com/file/get.php?file=/Products/updates/blitz3d/Blitz3DSetup1108b.exe ) on the product updates page ( http://www.blitzbasic.com/Account/produpdates.php ).

Did you follow the steps I posted above to reproduce the problem?


videz(Posted 2015) [#4]
Hey Zethrax, The version I downloaded is without the "b" suffix which afaik means beta.

You can try the same version without the b..

http://www.blitzbasic.com/file/get.php?file=/Products/updates/blitz3d/Blitz3DSetup1108.exe

That one seems to work ok and I downloaded last time with built-in fmod


Floyd(Posted 2015) [#5]
1.108b is just the second attempt at 1.108. If there were a third it would be 1.108c.
Every release contains a file called versions.txt which describes the version history. 1.108b apparently just included some docs missing from the first iteration.

I downloaded and ran the 1.108b installer without uninstalling or deleting any previous version. I accepted all defaults, except that I renamed the folder \Blitz3D to \Blitz3D1108b to avoid corrupting any previous installation. Then I ran the newly installed version.

Everything looks okay, except the IDE recent files list was already populated with inappropriate names, using drives like D: and Z: which I don't have.

Then I loaded the castle demo, in \samples\mak\castle\castle.bb and compiled and executed. It ran without problems. Note it does use sound, Left-Alt fires an explosive projectile.

This is all on Windows 7 64-bit.


Zethrax(Posted 2015) [#6]
The 'b' version is the latest full release version. It was created because the original 1.108 version had the wrong set of docs ( http://www.blitzbasic.com/Community/posts.php?topic=103568 ).

Thanks for the link. I'll probably install that version and then grab the proper docs from the download page.

The 1.108b version still needs fixing though as it's the version new people will be using. And then left wondering why they get an error message when they try to run a compiled executable.


Zethrax(Posted 2015) [#7]
Floyd - Did you create a standalone executable and try to run that? This is where the problem is occurring. You won't get the problem with a quickie compile and run.

Also, you likely won't get this problem if you have fmod.dll in a system folder where an executable will commonly look for a referenced dll (at least I assume that this is the case).

I probably should have mentioned that I've also got Windows 7 64-bit.


videz(Posted 2015) [#8]
Ok I see now the version history and glad you got this sorted out.


Floyd(Posted 2015) [#9]
Did you create a standalone executable and try to run that?

Oops, forgot that little detail. I'll be back in a couple of minutes...

Yeah, that fails. I was not allowed to save in the source code directory, which was in the \Program Files(x86) folder.
I saved it elsewhere, ran it and it could not find fmod.

Give me a few more minutes to play around with with this.

No luck. I thought maybe running Blitz3D as Administrator would help. It doesn't.


Floyd(Posted 2015) [#10]
Here's an exercise in futility. I thought maybe a different IDE would fix the problem.

So I set up IDEal to use the 1108b compiler. At first that didn't work at all because it failed to create the .lng file. So I did that by hand, dumping a list of keyworks from the the 1108b blitzcc.exe. That let me compile and run from IDEal using 1108b.

Sadly, the fmod problem persists with the standalone exe.


xlsior(Posted 2015) [#11]
FYI: I think that the final download on the products page -is- the open source version, without fmod -- since that is the same page that the free users get it from as well. You may want to grab the previous built, and see if the problem persists.


RemiD(Posted 2015) [#12]
Is there a webpage where i can see what are the adds/fixes in each update ?

Currently i use v1.64 + v1.107 and my demos/prototypes work well on different computers (with windows xp, with windows vista, with windows 7, with windows 8)


Floyd(Posted 2015) [#13]
FYI: I think that the final download on the products page -is- the open source version, without fmod

That must be right. It explains why the executable is looking for fmod.dll, and also why it got smaller.


Is there a webpage where i can see what are the adds/fixes in each update ?


Yes, this page. Here is the 1.108b versions.txt file:




videz(Posted 2015) [#14]
Thanks Floyd for that info.. Ok, so from 1.107 - 1.108


v1.108..
Fixed app not starting on directinput error.
v1.107..
Implemented DirectDraw SetAppCompatData kludge to fix slow fullscreen FPS on Windows 8.



..I was wondering what is the culprit why FastExt won't run in 1.108?? What version of blitz3d started with the opensource move?


RemiD(Posted 2015) [#15]
@Floyd>>Thanks for the infos.



@videz>>reread your quote, you mixed the 2...



Who has seen the "app not starting on directinput error" problem, what does it do exactly and on which os ?


videz(Posted 2015) [#16]
thanks for pointing out my typo RemiD. just updated


LineOf7s(Posted 2015) [#17]
Confirmed here. Win7 64-bit.

1.108b fails with missing fmod.dll error. Drop back to 1.107 and it's just fine again.

Boo.


videz(Posted 2015) [#18]
@LineOF7s,

You should put the fmodl.dll in your bin folder, this should solve your problem. fmod.dll is available in this API package

http://www.fmod.org/files/public/fmodapi375win.zip


LineOf7s(Posted 2015) [#19]
Thankyou.

Unfortunately, lacking fmod.dll is not the problem.

The problem is that Blitz3D, the product, has fmod.dll baked in. It's acting like it doesn't and throwing an error. That's a bug. That's the problem.


videz(Posted 2015) [#20]
The latest v1.108b as the guys mentioned above, doesn't have fmod baked in. If you still want it baked in, just download the prior version v1.108

here again is the link.

http://www.blitzbasic.com/file/get.php?file=/Products/updates/blitz3d/Blitz3DSetup1108.exe

The only difference is the docs got mixed up. Please read carefully the post above as mentioned by Zethrax


Drop back to 1.107 and it's just fine again.


Why go back to 1.107? There's some Win 8 fixes if you're concerned with that..


videz(Posted 2015) [#21]
I just downloaded now and installed the v1.108b and everything really works fine as they said.

Compiled an EXE and placed fmod.dll beside it and runs fine.

Confirmed.

Dude, something's wrong with your setup..


LineOf7s(Posted 2015) [#22]
Of course it is. Thankyou for all your help.

A couple of things:

* Nowhere on the product page or the Product Updates page does it say the latest Blitz3D version available for download is missing anything. No mention of a lack of fmod.dll. I've installed the version listed as latest (1.108b) on a clean system. It complains of a lack of fmod.dll. It doesn't work out of the box. I really don't think that's the look Blitz Research is going for.
* v1.108 works great, but it's not listed anywhere on the Product Updates page for people to download. Until it is, it essentially doesn't exist to people. Hence dropping back to v1.107 (which is listed). No-one should be having to troll through obscure Bug Report threads to find out why their newly-downloaded ostensibly-complete Blitz3D won't compile a working executable or how to get a version that does.
* If you don't make it clear on the product page that it needs it in order to do the most basic of program compilations, then just (repeatedly) saying "just stick fmod.dll in with it" is NOT a solution.

Blitz Research need either to provide v1.108 on the Product Update page instead of v1.108b, or if that can't happen due to licensing restrictions or whatnot then AT LEAST mention that fmod.dll needs to be downloaded, where to put it and provide a link to it.

The provision of the Blitz3D source code is irrelevent to the availability of a compiled Blitz3D that should be expected to work completely out of the box unless stipulated otherwise.


videz(Posted 2015) [#23]
Sure thing Lineof7s.

One thing to note that there IS a fmod.dll included in the download version v1.108b. I did not put anything or hacked the newly installed version. I'm just seeing what it is, as a tester here.

If you're compiling from source then you need to download fmod.dll separately from the API zip file.

You still need to place the fmod.dll beside your final exe, as what I have said above, it is really required as with most any games/apps and I'm trying to simulate it with distribution.

Anyway, glad you got this sorted out.

cheers.


LineOf7s(Posted 2015) [#24]
Compiled an EXE and placed fmod.dll beside it and runs fine.

I did not put anything or hacked the newly installed version.

Can you explain these two seemingly contradictory statements?

Also, if you think this is sorted out you're not paying attention.


videz(Posted 2015) [#25]
Hey, I'm just trying to help here!

Please read my comments above, again you need to place fmod.dll beside a final exe or placed it in your windows/system folder, whichever works.

You don't know how DLL works? It's not contradicting, they are both separate instances..

1) Runtime use/Editor - the dll stays at bin folder
2) Distribution with compiled.exe - You shipped it beside your final game exe. or windows folder with NSIS installer setups..

How's that contradicting?? ..smh


LineOf7s(Posted 2015) [#26]
you need to place fmod.dll beside a final exe or placed it in your windows/system folder

Cool. Where does it say to do that? If I'm compiling a standard "Hello World" program (ie no sound used) with my newly downloaded apparently-complete (like it has been for more than 15 years) copy of Blitz3D, why would I think I would need to have anything to do with fmod.dll or any others and why SHOULD I?

Yes, thankyou, I know how DLLs work. Yes, I know how to put appropriate DLLs into a program's path to make them work. My ability to get this particular non-behaving program to work is really not the point.

The point is that the compiled version of Blitz3D went from working to not working without anyone notifiying the people downloading it of the fact. I'm more than a little surprised that this isn't yet considered by Blitz Research to be A Big Deal as it's currently making them look less than competent.


videz(Posted 2015) [#27]

Cool. Where does it say to do that?


...umm it's a standard with DLLs. it's not hardcoded like the editor finding it in the bin folder, if that's what the editor is meant to do. It's common sense if you know development.


The point is that the compiled version of Blitz3D went from working to not working without anyone notifiying the people downloading it of the fact. I'm more than a little surprised that this isn't yet considered by Blitz Research to be A Big Deal as it's currently making them look less than competent.


Welcome to the world of OpenSource buddy. BRL will now provide limited or no support or docs with B3D/B+ from here forward. You'll just now need rely to the community, like me (sorry to disappoint you)

Don't worry, you'll get used to it. ;-)


videz(Posted 2015) [#28]
..Oh and they did notify about the fmod.dll being separate with the opensource version

http://www.blitzbasic.com/Community/posts.php?topic=102907

Didn't you read the memo? this was 5 months ago..


LineOf7s(Posted 2015) [#29]
Thankyou again for all your help. It's been invaluable.


videz(Posted 2015) [#30]
You're welcome dude. Hey, there are pros and cons on everything.

With opensource you can do a lot like completely change it and make it your own depending on the license stated but with a paid product, you get full support and then some.

cheers.


videz(Posted 2015) [#31]
You can also file your future issues here but again its an indefinite response time since these products are now opensource..

https://github.com/blitz-research/blitz3d/issues


Zethrax(Posted 2015) [#32]
Ok, I've sent BRL a message via the contact form about this issue to wake them up. I'm not sure they actually read these bug report forums anymore but I'm an optimist and thought I'd try posting here first.

It might take a few days to get this sorted though as they don't seem to read the contact form messages all that often either (but they do read them eventually).

The quickest fix in the meantime (assuming you have the version with the problem) is to back up and then uninstall the 1.108b version, and then download and install the 1.108 version ( http://www.blitzbasic.com/file/get.php?file=/Products/updates/blitz3d/Blitz3DSetup1108.exe ). Then download and install the 1.88 docs pack ( http://www.blitzbasic.com/file/get.php?file=/Products/updates/blitz3d/B3DDocsPak188.exe ).


marksibly_v2(Posted 2015) [#33]
My mistake!

I've just uploaded v1108c which has fmod baked into the runtime so you don't need to worry about the separate fmod.dll. It's effectively just v1108b with 1108a's runtime...


LineOf7s(Posted 2015) [#34]
And there we go.


_PJ_(Posted 2016) [#35]
Does anybody know ho to obtain the fmod.dll (legally of course)?


RustyKristi(Posted 2016) [#36]
Hey PJ,

Here's a time machine download link ;-)

http://tinyurl.com/fmoddll

You just need to follow their licensing which basically is free for one title per year, you still need to contact them if you need to register your app/game for licensing.

http://www.fmod.org/sales/


RemiD(Posted 2016) [#37]
you can also find it in Blitz3D\bin\ (with Blitz3d 1.108)


RustyKristi(Posted 2016) [#38]
Why in bin RemiD? I thought fmod is baked in on official versions? ;-)


_PJ_(Posted 2016) [#39]
you can also find it in Blitz3D\bin\ (with Blitz3d 1.108)

Not on this computer.
___________________

Thanks for the info and links, RustKristi!


RemiD(Posted 2016) [#40]

Why in bin


i have no idea... maybe it is because i use the addons by Bobysait ?
anyway i have it here and i don't remember having downloaded it from the official fmod website...
well forget about what i said...


RustyKristi(Posted 2016) [#41]
hey no prob, just curious..


skidracer(Posted 2016) [#42]
Hi all, I will ask Mark and see if there is something I can sort out for this issue.


_PJ_(Posted 2016) [#43]
Installing Blitz3D and updates (as installation setups) from this site is fine so long as you take the latest (1108c) version now that FMOD is 'baked' back in as it was prior to 1108b.

It's really only an issue if you have compiled from the open source version in which case the FMOD.dll must be sourced separately (I'm assuming here BRL don't have rights to put the dll source on github along with their own b3d source etc)

___

Is the issue present for Blitz+ compiled form the github source version too?