<html>
    <head>
      <base href="https://bugs.webkit.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [GTK] Fails to build randomly when generating LLIntDesiredOffsets.h"
   href="https://bugs.webkit.org/show_bug.cgi?id=155427#c1">Comment # 1</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [GTK] Fails to build randomly when generating LLIntDesiredOffsets.h"
   href="https://bugs.webkit.org/show_bug.cgi?id=155427">bug 155427</a>
              from <span class="vcard"><a class="email" href="mailto:berto&#64;igalia.com" title="Alberto Garcia &lt;berto&#64;igalia.com&gt;"> <span class="fn">Alberto Garcia</span></a>
</span></b>
        <pre>I found the problem.

This is the line that fails:

/usr/bin/ruby /«PKGBUILDDIR»/Source/JavaScriptCore/offlineasm/generate_offset_extractor.rb -I/«PKGBUILDDIR»/obj-i586-kfreebsd-gnu/DerivedSources/JavaScriptCore/ /«PKGBUILDDIR»/Source/JavaScriptCore/llint/LowLevelInterpreter.asm /«PKGBUILDDIR»/obj-i586-kfreebsd-gnu/DerivedSources/JavaScriptCore/LLIntDesiredOffsets.h

This piece of code takes all -I arguments and puts them in the
includeDirs list:

    def self.processIncludeOptions()
        while ARGV[0][/-I/]
            path = ARGV.shift[2..-1]
            if not path
                path = ARGV.shift
            end
            &#64;&#64;includeDirs &lt;&lt; (path + &quot;/&quot;)
        end
    end

Since the last command-line arguments are not include directories but
paths to files, the &quot;while ARGV[0][/-I/]&quot; condition will return false
and the loop will exit.

However in Debian the name of the build directory is generated
randomly and it can happen to contain the &quot;-I&quot; string
(e.g. '/tmp/build/webkit2gtk-IKCuVo'). The above code will treat that
as an include dir and will continue looping. After all command-line
arguments are parsed, ARGV[0] will be nil and ARGV[0][/-I/] will throw
the &quot;undefined method&quot; error.</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>