Your message dated Fri, 24 Jan 2025 02:49:12 +0000
with message-id <[email protected]>
and subject line Bug#646778: fixed in udt 4.11+dfsg1-1.1
has caused the Debian Bug report #646778,
regarding udt: Unnecessarily restricted Architecture field
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
646778: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=646778
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Source: udt
Version: 4.8-2
Severity: important
Tags: patch
Hi!
This package got restricted to just i386 and amd64 due to FTBFS on every
other architecture. The issue here was not that the source does not
support other architectures, rather that it was not configured correctly
there, defaulting to IA32 by the build system. I'm attaching a patch
that makes that configuration unnecessary, as it does it automatically.
I've test built it successfully on amd64 and armel.
thanks,
guillem
>From 8e45f63780786743decf62eff5f0bd1c449d3618 Mon Sep 17 00:00:00 2001
From: Guillem Jover <[email protected]>
Date: Tue, 25 Oct 2011 23:03:37 +0200
Subject: [PATCH] Enable portability beyond i386 and amd64
---
app/Makefile | 26 +-------------------------
debian/control | 4 ++--
src/Makefile | 30 +-----------------------------
src/channel.cpp | 4 ++--
src/common.cpp | 14 +++++++-------
src/epoll.cpp | 12 ++++++------
6 files changed, 19 insertions(+), 71 deletions(-)
diff --git a/app/Makefile b/app/Makefile
index 9d16c0f..8ae1fa4 100644
--- a/app/Makefile
+++ b/app/Makefile
@@ -1,30 +1,6 @@
C++ = g++
-ifndef os
- os = LINUX
-endif
-
-ifndef arch
- arch = IA32
-endif
-
-CCFLAGS = -Wall -D$(os) -I../src -finline-functions -O3
-
-ifeq ($(arch), IA32)
- CCFLAGS += -DIA32 #-mcpu=pentiumpro -march=pentiumpro -mmmx -msse
-endif
-
-ifeq ($(arch), POWERPC)
- CCFLAGS += -mcpu=powerpc
-endif
-
-ifeq ($(arch), IA64)
- CCFLAGS += -DIA64
-endif
-
-ifeq ($(arch), SPARC)
- CCFLAGS += -DSPARC
-endif
+CCFLAGS = -Wall -I../src -finline-functions -O3
LDFLAGS = -L../src -ludt -lstdc++ -lpthread -lm
diff --git a/debian/control b/debian/control
index dd7ffd4..bb92d82 100644
--- a/debian/control
+++ b/debian/control
@@ -10,7 +10,7 @@ Vcs-Browser: http://git.debian.org/?p=collab-maint/udt.git;a=summary
Package: libudt-dev
Section: libdevel
-Architecture: i386 amd64
+Architecture: any
Depends: libudt0 (= ${binary:Version}), ${misc:Depends}
Description: UDP-based Data Transfer Protocol - development files
UDT is a reliable UDP based application level data transport protocol for
@@ -24,7 +24,7 @@ Description: UDP-based Data Transfer Protocol - development files
UDP-based data transfer protocol library.
Package: libudt0
-Architecture: i386 amd64
+Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: UDP-based Data Transfer Protocol
UDT is a reliable UDP based application level data transport protocol for
diff --git a/src/Makefile b/src/Makefile
index 0f5505d..d9d905f 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -1,34 +1,6 @@
C++ = g++
-ifndef os
- os = LINUX
-endif
-
-ifndef arch
- arch = IA32
-endif
-
-CCFLAGS = -fPIC -Wall -Wextra -D$(os) -finline-functions -O3 -fno-strict-aliasing #-msse3
-
-ifeq ($(arch), IA32)
- CCFLAGS += -DIA32
-endif
-
-ifeq ($(arch), POWERPC)
- CCFLAGS += -mcpu=powerpc
-endif
-
-ifeq ($(arch), SPARC)
- CCFLAGS += -DSPARC
-endif
-
-ifeq ($(arch), IA64)
- CCFLAGS += -DIA64
-endif
-
-ifeq ($(arch), AMD64)
- CCFLAGS += -DAMD64
-endif
+CCFLAGS = -fPIC -Wall -Wextra -finline-functions -O3 -fno-strict-aliasing #-msse3
OBJS = md5.o common.o window.o list.o buffer.o packet.o channel.o queue.o ccc.o cache.o core.o epoll.o api.o
DIR = $(shell pwd)
diff --git a/src/channel.cpp b/src/channel.cpp
index 59c937f..b9c00b5 100644
--- a/src/channel.cpp
+++ b/src/channel.cpp
@@ -164,7 +164,7 @@ void CChannel::setUDPSockOpt()
tv.tv_usec = 100;
#endif
- #ifdef UNIX
+ #ifdef __unix__
// Set non-blocking I/O
// UNIX does not support SO_RCVTIMEO
int opts = fcntl(m_iSocket, F_GETFL);
@@ -298,7 +298,7 @@ int CChannel::recvfrom(sockaddr* addr, CPacket& packet) const
mh.msg_controllen = 0;
mh.msg_flags = 0;
- #ifdef UNIX
+ #ifdef __unix__
fd_set set;
timeval tv;
FD_ZERO(&set);
diff --git a/src/common.cpp b/src/common.cpp
index 661ad33..2381042 100644
--- a/src/common.cpp
+++ b/src/common.cpp
@@ -100,7 +100,7 @@ void CTimer::rdtsc(uint64_t &x)
if (!ret)
x = getTime() * s_ullCPUFrequency;
- #elif IA32
+ #elif defined(__i386__)
uint32_t lval, hval;
//asm volatile ("push %eax; push %ebx; push %ecx; push %edx");
//asm volatile ("xor %eax, %eax; cpuid");
@@ -108,9 +108,9 @@ void CTimer::rdtsc(uint64_t &x)
//asm volatile ("pop %edx; pop %ecx; pop %ebx; pop %eax");
x = hval;
x = (x << 32) | lval;
- #elif IA64
+ #elif defined(__ia64__)
asm ("mov %0=ar.itc" : "=r"(x) :: "memory");
- #elif AMD64
+ #elif defined(__amd64__)
uint32_t lval, hval;
asm ("rdtsc" : "=a" (lval), "=d" (hval));
x = hval;
@@ -131,7 +131,7 @@ uint64_t CTimer::readCPUFrequency()
return ccf / 1000000;
else
return 1;
- #elif IA32 || IA64 || AMD64
+ #elif defined(__unix__)
uint64_t t1, t2;
rdtsc(t1);
@@ -173,11 +173,11 @@ void CTimer::sleepto(const uint64_t& nexttime)
while (t < m_ullSchedTime)
{
#ifndef NO_BUSY_WAITING
- #ifdef IA32
+ #if defined(__i386__)
__asm__ volatile ("pause; rep; nop; nop; nop; nop; nop;");
- #elif IA64
+ #elif defined(__ia64__)
__asm__ volatile ("nop 0; nop 0; nop 0; nop 0; nop 0;");
- #elif AMD64
+ #elif defined(__amd64__)
__asm__ volatile ("nop; nop; nop; nop; nop;");
#endif
#else
diff --git a/src/epoll.cpp b/src/epoll.cpp
index 31ac698..bf14d32 100644
--- a/src/epoll.cpp
+++ b/src/epoll.cpp
@@ -38,7 +38,7 @@ written by
Yunhong Gu, last updated 01/01/2011
*****************************************************************************/
-#ifdef LINUX
+#ifdef __linux__
#include <sys/epoll.h>
#include <unistd.h>
#endif
@@ -70,7 +70,7 @@ int CEPoll::create()
int localid = 0;
- #ifdef LINUX
+ #ifdef __linux__
localid = epoll_create(1024);
if (localid < 0)
throw CUDTException(-1, 0, errno);
@@ -112,7 +112,7 @@ int CEPoll::add_ssock(const int eid, const SYSSOCKET& s, const int* events)
if (p == m_mPolls.end())
throw CUDTException(5, 13);
-#ifdef LINUX
+#ifdef __linux__
epoll_event ev;
if (NULL == events)
@@ -162,7 +162,7 @@ int CEPoll::remove_ssock(const int eid, const SYSSOCKET& s, const int* events)
if (p == m_mPolls.end())
throw CUDTException(5, 13);
-#ifdef LINUX
+#ifdef __linux__
epoll_event ev;
if (NULL == events)
@@ -234,7 +234,7 @@ int CEPoll::wait(const int eid, set<UDTSOCKET>* readfds, set<UDTSOCKET>* writefd
if (lwfds)
lwfds->clear();
- #ifdef LINUX
+ #ifdef __linux__
const int max_events = p->second.m_sLocals.size();
epoll_event ev[max_events];
int nfds = epoll_wait(p->second.m_iLocalID, ev, max_events, 0);
@@ -324,7 +324,7 @@ int CEPoll::release(const int eid)
if (i == m_mPolls.end())
throw CUDTException(5, 13);
- #ifdef LINUX
+ #ifdef __linux__
// release local/system epoll descriptor
::close(i->second.m_iLocalID);
#endif
--
1.7.7.1
--- End Message ---
--- Begin Message ---
Source: udt
Source-Version: 4.11+dfsg1-1.1
Done: Chris Hofstaedtler <[email protected]>
We believe that the bug you reported is fixed in the latest version of
udt, which is due to be installed in the Debian FTP archive.
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Chris Hofstaedtler <[email protected]> (supplier of updated udt package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
Format: 1.8
Date: Fri, 24 Jan 2025 02:23:06 +0100
Source: udt
Architecture: source
Version: 4.11+dfsg1-1.1
Distribution: unstable
Urgency: medium
Maintainer: Jon Bernard <[email protected]>
Changed-By: Chris Hofstaedtler <[email protected]>
Closes: 646778 722958 994675
Changes:
udt (4.11+dfsg1-1.1) unstable; urgency=medium
.
* Non-maintainer upload.
.
[ Guillem Jover ]
* Enable portability beyond i386 and amd64 (Closes: #646778)
.
[ Adam Conrad ]
* Fix FBTFS with --as-needed (Closes: #722958)
.
[ Helmut Grohne ]
* Use CXX as C++ compiler name variable (Closes: #994675)
Checksums-Sha1:
8cdd6bcfbde506baf4ea630e65701868528e3417 2010 udt_4.11+dfsg1-1.1.dsc
d925fd462327109cef1b4668099f3a8e41403033 6424 udt_4.11+dfsg1-1.1.debian.tar.xz
Checksums-Sha256:
89b3a81a4007b908fee805bd21f968e8911c1b8245d8bef105d9f4d7ccf5fd95 2010
udt_4.11+dfsg1-1.1.dsc
7c532c8026c50bb1fbad491b3ec1640931ca36c2923d530dfc85c66aa2b39365 6424
udt_4.11+dfsg1-1.1.debian.tar.xz
Files:
faf19ebb69734c8b5045f7170fbee8fb 2010 libs extra udt_4.11+dfsg1-1.1.dsc
080c665a3df6cf432e70d91ed9863cf1 6424 libs extra
udt_4.11+dfsg1-1.1.debian.tar.xz
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCgAdFiEEfRrP+tnggGycTNOSXBPW25MFLgMFAmeS6+AACgkQXBPW25MF
LgPokA//fLStSD2W0Lm0GzN9InFaUu4OxE8f5O4Ituu/0u32vFe5wLz835y913oe
cO7Tx8tiLagDw3pUI2G0QKLVwOMZayt+b3M2ErbXkSwKsqacIvOaPBnlxeXzyZKj
uPuulguWkV6gqjr9CSdtNR78sxIAyY+TTOYI66J3lqPOGhC50q7Ul5gHXKo5KySF
KG+c/6oHjlsmTOaXzI2br3YeLS9cVb6ClCDwyN+MgBd1+zTCP8iuraWg3ffD2Iuy
8NrbRdxd7S+CdorkOwz523b/9zGuNYJqKgrewg8TXkBbp3Qf44T/HWUpj+LHMirb
Px0Ja+cyt59zMIHkVCMQ9mtk9GJPP3VnSXrQISDieECt0SPvsiMRMm59rg619IML
CRl7pdPjf8AhJDkA9d5jHOOwu6wdX9+2hzK9CCHEhgVuVtxRheOMJghgpcPxS2xL
RSIQJ48vqbf8H6JfGxsQ/goJ+JekOL0vB4fNhE2vKR5Yv6orXn4vzJftguPyVvb8
ojd7+4HIDuXomCNWFf+f3/aRsuzDxAPEwzjp50gFVj6hYZTF2lM1gStE3YzSrymG
H4nspq4da1JwXMXmSGujscaxlBSHfqO711yWO0+yzXI4aJZy/X3VwoX9sAxyyr/p
ILOdOZaiK4vxC3mFBIiAM51eXkZVULbxeYHL2sIZoQ/orFF4Bqk=
=0ys4
-----END PGP SIGNATURE-----
pgpJzedXc1N39.pgp
Description: PGP signature
--- End Message ---