Thoughts on Rails

Riding the Train of Thought

Archive for the ‘compile’ Category

Beagle on PCBSD / FreeBSD – IT WORKS!!!

with 4 comments

Continuing on my rant a few hours ago… days, hours, they seem all the same when I’m toying with computers… anyway…

So I tried installing Beagle, the fantastic desktop search comparable to Google Desktop and Spotlight from Mac, and I failed miserably. Apparently, Beagle uses a few linux-specific tricks, which are not available on FreeBSD.

Somehow, I failed to notice the work done by BSD# team. My bad. Really, because they have a port ready for FreeBSD since last few months (that’s what the CVS repository seems to be saying) and it compiled and installed painlessly as far as my experience goes. I’m only very slightly annoyed that it downloaded and installed evolution, a rather large application – that I never use. Dependencies… well, sometimes I thank the FreeBSD guys that the ports system does the work of driving me up the wall – at least like RPM, it doesn’t coax into driving yourself up the wall. Bad pun I guess, nevermind – thoughts start getting dizzy and confusing when you are at the desk for more than 14 hours.

Ok, back to the rant. So I installed Beagle, and right now, as I type, the beagle daemon is indexing my files. Sweet!

Only one small issue: it is not easy to get the files – Beagle is not included in the standard FreeBSD ports tree, and there seems to be no simple way of getting the required files and start compiling. After hunting around the website, you find the CVS repository… from that point you either have to know CVS, or have to browse the repository and save each file to your disk, in the proper directory hierarchy and then copy the directory named “beagle” into “/usr/ports/deskutils/” and then run “make install”.

I’m hoping it is included in the standard ports tree soon because Beagle seems like a very sensible and useful tool.

Cheers to people working on Beagle, BSD#, PCBSD and FreeBSD! Long live Open Source!

Advertisements

Written by hiway

February 28, 2007 at 3:26 am

