[DEV][WIP]Building ICS for the OV

JerryScript

Daydream Believer
Mar 8, 2011
2,055
1,559
0
Visit site
To be honest, if you don't understand this, there is no point in syncing with an ICS branch at this time. It would be better for you to sync with -b gingerbread and learn to work within that build environment while the bugs are worked out of ICS. ;)
 

rukin5197

Well-known member
May 26, 2011
1,105
628
0
Visit site
I've already built with gingerbread multiple times before I got it to work, but I did. The problem is that i've only built with gingerbread so I don't know much when it comes to building ics. But don't worry, I'll work out the kinks by myself. Besides, I gotta get used to this somehow :)
 

rukin5197

Well-known member
May 26, 2011
1,105
628
0
Visit site
Make three empty documents on your desktop. one named sdk.sh another named 51-android.rules the last named firstboot. Copy the correct stuff below into each of the documents and then open a terminal on your desktop and type sh sdk.sh it will run and do all its thing then when it's done type sh firstboot it will do it's thing when it's done reboot and all you gotta do is type repo init.....

copy this into sdk.sh
Code:
## add necessary repository
sudo add-apt-repository ppa:ferramroberto/java
sudo apt-get update
mkdir -p ~/android
sudo mv 51-android.rules /etc/udev/rules.d
## install java cuz it's needed
sudo apt-get install sun-java6-jre sun-java6-plugin sun-java6-fonts sun-java6-jdk eclipse 
##remove open source stuff
sudo apt-get remove icedtea-netx icedtea-plugin icedtea6-plugin openjdk-6-jre openjdk-6-jre-headless icedtea-6-jre-jamvm icedtea-6-jre-cacao 
sudo apt-get install ia32-libs
## download sdk you may choose older versions if you like by changing the 14 to 13 or whatever floats your boat
wget http://dl.google.com/android/android-sdk_r15-linux.tgz
tar -zxvf android-sdk_r15-linux.tgz
mv 'android-sdk-linux' ~/android/sdk

## make temp directory to give it permissions before anything is there
mkdir -p ~/android/sdk/platform-tools

## add the platform-tools and tools to bashrc

echo 'export PATH="~/android/sdk/tools:${PATH}"' >> ~/.bashrc
echo 'export PATH="~/android/sdk/platform-tools:${PATH}"' >> ~/.bashrc

printf ALL DONE WITH THIS

exit
then this into firstboot
Code:
#! /bin/bash

sudo apt-get install mencoder

##android source build dependencies

sudo apt-get install git-core gnupg flex bison gperf build-essential \
  zip curl zlib1g-dev libc6-dev ia32-libs \
  x11proto-core-dev libx11-dev  lib32readline-gplv2-dev lib32z-dev \
  libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown \
  libxml2-utils xsltproc
sudo ln -s /usr/lib/i386-linux-gnu/libX11.so.6 /usr/lib/i386-linux-gnu/libX11.so

## Make folders for repo

mkdir -p ~/bin
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
chmod a+x ~/bin/repo

#right click open as administrator

sudo apt-get install nautilus-gksu
sudo cp /usr/lib/nautilus/extensions-2.0/libnautilus-gksu.so /usr/lib/nautilus/extensions-3.0/

##right click open terminal
sudo apt-get install nautilus-open-terminal

## Get rid of old kernels


dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | xargs sudo apt-get -y purge

## Install Boot Repair
sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update && sudo apt-get install -y boot-repair && boot-repair

## Restricted extras and dvd
sudo apt-get install ubuntu-restricted-extras
sudo /usr/share/doc/libdvdread4/install-css.sh
 
## Grub Customizer
sudo add-apt-repository ppa:danielrichter2007/grub-customizer
sudo apt-get update && sudo apt-get install -y grub-customizer

