Modify

Opened 10 years ago

Closed 5 years ago

#2850 closed defect (fixed)

firmwarehotplug package requires "sdcc" command under Fedora, which is not available.

Reported by: rpjday <rpjday@…> Owned by: developers
Priority: normal Milestone:
Component: packages Version: Trunk
Keywords: Cc:

Description

Building a 2.4-based image for Linksys WRT54GL under Fedora 8, I get the following build error:

Checking 'sdcc'... failed.

firmwarehotplug: firmwarehotplug requires the SDCC Cross Compiler (sdcc).

make[4]: *** [prereq] Error 1
make[3]: *** [package/utils/firmwarehotplug/prereq] Error 2
make[2]: *** [/home/rpjday/openwrt/dl/kamikaze/trunk/staging_dir/mipsel/stamp/.package_prereq] Error 2
make[1]: *** [prereq] Error 2
make: *** [world] Error 2

The Fedora "sdcc" package doesn't provide an executable precisely named "sdcc", which appears to be what's required. Rather, here's the list of executables installed by that package:

/usr/bin/sdcc-as-gbz80
/usr/bin/sdcc-as-hc08
/usr/bin/sdcc-as-z80
/usr/bin/sdcc-aslink
/usr/bin/sdcc-asx8051
/usr/bin/sdcc-link-gbz80
/usr/bin/sdcc-link-hc08
/usr/bin/sdcc-link-z80
/usr/bin/sdcc-makebin
/usr/bin/sdcc-packihx
/usr/bin/sdcc-s51
/usr/bin/sdcc-savr
/usr/bin/sdcc-sdcc
/usr/bin/sdcc-sdcclib
/usr/bin/sdcc-sdcdb
/usr/bin/sdcc-sdcpp
/usr/bin/sdcc-shc08
/usr/bin/sdcc-sz80

Attachments (0)

Change History (5)

comment:1 Changed 10 years ago by rpjday <rpjday@…>

Predictably, the same error occurs when trying to build a 2.6-based image, and I would imagine it's going to happen for any image being built on a recent Fedora system.

comment:2 Changed 10 years ago by rpjday <rpjday@…>

There's a simple fix for this. Because of potential naming conflicts, the Fedora packagers for "sdcc" renamed the executables to have the prefix "sdcc-" so that, on Fedora systems, there is no /usr/bin/sdcc but rather /usr/bin/sdcc-sdcc, and so on, which not surprisingly screws up the OpenWrt build when you're trying to build the "firmwarehotplug" package, which goes looking for "sdcc" and can't find it.

Luckily, those renamed executables are simply wrappers for the properly-named executables in /usr/libexec/sdcc. Thus, all you need to do is add /usr/libexec/sdcc to your search path before running your build, and the package firmwarehotplug should be buildable.

comment:3 Changed 10 years ago by nbd

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

should be fixed in r12031

comment:4 Changed 6 years ago by tim@…

  • Resolution fixed deleted
  • Status changed from closed to reopened

In my opinion the change has to be

export PATH:=$(PATH):/usr/libexec/sdcc
or
export PATH:=$(PATH):/usr/libexec:/usr/libexec/sdcc
because sdcc is a subfolder of /usr/libexec

At least that did the trick for me with CentOS.

comment:5 Changed 5 years ago by florian

  • Resolution set to fixed
  • Status changed from reopened to closed
  • Version set to Trunk

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.