[Shotwell] Building shotwell from trunk

Bruno Girin brunogirin at gmail.com
Fri Jun 4 14:52:49 PDT 2010


On Fri, 2010-06-04 at 15:13 -0400, David Velazquez wrote:
> Thanks Bruno, Jim, this clears some things up for me. I went ahead and used
> my sudo powers to install  gexiv2 which Shotwell promptly found. Inevitably
> shotwell failed at finding libraw, but that was my own doing ;). It seems I
> may have to compile that to.

Yes indeed, you can get it here: http://www.libraw.org/download#stable

> 
> From the conversation we've been having it appears to me that Shotwell is
> not capable of installing to a local directory unless it's dependencies,
> gexiv2 (amongst others) are installed in the standard locations where
> pkg-config would look for them. I'm sure it's more complicated than that,
> but hopefully I got the gist of it. I bet the majority of users have no
> problems with this since most of them will use a binary deb file (for
> instance), the PPA, or the release in their distro of choice.
> 
> In the case of someone with no root or sudo powers who wants to use Shotwell
> it seems they're out of luck for now since certain dependencies don't appear
> to be in the repository and they would not have access to them even if they
> were. The reason I mentioned deluge previously was to bring up the fact that
> deluge and all the things it depends on are capable of being compiled in a
> users local directory with no need for root powers. I don't think this is a
> use case that comes up often, however, it's probably not one that should be
> ignored.
> 
> If I am correct in these assumptions, and you agree with me, I will go ahead
> and ticket this idea that Shotwell and it's direct dependencies that Yorba
> works on should be able to be built locally. I understand one has no control
> over those that are not built by Yorba directly.

That sounds reasonable. Based on Jim's email, it would be a case of
enabling the customisation of the --vapidir option in the makefile, and
possibly adding relevant instructions to the INSTALL file.

If you want to file it in Trac, I'll have a go at solving it.

Bruno