And this into 51-android.rules
Code:
SUBSYSTEM=="usb", SYSFS{idVendor}=="618e", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="d00d", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", SYMLINK+="android_adb", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="d00d", SYMLINK+="android_adb", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="1004", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="22b8", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="0502", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="413c", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="0489", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="091E", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="12d1", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="0482", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="1004", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="0955", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="10A9", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="04e8", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="04dd", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="0fce", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="19D2", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="0451", MODE="0666"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device",
ENV{PRODUCT}=="e79/*", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="e79", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="0e79", MODE="0666"

It's working. I love you dude! :D
 
  • Like
Reactions: asadullah

exProphecy

Well-known member
Aug 1, 2011
97
3
0
Visit site
It's working. I love you dude! :D

And you didn't get anymore errors after syncing? I was able to work around it on my own but I'm getting only one error now.

Code:
root@ubuntu:~# cd /android/system
root@ubuntu:/android/system# repo sync -j16
Fetching projects: 100% (244/244), done.  
Syncing work tree:  38% (93/244)  error: revision refs/tags/android-4.0.1_r1 in platform/external/libyuv not found
root@ubuntu:/android/system#
 

rukin5197

Well-known member
May 26, 2011
1,105
628
0
Visit site
And you didn't get anymore errors after syncing? I was able to work around it on my own but I'm getting only one error now.

Code:
root@ubuntu:~# cd /android/system
root@ubuntu:/android/system# repo sync -j16
Fetching projects: 100% (244/244), done.  
Syncing work tree:  38% (93/244)  error: revision refs/tags/android-4.0.1_r1 in platform/external/libyuv not found
root@ubuntu:/android/system#

Well I got deep into the repo sync then I started getting random errors here and there then it stopped altogether. (Will post codes later) so I ran the repo sync -j16 once again and it picked right back up. Will see what happened once I get home. But I didn't have that error at all.

Sent from my LG-VM670 using Tapatalk
 

Liquidplacidity

Well-known member
Feb 8, 2011
153
20
0
Visit site
I'll try this! :D Seems as if it might take a little while. So let me clarify:
I deleted ~/android/system and ~/bin because I did a bad step and needed to start over
-I do what you said above
Reboot
-I mkdir the ~/bin and the ~/android/system
-curl http://android.git.kernel.org/repo > ~/bin/repo
-chmod a+x ~/bin/repo
Reboot
-cd ~/android/system
-~/bin/repo init -u git://github.com/BobZhome/android.git -b ics
-~/bin/repo sync -j16
And it will work? Or is there any unnecessary steps I listed?

I have one suggestion. Put repo in /bin in the filesystem with full read/write permissions. You won't have to input the folder location every time you want to use repo. You'll be able to use it directly from the command line anywhere. Also, don't use j16, use something more like j4. It will take longer but it'll make sure it finishes without timing out. I'm gonna pick up on this and see where you guys are with ICS. I don't have an optimus v though anymore so I won't be able to test for myself.
 
  • Like
Reactions: rukin5197
Feb 19, 2011
1,971
284
0
Visit site
bobZhome suggested a "-f" in addition to the "-jn" to help sync on my slow connection.
I've found that with a lousy connection, -j1 helps a little even though it's even slower that way.
 
  • Like
Reactions: rukin5197

rukin5197

Well-known member
May 26, 2011
1,105
628
0
Visit site
Well Ive finished the repo sync and when I put in
Code:
. build/envsetup.sh
it doesn't work. So I run the repo sync again and it still didn't work. Going to try
Code:
repo sync -f -j4
like the two above said. Crossing my fingers! :D

Sent from my LG-VM670 using Tapatalk
 

BobZhome

Well-known member
Mar 27, 2011
296
627
0
Visit site
If '~/bin/repo sync -j16' stops downloading on you...close the terminal and re-open another terminal and 'cd ~/android/system' and run 'repo sync'...it should pick up where the stop happened.
I only use -j16 the first time to get the multiple gigs of info down as fast as possible.
 

rukin5197

