Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
libjpeg-turbo-1.1.0 build fails
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Multimedia
View previous topic :: View next topic  
Author Message
plink212
Tux's lil' helper
Tux's lil' helper


Joined: 21 Jan 2005
Posts: 90

PostPosted: Wed May 04, 2011 4:40 am    Post subject: libjpeg-turbo-1.1.0 build fails Reply with quote

I have built a new system on a amd zacate e350
I have used the following cflags

CFLAGS="-O2 -pipe -mtune=generic -mmmx -msse -msse2 -msse3 -msse4a -mabm"

I am trying to emerge mythtv which pulls in libjpeg-turbo and it fails as follows

Code:
 x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -I.. -Wall -O2 -pipe -mtune=generic -mmmx -msse -msse2 -msse3 -msse4a -mabm -c jsimd_x86_64.c  -fPIC -DPIC -o .libs/jsimd_x86_64.o
/bin/sh ../libtool --mode=compile --tag NASM ./nasm_lt.sh nasm -felf64 -DELF -D__x86_64__ -I. jfsseflt-64.asm -o jfsseflt-64.lo
libtool: ignoring unknown tag NASM
 ./nasm_lt.sh nasm -felf64 -DELF -D__x86_64__ -I. jfsseflt-64.asm  -fPIC -DPIC -o .libs/jfsseflt-64.o
