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
