[pacman-dev] Fwd: Re: Unable to compile pacman in ubuntu-11.10
----- Forwarded message from Dave Reisner
Date: Fri, 30 Mar 2012 14:44:05 -0400 From: Dave Reisner
To: Talespin Kit 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
Date: Fri, 30 Mar 2012 14:44:05 -0400 From: Dave Reisner
To: Talespin Kit 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