This forum has been archived. All content is frozen. Please use KDE Discuss instead.

I can't compile kdebase-workspace 4.6.3

Tags: kdebase, workspace, archlinux, pkgbuild, libgps, gpsd kdebase, workspace, archlinux, pkgbuild, libgps, gpsd kdebase, workspace, archlinux, pkgbuild, libgps, gpsd
(comma "," separated)
User avatar
zuargo
Registered Member
Posts
60
Karma
0
OS
Hi, I am trying out building kdebase-workspace 4.6.3 using a Archlinux PKGBUILD, you can see this here: http://ompldr.org/vOGxpbQ

As you see in the PKGBUILD, some patches are applied:

kdm-zsh-profile.patch
http://ompldr.org/vOGxpcA

fixpath.patch
http://ompldr.org/vOGxpcw

terminate-server.patch
http://pastebin.com/raw.php?i=sHFzZjQy

nm-09.patch
http://pastebin.com/raw.php?i=KDMhV4MN

So, when I try to build the package I get this error message:

Code: Select all
[ 68%] Building CXX object plasma/generic/dataengines/favicons/CMakeFiles/plasma_engine_favicons.dir/favicons.o                                                                                                             
[ 68%] Building CXX object plasma/generic/dataengines/favicons/CMakeFiles/plasma_engine_favicons.dir/faviconprovider.o                                                                                                     
Linking CXX shared module ../../../../lib/plasma_engine_favicons.so                                           
[ 68%] Built target plasma_engine_favicons                                                                   
Scanning dependencies of target plasma_engine_filebrowser_automoc
Generating filebrowserengine.moc                                                                             
[ 68%] Built target plasma_engine_filebrowser_automoc                                                         
Scanning dependencies of target plasma_engine_filebrowser
[ 68%] Building CXX object plasma/generic/dataengines/filebrowser/CMakeFiles/plasma_engine_filebrowser.dir/plasma_engine_filebrowser_automoc.o                                                                             
[ 68%] Building CXX object plasma/generic/dataengines/filebrowser/CMakeFiles/plasma_engine_filebrowser.dir/filebrowserengine.o                                                                                             
Linking CXX shared module ../../../../lib/plasma_engine_filebrowser.so                                       
[ 68%] Built target plasma_engine_filebrowser                                                                 
Scanning dependencies of target plasma-geolocation-gps_automoc
Generating location_gps.moc                                                                                   
[ 68%] Built target plasma-geolocation-gps_automoc                                                           
Scanning dependencies of target plasma-geolocation-interface_automoc
Generating geolocationprovider.moc                                                                           
[ 68%] Built target plasma-geolocation-interface_automoc                                                     
Scanning dependencies of target plasma-geolocation-interface
[ 68%] Building CXX object plasma/generic/dataengines/geolocation/CMakeFiles/plasma-geolocation-interface.dir/plasma-geolocation-interface_automoc.o                                                                       
[ 68%] Building CXX object plasma/generic/dataengines/geolocation/CMakeFiles/plasma-geolocation-interface.dir/geolocationprovider.o                                                                                         
Linking CXX shared library ../../../../lib/libplasma-geolocation-interface.so                                 
[ 68%] Built target plasma-geolocation-interface                                                             
Scanning dependencies of target plasma-geolocation-gps
[ 68%] Building CXX object plasma/generic/dataengines/geolocation/CMakeFiles/plasma-geolocation-gps.dir/plasma-geolocation-gps_automoc.o                                                                                   
[ 68%] Building CXX object plasma/generic/dataengines/geolocation/CMakeFiles/plasma-geolocation-gps.dir/location_gps.o                                                                                                     
/home/zuargo/Paquetes/kdebase-workspace/src/kdebase-workspace-4.6.3/plasma/generic/dataengines/geolocation/location_gps.cpp: In member function 'virtual void Gpsd::run()':
/home/zuargo/Paquetes/kdebase-workspace/src/kdebase-workspace-4.6.3/plasma/generic/dataengines/geolocation/location_gps.cpp:54:31: error: 'gps_poll' was not declared in this scope
/home/zuargo/Paquetes/kdebase-workspace/src/kdebase-workspace-4.6.3/plasma/generic/dataengines/geolocation/location_gps.cpp: In constructor 'Gps::Gps(QObject*, const QVariantList&)':
/home/zuargo/Paquetes/kdebase-workspace/src/kdebase-workspace-4.6.3/plasma/generic/dataengines/geolocation/location_gps.cpp:77:66: error: too few arguments to function 'int gps_open(const char*, const char*, gps_data_t*)'
/usr/include/gps.h:1430:12: note: declared here
make[2]: *** [plasma/generic/dataengines/geolocation/CMakeFiles/plasma-geolocation-gps.dir/location_gps.o] Error 1
make[1]: *** [plasma/generic/dataengines/geolocation/CMakeFiles/plasma-geolocation-gps.dir/all] Error 2
make: *** [all] Error 2
==> ERROR: A failure occurred in build().
    Aborting...


