Opened 13 months ago

Last modified 12 months ago

#61250 new defect

cdrtools @3.01_0: build failure with Xcode 12

Reported by: Xof (Christophe Pettus) Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.6.3
Keywords: Cc: ryandesign (Ryan Schmidt), chrstphrchvz (Christopher Chavez)
Port: cdrtools

Description

See attached build log.

Attachments (1)

main.log (185.8 KB) - added by Xof (Christophe Pettus) 13 months ago.
build log

Download all attachments as: .zip

Change History (7)

Changed 13 months ago by Xof (Christophe Pettus)

Attachment: main.log added

build log

comment:1 Changed 13 months ago by jmroot (Joshua Root)

Port: cdrtools added
Summary: cdrtools-3.01_0: build failure on 10.15.7cdrtools @3.01_0: build failure on 10.15.7
:info:build In file included from cdda2wav.c:102:
:info:build ./mytype.h:27:1: error: unknown type name 'error'
:info:build error need an integer type with 32 bits, but do not know one!
:info:build ^

comment:2 Changed 13 months ago by ryandesign (Ryan Schmidt)

Cc: ryandesign added
Summary: cdrtools @3.01_0: build failure on 10.15.7cdrtools @3.01_0: build failure with Xcode 12

This is the usual Xcode 12 problem: implicit function declarations are now an error where before they were just a warning. This port's configuration system has neglected to include a bunch of headers, for example in the parts that determine the sizeof various types, leading to failing to determine all the sizes, leading to not knowing which of them is the 32-bit size. I'm looking into it to see if I can fix the build.

Until we figure it out, you can work around the problem by downgrading to Xcode 11 and/or the Xcode 11 version of the command line tools.

comment:3 Changed 13 months ago by ryandesign (Ryan Schmidt)

In 749ad2787c30497020bdc4cca116eff9f09c800b/macports-ports (master):

cdrtools: Fix build with Xcode 12

Disable implicit function declaration errors. We can try to fix it the
right way later.

See: #61250

comment:4 Changed 12 months ago by chrstphrchvz (Christopher Chavez)

I'm guessing the problem is all the exit() usage without the requisite #include <stdlib.h> in autoconf/configure. Is there an easy way to generate autoconf/configure that will work, or is patching in #include <stdlib.h> the way to go?

comment:5 Changed 12 months ago by chrstphrchvz (Christopher Chavez)

Cc: chrstphrchvz added

comment:6 Changed 12 months ago by ryandesign (Ryan Schmidt)

cdrtools is part of the schily collection of tools, along with its build system smake, which has a similar problem. (I could not begin to troubleshoot the cdrtools problem without first building smake, which I could not build for the same reason.) I don't intend to attempt to fix it myself due to the complexity of the way that this developer implements his projects. I have reported the smake problem to him with no response yet.

Note: See TracTickets for help on using tickets.