cross compiling freeradius
Erich Titl
erich.titl at think.ch
Fri Oct 16 01:02:24 CEST 2020
Hi Alan
Am 16.10.2020 um 00:26 schrieb Alan DeKok:
> On Oct 15, 2020, at 6:18 PM, Erich Titl <erich.titl at think.ch> wrote:
>>> libtool is a horrific 4K LoC shell script which is supposed to do cross-platform building. It's insane.
>>
>> So it is possible that it is invoked by the cross compile instructions
>
> No. What I said was that FreeRADIUS doesn't use libtool. What I meant was "FreeRADIUS doesn't use libtool"
>
>> Oh sure I know how to handle this. But basically I don't want to mess
>> around with the code provided by the freeradius project.
>
> If you're editing a "configure" script to site-local changes, it's fine. That's part of the build process. We don't use "configure" when the server is running.
>
>>>> mega at leafbuilder:~/leaf/devel/master-new-openssl/source/x86_64-unknown-linux-uclibc/radius/freeradius-server-3.0.21$
>>>> make reconfig
>>>> make: Nothing to be done for 'reconfig'.
>>>
>>> Then you didn't edit "configure.ac", I think. Or, you regenerated "configure" after editing "configure.ac"
>>
>> Indeed I did using autogen.sh, I will then start over with a virgin
>> tarball.
>
> As I said... don't use "autogen.sh". This doesn't mean "leave the output of autopen.sh alone, and try to do something on top of that". It means start over.
Yep....I did
I restarted from scratch
./configure yields then
checking for grep... (cached) /bin/grep
checking for _talloc in -ltalloc... 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
OK it needs talloc stuff
./configure
--with-talloc-include-dir=~/leaf/devel/master-new-openssl/staging/x86_64-unknown-linux-uclibc/usr/include/samba
--with-talloc-lib-dir=~/leaf/devel/master-new-openssl/staging/x86_64-unknown-linux-uclibc/usr/lib
checking for _talloc in -ltalloc in
~/leaf/devel/master-new-openssl/staging/x86_64-unknown-linux-uclibc/usr/lib...
no
checking for _talloc in -ltalloc... 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
despite
ls
~/leaf/devel/master-new-openssl/staging/x86_64-unknown-linux-uclibc/usr/lib/libtalloc*
/home/mega/leaf/devel/master-new-openssl/staging/x86_64-unknown-linux-uclibc/usr/lib/libtalloc.so
/home/mega/leaf/devel/master-new-openssl/staging/x86_64-unknown-linux-uclibc/usr/lib/libtalloc.so.2
/home/mega/leaf/devel/master-new-openssl/staging/x86_64-unknown-linux-uclibc/usr/lib/libtalloc.so.2.0.5
So obviously there are talloc libraries present there.
This error does not show up when I use the whole shebang of
configuration options
make: Entering directory
'/home/mega/leaf/devel/master-new-openssl/source/x86_64-unknown-linux-uclibc/radius'
( cd freeradius-server-3.0.21 ; ./configure --prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
--host=x86_64-unknown-linux-uclibc \
--build=x86_64-linux-gnu \
--with-rlm_acctlog \
--with-rlm_acct_unique \
--with-rlm_always \
--with-rlm_attr_filter \
--with-rlm_attr_rewrite \
--with-rlm_chap \
--with-rlm_checkval \
--with-rlm_copy_packet \
--with-rlm_detail \
--with-rlm_digest \
--with-rlm_dynamic_clients \
--with-rlm_eap \
--with-rlm_eap_gtc \
--with-rlm_eap_leap \
--with-rlm_eap_md5 \
--with-rlm_eap_mschapv2 \
--with-lm_eap_peap \
--with-rlm_eap_sim \
--with-rlm_eap_tls \
--with-rlm_eap_ttls \
--with-rlm_exec \
--with-rlm_expiration \
--with-rlm_expr \
--with-rlm_fastusers \
--with-rlm_files \
--with-rlm_ldap \
--with-rlm_linelog \
--with-rlm_logintime \
--with-rlm_mschap \
--with-rlm_otp \
--with-rlm_pap \
--with-rlm_passwd \
--with-rlm_policy \
--with-rlm_preprocess \
--with-rlm_radutmp \
--with-rlm_realm \
--with-rlm_sql \
--with-rlm_sqlcounter \
--with-rlm_sqlippool \
--with-rlm_sql_log \
--with-rlm_unix \
--without-rlm_ippool \
--without-rlm_sql_unixodbc \
--without-rlm_counter \
--without-rlm_dbm \
--without-rlm_eap_tnc \
--without-rlm-krb5 \
--without-rlm-eap_ikev2 \
--without-rlm-perl \
--without-rlm-pam \
--without-rlm_sql_iodbc \
--without-rlm_python \
--without-rlm_sql_oracle \
--without-rlm_sql_postgresql \
--with-dhcp \
--with-talloc-include-dir=/home/mega/leaf/devel/master-new-openssl/staging/x86_64-unknown-linux-uclibc/usr/include/samba
\
--with-talloc-lib-dir=/home/mega/leaf/devel/master-new-openssl/staging/x86_64-unknown-linux-uclibc/usr/lib
\
--with-mysql-dir=/home/mega/leaf/devel/master-new-openssl/staging/x86_64-unknown-linux-uclibc/usr
Now I commented out the offending macros and ran
mega at leafbuilder:~/leaf/devel/master-new-openssl/source/x86_64-unknown-linux-uclibc/radius/freeradius-server-3.0.21$
make reconfig
Makefile:38: *** Missing 'Make.inc' Run './configure [options]' and
retry. Stop.
OK so rerunning configure yields
checking for __builtin_choose_expr support in compiler... configure:
error: in
`/home/mega/leaf/devel/master-new-openssl/source/x86_64-unknown-linux-uclibc/radius/freeradius-server-3.0.21':
configure: error: cannot run test program while cross compiling
See `config.log' for more details
Obviously the modified configure.ac did not build a new configure
script. Using autogen.sh before did.
There must be a proper way to rebuild configure here.
Thanks
ET
--
Diese E-Mail wurde von AVG auf Viren geprüft.
http://www.avg.com
More information about the Freeradius-Users
mailing list