Opened 4 years ago
Closed 4 years ago
#65034 closed defect (fixed)
rsync fails to upgrade to @3.2.4 on 10.6.8 when building as ppc error: pointer targets in passing argument 2 of ‘getgroups’ differ in signedness
| Reported by: | barracuda156 | Owned by: | ryandesign (Ryan Carsten Schmidt) |
|---|---|---|---|
| Priority: | Normal | Milestone: | |
| Component: | ports | Version: | 2.7.2 |
| Keywords: | powerpc, snowleopard, rosetta | Cc: | |
| Port: | rsync |
Description
/usr/bin/gcc-4.2 -std=gnu99 -I. -I. -I./zlib -pipe -Os -arch ppc -DHAVE_CONFIG_H -Wall -W -pedantic-errors -I/opt/local/include -c uidlist.c -o uidlist.o uidlist.c: In function ‘is_in_group’: uidlist.c:210: error: pointer targets in passing argument 2 of ‘getgroups’ differ in signedness uidlist.c:213: warning: comparison between signed and unsigned uidlist.c:232: warning: comparison between signed and unsigned make: *** [uidlist.o] Error 1 make: *** Waiting for unfinished jobs.... token.c: In function ‘send_token’: token.c:921: warning: ‘next_in’ may be used uninitialized in this function token.c:921: note: ‘next_in’ was declared here token.c:920: warning: ‘available_in’ may be used uninitialized in this function token.c:920: note: ‘available_in’ was declared here make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_rsync/rsync/work/rsync-3.2.4' Command failed: cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_rsync/rsync/work/rsync-3.2.4" && /usr/bin/make -j4 -w all Exit code: 2
Attachments (2)
Change History (15)
Changed 4 years ago by barracuda156
comment:1 Changed 4 years ago by kencu (Ken)
| Summary: | rsync fails to upgrade to @3.2.4 on 10.6.8: error: pointer targets in passing argument 2 of ‘getgroups’ differ in signedness → rsync fails to upgrade to @3.2.4 on 10.6.8 when building as ppc using gcc-4.2 error: pointer targets in passing argument 2 of ‘getgroups’ differ in signedness |
|---|
comment:2 follow-up: 3 Changed 4 years ago by kencu (Ken)
jftr it builds fine using standard builds on the bots, eg
comment:3 Changed 4 years ago by barracuda156
Replying to kencu:
jftr it builds fine using standard builds on the bots, eg
Yes, it also builds with no problem on 10.6 PPC and on Tiger. I only had this problem on 10.6.8 Rosetta.
comment:4 follow-ups: 7 8 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)
Ok, the log shows this configure output:
:info:configure checking type of array argument to getgroups... int
That's suspicious: getgroups actually takes a gid_t which is a __darwin_gid_t which is a __uint32_t which is an unsigned integer, vs. int which is a signed integer, hence the message about differing signedness.
The configure script gets the correct result on my Catalina system and on the buildbot Snow Leopard machines too. Something about your cross-compiling scenario seems to be throwing off the detection. Could you attach your config.log so we can see what happened?
This determination of the type of arguments for getgroups is implemented in a standard autoconf macro AC_TYPE_GETGROUPS. There is a comment in the code for that macro that talks about how it will use int when cross compiling on old systems that lack prototypes. That explanation doesn't make sense for Mac OS X, all versions of which are new enough to have prototypes, so I think some other failure, which the config.log should tell us about, is confusing this check into giving the wrong answer.
comment:5 Changed 4 years ago by barracuda156
It is not a problem of gcc-4.2 though:
---> Building rsync
Executing: cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_rsync/rsync/work/rsync-3.2.4" && /usr/bin/make -j4 -w all
make: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_rsync/rsync/work/rsync-3.2.4'
gawk -f ./daemon-parm.awk ./daemon-parm.txt
gawk -f ./help-from-md.awk -v hfile=help-rsync.h ./rsync.1.md
gawk -f ./help-from-md.awk -v hfile=help-rsyncd.h ./rsync.1.md
./mkgitver
gawk -f ./define-from-md.awk -v hfile=default-cvsignore.h ./rsync.1.md
gawk -f ./define-from-md.awk -v hfile=default-dont-compress.h ./rsync.1.md
sed 's;\@bindir\@;/opt/local/bin;g' <./stunnel-rsyncd.conf.in >stunnel-rsyncd.conf
gawk -f ./mkproto.awk ./*.c ./lib/compat.c daemon-parm.h
/opt/local/bin/gcc-mp-10 -I. -I. -I./zlib -pipe -Os -arch ppc -DHAVE_CONFIG_H -Wall -W -pedantic-errors -I/opt/local/include -c rsync.c -o rsync.o
/opt/local/bin/gcc-mp-10 -I. -I. -I./zlib -pipe -Os -arch ppc -DHAVE_CONFIG_H -Wall -W -pedantic-errors -I/opt/local/include -c generator.c -o generator.o
/opt/local/bin/gcc-mp-10 -I. -I. -I./zlib -pipe -Os -arch ppc -DHAVE_CONFIG_H -Wall -W -pedantic-errors -I/opt/local/include -c receiver.c -o receiver.o
/opt/local/bin/gcc-mp-10 -I. -I. -I./zlib -pipe -Os -arch ppc -DHAVE_CONFIG_H -Wall -W -pedantic-errors -I/opt/local/include -c cleanup.c -o cleanup.o
/opt/local/bin/gcc-mp-10 -I. -I. -I./zlib -pipe -Os -arch ppc -DHAVE_CONFIG_H -Wall -W -pedantic-errors -I/opt/local/include -c sender.c -o sender.o
/opt/local/bin/gcc-mp-10 -I. -I. -I./zlib -pipe -Os -arch ppc -DHAVE_CONFIG_H -Wall -W -pedantic-errors -I/opt/local/include -c exclude.c -o exclude.o
/opt/local/bin/gcc-mp-10 -I. -I. -I./zlib -pipe -Os -arch ppc -DHAVE_CONFIG_H -Wall -W -pedantic-errors -I/opt/local/include -c util1.c -o util1.o
/opt/local/bin/gcc-mp-10 -I. -I. -I./zlib -pipe -Os -arch ppc -DHAVE_CONFIG_H -Wall -W -pedantic-errors -I/opt/local/include -c util2.c -o util2.o
/opt/local/bin/gcc-mp-10 -I. -I. -I./zlib -pipe -Os -arch ppc -DHAVE_CONFIG_H -Wall -W -pedantic-errors -I/opt/local/include -c main.c -o main.o
/opt/local/bin/gcc-mp-10 -I. -I. -I./zlib -pipe -Os -arch ppc -DHAVE_CONFIG_H -Wall -W -pedantic-errors -I/opt/local/include -c checksum.c -o checksum.o
checksum.c: In function 'get_checksum2':
checksum.c:227:3: warning: 'MD5_Init' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
227 | md5_begin(&m5);
| ^~~~~~~~~
In file included from lib/mdigest.h:5,
from rsync.h:1149,
from checksum.c:29:
/opt/local/include/openssl/md5.h:49:27: note: declared here
49 | OSSL_DEPRECATEDIN_3_0 int MD5_Init(MD5_CTX *c);
| ^~~~~~~~
checksum.c:231:5: warning: 'MD5_Update' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
231 | md5_update(&m5, seedbuf, 4);
| ^~~~~~~~~~
In file included from lib/mdigest.h:5,
from rsync.h:1149,
from checksum.c:29:
/opt/local/include/openssl/md5.h:50:27: note: declared here
50 | OSSL_DEPRECATEDIN_3_0 int MD5_Update(MD5_CTX *c, const void *data, size_t len);
| ^~~~~~~~~~
checksum.c:233:4: warning: 'MD5_Update' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
233 | md5_update(&m5, (uchar *)buf, len);
| ^~~~~~~~~~
In file included from lib/mdigest.h:5,
from rsync.h:1149,
from checksum.c:29:
/opt/local/include/openssl/md5.h:50:27: note: declared here
50 | OSSL_DEPRECATEDIN_3_0 int MD5_Update(MD5_CTX *c, const void *data, size_t len);
| ^~~~~~~~~~
checksum.c:235:4: warning: 'MD5_Update' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
235 | md5_update(&m5, (uchar *)buf, len);
| ^~~~~~~~~~
In file included from lib/mdigest.h:5,
from rsync.h:1149,
from checksum.c:29:
/opt/local/include/openssl/md5.h:50:27: note: declared here
50 | OSSL_DEPRECATEDIN_3_0 int MD5_Update(MD5_CTX *c, const void *data, size_t len);
| ^~~~~~~~~~
checksum.c:238:5: warning: 'MD5_Update' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
238 | md5_update(&m5, seedbuf, 4);
| ^~~~~~~~~~
In file included from lib/mdigest.h:5,
from rsync.h:1149,
from checksum.c:29:
/opt/local/include/openssl/md5.h:50:27: note: declared here
50 | OSSL_DEPRECATEDIN_3_0 int MD5_Update(MD5_CTX *c, const void *data, size_t len);
| ^~~~~~~~~~
checksum.c:241:3: warning: 'MD5_Final' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
241 | md5_result(&m5, (uchar *)sum);
| ^~~~~~~~~~
In file included from lib/mdigest.h:5,
from rsync.h:1149,
from checksum.c:29:
/opt/local/include/openssl/md5.h:51:27: note: declared here
51 | OSSL_DEPRECATEDIN_3_0 int MD5_Final(unsigned char *md, MD5_CTX *c);
| ^~~~~~~~~
checksum.c:248:3: warning: 'MD4_Init' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
248 | MD4_Init(&m4);
| ^~~~~~~~
In file included from lib/mdigest.h:4,
from rsync.h:1149,
from checksum.c:29:
/opt/local/include/openssl/md4.h:50:27: note: declared here
50 | OSSL_DEPRECATEDIN_3_0 int MD4_Init(MD4_CTX *c);
| ^~~~~~~~
checksum.c:249:3: warning: 'MD4_Update' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
249 | MD4_Update(&m4, (uchar *)buf, len);
| ^~~~~~~~~~
In file included from lib/mdigest.h:4,
from rsync.h:1149,
from checksum.c:29:
/opt/local/include/openssl/md4.h:51:27: note: declared here
51 | OSSL_DEPRECATEDIN_3_0 int MD4_Update(MD4_CTX *c, const void *data, size_t len);
| ^~~~~~~~~~
checksum.c:253:4: warning: 'MD4_Update' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
253 | MD4_Update(&m4, seedbuf, 4);
| ^~~~~~~~~~
In file included from lib/mdigest.h:4,
from rsync.h:1149,
from checksum.c:29:
/opt/local/include/openssl/md4.h:51:27: note: declared here
51 | OSSL_DEPRECATEDIN_3_0 int MD4_Update(MD4_CTX *c, const void *data, size_t len);
| ^~~~~~~~~~
checksum.c:255:3: warning: 'MD4_Final' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
255 | MD4_Final((uchar *)sum, &m4);
| ^~~~~~~~~
In file included from lib/mdigest.h:4,
from rsync.h:1149,
from checksum.c:29:
/opt/local/include/openssl/md4.h:52:27: note: declared here
52 | OSSL_DEPRECATEDIN_3_0 int MD4_Final(unsigned char *md, MD4_CTX *c);
| ^~~~~~~~~
checksum.c: In function 'file_checksum':
checksum.c:379:3: warning: 'MD5_Init' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
379 | md5_begin(&m5);
| ^~~~~~~~~
In file included from lib/mdigest.h:5,
from rsync.h:1149,
from checksum.c:29:
/opt/local/include/openssl/md5.h:49:27: note: declared here
49 | OSSL_DEPRECATEDIN_3_0 int MD5_Init(MD5_CTX *c);
| ^~~~~~~~
checksum.c:382:4: warning: 'MD5_Update' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
382 | md5_update(&m5, (uchar *)map_ptr(buf, i, CHUNK_SIZE), CHUNK_SIZE);
| ^~~~~~~~~~
In file included from lib/mdigest.h:5,
from rsync.h:1149,
from checksum.c:29:
/opt/local/include/openssl/md5.h:50:27: note: declared here
50 | OSSL_DEPRECATEDIN_3_0 int MD5_Update(MD5_CTX *c, const void *data, size_t len);
| ^~~~~~~~~~
checksum.c:386:4: warning: 'MD5_Update' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
386 | md5_update(&m5, (uchar *)map_ptr(buf, i, remainder), remainder);
| ^~~~~~~~~~
In file included from lib/mdigest.h:5,
from rsync.h:1149,
from checksum.c:29:
/opt/local/include/openssl/md5.h:50:27: note: declared here
50 | OSSL_DEPRECATEDIN_3_0 int MD5_Update(MD5_CTX *c, const void *data, size_t len);
| ^~~~~~~~~~
checksum.c:388:3: warning: 'MD5_Final' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
388 | md5_result(&m5, (uchar *)sum);
| ^~~~~~~~~~
In file included from lib/mdigest.h:5,
from rsync.h:1149,
from checksum.c:29:
/opt/local/include/openssl/md5.h:51:27: note: declared here
51 | OSSL_DEPRECATEDIN_3_0 int MD5_Final(unsigned char *md, MD5_CTX *c);
| ^~~~~~~~~
checksum.c:396:3: warning: 'MD4_Init' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
396 | MD4_Init(&m4);
| ^~~~~~~~
In file included from lib/mdigest.h:4,
from rsync.h:1149,
from checksum.c:29:
/opt/local/include/openssl/md4.h:50:27: note: declared here
50 | OSSL_DEPRECATEDIN_3_0 int MD4_Init(MD4_CTX *c);
| ^~~~~~~~
checksum.c:399:4: warning: 'MD4_Update' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
399 | MD4_Update(&m4, (uchar *)map_ptr(buf, i, CHUNK_SIZE), CHUNK_SIZE);
| ^~~~~~~~~~
In file included from lib/mdigest.h:4,
from rsync.h:1149,
from checksum.c:29:
/opt/local/include/openssl/md4.h:51:27: note: declared here
51 | OSSL_DEPRECATEDIN_3_0 int MD4_Update(MD4_CTX *c, const void *data, size_t len);
| ^~~~~~~~~~
checksum.c:403:4: warning: 'MD4_Update' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
403 | MD4_Update(&m4, (uchar *)map_ptr(buf, i, remainder), remainder);
| ^~~~~~~~~~
In file included from lib/mdigest.h:4,
from rsync.h:1149,
from checksum.c:29:
/opt/local/include/openssl/md4.h:51:27: note: declared here
51 | OSSL_DEPRECATEDIN_3_0 int MD4_Update(MD4_CTX *c, const void *data, size_t len);
| ^~~~~~~~~~
checksum.c:405:3: warning: 'MD4_Final' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
405 | MD4_Final((uchar *)sum, &m4);
| ^~~~~~~~~
In file included from lib/mdigest.h:4,
from rsync.h:1149,
from checksum.c:29:
/opt/local/include/openssl/md4.h:52:27: note: declared here
52 | OSSL_DEPRECATEDIN_3_0 int MD4_Final(unsigned char *md, MD4_CTX *c);
| ^~~~~~~~~
checksum.c: In function 'sum_init':
checksum.c:485:3: warning: 'MD5_Init' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
485 | md5_begin(&ctx.m5);
| ^~~~~~~~~
In file included from lib/mdigest.h:5,
from rsync.h:1149,
from checksum.c:29:
/opt/local/include/openssl/md5.h:49:27: note: declared here
49 | OSSL_DEPRECATEDIN_3_0 int MD5_Init(MD5_CTX *c);
| ^~~~~~~~
checksum.c:489:3: warning: 'MD4_Init' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
489 | MD4_Init(&ctx.m4);
| ^~~~~~~~
In file included from lib/mdigest.h:4,
from rsync.h:1149,
from checksum.c:29:
/opt/local/include/openssl/md4.h:50:27: note: declared here
50 | OSSL_DEPRECATEDIN_3_0 int MD4_Init(MD4_CTX *c);
| ^~~~~~~~
checksum.c: In function 'sum_update':
checksum.c:535:3: warning: 'MD5_Update' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
535 | md5_update(&ctx.m5, (uchar *)p, len);
| ^~~~~~~~~~
In file included from lib/mdigest.h:5,
from rsync.h:1149,
from checksum.c:29:
/opt/local/include/openssl/md5.h:50:27: note: declared here
50 | OSSL_DEPRECATEDIN_3_0 int MD5_Update(MD5_CTX *c, const void *data, size_t len);
| ^~~~~~~~~~
checksum.c:539:3: warning: 'MD4_Update' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
539 | MD4_Update(&ctx.m4, (uchar *)p, len);
| ^~~~~~~~~~
In file included from lib/mdigest.h:4,
from rsync.h:1149,
from checksum.c:29:
/opt/local/include/openssl/md4.h:51:27: note: declared here
51 | OSSL_DEPRECATEDIN_3_0 int MD4_Update(MD4_CTX *c, const void *data, size_t len);
| ^~~~~~~~~~
checksum.c: In function 'sum_end':
checksum.c:600:3: warning: 'MD5_Final' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
600 | md5_result(&ctx.m5, (uchar *)sum);
| ^~~~~~~~~~
In file included from lib/mdigest.h:5,
from rsync.h:1149,
from checksum.c:29:
/opt/local/include/openssl/md5.h:51:27: note: declared here
51 | OSSL_DEPRECATEDIN_3_0 int MD5_Final(unsigned char *md, MD5_CTX *c);
| ^~~~~~~~~
checksum.c:604:3: warning: 'MD4_Final' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
604 | MD4_Final((uchar *)sum, &ctx.m4);
| ^~~~~~~~~
In file included from lib/mdigest.h:4,
from rsync.h:1149,
from checksum.c:29:
/opt/local/include/openssl/md4.h:52:27: note: declared here
52 | OSSL_DEPRECATEDIN_3_0 int MD4_Final(unsigned char *md, MD4_CTX *c);
| ^~~~~~~~~
/opt/local/bin/gcc-mp-10 -I. -I. -I./zlib -pipe -Os -arch ppc -DHAVE_CONFIG_H -Wall -W -pedantic-errors -I/opt/local/include -c match.c -o match.o
/opt/local/bin/gcc-mp-10 -I. -I. -I./zlib -pipe -Os -arch ppc -DHAVE_CONFIG_H -Wall -W -pedantic-errors -I/opt/local/include -c syscall.c -o syscall.o
/opt/local/bin/gcc-mp-10 -I. -I. -I./zlib -pipe -Os -arch ppc -DHAVE_CONFIG_H -Wall -W -pedantic-errors -I/opt/local/include -c log.c -o log.o
/opt/local/bin/gcc-mp-10 -I. -I. -I./zlib -pipe -Os -arch ppc -DHAVE_CONFIG_H -Wall -W -pedantic-errors -I/opt/local/include -c backup.c -o backup.o
/opt/local/bin/gcc-mp-10 -I. -I. -I./zlib -pipe -Os -arch ppc -DHAVE_CONFIG_H -Wall -W -pedantic-errors -I/opt/local/include -c delete.c -o delete.o
/opt/local/bin/gcc-mp-10 -I. -I. -I./zlib -pipe -Os -arch ppc -DHAVE_CONFIG_H -Wall -W -pedantic-errors -I/opt/local/include -c options.c -o options.o
/opt/local/bin/gcc-mp-10 -I. -I. -I./zlib -pipe -Os -arch ppc -DHAVE_CONFIG_H -Wall -W -pedantic-errors -I/opt/local/include -c io.c -o io.o
/opt/local/bin/gcc-mp-10 -I. -I. -I./zlib -pipe -Os -arch ppc -DHAVE_CONFIG_H -Wall -W -pedantic-errors -I/opt/local/include -c compat.c -o compat.o
/opt/local/bin/gcc-mp-10 -I. -I. -I./zlib -pipe -Os -arch ppc -DHAVE_CONFIG_H -Wall -W -pedantic-errors -I/opt/local/include -c hlink.c -o hlink.o
/opt/local/bin/gcc-mp-10 -I. -I. -I./zlib -pipe -Os -arch ppc -DHAVE_CONFIG_H -Wall -W -pedantic-errors -I/opt/local/include -c token.c -o token.o
/opt/local/bin/gcc-mp-10 -I. -I. -I./zlib -pipe -Os -arch ppc -DHAVE_CONFIG_H -Wall -W -pedantic-errors -I/opt/local/include -c uidlist.c -o uidlist.o
uidlist.c: In function 'is_in_group':
uidlist.c:210:33: error: pointer targets in passing argument 2 of 'getgroups' differ in signedness [-Wpointer-sign]
210 | ngroups = getgroups(ngroups, gidset);
| ^~~~~~
| |
| int *
In file included from rsync.h:353,
from uidlist.c:26:
/usr/include/unistd.h:452:21: note: expected 'gid_t *' {aka 'unsigned int *'} but argument is of type 'int *'
452 | int getgroups(int, gid_t []);
| ^~~~~~~~
uidlist.c:213:18: warning: comparison of integer expressions of different signedness: 'int' and 'gid_t' {aka 'unsigned int'} [-Wsign-compare]
213 | if (gidset[n] == our_gid)
| ^~
uidlist.c:232:17: warning: comparison of integer expressions of different signedness: 'int' and 'gid_t' {aka 'unsigned int'} [-Wsign-compare]
232 | if (gidset[n] == gid)
| ^~
make: *** [uidlist.o] Error 1
make: *** Waiting for unfinished jobs....
make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_rsync/rsync/work/rsync-3.2.4'
Command failed: cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_rsync/rsync/work/rsync-3.2.4" && /usr/bin/make -j4 -w all
Exit code: 2
Error: Failed to build rsync: command execution failed
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_rsync/rsync/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets if you believe there
is a bug.
macmini:~ svacchanda$
comment:6 Changed 4 years ago by barracuda156
| Summary: | rsync fails to upgrade to @3.2.4 on 10.6.8 when building as ppc using gcc-4.2 error: pointer targets in passing argument 2 of ‘getgroups’ differ in signedness → rsync fails to upgrade to @3.2.4 on 10.6.8 when building as ppc error: pointer targets in passing argument 2 of ‘getgroups’ differ in signedness |
|---|
The error is not specific to compiler version.
comment:7 Changed 4 years ago by barracuda156
Replying to ryandesign:
That explanation doesn't make sense for Mac OS X, all versions of which are new enough to have prototypes, so I think some other failure, which the config.log should tell us about, is confusing this check into giving the wrong answer.
I attach config.log below (with gcc10).
Changed 4 years ago by barracuda156
| Attachment: | config.log added |
|---|
comment:8 follow-up: 10 Changed 4 years ago by barracuda156
Replying to ryandesign:
Ok, the log shows this configure output:
:info:configure checking type of array argument to getgroups... intThat's suspicious:
getgroupsactually takes agid_twhich is a__darwin_gid_twhich is a__uint32_twhich is an unsigned integer, vs.intwhich is a signed integer, hence the message about differing signedness.The configure script gets the correct result on my Catalina system and on the buildbot Snow Leopard machines too. Something about your cross-compiling scenario seems to be throwing off the detection. Could you attach your config.log so we can see what happened?
This determination of the type of arguments for
getgroupsis implemented in a standard autoconf macroAC_TYPE_GETGROUPS. There is a comment in the code for that macro that talks about how it will useintwhen cross compiling on old systems that lack prototypes. That explanation doesn't make sense for Mac OS X, all versions of which are new enough to have prototypes, so I think some other failure, which the config.log should tell us about, is confusing this check into giving the wrong answer.
Any idea how to fix it? The failure still there (installed 10.6.8 Server on a different machine, Macports from scratch, same build error).
comment:9 Changed 4 years ago by barracuda156
Opened a ticket: https://github.com/WayneD/rsync/issues/338
comment:10 follow-up: 11 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)
Replying to barracuda156:
Any idea how to fix it?
I was hoping to see some kind of compiler error or warning in the config.log relating to the "checking type of array argument to getgroups" test in the config.log, but I don't see anything like that in there, so no, I don't have any ideas.
As I said earlier, the check for getgroups is implemented in a standard autoconf macro AC_TYPE_GETGROUPS, so if it's giving the wrong value, then that's where the fix is needed (in autoconf); it's not something specific to rsync.
We can of course apply a band-aid over the problem in MacPorts by forcing the correct value of this check in the rsync port, but any other ports that use the same check would be affected as well and would then need that same band-aid.
comment:11 Changed 4 years ago by barracuda156
Replying to ryandesign:
Replying to barracuda156:
Any idea how to fix it?
I was hoping to see some kind of compiler error or warning in the config.log relating to the "checking type of array argument to getgroups" test in the config.log, but I don't see anything like that in there, so no, I don't have any ideas.
Thank you for checking!
As I said earlier, the check for
getgroupsis implemented in a standard autoconf macroAC_TYPE_GETGROUPS, so if it's giving the wrong value, then that's where the fix is needed (in autoconf); it's not something specific to rsync.
For w/e reason, rsync 3.2.3 builds fine though. Nothing else changed, I just took an earlier portfile.
comment:12 Changed 4 years ago by barracuda156
Temporary (likely until 3.2.5) solution from upstream: https://github.com/WayneD/rsync/issues/338#issuecomment-1201403133
comment:13 Changed 4 years ago by barracuda156
| Resolution: | → fixed |
|---|---|
| Status: | assigned → closed |

10.6.8 Server, Xcode 3.2.6