Opened 3 years ago

Last modified 3 years ago

#63228 assigned defect

llvm-3.4 @3.4.2_14: error: LibraryDependencies.inc: No such file or directory

Reported by: ryandesign (Ryan Carsten Schmidt) Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 2.7.1
Keywords: tiger Cc: jeremyhu (Jeremy Huddleston Sequoia), larryv (Lawrence Velázquez), evanmiller (Evan Miller), cooljeanius (Eric Gallager)
Port: llvm-3.4

Description

I wasn't able to upgrade llvm-3.4 from 3.4.2_12 to 3.4.2_14 on Tiger i386 just now:

llvm[0]: Constructing LLVMBuild project information.
[snip]/llvm-3.4.2.src/utils/llvm-build/llvm-build \
  --native-target "x86" \
  --enable-targets "ARM PowerPC X86 " \
  --enable-optional-components "" \
  --write-library-table [snip]/build/tools/llvm-config/LibraryDependencies.inc \
  --write-make-fragment [snip]/build/Makefile.llvmbuild
Traceback (most recent call last):
  File "[snip]/llvm-3.4.2.src/utils/llvm-build/llvm-build", line 3, in ?
    import llvmbuild
  File "[snip]/llvm-3.4.2.src/utils/llvm-build/llvmbuild/__init__.py", line 1, in ?
    from llvmbuild.main import main
  File "[snip]/llvm-3.4.2.src/utils/llvm-build/llvmbuild/main.py", line 65
    @staticmethod
    ^
SyntaxError: invalid syntax
for dir in lib/Support lib/TableGen utils lib/IR lib tools/llvm-shlib tools/llvm-config tools docs unittests; do \
  if ([ ! -f $dir/Makefile ] || \
      command test $dir/Makefile -ot [snip]/llvm-3.4.2.src/$dir/Makefile ); then \
    [snip]/llvm-3.4.2.src/autoconf/mkinstalldirs $dir; \
    /bin/cp [snip]/llvm-3.4.2.src/$dir/Makefile $dir/Makefile; \
  fi; \
  (/opt/local/bin/gmake -C $dir all ) || exit 1; \
done

Which leads to:

[snip]/llvm-3.4.5.src/tools/llvm-config/llvm-config.cpp:45:35: error: LibraryDependencies.inc: No such file or directory
[snip]/llvm-3.4.5.src/tools/llvm-config/llvm-config.cpp:55: error: 'AvailableComponent' was not declared in this scope
[snip]/llvm-3.4.5.src/tools/llvm-config/llvm-config.cpp:55: error: template argument 1 is invalid
[snip]/llvm-3.4.5.src/tools/llvm-config/llvm-config.cpp:56: error: 'AvailableComponent' was not declared in this scope
[snip]/llvm-3.4.5.src/tools/llvm-config/llvm-config.cpp:56: error: template argument 1 is invalid
[snip]/llvm-3.4.5.src/tools/llvm-config/llvm-config.cpp:56: error: template argument 2 is invalid
[snip]/llvm-3.4.5.src/tools/llvm-config/llvm-config.cpp:56: error: template argument 3 is invalid
[snip]/llvm-3.4.5.src/tools/llvm-config/llvm-config.cpp: In function 'void VisitComponent(llvm::StringRef, const int&, int&, std::vector<llvm::StringRef, std::allocator<llvm::StringRef> >&, bool)':
[snip]/llvm-3.4.5.src/tools/llvm-config/llvm-config.cpp:60: error: 'AvailableComponent' was not declared in this scope
[snip]/llvm-3.4.5.src/tools/llvm-config/llvm-config.cpp:60: error: 'AC' was not declared in this scope
[snip]/llvm-3.4.5.src/tools/llvm-config/llvm-config.cpp:60: error: request for member 'lookup' in 'ComponentMap', which is of non-class type 'const int'
[snip]/llvm-3.4.5.src/tools/llvm-config/llvm-config.cpp:64: error: request for member 'insert' in 'VisitedComponents', which is of non-class type 'int'
[snip]/llvm-3.4.5.src/tools/llvm-config/llvm-config.cpp: In function 'void ComputeLibsForComponents(const std::vector<llvm::StringRef, std::allocator<llvm::StringRef> >&, std::vector<llvm::StringRef, std::allocator<llvm::StringRef> >&, bool)':
[snip]/llvm-3.4.5.src/tools/llvm-config/llvm-config.cpp:96: error: 'AvailableComponent' was not declared in this scope
[snip]/llvm-3.4.5.src/tools/llvm-config/llvm-config.cpp:96: error: template argument 1 is invalid
[snip]/llvm-3.4.5.src/tools/llvm-config/llvm-config.cpp:96: error: template argument 2 is invalid
[snip]/llvm-3.4.5.src/tools/llvm-config/llvm-config.cpp:96: error: template argument 3 is invalid
[snip]/llvm-3.4.5.src/tools/llvm-config/llvm-config.cpp:96: error: invalid type in declaration before ';' token
[snip]/llvm-3.4.5.src/tools/llvm-config/llvm-config.cpp:99: error: 'AvailableComponent' cannot appear in a constant-expression
[snip]/llvm-3.4.5.src/tools/llvm-config/llvm-config.cpp:99: error: template argument 1 is invalid
[snip]/llvm-3.4.5.src/tools/llvm-config/llvm-config.cpp:99: error: invalid type in declaration before ';' token
[snip]/llvm-3.4.5.src/tools/llvm-config/llvm-config.cpp:100: error: 'AvailableComponents' was not declared in this scope
[snip]/llvm-3.4.5.src/tools/llvm-config/llvm-config.cpp:101: error: 'AC' was not declared in this scope
[snip]/llvm-3.4.5.src/tools/llvm-config/llvm-config.cpp:111: error: request for member 'count' in 'ComponentMap', which is of non-class type 'int'
[snip]/llvm-3.4.5.src/tools/llvm-config/llvm-config.cpp: In function 'int main(int, char**)':
[snip]/llvm-3.4.5.src/tools/llvm-config/llvm-config.cpp:289: error: 'AvailableComponents' was not declared in this scope

Looks like this function decorator syntax wasn't available until Python 2.4 and /usr/bin/python on Tiger is 2.3.5.

The port already has a dependency on port:python27 (#60781) but the file [snip]/llvm-3.4.2.src/utils/llvm-build/llvm-build has the shebang line #!/usr/bin/env python which should I guess be changed to #!/opt/local/bin/python2.7.

Attachments (1)

main.log.bz2 (42.0 KB) - added by ryandesign (Ryan Carsten Schmidt) 3 years ago.

Download all attachments as: .zip

Change History (6)

Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)

Attachment: main.log.bz2 added

comment:1 Changed 3 years ago by kencu (Ken)

Yep, looks like you got it. I'll look at the reinplace needed. Thanks.

comment:2 Changed 3 years ago by kencu (Ken)

Just out of curiosity, would this have set env python properly for the duration of the build?

configure.python ${prefix}/bin/python2.7

I'm not really sure what configure.python actually does to the environment...

comment:3 Changed 3 years ago by evanmiller (Evan Miller)

Cc: evanmiller added

comment:4 Changed 3 years ago by cooljeanius (Eric Gallager)

Cc: cooljeanius added

comment:5 Changed 3 years ago by kencu (Ken)

Owner: changed from kencu to macports-tickets@…
Note: See TracTickets for help on using tickets.