Friday, November 25, 2011

Ouch! The pains of a new installation

If you read my previous post, you'll discover I'm not a fan of Dell.  Given the poor customer support from Dell, I switched companies opted for an ASUS G53S laptop.  This has been working nicely so far.  The intent has been to get a portable machine that satiates my gaming needs as well as works for dev efforts... I bring my laptop to work and work on personal stuff over the lunch hour.

Well, starting yesterday I began working on getting the laptop loaded up with my project and the necessary tools to build my game, DB42.  Oi!  What pain!  I've finally got things working and thought I'd post my experiences here for future reference and in the event it might help someone else out.

A bit of background first.  I'm using Eclipse and the Android SDK.  I've forked the libgdx project into my own distribution with a couple of tweaks here and there.  I also don't have to worry completely about relying on a specific nightly build since I've got a snapshot of things.  This means that I also have the support tools for *that* installed -- the Android NDK, MinGW for compiling, Cygwin & ant for building.

So, the first thing I did was install the latest and greatest Eclipse 3.7.1 (codenamed Indigo).  This went off fine.  Next up was TortoiseHG 2.2 so I could pull my repo from the hosting site I'm using.  First problem encountered.  After installing this, I noticed that the icon overlays were missing on the root directory folders.  WTF. Even a reboot did not correct this.  The sub-directories seemed to be ok, but there was no indication on the root as to "no change" or "modifications".  So, I downgraded to 2.1.4.  This cleared up that problem.

Next up was the installation of Android SDK r15.  Downloading as a snap.  Installing the ADT was pretty simple as well (done from within Eclipse). 

After getting all of that going (which took a while -- installing the various Android components results in a pretty big download), I ran into a snag.  I first cloned my repo to my hard drive.  Then, I tried to import the various components.  Instead of giving me a source folder and sub-packages, Eclipse showed everything as a package.  For example, instead of the hierarchy of "src" with "com.gushikustudios.db42lite" as a package, I saw the package "src.com.gushikustudios.db42lite".  I don't know what was up with that, but it hosed the build.  To correct that, all you have to do is right-click on the project > New > Source Folder > src.  For whatever reason, that corrected the layout.

Next up were errors with the project.  I have no clue why, but my project settings were missing.  I had to right-click on the project > properties > Java Build Path.  Here I had to do several things: Add Library > JRE System Lib (which was missing for whatever reason.)  Project references were missing.  Recall that I've got my own build of libgdx, so I reference the project instead of  things like gdx.jar.  My lib settings were also missing, so I had to reference a lib that I have copied in my libs dir.

Ugh.

After correcting all of that, I tried to build my Android project and get an .apk file.  Nothing.  No apk file or anything produced in the bin/ sub-directory.  It turns out that this behavior is the new default for the latest ADT.  To 'fix' this, in Eclipse go to Window > Preferences > Android > Build > deselect the 'Skip packaging' check box.  I also changed build output from 'silent' to normal.  That fixed that problem and I was able to produce an .apk file.

Next up was the desktop build of gdx.  I failed to realize that the resulting gdx.dll that I created referenced other dlls that I didn't have installed on my new laptop.  Oh no, of course when you try to execute, the JVM doesn't give you any sort of error that is helpful in any way.  I kept getting "UnsatisfiedLinkError" / "Can't find dependent libraries" errors.  Great -- which dependent libraries can't you find?  I mean, throw me a bone here.  After poking around in the gdx.dll, it turned out that there were dynamic references to some build dlls: libstdc++-6.dll & libgcc_s_dw2-1.dll.  Oops.  Of course, I didn't discover this until after a couple of hours troubleshooting.

All I had to do was install MinGW and reboot and all was fine.  Very frustrating, but things are finally starting to work.

Monday, November 14, 2011

Will NEVER buy another Dell or recommend their products

I just wasted about an hour and a half talking to Dell tech support about my Dell XPS M1730.  I easily paid over $3000 for this beast 3 years ago... Top of the line.  etc. etc. etc.  My problems with this thing first started up when I installed Win7 on it a couple of years ago.  For whatever reason, the video drivers never quite seemed right with the hardware and although I have 2x8800M video cards installed, I had to disable one due to incompatibilities.  Whatever.

Then, about 7 or 8 months ago, the battery quit holding a charge.  Which, I understand, but instead of dying off quietly, I would getting annoying nags about it, so I just pulled the battery completely.  Last week the Power Supply quit being recognized.  Huh?  So, what does the software do?  Derate of course.  I purchased a new power supply.  That didn't fix it. 

I'm stuck with a machine that is about as crippled as you can get.  The derating brings my programming builds to a crawl.  Oh, and I'm only 149 days out of the extended three year warranty I purchased.  The support people were sympathetic and polite, which is great, but how does that help me?  It doesn't.Their solution was to upgrade the BIOS.  Oh, but wait, you can't run the reflash program unless you have a recognized power supply and battery.  Oops.  There goes that idea.

I figured my only option was to get a new motherboard.  Tech support gave me the out-of-warranty repairs number, who then redirected me to somebody that claimed I shouldn't have been directed to.  Argh!  They said my best bet was to skip a motherboard replacement altogether and instead buy a new computer.  Ummm.  Excuse me?  I have no desire to purchase another Dell.  I recommend everyone avoid them at all costs.  I was considering to 'upgrade' to an Alienware machine -- but they share the Dell taint so I guess I need to look elsewhere.

If you are considering buying a Dell, think again.

A disappointed, FORMER Dell customer.