[pacman-dev] Fwd: Re: Unable to compile pacman in ubuntu-11.10
----- Forwarded message from Dave Reisner <d@falconindy.com> -----
Date: Fri, 30 Mar 2012 14:44:05 -0400 From: Dave Reisner <d@falconindy.com> To: Talespin Kit <talespin_kit@yahoo.com> Subject: Re: [pacman-dev] Unable to compile pacman in ubuntu-11.10
On Fri, Mar 30, 2012 at 05:12:11AM -0700, Talespin Kit wrote:
Finally managed to compile in ubuntu-11.10.
Seems the problem was the Makefile generated by the configure script for the **libalpm ** does not add the **libcrypto** as dependency in the LIBS variable.
Below is the steps.
I have used the git commit e6f72c61a098b52ea29e54b8eb4739a2ff81e6b0 in repo git://projects.archlinux.org/pacman.git
1) $ git clean -xfd; ./autogen.sh && ./configure --prefix=/usr --sysconfdir=/ etc --localstatedir=/var \ --enable-git-version --enable-debug --without-gpgme
2) cd lib/libalpm
3) In the Makefile replace line
LIBS = -lssl -larchive -lm with LIBS = -lssl -larchive -lm -lcrypto 4) cd ../../ && make
top-posted HTML... awesome... I've made some alterations to the build system and dropped them in a branch in my repo:
git clone git://code.falconindy.com/pacman.git buildsys
If you could check out this branch and see if you have any more luck with auto configuration, it'd be appreciated. I tested this on my 10.04 LTS install with:
./autogen.sh ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-git-version --enable-debug
curl and ssl were properly detected for the build. If it does succeed, I'd like to see the output of:
readelf -d ./lib/libalpm/.libs/libalpm.so
Thanks, dave
----- End forwarded message ----- Forwarding to list because I didnt reply-all... d
This new configure scripts reports that it needs libarchive > 3.0.0 . I am using libarchive1-2.8.4-1ubuntu-0.11.10.1 which is present in the repo. I am using the same build environment(same machine) which i have used earlier. Below is the ouput. Output of repo git://code.falconindy.com/pacman.git buildsys branch commit da9c187f5b665cc82817e1df593300a8907471d5 $ git clean -xfd; ./autogen.sh && ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-git-version --enable-debug --without-gpgme + aclocal -I m4 --install + autoheader + automake --foreign + autoconf checking build system type... i686-pc-linux-gnu checking host system type... i686-pc-linux-gnu checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking how to print strings... printf checking for style of include used by make... GNU checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking dependency style of gcc... gcc3 checking for a sed that does not truncate output... /bin/sed checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for fgrep... /bin/grep -F checking for ld used by gcc... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B checking the name lister (/usr/bin/nm -B) interface... BSD nm checking whether ln -s works... yes checking the maximum length of command line arguments... 1572864 checking whether the shell understands some XSI constructs... yes checking whether the shell understands "+="... yes checking how to convert i686-pc-linux-gnu file names to i686-pc-linux-gnu format... func_convert_file_noop checking how to convert i686-pc-linux-gnu file names to toolchain format... func_convert_file_noop checking for /usr/bin/ld option to reload object files... -r checking for objdump... objdump checking how to recognize dependent libraries... pass_all checking for dlltool... no checking how to associate runtime and link libraries... printf %s\n checking for ar... ar checking for archiver @FILE support... @ checking for strip... strip checking for ranlib... ranlib checking command to parse /usr/bin/nm -B output from gcc object... ok checking for sysroot... no checking for mt... mt checking if mt is a manifest tool... no checking how to run the C preprocessor... gcc -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking for dlfcn.h... yes checking for objdir... .libs checking if gcc supports -fno-rtti -fno-exceptions... no checking for gcc option to produce PIC... -fPIC -DPIC checking if gcc PIC flag -fPIC -DPIC works... yes checking if gcc static flag -static works... yes checking if gcc supports -c -o file.o... yes checking if gcc supports -c -o file.o... (cached) yes checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... yes checking for special C compiler options needed for large files... no checking for _FILE_OFFSET_BITS value needed for large files... 64 checking for gawk... (cached) gawk checking for gcc option to accept ISO C99... -std=gnu99 checking for python2.7... python2.7 checking for bash... /bin/bash checking whether NLS is requested... yes checking for msgfmt... /usr/bin/msgfmt checking for gmsgfmt... /usr/bin/msgfmt checking for xgettext... /usr/bin/xgettext checking for msgmerge... /usr/bin/msgmerge checking for ld used by GCC... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking for shared library run path origin... done checking for CFPreferencesCopyAppValue... no checking for CFLocaleCopyCurrent... no checking for GNU gettext in libc... yes checking whether to use NLS... yes checking where the gettext function comes from... libc checking for fabs in -lm... yes checking for pkg-config... /usr/bin/pkg-config checking pkg-config is at least version 0.9.0... yes checking for LIBARCHIVE... no configure: error: *** libarchive >= 3.0.0 is needed to compile pacman! ------- Talespin Kit ________________________________ From: Dave Reisner <d@falconindy.com> To: pacman-dev@archlinux.org Sent: Saturday, March 31, 2012 12:15 AM Subject: [pacman-dev] Fwd: Re: Unable to compile pacman in ubuntu-11.10 ----- Forwarded message from Dave Reisner <d@falconindy.com> -----
Date: Fri, 30 Mar 2012 14:44:05 -0400 From: Dave Reisner <d@falconindy.com> To: Talespin Kit <talespin_kit@yahoo.com> Subject: Re: [pacman-dev] Unable to compile pacman in ubuntu-11.10
On Fri, Mar 30, 2012 at 05:12:11AM -0700, Talespin Kit wrote:
Finally managed to compile in ubuntu-11.10.
Seems the problem was the Makefile generated by the configure script for the **libalpm ** does not add the **libcrypto** as dependency in the LIBS variable.
Below is the steps.
I have used the git commit e6f72c61a098b52ea29e54b8eb4739a2ff81e6b0 in repo git://projects.archlinux.org/pacman.git
1) $ git clean -xfd; ./autogen.sh && ./configure --prefix=/usr --sysconfdir=/ etc --localstatedir=/var \ --enable-git-version --enable-debug --without-gpgme
2) cd lib/libalpm
3) In the Makefile replace line
LIBS = -lssl -larchive -lm with LIBS = -lssl -larchive -lm -lcrypto 4) cd ../../ && make
top-posted HTML... awesome... I've made some alterations to the build system and dropped them in a branch in my repo:
git clone git://code.falconindy.com/pacman.git buildsys
If you could check out this branch and see if you have any more luck with auto configuration, it'd be appreciated. I tested this on my 10.04 LTS install with:
./autogen.sh ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-git-version --enable-debug
curl and ssl were properly detected for the build. If it does succeed, I'd like to see the output of:
readelf -d ./lib/libalpm/.libs/libalpm.so
Thanks, dave
----- End forwarded message ----- Forwarding to list because I didnt reply-all... d
On Mon, Apr 02, 2012 at 04:52:31AM -0700, Talespin Kit wrote:
This new configure scripts reports that it needs libarchive > 3.0.0 .
I am using libarchive1-2.8.4-1ubuntu-0.11.10.1 which is present in the repo.
I am using the same build environment(same machine) which i have used earlier.
I guess that's a bit of a lie -- we only need 2.8.0. Can you fetch from that branch again, please? dave
I guess that's a bit of a lie -- we only need 2.8.0. Can you fetch from
that branch again, please? Cool. compiles without problem (commit 01150291779e4d4aa61f4495014c9f214bbb5eb6).
Below is the output of readelf. $ readelf -d ./lib/libalpm/.libs/libalpm.so Dynamic section at offset 0x2eec4 contains 24 entries: Tag Type Name/Value 0x00000001 (NEEDED) Shared library: [libcrypto.so.1.0.0] 0x00000001 (NEEDED) Shared library: [libarchive.so.2] 0x00000001 (NEEDED) Shared library: [libcurl-gnutls.so.4] 0x00000001 (NEEDED) Shared library: [libc.so.6] 0x0000000e (SONAME) Library soname: [libalpm.so.7] 0x0000000c (INIT) 0x39a4 0x0000000d (FINI) 0x25738 0x6ffffef5 (GNU_HASH) 0x138 0x00000005 (STRTAB) 0x19d0 0x00000006 (SYMTAB) 0x680 0x0000000a (STRSZ) 5287 (bytes) 0x0000000b (SYMENT) 16 (bytes) 0x00000003 (PLTGOT) 0x2fff4 0x00000002 (PLTRELSZ) 1448 (bytes) 0x00000014 (PLTREL) REL 0x00000017 (JMPREL) 0x33fc 0x00000011 (REL) 0x31b4 0x00000012 (RELSZ) 584 (bytes) 0x00000013 (RELENT) 8 (bytes) 0x6ffffffe (VERNEED) 0x30e4 0x6fffffff (VERNEEDNUM) 3 0x6ffffff0 (VERSYM) 0x2e78 0x6ffffffa (RELCOUNT) 67 0x00000000 (NULL) 0x0 Br, Bala
On Mon, Apr 02, 2012 at 05:29:53AM -0700, Talespin Kit wrote:
I guess that's a bit of a lie -- we only need 2.8.0. Can you fetch from that branch again, please? Cool. compiles without problem (commit 01150291779e4d4aa61f4495014c9f214bbb5eb6).
Awesome. Thanks for testing, and for politely pointing out that our buildsys needed some work.
participants (2)
-
Dave Reisner
-
Talespin Kit