Opened 11 years ago

Closed 8 years ago

#39849 closed defect (fixed)

Tiger: llvm-3.3 fails to build: stat64 and error: '_CS_DARWIN_USER_TEMP_DIR' was not declared in this scope

Reported by: ryandesign (Ryan Carsten Schmidt) Owned by: jeremyhu (Jeremy Huddleston Sequoia)
Priority: Normal Milestone:
Component: ports Version: 2.2.0
Keywords: tiger Cc: cooljeanius (Eric Gallager), ballapete (Peter "Pete" Dyballa)
Port: llvm-3.3

Description

llvm-3.3 doesn't build on Tiger PPC.

Attachments (1)

llvm-3.3-powerpc-tiger-main.log (139.2 KB) - added by ryandesign (Ryan Carsten Schmidt) 11 years ago.

Download all attachments as: .zip

Change History (15)

Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

comment:1 Changed 11 years ago by ccarey@…

Neither _CS_DARWIN_USER_TEMP_DIR nor _CS_DARWIN_USER_CACHE_DIR are defined in <unistd.h> in PPC Tiger. The simplest fix might be to change line 499 of lib/Support/PathV2.cpp from

#ifdef __APPLE__

to

#if defined(__APPLE__) && defined(_CS_DARWIN_USER_TEMP_DIR) && defined(_CS_DARWIN_USER_CACHE_DIR)

That change should allow PPC Tiger to use the non-Apple fallbacks in lines 520 through 544.

Last edited 11 years ago by ccarey@… (previous) (diff)

comment:2 Changed 11 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Even after fixing this, you'll run into #39761

I'll tackle this after moving the build over to cmake...

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

Cc: egall@… added

Cc Me!

comment:4 in reply to:  2 Changed 11 years ago by ccarey@…

Replying to jeremyhu@…:

Even after fixing this, you'll run into #39761

After fixing this locally (and with #39761 now fixed generally), the next error to appear in PPC Tiger is due to clang’s common Sanitizer code presuming that struct stat64 is available on all platforms in projects/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cc. The AddressSanitizer is documented in sanitizer_mac.cc in the same directory as not supporting Leopard due to its lack of 64-bit inodes, so it will also not support Tiger. Whether ThreadSanitizer would support Tiger if the 32-bit stat()-family of calls were to be used there remains to be discovered.

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

Summary: llvm-3.3: error: '_CS_DARWIN_USER_TEMP_DIR' was not declared in this scopeTiger: llvm-3.3 fails to build: stat64 and error: '_CS_DARWIN_USER_TEMP_DIR' was not declared in this scope

comment:7 Changed 11 years ago by jeremyhu (Jeremy Huddleston Sequoia)

If you have a patch, I'll take it, but if not, I'll be closing this as wontfix in the near future.

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

Resolution: wontfix
Status: newclosed

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

Resolution: wontfix
Status: closedreopened

I want to obsolete llvm-3.2, so I'll need to work around this. Reopening.

comment:10 Changed 9 years ago by jeremyhu (Jeremy Huddleston Sequoia)

llvm-3.4 should be fixed with r131782.

Leaving open to do llvm-3.3.

comment:11 Changed 9 years ago by ballapete (Peter "Pete" Dyballa)

Cc: Peter_Dyballa@… added

Cc Me!

comment:12 in reply to:  10 Changed 9 years ago by ballapete (Peter "Pete" Dyballa)

Replying to jeremyhu@…:

llvm-3.4 should be fixed with r131782.

On PPC Tiger I have now a new failure:

if  /opt/local/bin/g++-apple-4.2 -I/opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_lang_llvm-3.4/llvm-3.4/work/llvm-3.4.2.src/include -I/opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_lang_llvm-3.4/llvm-3.4/work/llvm-3.4.2.src/lib/Support  -D_DEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Os  -g -fvisibility-inlines-hidden -fno-exceptions -fno-common -Woverloaded-virtual -Wcast-qual -pipe -Os -arch ppc -I/opt/local/include -mmacosx-version-min=10.4 -Wall -W -Wno-unused-parameter -Wwrite-strings -Wno-missing-field-initializers -c -MMD -MP -MF "/opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_lang_llvm-3.4/llvm-3.4/work/llvm-3.4.2.src/lib/Support/Release+Debug+Asserts/Signals.d.tmp" -MT "/opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_lang_llvm-3.4/llvm-3.4/work/llvm-3.4.2.src/lib/Support/Release+Debug+Asserts/Signals.o" -MT "/opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_lang_llvm-3.4/llvm-3.4/work/llvm-3.4.2.src/lib/Support/Release+Debug+Asserts/Signals.d" Signals.cpp -o /opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_lang_llvm-3.4/llvm-3.4/work/llvm-3.4.2.src/lib/Support/Release+Debug+Asserts/Signals.o ; \
        then /bin/mv -f "/opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_lang_llvm-3.4/llvm-3.4/work/llvm-3.4.2.src/lib/Support/Release+Debug+Asserts/Signals.d.tmp" "/opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_lang_llvm-3.4/llvm-3.4/work/llvm-3.4.2.src/lib/Support/Release+Debug+Asserts/Signals.d"; else /bin/rm "/opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_lang_llvm-3.4/llvm-3.4/work/llvm-3.4.2.src/lib/Support/Release+Debug+Asserts/Signals.d.tmp"; exit 1; fi
In file included from Signals.cpp:30:
Unix/Signals.inc: In function 'void llvm::sys::PrintStackTraceOnErrorSignal()':
Unix/Signals.inc:341: error: 'EXC_MASK_CRASH' was not declared in this scope
Unix/Signals.inc:346: error: 'MACH_EXCEPTION_CODES' was not declared in this scope

These macros don't seem to be declared anywhere.

comment:13 Changed 9 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Please file new tickets for new failures in the future.

comment:14 Changed 9 years ago by jeremyhu (Jeremy Huddleston Sequoia)

r131792 for that one, but in the future, please do file new tickets.

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

Resolution: fixed
Status: reopenedclosed

From discussion I recall from other tickets, I believe this was fixed.

Note: See TracTickets for help on using tickets.