Solved make error code: 1 when compiling Trinity Desktop Environment

I am trying to compile TDE to use as my primary desktop environment in my virtual machine. The compilation runs smoothly until it tries to build the imlib dependency then it has a fatal error. I had followed the instructions listed on this site https://wiki.trinitydesktop.org/FreeBSD_Trinity_Installation_Instructions but I still cannot manage to get TDE compiled. I have upgraded FreeBSD to the latest version and ensured all packages are kept up to date. Does anyone have any ideas what could be wrong?
 

Attachments

  • FreeBSD-2022-02-25-17-18-16.png
    FreeBSD-2022-02-25-17-18-16.png
    19.5 KB · Views: 105
looks like a configure mismatch but you need to post all the imlib build log
use script(1) if you can't copy/paste from the terminal
 
I've had this issues many time and I used TDE for a while. It's a hit or miss situation even if youre on latest ports, packages, and userland. But, your issue can be resolved if you remove tdegraphics from the Makefile. I can't guarantee you won't hit another Make snag but this is a major one. I think its Kuickshow which is included in tdegraphics that's old as dirt and uses imlib1. You won't have it, KSnapshots for screenshots and a few others. Please raise an issue here because I don't know if they realize how significantly hard it is to install the TDE port.
 
Alright, so removing tdegraphics from the Makefile really didn't help much as I ran into even more problems. Here is a log of the imlib build.
 

Attachments

  • build.txt
    28 KB · Views: 93
Ah, ok. Please do not try to use the topmost Makefile. Enter the dependencies folder, make each package by hand, according to the order of of packages in the top Makefile. At least this is what always works for me :)
 
Alright, so removing tdegraphics from the Makefile really didn't help much as I ran into even more problems. Here is a log of the imlib build.
How strange, I don't recall anything else but kuickshow in tdegraphics that needs imlib1 (which is not in ports, TDE provides it externally). I've not installed tdegraphics and fixed the imlib problem but ran into other issues which is what I first assumed for you but its still stuck on that.

I'm sure they realize, but like myself nobody had the time for a closer look.
They do know, I was heavily involved in the TDE community and made several issues for imlib and other problems I hit during the build process. The port is very "hit or miss" on whether it installs/hits an error and I don't know why. However, I've only had one instance where I updated the ports & packages and installed with no issues. This was when I wrote the instructions that BSDologist followed. I also marked this issue I wrote as resolved: https://mirror.git.trinitydesktop.org/gitea/TDE/tde-packaging/issues/110

When Slavek (who maintains this port and is the leader of TDE) tested it he had no problems but others have. I've been told by several to take up the port but I only know the bare minimum of Makefiles, even from reading the porter's handbook. For now I don't use TDE.
 
looks like you have to have both of the below defined.
you have just the latter
HAVE_XSHM_H
HAVE_SHM_H
make sure you have libXext installed
 
Ah, ok. Please do not try to use the topmost Makefile. Enter the dependencies folder, make each package by hand, according to the order of of packages in the top Makefile. At least this is what always works for me :)
I tried this and still gives me same result. I don't know if It's worth trying to install TDE on FreeBSD. It just isn't ready for use yet. The TDE Team needs to roll out another update for it become usable enough to not become such a headache to install. Nothing but broken dependency after broken dependency. Such a shame as I really love TDE.

looks like you have to have both of the below defined.
you have just the latter
HAVE_XSHM_H
HAVE_SHM_H
make sure you have libXext installed
I double checked and I have the latest libXext installed.
 
I just found out something while looking through TDE's git tree this morning. I have found the imlib dependency is way out of date for compilation. The last time the Makefile for imlib was updated was 2 years ago for TDE R14.0.8. All the other dependencies were updated. This could explain why imlib won't compile.
 
After tinkering around for a while, I was able to get TDE installed. Apparently, I had to run the make -k install clean command instead of just make install clean. The -k option allows make to continue after running into errors while compiling. I am going to mark the forum as solved. Thanks for the help everyone!
 

Attachments

  • FreeBSD-2022-03-10-13-43-11.png
    FreeBSD-2022-03-10-13-43-11.png
    736.3 KB · Views: 76
After tinkering around for a while, I was able to get TDE installed. Apparently, I had to run the make -k install clean command instead of just make install clean. The -k option allows make to continue after running into errors while compiling. I am going to mark the forum as solved. Thanks for the help everyone!
Awesome, I'm glad to hear! Now theres three of us I think. And thank you for explaining what you did, my last install was also fruitless so I'm going to try this with make -k as you did and see if that works.

I just found out something while looking through TDE's git tree this morning. I have found the imlib dependency is way out of date for compilation. The last time the Makefile for imlib was updated was 2 years ago for TDE R14.0.8. All the other dependencies were updated. This could explain why imlib won't compile.
I will let them know.
 
make -k didn't work for me. I ended up with more errors that directories in ports couldn't be found and eventually this became unresolved dependencies.
 
Try following these steps that I did.

1. Download desktop-installer and when prompted about what desktop environment to install, select 1 as it will install tools needed to compile desktop software. Make sure to also Enable CUP services when prompted as it has some dependencies needed by TDE.

2. When downloading build tools, make sure to also download texlive-full as it seemed to help alot.

3. Clone the git repository and cd into directory. Enter make -k install clean NO_DIALOG=yes

4. Process should start building and will run into a couple of errors but it will bypass them and try to reinstall it again later.

5. Edit /etc/ttys and add /opt/trinity/bin/tdm to ttys8 with xterm secure on

6. Reboot and trinity should pop up.

If you still can't get it installed, let me know, I will most likely upload an installation video or guide.
 
