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> 
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