I cannot tell you if everything runs perfectly now. I was just investigating 
this particular issue. I have not finished my Installation and setup process 
yet. I just started to build my Environment. But this error is gone with this 
PR. I have not been able to test a winmail.dat yet. Sorry. I was happy that 
sogo runs without this error.

Am 02.02.2024 15:33 schrieb qhivert <users@sogo.nu>:

Hello,

Thank you for your investigation and your pull request.
I assume some OS does need that as for the others, everything’s ok . On my 
ubuntu 22, ytnef is correctly linked without your modification ->
root@8e09d7b54b57:/src/SOGo# ldd /usr/local/lib/GNUstep/SOGo/Mailer.SOGo/Mailer 
| grep ytnef

               libytnef.so.0 => /lib/x86_64-linux-gnu/libytnef.so.0 
(0x00007f70b3210000)

Do you confirm your sogo can now open winmail.dat file without problem ?


From: users-requ...@sogo.nu <users-requ...@sogo.nu> On Behalf Of 
"burkha...@konsultaner.de"
Sent: vendredi 2 février 2024 14:46
To: users@sogo.nu
Subject: Re: [SOGo] SOGo 5.9.0 could not load product



I found the issue. It was already described here: https://bugs.gentoo.org/811351



The "SoObjects/SOGo/GNUmakefile" is missing the additional LDFLAG



This is what needs to be changed



-ADDITIONAL_LDFLAGS += -lmemcached -lzip

+ADDITIONAL_LDFLAGS += -lmemcached -lzip -lytnef



now ldd shows the link!



I would say this is a SOGo bug and should be changed in the source code.



Am Freitag, dem 02.02.2024 um 12:37 +0000 schrieb 
burkha...@konsultaner.de<mailto:burkha...@konsultaner.de>:

I just realized one more thing

ldd /usr/local/lib64/GNUstep/SOGo/Mailer.SOGo/Mailer | grep ytnef

ldd /usr/local/lib64/GNUstep/SOGo/MailerUI.SOGo/MailerUI | grep ytnef

 ldd /usr/local/lib64/GNUstep/SOGo/MailPartViewers.SOGo/MailPartViewers | grep 
ytnef

returns nothing. it seems like ytnef didn't get linked eventhough it didn't end 
in a compiletime error. So compilation worked well, but execution doesn't work.



Am Donnerstag, dem 01.02.2024 um 22:03 +0000 schrieb 
burkha...@konsultaner.de<mailto:burkha...@konsultaner.de>:

To answer you other questions:

cat /usr/local/include/ytnef.h | grep TNEFParseMemory

int TNEFParseMemory(BYTE *memory, long size, TNEFStruct *TNEF);



gcc -lytnef

/usr/bin/ld: /usr/lib/gcc/x86_64-redhat-linux/11/../../../../lib64/crt1.o: in 
function `_start':

(.text+0x1b): undefined reference to `main'

collect2: error: ld returned 1 exit status



I finally got ld to find the libytnef.so and libytnef.a

ldconfig -p | grep libyt

libytnef.so.0 (libc6,x86-64) => /usr/local/lib/libytnef.so.0

libytnef.so (libc6,x86-64) => /usr/local/lib/libytnef.so



I needed to add /usr/local/lib to the ld path. Seems like Alma puts everything 
into /usr/local/lib64



I could compile the test.c without a problem. I also added the BUNDLE_LIBS += 
-lytnef but still



Nothing works. The linker can see ytnef and sogo should find it too, because it 
is available in /usr/local/lib64 via a symlink.



Is there any other possible condition why the mail component doesn't find my 
libytnef.so?



The version of ytnef also contains the symbol:

nm -D /usr/local/lib/libytnef.so | grep TNEFParseMemory 00000000000054e0 T 
TNEFParseMemory



Am Mittwoch, dem 31.01.2024 um 18:25 +0000 schrieb 
burkha...@konsultaner.de<mailto:burkha...@konsultaner.de>:

Sorry, this is the output of the daemon. So when running it not building. 
Compiling works well.



Am 31.01.2024 17:29 schrieb qhivert <users@sogo.nu<mailto:users@sogo.nu>>:

It’s not clear to me if you get the errors when building or after when running 
sogo ?



From: users-requ...@sogo.nu<mailto:users-requ...@sogo.nu> 
<users-requ...@sogo.nu<mailto:users-requ...@sogo.nu>>On Behalf 
Of"burkha...@konsultaner.de<mailto:burkha...@konsultaner.de>"
Sent: mercredi 31 janvier 2024 16:14
To: users@sogo.nu<mailto:users@sogo.nu>
Subject: Re: [SOGo] SOGo 5.9.0 could not load product



Thank you, compiling the test.c worked. my I added the ytnef.h to ld but still 
the same error. If it helps here is my part of the ansible script that compiles 
sogo on alma 9.3 minimal



- name: set data path
  set_fact:
    sogo_gnustep_path: "/usr/local/lib64/GNUstep/SOGo"

