nemequ / sqlheavy

Automatically exported from code.google.com/p/sqlheavy
Other
5 stars 3 forks source link

gir file is not installed in $PREFIX #22

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Using sqlheavy 0.1.1, with prefix set to /home/manu/Sources/INSTALL using:

./configure --prefix=/home/manu/Sources/INSTALL

Installation fails:

[manu@hobbes sqlheavy-0.1.1]$ make install
Making install in sqlheavy
make[1] : on entre dans le répertoire « 
/home/manu/Sources/sqlheavy-0.1.1/sqlheavy »
make[2] : on entre dans le répertoire « 
/home/manu/Sources/sqlheavy-0.1.1/sqlheavy »
test -z "/home/manu/Sources/INSTALL/lib" || /usr/bin/mkdir -p 
"/home/manu/Sources/INSTALL/lib"
 /bin/sh ../libtool   --mode=install /usr/bin/install -c   libsqlheavy0.1.la '/home/manu/Sources/INSTALL/lib'
libtool: install: /usr/bin/install -c .libs/libsqlheavy0.1.so.0.0.0 
/home/manu/Sources/INSTALL/lib/libsqlheavy0.1.so.0.0.0
libtool: install: (cd /home/manu/Sources/INSTALL/lib && { ln -s -f 
libsqlheavy0.1.so.0.0.0 libsqlheavy0.1.so.0 || { rm -f libsqlheavy0.1.so.0 && 
ln -s libsqlheavy0.1.so.0.0.0 libsqlheavy0.1.so.0; }; })
libtool: install: (cd /home/manu/Sources/INSTALL/lib && { ln -s -f 
libsqlheavy0.1.so.0.0.0 libsqlheavy0.1.so || { rm -f libsqlheavy0.1.so && ln -s 
libsqlheavy0.1.so.0.0.0 libsqlheavy0.1.so; }; })
libtool: install: /usr/bin/install -c .libs/libsqlheavy0.1.lai 
/home/manu/Sources/INSTALL/lib/libsqlheavy0.1.la
libtool: install: /usr/bin/install -c .libs/libsqlheavy0.1.a 
/home/manu/Sources/INSTALL/lib/libsqlheavy0.1.a
libtool: install: chmod 644 /home/manu/Sources/INSTALL/lib/libsqlheavy0.1.a
libtool: install: ranlib /home/manu/Sources/INSTALL/lib/libsqlheavy0.1.a
libtool: finish: 
PATH="/usr/lib/qt-3.3/bin:/usr/NX/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sb
in:/usr/sbin:/home/manu/.local/bin:/home/manu/bin:/sbin" ldconfig -n 
/home/manu/Sources/INSTALL/lib
----------------------------------------------------------------------
Libraries have been installed in:
   /home/manu/Sources/INSTALL/lib

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,-rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
test -z "/usr/share/gir-1.0" || /usr/bin/mkdir -p "/usr/share/gir-1.0"
 /usr/bin/install -c -m 644 SQLHeavy-0.1.gir '/usr/share/gir-1.0'
/usr/bin/install: impossible de créer le fichier standard « 
/usr/share/gir-1.0/SQLHeavy-0.1.gir »: Permission non accordée
make[2]: *** [install-girDATA] Erreur 1
make[2] : on quitte le répertoire « 
/home/manu/Sources/sqlheavy-0.1.1/sqlheavy »
make[1]: *** [install-am] Erreur 2
make[1] : on quitte le répertoire « 
/home/manu/Sources/sqlheavy-0.1.1/sqlheavy »
make: *** [install-recursive] Erreur 1

Original issue reported on code.google.com by emmanuel...@gmail.com on 6 May 2012 at 8:56

GoogleCodeExporter commented 9 years ago
This isn't a bug--it's standard behavior for installing GIRs.  The install 
location comes from the m4 macro provided by gobject-introspection (see 
http://git.gnome.org/browse/gobject-introspection/tree/m4/introspection.m4) 
which gets the information from the girdir variable in the 
gobject-introspection-1.0 pkg-config file.

I believe (though I could be mistaken) you can do something like `make install 
INTROSPECTION_GIRDIR=wherever INTROSPECTION_TYPELIBDIR=wherever` to get around 
this, or simply pass --enable-introspection=no

Relevant code: 
https://gitorious.org/sqlheavy/sqlheavy/blobs/518ad091d517cbf6b271b1b87cb7d338e7
30274e/sqlheavy/Makefile.am#line98

Original comment by nem...@gmail.com on 6 May 2012 at 11:16

GoogleCodeExporter commented 9 years ago
FWIW, libgda solved this issue with a configure option and the following code 
in Makefile.am:

----
if ENABLE_GI_SYSTEM_INSTALL
girdir = $(INTROSPECTION_GIRDIR)
typelibsdir = $(INTROSPECTION_TYPELIBDIR)
else
girdir = $(datadir)/gir-1.0
typelibsdir = $(libdir)/girepository-1.0
endif
----

Please also note it seems not a lot of libraries use these INTROSPECTPON vars, 
at least not gtk+, clutter, nor unique.

Original comment by emmanuel...@gmail.com on 6 May 2012 at 8:58

GoogleCodeExporter commented 9 years ago
I definitely don't like libgda's solution... I think something like using 
AC_ARG_VAR to check for optional paths to override the pkg-config variables 
would be more appropriate.

That said, I would much rather just stick with the standard behavior, so I'm 
not going to change this in SQLHeavy without a change in g-i.  You should talk 
to the gobject-introspection guys about integrating something upstream in 
introspection.m4.  They already have a bug report (with a patch, though it does 
something a bit different): https://bugzilla.gnome.org/show_bug.cgi?id=639782

Original comment by nem...@gmail.com on 6 May 2012 at 10:44