FreeRadius 30.5 - 安装包安装失败 - 错误10(文件命名不正确)

超级新手在这里。我可能试图咬更多的东西。 我只是一个星期前开始使用Ubuntu。
我正在运行最新的Ubuntu 14,带有BIND9(教程帮助设置DNS),我一直在与FreeRadius 2.X和现在的3.X进行斗争。
主要我一直在按照我找到的指南进行操作...
软件源只有2.1.12版本,但我从他们的网站上下载了3.0.5 GZ包。
对2.1.12版本折腾得太多了,长话短说...它无法正确重新安装(文件、目录丢失...真麻烦)。
所以3.0.5版本,我尝试安装,解压后,无论是使用MAKE还是CHECKINSTALL都失败了。谷歌也没有找到为什么将"MAKE.INC.IN"重命名为"MAKE.INC"后安装仍然停止的原因。目录中有几个以"IN"结尾的文件,所以我猜想这与软件包的压缩源有关。 此外,gEDIT确认MAKEFILE正在调用make.inc。我不知道为什么无法安装该软件包。开发者提供的安装说明说要使用./configuremakemake install。 以下是我的make install和make的输出,两者都显示相同的"error 10"。
leonardo@consiglieri-DNS:~/Desktop/freeradius-server-3.0.5$ sudo make install
Makefile:10: *** Missing 'Make.inc' Run './configure [options]' and retry.  Stop.

CHECKINSTALL,如果我手动将make.inc.in重命名为make.inc:
Installing with make install...

========================= Installation results ===========================
scripts/boiler.mk:623: @abs_top_builddir@/main.mk: No such file or directory
make: *** No rule to make target `@abs_top_builddir@/main.mk'.  Stop.

****  Installation failed. Aborting package creation.

Cleaning up...OK

Bye.

leonardo@consiglieri-DNS:~/Desktop/freeradius-server-3.0.5$ 

文件列表...
leonardo@consiglieri-DNS:~/Desktop/freeradius-server-3.0.5$ ls -a
.             autogen.sh    configure     debian          INSTALL.rst  main.mk      mibs        redhat   suse
..            config.guess  configure.ac  doc             install-sh   Makefile     missing     scripts  .travis.yml
acinclude.m4  config.log    COPYRIGHT     .gitattributes  LICENSE      Make.inc.in  raddb       share    VERSION
aclocal.m4    config.sub    CREDITS       .gitignore      m4           man          README.rst  src

以下是我执行./configure的输出结果:
leonardo@consiglieri-DNS:~/Desktop/freeradius-server-3.0.5$ sudo ./configure
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-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 for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -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 minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking whether gcc needs -traditional... no
checking whether we are using SUNPro C... no
checking for ranlib... ranlib
checking if compiler is clang... no
checking for the compiler flag "-Qunused-arguments"... no
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... 64
checking whether byte ordering is bigendian... no
checking for gmake... no
checking for make... /usr/bin/make
checking number of system cores... 2
checking for git... no
checking docdir... ${datadir}/doc/freeradius
checking logdir... ${localstatedir}/log/radius
checking radacctdir... ${logdir}/radacct
checking raddbdir... ${sysconfdir}/raddb
checking dictdir... ${datarootdir}/freeradius
checking for perl... /usr/bin/perl
checking for snmpget... no
configure: WARNING: snmpget not found - Simultaneous-Use and checkrad may not work
checking for snmpwalk... no
configure: WARNING: snmpwalk not found - Simultaneous-Use and checkrad may not work
checking for rusers... /usr/bin/rusers
checking for locate... /usr/bin/locate
checking for dirname... /usr/bin/dirname
checking for grep... (cached) /bin/grep
checking for _talloc in -ltalloc... no
checking for _talloc in -ltalloc in /usr/lib/i386-linux-gnu... no
checking for _talloc in -ltalloc in /usr/share/doc... no
checking for _talloc in -ltalloc in /usr/share/doc/libtalloc2... no
checking for _talloc in -ltalloc in /var/lib/dpkg/info... no
checking for _talloc in -ltalloc in /usr/local/lib... no
checking for _talloc in -ltalloc in /opt/lib... no
configure: WARNING: talloc library not found. Use --with-talloc-lib-dir=<path>.
configure: error: FreeRADIUS requires libtalloc
leonardo@consiglieri-DNS:~/Desktop/freeradius-server-3.0.5$ 
4个回答

在运行make之前,您尚未正确完成配置:
Makefile:10: *** Missing 'Make.inc' Run './configure [options]' and retry.  Stop.

配置因此而中断:
configure: WARNING: talloc library not found. Use --with-talloc-lib-dir=<path>.
configure: error: FreeRADIUS requires libtalloc

这是从源代码构建自己的二进制文件的一个“不利之处” - 您必须检查所需内容,审查一些编译选项以获取可能需要的功能。还要阅读输出以查看是否有错误。
Deb软件包可能是更简单的方法 - 代价是稍旧的版本。
无论如何 - 现在您需要libtalloc。然而,可能会需要更多东西 - 当您尝试重新配置和编译时,您将会看到。
祝你好运。

看起来我也遇到了这个问题,但通过安装libtalloc-dev解决了。

sudo apt-get install libtalloc-dev

希望这能帮到你!

是的!!!对我来说有效。 - Shashanth

我在/etc/freeradius下创建了一个名为freeradius的目录。
sudo mkdir /etc/freeradius

然后我使用了这些命令:
wget https://www.samba.org/ftp/talloc/talloc-2.1.0.tar.gz
tar zxvf talloc-2.1.0.tar.gz
cd talloc-2.1.0
./configure --without-gettext
make
make install
wget ftp://ftp.freeradius.org/pub/freeradius/freeradius-server-3.0.12.tar.gz
tar -zxvf freeradius-server-3.0.12.tar.gz
cd freeradius-server-3.0.12
./configure --prefix=/etc/freeradius
sudo make
sudo make install
sudo ldconfig

感谢大家的支持和帮助!

我们可以使用这个(必须安装curl):
curl -LOk https://www.samba.org/ftp/talloc/talloc-2.1.0.tar.gz
tar zxvf talloc-2.1.0.tar.gz
cd talloc-2.1.0
./configure --without-gettext
make
sudo make install