Opened 6 years ago

Closed 5 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 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)

main.log (130.0 KB) - added by ballapete (Peter Dyballa) 6 years ago.
main.log
tiger-configure.patch (288 bytes) - added by ballapete (Peter Dyballa) 5 years ago.
tiger-configure.patch
tiger-USER_XXX_DIRs.patch (561 bytes) - added by ballapete (Peter Dyballa) 5 years ago.
tiger-USER_XXX_DIRs.patch
tiger-Portfile.patch (419 bytes) - added by ballapete (Peter Dyballa) 5 years ago.
tiger-Portfile.patch
tiger-undefined-_CS_DARWIN_USER_-macros.patch (622 bytes) - added by ballapete (Peter Dyballa) 5 years ago.
Patch to over the in Tiger undefined _CS_DARWIN_USER_TEMP_DIR and _CS_DARWIN_USER_CACHE_DIR macros

Download all attachments as: .zip

Change History (25)

Changed 6 years ago by ballapete (Peter Dyballa)

Attachment: main.log added

main.log

comment:1 Changed 6 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Resolution: wontfix
Status: newclosed

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 6 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 Changed 5 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 in reply to:  3 Changed 5 years ago by ballapete (Peter 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 5 years ago by ballapete (Peter 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 in reply to:  3 Changed 5 years ago by ballapete (Peter 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 Changed 5 years ago by ballapete (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…

comment:8 Changed 5 years ago by jeremyhu (Jeremy Huddleston Sequoia)

If you attach the patch, you can reopen, and I'll merge your changes.

comment:9 Changed 5 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 in reply to:  7 Changed 5 years ago by ballapete (Peter 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 5 years ago by ballapete (Peter Dyballa)

Attachment: tiger-configure.patch added

tiger-configure.patch

Changed 5 years ago by ballapete (Peter Dyballa)

Attachment: tiger-USER_XXX_DIRs.patch added

tiger-USER_XXX_DIRs.patch

Changed 5 years ago by ballapete (Peter Dyballa)

Attachment: tiger-Portfile.patch added

tiger-Portfile.patch

comment:11 Changed 5 years ago by ballapete (Peter Dyballa)

Resolution: wontfix
Status: closedreopened

comment:12 in reply to:  8 Changed 5 years ago by ballapete (Peter 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 in reply to:  9 Changed 5 years ago by ballapete (Peter 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 5 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Owner: changed from macports-tickets@… to jeremyhu@…
Status: reopenednew

comment:15 Changed 5 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Status: newassigned

Changed 5 years ago by ballapete (Peter Dyballa)

Patch to over the in Tiger undefined _CS_DARWIN_USER_TEMP_DIR and _CS_DARWIN_USER_CACHE_DIR macros

comment:16 Changed 5 years ago by ballapete (Peter Dyballa)

The values are taken from Leopard and patches applied to emacsclient.c in recent GNU Emacs releases.

comment:17 Changed 5 years ago by ballapete (Peter Dyballa)

After 10 hours clang-3.3 @3.3_8+analyzer+python27 finally built and installed.

comment:18 Changed 5 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:19 Changed 5 years ago by jeremyhu (Jeremy Huddleston Sequoia)

comment:20 Changed 5 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.