SOGo | BTS

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0000921SOGoSOPEpublic2010-10-23 06:242011-06-17 08:28
Reportermossroy 
Assigned Toludovic 
PrioritynormalSeverityfeatureReproducibilityalways
StatusresolvedResolutionfixed 
PlatformLinuxOSDebianOS Version
Product Version1.3.3 
Target Version1.3.8Fixed in Version1.3.8 
Summary0000921: SOPE does not compile on Debian ARM platform
DescriptionI made a Debian Squeeze ARM virtual machine with QEMU.
I followed the instructions on http://www.sogo.nu/english/nc/support/faq/article/how-do-i-compile-sogo-2.html [^]

The compilation failed because it did not find a file :

Compiling file NGBase64Stream.m ...
In file included from NGBase64Stream.m:24:
common.h:31:20: error: config.h: Aucun fichier ou dossier de ce type
make[5]: *** [obj/libNGStreams.obj/NGBase64Stream.m.o] Erreur 1
make[4]: *** [internal-library-all_] Erreur 2
make[3]: *** [libNGStreams.all.library.variables] Erreur 2
make[2]: *** [internal-all] Erreur 2
make[1]: *** [internal-all] Erreur 2
make: *** [internal-all] Erreur 2
Steps To Reproduce- install Debian Squeeze on an ARM platform (I suppose that another version of Debian will have the same behavior, but I did not check). That can be done through QEMU if you don't have such hardware
- install the packages necessary for compilation (see http://www.sogo.nu/english/nc/support/faq/article/how-do-i-compile-sogo-2.html [^])
- run configure and make
Additional InformationThe following packages where installed on my debian squeeze, before the compilation :
gnustep-make libgnustep-base-dev libxml2-dev libldap2-dev libssl-dev libpq-dev libsqlite3-dev libmysqlclient15-dev gnustep-devel g++ gobjc++ libmemcached-dev postgresql-server-dev-8.4 build-essential

I compiled version 1.3.3 of SOPE, from http://www.sogo.nu/files/downloads/SOGo/Sources/SOPE-1.3.3.tar.gz [^] (I did not download the latest sources from monotone)

The complete log can be found in the attached file.

I found a thread regarding this same issue, dated in 2005 : http://www.mail-archive.com/debian-arm@lists.debian.org/msg04819.html [^]
They seem to suspect a bug in the build process for platforms other than x86 and x86_64
TagsNo tags attached.
Attached Files? file icon logs [^] (10,484 bytes) 2010-10-23 06:24 [Show Content]
txt file icon sogo_arm_errors_sope_137a.txt [^] (6,129 bytes) 2011-05-30 13:49 [Show Content]
patch file icon sope-arm.patch [^] (846 bytes) 2011-06-02 15:06 [Show Content]

- Relationships Relation Graph ] Dependency Graph ]
child of 0000945resolvedwsourdeau Fix the build of NGStreams 

-  Notes
(0002321)
wsourdeau (viewer)
2011-03-30 14:30

Please try again with the new sources from monotone. The config.guess and config.sub files have been updated and the config.h file should no longer be placed in a subdirectory.
(0002326)
mossroy (reporter)
2011-03-30 17:37

I just tried the compilation from latest sources from monotone, on ARM.
Now it does not stop on NGBase64Steam.m as before
It compiles much more files, but it still stops, on the following error :
 Compiling file EOSQLQualifier.m ...
EOSQLQualifier.m: In function ‘-[EOSQLQualifier initWithEntity:qualifierFormat:argumentsArray:]’:
EOSQLQualifier.m:341: error: incompatible type for argument 2 of ‘stringWithFormat:arguments:’
EOSQLQualifier.m:341: note: expected ‘va_list’ but argument is of type ‘void *’
make[5]: *** [obj/libGDLAccess.obj/EOSQLQualifier.m.o] Error 1
make[4]: *** [internal-library-all_] Error 2
make[3]: *** [libGDLAccess.all.library.variables] Error 2
make[2]: *** [internal-all] Error 2
make[1]: *** [internal-all] Error 2
make: *** [internal-all] Error 2

