[Home]

Summary:ASTERISK-25074: Regression: Recent clang-related change broke cross compiling of Asterisk
Reporter:Sebastian Kemper (skemper)Labels:
Date Opened:2015-05-10 02:07:16Date Closed:2015-05-15 15:32:40
Priority:MajorRegression?Yes
Status:Closed/CompleteComponents:Core/BuildSystem
Versions:SVN 11.18.0 12.8.2 13.3.2 13.4.0 Frequency of
Occurrence
Constant
Related
Issues:
Environment:cross compiling build system, e.g.x86_64 to compile for mipsAttachments:
Description:MAKE_MENUSELECT currently sets CC to CC, which is the compiler for the target platform. But menuselect is to be run on the build system, so BUILD_CC needs to be used instead - like it was in the past, before the recent changes (https://reviewboard.asterisk.org/r/4370/).
Comments:By: Sebastian Kemper (skemper) 2015-05-10 02:56:11.304-0500

Here's the build log. Compiling on x86_64 for mips. Configure runs fine, cross compilation detected. Then compilation of menuselect fails:

configure: Package configured for:
configure: OS type  : linux-gnu
configure: Host CPU : mips
configure: build-cpu:vendor:os: x86_64 : pc : linux-gnu :
configure: host-cpu:vendor:os: mips : openwrt : linux-gnu :
configure: Cross Compilation = YES
rm -f /home/sk/tmp/openwrt/build_dir/target-mips_34kc_uClibc-0.9.33.2/asterisk-11.17.1/.configured_
touch /home/sk/tmp/openwrt/build_dir/target-mips_34kc_uClibc-0.9.33.2/asterisk-11.17.1/.configured_
make -C "/home/sk/tmp/openwrt/build_dir/target-mips_34kc_uClibc-0.9.33.2/asterisk-11.17.1" include/asterisk/version.h include/asterisk/buildopts.h defaults.h makeopts.embed_rules
make[3]: Entering directory '/home/sk/tmp/openwrt/build_dir/target-mips_34kc_uClibc-0.9.33.2/asterisk-11.17.1'
make[3]: Nothing to be done for 'include/asterisk/version.h'.
CC="mips-openwrt-linux-uclibc-gcc" CXX="mips-openwrt-linux-uclibc-g++" LD="" AR="" RANLIB="" CFLAGS="" LDFLAGS="" make -C menuselect CONFIGURE_SILENT="--silent" makeopts
make[4]: Entering directory '/home/sk/tmp/openwrt/build_dir/target-mips_34kc_uClibc-0.9.33.2/asterisk-11.17.1/menuselect'
configure: error: in `/home/sk/tmp/openwrt/build_dir/target-mips_34kc_uClibc-0.9.33.2/asterisk-11.17.1/menuselect':
configure: error: cannot run C compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details.
Makefile:67: recipe for target 'makeopts' failed
make[4]: *** [makeopts] Error 1
make[4]: Leaving directory '/home/sk/tmp/openwrt/build_dir/target-mips_34kc_uClibc-0.9.33.2/asterisk-11.17.1/menuselect'
Makefile:921: recipe for target 'menuselect/makeopts' failed
make[3]: *** [menuselect/makeopts] Error 2
make[3]: Leaving directory '/home/sk/tmp/openwrt/build_dir/target-mips_34kc_uClibc-0.9.33.2/asterisk-11.17.1'
Makefile:314: recipe for target '/home/sk/tmp/openwrt/build_dir/target-mips_34kc_uClibc-0.9.33.2/asterisk-11.17.1/.built' failed
make[2]: *** [/home/sk/tmp/openwrt/build_dir/target-mips_34kc_uClibc-0.9.33.2/asterisk-11.17.1/.built] Error 2
make[2]: Leaving directory '/home/sk/tmp/openwrt/feeds/telephony/net/asterisk-11.x'
package/Makefile:173: recipe for target 'package/feeds/telephony/asterisk-11.x/compile' failed
make[1]: *** [package/feeds/telephony/asterisk-11.x/compile] Error 2
make[1]: Leaving directory '/home/sk/tmp/openwrt'
/home/sk/tmp/openwrt/include/toplevel.mk:171: recipe for target 'package/feeds/telephony/asterisk-11.x/compile' failed
make: *** [package/feeds/telephony/asterisk-11.x/compile] Error 2

By: Rusty Newton (rnewton) 2015-05-15 15:32:40.095-0500

Closing this out since it was merged, but the auto-close functionality is broken at the moment.