Opened 8 weeks ago
Closed 6 weeks ago
#70874 closed defect (fixed)
icmake @9.03.01: Does not install /opt/local/libexec/icmake/icm-exec
Reported by: | barracuda156 | Owned by: | larryv (Lawrence Velázquez) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.10.1 |
Keywords: | haspatch | Cc: | |
Port: | icmake |
Description
---> Extracting yodl_3.05.01.orig.tar.gz Executing: cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_textproc_yodl/yodl/work" && /usr/bin/gzip -dc '/opt/local/var/macports/distfiles/yodl/yodl_3.05.01.orig.tar.gz' | /usr/bin/gnutar --no-same-owner -xf - ---> Applying patches to yodl ---> Applying avoid-c++11.patch Executing: cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_textproc_yodl/yodl/work/yodl-3.05.01" && /usr/bin/patch -t -N -p0 < '/opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/textproc/yodl/files/avoid-c++11.patch' patching file src/verbinsert/verbinsert.cc patching file icmake/program ---> Applying use-macports-compilers.patch Executing: cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_textproc_yodl/yodl/work/yodl-3.05.01" && /usr/bin/patch -t -N -p0 < '/opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/textproc/yodl/files/use-macports-compilers.patch' patching file INSTALL.im patching file build patching file icmake/program ---> Applying use-macports-locations.patch Executing: cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_textproc_yodl/yodl/work/yodl-3.05.01" && /usr/bin/patch -t -N -p0 < '/opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/textproc/yodl/files/use-macports-locations.patch' patching file INSTALL.im patching file build ---> Patching INSTALL.im: s|__MP_CC__|/usr/bin/gcc-4.2| ---> Patching INSTALL.im: s|__MP_CXX__|/usr/bin/g++-4.2| ---> Patching INSTALL.im: s|__MP_PREFIX__|/opt/local| ---> Patching build: s|__MP_PREFIX__|/opt/local| ---> Configuring yodl ---> Building yodl [icmake/md, line 15] Warning: `sizeof' is deprecated. Use `listlen' [icmake/stdcpp, line 7] Warning: `sizeof' is deprecated. Use `listlen' [icmake/stdcpp, line 31] Warning: `sizeof' is deprecated. Use `listlen' [icmake/stdcpp, line 55] Warning: `sizeof' is deprecated. Use `listlen' [icmake/stdcpp, line 78] Warning: `sizeof' is deprecated. Use `listlen' [icmake/compilerss, line 8] Warning: `sizeof' is deprecated. Use `listlen' [icmake/builtins, line 34] Warning: `sizeof' is deprecated. Use `listlen' [icmake/builtins, line 66] Warning: `sizeof' is deprecated. Use `listlen' [icmake/buildmacros, line 27] Warning: `sizeof' is deprecated. Use `listlen' [icmake/buildmacros, line 52] Warning: `sizeof' is deprecated. Use `listlen' [icmake/manualmacrolist, line 16] Warning: `sizeof' is deprecated. Use `listlen' [icmake/install, line 8] Warning: `sizeof' is deprecated. Use `listlen' [icmake/install, line 22] Warning: `sizeof' is deprecated. Use `listlen' Fatal: Can't exec /opt/local/libexec/icmake/icm-exec: no such file Command failed: env CFLAGS='-Os -arch ppc' CXXFLAGS='-Os -arch ppc' LDFLAGS='-L/opt/local/lib -Wl,-headerpad_max_install_names -arch ppc' LC_ALL=C ./build programs Exit code: 1 Error: Failed to build yodl: command execution failed
Attachments (1)
Change History (11)
comment:1 follow-up: 2 Changed 7 weeks ago by ryandesign (Ryan Carsten Schmidt)
comment:2 Changed 7 weeks ago by barracuda156
Replying to ryandesign:
According to https://ports.macports.org/search/?installed_file=%2Fopt%2Flocal%2Flibexec%2Ficmake%2Ficm-exec&q= the file /opt/local/libexec/icmake/icm-exec is provided by the icmake port upon which the yodl port does depend. Can you confirm whether the icmake port is installed on your system and if so whether it contains this file?
Looks like it does not have it for some reason:
36-25% port installed icmake porThe following ports are currently installed: icmake @9.03.01_0 (active) 36-25% port contents icmake Port icmake @9.03.01_0 contains: /opt/local/bin/icmake /opt/local/bin/icmbuild /opt/local/bin/icmstart /opt/local/etc/icmake/icmstart.rc /opt/local/libexec/icmake/icm-comp /opt/local/libexec/icmake/icm-dep /opt/local/libexec/icmake/icm-pp /opt/local/libexec/icmake/icmbuild /opt/local/libexec/icmake/icmun /opt/local/share/doc/icmake/changelog.gz /opt/local/share/doc/icmake/examples/7.00/backtick.im /opt/local/share/doc/icmake/examples/7.00/define.im /opt/local/share/doc/icmake/examples/7.00/getenv.im /opt/local/share/doc/icmake/examples/7.00/ifdef.im /opt/local/share/doc/icmake/examples/7.00/index.im /opt/local/share/doc/icmake/examples/7.00/strfind.im /opt/local/share/doc/icmake/examples/7.00/strlwr.im /opt/local/share/doc/icmake/examples/7.00/substr.im /opt/local/share/doc/icmake/examples/8.00/strformat.im /opt/local/share/doc/icmake/examples/am /opt/local/share/doc/icmake/examples/bup /opt/local/share/doc/icmake/examples/defines /opt/local/share/doc/icmake/examples/ds /opt/local/share/doc/icmake/examples/ftpxfer /opt/local/share/doc/icmake/examples/idir /opt/local/share/doc/icmake/examples/initialization /opt/local/share/doc/icmake/examples/keep /opt/local/share/doc/icmake/examples/killprog /opt/local/share/doc/icmake/examples/nesteddirectives /opt/local/share/doc/icmake/examples/r /opt/local/share/doc/icmake/examples/tolower /opt/local/share/doc/icmake/icmake.ps.gz /opt/local/share/icmake/CLASSES /opt/local/share/icmake/frame /opt/local/share/icmake/icmconf /opt/local/share/icmake/main.cc /opt/local/share/icmake/main.ih /opt/local/share/icmake/parser/grammar /opt/local/share/icmake/scanner/lexer /opt/local/share/icmake/scanner/scanner.ih /opt/local/share/icmake/usage.cc /opt/local/share/icmake/version.cc /opt/local/share/man/man1/icmake.1.gz /opt/local/share/man/man1/icmbuild.1.gz /opt/local/share/man/man1/icmstart.1.gz /opt/local/share/man/man7/icmconf.7.gz /opt/local/share/man/man7/icmstart.rc.7.gz
comment:3 Changed 7 weeks ago by barracuda156
I also tried to rebuild icmake
just to make sure, and no such file is built.
This is what gets into /opt/local/libexec/icmake
:
icm-comp icm-dep icm-pp icmbuild icmun
Of course, I used standard portfile of it, not an overlay:
36-25% port file icmake /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/devel/icmake/Portfile
comment:4 Changed 7 weeks ago by ryandesign (Ryan Carsten Schmidt)
Keywords: | powerpc added |
---|---|
Port: | icmake added; yodl removed |
Summary: | yodl fails to build: Fatal: Can't exec /opt/local/libexec/icmake/icm-exec: no such file → icmake @9.03.01: Does not install /opt/local/libexec/icmake/icm-exec |
Could you run sudo port destroot icmake
and then attach the file port logfile icmake
?
comment:5 follow-ups: 6 7 Changed 7 weeks ago by ryandesign (Ryan Carsten Schmidt)
I see the log contains two attempts to build icmake. In the first attempt from June, this error occurred several times during the build phase:
error: ‘for’ loop initial declaration used outside C99 mode
presumably in the source code files that make up icmake and icmbuild but the build system has a defect where it does not exit when an error occurs. It proceeded on to the destroot phase which failed with these errors:
cp: tmp//opt/local/bin/icmake: No such file or directory cp: tmp//opt/local/bin/icmbuild: No such file or directory
You already fixed the C99 mode problem but the build system defect remains.
In the second attempt from September, this error occurred several times during the build phase:
error: ‘Variable’ has no member named ‘data’
presumably in the source code files that make up icm-exec. The destroot phase did not fail because the icm_install
file only tries to install icm-exec if it exists.
Maybe there is a way to fix the code so that gcc-4.2 can compile it, or maybe the old compiler needs to be blacklisted.
First, we should try updating the port; maybe these issues are already fixed. If not, they should be reported to the developer.
comment:6 Changed 7 weeks ago by ryandesign (Ryan Carsten Schmidt)
Replying to ryandesign:
the build system has a defect where it does not exit when an error occurs
This may already be fixed in 10.00.00 which uses "|| exit 1" to exit if an error occurs which was missing in 9.03.01.
comment:7 Changed 7 weeks ago by ryandesign (Ryan Carsten Schmidt)
Replying to ryandesign:
error: ‘Variable’ has no member named ‘data’
Preceding this, the log contains:
../../rss/types.ih:243: warning: declaration does not declare anything ../../rss/types.ih:249: warning: declaration does not declare anything ../../rss/types.ih:259: warning: declaration does not declare anything
and these line numbers correspond to the ends of three anonymous unions, the third of which is one that defines the data
member in the Variable
struct.
According to https://mingw-users.narkive.com/kWqZRpk4/declaration-does-not-declare-anything and https://stackoverflow.com/questions/3228104/anonymous-union-within-struct-not-in-c99 such anonymous unions are an extension, not part of the C standard.
These warnings and this error were not seen in your June build attempt because gcc 4.2 defaults to gnu89
mode (C89 with GNU extensions, presumably including support for anonymous unions). Then, after you set the compiler to c99
mode (C99 without GNU extensions), this problem appeared. The fix would be to use gnu99
mode (C99 with GNU extensions).
comment:8 Changed 7 weeks ago by ryandesign (Ryan Carsten Schmidt)
Keywords: | haspatch added; powerpc removed |
---|
comment:9 Changed 6 weeks ago by ryandesign (Ryan Carsten Schmidt)
comment:10 Changed 6 weeks ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
According to https://ports.macports.org/search/?installed_file=%2Fopt%2Flocal%2Flibexec%2Ficmake%2Ficm-exec&q= the file /opt/local/libexec/icmake/icm-exec is provided by the icmake port upon which the yodl port does depend. Can you confirm whether the icmake port is installed on your system and if so whether it contains this file?