I suppose this is not related to the ARM architecture, but rather to a temporary bug?
(0002357)
mossroy (reporter)
2011-04-09 09:19
edited on: 2011-04-09 10:08

Even after updating to the latest source code, the build still fails at the same point.
Same error with the .tar.gz of SOPE 1.3.6

(0002513)
Dominique (reporter)
2011-05-30 13:48

I just tried to install SOPE 1.3.7a on a reformated QNAP (ARM - Orion) now living with Debian Squeeze. Seems to end up with the same errors - it had several more warnings before ending like that.
Compiling file EOSQLQualifier.m ...
EOSQLQualifier.m: In function â-[EOSQLQualifier initWithEntity:qualifierFormat:argumentsArray:]â:
EOSQLQualifier.m:341: error: incompatible type for argument 2 of âstringWithFormat:arguments:â
EOSQLQualifier.m:341: note: expected âva_listâ but argument is of type âvoid *â
make[5]: *** [obj/libGDLAccess.obj/EOSQLQualifier.m.o] Error 1
make[4]: *** [internal-library-all_] Error 2
make[3]: *** [libGDLAccess.all.library.variables] Error 2
make[2]: *** [internal-all] Error 2
make[1]: *** [internal-all] Error 2
make: *** [internal-all] Error 2

I attach the file with all the warnings/errors as they occured. Please can some have a look at this. It seems stupid to stop so close.
(0002516)
mossroy (reporter)
2011-06-02 05:06

I confirm that, even with the latest source code from mtn, I still get this error when compiling SOPE on debian squeeze ARM
(0002517)
wsourdeau (viewer)
2011-06-02 09:20

This seems to be due to a bad casting of va_list to a "void *", which does not work on ARM but does on others. I have no time right now to investigate and fix this issue but patches are accepted. I suspect this issue to be quite trivial to solve.
(0002518)
Dominique (reporter)
2011-06-02 09:52

Since I have no idea how to program, that leaves me out dry with a non functioning program. Willing to test though.
(0002522)
dekkers (reporter)
2011-06-02 15:06

There is already an ifdef for s390 there. In the attached patch arm is added to the ifdef, can you try if that works?
(0002523)
mossroy (reporter)
2011-06-02 17:59

