Bug 240777

Summary: build fails - missing socket library
Product: [Frameworks and Libraries] Akonadi Reporter: tropikhajma <tropikhajma>
Component: generalAssignee: Volker Krause <vkrause>
Status: RESOLVED WORKSFORME    
Severity: normal CC: kdepim-bugs
Priority: NOR Keywords: investigated, triaged
Version: 1.3.50   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Solaris   
Latest Commit: Version Fixed In:
Attachments: patch

Description tropikhajma 2010-06-05 02:44:53 UTC
Version:           1.3.50 (using Devel) 
OS:                Solaris

building akonadi 1.3.80 fails with the below error. Akonadi 1.2.62 used to build just fine.

The below mentioned compiler line passes ok when I add -lsocket to it
Attaching a patch that makes akonadi compile again, although I guess it should be done in a more flexible way.

Reproducible: Always


Actual Results:  
Linking CXX executable ../bin/akonadi_rds
cd /export/home/test/packages/BUILD/akonadi-1.3.80/i386/akonadi-1.3.80/rds && /opt/kde4/bin/cmake -E cmake_link_script CMakeFiles/akonadi_rds.dir/link.txt --verbose=1
/opt/sunstudio12.1/bin/CC   -D_REENTRANT -DNDEBUG -D__EXTENSIONS__ -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_POSIX_PTHREAD_SEMANTICS -DSOLARIS -DSOLARIS10 -DNO_DEBUG -D_UNICODE -DUNICODE -D_RWSTD_REENTRANT  -D_XOPEN_SOURCE=500 -D_XPG5  -I/usr/include/stdcxx4/ansi -I/usr/include/stdcxx4 -I/opt/kde4/include -I/usr/include/stdcxx4/ansi -I/usr/include/stdcxx4 -library=no%Cstd -library=Crun -features=anachronisms,except,rtti,export,extensions,nestedaccess,tmplife,tmplrefstatic -instances=global -template=geninlinefuncs -s -xdebugformat=dwarf -xlang=c99 -xustr=ascii_utf16_ushort -Qoption ccfe -features=gcc -Qoption ccfe -features=zla -Qoption ccfe ++boolflag:sunwcch=false -mt -xF=%none -xbuiltin=%all -xinline=%auto -xprefetch=auto -xprefetch_auto_type=indirect_array_access -xprefetch_level=3 -KPIC -DPIC -xipo=0 -xO3 -xregs=no%frameptr -xjobs=2 -xrestrict=%all -xthreadvar=%all -z combreloc -z redlocsym -z nodefaultlib -z ignore -z now -z rescan -z absexec -xldscope=symbolic -xlibmil -s -xtarget=pentium4 -m32 -xarch=sse2 -xchip=pentium4 -xcache=8/64/4:256/128/8 -lc -lm -ldl -lpthread -lposix4 -lrt -mt -L/opt/kde4/lib -R/opt/kde4/lib -L/usr/lib -R/usr/lib -Y P,/opt/kde4/lib -i -L/opt/kde4/lib -R/opt/kde4/lib -L/usr/lib -R/usr/lib -Bdynamic -lstdcxx4 -lCrun -lc -lm -xannotate=no -m32 -s -Y P,/opt/kde4/lib -i -L/opt/kde4/lib -R/opt/kde4/lib -L/usr/lib -R/usr/lib -Bdynamic -lstdcxx4 -lCrun -lc -lm -xtarget=pentium4 -m32 -xarch=sse2 -xchip=pentium4 -xcache=8/64/4:256/128/8 -xipo=0 -xO3 -xannotate=no   -m32 -s -L/opt/kde4/lib -R/opt/kde4/lib -L/usr/lib -R/usr/lib -z combreloc -z redlocsym -z nodefaultlib -z ignore -z now -z rescan -z absexec -xldscope=symbolic -xlibmil -s -lc -lm -ldl -lpthread -lposix4 -lrt -mt -L/opt/kde4/lib -R/opt/kde4/lib -L/usr/lib -R/usr/lib CMakeFiles/akonadi_rds.dir/akonadi_rds_automoc.cpp.o CMakeFiles/akonadi_rds.dir/bridgeserver.cpp.o CMakeFiles/akonadi_rds.dir/bridgeconnection.cpp.o CMakeFiles/akonadi_rds.dir/main.cpp.o  -o ../bin/akonadi_rds  -lQtCore -lthread -lQtNetwork -lQtCore -lthread -lQtDBus ../lib/libakonadiprotocolinternals.so.1.3.80 -lQtCore -lthread -lQtDBus -R/export/home/test/packages/BUILD/akonadi-1.3.80/i386/akonadi-1.3.80/lib:
pkgbuild: "/export/home/test/packages/BUILD/akonadi-1.3.80/i386/akonadi-1.3.80/server/shared/akcrash.cpp", line 118: Warning (Anachronism): Assigning extern "C" void(*)(int) to void(*)(int).
"/export/home/test/packages/BUILD/akonadi-1.3.80/i386/akonadi-1.3.80/server/shared/akcrash.cpp", line 124: Warning (Anachronism): Formal argument 2 of type extern "C" void(*)(int) in call to std::signal(int, extern "C" void(*)(int)) is being passed void(*)(int).
"/export/home/test/packages/BUILD/akonadi-1.3.80/i386/akonadi-1.3.80/server/shared/akcrash.cpp", line 128: Warning (Anachronism): Formal argument 2 of type extern "C" void(*)(int) in call to std::signal(int, extern "C" void(*)(int)) is being passed void(*)(int).
"/export/home/test/packages/BUILD/akonadi-1.3.80/i386/akonadi-1.3.80/server/shared/akcrash.cpp", line 132: Warning (Anachronism): Formal argument 2 of type extern "C" void(*)(int) in call to std::signal(int, extern "C" void(*)(int)) is being passed void(*)(int).
"/export/home/test/packages/BUILD/akonadi-1.3.80/i386/akonadi-1.3.80/server/shared/akcrash.cpp", line 136: Warning (Anachronism): Formal argument 2 of type extern "C" void(*)(int) in call to std::signal(int, extern "C" void(*)(int)) is being passed void(*)(int).
"/export/home/test/packages/BUILD/akonadi-1.3.80/i386/akonadi-1.3.80/server/shared/akcrash.cpp", line 140: Warning (Anachronism): Formal argument 2 of type extern "C" void(*)(int) in call to std::signal(int, extern "C" void(*)(int)) is being passed void(*)(int).
"/export/home/test/packages/BUILD/akonadi-1.3.80/i386/akonadi-1.3.80/server/shared/akcrash.cpp", line 144: Warning (Anachronism): Formal argument 2 of type extern "C" void(*)(int) in call to std::signal(int, extern "C" void(*)(int)) is being passed void(*)(int).
7 Warning(s) detected.
Undefined                     first referenced
 symbol                           in file
