我是超级菜鸟。我可能想吞下的东西太多了。我一周前才开始使用 Ubuntu
我正在运行最新的 Ubuntu 14,带有 BIND9(教程帮助设置了 DNS),并且一直在与 FreeRadius 2.X 和现在的 3.X 作斗争。
我一直在关注指引我发现...
该存储库只有 2.1.12,但我从他们的网站下载了 3.0.5 GZ 包。
对 2.1.12 搞得太乱了,长话短说...它无法正确重新安装(文件、目录丢失...PITA)
因此,我尝试安装 3.0.5,在解压后,MAKE 和 CHECKINSTALL 都失败了。Google 无法查明为什么将“MAKE.INC.IN”重命名为“MAKE.INC”仍会停止安装。目录中散布着几个以“IN”结尾的文件,因此我认为这与软件包的压缩来源有关。此外,gEDIT 确认 MAKEFILE 正在调用 make.inc。我不知道为什么我无法安装软件包。开发人员提供的安装说明说要使用./configure
、make
和make install
。
下面是我的 make install 和 make 的输出,都输出相同的“错误 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$
答案1
在运行之前,您尚未正确完成配置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
。但是,可能您还需要更多东西 - 您将在尝试再次配置和编译时看到。
祝你好运。
答案2
看起来我也遇到了这个问题,但通过安装解决了libtalloc-dev
。
sudo apt-get install libtalloc-dev
希望这可以帮助!
答案3
我在以下位置创建了一个名为 freeradius 的目录
/etc/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
感谢大家的支持和帮助!
答案4
我们可以使用这个(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