Re: [Mingw-w64-public] how to remove libgcc_s_sjlj-1.dll dependency
Hi, On Mon, May 05, 2014, YIRAN LI wrote: > Hi, > > I'm building an opensource project on mingw32 and found the generated dll > depends on libgcc_s_sjlj-1.dll. The function referenced is __divdi3. > > I tried to add ldflags = -static- libgcc, but seems it doesn't work. > > Could any one let me know how can I get rid of this dependency? Not something I usually do and top of my head, so this might not be enough. The flags you use should rather be "-static -static-libgcc" (both of them and notice the different spelling). HTH, Adrien Nader -- Is your legacy SCM system holding you back? Join Perforce May 7 to find out: • 3 signs your SCM is hindering your productivity • Requirements for releasing software faster • Expert tips and advice for migrating your SCM now http://p.sf.net/sfu/perforce ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] how to remove libgcc_s_sjlj-1.dll dependency
0) Try -static first. I have been using this option since long ago and it never fails; 1) Try -static-libgcc -static-libstdc++. These two should be used together. Using only one of them does not work, at least on my machine. 2) There is no space in '-static-libgcc'. -- Best regards, lh_mouse 2014-05-05 - 发件人:YIRAN LI 发送日期:2014-05-05 15:19 收件人:mingw-w64-public 抄送: 主题:[Mingw-w64-public] how to remove libgcc_s_sjlj-1.dll dependency Hi, I'm building an opensource project on mingw32 and found the generated dll depends on libgcc_s_sjlj-1.dll. The function referenced is __divdi3. I tried to add ldflags = -static- libgcc, but seems it doesn't work. Could any one let me know how can I get rid of this dependency? Thanks -- Is your legacy SCM system holding you back? Join Perforce May 7 to find out: • 3 signs your SCM is hindering your productivity • Requirements for releasing software faster • Expert tips and advice for migrating your SCM now http://p.sf.net/sfu/perforce ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] how to remove libgcc_s_sjlj-1.dll dependency
2014-05-05 17:32 GMT+10:00 lh_mouse : > 0) Try -static first. I have been using this option since long ago and it > never fails; > 1) Try -static-libgcc -static-libstdc++. These two should be used > together. Using only one of them does not work, at least on my machine. > 2) There is no space in '-static-libgcc'. > > Thanks, I used -static, but seems it causes the project to generate static libs instead of dlls. I think it should be the problem of the project (libtheora) and I've sent out a mail to libtheora's mail list. -- > Best regards, > lh_mouse > 2014-05-05 > > - > 发件人:YIRAN LI > 发送日期:2014-05-05 15:19 > 收件人:mingw-w64-public > 抄送: > 主题:[Mingw-w64-public] how to remove libgcc_s_sjlj-1.dll dependency > > Hi, > > I'm building an opensource project on mingw32 and found the generated dll > depends on libgcc_s_sjlj-1.dll. The function referenced is __divdi3. > > I tried to add ldflags = -static- libgcc, but seems it doesn't work. > > Could any one let me know how can I get rid of this dependency? > > Thanks > > > > -- > Is your legacy SCM system holding you back? Join Perforce May 7 to find > out: > • 3 signs your SCM is hindering your productivity > • Requirements for releasing software faster > • Expert tips and advice for migrating your SCM now > http://p.sf.net/sfu/perforce > ___ > Mingw-w64-public mailing list > Mingw-w64-public@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/mingw-w64-public > -- Is your legacy SCM system holding you back? Join Perforce May 7 to find out: • 3 signs your SCM is hindering your productivity • Requirements for releasing software faster • Expert tips and advice for migrating your SCM now http://p.sf.net/sfu/perforce___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] how to remove libgcc_s_sjlj-1.dll dependency
05 мая 2014 г., в 12:22, YIRAN LI написал(а): > > > > 2014-05-05 17:32 GMT+10:00 lh_mouse : > 0) Try -static first. I have been using this option since long ago and it > never fails; > 1) Try -static-libgcc -static-libstdc++. These two should be used together. > Using only one of them does not work, at least on my machine. > 2) There is no space in '-static-libgcc'. > > > Thanks, I used -static, but seems it causes the project to generate static > libs instead of dlls. I think it should be the problem of the project > (libtheora) and I've sent out a mail to libtheora's mail list. > > Use -static you always get only static libs. > -- > Best regards, > lh_mouse > 2014-05-05 > > - > 发件人:YIRAN LI > 发送日期:2014-05-05 15:19 > 收件人:mingw-w64-public > 抄送: > 主题:[Mingw-w64-public] how to remove libgcc_s_sjlj-1.dll dependency > > Hi, > > I'm building an opensource project on mingw32 and found the generated dll > depends on libgcc_s_sjlj-1.dll. The function referenced is __divdi3. > > I tried to add ldflags = -static- libgcc, but seems it doesn't work. > > Could any one let me know how can I get rid of this dependency? > > Thanks > > > -- > Is your legacy SCM system holding you back? Join Perforce May 7 to find out: > • 3 signs your SCM is hindering your productivity > • Requirements for releasing software faster > • Expert tips and advice for migrating your SCM now > http://p.sf.net/sfu/perforce > ___ > Mingw-w64-public mailing list > Mingw-w64-public@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/mingw-w64-public > > -- > Is your legacy SCM system holding you back? Join Perforce May 7 to find out: > • 3 signs your SCM is hindering your productivity > • Requirements for releasing software faster > • Expert tips and advice for migrating your SCM now > http://p.sf.net/sfu/perforce___ > Mingw-w64-public mailing list > Mingw-w64-public@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/mingw-w64-public -- Is your legacy SCM system holding you back? Join Perforce May 7 to find out: • 3 signs your SCM is hindering your productivity • Requirements for releasing software faster • Expert tips and advice for migrating your SCM now http://p.sf.net/sfu/perforce___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] how to remove libgcc_s_sjlj-1.dll dependency
2014-05-05 18:28 GMT+10:00 Alexpux : > > 05 мая 2014 г., в 12:22, YIRAN LI написал(а): > > > > > 2014-05-05 17:32 GMT+10:00 lh_mouse : > >> 0) Try -static first. I have been using this option since long ago and it >> never fails; >> 1) Try -static-libgcc -static-libstdc++. These two should be used >> together. Using only one of them does not work, at least on my machine. >> 2) There is no space in '-static-libgcc'. >> >> > Thanks, I used -static, but seems it causes the project to generate static > libs instead of dlls. I think it should be the problem of the project > (libtheora) and I've sent out a mail to libtheora's mail list. > > > Use -static you always get only static libs. > Thanks, then -static is not what I want. I need dlls. but these dlls can't be dynamically linked to libgcc. I also checked MinGW folder hxuanyu-nch@hxuanyu-PC/cygdrive/c/i686-4.9.0-release-win32-sjlj-rt_v3-rev1/mingw32 $ find ./ -name "libgcc.a" ./lib/gcc/i686-w64-mingw32/4.9.0/64/libgcc.a ./lib/gcc/i686-w64-mingw32/4.9.0/libgcc.a hxuanyu-nch@hxuanyu-PC/cygdrive/c/i686-4.9.0-release-win32-sjlj-rt_v3-rev1/mingw32 $ find ./ -name "libgcc_s.a" ./i686-w64-mingw32/lib/libgcc_s.a ./i686-w64-mingw32/lib64/libgcc_s.a ./lib/gcc/i686-w64-mingw32/lib/libgcc_s.a ./lib/gcc/i686-w64-mingw32/lib64/libgcc_s.a see that there's no libgcc_s.a in ./lib/gcc/i686-w64-mingw32/4.9.0, I'm not sure if I specify -static-libgcc, ld could find correct libgcc_s.a Thanks > > -- >> Best regards, >> lh_mouse >> 2014-05-05 >> >> - >> 发件人:YIRAN LI >> 发送日期:2014-05-05 15:19 >> 收件人:mingw-w64-public >> 抄送: >> 主题:[Mingw-w64-public] how to remove libgcc_s_sjlj-1.dll dependency >> >> Hi, >> >> I'm building an opensource project on mingw32 and found the generated dll >> depends on libgcc_s_sjlj-1.dll. The function referenced is __divdi3. >> >> I tried to add ldflags = -static- libgcc, but seems it doesn't work. >> >> Could any one let me know how can I get rid of this dependency? >> >> Thanks >> >> >> >> -- >> Is your legacy SCM system holding you back? Join Perforce May 7 to find >> out: >> • 3 signs your SCM is hindering your productivity >> • Requirements for releasing software faster >> • Expert tips and advice for migrating your SCM now >> http://p.sf.net/sfu/perforce >> ___ >> Mingw-w64-public mailing list >> Mingw-w64-public@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/mingw-w64-public >> > > > -- > Is your legacy SCM system holding you back? Join Perforce May 7 to find > out: > • 3 signs your SCM is hindering your productivity > • Requirements for releasing software faster > • Expert tips and advice for migrating your SCM now > http://p.sf.net/sfu/perforce___ > Mingw-w64-public mailing list > Mingw-w64-public@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/mingw-w64-public > > > > > -- > Is your legacy SCM system holding you back? Join Perforce May 7 to find > out: > • 3 signs your SCM is hindering your productivity > • Requirements for releasing software faster > • Expert tips and advice for migrating your SCM now > http://p.sf.net/sfu/perforce > ___ > Mingw-w64-public mailing list > Mingw-w64-public@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/mingw-w64-public > > -- Is your legacy SCM system holding you back? Join Perforce May 7 to find out: • 3 signs your SCM is hindering your productivity • Requirements for releasing software faster • Expert tips and advice for migrating your SCM now http://p.sf.net/sfu/perforce___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] how to remove libgcc_s_sjlj-1.dll dependency
It is possible to build a DLL with -static. You may need --enable-shared or something if you are using configure script (I am not familiar with it though). When you specify -static or -static-libgcc -static-libstdc++, g++ links against libgcc_eh.a rather than libgcc_s.a. These two files are in different folders. -- Best regards, lh_mouse 2014-05-05 - 发件人:YIRAN LI 发送日期:2014-05-05 16:34 收件人:mingw-w64-public 抄送: 主题:Re: [Mingw-w64-public] how to remove libgcc_s_sjlj-1.dll dependency 2014-05-05 18:28 GMT+10:00 Alexpux : > > 05 мая 2014 г., в 12:22, YIRAN LI написал(а): > > > > > 2014-05-05 17:32 GMT+10:00 lh_mouse : > >> 0) Try -static first. I have been using this option since long ago and it >> never fails; >> 1) Try -static-libgcc -static-libstdc++. These two should be used >> together. Using only one of them does not work, at least on my machine. >> 2) There is no space in '-static-libgcc'. >> >> > Thanks, I used -static, but seems it causes the project to generate static > libs instead of dlls. I think it should be the problem of the project > (libtheora) and I've sent out a mail to libtheora's mail list. > > > Use -static you always get only static libs. > Thanks, then -static is not what I want. I need dlls. but these dlls can't be dynamically linked to libgcc. I also checked MinGW folder hxuanyu-nch@hxuanyu-PC/cygdrive/c/i686-4.9.0-release-win32-sjlj-rt_v3-rev1/mingw32 $ find ./ -name "libgcc.a" ./lib/gcc/i686-w64-mingw32/4.9.0/64/libgcc.a ./lib/gcc/i686-w64-mingw32/4.9.0/libgcc.a hxuanyu-nch@hxuanyu-PC/cygdrive/c/i686-4.9.0-release-win32-sjlj-rt_v3-rev1/mingw32 $ find ./ -name "libgcc_s.a" ./i686-w64-mingw32/lib/libgcc_s.a ./i686-w64-mingw32/lib64/libgcc_s.a ./lib/gcc/i686-w64-mingw32/lib/libgcc_s.a ./lib/gcc/i686-w64-mingw32/lib64/libgcc_s.a see that there's no libgcc_s.a in ./lib/gcc/i686-w64-mingw32/4.9.0, I'm not sure if I specify -static-libgcc, ld could find correct libgcc_s.a Thanks -- Is your legacy SCM system holding you back? Join Perforce May 7 to find out: • 3 signs your SCM is hindering your productivity • Requirements for releasing software faster • Expert tips and advice for migrating your SCM now http://p.sf.net/sfu/perforce ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] how to remove libgcc_s_sjlj-1.dll dependency
On 05/05/14 09:19, YIRAN LI wrote: > Hi, > > I'm building an opensource project on mingw32 and found the generated dll > depends on libgcc_s_sjlj-1.dll. The function referenced is __divdi3. > > I tried to add ldflags = -static- libgcc, but seems it doesn't work. > > Could any one let me know how can I get rid of this dependency? > > Thanks See http://people.videolan.org/~funman/win/howto-gcc -- Is your legacy SCM system holding you back? Join Perforce May 7 to find out: • 3 signs your SCM is hindering your productivity • Requirements for releasing software faster • Expert tips and advice for migrating your SCM now http://p.sf.net/sfu/perforce ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] how to remove libgcc_s_sjlj-1.dll dependency
2014-05-05 20:42 GMT+10:00 Rafaël Carré : > On 05/05/14 09:19, YIRAN LI wrote: > > Hi, > > > > I'm building an opensource project on mingw32 and found the generated dll > > depends on libgcc_s_sjlj-1.dll. The function referenced is __divdi3. > > > > I tried to add ldflags = -static- libgcc, but seems it doesn't work. > > > > Could any one let me know how can I get rid of this dependency? > > > > Thanks > > See http://people.videolan.org/~funman/win/howto-gcc > > Thanks Rafael, The script seems doesn't work on my machine. I'm using i686-4.8.2-release-win32-sjlj-rt_v3-rev3, but gcc -v prints nothing containing LIBRARY_PATH. What the script does is remove libgcc_s_sjlj-1.dll (I only need to remove the dependency on libgcc). I manually moved libgcc_s_sjlj-1.dll and libgcc.a. And then ln -s libgcc_eh.a libgcc_s.a But libtheora can't pass ./configure. ld.exe can't find -lgcc. I have to put libgcc_s_sjlj-1.dll and libgcc.a back to get configure and build succeed. Thanks -- > Is your legacy SCM system holding you back? Join Perforce May 7 to find > out: > • 3 signs your SCM is hindering your productivity > • Requirements for releasing software faster > • Expert tips and advice for migrating your SCM now > http://p.sf.net/sfu/perforce > ___ > Mingw-w64-public mailing list > Mingw-w64-public@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/mingw-w64-public > -- Is your legacy SCM system holding you back? Join Perforce May 7 to find out: • 3 signs your SCM is hindering your productivity • Requirements for releasing software faster • Expert tips and advice for migrating your SCM now http://p.sf.net/sfu/perforce___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] how to remove libgcc_s_sjlj-1.dll dependency
On 05/05/14 13:51, YIRAN LI wrote: > 2014-05-05 20:42 GMT+10:00 Rafaël Carré : > >> On 05/05/14 09:19, YIRAN LI wrote: >>> Hi, >>> >>> I'm building an opensource project on mingw32 and found the generated dll >>> depends on libgcc_s_sjlj-1.dll. The function referenced is __divdi3. >>> >>> I tried to add ldflags = -static- libgcc, but seems it doesn't work. >>> >>> Could any one let me know how can I get rid of this dependency? >>> >>> Thanks >> >> See http://people.videolan.org/~funman/win/howto-gcc >> >> > Thanks Rafael, > > The script seems doesn't work on my machine. I'm using > i686-4.8.2-release-win32-sjlj-rt_v3-rev3, but gcc -v prints nothing > containing LIBRARY_PATH. > > What the script does is remove libgcc_s_sjlj-1.dll (I only need to remove > the dependency on libgcc). I manually moved libgcc_s_sjlj-1.dll and > libgcc.a. And then ln -s libgcc_eh.a libgcc_s.a > > But libtheora can't pass ./configure. ld.exe can't find -lgcc. I have to > put libgcc_s_sjlj-1.dll and libgcc.a back to get configure and build > succeed. > > Thanks What is your distro? I tested it on gcc builds of archlinux and debian -- Is your legacy SCM system holding you back? Join Perforce May 7 to find out: • 3 signs your SCM is hindering your productivity • Requirements for releasing software faster • Expert tips and advice for migrating your SCM now http://p.sf.net/sfu/perforce ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] how to remove libgcc_s_sjlj-1.dll dependency
On 5.5.2014 10:19, YIRAN LI wrote: > I'm building an opensource project on mingw32 and found the generated > dll depends on libgcc_s_sjlj-1.dll. The function referenced is __divdi3. > > I tried to add ldflags = -static- libgcc, but seems it doesn't work. > > Could any one let me know how can I get rid of this dependency? This should work: CC='gcc -static-libgcc -static-libstdc++' CXX='g++ -static-libgcc -static-libstdc++' ./configure -- Is your legacy SCM system holding you back? Join Perforce May 7 to find out: • 3 signs your SCM is hindering your productivity • Requirements for releasing software faster • Expert tips and advice for migrating your SCM now http://p.sf.net/sfu/perforce ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] how to remove libgcc_s_sjlj-1.dll dependency
On Mon, May 05, 2014, YIRAN LI wrote: > 2014-05-05 17:32 GMT+10:00 lh_mouse : > > > 0) Try -static first. I have been using this option since long ago and it > > never fails; > > 1) Try -static-libgcc -static-libstdc++. These two should be used > > together. Using only one of them does not work, at least on my machine. > > 2) There is no space in '-static-libgcc'. > > > > > Thanks, I used -static, but seems it causes the project to generate static > libs instead of dlls. I think it should be the problem of the project > (libtheora) and I've sent out a mail to libtheora's mail list. You use -static and possible -static-something when building the final executable and only it. If you are not able to easily single out the build of the final executable (because it is a tool built as part of a larger project), a very efficient way is to build as usual, find the corresponding compilation command, copy-paste it and add -static yourself. It's not terribly clean but it's the easiest way to do it. -- Adrien Nader -- Is your legacy SCM system holding you back? Join Perforce May 7 to find out: • 3 signs your SCM is hindering your productivity • Requirements for releasing software faster • Expert tips and advice for migrating your SCM now http://p.sf.net/sfu/perforce ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] how to remove libgcc_s_sjlj-1.dll dependency
2014-05-05 22:16 GMT+10:00 Teemu Nätkinniemi : > On 5.5.2014 10:19, YIRAN LI wrote: > > I'm building an opensource project on mingw32 and found the generated > > dll depends on libgcc_s_sjlj-1.dll. The function referenced is __divdi3. > > > > I tried to add ldflags = -static- libgcc, but seems it doesn't work. > > > > Could any one let me know how can I get rid of this dependency? > > This should work: > > CC='gcc -static-libgcc -static-libstdc++' CXX='g++ -static-libgcc > -static-libstdc++' ./configure > > This works for me! I used CC='gcc -static-libgcc' and got what I want. What I used before that didn't work was ./configure --enable-shared --disable-static CFLAGS='-static-libgcc'. Maybe cflags were wrongly ordered. Anyway, I'm able to statically build now. Thanks to all of your guys > > > > -- > Is your legacy SCM system holding you back? Join Perforce May 7 to find > out: > • 3 signs your SCM is hindering your productivity > • Requirements for releasing software faster > • Expert tips and advice for migrating your SCM now > http://p.sf.net/sfu/perforce > ___ > Mingw-w64-public mailing list > Mingw-w64-public@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/mingw-w64-public > -- Is your legacy SCM system holding you back? Join Perforce May 7 to find out: • 3 signs your SCM is hindering your productivity • Requirements for releasing software faster • Expert tips and advice for migrating your SCM now http://p.sf.net/sfu/perforce___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public