Difference between revisions of "Building"

From Syslinux Wiki
Jump to: navigation, search
(Re-order (sort) items. Add new item, "Not enough room for program headers".)
m (Re-order (sort). Wiki formatting.)
Line 1: Line 1:
* When building with '''glibc 2.23+''', the "major", "minor" and "makedev" <!--
 
  --> functions are defined in {{nowrap|"<tt>sys/sysmacros.h</tt>"}}. <!--
 
  --> The patch <!--
 
  --> [http://repo.or.cz/syslinux.git/commit/1a74985b2a404639b08882c57f3147229605dfd5 "extlinux: pull in sys/sysmacros.h for major/minor/makedev"], <!--
 
  --> applied to Syslinux during 2016Apr, should help.  <!--
 
  --> Please note that not only Syslinux is affected by this change in glibc.
 
 
<!-- -->
 
<!-- -->
<!-- -->
+
* If getting "'''''Not enough room for program headers'''''", try adding <!--  
* If getting "''Not enough room for program headers''", try adding <!--  
+
 
   --> {{nowrap|1='<tt>--no-dynamic-linker</tt>'}} to the linker command line(s). <!--  
 
   --> {{nowrap|1='<tt>--no-dynamic-linker</tt>'}} to the linker command line(s). <!--  
 +
  -->  Seen with '''binutils 2.27+'''. <!--
 
   -->  There might be other / better solutions / work-around methods. <!--  
 
   -->  There might be other / better solutions / work-around methods. <!--  
 
   -->  [[Contact|Feedback]] is appreciated. <!--  
 
   -->  [[Contact|Feedback]] is appreciated. <!--  
Line 18: Line 12:
 
   --><!-- -->
 
   --><!-- -->
 
<!--  -->
 
<!--  -->
 +
<!--  -->
 +
* When building with '''glibc 2.23+''', the "major", "minor" and "makedev" <!--
 +
  --> functions are defined in {{nowrap|"<tt>sys/sysmacros.h</tt>"}}. <!--
 +
  --> The patch <!--
 +
  --> [http://repo.or.cz/syslinux.git/commit/1a74985b2a404639b08882c57f3147229605dfd5 "extlinux: pull in sys/sysmacros.h for major/minor/makedev"], <!--
 +
  --> applied to Syslinux during 2016Apr, should help.  <!--
 +
  --> Please note that not only Syslinux is affected by this change in glibc.
 +
<!-- -->
  
 
<br />
 
<br />

Revision as of 13:41, 15 August 2017

  • If getting "Not enough room for program headers", try adding '--no-dynamic-linker' to the linker command line(s). Seen with binutils 2.27+. There might be other / better solutions / work-around methods. Feedback is appreciated.
  • When building with glibc 2.23+, the "major", "minor" and "makedev" functions are defined in "sys/sysmacros.h". The patch "extlinux: pull in sys/sysmacros.h for major/minor/makedev", applied to Syslinux during 2016Apr, should help. Please note that not only Syslinux is affected by this change in glibc.


Patches already included in Syslinux 6.04-pre1 (released 2016Mar):

Other

  • NASM 2.11.06 has a bug which prevents Syslinux from building correctly. Use other version of NASM (e.g. 2.11.05, 2.11.08+, among others).
  • binutils 2.26, as originally released upstream, has a bug preventing Syslinux from building correctly. The bug in bintuils 2.26 was resolved in a later commit.
  • "error: impossible constraint in asm". When gcc5+ is configured with --enable-default-pie, in some cases there might be a need to use custom flags in some makefile(s), similar to either "CFLAGS += -fno-pie" or "CFLAGS := -fno-pie". Examples:


See also