Beagle on PCBSD / FreeBSD – I tried… :’-(

leave a comment »

UPDATE: I have successfully installed Beagle on PCBSD 1.3.3 / FreeBSD 6.1

NOTE: Later install http://en.opensuse.org/Kerry for KDE integration

1. Got Beagle sources, decompressed, run ./configure
It complains that I don’t have mono installed… right…

2. Installed lang/mono

3. Installed x11-toolkits/gtk-sharp20

Packages NOT found in the ports tree:
gnome-vfs-sharp-2.0′
gconf-sharp-2.0
glade-sharp-2.0

Packages found in the ports tree:
mail/gmime2-sharp
x11-toolkits/gnome-sharp20

4. Installed gmime-sharp

5. Compiling gnome-sharp20

Traceback (most recent call last):
File “/usr/local/bin/xml2po”, line 34, in <module>
import libxml2
File “/usr/local/lib/python2.5/site-packages/libxml2.py”, line 1, in <
import libxml2mod
ImportError: /usr/local/lib/python2.5/site-packages/libxml2mod.so: Undef bol “xmlPathToURI”

Problem seems difference in library version and python wrapper version:

libxml2-2.6.26 XML parser library for GNOME
py25-libxml2-2.6.27 Python interface for XML parser library for GNOME

6. Installing libxml2-2.6.27

7. Back to compiling gnome-sharp20, done.

8. The dependencies that were NOT found, seem to be automatically satisfied now. Good!

9. ./configure in beagle directory is successful

10. Building Beagle:

panther# gmake
gmake all-recursive
gmake[1]: Entering directory `/usr/home/harshad/Programming/beagle-0.2.16′
Making all in po
gmake[2]: Entering directory `/usr/home/harshad/Programming/beagle-0.2.16/po’
file=`echo ar | sed ‘s,.*/,,’`.gmo \
&& rm -f $file && -o $file ar.po
-o: not found
gmake[2]: *** [ar.gmo] Error 127
gmake[2]: Leaving directory `/usr/home/harshad/Programming/beagle-0.2.16/po’
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/usr/home/harshad/Programming/beagle-0.2.16′
gmake: *** [all] Error 2

11. http://article.gmane.org/gmane.comp.video.thoggen.devel/274
It basically says that msgfmt program on my system could be causing this… but following its steps, I think i see sane output.
panther# grep msgfmt config.log
configure:21975: checking for msgfmt
configure:21993: found /usr/local/bin/msgfmt
configure:22006: result: /usr/local/bin/msgfmt
ac_cv_path_INTLTOOL_MSGFMT=/usr/local/bin/msgfmt
INTLTOOL_MSGFMT=’/usr/local/bin/msgfmt’

12. What is going wrong?

In the file ./po/Makefile
.po.gmo:
file=`echo $* | sed ‘s,.*/,,’`.gmo \
&& rm -f $$file && $(GMSGFMT) -o $$file $<

Now, I’m basically replacing $(GMSGFMT) with the full path of msgfmt ( /usr/local/bin/msgfmt )

For now, YAY! it seems to work.

13. F%*&K. That’s all I can say…

thread-glue.c:30:26: linux/unistd.h: No such file or directory
gmake[2]: *** [thread-glue.lo] Error 1
gmake[2]: Leaving directory `/usr/home/harshad/Programming/beagle-0.2.16/glue’
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/usr/home/harshad/Programming/beagle-0.2.16′
gmake: *** [all] Error 2

Looks like this bugger isn’t going to run natively… it needs a linux specific library.

http://lists.freebsd.org/pipermail/freebsd-hackers/2003-July/001883.html

The above link practically says that this program cannot run as native under FreeBSD. Or so I understand…

Now backtrack all the way, I don’t feel like uninstalling the applications that I just installed.
Onwards to Plan B: linux binary compatibility layer.

14. Reading about installing commercial linux applications on FreeBSD
http://www.onlamp.com/pub/a/bsd/2006/01/12/Big_Scary_Daemons.html

15. Reading about installing software on FC4 (since I have linux base fc4 on my machine installed and running)
http://www.antezeta.com/beagle-fedora.html

16. Installed rpm (not rpm4) from the ports tree.

17. Oh Boy!

panther# rpm -i –ignoreos –dbpath /var/lib/rpm –root /compat/linux beagle-0.2.1-2.1.fc4.nr.i386.rpm
error: failed dependencies:
/bin/sh is needed by beagle-0.2.1-2.1.fc4.nr
/bin/sh is needed by beagle-0.2.1-2.1.fc4.nr
/usr/bin/pdftotext is needed by beagle-0.2.1-2.1.fc4.nr
chmlib is needed by beagle-0.2.1-2.1.fc4.nr
epiphany >= 1.8.0 is needed by beagle-0.2.1-2.1.fc4.nr
evolution-sharp is needed by beagle-0.2.1-2.1.fc4.nr
gmime-sharp is needed by beagle-0.2.1-2.1.fc4.nr
libICE.so.6 is needed by beagle-0.2.1-2.1.fc4.nr
libSM.so.6 is needed by beagle-0.2.1-2.1.fc4.nr
libX11.so.6 is needed by beagle-0.2.1-2.1.fc4.nr
libXss.so.1 is needed by beagle-0.2.1-2.1.fc4.nr
libatk-1.0.so.0 is needed by beagle-0.2.1-2.1.fc4.nr
libc.so.6 is needed by beagle-0.2.1-2.1.fc4.nr
libc.so.6(GLIBC_2.0) is needed by beagle-0.2.1-2.1.fc4.nr
libc.so.6(GLIBC_2.1) is needed by beagle-0.2.1-2.1.fc4.nr
libc.so.6(GLIBC_2.1.3) is needed by beagle-0.2.1-2.1.fc4.nr
libc.so.6(GLIBC_2.2.3) is needed by beagle-0.2.1-2.1.fc4.nr
libc.so.6(GLIBC_2.3) is needed by beagle-0.2.1-2.1.fc4.nr
libc.so.6(GLIBC_2.3.4) is needed by beagle-0.2.1-2.1.fc4.nr
libcairo.so.2 is needed by beagle-0.2.1-2.1.fc4.nr
libdl.so.2 is needed by beagle-0.2.1-2.1.fc4.nr
libgdk-x11-2.0.so.0 is needed by beagle-0.2.1-2.1.fc4.nr
libgdk_pixbuf-2.0.so.0 is needed by beagle-0.2.1-2.1.fc4.nr
libglib-2.0.so.0 is needed by beagle-0.2.1-2.1.fc4.nr
libgmodule-2.0.so.0 is needed by beagle-0.2.1-2.1.fc4.nr
libgobject-2.0.so.0 is needed by beagle-0.2.1-2.1.fc4.nr
libgtk-x11-2.0.so.0 is needed by beagle-0.2.1-2.1.fc4.nr
libm.so.6 is needed by beagle-0.2.1-2.1.fc4.nr
libpango-1.0.so.0 is needed by beagle-0.2.1-2.1.fc4.nr
libpangocairo-1.0.so.0 is needed by beagle-0.2.1-2.1.fc4.nr
libpng12.so.0 is needed by beagle-0.2.1-2.1.fc4.nr
librsvg-2.so.2 is needed by beagle-0.2.1-2.1.fc4.nr
libwv-1.0.so.3 is needed by beagle-0.2.1-2.1.fc4.nr
libxml2.so.2 is needed by beagle-0.2.1-2.1.fc4.nr
libz.so.1 is needed by beagle-0.2.1-2.1.fc4.nr
mono-core is needed by beagle-0.2.1-2.1.fc4.nr
sqlite2 is needed by beagle-0.2.1-2.1.fc4.nr
zip is needed by beagle-0.2.1-2.1.fc4.nr

OK, at this point, I feel like just throwing this thing away and enjoying a good night’s sleep – it’s already 1:30 am. Frankly, so much hassle for one software is too much. TOO MUCH.

uname -a inside Linux binary compat shell:
Linux panther 2.4.2 FreeBSD 6.1-RELEASE-p13 #1: Mon Feb 12 06:38:43 IST 2007 i686 athlon i386 GNU/Linux

I try installing one software at a time… but it has many other dependencies… sheesh! Creeps me out. I’m not done installing a single software yet – because every rpm that I try to install wants many more rpms… BLAH! I’m giving up for today.

Written by hiway

February 23, 2007 at 1:58 am