Opened 13 years ago

Closed 13 years ago

Last modified 13 years ago

#30748 closed defect (invalid)

atlas @3.9.47 build failure (can't find stdint.h)

Reported by: matt_langston@… Owned by: jameskyle@…
Priority: Normal Milestone:
Component: ports Version: 2.0.1
Keywords: Cc:
Port: atlas

Description

Build failure on Mac OS X 10.6.8 because /opt/local/bin/gcc-mp-4.4 can't find stdint.h. Full build log attached. Relevent section of build log included below.

:info:build make[7]: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_math_atlas/atlas/work/atlas-3.9.47/build/src/blas/gemm/KERNEL'
:info:build /opt/local/bin/gcc-mp-4.4 -DL2SIZE=4194304 -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_math_atlas/atlas/work/atlas-3.9.47/build/include -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_math_atlas/atlas/work/atlas-3.9.47/build/..//include -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_math_atlas/atlas/work/atlas-3.9.47/build/..//include/contrib -DAdd_ -DF77_INTEGER=int -DStringSunStyle -DATL_OS_OSX -DATL_ARCH_Core2 -DATL_CPUMHZ=2800 -DATL_SSE3 -DATL_SSE2 -DATL_SSE1 -DATL_USE64BITS -DATL_GAS_x8664 -DPentiumCPS=2800 -DATL_FULL_LAPACK -DATL_NCPU=2 -DATL_UCLEANM -DATL_UCLEANN -DATL_UCLEANK -fomit-frame-pointer -mfpmath=sse -msse3 -O2 -fPIC -m64 -c ATL_sNBmm_b0.c
:info:build ATL_sNBmm_b0.c:54:20: error: stdint.h: No such file or directory

Attachments (1)

main.log (63.3 KB) - added by matt_langston@… 13 years ago.

Download all attachments as: .zip

Change History (13)

Changed 13 years ago by matt_langston@…

Attachment: main.log added

comment:1 Changed 13 years ago by Veence (Vincent)

Can you try again with the +gcc45 option and tell me if this error shows up again? Thanks

comment:2 Changed 13 years ago by jmroot (Joshua Root)

Keywords: stdint.h removed
Owner: changed from macports-tickets@… to jameskyle@…

Please remember to cc the maintainer.

comment:3 Changed 13 years ago by jmroot (Joshua Root)

Just to check, you do have /usr/include/stdint.h right?

comment:4 in reply to:  1 Changed 13 years ago by matt_langston@…

Replying to vince@…:

Can you try again with the +gcc45 option and tell me if this error shows up again? Thanks

I tried "sudo port install atlas +gcc45", but there was a build failure when installing gcc45 (i.e. I never even got to compiling atlas).

comment:5 in reply to:  3 Changed 13 years ago by matt_langston@…

Replying to jmr@…:

Just to check, you do have /usr/include/stdint.h right?

There is no /usr/include/stdint.h, but there is /opt/local/include/gcc44/c++/tr1/stdint.h:

$ find /opt/ -type f -name "stdint.h"
/opt//local/include/gcc44/c++/tr1/stdint.h

comment:6 Changed 13 years ago by Veence (Vincent)

Then Joshua was right. Something is broken in your installation. You should get this:

-> ls /usr/include/std*
/usr/include/stdbool.h	/usr/include/stdint.h	/usr/include/stdlib.h
/usr/include/stddef.h	/usr/include/stdio.h

comment:7 in reply to:  6 Changed 13 years ago by matt_langston@…

I have stdint.h installed and it works fine for me. This simple test produces no errors:

$ cat test.c
#include <stdint.h>

int main(int atgc, char** argv) {
  return 0;
}
$ gcc test.c

I don't think stdint.h should be installed in /usr/local because it is an implementation detail of the compiler one is using (i.e. it is part of the C99 standard library).

I have multiple version of stdint.h installed on my system for various MacOSX and iOS SDKs that I use.

$ mdfind -name stdint.h | wc -l
     146

comment:8 Changed 13 years ago by Veence (Vincent)

What about:

gcc-mp-4.4 test.c

?

comment:9 in reply to:  8 Changed 13 years ago by matt_langston@…

I get the same error as atlas:

$ gcc-mp-4.4 test.c
test.c:1:20: error: stdint.h: No such file or directory

$ gcc-mp-4.4 -std=c99 test.c
test.c:1:20: error: stdint.h: No such file or directory

It looks like the gcc44 port is to blame? The system provided gcc (i.e. /usr/bin/gcc) works fine:

$ /usr/bin/gcc test.c
$ echo $?
0

comment:10 Changed 13 years ago by Veence (Vincent)

Resolution: invalid
Status: newclosed

Something is definitely rotten in your kingdom :) I cannot help you for gcc44, no more than I can explain why you lack stdint.h in /usr/include. Furthermore, I do not understand why you cannot compile gcc45, that seems to build flawlessly elsewhere. Try to ask directly on the Macports user list? Since this seems not directly linked to Atlas as such, I close the bug, but don’t forget to ask.

comment:11 Changed 13 years ago by skymoo (Adam Mercer)

If /usr/include/stdint.h is missing then I imagine that Xcode isn't installed correctly.

comment:12 Changed 13 years ago by carmi.grushko@…

After installing Xcode, MacOsX 10.6 has its stdint.h in /Developer/usr/include/gcc/darwin/4.2/ You can either copy it to /usr/include/ (ugly) or somehow point MacPorts to this directory. I copied it; it successfully build, though I don't know if it's working.

Anyway - I believe this issue should be further investigated, because it happens for more than one user...

Note: See TracTickets for help on using tickets.