On 12/07/2016 07:21 PM, Jeffrey Johnson wrote:
Your next stopping point is going to be Berkeley DB as a pre-requisite.
I didn't get there yet; I hit a couple different issues, and these do
look like bugs. The relevant configure options are
--with-libgit2 \
--enable-build-pic \
Issue 1:
make[4]: Entering directory '/home/ak/development/rpm/rpmio'
/bin/bash ../libtool --tag=CXX --mode=link g++ -g -O2 -no-undefined
-release 5.4 -Wl,--version-script,../rpmio/librpmio.vers -o
librpmio.la -rpath /usr/lib getdate.lo blake2b.lo blake2bp.lo blake2s.lo
blake2sp.lo blake2-rpm.lo arirang.lo blake.lo bmw.lo chi.lo cubehash.lo
echo.lo edon-r.lo fugue.lo groestl.lo hamsi.lo jh.lo keccak.lo lane.lo
luffa.lo md2.lo md6.lo radiogatun.lo salsa10.lo salsa20.lo shabal.lo
shavite3.lo simd.lo skein.lo tib3.lo tiger.lo rpmgit.lo rpmio-stub.lo
rpmjs.lo rpmjsio.lo rpmkeyring.lo rpmnix.lo rpmodbc.lo rpmsql.lo set.lo
ar.lo argv.lo bcon.lo bson.lo bzdio.lo cipher.lo cpio.lo crc.lo
digest.lo fts.lo gzdio.lo iosm.lo jsmn.lo lsyck.lo macro.lo mire.lo
mongoc.lo mount.lo pcrs.lo poptIO.lo rpmacl.lo rpmasn.lo rpmaug.lo
rpmbag.lo rpmbc.lo rpmbf.lo rpmcdsa.lo rpmct.lo rpmcudf.lo rpmcvs.lo
rpmdate.lo rpmdav.lo rpmdir.lo rpmficl.lo rpmgc.lo rpmgfs.lo rpmhash.lo
rpmhkp.lo rpmhook.lo rpmio.lo rpmiob.lo rpmjni.lo rpmku.lo rpmlog.lo
rpmltc.lo rpmlua.lo rpmmalloc.lo rpmmg.lo rpmmqtt.lo rpmmrb.lo rpmnss.lo
rpmperl.lo rpmpgp.lo rpmpython.lo rpmrpc.lo rpmruby.lo rpmsed.lo
rpmsm.lo rpmsp.lo rpmsq.lo rpmsquirrel.lo rpmssl.lo rpmsvn.lo rpmsw.lo
rpmsx.lo rpmsyck.lo rpmtcl.lo rpmtpm.lo rpmuuid.lo rpmxar.lo rpmzlog.lo
rpmzq.lo strcasecmp.lo strtolocale.lo tar.lo ugid.lo url.lo xzdio.lo
yajl.lo yarn.lo duktape.o -lm ../misc/librpmmisc.la -lpcreposix -lpcre
-ldl -lm -ltcl8.6 -lpython2.7 -lreadline -lmagic -lexpat -lz -lpopt
-lpthread -lelf -lpopt -lz -lexpat -lpcre
depbase=`echo tgit.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I.. -I. -I.. -I../build -I../lib -I../lib
-I../rpmdb -I../rpmio -I../misc -I../beecrypt/include
-I../beecrypt/include -I../beecrypt -I../beecrypt -I../libgit2/include
-I../libgit2/include -I../libgit2 -I../libgit2 -I../lua/local
-I../lua/local -I../lua -I../lua -I../neon/src -I../neon/src -I../neon
-I../neon -I../syck/lib -I../syck/lib -I../syck -I../syck
-DRPM_OS_LINUX=040800 -I../gnulib -I../gnulib -I/usr/include/db62
-I/usr/include/python2.7 -I/usr/include/python2.7 -fopenmp -g -O2 -g
-D_GNU_SOURCE -D_REENTRANT -MT tgit.o -MD -MP -MF $depbase.Tpo -c -o
tgit.o tgit.c &&\
mv -f $depbase.Tpo $depbase.Po
tgit.c: In function ‘cmd_ls_remote’:
tgit.c:3755:2: error: too few arguments to function ‘git_remote_connect’
git_remote_connect(remote, GIT_DIRECTION_FETCH,
^
tgit.c:47:25: note: in definition of macro ‘chkgit’
Xchkgit(_git, _msg, _error, _rpmgit_debug, __FUNCTION__, __FILE__,
__LINE__)
^~~~~~
In file included from ../libgit2/include/git2/clone.h:14:0,
from ../libgit2/include/git2.h:19,
from ./rpmgit.h:32,
from tgit.c:9:
../libgit2/include/git2/remote.h:249:17: note: declared here
GIT_EXTERN(int) git_remote_connect(git_remote *remote, git_direction
direction, const git_remote_callbacks *callbacks, const
git_proxy_options *proxy_opts, const git_strarray *custom_headers);
^~~~~~~~~~~~~~~~~~
Makefile:3104: recipe for target 'tgit.o' failed
Issue 2:
*** Warning: Linking the shared library librpmio.la against the non-libtool
*** objects duktape.o is not portable!
libtool: link: g++ -fPIC -DPIC -shared -nostdlib
/usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/crti.o
/usr/lib/gcc/x86_64-linux-gnu/6/crtbeginS.o .libs/getdate.o
.libs/blake2b.o .libs/blake2bp.o .libs/blake2s.o .libs/blake2sp.o
.libs/blake2-rpm.o .libs/arirang.o .libs/blake.o .libs/bmw.o .libs/chi.o
.libs/cubehash.o .libs/echo.o .libs/edon-r.o .libs/fugue.o
.libs/groestl.o .libs/hamsi.o .libs/jh.o .libs/keccak.o .libs/lane.o
.libs/luffa.o .libs/md2.o .libs/md6.o .libs/radiogatun.o .libs/salsa10.o
.libs/salsa20.o .libs/shabal.o .libs/shavite3.o .libs/simd.o
.libs/skein.o .libs/tib3.o .libs/tiger.o .libs/rpmgit.o
.libs/rpmio-stub.o .libs/rpmjs.o .libs/rpmjsio.o .libs/rpmkeyring.o
.libs/rpmnix.o .libs/rpmodbc.o .libs/rpmsql.o .libs/set.o .libs/ar.o
.libs/argv.o .libs/bcon.o .libs/bson.o .libs/bzdio.o .libs/cipher.o
.libs/cpio.o .libs/crc.o .libs/digest.o .libs/fts.o .libs/gzdio.o
.libs/iosm.o .libs/jsmn.o .libs/lsyck.o .libs/macro.o .libs/mire.o
.libs/mongoc.o .libs/mount.o .libs/pcrs.o .libs/poptIO.o .libs/rpmacl.o
.libs/rpmasn.o .libs/rpmaug.o .libs/rpmbag.o .libs/rpmbc.o .libs/rpmbf.o
.libs/rpmcdsa.o .libs/rpmct.o .libs/rpmcudf.o .libs/rpmcvs.o
.libs/rpmdate.o .libs/rpmdav.o .libs/rpmdir.o .libs/rpmficl.o
.libs/rpmgc.o .libs/rpmgfs.o .libs/rpmhash.o .libs/rpmhkp.o
.libs/rpmhook.o .libs/rpmio.o .libs/rpmiob.o .libs/rpmjni.o
.libs/rpmku.o .libs/rpmlog.o .libs/rpmltc.o .libs/rpmlua.o
.libs/rpmmalloc.o .libs/rpmmg.o .libs/rpmmqtt.o .libs/rpmmrb.o
.libs/rpmnss.o .libs/rpmperl.o .libs/rpmpgp.o .libs/rpmpython.o
.libs/rpmrpc.o .libs/rpmruby.o .libs/rpmsed.o .libs/rpmsm.o
.libs/rpmsp.o .libs/rpmsq.o .libs/rpmsquirrel.o .libs/rpmssl.o
.libs/rpmsvn.o .libs/rpmsw.o .libs/rpmsx.o .libs/rpmsyck.o
.libs/rpmtcl.o .libs/rpmtpm.o .libs/rpmuuid.o .libs/rpmxar.o
.libs/rpmzlog.o .libs/rpmzq.o .libs/strcasecmp.o .libs/strtolocale.o
.libs/tar.o .libs/ugid.o .libs/url.o .libs/xzdio.o .libs/yajl.o
.libs/yarn.o duktape.o -Wl,-rpath
-Wl,/home/ak/development/rpm/misc/.libs ../misc/.libs/librpmmisc.so
-lpcreposix -ldl -ltcl8.6 -lpython2.7 -lreadline -lmagic -lpthread -lelf
/usr/lib/x86_64-linux-gnu/libpopt.so -lz
/usr/lib/x86_64-linux-gnu/libexpat.so -lpcre
-L/usr/lib/gcc/x86_64-linux-gnu/6
-L/usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu
-L/usr/lib/gcc/x86_64-linux-gnu/6/../../../../lib
-L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu
-L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/6/../../.. -lstdc++
-lm -lc -lgcc_s /usr/lib/gcc/x86_64-linux-gnu/6/crtendS.o
/usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/crtn.o -g -O2
-Wl,--version-script -Wl,../rpmio/librpmio.vers -fopenmp -Wl,-soname
-Wl,librpmio-5.4.so -o .libs/librpmio-5.4.so
/usr/bin/ld: duktape.o: relocation R_X86_64_PC32 against symbol
`stderr@@GLIBC_2.2.5' can not be used when making a shared object;
recompile with -fPIC
/usr/bin/ld: final link failed: Bad value
collect2: error: ld returned 1 exit status
Makefile:2597: recipe for target 'librpmio.la' failed
The duktape PIC issue can be fixed by adding common CFLAGS to duktape's
custom flags, I guess, which currently isn't the case.
Alex
______________________________________________________________________
RPM Package Manager http://rpm5.org
Developer Communication List rpm-devel@rpm5.org