Bug 240777 - build fails - missing socket library
Summary: build fails - missing socket library
Status: RESOLVED WORKSFORME
Alias: None
Product: Akonadi
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: 1.3.50
Platform: Compiled Sources Solaris
: NOR normal
Target Milestone: ---
Assignee: Volker Krause
URL:
Keywords: investigated, triaged
Depends on:
Blocks:
 
Reported: 2010-06-05 02:44 UTC by tropikhajma
Modified: 2018-10-21 04:28 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
patch (505 bytes, patch)
2010-06-05 02:45 UTC, tropikhajma
Details

Note You need to log in before you can comment on or make changes to this bug.
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!