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

Reply via email to