Try following these steps that I did.

1. Download desktop-installer and when prompted about what desktop environment to install, select 1 as it will install tools needed to compile desktop software. Make sure to also Enable CUP services when prompted as it has some dependencies needed by TDE.

2. When downloading build tools, make sure to also download texlive-full as it seemed to help alot.

3. Clone the git repository and cd into directory. Enter make -k install clean NO_DIALOG=yes

4. Process should start building and will run into a couple of errors but it will bypass them and try to reinstall it again later.

5. Edit /etc/ttys and add /opt/trinity/bin/tdm to ttys8 with xterm secure on

6. Reboot and trinity should pop up.

If you still can't get it installed, let me know, I will most likely upload an installation video or guide.
I know the gist, I wrote the wiki tutorial :)

However, I hadn't been able to use it because my own directions ended up not working again for whatever reason. I'm going to trust that it will try to reinstall imlib successfully later down the line. It turns out imlib was the culprit for all those pkg-static errors I got.

EDIT: Now I wonder what we're going to do when R14.0.12 is out and its time to upgrade. Time for another headache.
 
I would be nice if someone would provide a trinity-desktop in the ports.
I've talked about it before, but I've never ported anything and tde is a massive project that maintains everything from kde 3.5. So I wouldn't want to half-@$$ it.

TDE is excluded in almost all distros so it installs to /opt by default. This would need to be changed. However if such a thing did happen, FreeBSD and Q4OS would be the only "big dogs" which have TDE in their official repos :)
 
For me it's ok if a port installs in /opt. As long as my system does not falls into a hell of conflicting libraries with different versions of the same and the dynamic linker configuration becomes confused.
 
I know the gist, I wrote the wiki tutorial :)

However, I hadn't been able to use it because my own directions ended up not working again for whatever reason. I'm going to trust that it will try to reinstall imlib successfully later down the line. It turns out imlib was the culprit for all those pkg-static errors I got.

EDIT: Now I wonder what we're going to do when R14.0.12 is out and its time to upgrade. Time for another headache.

During the building process, I had noticed that the make process had downloaded imlib2 after it failed to install the original imlib. Hopefully in R14.0.12, the make process will have up to date dependencies to build
 
For me it's ok if a port installs in /opt. As long as my system does not falls into a hell of conflicting libraries with different versions of the same and the dynamic linker configuration becomes confused.
I'm fine with it too, but for it to be in the Ports Collection it would need to be moved to where other ports go.

During the building process, I had noticed that the make process had downloaded imlib2 after it failed to install the original imlib. Hopefully in R14.0.12, the make process will have up to date dependencies to build
I asked them why it uses imlib1 and its because imlib2 actually isn't backwards compatible like I thought. The API is completely different. Debian/Devuan has both versions. I believe only kuickshow needs imlib1, so I might try to just remove the dependency from the Makefile for tdegraphics and try again.
 
I'm fine with it too, but for it to be in the Ports Collection it would need to be moved to where other ports go.


I asked them why it uses imlib1 and its because imlib2 actually isn't backwards compatible like I thought. The API is completely different. Debian/Devuan has both versions. I believe only kuickshow needs imlib1, so I might try to just remove the dependency from the Makefile for tdegraphics and try again.
This is where make -k comes in real handy. Without it, I had to sit through and go through almost every makefile and remove alot of packages that caused errors. Try to install desktop-installer like I did and that should take care of half the problems you may have.
 
I'm not a specialist but i found this,
Code:
export PREFIX=/opt/trinity
export SYSCONFDIR=/etc/trinity
export LIBDIR=/opt/trinity/lib
export MANDIR=/opt/trinity/man
export QTDIR=/opt/trinity/lib/qt3-3.3.8.d
export PATH=/opt/trinity/qt3-3.3.8.d/bin:/opt/trinity/bin:$PATH
export LD_LIBRARY_PATH=/opt/trinity/lib:/opt/trinity/lib/trinity:$LD_LIBRARY_PATH
export PKG_CONFIG_PATH=:/opt/trinity/lib/pkgconfig:/opt/trinity/qt3-3.3.8.d/lib/pkgconfig:$PKG_CONFIG_PATH
# Enable only one of the following:
# export DEBUG_AUTOTOOL_OPT="--enable-debug=full"
export DEBUG_AUTOTOOL_OPT="--disable-debug"
 CFLAGS=$CPUOPT \
 CXXFLAGS=$CPUOPT \
 ./configure \
   --prefix=${PREFIX} \
   --sysconfdir=${SYSCONFDIR} \
   --libdir=${LIBDIR} \
   --mandir=${MANDIR} \
   --with-qt-dir=${QTDIR} \
   --with-qt-includes=${QTDIR}/include \
   --with-qt-libraries=${QTDIR}/lib \
   $DEBUG_AUTOTOOL_OPT
It might be this only works on linux ? But you could change to /opt directories to /usr/local/...
 
This is where make -k comes in real handy. Without it, I had to sit through and go through almost every makefile and remove alot of packages that caused errors. Try to install desktop-installer like I did and that should take care of half the problems you may have.
Were you able to install imlib? I finally got TDE working, but I had to sacrifice tdegraphics because of imlib.
 
This is the fix for imlib on my system, please give it a try and report back:

tde-packaging/freebsd/dependencies/imlib/files/patch-search-system-include-for-xshm.diff:

8c8
< + if test -f "$x_includes/X11/extensions/XShm.h" || test -f "/usr/include/X11/extensions/XShm.h"; then
---
> + if test -f "$x_includes/X11/extensions/XShm.h" || test -f "/usr/local/include/X11/extensions/XShm.h"; then
 
Back
Top