pyqt 5.7, cannot open linker script file QtCore.exp

199 views Asked by At

I am trying to compile pyqt 5.7 in the yocto build environment, but I am getting the following error.

/usr/libexec/i586-poky-linux/gcc/i586-poky-linux/6.2.0/ld: cannot open linker script file QtCore.exp: No such file or directory

Here are the complete configure/compile outputs.

https://gist.github.com/anonymous/89cd9131378577f2383d61117389c708

Any ideas?

1

There are 1 answers

6
Stephano On

Looks like you're specifying a version script when calling gcc:

--version-script=QtCore.exp

You are probably missing this file (QtCore.exp) and ld is complaining about it.

From man ld:

--version-script=version-scriptfile

Specify the name of a version script to the linker. This is typically used when creating shared libraries to specify additional information about the version hierarchy for the library being created. This option is only fully supported on ELF platforms which support shared libraries; see VERSION. It is partially supported on PE platforms, which can use version scripts to filter symbol visibility in auto-export mode: any symbols marked local in the version script will not be exported.

In this case, the version-script option is adding shared library versioning support to Qt. For more interesting things that this option can do, Ulrich Drepper wrote a great paper called "How To Write Shared Libraries". If you read and understand this paper you'll know more than most people about shared libraries and managing ABI stability.

You can try removing this option, but better yet would be to find where the file (QtCore.exp) lives, who generates it, and updating the path to match.