Opened 10 years ago
Closed 8 years ago
#44898 closed defect (fixed)
defect: Build of llvm-3.3 fails on PPC Tiger (Mac OS X 10.4.11) due to missing declarations
Reported by: | ballapete (Peter "Pete" Dyballa) | Owned by: | jeremyhu (Jeremy Huddleston Sequoia) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.3.1 |
Keywords: | Tiger | Cc: | jeremyhu (Jeremy Huddleston Sequoia) |
Port: | llvm-3.3 |
Description
In order to build librsvg @2.40.3_0+viewer, presumingly, port wants to use clang, which depends on llvm, so it starts to build it – and fails:
PathV2.cpp: In function 'void llvm::sys::path::system_temp_directory(bool, llvm::SmallVectorImpl<char>&)': PathV2.cpp:501: error: '_CS_DARWIN_USER_TEMP_DIR' was not declared in this scope PathV2.cpp:502: error: '_CS_DARWIN_USER_CACHE_DIR' was not declared in this scope /opt/local/var/macports/build/_opt_mports_trunk_dports_lang_llvm-3.3/llvm-3.3/work/llvm-3.3.src/Makefile.rules:1615: recipe for target '/opt/local/var/macports/build/_opt_mports_trunk_dports_lang_llvm-3.3/llvm-3.3/work/llvm-3.3.src/lib/Support/Release+Debug+Asserts/PathV2.o' failed gmake[1]: *** [/opt/local/var/macports/build/_opt_mports_trunk_dports_lang_llvm-3.3/llvm-3.3/work/llvm-3.3.src/lib/Support/Release+Debug+Asserts/PathV2.o] Error 1 gmake[1]: Leaving directory '/opt/local/var/macports/build/_opt_mports_trunk_dports_lang_llvm-3.3/llvm-3.3/work/llvm-3.3.src/lib/Support' /opt/local/var/macports/build/_opt_mports_trunk_dports_lang_llvm-3.3/llvm-3.3/work/llvm-3.3.src/Makefile.rules:876: recipe for target 'all' failed gmake: *** [all] Error 1 gmake: Leaving directory '/opt/local/var/macports/build/_opt_mports_trunk_dports_lang_llvm-3.3/llvm-3.3/work/llvm-3.3.src' Command failed: cd "/opt/local/var/macports/build/_opt_mports_trunk_dports_lang_llvm-3.3/llvm-3.3/work/llvm-3.3.src" && /opt/local/bin/gmake -w all Exit code: 2
On Snow Leopard (Mac OS X 10.6.8) llvm-3.1 seems to be OK to build librsvg. Is llvm-2.9 definitely not sufficient on Tiger?
Attachments (5)
Change History (25)
Changed 10 years ago by ballapete (Peter "Pete" Dyballa)
comment:1 Changed 10 years ago by jeremyhu (Jeremy Huddleston Sequoia)
Resolution: | → wontfix |
---|---|
Status: | new → closed |
Yeah, ppc isn't well supported in older versions of llvm (even current versions likely have issues). Tiger isn't well supported in current versions of llvm. Heck, Leopard isn't well supported.
comment:2 Changed 10 years ago by jeremyhu (Jeremy Huddleston Sequoia)
Really, anything older than Mountain Lion at this point is pushing it support wise. It's getting difficult enough trying to keep Snow Leopard functional...
comment:3 follow-ups: 4 6 Changed 9 years ago by evilmoo@…
Hopefully this won't reopen the status, but I did find this:
http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20140203/204233.html
comment:4 Changed 9 years ago by ballapete (Peter "Pete" Dyballa)
Replying to evilmoo@…:
Hopefully this won't reopen the status, but I did find this:
http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20140203/204233.html
Trying to integrate that patch leads to some strange lines in the configure script… It complains:
/opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_lang_llvm-3.3/llvm-3.3/work/llvm-3.3.src/configure: line 1990: -pipe: command not found /opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_lang_llvm-3.3/llvm-3.3/work/llvm-3.3.src/configure: line 1991: -pipe: command not found
Cause there are these two lines (now):
${CFLAGS=} ${CXXFLAGS=}
because port has set/reports:
CFLAGS='-pipe -Os -arch ppc' CXXFLAGS='-pipe -Os -arch ppc'
Although—the file's date hasn't changed that much:
-rwxr-xr-x 1 macports admin 691312 20 Mai 2013 configure
Anyway, this can be cured. (By a patch, for example.)
comment:5 Changed 9 years ago by ballapete (Peter "Pete" Dyballa)
Next problem/error:
configure: error: found python 2.3.5 (/opt/local/bin/python); required >= 2.5
A cure exists here too: sudo port select python python25
. (Or python27
or python34
as port select --summary
reports.) But I have no idea how code that in Portfile… (and returning to the original setting)
comment:6 Changed 9 years ago by ballapete (Peter "Pete" Dyballa)
Replying to evilmoo@…:
Hopefully this won't reopen the status, but I did find this:
http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20140203/204233.html
The mentioned there addresses a file with at least 507 lines a void function system_temp_directory, which is pretty hard to find:
pete 239 /\ find /opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_lang_llvm-3.3/llvm-3.3/work -type f -name Path.cpp -ls 21893570 24 -rw-r--r-- 1 macports admin 8514 1 Dez 1 012
comment:7 follow-up: 10 Changed 9 years ago by ballapete (Peter "Pete" Dyballa)
The patched file llvm-3.3.src/lib/Support/PathV2.cpp
has been compiled successfully. So I can go to bed for now…
comment:8 follow-up: 12 Changed 9 years ago by jeremyhu (Jeremy Huddleston Sequoia)
If you attach the patch, you can reopen, and I'll merge your changes.
comment:9 follow-up: 13 Changed 9 years ago by jeremyhu (Jeremy Huddleston Sequoia)
However, is there a reason why 3.4 doesn't work for you? 3.3 is kept around just as a legacy alternative tor 3.4 for pre-C++11 needs. I'd prefer to deprecate it at some point if possible (likely whenever I deprecate 3.5 as well, since it has some issues with i386 codegen that won't be fixed).
comment:10 Changed 9 years ago by ballapete (Peter "Pete" Dyballa)
Replying to Peter_Dyballa@…:
The patched file
llvm-3.3.src/lib/Support/PathV2.cpp
has been compiled successfully. So I can go to bed for now…
Some hours ago llvm-3.3 was built.
Changed 9 years ago by ballapete (Peter "Pete" Dyballa)
Attachment: | tiger-configure.patch added |
---|
tiger-configure.patch
Changed 9 years ago by ballapete (Peter "Pete" Dyballa)
Attachment: | tiger-USER_XXX_DIRs.patch added |
---|
tiger-USER_XXX_DIRs.patch
Changed 9 years ago by ballapete (Peter "Pete" Dyballa)
Attachment: | tiger-Portfile.patch added |
---|
tiger-Portfile.patch
comment:11 Changed 9 years ago by ballapete (Peter "Pete" Dyballa)
Resolution: | wontfix |
---|---|
Status: | closed → reopened |
comment:12 Changed 9 years ago by ballapete (Peter "Pete" Dyballa)
Replying to jeremyhu@…:
If you attach the patch, you can reopen, and I'll merge your changes.
Done so. The patch for the Tiger version of Portfile is a bit crude since I don't understand so well the programming language. It needs some polishment.
comment:13 Changed 9 years ago by ballapete (Peter "Pete" Dyballa)
Replying to jeremyhu@…:
However, is there a reason why 3.4 doesn't work for you? 3.3 is kept around just as a legacy alternative tor 3.4 for pre-C++11 needs.
I can't see any. It's just that evilmoo found that old patch and I wanted to end this case.
comment:14 Changed 9 years ago by jeremyhu (Jeremy Huddleston Sequoia)
Owner: | changed from macports-tickets@… to jeremyhu@… |
---|---|
Status: | reopened → new |
comment:15 Changed 9 years ago by jeremyhu (Jeremy Huddleston Sequoia)
Status: | new → assigned |
---|
Changed 8 years ago by ballapete (Peter "Pete" Dyballa)
Attachment: | tiger-undefined-_CS_DARWIN_USER_-macros.patch added |
---|
Patch to over the in Tiger undefined _CS_DARWIN_USER_TEMP_DIR and _CS_DARWIN_USER_CACHE_DIR macros
comment:16 Changed 8 years ago by ballapete (Peter "Pete" Dyballa)
The values are taken from Leopard and patches applied to emacsclient.c in recent GNU Emacs releases.
comment:17 Changed 8 years ago by ballapete (Peter "Pete" Dyballa)
After 10 hours clang-3.3 @3.3_8+analyzer+python27 finally built and installed.
comment:18 Changed 8 years ago by jeremyhu (Jeremy Huddleston Sequoia)
FWIW, the only reason 3.3 is still in the tree at this point is for building webkit-gtk-2.0 on older platforms as it's pretty much the only compiler that builds that port.
I'll get that patch applied, thanks Peter.
comment:20 Changed 8 years ago by jeremyhu (Jeremy Huddleston Sequoia)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
main.log