Opened 12 years ago

Closed 11 years ago

Last modified 7 years ago

#4099 closed Bug report (wontfix)

Can't link filezilla client binary in HP-UX 11.X after version 3.0.4

Reported by: Richard Lloyd Owned by:
Priority: normal Component: FileZilla Client
Keywords: Cc:
Component version: Operating system type: Other
Operating system version: HP-UX 11.11-31 (PA-RISC)


In all versions of the FileZilla Client source after 3.0.4 (including the latest at the time of writing, 3.1.6), I have been unable to link the filezilla client binary using HP's C++ compiler in HP-UX 11.X. I have been compiling with "aCC -AA -O -D_HPUX_SOURCE -D_XOPEN_EXTENDED_SOURCE" and using wxGTK 2.8.9 - here is the link error:

/usr/ccs/bin/ld: Unsatisfied symbols:

CFileListCtrl<CGenericFileData>::sm_eventTableEntries (first referenced in filezilla-RemoteListView.o) (data)
CFileListCtrl<CLocalFileData>::sm_eventTableEntries (first referenced in filezilla-LocalListView.o) (data)

Sadly, I have been able to work out why the link fails (removing optimisation doesn't help, before you ask).

Change History (5)

comment:1 by Tim Kosse, 12 years ago

Status: newmoreinfo

Possibly compiler error, according to the BEGIN_EVENT_TABLE_TEMPLATE1 macro, sm_eventTableEntries is clearly defined.

Try to replace all template<class CFileData> with template<typename CFileData> (that's that the macro uses). Afaik they are equvalent in template definitions, but your compiler might say otherwise.

comment:2 by Richard Lloyd, 12 years ago

Status: moreinfonew

Taking your suggestion literally, I did a search and replace on "template<class CFileData>" in src/interface/filelistctrl.cpp (which seemed to be the only place with that string in) and replaced it with "template<typename CFileData>". It didn't help - the same link error appeared. I might have misconstrued your suggestion though (C++ isn't my forte, unfortunately).

comment:3 by Tim Kosse, 12 years ago

Status: newmoreinfo

Probably a compiler error.

The only information I could find is this:

See points 19 and 35.

Which version of HP-UX exactly are you using? 11.X can mean a lot, there are a full 10 years between the earliest and latest X.

comment:4 by Richard Lloyd, 12 years ago

Operating system version: HP-UX 11.XHP-UX 11.11-31 (PA-RISC)
Status: moreinfonew

That patch you linked to is for HP-UX 11.00, but I've been compiling mainly on PA-RISC HP-UX 11.11 to start with. I've just tried building Filezilla 3.1.6 on later OS'es and also on Itanium and discovered that the PA-RISC compiler for HP-UX 11.11/23/31 comes up with the link error I've reported, but the Itanium compiler for HP-UX 11.23/31 does not (everything compiles/links fine on Itanium)!

This suggests to me that the PA-RISC HP C++ compiler may well have a compiler bug that isn't present in the Itanium version - quite possible, because the compilers are usually developed separately. Sadly, we need to support both PA-RISC and Itanium platforms, so 3.1.6 for HP-UX will probably have to wait until the PA-RISC compiler bug is fixed. I have a contact in HP that I feed compiler bugs to - I'll see if I can cook up a bug report for them.

comment:5 by Tim Kosse, 11 years ago

Resolution: wontfix
Status: newclosed
Note: See TracTickets for help on using tickets.