nasm -felf64 -DELF -D__x86_64__ -I./ jfsseflt-64.asm -DPIC -o .libs/jfsseflt-64.o
jfsseflt-64.asm:213: error: symbol `jsimd_fdct_float_sse.rowloop' undefined


I have tried reemerging libtool but this has not fixed it.
Back to top
View user's profile Send private message
plink212
Tux's lil' helper
Tux's lil' helper


Joined: 21 Jan 2005
Posts: 90

PostPosted: Wed May 04, 2011 5:51 am    Post subject: Reply with quote

hmm, I have worked around this by emerging media-libs/jpeg.
Not really a solution but it works
Back to top
View user's profile Send private message
xanthax
Tux's lil' helper
Tux's lil' helper


Joined: 16 Apr 2004
Posts: 91
Location: Bi Nary State

PostPosted: Sat May 07, 2011 6:26 am    Post subject: Reply with quote

I have the same problem and i just made a new gentoo install from 11.0 and then trying to install samba which in turn requierd libjpeg-turbo.

After installing normal media-libs/jpeg-8 it works fine for me to but still we should try to find out why it is like this.

BTW i got 2
Code:
libtool: ignoring unknown tag NASM
instead of 1 thats the only difference from your output.

//XanthaX
_________________
God is only an imaginary friend for adults...
Back to top
View user's profile Send private message
plink212
Tux's lil' helper
Tux's lil' helper


Joined: 21 Jan 2005
Posts: 90

PostPosted: Sat May 07, 2011 5:35 pm    Post subject: Reply with quote

I actually got that too just clipped the output.
Out of interest what platform are you on?
Back to top
View user's profile Send private message
xanthax
Tux's lil' helper
Tux's lil' helper


Joined: 16 Apr 2004
Posts: 91
Location: Bi Nary State

PostPosted: Sat May 07, 2011 8:34 pm    Post subject: Reply with quote

im running amd64 multilib on a AMD Fusion board.
_________________
God is only an imaginary friend for adults...
Back to top
View user's profile Send private message
plink212
Tux's lil' helper
Tux's lil' helper


Joined: 21 Jan 2005
Posts: 90

PostPosted: Sat May 07, 2011 11:26 pm    Post subject: Reply with quote

As it is the same as me I think it maybe has to do with the removal of 3dnow from the amd chips
This is after all supposed to be a heavily optimized sse etc. jpeg library.

Code:

flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf pni monitor ssse3 cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch ibs skinit wdt arat npt lbrv svm_lock nrip_save pausefilter
Back to top
View user's profile Send private message
xanthax
Tux's lil' helper
Tux's lil' helper


Joined: 16 Apr 2004
Posts: 91
Location: Bi Nary State

PostPosted: Sun May 08, 2011 8:49 am    Post subject: Reply with quote

highly likley...

so i guess it will be fixed when a dev buys a fusion board :)

anyway as long as normal jpeg works im ok with it, btw thanks for that solution...
_________________
God is only an imaginary friend for adults...


Last edited by xanthax on Sun May 08, 2011 6:09 pm; edited 1 time in total
Back to top
View user's profile Send private message
plink212
Tux's lil' helper
Tux's lil' helper


Joined: 21 Jan 2005
Posts: 90

PostPosted: Sun May 08, 2011 5:11 pm    Post subject: Reply with quote

I have emailed the library developer to ask, hopefully they will be able to assist

Tim
Back to top
View user's profile Send private message
tmi
n00b
n00b


Joined: 26 May 2011
Posts: 5
Location: Ulm/Germany

PostPosted: Thu May 26, 2011 11:34 am    Post subject: Reply with quote

I had the same problem on my ASUS E35M1-I Deluxe.

Somewhere i've read that only gcc-4.6.0 recognizes the right settings of mtune or march for the Fusion chips.
So i gave it a try and unmasked gcc-4.6.0.

CFLAGS="-mtune=native -O2 -pipe"

After:
emerge gcc
gcc upgrade guide
emerge nasm

libjpeg-turbo-1.1.1 was built without any error.
Back to top
View user's profile Send private message
plink212
Tux's lil' helper
Tux's lil' helper


Joined: 21 Jan 2005
Posts: 90

PostPosted: Fri May 27, 2011 12:29 am    Post subject: Reply with quote

do you know what CFLAGS you used to emerge gcc 4.6 as mine keeps failing
/var/tmp/portage/sys-devel/gcc-4.6.0/work/gcc-4.6.0/gcc/reload.c: In function 'find_reloads':
/var/tmp/portage/sys-devel/gcc-4.6.0/work/gcc-4.6.0/gcc/reload.c:4577:1: internal compiler error: in ready_remove_first, at haifa-sched.c:1414
Back to top
View user's profile Send private message
tmi
n00b
n00b


Joined: 26 May 2011
Posts: 5
Location: Ulm/Germany

PostPosted: Thu Jun 02, 2011 10:20 am    Post subject: Reply with quote

Sorry for the delay plink212.

I did not use any other CFLAGs as posted in my previous post.
It was a fresh install of gentoo and i used the settings right from the start.
Back to top
View user's profile Send private message
Blackgate
n00b
n00b


Joined: 19 Oct 2007
Posts: 6

PostPosted: Thu Aug 18, 2011 8:22 pm    Post subject: Reply with quote

emerge jpeg solved this problem :D

thx for this hint to solve this problem
Back to top
View user's profile Send private message
blakedude
n00b
n00b


Joined: 05 Mar 2005
Posts: 45
Location: Colorado Springs

PostPosted: Fri Apr 27, 2012 2:06 pm    Post subject: Reply with quote

I am having a similar problem - libjpeg-turbo fails to build with the same error. I don't feel like emerging a masked version of GCC just to install the new and "optional" libjpeg-turbo.

However, I cannot emerge -uaNDv world, because the system is requiring that I install libjpeg-turbo. I can't tell what is requiring this dependency. I masked libjpeg-turbo, but the system autounmasks it. I use the no auto unmask flag, and the emerge fails completely.

How can I get the system to use jpeg in place of libjpeg-turbo?
Back to top
View user's profile Send private message
DaggyStyle
Watchman
Watchman


Joined: 22 Mar 2006
Posts: 5910

PostPosted: Fri Apr 27, 2012 5:35 pm    Post subject: Reply with quote

blakedude wrote:
I am having a similar problem - libjpeg-turbo fails to build with the same error. I don't feel like emerging a masked version of GCC just to install the new and "optional" libjpeg-turbo.

However, I cannot emerge -uaNDv world, because the system is requiring that I install libjpeg-turbo. I can't tell what is requiring this dependency. I masked libjpeg-turbo, but the system autounmasks it. I use the no auto unmask flag, and the emerge fails completely.

How can I get the system to use jpeg in place of libjpeg-turbo?

as it all tied up to a virtual package, you should not have any problems using the old one.
please post the output of relevant package (emerge -ptv pkg) and the build log.

also, if you use obscure cflags like the op of this thread, do yourself and us a favor and use standard values.
_________________
Only two things are infinite, the universe and human stupidity and I'm not sure about the former - Albert Einstein
Back to top
View user's profile Send private message
blakedude
n00b
n00b


Joined: 05 Mar 2005
Posts: 45
Location: Colorado Springs

PostPosted: Fri Apr 27, 2012 8:57 pm    Post subject: Reply with quote

I was able to fix the problem by installing a binary package of libjpeg-turbo from another machine that could build it without error. So the problem has been solved for now.

I'll post the build stuff later, since I don't understand why the system is insisting I install one jpeg lib over another, when they should be equivalent alternatives from a dependency standpoint. All I can guess is that some other package specifically requires libjpeg-turbo.

Thanks for the help
Back to top
View user's profile Send private message
DaggyStyle
Watchman
Watchman


Joined: 22 Mar 2006
Posts: 5910

PostPosted: Sat Apr 28, 2012 4:54 am    Post subject: Reply with quote

blakedude wrote:
I was able to fix the problem by installing a binary package of libjpeg-turbo from another machine that could build it without error. So the problem has been solved for now.

I'll post the build stuff later, since I don't understand why the system is insisting I install one jpeg lib over another, when they should be equivalent alternatives from a dependency standpoint. All I can guess is that some other package specifically requires libjpeg-turbo.

Thanks for the help

bad idea... (assuming you don't use binhost), see:
Code:

dagg@NCC-5001-D ~ $ equery d media-libs/libjpeg-turbo
 * These packages depend on media-libs/libjpeg-turbo:
virtual/jpeg-0 (!prefix ? >=media-libs/libjpeg-turbo-1.2.0:0[static-libs?])
               (prefix ? >=media-libs/libjpeg-turbo-1.2.0:0[static-libs?])
dagg@NCC-5001-D ~ $

_________________
Only two things are infinite, the universe and human stupidity and I'm not sure about the former - Albert Einstein
Back to top
View user's profile Send private message
SamuliSuominen
Retired Dev
Retired Dev


Joined: 30 Sep 2005
Posts: 2133
Location: Finland

PostPosted: Sat Apr 28, 2012 9:25 am    Post subject: Reply with quote

-march=native *IS NOT* valid flag for gcc-4.5 and new AMD CPU's without the old 3dnow extension. It gets detected wrongly and binaries produced are invalid.

-march=native *IS NOT SAFE* for GCC versions when used with CPU which is not supported.

See https://bugs.gentoo.org/392885

So:

1. Stop using -march=native

Or

1. Upgrade to at least gcc-4.6

So bewarn: Many many people blindly recommend using -march=native *WHICH IS NOT SAFE* flag to use unless you know what you are doing. Those people recommending it are clueless.
Back to top
View user's profile Send private message
Anon-E-moose
Watchman
Watchman


Joined: 23 May 2008
Posts: 6103
Location: Dallas area

PostPosted: Sat Apr 28, 2012 10:42 am    Post subject: Reply with quote

Using

Code:
gcc -march=native -E -v - </dev/null 2>&1 | sed -n 's/.* -v - //p'


will show you what gcc thinks it is looking at

In my case I get

Code:
-D_FORTIFY_SOURCE=2 -march=amdfam10 -mcx16 -msahf -mpopcnt -mabm --param l1-cache-size=64 --param l1-cache-line-size=64 --param l2-cache-size=512 -mtune=amdfam10


Which tells me it thinks my cpu is an amd family 10, I try not to make blind assumptions.


and one can turn off the 3dnow flag with a -mno-3Dnow in the CFLAGS section of make.conf
_________________
PRIME x570-pro, 3700x, 6.1 zen kernel
gcc 13, profile 17.0 (custom bare multilib), openrc, wayland
Back to top
View user's profile Send private message
DaggyStyle
Watchman
Watchman


Joined: 22 Mar 2006
Posts: 5910

PostPosted: Sat Apr 28, 2012 11:40 am    Post subject: Reply with quote

ssuominen wrote:
-march=native *IS NOT* valid flag for gcc-4.5 and new AMD CPU's without the old 3dnow extension. It gets detected wrongly and binaries produced are invalid.

-march=native *IS NOT SAFE* for GCC versions when used with CPU which is not supported.

See https://bugs.gentoo.org/392885

So:

1. Stop using -march=native

Or

1. Upgrade to at least gcc-4.6

So bewarn: Many many people blindly recommend using -march=native *WHICH IS NOT SAFE* flag to use unless you know what you are doing. Those people recommending it are clueless.


did he said that he uses -march=native?
I cannot seem to find it anywhere.
_________________
Only two things are infinite, the universe and human stupidity and I'm not sure about the former - Albert Einstein
Back to top
View user's profile Send private message
drizzt
Guru
Guru


Joined: 21 Jul 2002
Posts: 428

PostPosted: Tue May 01, 2012 5:28 pm    Post subject: Reply with quote

Hi @all,
I too encountered the mentioned problem regarding "symbol `jsimd_fdct_float_sse.rowloop' undefined" on a AMD FUSION E350 and I want to share my solution which was rather simple:

I just reemerged nasm with the correct cflags and gcc-4.6.1. Afterwards everything installed fine.
I think the problem is caused by the fact that I installed the system the first time with gcc-4.5.x and the following "generic" cflags:
Code:
CFLAGS="-O1 -pipe -mno-3dnow -march=amdfam10"

After gcc-4.6.x was available I switched to the following cflags:
Code:
CFLAGS="-O2 -pipe -march=btver1 -mtune=btver1"


I didn't re-emerge all (system-)packages after the switch (since this wasn't ever necessary in nearly 10 years my main gentoo-system is "living" now) and I think this caused the problems here.

greetings
_________________
People don't have to earn my respect. I offer my respect to them, but be careful to lose my respect...
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Multimedia All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum