Modify

Opened 4 years ago

Closed 3 years ago

#15535 closed defect (moved_to_github)

perl on trunk fails to compile

Reported by: anonymous Owned by: developers
Priority: highest Milestone: Chaos Calmer 15.05
Component: packages Version: Trunk
Keywords: Cc:

Description

Everything is up to date. Type 'make test' to run test suite.

make[4]: Leaving directory `/home/user/trunk/openwrt/build_dir/target-x86_64_uClibc-0.9.33.2/perl/perl-5.10.0/host-perl'

===> Stage 3: Configure target perl

make -C /home/user/trunk/openwrt/build_dir/target-x86_64_uClibc-0.9.33.2/perl/perl-5.10.0 clean
make[4]: Entering directory `/home/user/trunk/openwrt/build_dir/target-x86_64_uClibc-0.9.33.2/perl/perl-5.10.0'
make[4]: * No rule to make target `clean'. Stop.
make[4]: Leaving directory `/home/user/trunk/openwrt/build_dir/target-x86_64_uClibc-0.9.33.2/perl/perl-5.10.0'
make[3]: /home/user/trunk/openwrt/build_dir/target-x86_64_uClibc-0.9.33.2/perl/perl-5.10.0/.configured_-perl Error 2 (ignored)
sed -e 's!%%CC%%!x86_64-openwrt-linux-uclibc-gcc!g' -e 's!%%CFLAGS%%!-Os -pipe -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -DUSE_CROSS_COMPILE -I/home/user/trunk/openwrt/staging_dir/target-x86_64_uClibc-0.9.33.2/usr/include -I/home/user/trunk/openwrt/staging_dir/target-x86_64_uClibc-0.9.33.2/include -I/home/user/trunk/openwrt/staging_dir/toolchain-x86_64_gcc-4.8-linaro_uClibc-0.9.33.2/usr/include -I/home/user/trunk/openwrt/staging_dir/toolchain-x86_64_gcc-4.8-linaro_uClibc-0.9.33.2/include!g' -e 's!%%CPP%%!x86_64-openwrt-linux-uclibc-gcc -E!g' -e 's!%%AR%%!x86_64-openwrt-linux-uclibc-ar!g' -e 's!%%LD%%!x86_64-openwrt-linux-uclibc-gcc!g' -e 's!%%LDFLAGS%%!-rdynamic -L/home/user/trunk/openwrt/staging_dir/target-x86_64_uClibc-0.9.33.2/usr/lib -L/home/user/trunk/openwrt/staging_dir/target-x86_64_uClibc-0.9.33.2/lib -L/home/user/trunk/openwrt/staging_dir/toolchain-x86_64_gcc-4.8-linaro_uClibc-0.9.33.2/usr/lib -L/home/user/trunk/openwrt/staging_dir/toolchain-x86_64_gcc-4.8-linaro_uClibc-0.9.33.2/lib!g' -e 's!%%LIBDIRS%%!/home/user/trunk/openwrt/staging_dir/target-x86_64_uClibc-0.9.33.2/lib /home/user/trunk/openwrt/staging_dir/target-x86_64_uClibc-0.9.33.2/usr/lib!g' -e 's!%%INCDIRS%%!/home/user/trunk/openwrt/staging_dir/target-x86_64_uClibc-0.9.33.2/include /home/user/trunk/openwrt/staging_dir/target-x86_64_uClibc-0.9.33.2/usr/include!g' -e 's!%%EXTRA_PERLLIBS%%!!g' -e 's!%%EXTRA_PERLLIBDIRS%%!!g' files/config.sh-x86_64.in > /home/user/trunk/openwrt/build_dir/target-x86_64_uClibc-0.9.33.2/perl/perl-5.10.0/config.sh
sed: can't read files/config.sh-x86_64.in: No such file or directory
make[3]:
* /home/user/trunk/openwrt/build_dir/target-x86_64_uClibc-0.9.33.2/perl/perl-5.10.0/.configured_-perl Error 2
make[3]: Leaving directory `/home/user/trunk/openwrt/feeds/packages/lang/perl'
make[2]: * [package/feeds/packages/perl/compile] Error 2
make[2]: Leaving directory `/home/user/trunk/openwrt'
make[1]:
* /home/user/trunk/openwrt/staging_dir/target-x86_64_uClibc-0.9.33.2/stamp/.package_compile Error 2
make[1]: Leaving directory `/home/user/trunk/openwrt'
make: * [world] Error 2

Attachments (5)

perl-x86_64.patch (32.3 KB) - added by xuefer 4 years ago.
taken from gentoo x86_64 and modified to take advantage of the sed rules in Makefile
perl-x86_64.2.patch (32.3 KB) - added by xuefer 4 years ago.
taken from gentoo x86_64 and modified to take advantage of the sed rules in Makefile
perl-x86_64.3.patch (32.3 KB) - added by xuefer 4 years ago.
taken from gentoo x86_64 and modified to take advantage of the sed rules in Makefile
perl-x86_64.4.patch (32.3 KB) - added by xuefer 4 years ago.
taken from gentoo x86_64 and modified to take advantage of the sed rules in Makefile
perl-x86_64.5.patch (32.3 KB) - added by xuefer 4 years ago.
taken from gentoo x86_64 and modified to take advantage of the sed rules in Makefile

Download all attachments as: .zip

Change History (8)

comment:1 Changed 4 years ago by anonymous

Looking at this, I'll be surprised it if ever worked on x86_64 (or i486 either for that matter).

You can get it to compile by creating a symlink from feeds/packages/lang/perl/files/config.sh-i486.in to feeds/packages/lang/perl/files/config.sh-x86_64.in. Then you need to edit feeds/packages/lang/perl/Makefile and change the paths so that it looks in /usr/local rather than /usr, as the config file uses perl defaults which installs in /usr/local.

--- a/lang/perl/Makefile
+++ b/lang/perl/Makefile
@@ -168,9 +168,9 @@ define Build/perl/Compile
 endef

 define Package/perl/install
-       $(INSTALL_DIR) $(1)/usr/bin
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/perl$(PKG_VERSION) $(1)/usr/bin
-       ln -nsf perl$(PKG_VERSION) $(1)/usr/bin/perl
+       $(INSTALL_DIR) $(1)/usr/local/bin
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/local/bin/perl$(PKG_VERSION) $(1)/usr/local/bin
+       ln -nsf perl$(PKG_VERSION) $(1)/usr/local/bin/perl
 endef

 ifneq ($(CONFIG_PACKAGE_microperl),)

Then it will compile but you'll be left with a bunch of errors about missing dependencies, including libc.so.6. I haven't quite gotten around to working through that.

Linking the i486 file is a bit of a hack, but making a true target config requires installing everything on an openwrt target machine and doing the perl configure in place with a full development environment installed.

Changed 4 years ago by xuefer

taken from gentoo x86_64 and modified to take advantage of the sed rules in Makefile

Changed 4 years ago by xuefer

taken from gentoo x86_64 and modified to take advantage of the sed rules in Makefile

Changed 4 years ago by xuefer

taken from gentoo x86_64 and modified to take advantage of the sed rules in Makefile

Changed 4 years ago by xuefer

taken from gentoo x86_64 and modified to take advantage of the sed rules in Makefile

Changed 4 years ago by xuefer

taken from gentoo x86_64 and modified to take advantage of the sed rules in Makefile

comment:2 Changed 4 years ago by xuefer

oops, network or server lag issue, please remove the duplicate attachments

comment:3 Changed 3 years ago by florian

  • Resolution set to moved_to_github
  • Status changed from new to closed

Add Comment

Modify Ticket

Action
as closed .
The resolution will be deleted. Next status will be 'reopened'.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.