Opened 14 months ago

Last modified 14 months ago

#67089 new defect

claws-mail fails to build due to "version" file in the source root

Reported by: cheongi Owned by:
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc:
Port: claws-mail

Description (last modified by cheongi)

Macports new build from source 2.8.1 from command line appears ok.

main.log attached. Still wading through.

Looks to be a GTK problem or a GTK/Rosetta problem.

(trying homebrew for now)

Attachments (1)

claws-mail-macports-main.log (3.1 MB) - added by cheongi 14 months ago.
macports claws-mail log file

Change History (13)

Changed 14 months ago by cheongi

macports claws-mail log file

comment:1 Changed 14 months ago by cheongi

Description: modified (diff)

comment:2 Changed 14 months ago by cheongi

Description: modified (diff)

comment:3 Changed 14 months ago by kencu (Ken)

The problem is a file named "version" in the src root that is conflicting with a c++17 header file with a similar name (different case).

The workaround is to remove the version file or otherwise prevent it from being called in by adjusting the include path

comment:4 Changed 14 months ago by ryandesign (Ryan Carsten Schmidt)

The port is years out of date. The first thing to try is probably updating it to a newer version. Maybe the developers fixed this already. If they didn't, it needs to be reported to them.

comment:5 Changed 14 months ago by kencu (Ken)

everything Ryan said being true, if you delete the "version" file, the build goes through to the end.

 % port -v installed claws-mail      
The following ports are currently installed:
  claws-mail @3.17.6_4 (active) requested_variants='' platform='darwin 22' archs='arm64' date='2023-03-12T16:29:56-0700'

comment:6 Changed 14 months ago by cheongi

OK. So have built after deleting the file "version" contents "echo 3.17.6".

Now GTK won't open display.

% sudo port fetch claws-mail
% sudo port checksum claws-mail
% sudo port extract claws-mail
--->  Computing dependencies for claws-mail

[delete the "version" file]

% sudo port install claws-mail
--->  Computing dependencies for claws-mail
--->  Fetching archive for claws-mail
--->  Attempting to fetch claws-mail-3.17.6_4.darwin_22.arm64.tbz2 from https://packages.macports.org/claws-mail
--->  Attempting to fetch claws-mail-3.17.6_4.darwin_22.arm64.tbz2 from http://mirror.fcix.net/macports/packages/claws-mail
--->  Attempting to fetch claws-mail-3.17.6_4.darwin_22.arm64.tbz2 from https://pek.cn.packages.macports.org/macports/packages/claws-mail
--->  Building claws-mail
--->  Staging claws-mail into destroot                   
--->  Installing claws-mail @3.17.6_4                    
--->  Activating claws-mail @3.17.6_4
--->  Cleaning claws-mail
--->  Scanning binaries for linking errors
--->  No broken files found.
--->  No broken ports found.
% claws-mail
(claws-mail:28383): Gtk-WARNING **: 11:30:41.599: cannot open display: 

% port -v installed claws-mail
The following ports are currently installed:
  claws-mail @3.17.6_4 (active) requested_variants='' platform='darwin 22' archs='arm64' date='2023-03-19T11:29:25+1000'
Last edited 14 months ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

comment:7 Changed 14 months ago by kencu (Ken)

install xorg-server from MacPorts and reboot.

Then try again.

(Or switch everything to use +quartz which doesn't require x11 server -- for a start, I would not recommend that at your level, but in the end you might eventually prefer that.)

comment:8 Changed 14 months ago by kencu (Ken)

Summary: claws-mail fails to build - new clean machine M1 max Venturaclaws-mail fails to build due to "version" file in the source root

comment:9 Changed 14 months ago by cheongi

Thanks. That works.

Shouldn't xorg-server or +quartz be a dependency, or at least a nice message that says you need it. Fontforge left a friendly message.

Also Macports claws-mail version is older than homebrew version 3.19.0.

comment:10 Changed 14 months ago by kencu (Ken)

Long discussion over years, short answer is decision was no to xorg-server as a dependency.

We are talking about changing to +quartz as a default, but a number of things will break. This may be OK now, as x11 is moving to wayland, and currently MacOS support for wayland is very poor.

Our claws-mail is out of date. Hopefully someone who uses it (someone like you?) might adopt it and keep it updated.

comment:11 Changed 14 months ago by cheongi

The fontforge friendly installer message just says something like "Please install the xorg-server port."

Not sure I have enough skill to keep a port updated, but might have a look when I have time.

comment:12 in reply to:  9 Changed 14 months ago by ryandesign (Ryan Carsten Schmidt)

Users are expected to understand that they have to install an X server to use X software.

Replying to cheongi:

Shouldn't xorg-server [...] be a dependency,

No. There is no requirement that you install xorg-server. You might prefer to install XQuartz outside of MacPorts instead. You might conceivably even wish to use an X server located on a completely different computer.

Shouldn't [...] +quartz be a dependency,

No. It's not possible to declare a dependency on a variant of another port, and, even if it were possible, it would not be correct to declare a dependency on the +quartz variant of gtk2 since claws-mail also works perfectly with its +x11 variant. Discussion about making +quartz the default variant is #60511.

or at least a nice message that says you need it. Fontforge left a friendly message.

No. I can't see anywhere in the fontforge Portfile that would display any note advising you to use xorg-server, nor in my opinion should it.

Notes in MacPorts are displayed every time a port is installed or upgraded. Imagine we modified all ports that use X to display a note advising you to install xorg-server or XQuartz or an X server on another computer. Every time you installed or upgraded any of those ports, you would see that message again, even if you had already set up your preferred X server. These notes would become noise to you and you would tune them out, possibly inadvertently missing some other more important notes in the process.

Note: See TracTickets for help on using tickets.