Well-known member
May 26, 2011
1,105
628
0
Visit site
If '~/bin/repo sync -j16' stops downloading on you...close the terminal and re-open another terminal and 'cd ~/android/system' and run 'repo sync'...it should pick up where the stop happened.
I only use -j16 the first time to get the multiple gigs of info down as fast as possible.

Haha I've heard this multiple times in Google, so I'm just going to do that. So when I successfully compile the full zip, should it boot?

Sent from my LG-VM670 using Tapatalk
 

rukin5197

Well-known member
May 26, 2011
1,105
628
0
Visit site
Hit another speed bump..
When I run lunch, it gives me a list of devices, and like 3 of them have the name thunderc in it. I've tried all of them but ran into this error:
Code:
gannon@ubuntu:~$ cd ~/android/system
gannon@ubuntu:~/android/system$ lunch
The program 'lunch' is currently not installed.  You can install it by typing:
sudo apt-get install python-lunch
gannon@ubuntu:~/android/system$ . build/envsetup.sh
including device/lge/thunderc/vendorsetup.sh
including device/moto/stingray/vendorsetup.sh
including device/moto/wingray/vendorsetup.sh
including device/samsung/maguro/vendorsetup.sh
including device/samsung/toro/vendorsetup.sh
including device/ti/panda/vendorsetup.sh
including vendor/cm/vendorsetup.sh
including sdk/bash_completion/adb.bash
gannon@ubuntu:~/android/system$ lunch

You're building on Linux

Lunch menu... pick a combo:
     1. full-eng
     2. full_x86-eng
     3. vbox_x86-eng
     4. thunderc-eng
     5. full_thunderc-userdebug
     6. cm_thunderc-userdebug
     7. full_stingray-userdebug
     8. full_wingray-userdebug
     9. full_maguro-userdebug
     10. full_toro-userdebug
     11. full_panda-eng
     12. cm_crespo-userdebug
     13. cm_crespo4g-userdebug
     14. cm_p4tmo-userdebug
     15. cm_p4vzw-userdebug
     16. cm_p4wifi-userdebug
     17. cm_maguro-userdebug
     18. cm_p920-userdebug
     19. cm_p970-userdebug
     20. cm_p990-userdebug
     21. cm_p999-userdebug
     22. cm_pyramid-userdebug
     23. cm_smb_a1011-userdebug
     24. cm_toro-userdebug

Which would you like? [full-eng] 4
build/core/node_fns.mk:187: *** unterminated call to function `call': missing `)'.  Stop.
Traceback (most recent call last):
  File "build/tools/roomservice.py", line 9, in <module>
    device = product[product.index("_") + 1:]
ValueError: substring not found
build/core/node_fns.mk:187: *** unterminated call to function `call': missing `)'.  Stop.

** Don't have a product spec for: 'thunderc'
** Do you have the right repo manifest?

gannon@ubuntu:~/android/system$ 5
5: command not found
gannon@ubuntu:~/android/system$ lunch

You're building on Linux

Lunch menu... pick a combo:
     1. full-eng
     2. full_x86-eng
     3. vbox_x86-eng
     4. thunderc-eng
     5. full_thunderc-userdebug
     6. cm_thunderc-userdebug
     7. full_stingray-userdebug
     8. full_wingray-userdebug
     9. full_maguro-userdebug
     10. full_toro-userdebug
     11. full_panda-eng
     12. cm_crespo-userdebug
     13. cm_crespo4g-userdebug
     14. cm_p4tmo-userdebug
     15. cm_p4vzw-userdebug
     16. cm_p4wifi-userdebug
     17. cm_maguro-userdebug
     18. cm_p920-userdebug
     19. cm_p970-userdebug
     20. cm_p990-userdebug
     21. cm_p999-userdebug
     22. cm_pyramid-userdebug
     23. cm_smb_a1011-userdebug
     24. cm_toro-userdebug