> 
> Dave
> 
> On Fri, Jun 4, 2010 at 2:46 PM, Jim Nelson <jim at yorba.org> wrote:
> 
> > So, PREFIX is used to declare the base directory for a whole host of
> > files being installed.  Thus, with your prefix, the following files
> > will be installed as follows:
> >
> > /home/dave/shotwell/gexiv2/lib/libgexiv2.la
> > /home/dave/shotwell/gexiv2/include/gexiv2.h (and more header files)
> > /home/dave/shotwell/gexiv2/lib/pkgconfig/gexiv2.pc
> > /home/dave/shotwell/gexiv2/share/vala/vapi/gexiv2.vapi
> >
> > I see two immediate problems here.
> >
> > First, because gexiv2.pc is stored in a non-standard location,
> > pkg-config can't find it.  Shotwell's Makefile relies on pkg-config
> > locating gexiv2 to (a) verify gexiv2 is installed and (b) to get
> > necessary gcc flags for building Shotwell with gexiv2.  This is what
> > the PKG_CONFIG_PATH message is telling you.
> >
> > Second, the VAPI file is also in a non-standard location.  valac needs
> > to be told of this additional VAPI directory.  I don't know of any
> > environment variable that can be used to direct valac to this
> > directory, you have to specify it on the command-line with --vapidir.
> > Shotwell's Makefile currently doesn't allow you to specify that with
> > the configure script ... if this is important, I'll let you ticket
> > this.  You can modify Shotwell's Makefile directly in the interim.
> >
> > I would point out that unlike deluge, gexiv2 is a library, not a
> > program, and therefore must be locatable for programs to build and
> > execute.
> >
> > -- Jim
> >
> > On Fri, Jun 4, 2010 at 10:57 AM, David Velazquez
> > <david.velazquez08 at gmail.com> wrote:
> > > Thanks for the tips but I did not want to install shotwell to the system
> > > directories. Call it stubbornness :)  Is there anyway to install it
> > locally
> > > like Bengt suggested, in ~/unstable/shotwell
> > >
> > > I thought I had been specifying the prefix in ./configure which is why I
> > > attempted to run make install without sudo. Does make accept the prefix
> > > parameter like ./configure does?
> > >
> > > There must be a way to install without sudo here. I've done it for
> > programs
> > > like deluge in the past which normally require root powers to install.
> > >
> > >
> > >
> > >
> > >
> > > On Fri, Jun 4, 2010 at 10:32 AM, Bengt Thuree <bengt at thuree.com> wrote:
> > >
> > >> Or specify the prefix parameter and install in ~/unstable/shotwell ....
> > >>
> > >> On Fri, 2010-06-04 at 12:24 +0100, Bruno Girin wrote:
> > >> > David,
> > >> >
> > >> > As Mattias pointed out, you need to be root to run make install, so on
> > >> > Ubuntu, you would do:
> > >> >
> > >> > $ make
> > >> > $ sudo make install
> > >> >
> > >> > Everything is installed in /usr/local so is completely separate from
> > >> > what is installed through apt-get or Synaptic. I've got it working
> > fine
> > >> > on my Lucid laptop.
> > >> >
> > >> > Bruno
> > >> >
> > >> > On Fri, 2010-06-04 at 11:44 +0300, Mattias Põldaru wrote:
> > >> > > Sorry, I was wrong here, as I did not read your letter thoroughly.
> > >> > >
> > >> > > You definitely need to run make install with sudo, since it has to
> > >> > > install to system directories, where user cannot write to.
> > >> > >
> > >> > > Actually in the install instructions there is written "# make
> > install",
> > >> > > where # refers to a command which needs to be run as root (or with
> > >> > > sudo), as opposed to $ which refers to a ordinary user.
> > >> > >
> > >> > >
> > >> > > Mattias
> > >> > >
> > >> > >
> > >> > > Ühel kenal päeval, R, 2010-06-04 kell 02:11, kirjutas David
> > Velazquez:
> > >> > > > Hey, I have exiv2, libexiv2-6, and libexiv2-dev already installed.
> > >> Try
> > >> > > > as I might I can't seem to get shotwell to complain about anything
> > >> > > > other than gexiv2 which, according to the output, should have been
> > >> > > > compiled properly.
> > >> > > >
> > >> > > > The only thing apt-get build-dep shotwell wants to install is
> > >> > > > libhal-dev which is no longer needed when building from trunk. I
> > have
> > >> > > > libgudev which replaces it though.
> > >> > > >
> > >> > > > Thanks for the tips.
> > >> > > >
> > >> > > > On Fri, Jun 4, 2010 at 1:37 AM, Mattias Põldaru <
> > mahfiaz at gmail.com>
> > >> > > > wrote:
> > >> > > >         To build you need header files, which are in *-dev
> > packages.
> > >> > > >         Install
> > >> > > >         libexiv2-dev and see if this makes shotwell compile (or
> > >> > > >         complain about
> > >> > > >         another dependency).
> > >> > > >         If you hit another dependency apt-get search exiv (or
> > >> whatever
> > >> > > >         it
> > >> > > >         complains about) and install corresponding package.
> > >> > > >
> > >> > > >         All dependencies for the version in repository can be
> > >> > > >         installed with
> > >> > > >         apt-get build-dep packagename
> > >> > > >
> > >> > > >         http://yorba.org/shotwell/install/
> > >> > > >
> > >> > > >
> > >> > > >         Mattias
> > >> > > >
> > >> > > >
> > >> > > >         Ühel kenal päeval, R, 2010-06-04 kell 01:18, kirjutas
> > David
> > >> > > >         Velazquez:
> > >> > > >
> > >> > > >         > I'm confident I'm doing something simple wrong,
> > somewhere,
> > >> > > >         but I can't seem
> > >> > > >         > to build shotwell from trunk in Lucid
> > >> > > >         >
> > >> > > >         > Right now it's saying that it can't find gexiv2 and
> > >> > > >         suggesting I change the
> > >> > > >         > PKG_CONFIG_PATH.
> > >> > > >         >
> > >> > > >         > I understand gexiv2 needed to be built from scratch as
> > well
> > >> > > >         so I pulled it
> > >> > > >         > and compiled it in ~/shotwell/gexiv2 using:
> > >> > > >         >
> > >> > > >         >  ./configure --prefix=/home/dave/shotwell/gexiv2
> > >> > > >         > make
> > >> > > >         > make install
> > >> > > >         >
> > >> > > >         > The only error I get from gexiv2 occurs during make
> > install
> > >> > > >         and is this:
> > >> > > >         >
> > >> > > >         > /sbin/ldconfig.real: Can't create temporary cache
> > >> > > >         file /etc/ld.so.cache~:
> > >> > > >         > Permission denied
> > >> > > >         > make: [install] Error 1 (ignored)
> > >> > > >         >
> > >> > > >         > I assume this is due to me not using sudo and it not
> > being
> > >> > > >         able to write to
> > >> > > >         > /etc/ld.so.cache
> > >> > > >         > Is this enough to prevent gexiv2 from building properly
> > and
> > >> > > >         therefore
> > >> > > >         > shotwell from using it?
> > >> > > >         >
> > >> > > >         >
> > >> > > >         > Shotwell itself is being built (or attempting to be
> > built)
> > >> > > >         in ~/shotwell
> > >> > > >         > using the command ./configure
> > --prefix=/home/dave/shotwell
> > >> > > >         >
> > >> > > >         > The dependencies for gexiv2
> > (exiv2,libexiv2,libexiv2-dev)
> > >> > > >         were installed
> > >> > > >         > from Ubuntu's repositories.
> > >> > > >         >
> > >> > > >         > I've tried moving the installation for gexiv2 to
> > someplace
> > >> > > >         outside of
> > >> > > >         > ~/shotwell to no avail.
> > >> > > >         >
> > >> > > >         > I'd appreciate any help.
> > >> > > >         >
> > >> > > >         > Dave
> > >> > > >
> > >> > > >         > _______________________________________________
> > >> > > >         > Shotwell mailing list
> > >> > > >         > Shotwell at lists.yorba.org
> > >> > > >         >
> > http://lists.yorba.org/cgi-bin/mailman/listinfo/shotwell
> > >> > > >
> > >> > > >
> > >> > > >
> > >> > >
> > >> > >
> > >> > >
> > >> > > _______________________________________________
> > >> > > Shotwell mailing list
> > >> > > Shotwell at lists.yorba.org
> > >> > > http://lists.yorba.org/cgi-bin/mailman/listinfo/shotwell
> > >> >
> > >> >
> > >> > _______________________________________________
> > >> > Shotwell mailing list
> > >> > Shotwell at lists.yorba.org
> > >> > http://lists.yorba.org/cgi-bin/mailman/listinfo/shotwell
> > >>
> > >>
> > >> _______________________________________________
> > >> Shotwell mailing list
> > >> Shotwell at lists.yorba.org
> > >> http://lists.yorba.org/cgi-bin/mailman/listinfo/shotwell
> > >>
> > > _______________________________________________
> > > Shotwell mailing list
> > > Shotwell at lists.yorba.org
> > > http://lists.yorba.org/cgi-bin/mailman/listinfo/shotwell
> > >
> >
> _______________________________________________
> Shotwell mailing list
> Shotwell at lists.yorba.org
> http://lists.yorba.org/cgi-bin/mailman/listinfo/shotwell





More information about the Shotwell mailing list