Opened 2 years ago

Closed 2 years ago

Last modified 2 years ago

#12676 closed Bug report (fixed)

Compile Error

Reported by: Fozei Owned by:
Priority: normal Component: FileZilla Server
Keywords: compile error Cc: Fozei
Component version: 1.3.0 Operating system type: Linux
Operating system version: deepin-linux 20.4

Description

I want to compile FZ Server myself.But I got compile error,I think is easy to resolve,just lines of code maybe.But I am not a CPP developer,so I can not solve it.

/bin/bash ../../libtool  --tag=CXX   --mode=compile g++ -std=c++17 -DHAVE_CONFIG_H -I. -I../../src    -I/usr/local/include -I/usr/include/p11-kit-1 -fno-exceptions -g -O2 -MT acme/libfilezilla_common_la-client.lo -MD -MP -MF acme/.deps/libfilezilla_common_la-client.Tpo -c -o acme/libfilezilla_common_la-client.lo `test -f 'acme/client.cpp' || echo './'`acme/client.cpp
libtool: compile:  g++ -std=c++17 -DHAVE_CONFIG_H -I. -I../../src -I/usr/local/include -I/usr/include/p11-kit-1 -fno-exceptions -g -O2 -MT acme/libfilezilla_common_la-client.lo -MD -MP -MF acme/.deps/libfilezilla_common_la-client.Tpo -c acme/client.cpp  -fPIC -DPIC -o acme/.libs/libfilezilla_common_la-client.o
In file included from acme/../http/client.hpp:13,
                 from acme/client.hpp:10,
                 from acme/client.cpp:1:
acme/../http/../util/options.hpp: In instantiation of ‘fz::util::options<Holder>::opt<Value>::opt(fz::util::options<Holder>::opt<U>&&) [with U = fz::util::options<fz::http::client::options, void, 18446744073709551615>::empty; Value = std::function<void(fz::http::response&&)>; Holder = fz::http::client::options]’:
acme/../http/client.hpp:36:55:   required from here
acme/../http/../util/options.hpp:30:37: error: call of overloaded ‘function(std::remove_reference<fz::util::options<fz::http::client::options, void, 18446744073709551615>::empty&>::type)’ is ambiguous
     , holder_(std::move(rhs.holder_))
                                     ^
In file included from /usr/include/c++/8/functional:59,
                 from /usr/local/include/libfilezilla/thread.hpp:6,
                 from /usr/local/include/libfilezilla/event_loop.hpp:8,
                 from /usr/local/include/libfilezilla/event_handler.hpp:4,
                 from /usr/local/include/libfilezilla/socket.hpp:13,
                 from /usr/local/include/libfilezilla/tls_layer.hpp:8,
                 from acme/client.hpp:8,
                 from acme/client.cpp:1:

https://storage.deepin.org/thread/202203151627151318_image.png

Attachments (3)

微信图片_20220315164034.png (242.2 KB ) - added by Fozei 2 years ago.
compilelog.txt (9.5 KB ) - added by Fozei 2 years ago.
Make log
log0326 (106.8 KB ) - added by Fozei 2 years ago.

Download all attachments as: .zip

Change History (12)

by Fozei, 2 years ago

comment:1 by Fabio Alemagna, 2 years ago

What does g++ --version say?
Could you please attach the full compilation log?

Version 0, edited 2 years ago by Fabio Alemagna (next)

comment:2 by Fabio Alemagna, 2 years ago

Status: newmoreinfo

in reply to:  1 comment:3 by Fozei, 2 years ago

Status: moreinfonew

Replying to Fabio Alemagna:

What does g++ --version say?
Which sources are you compiling? The latest stable ones, or the nightly builds ones? If the former, can you please try with the nightly build ones?
And could you please attach the full compilation log?


Thanks for replying !

My g++:g++ (Uos 8.3.0.3-3+rebuild) 8.3.0

I am compiling FZ Server 1.3.0 from soucer code https://download.filezilla-project.org/server/FileZilla_Server_1.3.0_x86_64-linux-gnu.tar.bz2, which I founded it from the server downloaing page(https://filezilla-project.org/download.php?type=server) -> More downloading options.

Yet, I ever go through the svn repo(https://svn.filezilla-project.org/svn/)and found the server source dir, but that codes seems all years ago.

I ineed tried the nightly build downloading ,but it seems not source code.

And could you please kindly inform me how can I get other versions code of FZ Server ?I will be pleased to try, thanks.

I will attach the full make log in attachment.

by Fozei, 2 years ago

Attachment: compilelog.txt added

Make log

comment:4 by Fabio Alemagna, 2 years ago

Priority: criticalnormal

We're using git now for the server, and the repo is not public (yet). To download the nightly sources, go to https://filezilla-project.org/nightly.php and look for "Sources snapshot" right above the downloads table.

Today's snapshot is here: https://filezilla-project.org/nightlies_server/2022-03-16/FileZilla_Server_snapshot_20220316_src.tar.bz2

From the log you gave, it looks like you've encounter a gcc bug which has been fixed starting from gcc version 8.4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86521

Please, update your compiler to the latest stable available version and try again. From what I see, your distribution is currently limited to 8.3, so you might have to import a binary from a different source or compile it yourself.

Last edited 2 years ago by Fabio Alemagna (previous) (diff)

comment:5 by Fabio Alemagna, 2 years ago

Status: newmoreinfo

comment:6 by Fozei, 2 years ago

Status: moreinfonew

OK, so many thanks. I will try it later.

comment:7 by Fozei, 2 years ago

I compiled gcc 10.3.0

gcc (GCC) 10.3.0

And I tried to make the release source code,now the previous error disappears,but I got some new errors.It is all the wxWidget class errors,like

error: invalid use of incomplete type 'class wxTextCtrl'

etc.
I will upload the log.I also compiled the latest snapshot which in 0326,but I got a log of logger errors.
It should be wxWidgets version reason ?I used 3.1.5.

Later I may try working on the source,it seems not critical issues,may just wxWidget classes.

Thanks.

by Fozei, 2 years ago

Attachment: log0326 added

comment:8 by Fabio Alemagna, 2 years ago

Resolution: fixed
Status: newclosed

The release source lacks an include, <wx/textctrl.h>, in the file networkconfigwidarz.cpp. It compiles fine with wx 3.0.x, but fails with wx 3.1.

It's been fixed on february 8th, but didn't make it into the release, as that is compiled with wx 3.0.x.

Wx 3.1 is not fully supported, neither it's tested. It might give you troubles other than this.

I suggest you build the nightly build sources, they contain also other bug fixes. I also suggest you switch to wx 3.0.x, as that's the one we develop against at the moment. If you really want to use wx 3.1, be prepared to UI glitches, in which case feel free to submit bug reports.

Thanks.

Last edited 2 years ago by Fabio Alemagna (previous) (diff)

comment:9 by Fozei, 2 years ago

Yeap!

I switch wxWidget 3.0.5,it compiled successfully !

Thanks a lot !

If these infos(GCC version,wxWidget version etc) will be add to the release comment, it will be more perfect.

Thanks again !

Note: See TracTickets for help on using tickets.