Which would you like? [full-eng] 5
build/core/node_fns.mk:187: *** unterminated call to function `call': missing `)'.  Stop.
Device thunderc not found. Attempting to retrieve device repository from CyanogenMod Github (http://github.com/CyanogenMod).
Found repository: android_device_lge_thunderc
Duplicate device 'CyanogenMod/android_device_lge_thunderc' found in local_manifest.xml.
build/core/node_fns.mk:187: *** unterminated call to function `call': missing `)'.  Stop.

** Don't have a product spec for: 'full_thunderc'
** Do you have the right repo manifest?

gannon@ubuntu:~/android/system$ lunch

You're building on Linux

Lunch menu... pick a combo:
     1. full-eng
     2. full_x86-eng
     3. vbox_x86-eng
     4. thunderc-eng
     5. full_thunderc-userdebug
     6. cm_thunderc-userdebug
     7. full_stingray-userdebug
     8. full_wingray-userdebug
     9. full_maguro-userdebug
     10. full_toro-userdebug
     11. full_panda-eng
     12. cm_crespo-userdebug
     13. cm_crespo4g-userdebug
     14. cm_p4tmo-userdebug
     15. cm_p4vzw-userdebug
     16. cm_p4wifi-userdebug
     17. cm_maguro-userdebug
     18. cm_p920-userdebug
     19. cm_p970-userdebug
     20. cm_p990-userdebug
     21. cm_p999-userdebug
     22. cm_pyramid-userdebug
     23. cm_smb_a1011-userdebug
     24. cm_toro-userdebug

Which would you like? [full-eng] 6
build/core/node_fns.mk:187: *** unterminated call to function `call': missing `)'.  Stop.
Device thunderc not found. Attempting to retrieve device repository from CyanogenMod Github (http://github.com/CyanogenMod).
Found repository: android_device_lge_thunderc
Duplicate device 'CyanogenMod/android_device_lge_thunderc' found in local_manifest.xml.
build/core/node_fns.mk:187: *** unterminated call to function `call': missing `)'.  Stop.

** Don't have a product spec for: 'cm_thunderc'
** Do you have the right repo manifest?

gannon@ubuntu:~/android/system$
 

exProphecy

Well-known member
Aug 1, 2011
97
3
0
Visit site
Hit another speed bump..
When I run lunch, it gives me a list of devices, and like 3 of them have the name thunderc in it. I've tried all of them but ran into this error:
Code:
gannon@ubuntu:~$ cd ~/android/system
gannon@ubuntu:~/android/system$ lunch
The program 'lunch' is currently not installed.  You can install it by typing:
sudo apt-get install python-lunch
gannon@ubuntu:~/android/system$ . build/envsetup.sh
including device/lge/thunderc/vendorsetup.sh
including device/moto/stingray/vendorsetup.sh
including device/moto/wingray/vendorsetup.sh
including device/samsung/maguro/vendorsetup.sh
including device/samsung/toro/vendorsetup.sh
including device/ti/panda/vendorsetup.sh
including vendor/cm/vendorsetup.sh
including sdk/bash_completion/adb.bash
gannon@ubuntu:~/android/system$ lunch

You're building on Linux

Lunch menu... pick a combo:
     1. full-eng
     2. full_x86-eng
     3. vbox_x86-eng
     4. thunderc-eng
     5. full_thunderc-userdebug
     6. cm_thunderc-userdebug
     7. full_stingray-userdebug
     8. full_wingray-userdebug
     9. full_maguro-userdebug
     10. full_toro-userdebug
     11. full_panda-eng
     12. cm_crespo-userdebug
     13. cm_crespo4g-userdebug
     14. cm_p4tmo-userdebug
     15. cm_p4vzw-userdebug
     16. cm_p4wifi-userdebug
     17. cm_maguro-userdebug
     18. cm_p920-userdebug
     19. cm_p970-userdebug
     20. cm_p990-userdebug
     21. cm_p999-userdebug
     22. cm_pyramid-userdebug
     23. cm_smb_a1011-userdebug
     24. cm_toro-userdebug