Great! SOPE compiles with your patch installed, on my ARM debian squeeze machine.
Thank you very much.
I also could compile SOGo (even if I did not manage to run it yet : I suppose I'll have to take inspiration from the i386 .deb to install it properly)
(0002527)
Dominique (reporter)
2011-06-03 09:43
edited on: 2011-06-03 09:56

I also want to try to to see if it works for me. I've got monotone on my machine with the SOGO and SOPE downloads. Can you tell me how to apply the patch ?
Forget it. RTFM should have been the answer. So self applied....
Compiling now. Results later.

(0002528)
dekkers (reporter)
2011-06-03 09:52

Go to the sope directory and type

patch -p0 < sope-arm.patch
(0002529)
Dominique (reporter)
2011-06-03 09:56

Thanks, just figured it out...
(0002530)
Dominique (reporter)
2011-06-03 11:27

Ok, SOPE complied OK. However SOGo did not as you can see.
Making all for framework SOGo...
 Compiling file SOGoBuild.m ...
 Compiling file SOGoProductLoader.m ...
SOGoProductLoader.m:88:2: warning: #warning we should work on searchPathes directly instead of ma
 Compiling file SOGoCache.m ...
In file included from SOGoCache.m:63:
SOGoCache.h:29:36: warning: libmemcached/memcached.h: No such file or directory
SOGoCache.m:74: error: expected â=â, â,â, â;â, âasmâ or â__attribute__â before â*â token
SOGoCache.m:75: error: expected â=â, â,â, â;â, âasmâ or â__attribute__â before â*â token
SOGoCache.m: In function â-[SOGoCache init]â:
SOGoCache.m:120: error: âhandleâ undeclared (first use in this function)
SOGoCache.m:120: error: (Each undeclared identifier is reported only once
SOGoCache.m:120: error: for each function it appears in.)
SOGoCache.m:122: warning: implicit declaration of function âmemcached_createâ
SOGoCache.m:137: error: âserversâ undeclared (first use in this function)
SOGoCache.m:139: warning: implicit declaration of function âmemcached_servers_parseâ
SOGoCache.m:141: warning: implicit declaration of function âmemcached_server_pushâ
SOGoCache.m: In function â-[SOGoCache setValue:forKey:expire:]â:
SOGoCache.m:284: error: âmemcached_returnâ undeclared (first use in this function)
SOGoCache.m:284: error: expected â;â before âerrorâ
SOGoCache.m:287: error: âhandleâ undeclared (first use in this function)
SOGoCache.m:291: error: âerrorâ undeclared (first use in this function)
SOGoCache.m:291: warning: implicit declaration of function âmemcached_setâ
SOGoCache.m:295: error: âMEMCACHED_SUCCESSâ undeclared (first use in this function)
SOGoCache.m:298: warning: implicit declaration of function âmemcached_strerrorâ
SOGoCache.m: In function â-[SOGoCache valueForKey:]â:
SOGoCache.m:321: error: âmemcached_returnâ undeclared (first use in this function)
SOGoCache.m:321: error: expected â;â before ârcâ
SOGoCache.m:324: error: âhandleâ undeclared (first use in this function)
SOGoCache.m:327: warning: implicit declaration of function âmemcached_getâ
SOGoCache.m:328: error: ârcâ undeclared (first use in this function)
SOGoCache.m:329: error: âMEMCACHED_SUCCESSâ undeclared (first use in this function)
SOGoCache.m: In function â-[SOGoCache removeValueForKey:]â:
SOGoCache.m:356: error: âmemcached_returnâ undeclared (first use in this function)
SOGoCache.m:356: error: expected â;â before ârcâ
SOGoCache.m:360: error: âhandleâ undeclared (first use in this function)
SOGoCache.m:363: error: ârcâ undeclared (first use in this function)
SOGoCache.m:363: warning: implicit declaration of function âmemcached_deleteâ
SOGoCache.m:365: error: âMEMCACHED_SUCCESSâ undeclared (first use in this function)
make[4]: *** [obj/SOGo.obj/SOGoCache.m.o] Error 1
make[3]: *** [internal-framework-run-compile-submake] Error 2
make[2]: *** [SOGo.all.framework.variables] Error 2
make[1]: *** [internal-all] Error 2
make: *** [internal-all] Error 2

Memcached in installed (but maybe not configured correctly).
Another patch ?
(0002531)
mossroy (reporter)
2011-06-03 14:05
edited on: 2011-06-03 14:07

SOGo compiled successfully for me, so I don't think that another patch is needed.

Did you install the development headers of memcached? If you're using debian or ubuntu, it should be the package libmemcached-dev
Running "apt-get install libmemcached-dev" (under debian) or "sudo apt-get install libmemcached-dev" (under ubuntu) will probably help

Here are all the packages I installed (on debian squeeze) :
apt-get install gnustep-make libgnustep-base-dev libxml2-dev libldap2-dev libssl-dev libpq-dev libsqlite3-dev libmysqlclient15-dev gnustep-devel g++ gobjc++ libmemcached-dev postgresql-server-dev-8.4 build-essential

(0002532)
Dominique (reporter)
2011-06-03 16:29

That did it. I had most of those libraries (mysql-server instead of postgresql), but was missing the libmemcached-dev. SOPE and SOGo are now installed.
But not configured. Being used to packages, I could'nt find the following: sogo user, the .GNUstepDefaults file or the sogo.conf file.
I created the user and copied the two files from another existing setup editing for the new setup, but still no luck with the sogo file in /etc/init.d/ or the sope49-gdl1-mysql. So I can't even know if it's working.
A little more help and that should do it.
(0002534)
mossroy (reporter)
2011-06-04 03:01

Dominique, here are the main steps I followed to make SOGo work.
Maybe there is a better approach but this one worked for me.
I downloaded the i386 .deb provided here : http://inverse.ca/debian/pool/squeeze/s/sogo/ [^] to copy and adapt the files that are missing :
- /etc/init.d/sogo (I had to adapt the location of the executable : for me it was in /usr/local/sbin/ instead of /usr/sbin/). You also need to make this file executable with a chmod +x
- /etc/logrotate.d/sogo
- /etc/default/sogo
- /etc/cron.daily/sogo
- /etc/apache2/conf.d/SOGo.conf . I had to modify the RequestHeader lines (as explained in the doc), but also the Alias lines, because on my config, the libs where in /usr/local/lib instead of /usr/lib :
Alias /SOGo.woa/WebServerResources/ \
      /usr/local/lib/GNUstep/SOGo/WebServerResources/
Alias /.woa/WebServerResources/ \
      /usr/local/lib/GNUstep/SOGo/WebServerResources/
Alias /SOGo/WebServerResources/ \
      /usr/local/lib/GNUstep/SOGo/WebServerResources/
AliasMatch /SOGo/so/ControlPanel/Products/(.*)/Resources/(.*) \
           /usr/local/lib/GNUstep/SOGo/$1.SOGo/Resources/$2

To create the user sogo and necessary directories, I ran the following command-lines (taken from the .deb) :
groupadd -f -K GID_MIN=100 -K GID_MAX=500 sogo
useradd -d /home/sogo -g sogo -m -K UID_MIN=100 -K UID_MAX=500 -K PASS_MAX_DAYS=-1 -s /bin/bash sogo
for dir in run spool log; do if ! test -d /var/$dir/sogo; then install -m 750 -o sogo -g sogo -d /var/$dir/sogo; fi; done;
update-rc.d sogo defaults >/dev/null

For apache, I needed to add 2 modules :
a2enmod proxy_http
a2enmod headers

After that, the configuration was standard. I used MySQL as the database and user directory, but you might choose other options.
The .GNUstepDefaults can be generated by using "default write sogod xxx" commands (see documentation)
(0002535)
mossroy (reporter)
2011-06-05 09:47

I now can run SOGo on my ARM machine
I think that the patch should be commited, and then this issue could be marked as solved

Maybe you could include ARM-cross-compiled .deb packages in your repo? That would ease installation a lot...
(0002537)
Dominique (reporter)
2011-06-06 04:00
edited on: 2011-06-06 09:09

Thanks mossroy,
It works. I agree the patch should be committed, and close the issue as solved. A .deb package would be nice indeed. While on the ARM subject... did you try to install Funambol as the next logical step ?

(0002539)
wsourdeau (viewer)
2011-06-06 11:11

Nice work guys. Btw, may I ask what type of machine do you need to run SOGo on ? It's not an iPad, isn't it ?
(0002541)
mossroy (reporter)
2011-06-06 16:04

In my case, I installed it on a sheevaplug. Cf https://secure.wikimedia.org/wikipedia/en/wiki/SheevaPlug [^]
It's a very small fanless server that consumes around 3W for a 1.2GHz ARM processor. I installed Debian Squeeze on it and the filesystem is on a SDHC card.

SOGo is a bit slow on it, I have to admit. And don't expect to have too many users using it.
Anyway, it's the best solution I found so far to expose my calendars in a web interface (in terms of performance and features).
Some tasks are more CPU intensive and take very long (importing large ics files for example), but for the rest, it looks globally useable to me. I'll need to test it a bit more but it's worth a try
(0002542)
Dominique (reporter)
2011-06-06 17:28

I am running SOGo out of a somewhat old QNAP 109 - first generation. See http://www.qnap.com/pro_detail_feature.asp?p_id=78 [^]
Only 128 MB memory and a Marvell Orion 5 ARM Chip 500MHz, 14 Watt when running fulll speed, 1TB disk. I fully reformatted it to support Debian Squeeze folloing the instructions for Debian ARM. SOGo speed is aceptable for a small number of users, It will be probably in use for a small company and some personal (family) use. Nothing intensing but fully independant from Goog... I also installed Funambol to get the best of the combination. I still have to finalize the link between both programs, but it is running Apache + Tomcat 6 + Sun Java JRE although a bit slow. Took some digging to get the Java piece but it is working fine now. In the next few days, I'll finalize the integration.
I also have a very old NSLU... maybe worth a try since it's working on a sheevaplug.
(0002597)
mossroy (reporter)
2011-06-17 03:23

It seems that the patch has not been commited on Monotone.
The compilation works for Dominique and me with this patch : I think the patch should be commited and the bug closed
(0002600)
Dominique (reporter)
2011-06-17 05:59

Fully agree, please commit the patch to that it becomes part of the next release.
User avatar (0002601)
ludovic (administrator)
2011-06-17 08:28

Fix applied - http://mtn.inverse.ca/revision/diff/6a31d2853009c2655df905811252120fe1564f8e/with/555863e57ce13da9beb5913a24acef71207b4ced [^]

- Issue History
Date Modified Username Field Change
2010-10-23 06:24 mossroy New Issue
2010-10-23 06:24 mossroy File Added: logs
2010-11-02 14:10 wsourdeau Relationship added child of 0000945
2011-03-30 14:30 wsourdeau Note Added: 0002321
2011-03-30 14:31 wsourdeau Status new => feedback
2011-03-30 17:37 mossroy Note Added: 0002326
2011-04-09 09:19 mossroy Note Added: 0002357
2011-04-09 10:08 mossroy Note Edited: 0002357
2011-05-30 13:48 Dominique Note Added: 0002513
2011-05-30 13:49 Dominique File Added: sogo_arm_errors_sope_137a.txt
2011-06-02 05:06 mossroy Note Added: 0002516
2011-06-02 09:20 wsourdeau Note Added: 0002517
2011-06-02 09:52 Dominique Note Added: 0002518
2011-06-02 15:06 dekkers Note Added: 0002522
2011-06-02 15:06 dekkers File Added: sope-arm.patch
2011-06-02 17:59 mossroy Note Added: 0002523
2011-06-03 09:43 Dominique Note Added: 0002527
2011-06-03 09:52 dekkers Note Added: 0002528
2011-06-03 09:55 Dominique Note Edited: 0002527
2011-06-03 09:56 Dominique Note Edited: 0002527
2011-06-03 09:56 Dominique Note Added: 0002529
2011-06-03 11:27 Dominique Note Added: 0002530
2011-06-03 14:05 mossroy Note Added: 0002531
2011-06-03 14:07 mossroy Note Edited: 0002531
2011-06-03 16:29 Dominique Note Added: 0002532
2011-06-04 03:01 mossroy Note Added: 0002534
2011-06-05 09:47 mossroy Note Added: 0002535
2011-06-06 04:00 Dominique Note Added: 0002537
2011-06-06 09:09 Dominique Note Edited: 0002537
2011-06-06 11:11 wsourdeau Note Added: 0002539
2011-06-06 16:04 mossroy Note Added: 0002541
2011-06-06 17:28 Dominique Note Added: 0002542
2011-06-17 03:23 mossroy Note Added: 0002597
2011-06-17 05:59 Dominique Note Added: 0002600
2011-06-17 06:42 ludovic Status feedback => assigned
2011-06-17 06:42 ludovic Assigned To => ludovic
2011-06-17 06:42 ludovic Target Version => 1.3.8
2011-06-17 08:28 ludovic Note Added: 0002601
2011-06-17 08:28 ludovic Status assigned => resolved
2011-06-17 08:28 ludovic Fixed in Version => 1.3.8
2011-06-17 08:28 ludovic Resolution open => fixed


Copyright © 2000 - 2019 MantisBT Team
Powered by Mantis Bugtracker