Opened 11 years ago
Closed 9 years ago
#40713 closed defect (wontfix)
llvm-gcc42: libgomp.spec: No such file or directory
Reported by: | simon4nine@… | Owned by: | jeremyhu (Jeremy Huddleston Sequoia) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.2.0 |
Keywords: | Cc: | simon4nine@…, eliuhe@…, skymoo (Adam Mercer), larryv (Lawrence Velázquez) | |
Port: | llvm-gcc42 |
Description
Hi,
I am trying to install lscsoft-deps using
sudo port install lscsoft-deps
and it seems to fail when trying to install py27-healpy. The full output is:
---> Computing dependencies for lscsoft-deps ---> Dependencies to be installed: py27-healpy py27-m2crypto py27-matplotlib-basemap geos py27-dap py27-httplib2 py27-pyrxp py27-pyxmpp py27-dnspython py27-libxml2 ---> Building py27-healpy Error: org.macports.build for port py27-healpy returned: command execution failed Error: Failed to install py27-healpy Please see the log file for port py27-healpy for details: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_python_py-healpy/py27-healpy/main.log Error: The following dependencies were not installed: py27-healpy py27-m2crypto py27-matplotlib-basemap geos py27-dap py27-httplib2 py27-pyrxp py27-pyxmpp py27-dnspython py27-libxml2 To report a bug, follow the instructions in the guide: http://guide.macports.org/#project.tickets
Please let me know if there is any more information I should provide. I have also attached the .log file as that may be useful.
Thanks in advance! Simon
Attachments (1)
Change History (18)
Changed 11 years ago by simon4nine@…
comment:1 follow-up: 2 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | simon4nine@… removed |
---|---|
Keywords: | py27-healpy healpy lscsoft-deps removed |
Owner: | changed from macports-tickets@… to aronnax@… |
Port: | py27-healpy added; lscsoft-deps removed |
Summary: | [lscsoft-deps][Failed to install py27-healpy] → py27-healpy: libgomp.spec: No such file or directory |
Please clean and try again.
comment:2 Changed 11 years ago by simon4nine@…
Replying to ryandesign@…:
Please clean and try again.
I have tried cleaning and trying again to no avail.
comment:3 Changed 11 years ago by lpsinger (Leo Singer)
Owner: | changed from aronnax@… to erickt@… |
---|---|
Port: | llvm-gcc42 added; py27-healpy removed |
Summary: | py27-healpy: libgomp.spec: No such file or directory → llvm-gcc42: libgomp.spec: No such file or directory |
This is a bug in llvm-gcc42, for which OpenMP support is now broken. Consider the following test program:
/* test.c */ int main(int argc, char **argv) { int i; #pragma omp parallel for for (i = 0; i < 100; i ++) ; return 0; }
This fails to build with the following error message:
$ llvm-gcc-4.2 -fopenmp test.c i686-apple-darwin12-llvm-gcc-4.2: libgomp.spec: No such file or directory
comment:4 follow-up: 5 Changed 11 years ago by lpsinger (Leo Singer)
I'm trying to have py27-healpy
blacklist macports-llvm-gcc-4.2
as a temporary workaround, but the following does not work:
compiler.blacklist *clang* macports-llvm-gcc-4.2
Why not?
comment:5 follow-up: 7 Changed 11 years ago by cooljeanius (Eric Gallager)
Replying to aronnax@…:
I'm trying to have
py27-healpy
blacklistmacports-llvm-gcc-4.2
as a temporary workaround, but the following does not work:compiler.blacklist *clang* macports-llvm-gcc-4.2Why not?
Try doing
compiler.blacklist *clang* *llvm-gcc-4.2
instead.
If that still fails, you can try specifying a good compiler with compiler.fallback-append
.
comment:7 Changed 11 years ago by lpsinger (Leo Singer)
Replying to egall@…:
Replying to aronnax@…:
I'm trying to have
py27-healpy
blacklistmacports-llvm-gcc-4.2
as a temporary workaround, but the following does not work:compiler.blacklist *clang* macports-llvm-gcc-4.2Why not?
Try doing
compiler.blacklist *clang* *llvm-gcc-4.2instead. If that still fails, you can try specifying a good compiler with
compiler.fallback-append
.
But Apple's llvm-gcc is not a problem. I only want to blacklist the Macports llvm-gcc.
comment:8 Changed 11 years ago by lpsinger (Leo Singer)
I'm no expert in the directory structure of GCC, but the directory /opt/local/lib/gcc45 provided by port gcc45 contains many files, including:
$ ls /opt/local/lib/gcc45/*.spec /opt/local/lib/gcc45/libgcj.spec /opt/local/lib/gcc45/libgomp.spec
The directory /opt/local/lib/gcc47 is populated in a similar way. However, the directory /opt/local/lib/llvm-gcc42 is almost empty:
$ ls /opt/local/lib/llvm-gcc42/ gcc
Why is that?
comment:9 follow-up: 14 Changed 11 years ago by lpsinger (Leo Singer)
I notice that gcc45 and relatives have a section like the following in their post-destroot
phase, that create symlinks to files provided by libgcc:
foreach dylib {libgcc_ext.10.4.dylib libgcc_ext.10.5.dylib libgcc_s.1.dylib libgfortran.3.dylib libstdc++.6.dylib libobjc-gnu.2.dylib libgomp.1.dylib libssp.0.dylib} { # Different OS versions (eg: Leopard) or architectures (eg: PPC) don't produce all the dylibs # https://trac.macports.org/ticket/40098 # https://trac.macports.org/ticket/40100 if {[file exists ${destroot}${prefix}/lib/${name}/${dylib}]} { delete ${destroot}${prefix}/lib/${name}/${dylib} ln -s ${prefix}/lib/libgcc/${dylib} ${destroot}${prefix}/lib/${name}/${dylib} } if {[variant_isset universal]} { foreach archdir [glob ${destroot}${prefix}/lib/${name}/*/] { if {[file exists ${archdir}/${dylib}]} { delete ${archdir}/${dylib} ln -s ${prefix}/lib/libgcc/${dylib} ${archdir}/${dylib} } } } }
This is what is lacking in llvm-gcc42.
comment:10 Changed 11 years ago by skymoo (Adam Mercer)
Cc: | eliuhe@… ram@… added |
---|
comment:11 Changed 11 years ago by eliuhe@…
Dear macport experts:
Who is in charge of pushing patches to fix this problem? What will be the expected timeline to get access to a de-bugged version of lscsoft-deps?
Thanks.
comment:12 follow-up: 13 Changed 11 years ago by lpsinger (Leo Singer)
For py-healpy, I implemented the temporary workaround of blacklisting *-gcc-4.2. See r112423.
comment:13 Changed 11 years ago by eliuhe@…
comment:14 Changed 11 years ago by lpsinger (Leo Singer)
Replying to aronnax@…:
I notice that gcc45 and relatives have a section like the following in their
post-destroot
phase, that create symlinks to files provided by libgcc:...This is what is lacking in llvm-gcc42.
Adding this section, verbatim, to the llvm-gcc42 port didn't do anything.
Building with port -vks install llvm-gcc42
, I see that the the OpenMP-related files are getting built:
ls /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_llvm-gcc42/llvm-gcc42/work/objroot/dst-x86_64-i686/opt/local/i686-apple-darwin12/lib/ libgomp.1.0.0.dylib libgomp.a libgomp.la libiberty.a libgomp.1.dylib libgomp.dylib libgomp.spec x86_64
But these files are not copied into the destroot. What next?
comment:15 Changed 10 years ago by mf2k (Frank Schima)
Owner: | changed from erickt@… to jeremyhu@… |
---|
Assigning to current maintainer. See #44735.
comment:17 Changed 9 years ago by jeremyhu (Jeremy Huddleston Sequoia)
Resolution: | → wontfix |
---|---|
Status: | new → closed |
This port needs to be retired at some point. We shouldn't have a need for this old compiler any more.
wontfix.
Log file