I have installed cmake 2.8.4 and gcc 4.6.0-4

Can anybody help me please?

Thanks in advance

--------

EDIT:

I have downgraded gcc to 4.6.0-3 and I tried again. I got this error:

Code: Select all
/home/zuargo/Paquetes/kdebase-workspace/src/kdebase-workspace-4.6.3/plasma/generic/dataengines/geolocation/location_gps.cpp: En la función miembro ‘virtual void Gpsd::run()’:
/home/zuargo/Paquetes/kdebase-workspace/src/kdebase-workspace-4.6.3/plasma/generic/dataengines/geolocation/location_gps.cpp:54:31: error: ‘gps_poll’ was not declared in this scope
/home/zuargo/Paquetes/kdebase-workspace/src/kdebase-workspace-4.6.3/plasma/generic/dataengines/geolocation/location_gps.cpp: En el constructor ‘Gps::Gps(QObject*, const QVariantList&)’:
/home/zuargo/Paquetes/kdebase-workspace/src/kdebase-workspace-4.6.3/plasma/generic/dataengines/geolocation/location_gps.cpp:77:66: error: too few arguments to function ‘int gps_open(const char*, const char*, gps_data_t*)’
/usr/include/gps.h:1430:12: note: declared here
make[2]: *** [plasma/generic/dataengines/geolocation/CMakeFiles/plasma-geolocation-gps.dir/location_gps.o] Error 1
make[1]: *** [plasma/generic/dataengines/geolocation/CMakeFiles/plasma-geolocation-gps.dir/all] Error 2
make: *** [all] Error 2


It seems be equal or very similar to the previous one.
User avatar
bcooksley
Administrator
Posts
19765
Karma
87
OS
The version of libgps you have seems to be incompatible. There are fixes to ensure it compiles with different versions every so often, so you may need to either change your libgps version to a supported version or create a patch to make it compile.


KDE Sysadmin
[img]content/bcooksley_sig.png[/img]
User avatar
zuargo
Registered Member
Posts
60
Karma
0
OS
Where can I see what versions of libgps are compatibles?

Thank you so much by your answer
User avatar
zuargo
Registered Member
Posts
60
Karma
0
OS
I had installed gpsd 2.96-1 (Archlinux package), I have downgraded to gpsd 2.95-8 and it works.

Should I report this like a bug?

Thanks
lmaresch
Registered Member
Posts
1
Karma
1
Hi,

I have the same error, but it is easy to resolve it.

Change line 55 in location_gps.cpp from gps_poll to gps_read, the newest version of gpsd has no gps_poll more (see gps.h from new package)

On line 77 the gps_open has changed:
you can change the line 77 and add these two lines:
gps_data_t* gpsdata;
gps_open("localhost", DEFAULT_GPSD_PORT, gpsdata);

Then you can compile KDE without problem, but I cant say, if it will work. I have tried to adapt the changes of the new version:

From gps.h:
gps_poll() removed in favor of gps_read(). The raw hook is gone.

And on gps_open the parameters changed, so the function has an int return value and this was "struct gps_data_t *" in the older package

extern int gps_open(/*@null@*/const char *, /*@null@*/const char *,
/*@out@*/struct gps_data_t *);

I hope this helps.

Best Regards,
Libor
User avatar
bcooksley
Administrator
Posts
19765
Karma
87
OS
Please generate a patch for this and post it on KDE's Git Reviewboard instance.
http://git.reviewboard.kde.org/


KDE Sysadmin
[img]content/bcooksley_sig.png[/img]


Bookmarks



Who is online

Registered users: Bing [Bot], Google [Bot], Sogou [Bot], Yahoo [Bot]