Assignment 1(djhamp-g)
Hardware
- ubuntu drapper 6.06
- 40gb harddrive
Description
I first started this process on windows early on because of Daves suggestion to use the OS your most familiar with but then after seeing ubuntu's flashy and compelling site I decided to disregard that and try something new on something new.
Build Process
- To start off I downloaded the newest ubuntu release (drapper) from their bittorrent server.
- burned the ubuntu iso to a CD.
- Transfered my files from the smaller of my two hard drives to my larger and set the smaller one to master.
- Installed ubuntu using the CD I created.
- Downloaded the firefox version i was currently using which was FireFox 1.5
- Extracted .tar
- set .mozconfig to the static example on site.
- Started build(first try) saw:
/opt/mozilla/widget/src/gtkxtbin/gtk2xtbin.c:906: error: ‘treeroot’ undeclared (first use in this function) /opt/mozilla/widget/src/gtkxtbin/gtk2xtbin.c:909: warning: initialization makes pointer from integer without a cast /opt/mozilla/widget/src/gtkxtbin/gtk2xtbin.c:913: error: ‘user_data’ undeclared (first use in this function) /opt/mozilla/widget/src/gtkxtbin/gtk2xtbin.c:925: error: ‘Widget’ undeclared (first use in this function) /opt/mozilla/widget/src/gtkxtbin/gtk2xtbin.c:925: error: syntax error before ‘child’ /opt/mozilla/widget/src/gtkxtbin/gtk2xtbin.c:926: error: ‘child’ undeclared (first use in this function) make[3]: *** [gtk2xtbin.o] Error 1 make[3]: Leaving directory `/opt/firefox-build/widget/src/gtkxtbin' make[2]: *** [tier_9] Error 2 make[2]: Leaving directory `/opt/firefox-build' make[1]: *** [default] Error 2 make[1]: Leaving directory `/opt/firefox-build' make: *** [build] Error 2
- fix: missing libidl-dev
sudo apt-get install libidl-dev
- Started build(second try) saw:
:XRemoteClient.cpp:(.text+0x4fd): undefined reference to `XGetWindowProperty' :XRemoteClient.cpp:(.text+0x55d): undefined reference to `XChangeProperty' :XRemoteClient.cpp:(.text+0x575): undefined reference to `XUngrabServer' :XRemoteClient.cpp:(.text+0x58b): undefined reference to `XSync' :XRemoteClient.cpp:(.text+0x625): undefined reference to `XNextEvent' :XRemoteClient.cpp:(.text+0x695): undefined reference to `XFree' XRemoteClient_standalone.o: In function `XRemoteClient::FreeLock(unsigned long)' :XRemoteClient.cpp:(.text+0x728): undefined reference to `XGetWindowProperty' :XRemoteClient.cpp:(.text+0x753): undefined reference to `XFree' XRemoteClient_standalone.o: In function `XRemoteClient: :FindBestWindow(char const*, char const*, char const*, int)' :XRemoteClient.cpp:(.text+0x7b6): undefined reference to `XQueryTree' :XRemoteClient.cpp:(.text+0x87a): undefined reference to `XGetWindowProperty' :XRemoteClient.cpp:(.text+0x8a5): undefined reference to `XFree' :XRemoteClient.cpp:(.text+0x976): undefined reference to `XGetWindowProperty' :XRemoteClient.cpp:(.text+0x99c): undefined reference to `XFree' :XRemoteClient.cpp:(.text+0x9a9): undefined reference to `XFree' :XRemoteClient.cpp:(.text+0xa29): undefined reference to `XGetWindowProperty' :XRemoteClient.cpp:(.text+0xa4b): undefined reference to `XFree' :XRemoteClient.cpp:(.text+0xa59): undefined reference to `XFree' :XRemoteClient.cpp:(.text+0xac2): undefined reference to `XGetWindowProperty' :XRemoteClient.cpp:(.text+0xae4): undefined reference to `XFree' :XRemoteClient.cpp:(.text+0xaee): undefined reference to `XFree' :XRemoteClient.cpp:(.text+0xb26): undefined reference to `XFree' XRemoteClient_standalone.o: In function `XRemoteClient: :WaitForResponse(unsigned long, char**, int*, unsigned long)' :XRemoteClient.cpp:(.text+0xb8b): undefined reference to `XNextEvent' :XRemoteClient.cpp:(.text+0xc42): undefined reference to `XGetWindowProperty' :XRemoteClient.cpp:(.text+0xd56): undefined reference to `XFree' XRemoteClient_standalone.o: In function `XRemoteClient::DoSendCommandLine(unsigned long, int, char**, char**, int*)' :XRemoteClient.cpp:(.text+0xe94): undefined reference to `XChangeProperty' XRemoteClient_standalone.o: In function `XRemoteClient: :SendCommandLine(char const*, char const*, char const*, int, char**, char**, int*)' :XRemoteClient.cpp:(.text+0xf3d): undefined reference to `XSelectInput' XRemoteClient_standalone.o: In function `XRemoteClient: :DoSendCommand(unsigned long, char const*, char**, int*)' :XRemoteClient.cpp:(.text+0x100f): undefined reference to `XChangeProperty' XRemoteClient_standalone.o: In function `XRemoteClient::SendCommand(char const*, char const*, char const*, char const*, char**, int*)' :XRemoteClient.cpp:(.text+0x10a7): undefined reference to `XSelectInput' collect2: ld returned 1 exit status make[3]: *** [mozilla-xremote-client] Error 1 make[3]: Leaving directory `/home/inveigle/Desktop/mozilla/ff-opt-static/widget/src/xremoteclient' make[2]: *** [tier_50] Error 2 make[2]: Leaving directory `/home/inveigle/Desktop/mozilla/ff-opt-static' make[1]: *** [default] Error 2 make[1]: Leaving directory `/home/inveigle/Desktop/mozilla/ff-opt-static' make: *** [build] Error 2
- fix: change mozconfig and remove (this is a problem only with FF ver 1.5 only I think)
ac_add_options --disable-debug ac_add_options --enable-static
- build success!
Retrospect
Looking back this whole process wasn't as hard as I was lead to believe, but I'm glad I went in with this assumption because I scared me enough to get it done early and when I finished I actually had some sence of accomplishment. I'm also really glad I did this on ubuntu and got some linux experence, overall it was a great experence.