__xnet_connect                      CMakeFiles/akonadi_rds.dir/bridgeconnection.cpp.o  (symbol belongs to implicit dependency /usr/lib/libsocket.so.1)
__xnet_socket                       CMakeFiles/akonadi_rds.dir/bridgeconnection.cpp.o  (symbol belongs to implicit dependency /usr/lib/libsocket.so.1)
ld: fatal: symbol referencing errors. No output written to ../bin/akonadi_rds
Comment 1 tropikhajma 2010-06-05 02:45:35 UTC
Created attachment 47687 [details]
patch
Comment 2 Tobias Koenig 2010-06-20 15:19:26 UTC
Hej,

a libsocket does not exist under Linux, so we can't apply the patch as it is.
I wonder why this application needs explicit linking but akonadi server for example not. Could it be that the socket library is brought in as dependency by another library we have to link against?

Ciao,
Tobias
Comment 3 tropikhajma 2010-06-21 00:23:22 UTC
(In reply to comment #2)
> Hej,
> 
> a libsocket does not exist under Linux, so we can't apply the patch as it is.

yeah, that's what I had in mind when talking about 'more flexible way' - something like ifdef sunpro_cc ...

> I wonder why this application needs explicit linking but akonadi server for
> example not. Could it be that the socket library is brought in as dependency by
> another library we have to link against?

hey, if I only knew how to figure that sort of things easily ...


> 
> Ciao,
> Tobias
Comment 4 Andrew Crouthamel 2018-09-20 22:13:37 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information as soon as possible and set the bug status as REPORTED. Due to regular bug tracker maintenance, if the bug is still in NEEDSINFO status with no change in 30 days, the bug will be closed as RESOLVED > WORKSFORME due to lack of needed information.

For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please set the bug status as REPORTED so that the KDE team knows that the bug is ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 5 Andrew Crouthamel 2018-10-21 04:28:00 UTC
This bug has been in NEEDSINFO status with no change for at least
30 days. The bug is now closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

Thank you for helping us make KDE software even better for everyone!