Linking problem while building.

Questions about Wine on Linux
Locked
kromak
Level 2
Level 2
Posts: 20
Joined: Mon Dec 23, 2019 2:56 pm

Linking problem while building.

Post by kromak »

Hi. I am facing the following linking problem when trying to build wine:

At some point I receive:

Code: Select all

make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/media/34GB/Arquivos-de-Programas-Linux/wine-1.9.0/server'
sfnt2fon.o: In function `main':
sfnt2fon.c:(.text.startup+0x120): undefined reference to `FT_Init_FreeType'
sfnt2fon.c:(.text.startup+0x16c): undefined reference to `FT_Library_Version'
sfnt2fon.c:(.text.startup+0x282): undefined reference to `FT_New_Face'
sfnt2fon.c:(.text.startup+0x2a1): undefined reference to `FT_Set_Pixel_Sizes'
sfnt2fon.c:(.text.startup+0x331): undefined reference to `FT_Load_Sfnt_Table'
sfnt2fon.c:(.text.startup+0x366): undefined reference to `FT_Load_Char'
sfnt2fon.c:(.text.startup+0x396): undefined reference to `FT_Load_Char'
sfnt2fon.c:(.text.startup+0x475): undefined reference to `FT_Get_First_Char'
sfnt2fon.c:(.text.startup+0x4d6): undefined reference to `FT_Get_Sfnt_Name_Count'
sfnt2fon.c:(.text.startup+0x50d): undefined reference to `FT_Get_Sfnt_Name'
sfnt2fon.c:(.text.startup+0x561): undefined reference to `FT_Get_Sfnt_Table'
sfnt2fon.c:(.text.startup+0x64f): undefined reference to `FT_Get_Char_Index'
sfnt2fon.c:(.text.startup+0x676): undefined reference to `FT_Load_Char'
sfnt2fon.c:(.text.startup+0xa17): undefined reference to `FT_Load_Char'
sfnt2fon.c:(.text.startup+0xcfe): undefined reference to `FT_Done_Face'
sfnt2fon.c:(.text.startup+0xe84): undefined reference to `FT_Load_Sfnt_Table'
collect2: error: ld returned 1 exit status
make[1]: *** [sfnt2fon] Error 1
make[1]: Leaving directory `/media/34GB/Arquivos-de-Programas-Linux/wine-1.9.0/tools/sfnt2fon'
make: *** [tools/sfnt2fon] Error 2
Opening the Makefile on "tools/sfnt2fon", I remembered that I changed the Makefile to statically build sfnt2fon, as I am forced to do with several helper little programs that wine uses during the compilation.

Can this be the cause somehow? It wasn't a problem so far, but this seems to be the first auxiliary program that uses a major library such as Freetype.

Outside that, everything looks correct to me on the part of the local makefile that I changed:

Code: Select all

sfnt2fon: sfnt2fon.o
	$(CC) -static -o $@ sfnt2fon.o ../../libs/port/libwine_port.a \
  -L/media/34GB/Arquivos-de-Programas-Linux-32bit/Freetype-2.3.0/lib -lfreetype \
  ../../libs/wine/libwine_static.a $(LDFLAGS)
the freetype location is correct, as a quick "copy & paste" using the above path showed.

I also issued a:

Code: Select all

 nm -D libfreetype.so.6.3.11 | grep FT_Init_FreeType
and a

Code: Select all

nm -D libfreetype.so.6.3.11 | grep FT_Library_Version
which returned respectivelly:

Code: Select all

00006e86 T FT_Init_FreeType

Code: Select all

0000cb26 T FT_Library_Version
that also seems fine to me.

I
Locked