Opened 3 years ago

Last modified 8 months ago

#61842 new defect

opendx @4.4.4_10: y.tab.c:1107:16: error: implicit declaration of function '_dxfcclex' is invalid in C99 [-Werror,-Wimplicit-function-declaration]

Reported by: abitees Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.6.4
Keywords: catalina bigsur Cc:
Port: opendx

Description

After upgrading Mac OSX from Catalina to Big Sur and reinstalling MacPorts using "MacPorts-2.6.4_1-11-BigSur.pkg", installation of opendx fails.

--->  Computing dependencies for opendx
--->  Fetching archive for opendx
--->  Attempting to fetch opendx-4.4.4_10+java.darwin_20.x86_64.tbz2 from https://kmq.jp.packages.macports.org/opendx
--->  Attempting to fetch opendx-4.4.4_10+java.darwin_20.x86_64.tbz2 from http://jog.id.packages.macports.org/macports/packages/opendx
--->  Attempting to fetch opendx-4.4.4_10+java.darwin_20.x86_64.tbz2 from https://ywg.ca.packages.macports.org/mirror/macports/packages/opendx
--->  Fetching distfiles for opendx
--->  Verifying checksums for opendx
--->  Extracting opendx
--->  Applying patches to opendx
--->  Configuring opendx
--->  Building opendx
Error: Failed to build opendx: command execution failed
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_opendx/opendx/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets to report a bug.
Error: Processing of port opendx failed

Attachments (1)

main.log (652.9 KB) - added by abitees 3 years ago.

Download all attachments as: .zip

Change History (10)

Changed 3 years ago by abitees

Attachment: main.log added

comment:1 Changed 3 years ago by mf2k (Frank Schima)

Keywords: Big Sur removed
Port: opendx-samples removed

comment:2 Changed 3 years ago by mf2k (Frank Schima)

Summary: opendx @4.4.4_10: Build failure with "Error: command execution failed"opendx @4.4.4_10: y.tab.c:1107:16: error: implicit declaration of function '_dxfcclex' is invalid in C99 [-Werror,-Wimplicit-function-declaration]

First error appears to be:

y.tab.c:1107:16: error: implicit declaration of function '_dxfcclex' is invalid in C99 [-Werror,-Wimplicit-function-declaration]

comment:3 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)

Keywords: catalina bigsur added

comment:4 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)

In 6cad1fe2afeeda871af1c96b362b85d0384b27fd/macports-ports (master):

opendx: Fix an implicit declaration of function

See: #61842

comment:5 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)

That fixes the first error, but there are more:

y.tab.c:1107:16: error: implicit declaration of function '_dxfcclex' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
./_compparse.y:432:47: error: implicit declaration of function '_dxfcclexerror' is invalid in C99 [-Werror,-Wimplicit-function-declaration]

These are more complicated because they occur in files that were generated by bison so I'm not sure where the problem is supposed to be fixed. It's the same problem we had in another port (#61032) and the fix employed there (turning the error back into a warning) is not what we want to do. We should find the correct way to fix it (the correct place to include the right header) and apply that fix both here and in that other port.

comment:6 Changed 3 years ago by Schamschula (Marius Schamschula)

opendx has not been maintained upstream for a number of years.

comment:7 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)

But #61032 was about udunits2 and they are still being maintained. Their bug report about this issue is https://github.com/Unidata/UDUNITS-2/issues/97. If they work out the right solution, we can apply the same solution here to opendx.

comment:8 Changed 3 years ago by bernstei

It's a terrible hack, but you can get opendx to build with the following additional patch file. It just forces the compiler to stop complaining about implicitly defined functions everyplace they happen to occur.

--- src/exec/dxmods/Makefile.am.orig	2021-07-30 13:29:31.000000000 -0400
+++ src/exec/dxmods/Makefile.am	2021-07-30 13:29:31.000000000 -0400
@@ -111,4 +111,6 @@
 	$(SOURCES6) \
 	$(SOURCES7)
 
+AM_CFLAGS = -Wno-error=implicit-function-declaration
+
 @LOCALMAKE@
--- src/uipp/dxuilib/Makefile.am.orig	2021-07-30 13:29:31.000000000 -0400
+++ src/uipp/dxuilib/Makefile.am	2021-07-30 13:29:31.000000000 -0400
@@ -426,4 +426,6 @@
 
 libDXUI_a_SOURCES = $(SRCS1) $(SRCS2) $(SRCS3) $(SRCS4) $(SRCS5)
 
+AM_CFLAGS = -Wno-error=implicit-function-declaration
+
 @LOCALMAKE@
--- src/uipp/widgets/Makefile.am.orig	2021-07-30 13:29:31.000000000 -0400
+++ src/uipp/widgets/Makefile.am	2021-07-30 13:29:31.000000000 -0400
@@ -84,3 +84,5 @@
 	stepb.bm			\
 	stepf.bm			\
 	stop.bm
+
+AM_CFLAGS = -Wno-error=implicit-function-declaration
--- src/exec/dpexec/Makefile.am.orig	2021-07-30 13:29:31.000000000 -0400
+++ src/exec/dpexec/Makefile.am	2021-07-30 13:29:31.000000000 -0400
@@ -39,6 +39,8 @@
 
 DISTCLEANFILES = compile.h
 
+AM_CFLAGS = -Wno-error=implicit-function-declaration
+
 @LOCALMAKE@
 
 command.o : compile.h

comment:9 Changed 8 months ago by bernstei

To revive this ancient ticket, the problem is still there, but there's an easier solution. Just add "configure.cflags-append -Wno-error=implicit-function-declaration" to "/opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/science/opendx/Portfile"

P.S. I know opendx has died upstream, but we still use it and are very happy that macports supports it.

Note: See TracTickets for help on using tickets.