[Shotwell] Building shotwell from trunk

Jim Nelson jim at yorba.org
Fri Jun 4 11:46:15 PDT 2010


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
>



More information about the Shotwell mailing list