Re: [Mingw-w64-public] how to remove libgcc_s_sjlj-1.dll dependency

2014-05-05 Thread Adrien Nader
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

2014-05-05 Thread 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'.

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


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

2014-05-05 Thread 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.
> --
> 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 Thread YIRAN LI
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

2014-05-05 Thread lh_mouse
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

2014-05-05 Thread 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

--
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 Thread YIRAN LI
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

2014-05-05 Thread Rafaël Carré
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

2014-05-05 Thread 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



--
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 Thread Adrien Nader
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 Thread YIRAN LI
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