Which would you like? [full-eng] 4
build/core/node_fns.mk:187: *** unterminated call to function `call': missing `)'.  Stop.
Traceback (most recent call last):
  File "build/tools/roomservice.py", line 9, in <module>
    device = product[product.index("_") + 1:]
ValueError: substring not found
build/core/node_fns.mk:187: *** unterminated call to function `call': missing `)'.  Stop.

** Don't have a product spec for: 'thunderc'
** Do you have the right repo manifest?

gannon@ubuntu:~/android/system$ 5
5: command not found
gannon@ubuntu:~/android/system$ lunch

You're building on Linux

Lunch menu... pick a combo:
     1. full-eng
     2. full_x86-eng
     3. vbox_x86-eng
     4. thunderc-eng
     5. full_thunderc-userdebug
     6. cm_thunderc-userdebug
     7. full_stingray-userdebug
     8. full_wingray-userdebug
     9. full_maguro-userdebug
     10. full_toro-userdebug
     11. full_panda-eng
     12. cm_crespo-userdebug
     13. cm_crespo4g-userdebug
     14. cm_p4tmo-userdebug
     15. cm_p4vzw-userdebug
     16. cm_p4wifi-userdebug
     17. cm_maguro-userdebug
     18. cm_p920-userdebug
     19. cm_p970-userdebug
     20. cm_p990-userdebug
     21. cm_p999-userdebug
     22. cm_pyramid-userdebug
     23. cm_smb_a1011-userdebug
     24. cm_toro-userdebug

Which would you like? [full-eng] 5
build/core/node_fns.mk:187: *** unterminated call to function `call': missing `)'.  Stop.
Device thunderc not found. Attempting to retrieve device repository from CyanogenMod Github (http://github.com/CyanogenMod).
Found repository: android_device_lge_thunderc
Duplicate device 'CyanogenMod/android_device_lge_thunderc' found in local_manifest.xml.
build/core/node_fns.mk:187: *** unterminated call to function `call': missing `)'.  Stop.

** Don't have a product spec for: 'full_thunderc'
** Do you have the right repo manifest?

gannon@ubuntu:~/android/system$ lunch

You're building on Linux

Lunch menu... pick a combo:
     1. full-eng
     2. full_x86-eng
     3. vbox_x86-eng
     4. thunderc-eng
     5. full_thunderc-userdebug
     6. cm_thunderc-userdebug
     7. full_stingray-userdebug
     8. full_wingray-userdebug
     9. full_maguro-userdebug
     10. full_toro-userdebug
     11. full_panda-eng
     12. cm_crespo-userdebug
     13. cm_crespo4g-userdebug
     14. cm_p4tmo-userdebug
     15. cm_p4vzw-userdebug
     16. cm_p4wifi-userdebug
     17. cm_maguro-userdebug
     18. cm_p920-userdebug
     19. cm_p970-userdebug
     20. cm_p990-userdebug
     21. cm_p999-userdebug
     22. cm_pyramid-userdebug
     23. cm_smb_a1011-userdebug
     24. cm_toro-userdebug

Which would you like? [full-eng] 6
build/core/node_fns.mk:187: *** unterminated call to function `call': missing `)'.  Stop.
Device thunderc not found. Attempting to retrieve device repository from CyanogenMod Github (http://github.com/CyanogenMod).
Found repository: android_device_lge_thunderc
Duplicate device 'CyanogenMod/android_device_lge_thunderc' found in local_manifest.xml.
build/core/node_fns.mk:187: *** unterminated call to function `call': missing `)'.  Stop.

** Don't have a product spec for: 'cm_thunderc'
** Do you have the right repo manifest?

gannon@ubuntu:~/android/system$

I'm getting this exact same error too.. >_<
 

KSmithInNY

#winning
Oct 7, 2009
3,538
1,441
0
Visit site
Hey folks! long time no chat. I havent been on the forums so i wasnt following this, and im not going to read 12 pages to ask a simple question so here we go .....

