* build-sys: how to install pylibmount after libmount?
@ 2014-06-03 13:52 Ruediger Meier
2014-06-04 10:21 ` Karel Zak
0 siblings, 1 reply; 3+ messages in thread
From: Ruediger Meier @ 2014-06-03 13:52 UTC (permalink / raw)
To: util-linux
Hi,
This should be easy to reproduce if you don't have a global installed
libmount.
$ sudo mkdir /usr/lib64/away
$ sudo mv /usr/lib64/libmount.* /usr/lib64/away
$ ./configure --disable-use-tty-group \
--prefix=/tmp/dest \
--with-python \
--without-systemd \
--enable-pylibmount \
--enable-libmount \
--enable-libblkid
$ make
$ sed -i 's/\(link_all_deplibs\)=.*/\1=no/' ./libtool
$ rm -rf /tmp/dest
$ make install
/usr/bin/mkdir -p '/tmp/dest/lib64/python2.7/site-packages/libmount'
/bin/sh ./libtool --mode=install /usr/bin/install -c
pylibmount.la '/tmp/dest/lib64/python2.7/site-packages/libmount'
libtool: install: warning: relinking `pylibmount.la'
libtool: install:
(cd /tmp/util-linux; /bin/sh /tmp/util-linux/libtool --silent --tag
CC --mode=relink
gcc -std=gnu99 -fsigned-char -fno-common -Wall -Werror=sequence-point -Wextra -Wmissing-declarations -Wmissing-parameter-type -Wmissing-prototypes -Wno-missing-field-initializers -Wredundant-decls -Wsign-compare -Wtype-limits -Wuninitialized -Wunused-but-set-parameter -Wunused-but-set-variable -Wunused-parameter -Wunused-result -Wunused-variable -Wnested-externs -Wpointer-arith -Wstrict-prototypes -I/usr/include/python2.7 -I./libmount/src -fno-strict-aliasing -g -O2 -avoid-version -module -shared -export-dynamic -o
pylibmount.la -rpath /tmp/dest/lib64/python2.7/site-packages/libmount
libmount/python/pylibmount_la-pylibmount.lo
libmount/python/pylibmount_la-fs.lo
libmount/python/pylibmount_la-tab.lo
libmount/python/pylibmount_la-context.lo libmount.la -lpython2.7 )
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld:
cannot find -lmount
collect2: error: ld returned 1 exit status
libtool: install: error: relink `pylibmount.la' with the above command
before installing it
make[3]: *** [install-pylibmountexecLTLIBRARIES] Error 1
make[3]: Leaving directory `/tmp/util-linux'
make[2]: *** [install-am] Error 2
make[2]: Leaving directory `/tmp/util-linux'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/tmp/util-linux'
make: *** [install] Error 2
Unfortunately some systems set per default
link_all_deplibs=no
instead of "unknown" in ./libtool. Don't know whether this is a bug in
libtool or automake macros. But we could work around this if we would
make sure to install pylibmount always after libmount.
This is how it looks in Makefile.in:
install-exec-am: install-binPROGRAMS install-dist_usrbin_execSCRIPTS \
install-pylibmountexecLTLIBRARIES \
install-pylibmountexecSCRIPTS install-sbinPROGRAMS \
install-usrbin_execPROGRAMS install-usrlib_execLTLIBRARIES \
install-usrsbin_execPROGRAMS
@$(NORMAL_INSTALL)
$(MAKE) $(AM_MAKEFLAGS) install-exec-hook
How could we force to put
install-pylibmountexecLTLIBRARIES
after
install-usrlib_execLTLIBRARIES
Or could we force somehow to disable that relinking?
cu,
Rudi
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: build-sys: how to install pylibmount after libmount?
2014-06-03 13:52 build-sys: how to install pylibmount after libmount? Ruediger Meier
@ 2014-06-04 10:21 ` Karel Zak
2014-06-04 10:45 ` Ruediger Meier
0 siblings, 1 reply; 3+ messages in thread
From: Karel Zak @ 2014-06-04 10:21 UTC (permalink / raw)
To: Ruediger Meier; +Cc: util-linux
On Tue, Jun 03, 2014 at 03:52:50PM +0200, Ruediger Meier wrote:
> Hi,
>
> This should be easy to reproduce if you don't have a global installed
> libmount.
>
> $ sudo mkdir /usr/lib64/away
> $ sudo mv /usr/lib64/libmount.* /usr/lib64/away
>
> $ ./configure --disable-use-tty-group \
> --prefix=/tmp/dest \
Just note, it's usually bad idea to override the default prefix
(especially for package like util-linux), it's better to use
standard prefix and use "make install DESTDIR=/tmp/dest".
> Unfortunately some systems set per default
> link_all_deplibs=no
> instead of "unknown" in ./libtool. Don't know whether this is a bug in
> libtool or automake macros. But we could work around this if we would
> make sure to install pylibmount always after libmount.
>
> This is how it looks in Makefile.in:
> install-exec-am: install-binPROGRAMS install-dist_usrbin_execSCRIPTS \
> install-pylibmountexecLTLIBRARIES \
> install-pylibmountexecSCRIPTS install-sbinPROGRAMS \
> install-usrbin_execPROGRAMS install-usrlib_execLTLIBRARIES \
> install-usrsbin_execPROGRAMS
> @$(NORMAL_INSTALL)
> $(MAKE) $(AM_MAKEFLAGS) install-exec-hook
>
> How could we force to put
> install-pylibmountexecLTLIBRARIES
> after
> install-usrlib_execLTLIBRARIES
hmm.. I don't know, I think it's libtool job to generate the right order.
Karel
--
Karel Zak <kzak@redhat.com>
http://karelzak.blogspot.com
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: build-sys: how to install pylibmount after libmount?
2014-06-04 10:21 ` Karel Zak
@ 2014-06-04 10:45 ` Ruediger Meier
0 siblings, 0 replies; 3+ messages in thread
From: Ruediger Meier @ 2014-06-04 10:45 UTC (permalink / raw)
To: Karel Zak; +Cc: util-linux
On Wednesday 04 June 2014, Karel Zak wrote:
> On Tue, Jun 03, 2014 at 03:52:50PM +0200, Ruediger Meier wrote:
> > Hi,
> >
> > This should be easy to reproduce if you don't have a global
> > installed libmount.
> >
> > $ sudo mkdir /usr/lib64/away
> > $ sudo mv /usr/lib64/libmount.* /usr/lib64/away
> >
> > $ ./configure --disable-use-tty-group \
> > --prefix=/tmp/dest \
>
> Just note, it's usually bad idea to override the default prefix
> (especially for package like util-linux), it's better to use
> standard prefix and use "make install DESTDIR=/tmp/dest".
Yes, in this case I wanted to debug and reproduce "make distcheck"
where --prefix is used.
> > Unfortunately some systems set per default
> > link_all_deplibs=no
> > instead of "unknown" in ./libtool. Don't know whether this is a bug
> > in libtool or automake macros. But we could work around this if we
> > would make sure to install pylibmount always after libmount.
> >
> > This is how it looks in Makefile.in:
> > install-exec-am: install-binPROGRAMS
> > install-dist_usrbin_execSCRIPTS \ install-pylibmountexecLTLIBRARIES
> > \
> > install-pylibmountexecSCRIPTS install-sbinPROGRAMS \
> > install-usrbin_execPROGRAMS install-usrlib_execLTLIBRARIES
> > \ install-usrsbin_execPROGRAMS
> > @$(NORMAL_INSTALL)
> > $(MAKE) $(AM_MAKEFLAGS) install-exec-hook
> >
> > How could we force to put
> > install-pylibmountexecLTLIBRARIES
> > after
> > install-usrlib_execLTLIBRARIES
>
> hmm.. I don't know, I think it's libtool job to generate the right
> order.
I think too. libtool and automake can be assumed to be non-broken on
devel machines. I thought there is still a little chance that we have
incorrect pylibmount_la_DEPENDENCIES ot whatever. But I don't see it.
Anyway, I will just add a workaround for travis.yml until they update
build-os:
./autogen.sh
# workaround for broken pylibmount install relink
sed -i 's/\(link_all_deplibs\)=no/\1=unknown/' ./configure
cu,
Rudi
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2014-06-04 10:45 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-06-03 13:52 build-sys: how to install pylibmount after libmount? Ruediger Meier
2014-06-04 10:21 ` Karel Zak
2014-06-04 10:45 ` Ruediger Meier
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.