Opened 12 years ago

Last modified 12 years ago

#36441 new defect

port splash: build failed

Reported by: wd11@… Owned by: danieljprice (Daniel Price)
Priority: Normal Milestone:
Component: ports Version: 2.1.2
Keywords: Cc:
Port: splash

Description

Error: org.macports.build for port splash returned: command execution failed

note:

> port installed hdf5-18
The following ports are currently installed:
  hdf5-18 @1.8.9_2+cxx+fortran+openmpi (active)
  hdf5-18 @1.8.9_2+cxx+fortran+openmpi+threadsafe

error (from build log):

:info:build /usr/bin/clang -arch x86_64 -I/opt/local/include -I/include -c ../src/read_data_gadget_hdf5_utils.c -o read_data_gadget_hdf5_utils.o
:info:build In file included from ../src/read_data_gadget_hdf5_utils.c:14:
:info:build In file included from /opt/local/include/hdf5.h:24:
:info:build /opt/local/include/H5public.h:61:13: fatal error: 'mpi.h' file not found
:info:build #   include <mpi.h>
:info:build             ^
:info:build 1 error generated.
:info:build make[1]: *** [read_data_gadget_hdf5_utils.o] Error 1

Attachments (1)

main.log (116.4 KB) - added by wd11@… 12 years ago.

Download all attachments as: .zip

Change History (5)

Changed 12 years ago by wd11@…

Attachment: main.log added

comment:1 Changed 12 years ago by wd11@…

I noticed that port hdf5-18 +openmpi +cxx is only EXPERIMENTAL. So I

sudo port install hdf5-18 +cxx +fortran +gcc45

and tried again

> sudo port install splash +hdf5 +gcc47 +giza +read_extraformat1
--->  Computing dependencies for splash
--->  Building splash
--->  Staging splash into destroot
--->  Installing splash @2.1.1_1+gcc47+giza+hdf5
--->  Activating splash @2.1.1_1+gcc47+giza+hdf5
--->  Cleaning splash
--->  Updating database of binaries: 100.0%
--->  Scanning binaries for linking errors: 100.0%
--->  No broken files found.

However, splash should build with hdf5-18+openmpi, it presumably needs some adjustment of the included paths.

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

Cc: daniel.price@… removed
Owner: changed from macports-tickets@… to daniel.price@…

comment:3 Changed 12 years ago by danieljprice (Daniel Price)

info:build /usr/bin/clang -arch x86_64 -I/opt/local/include -I/include -c ../src/read_data_gadget_hdf5_utils.c -o read_data_gadget_hdf5_utils.o
1179	:info:build In file included from ../src/read_data_gadget_hdf5_utils.c:14:
1180	:info:build In file included from /opt/local/include/hdf5.h:24:
1181	:info:build /opt/local/include/H5public.h:61:13: fatal error: 'mpi.h' file not found
1182	:info:build #   include <mpi.h>
1183	:info:build             ^
1184	:info:build 1 error generated.
1185	:info:build make[1]: *** [read_data_gadget_hdf5_utils.o] Error 1
1186	:info:build make[1]: Leaving directory 

doesn't look like this is a splash issue, seems that mpi.h is not being found in the include paths (presumably should be in /opt/local/include). The hdf5-18 Portfile, with +openmpi depends on port:openmpi, which presumably installs mpi.h to /opt/local/include. So I'm not sure what's going on here.

comment:4 Changed 12 years ago by danieljprice (Daniel Price)

Just an update here, I can reproduce this at my end, but am still not sure what to do about it. Looks like the relevant file (mpi.h) is located in

/opt/local/include/openmpi/mpi.h

so this path would need to be in the include paths for splash for this to work. But why should the splash build have to specifically add -I${prefix}/include/openmpi/ *just in case* you use the openmpi variant of HDF5?

Seems to me that the best solution would be for macports to put mpi.h into opt/local/include directly (or soft link it), rather than in an openmpi subdirectory.

Any suggestions?

Note: See TracTickets for help on using tickets.