Solved Pidgin won't build

Hello

I would like to build and install net-im/pidgin, but the process halts due to a missing dependency:
Code:
...
checking for X11... yes
checking for XScreenSaverRegister in -lXext... no
checking for XScreenSaverRegister in -lXss... no
configure: error:
XScreenSaver extension development headers not found.
Use --disable-screensaver if you do not need XScreenSaver extension support,
this is required for detecting idle time by mouse and keyboard usage.

===>  Script "configure" failed unexpectedly.
...
Following the error is a description on how to report the issue to the maintainer, but before I do that, I have 2 questions I was hoping could be answered.

1. Is the Ports Collection current? I mean, when using pkg I have to choose between stable and current, and thus it might take a few months for minor issues to be fixed on the stable channel (which is fine by me). If it's the same for the Ports Collection, that there is a delay before I get minor fixes, I would like to check if the Makefile has been fixed before reporting the issue. I just ran portsnap so I should be fully updated.

2. Can I pass the --disable-screensaver to make? While this is not meant as a fix, I would like to know about other issues (if any) before I report this one, so I may report all issues at once.

I hope the above makes sense.
 
Hi nicky,

From the message snip you posted I'm under the impression that your system does not match the requirements to install pidgin in the way you do (which would be helpful to know). The message is stating that XScreenSaver extension development headers are not found, so you have to install them first.

I would like to encourage you to read the following: https://www.freebsd.org/doc/handbook/ports-using.html

However a possible solution to your challenge installing pidgin might be the following:

Code:
1. run a xterm
2. become root
    su -
3. install pidgin
    pkg install pidgin

Best regards

PS: Command sequence had been tested on FreeBSD 11.0-RELEASE-p9 .
 
Hello Tanis

Thank you for the reply.

Starting from the bottom, you are right, I probably could use the binary package management to install Pidgin. When I would rather use the Ports, it's mainly because the binary package supports video, and as such depends on 16 gstreamer packages. While 16 extra packages in this case is OK, it would sum up for the entire system.

While the Handbook is really good, it doesn't give any hints on how to pass make build option, as far as I can see.

For the dependency on the XScreenSaver headers, I agree. However, I was under the impression that the Pidgin makefile should either check for, and install, them, or allow me to disable their use through the make config option. I might be wrong that point, but thus far using the Ports Collection for a few years, this is the only package which don't solve the dependencies by itself.
 
Hi nicky,

If I use the port collection I'll always go first for the portmaster way which has always been solving all those issues for me. As far as I know there is no configure script in the ports collection, the error message you got is strictly related to the configure script and it is not possible (please correct me someone if I'm wrong) to pass the parameter using make.

So everything has to be done using
Code:
cd /usr/ports/net-im/pidgin
make config

It seems to me that the XScreenSaver requirement for this port is mandatory.

Next step:
Code:
vi /usr/ports/net-im/pidgin/Makefile

Line: 25
Code:
USE_XORG= xscrnsaver sm


Line: 27
Code:
CONFIGURE_ARGS= --disable-consoleui \
                --disable-nm \
                --enable-screensaver \
                --with-dynamic_prpls=${PRPL_MODULES:S/,$//}

So I would try the following and run make again:

Line: 25
Code:
USE_XORG= sm

Line: 27
Code:
CONFIGURE_ARGS= --disable-consoleui \
                --disable-nm \
                --disable-screensaver \
                --with-dynamic_prpls=${PRPL_MODULES:S/,$//}
Code:
 
Thank you Tanis, that solved the problem just as easy as passing make the parameter. The rest of the configure process was successful, but some dependencies still seems to be missing, since the build itself fails with

Code:
...
/usr/local/lib/libcairo.so: undefined reference to `glXGetCurrentContext'
cc: error: linker command failed with exit code 1 (use -v to see invocation)
gmake[3]: *** [Makefile:830: pidgin] Error 1
gmake[3]: Leaving directory '/usr/ports/net-im/pidgin/work/pidgin-2.12.0/pidgin'
gmake[2]: *** [Makefile:1007: all-recursive] Error 1
gmake[2]: Leaving directory '/usr/ports/net-im/pidgin/work/pidgin-2.12.0/pidgin'
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1
...
Setting the suggested variable does not help. Looks like I'm missing some Cario related packages, which is to be expected, since I don't use Cario. But that's another problem to be investigated at a later time :)
 
Back
Top