- name: Enable additional repo
  dnf:
    name:
      - epel-release
      - almalinux-release-devel

- name: Enable CRB repository
  command: dnf config-manager --set-enabled crb

- name: Enable devel repository
  command: dnf config-manager --set-enabled devel

- name: Install required packages
  dnf:
    enablerepo: epel
    name:
      - gnustep-base
      - gnustep-make
      - gnustep-base-devel
      - gcc-objc
      - libsodium
      - libsodium-devel
      - libmemcached-awesome
      - libmemcached-awesome-devel
      - libzip
      - libzip-devel

- name: Install required packages
  dnf:
    name:
      - redhat-rpm-config
      - libxml2-devel
      - libxml2
      - openssl-devel
      - openssl
      - openldap-devel
      - openldap
      - postgresql-devel
      - postgresql
      - libcurl-devel
      - libcurl
      - python3-psycopg2
      - autoconf
      - automake
      - libtool
      - git
    state: present

- name: Clone ytnef from GitHub
  git:
    repo: 'https://github.com/Yeraze/ytnef.git'
    dest: '/tmp/ytnef'
    version: "{{ ytnef_git_tag }}"
    clone: yes
    update: yes

- name: Compile and Install SOPE
  shell: |
    cd /tmp/ytnef
    autoreconf -i
    ./configure
    make
    make install
    echo "/usr/local/include" | sudo tee -a /etc/ld.so.confD
    ldconfig
  args:
    executable: /bin/bash

- name: Clone SOPE from GitHub
  git:
    repo: 'https://github.com/Alinto/sope.git'
    dest: '/tmp/SOPE'
    version: "{{ sope_git_tag }}"
    clone: yes
    update: yes

- name: Clone SOGo from GitHub
  git:
    repo: 'https://github.com/Alinto/sogo.git'
    dest: '/tmp/SOGo'
    version: "{{ sogo_git_tag }}"
    clone: yes
    update: yes

- name: Compile and Install SOPE
  shell: |
    cd /tmp/SOPE
    ./configure --with-gnustep --enable-debug --disable-strip
    make
    make install
  args:
    executable: /bin/bash

- name: Compile and Install SOGo
  shell: |
    cd /tmp/SOGo
    ./configure --enable-debug --disable-strip
    make
    make install
  args:
    executable: /bin/bash



you just need to set the vars in you playbook, this is only my sogo role.



Am Mittwoch, dem 31.01.2024 um 15:16 +0100 schrieb qhivert:

Ok,

It seems related to https://bugs.sogo.nu/view.php?id=5907
but it it’s not the same symbol. Could you try the steps of my first comment 
there (qhivert)?



From: users-requ...@sogo.nu<mailto:users-requ...@sogo.nu> 
<users-requ...@sogo.nu<mailto:users-requ...@sogo.nu>>On Behalf 
Of"burkha...@konsultaner.de<mailto:burkha...@konsultaner.de>"
Sent: mercredi 31 janvier 2024 15:06
To: users@sogo.nu<mailto:users@sogo.nu>
Subject: Re: [SOGo] SOGo 5.9.0 could not load product



Hey Queintin,



no I tried installing from yum, from the nightly repo and finally tried to 
install by compiling from source. Nothing worked. I always get the same error. 
Even going down on a 5.8 didn't work.



Richard



Am Mittwoch, dem 31.01.2024 um 14:32 +0100 schrieb qhivert:

Hello,



Are you saying that when installing ytnef via yum it don’t work but when you’re 
building ytnef yourself it works fine?



Queintin





From: users-requ...@sogo.nu<mailto:users-requ...@sogo.nu> 
<users-requ...@sogo.nu<mailto:users-requ...@sogo.nu>>On Behalf 
Of"burkha...@konsultaner.de<mailto:burkha...@konsultaner.de>"
Sent: mercredi 31 janvier 2024 11:23
To: users@sogo.nu<mailto:users@sogo.nu>
Subject: Re: [SOGo] SOGo 5.9.0 could not load product



I compiled SOGo 5.9.1 from source on AlmaLinux9 which worked fine. I also 
compiled ytnef from source, because I keep getting the errors:



Error (objc-load):/usr/local/lib64/GNUstep/SOGo/Mailer.SOGo/Mailer: undefined 
symbol: TNEFParseMemory

Error 
(objc-load):/usr/local/lib64/GNUstep/SOGo/MailPartViewers.SOGo/MailPartViewers: 
undefined symbol: __objc_class_name_SOGoMailBodyPart

Error 
(objc-load):/usr/local/lib64/GNUstep/SOGo/PreferencesUI.SOGo/PreferencesUI: 
undefined symbol: __objc_class_name_SOGoMailLabel



So somehow ytnef is not getting bundled. I tried to add it to BUNDLE_LIBS 
"-lytnef" in SoObjects/Mailer/GNUmakefile.preamble but it didn't work.

Reply via email to