[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#801096: qtmake's linux-g++-m64 spec sets -m64 on aarch64-linux-gnu



tag 801096 moreinfo
thanks

Hi Matthias!

On Tuesday 06 October 2015 11:56:31 Matthias Klose wrote:
> Package: qmake-qt5
> Version: 5.4.2+dfsg-2
> Severity: important
> 
> this is seen when building openjfx on arm64:
> https://launchpadlibrarian.net/220388096/buildlog_ubuntu-wily-arm64.openjfx_
> 8u60-b27-0ubuntu1_BUILDING.txt.gz

Well, the first thing to note here is that you are filing a bug against the 
Debian package using an Ubuntu build. Maybe you fired reportbug on the wrong 
machine?
 
> build.gradle chooses to set the linux-g++-m64 spec,

That's wrong, it should be using linux-g++ on aarch64. Moreover I don't 
understand why it's chossing a specific mkspec, that's selected at Qt5 build 
time and should be respected.

> and then fails on the
> unknown -m64 option.  Trying to use the linux-g++ option fails, because the
> qplatformdefs.h of this spec is basically empty.  This file is identical for
> the -m32 and -m64 specs, so why not include it there?

It's identical, and sourced from mkspecs/linux-g++-64/qmake.conf [diff]. Look 
at the final lines, full diff included for verbosity.

Marking this bug as moreinfo until we sort out the Ubuntu stuff :)


[diff] --8<-- [diff] --8<-- [diff] --8<-- [diff] --8<-- [diff] --8<--

(qtbase src's root dir)$ diff -Naur mkspecs/linux-g++/ mkspecs/linux-g++-64/
diff -Naur mkspecs/linux-g++/qmake.conf mkspecs/linux-g++-64/qmake.conf
--- mkspecs/linux-g++/qmake.conf        2014-03-17 23:24:06.270583408 -0300
+++ mkspecs/linux-g++-64/qmake.conf     2014-03-17 23:24:06.270583408 -0300
@@ -1,12 +1,23 @@
 #
 # qmake configuration for linux-g++
 #
+# Written for GNU/Linux platforms that have both lib and lib64 directories,
+# like the AMD Opteron.
+#
 
 MAKEFILE_GENERATOR      = UNIX
 CONFIG                 += incremental
 QMAKE_INCREMENTAL_STYLE = sublib
 
+QMAKE_CFLAGS            = -m64
+QMAKE_LFLAGS            = -m64
+
 include(../common/linux.conf)
 include(../common/gcc-base-unix.conf)
 include(../common/g++-unix.conf)
+
+
+QMAKE_LIBDIR_X11        = /usr/X11R6/lib64
+QMAKE_LIBDIR_OPENGL     = /usr/X11R6/lib64
+
 load(qt_config)
diff -Naur mkspecs/linux-g++/qplatformdefs.h mkspecs/linux-
g++-64/qplatformdefs.h
--- mkspecs/linux-g++/qplatformdefs.h   2015-08-08 00:19:31.266895204 -0300
+++ mkspecs/linux-g++-64/qplatformdefs.h        2015-08-08 00:19:31.262895331 
-0300
@@ -31,62 +31,4 @@
 **
 ****************************************************************************/
 
-#ifndef QPLATFORMDEFS_H
-#define QPLATFORMDEFS_H
-
-// Get Qt defines/settings
-
-#include "qglobal.h"
-
-// Set any POSIX/XOPEN defines at the top of this file to turn on specific 
APIs
-
-// 1) need to reset default environment if _BSD_SOURCE is defined
-// 2) need to specify POSIX thread interfaces explicitly in glibc 2.0
-// 3) it seems older glibc need this to include the X/Open stuff
-#ifndef _GNU_SOURCE
-#  define _GNU_SOURCE
-#endif
-
-#include <unistd.h>
-
-
-// We are hot - unistd.h should have turned on the specific APIs we requested
-
-#include <features.h>
-#include <pthread.h>
-#include <dirent.h>
-#include <fcntl.h>
-#include <grp.h>
-#include <pwd.h>
-#include <signal.h>
-
-#include <sys/types.h>
-#include <sys/ioctl.h>
-#include <sys/ipc.h>
-#include <sys/time.h>
-#include <sys/shm.h>
-#include <sys/socket.h>
-#include <sys/stat.h>
-#include <sys/wait.h>
-#include <netinet/in.h>
-#ifndef QT_NO_IPV6IFNAME
-#include <net/if.h>
-#endif
-
-#define QT_USE_XOPEN_LFS_EXTENSIONS
-#include "../common/posix/qplatformdefs.h"
-
-#undef QT_SOCKLEN_T
-
-#if defined(__GLIBC__) && (__GLIBC__ >= 2)
-#define QT_SOCKLEN_T            socklen_t
-#else
-#define QT_SOCKLEN_T            int
-#endif
-
-#if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500)
-#define QT_SNPRINTF             ::snprintf
-#define QT_VSNPRINTF            ::vsnprintf
-#endif
-
-#endif // QPLATFORMDEFS_H
+#include "../linux-g++/qplatformdefs.h"


-- 
Lisandro Damián Nicanor Pérez Meyer
http://perezmeyer.com.ar/
http://perezmeyer.blogspot.com/

Attachment: signature.asc
Description: This is a digitally signed message part.


Reply to: