Daniel,

some distros such as Ubuntu are pre-configured to find libraries in /usr/local 
automatically, both at compile time and at run time.  On other distros such as 
Fedora you have to do some work so that libraries in /usr/local will be found.  
I haven't used OpenSUSE, but it looks as if it may be like Fedora in this 
respect.  (It's baffling to me that Fedora and others haven't improved this 
situation, by the way - it would be really easy for them to do that, and users 
such as you often get confused when they build and install libraries locally 
and they don't work out of the box.)

Here are the things you might need to do:

1. The XDG_DATA_DIRS environment variable 
(see http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html) 
needs to contain /usr/local/share.  Vala uses this environment variable to know 
where to look for .pc files.  Probably the error message you're seeing is 
because Vala can't find gexiv2.pc for this very reason.

2. The PKG_CONFIG_PATH environment variable needs to contain 
/usr/local/lib/pkgconfig.  (Ubuntu compiles such a path into the pkg-config 
executable rather than setting the environment variable directly.)

3. You might need to tell the dynamic linker to be able to find libraries in 
/usr/local/lib.  To do this, you'll need to add /usr/local/lib to 
/etc/ld.so.conf or to a file in /etc/ld.so.conf.d, then run "sudo ldconfig".

Symlinking or copying to /usr/lib64 is not a great idea, in my opinion - you 
really want a clean separation between libraries you've built yourself (in 
/usr/local) and those installed by the system (in /usr).  At least that's my 
preference.  The right path forward is to get your system to recognize 
/usr/local.

adam

On Sat, Jun 30, 2012 at 12:13 AM, Daniel Eriksson <[email protected]> 
wrote:
Hi all. 

My name is Daniel Eriksson and I'm trying to build Shotwell from source. I hope 
to contribute to the project in some way. 

I'm using OpenSUSE 12.1. I have built Vala from source from the git repo. I 
have also built gexiv2 from source from the git repo and installed it. Gexiv2 
is installed in /usr/local/lib. 

My problem is that I get the error message: 
error: Package `gexiv2' not found in specified Vala API directories or 
GObject-Introspection GIR directories 

I have uninstalled the gexiv2 version (v 0.3.1) that came with OpenSUSE 
(together with Shotwell 0.11.5). If I use the preinstalled version of gexiv2 I 
get the error message 

src/photos/PhotoMetadata.vala:131.13-131.75: error: Return: Cannot convert from 
`uchar?[]' to `uint8[]' 
returnowner.exiv2.get_preview_image(props[number]).get_data(); 
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
When I search for this error on the web I found the solution to build gexiv2 
from the git repo. 

I've been searching the web for a solution and there are several persons who 
have had this problem in the past. However none of the solutions seems to work 
for me. 

One thing I noticed was that the gexiv2 version installed by OpenSUSE was 
placed in /usr/lib64 (I use a 64 bit machine). The version that I build from 
source and installed is placed under /usr/local/lib (as stated above). 

I tried to symlink the gexiv2 files I built myself to the /usr/lib64 but it did 
not work. I aslo tried to copy them there without any result. 

Any ideas of what's needed to make it compile? 

Best regards! 

-- 
Daniel Eriksson 
[email protected] 


_______________________________________________ 
Shotwell mailing list 
[email protected] 
http://lists.yorba.org/cgi-bin/mailman/listinfo/shotwell 

_______________________________________________
Shotwell mailing list
[email protected]
http://lists.yorba.org/cgi-bin/mailman/listinfo/shotwell

Reply via email to