You definitely have a ruff road ahead, but thats why we all love android :) Whats the partition size for system on this phone? For some reason, and it's been a while, i recall it's like 140. The ICS final product is 160ish packed i believe.

Not being a downer cause you all know i love this crap but if it hasnt been talked about, now would be the time to have these convo's so if you get a build you have a plan on how it's gonna fit on the actual phone. Remember, the reason Google is not updating the nexus 1 to ICS is the system partition is too small to even hold the OS.

Carry on! oh .... Happy Holidays all
 

exProphecy

Well-known member
Aug 1, 2011
97
3
0
Visit site
So when it says this
Code:
build/core/node_fns.mk:187: *** unterminated call to function `call': missing `)'.  Stop.

** Don't have a product spec for: 'thunderc'
** Do you have the right repo manifest?
that means I'm missing a ")" somewhere here? (this is line 187 in my node_fns.mk):
Code:
define _import-node
  $(eval _include_stack := $(2) $$(_include_stack))
  $(call clear-var-list, $(3))
  $(eval LOCAL_PATH := $(patsubst %/,%,$(dir $(2))))
  $(eval MAKEFILE_LIST :=)
  $(eval include $(2))
  $(eval _included := $(filter-out $(2),$(MAKEFILE_LIST)))
  $(eval MAKEFILE_LIST :=)
  $(eval LOCAL_PATH :=)
  $(call copy-var-list, $(1).$(2), $(3))
  $(call clear-var-list, $(3))

  $(eval $(1).$(2).inherited := \
     $(call get-inherited-nodes,$(1).$(2),$(3)))
  $(call _import-nodes-inner,$(1),$($(1).$(2).inherited),$(3))

  $(call _expand-inherited-values,$(1),$(2),$(3))

  $(eval $(1).$(2).inherited := 
  $(eval _include_stack := $(wordlist 2,9999,$$(_include_stack))))
endef
 

KSmithInNY

#winning
Oct 7, 2009
3,538
1,441
0
Visit site
164.5 MB. test builds fit fine, and cruft like nfc being removed should help too.

Awesome news. I figured someone had already thought about that but just wanted to make sure. I'll bet theres other BS that can be pulled to make space as well. Hell, you could probably squeeze a couple mbs out without removing anything just by png optimizing it.

Well don't let me interrupt ...... I'll go back to my cave and you guys keep up the great work. It will pay off eventually ::glances at steve kondiks G1 for reassurance::
 

exProphecy

Well-known member
Aug 1, 2011
97
3
0
Visit site
I no longer get these:
Code:
build/core/node_fns.mk:187: *** unterminated call to function `call': missing `)'.  Stop.
Traceback (most recent call last):
  File "build/tools/roomservice.py", line 9, in <module>
    device = product[product.index("_") + 1:]
ValueError: substring not found
build/core/node_fns.mk:187: *** unterminated call to function `call': missing `)'.  Stop.

Now I only get this one:
Code:
build/core/node_fns.mk:187: *** unterminated call to function `call': missing `)'.  Stop.
I'll attempt to edit line 187 and try to fix it.
 

rukin5197

Well-known member
May 26, 2011
1,105
628
0
Visit site
I no longer get these:
Code:
build/core/node_fns.mk:187: *** unterminated call to function `call': missing `)'.  Stop.
Traceback (most recent call last):
  File "build/tools/roomservice.py", line 9, in <module>
    device = product[product.index("_") + 1:]
ValueError: substring not found
build/core/node_fns.mk:187: *** unterminated call to function `call': missing `)'.  Stop.

Now I only get this one:
Code:
build/core/node_fns.mk:187: *** unterminated call to function `call': missing `)'.  Stop.
I'll attempt to edit line 187 and try to fix it.

What did you do to just get that one? I'm still getting all of them...
I'll try adding ')' in just about every spot to see if it will work. Doesn't sound very professional, but at this point I really don't care ;)