You are not logged in.

#1 2023-10-16 03:45:52

youseenothing
Member
Registered: 2023-10-16
Posts: 22

[SOLVED] makepkg build() fails but can build without makepkg with...

I see that this has been mentioned many times in the past, apologies if I missed a solution from my searching. I am trying to build a package that I can compile everything just fine normally but when using makepkg with my PKGBUILD it fails towards the end of the build. I have verified the optimization flag is not being overridden and is using -O2 per Arch's target optimization. I must be missing something somewhere in regards to flags because building with the below instructions work, however, fail with makepkg.

Here is my PKGBUILD:

pkgname=wsjtx
pkgver=2.7.1
pkgrel=231014
pkgdesc="enhanced version of the excellent WSJT-X software by Joe Taylor K1JT, Steve Franke K9AN, Bill Somerville G4WJS and others"
arch=('x86_64')
url="https://sourceforge.net/projects/wsjt-x-improved/"
license=('GPL-3')

depends=(
	'fftw'
        'libindi'
	'libpng'
	'libpulse'
	'libusb'
	'libusb-compat'
	'qt5-base'
	'qt5-multimedia'
	'qt5-serialport'
	'qt5-tools'
)

makedepends=(
	'cmake'
	'asciidoc'
	'asciidoctor'
	'boost'
        'gcc-fortran'
	'git'
)

provides=('wsjtx')
conflicts=('wsjtx')
source=("https://downloads.sourceforge.net/project/wsjt-x-improved/WSJT-X_v$pkgver/Source%20code/"$pkgname-$pkgver"-devel_improved_PLUS_$pkgrel.tgz")
md5sums=('5ccaaf40ebfa00adaae1cb62890bcaa6')

build() {
	cmake -B build -S "$pkgname-$pkgver" \
		-DCMAKE_BUILD_TYPE:STRING='Release' \
		-DCMAKE_INSTALL_PREFIX:PATH='/usr' \
		-Wno-dev
	cmake --build build
}

package() {
	cd "$srcdir/build"
	DESTDIR="$pkgdir" cmake --install build
}

I am aware that there is already a package for WSJT-X in AUR but this is a fork called WSJT-X Improved. The failures I am seeing happen when building the current wsjtx AUR package and also with my package.

Here is the tail end of the build log when the error occurs:

