PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem beim installieren von sources



tobias83
07.01.10, 09:12
Hi,

bin noch nicht so lange bei Linux dabei, und irgendwann musste es ja mal passieren das es ein Programm nicht als Fertiges Paket gibt.

Es handelt sich dabei um pam-abl


Die benötigten Pakete libpam0g-dev libdb4.4-dev habe ich mittels aptitude installiert

Hier mal die Ausgabe von ./configure


tobias@ubuntu-test:~/Downloads/pam-abl-0.3.0$ sudo ./configure
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 build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking for style of include used by make... GNU
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
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 for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for ar... ar
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
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... no
configure: PAM installation path $(exec_prefix)/lib/security
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking dependency style of gcc... (cached) gcc3
checking whether gcc and cc understand -c and -o together... yes
checking for __log_flush in -ldb... no
checking for pthread_mutex_lock in -lpthread... yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking syslog.h usability... yes
checking syslog.h presence... yes
checking for syslog.h... yes
checking for unistd.h... (cached) yes
checking security/pam_modules.h usability... yes
checking security/pam_modules.h presence... yes
checking for security/pam_modules.h... yes
checking db.h usability... yes
checking db.h presence... yes
checking for db.h... yes
checking for size_t... yes
checking for stdlib.h... (cached) yes
checking for GNU libc compatible malloc... yes
checking for stdlib.h... (cached) yes
checking for GNU libc compatible realloc... yes
checking for memmove... yes
checking for memset... yes
checking for strchr... yes
checking for strerror... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating src/tools/Makefile
config.status: creating conf/Makefile
config.status: creating doc/Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands
tobias@ubuntu-test:~/Downloads/pam-abl-0.3.0$


danach habe ich dann make install ausgeführt


tobias@ubuntu-test:~/Downloads/pam-abl-0.3.0$ sudo make install
Making install in src
make[1]: Betrete Verzeichnis '/home/tobias/Downloads/pam-abl-0.3.0/src'
make[2]: Betrete Verzeichnis '/home/tobias/Downloads/pam-abl-0.3.0/src'
test -z "/usr/local/lib/security" || /bin/mkdir -p "/usr/local/lib/security"
/bin/bash ../libtool --mode=install /usr/bin/install -c pam_abl.la '/usr/local/lib/security'
libtool: install: /usr/bin/install -c .libs/pam_abl.so /usr/local/lib/security/pam_abl.so
libtool: install: /usr/bin/install -c .libs/pam_abl.lai /usr/local/lib/security/pam_abl.la
libtool: finish: PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin:/sbin" ldconfig -n /usr/local/lib/security
----------------------------------------------------------------------
Libraries have been installed in:
/usr/local/lib/security

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the `LD_LIBRARY_PATH' environment variable
during execution
- add LIBDIR to the `LD_RUN_PATH' environment variable
during linking
- use the `-Wl,-rpath -Wl,LIBDIR' linker flag
- have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
make install-exec-hook
make[3]: Betrete Verzeichnis '/home/tobias/Downloads/pam-abl-0.3.0/src'
rm /usr/local/lib/security/pam_abl.la
make[3]: Verlasse Verzeichnis '/home/tobias/Downloads/pam-abl-0.3.0/src'
make[2]: Für das Ziel »install-data-am« ist nichts zu tun.
make[2]: Verlasse Verzeichnis '/home/tobias/Downloads/pam-abl-0.3.0/src'
make[1]: Verlasse Verzeichnis '/home/tobias/Downloads/pam-abl-0.3.0/src'
Making install in src/tools
make[1]: Betrete Verzeichnis '/home/tobias/Downloads/pam-abl-0.3.0/src/tools'
/bin/bash ../../libtool --tag=CC --mode=link gcc -g -O2 -o pam_abl log.o config.o rule.o pam_abl.o -lpthread
libtool: link: gcc -g -O2 -o pam_abl log.o config.o rule.o pam_abl.o -lpthread
pam_abl.o: In function `dook':
/home/tobias/Downloads/pam-abl-0.3.0/src/tools/pam_abl.c:401: undefined reference to `db_create_4002'
pam_abl.o: In function `dopurge':
/home/tobias/Downloads/pam-abl-0.3.0/src/tools/pam_abl.c:311: undefined reference to `db_create_4002'
pam_abl.o: In function `doshow':
/home/tobias/Downloads/pam-abl-0.3.0/src/tools/pam_abl.c:205: undefined reference to `db_create_4002'
collect2: ld returned 1 exit status
make[1]: *** [pam_abl] Fehler 1
make[1]: Verlasse Verzeichnis '/home/tobias/Downloads/pam-abl-0.3.0/src/tools'
make: *** [install-recursive] Fehler 1
tobias@ubuntu-test:~/Downloads/pam-abl-0.3.0$


Leider kann ich nicht erkennen was genau der Fehler ist. Hoffe es kann mir jemand von euch helfen.

vielen Dank schon mal.

P.S das Ganze laüft auf Ubuntu 9.10

lOtz
07.01.10, 09:29
Muss man vor "make install" nicht erst "make" ausführen?

tobias83
07.01.10, 09:44
Hier mal die Ausgabe von make


tobias@ubuntu-test:~/Downloads/pam-abl-0.3.0$ sudo make
make all-recursive
make[1]: Betrete Verzeichnis '/home/tobias/Downloads/pam-abl-0.3.0'
Making all in src
make[2]: Betrete Verzeichnis '/home/tobias/Downloads/pam-abl-0.3.0/src'
make[2]: Für das Ziel »all« ist nichts zu tun.
make[2]: Verlasse Verzeichnis '/home/tobias/Downloads/pam-abl-0.3.0/src'
Making all in src/tools
make[2]: Betrete Verzeichnis '/home/tobias/Downloads/pam-abl-0.3.0/src/tools'
/bin/bash ../../libtool --tag=CC --mode=link gcc -g -O2 -o pam_abl log.o config.o rule.o pam_abl.o -lpthread
libtool: link: gcc -g -O2 -o pam_abl log.o config.o rule.o pam_abl.o -lpthread
pam_abl.o: In function `dook':
/home/tobias/Downloads/pam-abl-0.3.0/src/tools/pam_abl.c:401: undefined reference to `db_create_4002'
pam_abl.o: In function `dopurge':
/home/tobias/Downloads/pam-abl-0.3.0/src/tools/pam_abl.c:311: undefined reference to `db_create_4002'
pam_abl.o: In function `doshow':
/home/tobias/Downloads/pam-abl-0.3.0/src/tools/pam_abl.c:205: undefined reference to `db_create_4002'
collect2: ld returned 1 exit status
make[2]: *** [pam_abl] Fehler 1
make[2]: Verlasse Verzeichnis '/home/tobias/Downloads/pam-abl-0.3.0/src/tools'
make[1]: *** [all-recursive] Fehler 1
make[1]: Verlasse Verzeichnis '/home/tobias/Downloads/pam-abl-0.3.0'
make: *** [all] Fehler 2
tobias@ubuntu-test:~/Downloads/pam-abl-0.3.0$

Manoman
07.01.10, 17:46
Hi
du brauchst sudo nur beim installieren,
d.h.


./configure --prefix=/tmp/usr
make
make install

als test build
lösche das Verzeichnis und versuch es nochmal
rm -r pam-abl-0.3.0
tar -xf pam-abl-0.3.0.tar.bz2
cd pam-abl-0.3.0

wenn du ./configure verwendest, ohne angaben wie Präfix, wird u.U. das eine o. andere beschädigt

tobias83
11.01.10, 15:53
OK vilen Dank. Hat jetzt geklappt.