I suspect the question is why is it getting the max() macro. is it
getting from sys/param.h? Does some code have an #ifdef which pulls
sys/param.h on some platforms or not others?
If this is from sys/param.h, I would suggest finding out why and
stopping that practice. I think all systems still have it in sys/param.h
which is why I suspect someone has an #ifdef to get at something else
in the file, and therefore causing this problem
Charlene Wendling <julianaito@posteo.jp> wrote:
>
>
> > http://build-failures.rhaalovely.net/sparc64/2019-08-21/x11/kde4/krfb.log
> > http://build-failures.rhaalovely.net/powerpc/2019-08-09/x11/kde4/krfb.log
>
> We've 3 issues here:
>
> - a typical max() macro clash in the bundled libvncviewer. I did it the
> harsh way, upstream has a different fix, but it has a bigger footprint
> on the codebase [0]
> - there was an occurrence where FALSE and TRUE were undefined, so i
> redefined them. Looks like clang and gcc approaches are different on
> that matter.
> - headers must be placed as defined in style(9) in various places,
> otherwise some variables/functions are undefined, heavily inspired by
> how Debian did it [1].
>
> While here i've moved HOMEPAGE to https.
>
> It builds fine on macppc [2] and amd64. The runtime is also good on
> these two platforms.
>
> Comments/feedback are welcome :)
>
> Charl??ne.
>
>
> [0]
> https://github.com/LibVNC/libvncserver/commit/785f0fa2d1fe18f08bf521ed4a0d34a5d0c87782
> [1]
> https://sources.debian.org/patches/krfb/4:17.08.3-1/build_against_gcc-6.patch/
> [2] https://bin.charlenew.xyz/krfb.log
>
>
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/x11/kde4/krfb/Makefile,v
> retrieving revision 1.9
> diff -u -p -u -p -r1.9 Makefile
> --- Makefile 27 Jun 2018 21:04:17 -0000 1.9
> +++ Makefile 25 Aug 2019 20:35:56 -0000
> @@ -2,10 +2,10 @@
>
> COMMENT = desktop sharing
> DISTNAME = krfb-${MODKDE4_VERSION}
> -REVISION = 4
> +REVISION = 5
>
> CATEGORIES = net
> -HOMEPAGE = http://projects.kde.org/projects/kde/kdenetwork/krfb
> +HOMEPAGE = https://userbase.kde.org/Krfb
>
> SHARED_LIBS = krfbprivate 52.0
>
> Index: patches/patch-krfb_events_cpp
> ===================================================================
> RCS file: patches/patch-krfb_events_cpp
> diff -N patches/patch-krfb_events_cpp
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-krfb_events_cpp 25 Aug 2019 20:35:56 -0000
> @@ -0,0 +1,25 @@
> +$OpenBSD$
> +
> +Fix for ports-gcc>=6
> +
> +Index: krfb/events.cpp
> +--- krfb/events.cpp.orig
> ++++ krfb/events.cpp
> +@@ -22,8 +22,6 @@
> + Boston, MA 02110-1301, USA.
> + */
> +
> +-#include "events.h"
> +-
> + #include <QtGui/QApplication>
> + #include <QtGui/QX11Info>
> + #include <QtGui/QDesktopWidget>
> +@@ -32,6 +30,8 @@
> + #include <X11/Xutil.h>
> + #include <X11/keysym.h>
> + #include <X11/extensions/XTest.h>
> ++
> ++#include "events.h"
> +
> + enum {
> + LEFTSHIFT = 1,
> Index: patches/patch-krfb_framebuffer_h
> ===================================================================
> RCS file: patches/patch-krfb_framebuffer_h
> diff -N patches/patch-krfb_framebuffer_h
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-krfb_framebuffer_h 25 Aug 2019 20:35:56 -0000
> @@ -0,0 +1,24 @@
> +$OpenBSD$
> +Fix for ports-gcc>=6
> +
> +Index: krfb/framebuffer.h
> +--- krfb/framebuffer.h.orig
> ++++ krfb/framebuffer.h
> +@@ -10,8 +10,6 @@
> + #ifndef FRAMEBUFFER_H
> + #define FRAMEBUFFER_H
> +
> +-#include "rfb.h"
> +-
> + #include <kdemacros.h>
> +
> + #include <QtCore/QObject>
> +@@ -19,6 +17,8 @@
> + #include <QtCore/QList>
> +
> + #include <QtGui/QWidget>
> ++
> ++#include "rfb.h"
> +
> + class FrameBuffer;
> + /**
> Index: patches/patch-krfb_invitationsrfbclient_cpp
> ===================================================================
> RCS file: patches/patch-krfb_invitationsrfbclient_cpp
> diff -N patches/patch-krfb_invitationsrfbclient_cpp
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-krfb_invitationsrfbclient_cpp 25 Aug 2019 20:35:56 -0000
> @@ -0,0 +1,28 @@
> +$OpenBSD$
> +Fix for ports-gcc>=6
> +
> +Index: krfb/invitationsrfbclient.cpp
> +--- krfb/invitationsrfbclient.cpp.orig
> ++++ krfb/invitationsrfbclient.cpp
> +@@ -18,16 +18,17 @@
> + You should have received a copy of the GNU Lesser General Public License
> + along with this program. If not, see <http://www.gnu.org/licenses/>.
> + */
> ++#include <KNotification>
> ++#include <KLocale>
> ++#include <QtCore/QSocketNotifier>
> ++#include <poll.h>
> ++
> + #include "rfb.h"
> + #include "invitationsrfbclient.h"
> + #include "invitationsrfbserver.h"
> + #include "krfbconfig.h"
> + #include "sockethelpers.h"
> + #include "connectiondialog.h"
> +-#include <KNotification>
> +-#include <KLocale>
> +-#include <QtCore/QSocketNotifier>
> +-#include <poll.h>
> +
> + struct PendingInvitationsRfbClient::Private
> + {
> Index: patches/patch-krfb_invitationsrfbserver_cpp
> ===================================================================
> RCS file: patches/patch-krfb_invitationsrfbserver_cpp
> diff -N patches/patch-krfb_invitationsrfbserver_cpp
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-krfb_invitationsrfbserver_cpp 25 Aug 2019 20:35:56 -0000
> @@ -0,0 +1,28 @@
> +$OpenBSD$
> +Fix for ports-gcc>=6
> +
> +Index: krfb/invitationsrfbserver.cpp
> +--- krfb/invitationsrfbserver.cpp.orig
> ++++ krfb/invitationsrfbserver.cpp
> +@@ -18,10 +18,6 @@
> + You should have received a copy of the GNU Lesser General Public License
> + along with this program. If not, see <http://www.gnu.org/licenses/>.
> + */
> +-#include "invitationsrfbserver.h"
> +-#include "invitationsrfbclient.h"
> +-#include "krfbconfig.h"
> +-#include "rfbservermanager.h"
> + #include <QtCore/QTimer>
> + #include <QtGui/QApplication>
> + #include <QtNetwork/QHostInfo>
> +@@ -33,6 +29,10 @@
> + #include <KStringHandler>
> + #include <KWallet/Wallet>
> + #include <DNSSD/PublicService>
> ++#include "invitationsrfbserver.h"
> ++#include "invitationsrfbclient.h"
> ++#include "krfbconfig.h"
> ++#include "rfbservermanager.h"
> + using KWallet::Wallet;
> +
> + //static
> Index: patches/patch-krfb_rfbclient_cpp
> ===================================================================
> RCS file: patches/patch-krfb_rfbclient_cpp
> diff -N patches/patch-krfb_rfbclient_cpp
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-krfb_rfbclient_cpp 25 Aug 2019 20:35:56 -0000
> @@ -0,0 +1,28 @@
> +$OpenBSD$
> +Fix for ports-gcc>=6
> +
> +Index: krfb/rfbclient.cpp
> +--- krfb/rfbclient.cpp.orig
> ++++ krfb/rfbclient.cpp
> +@@ -17,16 +17,16 @@
> + You should have received a copy of the GNU Lesser General Public License
> + along with this program. If not, see <http://www.gnu.org/licenses/>.
> + */
> +-#include "rfbclient.h"
> +-#include "connectiondialog.h"
> +-#include "krfbconfig.h"
> +-#include "sockethelpers.h"
> +-#include "events.h"
> + #include <QtCore/QSocketNotifier>
> + #include <KDebug>
> + #include <KNotification>
> + #include <poll.h>
> + #include <strings.h> //for bzero()
> ++#include "rfbclient.h"
> ++#include "connectiondialog.h"
> ++#include "krfbconfig.h"
> ++#include "sockethelpers.h"
> ++#include "events.h"
> +
> + struct RfbClient::Private
> + {
> Index: patches/patch-krfb_rfbserver_cpp
> ===================================================================
> RCS file: patches/patch-krfb_rfbserver_cpp
> diff -N patches/patch-krfb_rfbserver_cpp
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-krfb_rfbserver_cpp 25 Aug 2019 20:35:56 -0000
> @@ -0,0 +1,26 @@
> +$OpenBSD$
> +Fix for ports-gcc>=6
> +
> +Also redefine TRUE and FALSE, that are getting undef'd in rfb.h
> +
> +Index: krfb/rfbserver.cpp
> +--- krfb/rfbserver.cpp.orig
> ++++ krfb/rfbserver.cpp
> +@@ -17,12 +17,15 @@
> + You should have received a copy of the GNU Lesser General Public License
> + along with this program. If not, see <http://www.gnu.org/licenses/>.
> + */
> +-#include "rfbserver.h"
> +-#include "rfbservermanager.h"
> + #include <QtCore/QSocketNotifier>
> + #include <QApplication>
> + #include <QClipboard>
> + #include <KDebug>
> ++#include "rfbserver.h"
> ++#include "rfbservermanager.h"
> ++
> ++#define TRUE true
> ++#define FALSE false
> +
> + struct RfbServer::Private
> + {
> Index: patches/patch-krfb_rfbservermanager_cpp
> ===================================================================
> RCS file: patches/patch-krfb_rfbservermanager_cpp
> diff -N patches/patch-krfb_rfbservermanager_cpp
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-krfb_rfbservermanager_cpp 25 Aug 2019 20:35:56 -0000
> @@ -0,0 +1,32 @@
> +$OpenBSD$
> +Fix for ports-gcc>=6
> +
> +Index: krfb/rfbservermanager.cpp
> +--- krfb/rfbservermanager.cpp.orig
> ++++ krfb/rfbservermanager.cpp
> +@@ -18,12 +18,6 @@
> + You should have received a copy of the GNU Lesser General Public License
> + along with this program. If not, see <http://www.gnu.org/licenses/>.
> + */
> +-#include "rfbservermanager.h"
> +-#include "rfbserver.h"
> +-#include "framebuffer.h"
> +-#include "framebuffermanager.h"
> +-#include "sockethelpers.h"
> +-#include "krfbconfig.h"
> + #include <QtCore/QTimer>
> + #include <QtGui/QApplication>
> + #include <QtGui/QDesktopWidget>
> +@@ -33,6 +27,12 @@
> + #include <KLocale>
> + #include <KUser>
> + #include <KNotification>
> ++#include "rfbservermanager.h"
> ++#include "rfbserver.h"
> ++#include "framebuffer.h"
> ++#include "framebuffermanager.h"
> ++#include "sockethelpers.h"
> ++#include "krfbconfig.h"
> +
> + static const char *cur =
> + " "
> Index: patches/patch-libvncserver_rfb_rfbproto_h
> ===================================================================
> RCS file: patches/patch-libvncserver_rfb_rfbproto_h
> diff -N patches/patch-libvncserver_rfb_rfbproto_h
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-libvncserver_rfb_rfbproto_h 25 Aug 2019 20:35:56 -0000
> @@ -0,0 +1,19 @@
> +$OpenBSD$
> +
> +ports-gcc fix for:
> +error: macro "max" passed 3 arguments, but takes just 2
> +
> +Index: libvncserver/rfb/rfbproto.h
> +--- libvncserver/rfb/rfbproto.h.orig
> ++++ libvncserver/rfb/rfbproto.h
> +@@ -90,6 +90,10 @@
> + #define strncasecmp _strnicmp
> +
No comments:
Post a Comment