[ 90%] Linking CXX executable wsjtx
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o): in function `RotINDIClient::setSpeed(int)':
(.text+0x216): undefined reference to `INDI::BaseDevice::isConnected() const'
/usr/bin/ld: (.text+0x23c): undefined reference to `INDI::BaseDevice::getSwitch(char const*) const'
/usr/bin/ld: (.text+0x245): undefined reference to `INDI::Property::getSwitch() const'
/usr/bin/ld: (.text+0x251): undefined reference to `INDI::PropertySwitch::~PropertySwitch()'
/usr/bin/ld: (.text+0x2cc): undefined reference to `IUFindSwitch'
/usr/bin/ld: (.text+0x31d): undefined reference to `INDI::Property::Property(_ISwitchVectorProperty*)'
/usr/bin/ld: (.text+0x329): undefined reference to `INDI::AbstractBaseClient::sendNewSwitch(INDI::Property)'
/usr/bin/ld: (.text+0x332): undefined reference to `INDI::Property::~Property()'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o): in function `RotINDIClient::move(int, int)':
(.text+0x409): undefined reference to `INDI::BaseDevice::isConnected() const'
/usr/bin/ld: (.text+0x463): undefined reference to `INDI::BaseDevice::getSwitch(char const*) const'
/usr/bin/ld: (.text+0x46c): undefined reference to `INDI::Property::getSwitch() const'
/usr/bin/ld: (.text+0x478): undefined reference to `INDI::PropertySwitch::~PropertySwitch()'
/usr/bin/ld: (.text+0x491): undefined reference to `IUFindSwitch'
/usr/bin/ld: (.text+0x4c0): undefined reference to `IUFindSwitch'
/usr/bin/ld: (.text+0x4eb): undefined reference to `INDI::Property::Property(_ISwitchVectorProperty*)'
/usr/bin/ld: (.text+0x4f7): undefined reference to `INDI::AbstractBaseClient::sendNewSwitch(INDI::Property)'
/usr/bin/ld: (.text+0x500): undefined reference to `INDI::Property::~Property()'
/usr/bin/ld: (.text+0x514): undefined reference to `INDI::BaseDevice::getSwitch(char const*) const'
/usr/bin/ld: (.text+0x51d): undefined reference to `INDI::Property::getSwitch() const'
/usr/bin/ld: (.text+0x529): undefined reference to `INDI::PropertySwitch::~PropertySwitch()'
/usr/bin/ld: (.text+0x542): undefined reference to `IUFindSwitch'
/usr/bin/ld: (.text+0x571): undefined reference to `IUFindSwitch'
/usr/bin/ld: (.text+0x59c): undefined reference to `INDI::Property::Property(_ISwitchVectorProperty*)'
/usr/bin/ld: (.text+0x5a8): undefined reference to `INDI::AbstractBaseClient::sendNewSwitch(INDI::Property)'
/usr/bin/ld: (.text+0x5b1): undefined reference to `INDI::Property::~Property()'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o): in function `RotINDIClient::stop()':
(.text+0x75e): undefined reference to `INDI::BaseDevice::isConnected() const'
/usr/bin/ld: (.text+0x77d): undefined reference to `INDI::BaseDevice::getSwitch(char const*) const'
/usr/bin/ld: (.text+0x786): undefined reference to `INDI::Property::getSwitch() const'
/usr/bin/ld: (.text+0x792): undefined reference to `INDI::PropertySwitch::~PropertySwitch()'
/usr/bin/ld: (.text+0x7ab): undefined reference to `IUFindSwitch'
/usr/bin/ld: (.text+0x7c6): undefined reference to `INDI::Property::Property(_ISwitchVectorProperty*)'
/usr/bin/ld: (.text+0x7d2): undefined reference to `INDI::AbstractBaseClient::sendNewSwitch(INDI::Property)'
/usr/bin/ld: (.text+0x7db): undefined reference to `INDI::Property::~Property()'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o): in function `RotINDIClient::park()':
(.text+0x89e): undefined reference to `INDI::BaseDevice::isConnected() const'
/usr/bin/ld: (.text+0x8be): undefined reference to `INDI::BaseDevice::getSwitch(char const*) const'
/usr/bin/ld: (.text+0x8c7): undefined reference to `INDI::Property::getSwitch() const'
/usr/bin/ld: (.text+0x8d3): undefined reference to `INDI::PropertySwitch::~PropertySwitch()'
/usr/bin/ld: (.text+0x8ec): undefined reference to `IUFindSwitch'
/usr/bin/ld: (.text+0x90f): undefined reference to `IUFindSwitch'
/usr/bin/ld: (.text+0x92a): undefined reference to `INDI::Property::Property(_ISwitchVectorProperty*)'
/usr/bin/ld: (.text+0x936): undefined reference to `INDI::AbstractBaseClient::sendNewSwitch(INDI::Property)'
/usr/bin/ld: (.text+0x93f): undefined reference to `INDI::Property::~Property()'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o): in function `RotINDIClient::unPark()':
(.text+0xa0e): undefined reference to `INDI::BaseDevice::isConnected() const'
/usr/bin/ld: (.text+0xa2e): undefined reference to `INDI::BaseDevice::getSwitch(char const*) const'
/usr/bin/ld: (.text+0xa37): undefined reference to `INDI::Property::getSwitch() const'
/usr/bin/ld: (.text+0xa43): undefined reference to `INDI::PropertySwitch::~PropertySwitch()'
/usr/bin/ld: (.text+0xa5c): undefined reference to `IUFindSwitch'
/usr/bin/ld: (.text+0xa7f): undefined reference to `IUFindSwitch'
/usr/bin/ld: (.text+0xa9e): undefined reference to `INDI::Property::Property(_ISwitchVectorProperty*)'
/usr/bin/ld: (.text+0xaaa): undefined reference to `INDI::AbstractBaseClient::sendNewSwitch(INDI::Property)'
/usr/bin/ld: (.text+0xab3): undefined reference to `INDI::Property::~Property()'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o): in function `RotINDIClient::setPosition(float, float)':
(.text+0xc8a): undefined reference to `INDI::BaseDevice::isConnected() const'
/usr/bin/ld: (.text+0xf3f): undefined reference to `INDI::BaseDevice::getSwitch(char const*) const'
/usr/bin/ld: (.text+0xf48): undefined reference to `INDI::Property::getSwitch() const'
/usr/bin/ld: (.text+0xf54): undefined reference to `INDI::PropertySwitch::~PropertySwitch()'
/usr/bin/ld: (.text+0xf6d): undefined reference to `IUFindSwitch'
/usr/bin/ld: (.text+0xf90): undefined reference to `IUFindSwitch'
/usr/bin/ld: (.text+0xfb3): undefined reference to `IUFindSwitch'
/usr/bin/ld: (.text+0xfd2): undefined reference to `INDI::Property::Property(_ISwitchVectorProperty*)'
/usr/bin/ld: (.text+0xfde): undefined reference to `INDI::AbstractBaseClient::sendNewSwitch(INDI::Property)'
/usr/bin/ld: (.text+0xfe7): undefined reference to `INDI::Property::~Property()'
/usr/bin/ld: (.text+0xffb): undefined reference to `INDI::BaseDevice::getNumber(char const*) const'
/usr/bin/ld: (.text+0x1004): undefined reference to `INDI::Property::getNumber() const'
/usr/bin/ld: (.text+0x1010): undefined reference to `INDI::PropertyNumber::~PropertyNumber()'
/usr/bin/ld: (.text+0x1049): undefined reference to `INDI::Property::Property(_INumberVectorProperty*)'
/usr/bin/ld: (.text+0x1055): undefined reference to `INDI::AbstractBaseClient::sendNewNumber(INDI::Property)'
/usr/bin/ld: (.text+0x105e): undefined reference to `INDI::Property::~Property()'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o): in function `RotINDIClient::getInfo()':
(.text+0x1253): undefined reference to `INDI::BaseDevice::isConnected() const'
/usr/bin/ld: (.text+0x1275): undefined reference to `INDI::BaseDevice::getDeviceName() const'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o): in function `RotINDIClient::close()':
(.text+0x12c3): undefined reference to `INDI::BaseDevice::isConnected() const'
/usr/bin/ld: (.text+0x12e6): undefined reference to `INDI::BaseDevice::getDeviceName() const'
/usr/bin/ld: (.text+0x12f2): undefined reference to `INDI::AbstractBaseClient::disconnectDevice(char const*)'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o): in function `indi_wrapper_get_info':
(.text+0x14d2): undefined reference to `INDI::BaseDevice::isConnected() const'
/usr/bin/ld: (.text+0x14f5): undefined reference to `INDI::BaseDevice::getDeviceName() const'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o): in function `indi_wrapper_open':
(.text+0x1568): undefined reference to `INDI::AbstractBaseClient::setServer(char const*, unsigned int)'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o): in function `RotINDIClient::newProperty(INDI::Property*)':
(.text+0x1610): undefined reference to `INDI::Property::getName() const'
/usr/bin/ld: (.text+0x16b5): undefined reference to `INDI::Property::getNumber() const'
/usr/bin/ld: (.text+0x16d6): undefined reference to `INDI::Property::getNumber() const'
/usr/bin/ld: (.text+0x173f): undefined reference to `INDI::Property::getBaseDevice() const'
/usr/bin/ld: (.text+0x1748): undefined reference to `INDI::BaseDevice::operator INDI::BaseDevice*()'
/usr/bin/ld: (.text+0x1755): undefined reference to `INDI::BaseDevice::~BaseDevice()'
/usr/bin/ld: (.text+0x175f): undefined reference to `INDI::BaseDevice::getDeviceName() const'
/usr/bin/ld: (.text+0x1780): undefined reference to `INDI::BaseDevice::getDeviceName() const'
/usr/bin/ld: (.text+0x178c): undefined reference to `INDI::AbstractBaseClient::watchDevice(char const*)'
/usr/bin/ld: (.text+0x1796): undefined reference to `INDI::BaseDevice::isConnected() const'
/usr/bin/ld: (.text+0x17c6): undefined reference to `INDI::BaseDevice::getDeviceName() const'
/usr/bin/ld: (.text+0x17d2): undefined reference to `INDI::AbstractBaseClient::connectDevice(char const*)'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o): in function `RotINDIClient::~RotINDIClient()':
(.text._ZN13RotINDIClientD2Ev[_ZN13RotINDIClientD5Ev]+0x10): undefined reference to `INDI::BaseClient::~BaseClient()'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o): in function `RotINDIClient::~RotINDIClient()':
(.text._ZN13RotINDIClientD0Ev[_ZN13RotINDIClientD5Ev]+0x14): undefined reference to `INDI::BaseClient::~BaseClient()'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o): in function `RotINDIClient::setSpeed(int) [clone .cold]':
(.text.unlikely+0x7): undefined reference to `INDI::PropertySwitch::~PropertySwitch()'
/usr/bin/ld: (.text.unlikely+0x2b): undefined reference to `INDI::Property::~Property()'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o): in function `RotINDIClient::move(int, int) [clone .cold]':
(.text.unlikely+0x59): undefined reference to `INDI::Property::~Property()'
/usr/bin/ld: (.text.unlikely+0x7b): undefined reference to `INDI::Property::~Property()'
/usr/bin/ld: (.text.unlikely+0xa3): undefined reference to `INDI::PropertySwitch::~PropertySwitch()'
/usr/bin/ld: (.text.unlikely+0xc5): undefined reference to `INDI::PropertySwitch::~PropertySwitch()'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o): in function `RotINDIClient::stop() [clone .cold]':
(.text.unlikely+0xf9): undefined reference to `INDI::PropertySwitch::~PropertySwitch()'
/usr/bin/ld: (.text.unlikely+0x11b): undefined reference to `INDI::Property::~Property()'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o): in function `RotINDIClient::park() [clone .cold]':
(.text.unlikely+0x149): undefined reference to `INDI::Property::~Property()'
/usr/bin/ld: (.text.unlikely+0x16b): undefined reference to `INDI::PropertySwitch::~PropertySwitch()'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o): in function `RotINDIClient::unPark() [clone .cold]':
(.text.unlikely+0x199): undefined reference to `INDI::PropertySwitch::~PropertySwitch()'
/usr/bin/ld: (.text.unlikely+0x1bb): undefined reference to `INDI::Property::~Property()'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o): in function `RotINDIClient::setPosition(float, float) [clone .cold]':
(.text.unlikely+0x1e9): undefined reference to `INDI::PropertySwitch::~PropertySwitch()'
/usr/bin/ld: (.text.unlikely+0x20b): undefined reference to `INDI::Property::~Property()'
/usr/bin/ld: (.text.unlikely+0x233): undefined reference to `INDI::PropertyNumber::~PropertyNumber()'
/usr/bin/ld: (.text.unlikely+0x255): undefined reference to `INDI::Property::~Property()'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o): in function `RotINDIClient::newProperty(INDI::Property*) [clone .cold]':
(.text.unlikely+0x29b): undefined reference to `INDI::BaseDevice::~BaseDevice()'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o): in function `_GLOBAL__sub_I__ZN13RotINDIClient8setSpeedEi':
(.text.startup+0x30): undefined reference to `INDI::BaseClient::BaseClient()'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o):(.data.rel.ro._ZTI13RotINDIClient[_ZTI13RotINDIClient]+0x10): undefined reference to `typeinfo for INDI::BaseClient'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o):(.data.rel.ro._ZTV13RotINDIClient[_ZTV13RotINDIClient]+0x20): undefined reference to `INDI::BaseMediator::newDevice(INDI::BaseDevice)'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o):(.data.rel.ro._ZTV13RotINDIClient[_ZTV13RotINDIClient]+0x28): undefined reference to `INDI::BaseMediator::removeDevice(INDI::BaseDevice)'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o):(.data.rel.ro._ZTV13RotINDIClient[_ZTV13RotINDIClient]+0x30): undefined reference to `INDI::BaseMediator::newProperty(INDI::Property)'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o):(.data.rel.ro._ZTV13RotINDIClient[_ZTV13RotINDIClient]+0x38): undefined reference to `INDI::BaseMediator::updateProperty(INDI::Property)'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o):(.data.rel.ro._ZTV13RotINDIClient[_ZTV13RotINDIClient]+0x40): undefined reference to `INDI::BaseMediator::removeProperty(INDI::Property)'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o):(.data.rel.ro._ZTV13RotINDIClient[_ZTV13RotINDIClient]+0x48): undefined reference to `INDI::BaseMediator::newMessage(INDI::BaseDevice, int)'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o):(.data.rel.ro._ZTV13RotINDIClient[_ZTV13RotINDIClient]+0x60): undefined reference to `INDI::BaseClient::connectServer()'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o):(.data.rel.ro._ZTV13RotINDIClient[_ZTV13RotINDIClient]+0x68): undefined reference to `INDI::BaseClient::disconnectServer(int)'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o):(.data.rel.ro._ZTV13RotINDIClient[_ZTV13RotINDIClient]+0x70): undefined reference to `INDI::AbstractBaseClient::newPingReply(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o):(.data.rel.ro._ZTV13RotINDIClient[_ZTV13RotINDIClient]+0x78): undefined reference to `INDI::AbstractBaseClient::newUniversalMessage(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
collect2: error: ld returned 1 exit status
make[5]: *** [CMakeFiles/wsjtx.dir/build.make:906: wsjtx] Error 1
make[4]: *** [CMakeFiles/Makefile2:1503: CMakeFiles/wsjtx.dir/all] Error 2
make[3]: *** [Makefile:156: all] Error 2
make[2]: *** [CMakeFiles/wsjtx-build.dir/build.make:73: wsjtx-prefix/src/wsjtx-stamp/wsjtx-build] Error 2
make[1]: *** [CMakeFiles/Makefile2:279: CMakeFiles/wsjtx-build.dir/all] Error 2
make: *** [Makefile:91: all] Error 2
==> ERROR: A failure occurred in build().
    Aborting...

Any insight or help with this would be greatly appreciated! Thanks in advance!

EDIT: This is on a fresh Arch install, if that matters to anyone.

Last edited by youseenothing (2023-10-19 19:46:58)

Offline

#2 2023-10-16 05:01:54

mpan
Member
Registered: 2012-08-01
Posts: 1,343
Website

Re: [SOLVED] makepkg build() fails but can build without makepkg with...

Aren’t you missing libindi from depends or makedepends?


Sometimes I seem a bit harsh — don’t get offended too easily!

Offline

#3 2023-10-16 05:12:58

youseenothing
Member
Registered: 2023-10-16
Posts: 22

Re: [SOLVED] makepkg build() fails but can build without makepkg with...

mpan wrote:

Aren’t you missing libindi from depends or makedepends?

I have added it again to depends just for the sake of confirming, and I still get the same result. I had it in an earlier version of my PKGBUILD.

Offline

#4 2023-10-16 07:10:00

seth
Member
Registered: 2012-09-03
Posts: 59,718

Re: [SOLVED] makepkg build() fails but can build without makepkg with...

Try to build it verbose to log the actual linking and/or inspect the cmake configuration.

I see that this has been mentioned many times in the past

What has been mentioned where? generic makepkg failures or wsjt-x build specific problems?

Offline

#5 2023-10-16 09:45:14

Lone_Wolf
Administrator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 13,031

Re: [SOLVED] makepkg build() fails but can build without makepkg with...

The build in a clean chroot fails because of LTO warnings that are treated as errors.

Add options=(!lto) .

Also append -j 1 to the cmake --build command to ensure jobs are executed serially , not paralllel .

With those 2 changes it should become clear what the problem is .


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.

clean chroot building not flexible enough ?
Try clean chroot manager by graysky

Offline

#6 2023-10-16 14:39:52

youseenothing
Member
Registered: 2023-10-16
Posts: 22

Re: [SOLVED] makepkg build() fails but can build without makepkg with...

seth wrote:

Try to build it verbose to log the actual linking and/or inspect the cmake configuration.

I see that this has been mentioned many times in the past

What has been mentioned where? generic makepkg failures or wsjt-x build specific problems?

I will try to build it verbose and both the linking issue (with different libs) and wsjt-x AUR build issues in the past.

Last edited by youseenothing (2023-10-16 14:46:54)

Offline

#7 2023-10-16 14:53:48

youseenothing
Member
Registered: 2023-10-16
Posts: 22

Re: [SOLVED] makepkg build() fails but can build without makepkg with...

Lone_Wolf wrote:

The build in a clean chroot fails because of LTO warnings that are treated as errors.

Add options=(!lto) .

Also append -j 1 to the cmake --build command to ensure jobs are executed serially , not paralllel .

With those 2 changes it should become clear what the problem is .

The results from the build are the same with the same error, as seen here:

[ 90%] Linking CXX executable wsjtx
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o): in function `RotINDIClient::setSpeed(int)':
(.text+0x216): undefined reference to `INDI::BaseDevice::isConnected() const'
/usr/bin/ld: (.text+0x23c): undefined reference to `INDI::BaseDevice::getSwitch(char const*) const'
/usr/bin/ld: (.text+0x245): undefined reference to `INDI::Property::getSwitch() const'
/usr/bin/ld: (.text+0x251): undefined reference to `INDI::PropertySwitch::~PropertySwitch()'
/usr/bin/ld: (.text+0x2cc): undefined reference to `IUFindSwitch'
/usr/bin/ld: (.text+0x31d): undefined reference to `INDI::Property::Property(_ISwitchVectorProperty*)'
/usr/bin/ld: (.text+0x329): undefined reference to `INDI::AbstractBaseClient::sendNewSwitch(INDI::Property)'
/usr/bin/ld: (.text+0x332): undefined reference to `INDI::Property::~Property()'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o): in function `RotINDIClient::move(int, int)':
(.text+0x409): undefined reference to `INDI::BaseDevice::isConnected() const'
/usr/bin/ld: (.text+0x463): undefined reference to `INDI::BaseDevice::getSwitch(char const*) const'
/usr/bin/ld: (.text+0x46c): undefined reference to `INDI::Property::getSwitch() const'
/usr/bin/ld: (.text+0x478): undefined reference to `INDI::PropertySwitch::~PropertySwitch()'
/usr/bin/ld: (.text+0x491): undefined reference to `IUFindSwitch'
/usr/bin/ld: (.text+0x4c0): undefined reference to `IUFindSwitch'
/usr/bin/ld: (.text+0x4eb): undefined reference to `INDI::Property::Property(_ISwitchVectorProperty*)'
/usr/bin/ld: (.text+0x4f7): undefined reference to `INDI::AbstractBaseClient::sendNewSwitch(INDI::Property)'
/usr/bin/ld: (.text+0x500): undefined reference to `INDI::Property::~Property()'
/usr/bin/ld: (.text+0x514): undefined reference to `INDI::BaseDevice::getSwitch(char const*) const'
/usr/bin/ld: (.text+0x51d): undefined reference to `INDI::Property::getSwitch() const'
/usr/bin/ld: (.text+0x529): undefined reference to `INDI::PropertySwitch::~PropertySwitch()'
/usr/bin/ld: (.text+0x542): undefined reference to `IUFindSwitch'
/usr/bin/ld: (.text+0x571): undefined reference to `IUFindSwitch'
/usr/bin/ld: (.text+0x59c): undefined reference to `INDI::Property::Property(_ISwitchVectorProperty*)'
/usr/bin/ld: (.text+0x5a8): undefined reference to `INDI::AbstractBaseClient::sendNewSwitch(INDI::Property)'
/usr/bin/ld: (.text+0x5b1): undefined reference to `INDI::Property::~Property()'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o): in function `RotINDIClient::stop()':
(.text+0x75e): undefined reference to `INDI::BaseDevice::isConnected() const'
/usr/bin/ld: (.text+0x77d): undefined reference to `INDI::BaseDevice::getSwitch(char const*) const'
/usr/bin/ld: (.text+0x786): undefined reference to `INDI::Property::getSwitch() const'
/usr/bin/ld: (.text+0x792): undefined reference to `INDI::PropertySwitch::~PropertySwitch()'
/usr/bin/ld: (.text+0x7ab): undefined reference to `IUFindSwitch'
/usr/bin/ld: (.text+0x7c6): undefined reference to `INDI::Property::Property(_ISwitchVectorProperty*)'
/usr/bin/ld: (.text+0x7d2): undefined reference to `INDI::AbstractBaseClient::sendNewSwitch(INDI::Property)'
/usr/bin/ld: (.text+0x7db): undefined reference to `INDI::Property::~Property()'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o): in function `RotINDIClient::park()':
(.text+0x89e): undefined reference to `INDI::BaseDevice::isConnected() const'
/usr/bin/ld: (.text+0x8be): undefined reference to `INDI::BaseDevice::getSwitch(char const*) const'
/usr/bin/ld: (.text+0x8c7): undefined reference to `INDI::Property::getSwitch() const'
/usr/bin/ld: (.text+0x8d3): undefined reference to `INDI::PropertySwitch::~PropertySwitch()'
/usr/bin/ld: (.text+0x8ec): undefined reference to `IUFindSwitch'
/usr/bin/ld: (.text+0x90f): undefined reference to `IUFindSwitch'
/usr/bin/ld: (.text+0x92a): undefined reference to `INDI::Property::Property(_ISwitchVectorProperty*)'
/usr/bin/ld: (.text+0x936): undefined reference to `INDI::AbstractBaseClient::sendNewSwitch(INDI::Property)'
/usr/bin/ld: (.text+0x93f): undefined reference to `INDI::Property::~Property()'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o): in function `RotINDIClient::unPark()':
(.text+0xa0e): undefined reference to `INDI::BaseDevice::isConnected() const'
/usr/bin/ld: (.text+0xa2e): undefined reference to `INDI::BaseDevice::getSwitch(char const*) const'
/usr/bin/ld: (.text+0xa37): undefined reference to `INDI::Property::getSwitch() const'
/usr/bin/ld: (.text+0xa43): undefined reference to `INDI::PropertySwitch::~PropertySwitch()'
/usr/bin/ld: (.text+0xa5c): undefined reference to `IUFindSwitch'
/usr/bin/ld: (.text+0xa7f): undefined reference to `IUFindSwitch'
/usr/bin/ld: (.text+0xa9e): undefined reference to `INDI::Property::Property(_ISwitchVectorProperty*)'
/usr/bin/ld: (.text+0xaaa): undefined reference to `INDI::AbstractBaseClient::sendNewSwitch(INDI::Property)'
/usr/bin/ld: (.text+0xab3): undefined reference to `INDI::Property::~Property()'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o): in function `RotINDIClient::setPosition(float, float)':
(.text+0xc8a): undefined reference to `INDI::BaseDevice::isConnected() const'
/usr/bin/ld: (.text+0xf3f): undefined reference to `INDI::BaseDevice::getSwitch(char const*) const'
/usr/bin/ld: (.text+0xf48): undefined reference to `INDI::Property::getSwitch() const'
/usr/bin/ld: (.text+0xf54): undefined reference to `INDI::PropertySwitch::~PropertySwitch()'
/usr/bin/ld: (.text+0xf6d): undefined reference to `IUFindSwitch'
/usr/bin/ld: (.text+0xf90): undefined reference to `IUFindSwitch'
/usr/bin/ld: (.text+0xfb3): undefined reference to `IUFindSwitch'
/usr/bin/ld: (.text+0xfd2): undefined reference to `INDI::Property::Property(_ISwitchVectorProperty*)'
/usr/bin/ld: (.text+0xfde): undefined reference to `INDI::AbstractBaseClient::sendNewSwitch(INDI::Property)'
/usr/bin/ld: (.text+0xfe7): undefined reference to `INDI::Property::~Property()'
/usr/bin/ld: (.text+0xffb): undefined reference to `INDI::BaseDevice::getNumber(char const*) const'
/usr/bin/ld: (.text+0x1004): undefined reference to `INDI::Property::getNumber() const'
/usr/bin/ld: (.text+0x1010): undefined reference to `INDI::PropertyNumber::~PropertyNumber()'
/usr/bin/ld: (.text+0x1049): undefined reference to `INDI::Property::Property(_INumberVectorProperty*)'
/usr/bin/ld: (.text+0x1055): undefined reference to `INDI::AbstractBaseClient::sendNewNumber(INDI::Property)'
/usr/bin/ld: (.text+0x105e): undefined reference to `INDI::Property::~Property()'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o): in function `RotINDIClient::getInfo()':
(.text+0x1253): undefined reference to `INDI::BaseDevice::isConnected() const'
/usr/bin/ld: (.text+0x1275): undefined reference to `INDI::BaseDevice::getDeviceName() const'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o): in function `RotINDIClient::close()':
(.text+0x12c3): undefined reference to `INDI::BaseDevice::isConnected() const'
/usr/bin/ld: (.text+0x12e6): undefined reference to `INDI::BaseDevice::getDeviceName() const'
/usr/bin/ld: (.text+0x12f2): undefined reference to `INDI::AbstractBaseClient::disconnectDevice(char const*)'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o): in function `indi_wrapper_get_info':
(.text+0x14d2): undefined reference to `INDI::BaseDevice::isConnected() const'
/usr/bin/ld: (.text+0x14f5): undefined reference to `INDI::BaseDevice::getDeviceName() const'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o): in function `indi_wrapper_open':
(.text+0x1568): undefined reference to `INDI::AbstractBaseClient::setServer(char const*, unsigned int)'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o): in function `RotINDIClient::newProperty(INDI::Property*)':
(.text+0x1610): undefined reference to `INDI::Property::getName() const'
/usr/bin/ld: (.text+0x16b5): undefined reference to `INDI::Property::getNumber() const'
/usr/bin/ld: (.text+0x16d6): undefined reference to `INDI::Property::getNumber() const'
/usr/bin/ld: (.text+0x173f): undefined reference to `INDI::Property::getBaseDevice() const'
/usr/bin/ld: (.text+0x1748): undefined reference to `INDI::BaseDevice::operator INDI::BaseDevice*()'
/usr/bin/ld: (.text+0x1755): undefined reference to `INDI::BaseDevice::~BaseDevice()'
/usr/bin/ld: (.text+0x175f): undefined reference to `INDI::BaseDevice::getDeviceName() const'
/usr/bin/ld: (.text+0x1780): undefined reference to `INDI::BaseDevice::getDeviceName() const'
/usr/bin/ld: (.text+0x178c): undefined reference to `INDI::AbstractBaseClient::watchDevice(char const*)'
/usr/bin/ld: (.text+0x1796): undefined reference to `INDI::BaseDevice::isConnected() const'
/usr/bin/ld: (.text+0x17c6): undefined reference to `INDI::BaseDevice::getDeviceName() const'
/usr/bin/ld: (.text+0x17d2): undefined reference to `INDI::AbstractBaseClient::connectDevice(char const*)'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o): in function `RotINDIClient::~RotINDIClient()':
(.text._ZN13RotINDIClientD2Ev[_ZN13RotINDIClientD5Ev]+0x10): undefined reference to `INDI::BaseClient::~BaseClient()'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o): in function `RotINDIClient::~RotINDIClient()':
(.text._ZN13RotINDIClientD0Ev[_ZN13RotINDIClientD5Ev]+0x14): undefined reference to `INDI::BaseClient::~BaseClient()'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o): in function `RotINDIClient::setSpeed(int) [clone .cold]':
(.text.unlikely+0x7): undefined reference to `INDI::PropertySwitch::~PropertySwitch()'
/usr/bin/ld: (.text.unlikely+0x2b): undefined reference to `INDI::Property::~Property()'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o): in function `RotINDIClient::move(int, int) [clone .cold]':
(.text.unlikely+0x59): undefined reference to `INDI::Property::~Property()'
/usr/bin/ld: (.text.unlikely+0x7b): undefined reference to `INDI::Property::~Property()'
/usr/bin/ld: (.text.unlikely+0xa3): undefined reference to `INDI::PropertySwitch::~PropertySwitch()'
/usr/bin/ld: (.text.unlikely+0xc5): undefined reference to `INDI::PropertySwitch::~PropertySwitch()'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o): in function `RotINDIClient::stop() [clone .cold]':
(.text.unlikely+0xf9): undefined reference to `INDI::PropertySwitch::~PropertySwitch()'
/usr/bin/ld: (.text.unlikely+0x11b): undefined reference to `INDI::Property::~Property()'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o): in function `RotINDIClient::park() [clone .cold]':
(.text.unlikely+0x149): undefined reference to `INDI::Property::~Property()'
/usr/bin/ld: (.text.unlikely+0x16b): undefined reference to `INDI::PropertySwitch::~PropertySwitch()'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o): in function `RotINDIClient::unPark() [clone .cold]':
(.text.unlikely+0x199): undefined reference to `INDI::PropertySwitch::~PropertySwitch()'
/usr/bin/ld: (.text.unlikely+0x1bb): undefined reference to `INDI::Property::~Property()'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o): in function `RotINDIClient::setPosition(float, float) [clone .cold]':
(.text.unlikely+0x1e9): undefined reference to `INDI::PropertySwitch::~PropertySwitch()'
/usr/bin/ld: (.text.unlikely+0x20b): undefined reference to `INDI::Property::~Property()'
/usr/bin/ld: (.text.unlikely+0x233): undefined reference to `INDI::PropertyNumber::~PropertyNumber()'
/usr/bin/ld: (.text.unlikely+0x255): undefined reference to `INDI::Property::~Property()'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o): in function `RotINDIClient::newProperty(INDI::Property*) [clone .cold]':
(.text.unlikely+0x29b): undefined reference to `INDI::BaseDevice::~BaseDevice()'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o): in function `_GLOBAL__sub_I__ZN13RotINDIClient8setSpeedEi':
(.text.startup+0x30): undefined reference to `INDI::BaseClient::BaseClient()'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o):(.data.rel.ro._ZTI13RotINDIClient[_ZTI13RotINDIClient]+0x10): undefined reference to `typeinfo for INDI::BaseClient'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o):(.data.rel.ro._ZTV13RotINDIClient[_ZTV13RotINDIClient]+0x20): undefined reference to `INDI::BaseMediator::newDevice(INDI::BaseDevice)'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o):(.data.rel.ro._ZTV13RotINDIClient[_ZTV13RotINDIClient]+0x28): undefined reference to `INDI::BaseMediator::removeDevice(INDI::BaseDevice)'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o):(.data.rel.ro._ZTV13RotINDIClient[_ZTV13RotINDIClient]+0x30): undefined reference to `INDI::BaseMediator::newProperty(INDI::Property)'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o):(.data.rel.ro._ZTV13RotINDIClient[_ZTV13RotINDIClient]+0x38): undefined reference to `INDI::BaseMediator::updateProperty(INDI::Property)'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o):(.data.rel.ro._ZTV13RotINDIClient[_ZTV13RotINDIClient]+0x40): undefined reference to `INDI::BaseMediator::removeProperty(INDI::Property)'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o):(.data.rel.ro._ZTV13RotINDIClient[_ZTV13RotINDIClient]+0x48): undefined reference to `INDI::BaseMediator::newMessage(INDI::BaseDevice, int)'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o):(.data.rel.ro._ZTV13RotINDIClient[_ZTV13RotINDIClient]+0x60): undefined reference to `INDI::BaseClient::connectServer()'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o):(.data.rel.ro._ZTV13RotINDIClient[_ZTV13RotINDIClient]+0x68): undefined reference to `INDI::BaseClient::disconnectServer(int)'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o):(.data.rel.ro._ZTV13RotINDIClient[_ZTV13RotINDIClient]+0x70): undefined reference to `INDI::AbstractBaseClient::newPingReply(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
/usr/bin/ld: /home/james/abs/wsjtx-improved/src/build/hamlib-prefix/lib/libhamlib.a(indi_wrapper.o):(.data.rel.ro._ZTV13RotINDIClient[_ZTV13RotINDIClient]+0x78): undefined reference to `INDI::AbstractBaseClient::newUniversalMessage(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
collect2: error: ld returned 1 exit status
make[5]: *** [CMakeFiles/wsjtx.dir/build.make:906: wsjtx] Error 1
make[4]: *** [CMakeFiles/Makefile2:1503: CMakeFiles/wsjtx.dir/all] Error 2
make[3]: *** [Makefile:156: all] Error 2
make[2]: *** [CMakeFiles/wsjtx-build.dir/build.make:73: wsjtx-prefix/src/wsjtx-stamp/wsjtx-build] Error 2
make[1]: *** [CMakeFiles/Makefile2:279: CMakeFiles/wsjtx-build.dir/all] Error 2
make: *** [Makefile:91: all] Error 2
==> ERROR: A failure occurred in build().
    Aborting...

Offline

#8 2023-10-16 15:18:55

seth
Member
Registered: 2012-09-03
Posts: 59,718

Re: [SOLVED] makepkg build() fails but can build without makepkg with...

You're not linking libindi but it's not possible to say "why" from the snippet posted twice.
Also please link the previous occurrences you refer to.

Offline

#9 2023-10-16 15:43:11

youseenothing
Member
Registered: 2023-10-16
Posts: 22

Re: [SOLVED] makepkg build() fails but can build without makepkg with...

seth wrote:

You're not linking libindi but it's not possible to say "why" from the snippet posted twice.
Also please link the previous occurrences you refer to.

Yes, I see that. Here is the complete log for the build: https://0x0.st/HJs6.log

As for the past occurrences, I have seen similar errors for building the original WSJT-X AUR package, as seen in the comments of that package (https://aur.archlinux.org/packages/wsjtx) and other packages utilizing the WSJT-X core codebase (ie JTDX).

Offline

#10 2023-10-17 07:37:02

seth
Member
Registered: 2012-09-03
Posts: 59,718

Re: [SOLVED] makepkg build() fails but can build without makepkg with...

https://aur.archlinux.org/packages/wsjt … ent-792790 was ~30 months ago …
When you're building it manually, do you simply build w/o libindi?

pkgconf --static --libs libindi
pkgconf --libs libindi

Offline

#11 2023-10-17 19:17:07

youseenothing
Member
Registered: 2023-10-16
Posts: 22

Re: [SOLVED] makepkg build() fails but can build without makepkg with...

seth wrote:

https://aur.archlinux.org/packages/wsjt … ent-792790 was ~30 months ago …
When you're building it manually, do you simply build w/o libindi?

pkgconf --static --libs libindi
pkgconf --libs libindi

When I compile from source, I simply follow the exact commands in build and install in PKGBUILD as those are the build commands from the developers of WSJT-X. It compiles on my system fine when I do that but in a clean chroot it fails with the above error. I appreciate you taking the time to work through this with me.

Offline

#12 2023-10-17 19:37:16

seth
Member
Registered: 2012-09-03
Posts: 59,718

Re: [SOLVED] makepkg build() fails but can build without makepkg with...

That doesn't really answer the question, though. Nor did you post the libindi pkgconf.

However, we're maybe looking a the wrong end:

[ 15%] Performing download step (verify and extract) for 'hamlib'
     file='/build/wsjtx/src/wsjtx-2.7.1/src/hamlib-4.6.tar.gz'
     src='/build/wsjtx/src/wsjtx-2.7.1/src/hamlib-4.6.tar.gz'
     dst='/build/wsjtx/src/build/hamlib-prefix/src/hamlib'

I assume you've

pacman -Qs hamlib

installed?
When you build it w/o the AUR package, does it also build its custom hamlib?

Edit: what if you add hamlib to the (make)deps of wsjtx ?

Last edited by seth (2023-10-17 19:39:18)

Offline

#13 2023-10-17 19:42:01

youseenothing
Member
Registered: 2023-10-16
Posts: 22

Re: [SOLVED] makepkg build() fails but can build without makepkg with...

seth wrote:

That doesn't really answer the question, though. Nor did you post the libindi pkgconf.

However, we're maybe looking a the wrong end:

[ 15%] Performing download step (verify and extract) for 'hamlib'
     file='/build/wsjtx/src/wsjtx-2.7.1/src/hamlib-4.6.tar.gz'
     src='/build/wsjtx/src/wsjtx-2.7.1/src/hamlib-4.6.tar.gz'
     dst='/build/wsjtx/src/build/hamlib-prefix/src/hamlib'

I assume you've

pacman -Qs hamlib

installed?
When you build it w/o the AUR package, does it also build its custom hamlib?

Sorry, forgot to post that in the last reply. Here is the pkgconf output:

pkgconf --static --libs libindi
-lz -lcfitsio -lnova 

pkgconf --libs libindi

When I build without AUR it builds the custom hamlib. I do have hamlib installed.

> pacman -Qs hamlib
local/hamlib 4.5.5-3
    Ham radio equipment control libraries
local/jtdxhamlib 4.2-1
    Modified hamlib for jtdx

Last edited by youseenothing (2023-10-17 19:46:00)

Offline

#14 2023-10-17 19:54:51

seth
Member
Registered: 2012-09-03
Posts: 59,718

Re: [SOLVED] makepkg build() fails but can build without makepkg with...

Edit /usr/lib/pkgconfig/libindi.pc, find the line that says "Libs:" and have it say "Libs: -lindiclient"

Edit: or, maybe more correctly:

Libs: -L${libdir} -lindiclient

No idea why that'd only be a problem w/ the AUR build, though.

Last edited by seth (2023-10-17 19:58:49)

Offline

#15 2023-10-17 20:16:19

youseenothing
Member
Registered: 2023-10-16
Posts: 22

Re: [SOLVED] makepkg build() fails but can build without makepkg with...

seth wrote:

Edit /usr/lib/pkgconfig/libindi.pc, find the line that says "Libs:" and have it say "Libs: -lindiclient"

Edit: or, maybe more correctly:

Libs: -L${libdir} -lindiclient

No idea why that'd only be a problem w/ the AUR build, though.

No dice. makepkg still fails with the same error.

Offline

#16 2023-10-18 07:01:28

seth
Member
Registered: 2012-09-03
Posts: 59,718

Re: [SOLVED] makepkg build() fails but can build without makepkg with...

Do you have the build log from the local build?

Offline

#17 2023-10-18 16:37:34

youseenothing
Member
Registered: 2023-10-16
Posts: 22

Re: [SOLVED] makepkg build() fails but can build without makepkg with...

seth wrote:

Do you have the build log from the local build?

Sorry, I don't have the local build log as I have removed that from the system.

Offline

#18 2023-10-18 19:23:56

seth
Member
Registered: 2012-09-03
Posts: 59,718

Re: [SOLVED] makepkg build() fails but can build without makepkg with...

So how do you actually *know* that it built the custom hamlib?

Offline

#19 2023-10-18 19:42:05

youseenothing
Member
Registered: 2023-10-16
Posts: 22

Re: [SOLVED] makepkg build() fails but can build without makepkg with...

seth wrote:

So how do you actually *know* that it built the custom hamlib?

The hamlib-prefix directory is populated with the custom hamlib binaries, libraries, etc. So it is building them. If they weren't being built then that directory would be empty.

Offline

#20 2023-10-18 20:05:18

youseenothing
Member
Registered: 2023-10-16
Posts: 22

Re: [SOLVED] makepkg build() fails but can build without makepkg with...

As a test to see if it is just the superbuild method provided by the developers, I changed the PKGBUILD to utilize the original build methodology. (See PKGBUILD below) The result is the same but when I build from source it builds and installs just fine but using makepkg fails.

pkgname=wsjtx
pkgver=2.7.1
pkgrel=231018
pkgdesc="enhanced version of the excellent WSJT-X software by Joe Taylor K1JT, Steve Franke K9AN, Bill Somerville G4WJS and others"
arch=('x86_64')
url="https://sourceforge.net/projects/wsjt-x-improved/"
license=('GPL-3')

depends=(
	'fftw'
	'libpng'
	'libpulse'
	'libusb'
	'libusb-compat'
	'portaudio'
	'qt5-base'
	'qt5-multimedia'
	'qt5-serialport'
	'qt5-tools'
)

makedepends=(
	'cmake'
	'asciidoc'
	'asciidoctor'
	'boost'
	'gcc-fortran'
	'git'
	'texinfo'
)

provides=('wsjtx')
conflicts=('wsjtx')
source=("https://downloads.sourceforge.net/project/wsjt-x-improved/WSJT-X_v$pkgver/Source%20code/"$pkgname-$pkgver"-devel_improved_PLUS_$pkgrel.tgz")
md5sums=('0056d476a115836ec497e43ceceb0c3a')
sha1sums=('5babdbcfc8f3f627449359b363c06d339c284880')

build() {
	mkdir -p $srcdir/$pkgname-$pkgver/hamlib-prefix
	cd $srcdir/$pkgname-$pkgver/hamlib-prefix
	tar xzvf ../src/hamlib-4.6.tar.gz
	cd hamlib-4.6
	mkdir ../build
	cd ../build
	$srcdir/$pkgname-$pkgver/hamlib-prefix/hamlib-4.6/configure --prefix=$srcdir/$pkgname-$pkgver/hamlib-prefix \
		--disable-shared --enable-static \
		--without-cxx-binding --disable-winradio \
		CFLAGS="-g -O2 -fdata-sections -ffunction-sections" \
		LDFLAGS="-Wl,--gc-sections"
	make
	make install-strip

	mkdir -p $srcdir/$pkgname-$pkgver/wsjtx-prefix
	cd $srcdir/$pkgname-$pkgver/wsjtx-prefix
	tar xzvf ../src/wsjtx.tgz
	cd wsjtx
	mkdir ../build
	cd ../build
	cmake \
		-DCMAKE_PREFIX_PATH=$srcdir/$pkgname-$pkgver/hamlib-prefix \
		-DWSJT_SKIP_MANPAGES=ON \
		-DWSJT_GENERATE_DOCS=OFF \
		-DCMAKE_INSTALL_PREFIX=/usr \
		-DCMAKE_BUILD_TYPE=Release ../wsjtx
	cmake --build .
}

package() {
	cd "$srcdir/$pkgname-$pkgver/build"
        cmake --build . --target install
}

Last edited by youseenothing (2023-10-18 20:08:23)

Offline

#21 2023-10-19 04:42:23

youseenothing
Member
Registered: 2023-10-16
Posts: 22

Re: [SOLVED] makepkg build() fails but can build without makepkg with...

Well, this has kind of been resolved. Now there is an issue with the development version that I am trying to build. @seth, thanks for your help with this, I appreciate your guidance.

Offline

#22 2023-10-19 06:42:17

seth
Member
Registered: 2012-09-03
Posts: 59,718

Re: [SOLVED] makepkg build() fails but can build without makepkg with...

Has "kind of been resolved" how?
And what's the "issue with the development version"?

Offline

#23 2023-10-19 08:01:35

Lone_Wolf
Administrator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 13,031

Re: [SOLVED] makepkg build() fails but can build without makepkg with...

FTR:

Adding options=(!lto) to the PKGBUILD in #1 and building it in a clean chroot with extra-x86_64-build results in a FTBFS because repo boost is to new for the software,

Any other issues like the undefined references are caused by something local .

Last edited by Lone_Wolf (2023-10-19 08:02:03)


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.

clean chroot building not flexible enough ?
Try clean chroot manager by graysky

Offline

#24 2023-10-19 09:07:32

youseenothing
Member
Registered: 2023-10-16
Posts: 22

Re: [SOLVED] makepkg build() fails but can build without makepkg with...

seth wrote:

Has "kind of been resolved" how?
And what's the "issue with the development version"?

I have got a working PKGBUILD now but the version I was building has some bugs being worked out, which were part of the cause. Now the failing is happening due to some cmake file issues. I have moved to another version until these issues are worked out with the developers.

Offline

#25 2023-10-19 12:16:00

seth
Member
Registered: 2012-09-03
Posts: 59,718

Re: [SOLVED] makepkg build() fails but can build without makepkg with...

Obligatory https://xkcd.com/979/
You could record the working PKGBUILD to illustrate the critical differences - your(?) post at the upstream mailinglist seems unanswered

Offline

Board footer

Powered by FluxBB